ndk_sys/
ffi_aarch64.rs

1/* automatically generated by rust-bindgen 0.69.4 */
2
3#[repr(C)]
4#[derive(Default)]
5pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
6impl<T> __IncompleteArrayField<T> {
7    #[inline]
8    pub const fn new() -> Self {
9        __IncompleteArrayField(::std::marker::PhantomData, [])
10    }
11    #[inline]
12    pub fn as_ptr(&self) -> *const T {
13        self as *const _ as *const T
14    }
15    #[inline]
16    pub fn as_mut_ptr(&mut self) -> *mut T {
17        self as *mut _ as *mut T
18    }
19    #[inline]
20    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21        ::std::slice::from_raw_parts(self.as_ptr(), len)
22    }
23    #[inline]
24    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
25        ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
26    }
27}
28impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
29    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
30        fmt.write_str("__IncompleteArrayField")
31    }
32}
33pub const __BIONIC__: u32 = 1;
34pub const __WORDSIZE: u32 = 64;
35pub const __bos_level: u32 = 0;
36pub const __ANDROID_API_FUTURE__: u32 = 10000;
37pub const __ANDROID_API__: u32 = 10000;
38pub const __ANDROID_API_G__: u32 = 9;
39pub const __ANDROID_API_I__: u32 = 14;
40pub const __ANDROID_API_J__: u32 = 16;
41pub const __ANDROID_API_J_MR1__: u32 = 17;
42pub const __ANDROID_API_J_MR2__: u32 = 18;
43pub const __ANDROID_API_K__: u32 = 19;
44pub const __ANDROID_API_L__: u32 = 21;
45pub const __ANDROID_API_L_MR1__: u32 = 22;
46pub const __ANDROID_API_M__: u32 = 23;
47pub const __ANDROID_API_N__: u32 = 24;
48pub const __ANDROID_API_N_MR1__: u32 = 25;
49pub const __ANDROID_API_O__: u32 = 26;
50pub const __ANDROID_API_O_MR1__: u32 = 27;
51pub const __ANDROID_API_P__: u32 = 28;
52pub const __ANDROID_API_Q__: u32 = 29;
53pub const __ANDROID_API_R__: u32 = 30;
54pub const __ANDROID_API_S__: u32 = 31;
55pub const __ANDROID_API_T__: u32 = 33;
56pub const __ANDROID_API_U__: u32 = 34;
57pub const __ANDROID_API_V__: u32 = 35;
58pub const WCHAR_MIN: u8 = 0u8;
59pub const INT8_MIN: i32 = -128;
60pub const INT8_MAX: u32 = 127;
61pub const INT_LEAST8_MIN: i32 = -128;
62pub const INT_LEAST8_MAX: u32 = 127;
63pub const INT_FAST8_MIN: i32 = -128;
64pub const INT_FAST8_MAX: u32 = 127;
65pub const UINT8_MAX: u32 = 255;
66pub const UINT_LEAST8_MAX: u32 = 255;
67pub const UINT_FAST8_MAX: u32 = 255;
68pub const INT16_MIN: i32 = -32768;
69pub const INT16_MAX: u32 = 32767;
70pub const INT_LEAST16_MIN: i32 = -32768;
71pub const INT_LEAST16_MAX: u32 = 32767;
72pub const UINT16_MAX: u32 = 65535;
73pub const UINT_LEAST16_MAX: u32 = 65535;
74pub const INT32_MIN: i32 = -2147483648;
75pub const INT32_MAX: u32 = 2147483647;
76pub const INT_LEAST32_MIN: i32 = -2147483648;
77pub const INT_LEAST32_MAX: u32 = 2147483647;
78pub const INT_FAST32_MIN: i32 = -2147483648;
79pub const INT_FAST32_MAX: u32 = 2147483647;
80pub const UINT32_MAX: u32 = 4294967295;
81pub const UINT_LEAST32_MAX: u32 = 4294967295;
82pub const UINT_FAST32_MAX: u32 = 4294967295;
83pub const SIG_ATOMIC_MAX: u32 = 2147483647;
84pub const SIG_ATOMIC_MIN: i32 = -2147483648;
85pub const WINT_MAX: u32 = 4294967295;
86pub const WINT_MIN: u32 = 0;
87pub const __BITS_PER_LONG: u32 = 64;
88pub const __FD_SETSIZE: u32 = 1024;
89pub const __bool_true_false_are_defined: u32 = 1;
90pub const true_: u32 = 1;
91pub const false_: u32 = 0;
92pub const __PRI_64_prefix: &[u8; 2] = b"l\0";
93pub const __PRI_PTR_prefix: &[u8; 2] = b"l\0";
94pub const __PRI_FAST_prefix: &[u8; 2] = b"l\0";
95pub const PRId8: &[u8; 2] = b"d\0";
96pub const PRId16: &[u8; 2] = b"d\0";
97pub const PRId32: &[u8; 2] = b"d\0";
98pub const PRId64: &[u8; 3] = b"ld\0";
99pub const PRIdLEAST8: &[u8; 2] = b"d\0";
100pub const PRIdLEAST16: &[u8; 2] = b"d\0";
101pub const PRIdLEAST32: &[u8; 2] = b"d\0";
102pub const PRIdLEAST64: &[u8; 3] = b"ld\0";
103pub const PRIdFAST8: &[u8; 2] = b"d\0";
104pub const PRIdFAST16: &[u8; 3] = b"ld\0";
105pub const PRIdFAST32: &[u8; 3] = b"ld\0";
106pub const PRIdFAST64: &[u8; 3] = b"ld\0";
107pub const PRIdMAX: &[u8; 3] = b"jd\0";
108pub const PRIdPTR: &[u8; 3] = b"ld\0";
109pub const PRIi8: &[u8; 2] = b"i\0";
110pub const PRIi16: &[u8; 2] = b"i\0";
111pub const PRIi32: &[u8; 2] = b"i\0";
112pub const PRIi64: &[u8; 3] = b"li\0";
113pub const PRIiLEAST8: &[u8; 2] = b"i\0";
114pub const PRIiLEAST16: &[u8; 2] = b"i\0";
115pub const PRIiLEAST32: &[u8; 2] = b"i\0";
116pub const PRIiLEAST64: &[u8; 3] = b"li\0";
117pub const PRIiFAST8: &[u8; 2] = b"i\0";
118pub const PRIiFAST16: &[u8; 3] = b"li\0";
119pub const PRIiFAST32: &[u8; 3] = b"li\0";
120pub const PRIiFAST64: &[u8; 3] = b"li\0";
121pub const PRIiMAX: &[u8; 3] = b"ji\0";
122pub const PRIiPTR: &[u8; 3] = b"li\0";
123pub const PRIb8: &[u8; 2] = b"b\0";
124pub const PRIb16: &[u8; 2] = b"b\0";
125pub const PRIb32: &[u8; 2] = b"b\0";
126pub const PRIb64: &[u8; 3] = b"lb\0";
127pub const PRIbLEAST8: &[u8; 2] = b"b\0";
128pub const PRIbLEAST16: &[u8; 2] = b"b\0";
129pub const PRIbLEAST32: &[u8; 2] = b"b\0";
130pub const PRIbLEAST64: &[u8; 3] = b"lb\0";
131pub const PRIbFAST8: &[u8; 2] = b"b\0";
132pub const PRIbFAST16: &[u8; 3] = b"lb\0";
133pub const PRIbFAST32: &[u8; 3] = b"lb\0";
134pub const PRIbFAST64: &[u8; 3] = b"lb\0";
135pub const PRIbMAX: &[u8; 3] = b"jb\0";
136pub const PRIbPTR: &[u8; 3] = b"lb\0";
137pub const PRIB8: &[u8; 2] = b"B\0";
138pub const PRIB16: &[u8; 2] = b"B\0";
139pub const PRIB32: &[u8; 2] = b"B\0";
140pub const PRIB64: &[u8; 3] = b"lB\0";
141pub const PRIBLEAST8: &[u8; 2] = b"B\0";
142pub const PRIBLEAST16: &[u8; 2] = b"B\0";
143pub const PRIBLEAST32: &[u8; 2] = b"B\0";
144pub const PRIBLEAST64: &[u8; 3] = b"lB\0";
145pub const PRIBFAST8: &[u8; 2] = b"B\0";
146pub const PRIBFAST16: &[u8; 3] = b"lB\0";
147pub const PRIBFAST32: &[u8; 3] = b"lB\0";
148pub const PRIBFAST64: &[u8; 3] = b"lB\0";
149pub const PRIBMAX: &[u8; 3] = b"jB\0";
150pub const PRIBPTR: &[u8; 3] = b"lB\0";
151pub const PRIo8: &[u8; 2] = b"o\0";
152pub const PRIo16: &[u8; 2] = b"o\0";
153pub const PRIo32: &[u8; 2] = b"o\0";
154pub const PRIo64: &[u8; 3] = b"lo\0";
155pub const PRIoLEAST8: &[u8; 2] = b"o\0";
156pub const PRIoLEAST16: &[u8; 2] = b"o\0";
157pub const PRIoLEAST32: &[u8; 2] = b"o\0";
158pub const PRIoLEAST64: &[u8; 3] = b"lo\0";
159pub const PRIoFAST8: &[u8; 2] = b"o\0";
160pub const PRIoFAST16: &[u8; 3] = b"lo\0";
161pub const PRIoFAST32: &[u8; 3] = b"lo\0";
162pub const PRIoFAST64: &[u8; 3] = b"lo\0";
163pub const PRIoMAX: &[u8; 3] = b"jo\0";
164pub const PRIoPTR: &[u8; 3] = b"lo\0";
165pub const PRIu8: &[u8; 2] = b"u\0";
166pub const PRIu16: &[u8; 2] = b"u\0";
167pub const PRIu32: &[u8; 2] = b"u\0";
168pub const PRIu64: &[u8; 3] = b"lu\0";
169pub const PRIuLEAST8: &[u8; 2] = b"u\0";
170pub const PRIuLEAST16: &[u8; 2] = b"u\0";
171pub const PRIuLEAST32: &[u8; 2] = b"u\0";
172pub const PRIuLEAST64: &[u8; 3] = b"lu\0";
173pub const PRIuFAST8: &[u8; 2] = b"u\0";
174pub const PRIuFAST16: &[u8; 3] = b"lu\0";
175pub const PRIuFAST32: &[u8; 3] = b"lu\0";
176pub const PRIuFAST64: &[u8; 3] = b"lu\0";
177pub const PRIuMAX: &[u8; 3] = b"ju\0";
178pub const PRIuPTR: &[u8; 3] = b"lu\0";
179pub const PRIx8: &[u8; 2] = b"x\0";
180pub const PRIx16: &[u8; 2] = b"x\0";
181pub const PRIx32: &[u8; 2] = b"x\0";
182pub const PRIx64: &[u8; 3] = b"lx\0";
183pub const PRIxLEAST8: &[u8; 2] = b"x\0";
184pub const PRIxLEAST16: &[u8; 2] = b"x\0";
185pub const PRIxLEAST32: &[u8; 2] = b"x\0";
186pub const PRIxLEAST64: &[u8; 3] = b"lx\0";
187pub const PRIxFAST8: &[u8; 2] = b"x\0";
188pub const PRIxFAST16: &[u8; 3] = b"lx\0";
189pub const PRIxFAST32: &[u8; 3] = b"lx\0";
190pub const PRIxFAST64: &[u8; 3] = b"lx\0";
191pub const PRIxMAX: &[u8; 3] = b"jx\0";
192pub const PRIxPTR: &[u8; 3] = b"lx\0";
193pub const PRIX8: &[u8; 2] = b"X\0";
194pub const PRIX16: &[u8; 2] = b"X\0";
195pub const PRIX32: &[u8; 2] = b"X\0";
196pub const PRIX64: &[u8; 3] = b"lX\0";
197pub const PRIXLEAST8: &[u8; 2] = b"X\0";
198pub const PRIXLEAST16: &[u8; 2] = b"X\0";
199pub const PRIXLEAST32: &[u8; 2] = b"X\0";
200pub const PRIXLEAST64: &[u8; 3] = b"lX\0";
201pub const PRIXFAST8: &[u8; 2] = b"X\0";
202pub const PRIXFAST16: &[u8; 3] = b"lX\0";
203pub const PRIXFAST32: &[u8; 3] = b"lX\0";
204pub const PRIXFAST64: &[u8; 3] = b"lX\0";
205pub const PRIXMAX: &[u8; 3] = b"jX\0";
206pub const PRIXPTR: &[u8; 3] = b"lX\0";
207pub const SCNd8: &[u8; 4] = b"hhd\0";
208pub const SCNd16: &[u8; 3] = b"hd\0";
209pub const SCNd32: &[u8; 2] = b"d\0";
210pub const SCNd64: &[u8; 3] = b"ld\0";
211pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
212pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
213pub const SCNdLEAST32: &[u8; 2] = b"d\0";
214pub const SCNdLEAST64: &[u8; 3] = b"ld\0";
215pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
216pub const SCNdFAST16: &[u8; 3] = b"ld\0";
217pub const SCNdFAST32: &[u8; 3] = b"ld\0";
218pub const SCNdFAST64: &[u8; 3] = b"ld\0";
219pub const SCNdMAX: &[u8; 3] = b"jd\0";
220pub const SCNdPTR: &[u8; 3] = b"ld\0";
221pub const SCNi8: &[u8; 4] = b"hhi\0";
222pub const SCNi16: &[u8; 3] = b"hi\0";
223pub const SCNi32: &[u8; 2] = b"i\0";
224pub const SCNi64: &[u8; 3] = b"li\0";
225pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
226pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
227pub const SCNiLEAST32: &[u8; 2] = b"i\0";
228pub const SCNiLEAST64: &[u8; 3] = b"li\0";
229pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
230pub const SCNiFAST16: &[u8; 3] = b"li\0";
231pub const SCNiFAST32: &[u8; 3] = b"li\0";
232pub const SCNiFAST64: &[u8; 3] = b"li\0";
233pub const SCNiMAX: &[u8; 3] = b"ji\0";
234pub const SCNiPTR: &[u8; 3] = b"li\0";
235pub const SCNb8: &[u8; 4] = b"hhb\0";
236pub const SCNb16: &[u8; 3] = b"hb\0";
237pub const SCNb32: &[u8; 2] = b"b\0";
238pub const SCNb64: &[u8; 3] = b"lb\0";
239pub const SCNbLEAST8: &[u8; 4] = b"hhb\0";
240pub const SCNbLEAST16: &[u8; 3] = b"hb\0";
241pub const SCNbLEAST32: &[u8; 2] = b"b\0";
242pub const SCNbLEAST64: &[u8; 3] = b"lb\0";
243pub const SCNbFAST8: &[u8; 4] = b"hhb\0";
244pub const SCNbFAST16: &[u8; 3] = b"lb\0";
245pub const SCNbFAST32: &[u8; 3] = b"lb\0";
246pub const SCNbFAST64: &[u8; 3] = b"lb\0";
247pub const SCNbMAX: &[u8; 3] = b"jb\0";
248pub const SCNbPTR: &[u8; 3] = b"lb\0";
249pub const SCNB8: &[u8; 4] = b"hhB\0";
250pub const SCNB16: &[u8; 3] = b"hB\0";
251pub const SCNB32: &[u8; 2] = b"B\0";
252pub const SCNB64: &[u8; 3] = b"lB\0";
253pub const SCNBLEAST8: &[u8; 4] = b"hhB\0";
254pub const SCNBLEAST16: &[u8; 3] = b"hB\0";
255pub const SCNBLEAST32: &[u8; 2] = b"B\0";
256pub const SCNBLEAST64: &[u8; 3] = b"lB\0";
257pub const SCNBFAST8: &[u8; 4] = b"hhB\0";
258pub const SCNBFAST16: &[u8; 3] = b"lB\0";
259pub const SCNBFAST32: &[u8; 3] = b"lB\0";
260pub const SCNBFAST64: &[u8; 3] = b"lB\0";
261pub const SCNBMAX: &[u8; 3] = b"jB\0";
262pub const SCNBPTR: &[u8; 3] = b"lB\0";
263pub const SCNo8: &[u8; 4] = b"hho\0";
264pub const SCNo16: &[u8; 3] = b"ho\0";
265pub const SCNo32: &[u8; 2] = b"o\0";
266pub const SCNo64: &[u8; 3] = b"lo\0";
267pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
268pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
269pub const SCNoLEAST32: &[u8; 2] = b"o\0";
270pub const SCNoLEAST64: &[u8; 3] = b"lo\0";
271pub const SCNoFAST8: &[u8; 4] = b"hho\0";
272pub const SCNoFAST16: &[u8; 3] = b"lo\0";
273pub const SCNoFAST32: &[u8; 3] = b"lo\0";
274pub const SCNoFAST64: &[u8; 3] = b"lo\0";
275pub const SCNoMAX: &[u8; 3] = b"jo\0";
276pub const SCNoPTR: &[u8; 3] = b"lo\0";
277pub const SCNu8: &[u8; 4] = b"hhu\0";
278pub const SCNu16: &[u8; 3] = b"hu\0";
279pub const SCNu32: &[u8; 2] = b"u\0";
280pub const SCNu64: &[u8; 3] = b"lu\0";
281pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
282pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
283pub const SCNuLEAST32: &[u8; 2] = b"u\0";
284pub const SCNuLEAST64: &[u8; 3] = b"lu\0";
285pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
286pub const SCNuFAST16: &[u8; 3] = b"lu\0";
287pub const SCNuFAST32: &[u8; 3] = b"lu\0";
288pub const SCNuFAST64: &[u8; 3] = b"lu\0";
289pub const SCNuMAX: &[u8; 3] = b"ju\0";
290pub const SCNuPTR: &[u8; 3] = b"lu\0";
291pub const SCNx8: &[u8; 4] = b"hhx\0";
292pub const SCNx16: &[u8; 3] = b"hx\0";
293pub const SCNx32: &[u8; 2] = b"x\0";
294pub const SCNx64: &[u8; 3] = b"lx\0";
295pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
296pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
297pub const SCNxLEAST32: &[u8; 2] = b"x\0";
298pub const SCNxLEAST64: &[u8; 3] = b"lx\0";
299pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
300pub const SCNxFAST16: &[u8; 3] = b"lx\0";
301pub const SCNxFAST32: &[u8; 3] = b"lx\0";
302pub const SCNxFAST64: &[u8; 3] = b"lx\0";
303pub const SCNxMAX: &[u8; 3] = b"jx\0";
304pub const SCNxPTR: &[u8; 3] = b"lx\0";
305pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
306pub const O_DIRECTORY: u32 = 16384;
307pub const O_NOFOLLOW: u32 = 32768;
308pub const O_DIRECT: u32 = 65536;
309pub const O_LARGEFILE: u32 = 131072;
310pub const O_ACCMODE: u32 = 3;
311pub const O_RDONLY: u32 = 0;
312pub const O_WRONLY: u32 = 1;
313pub const O_RDWR: u32 = 2;
314pub const O_CREAT: u32 = 64;
315pub const O_EXCL: u32 = 128;
316pub const O_NOCTTY: u32 = 256;
317pub const O_TRUNC: u32 = 512;
318pub const O_APPEND: u32 = 1024;
319pub const O_NONBLOCK: u32 = 2048;
320pub const O_DSYNC: u32 = 4096;
321pub const FASYNC: u32 = 8192;
322pub const O_NOATIME: u32 = 262144;
323pub const O_CLOEXEC: u32 = 524288;
324pub const __O_SYNC: u32 = 1048576;
325pub const O_SYNC: u32 = 1052672;
326pub const O_PATH: u32 = 2097152;
327pub const __O_TMPFILE: u32 = 4194304;
328pub const O_TMPFILE: u32 = 4210688;
329pub const O_NDELAY: u32 = 2048;
330pub const F_DUPFD: u32 = 0;
331pub const F_GETFD: u32 = 1;
332pub const F_SETFD: u32 = 2;
333pub const F_GETFL: u32 = 3;
334pub const F_SETFL: u32 = 4;
335pub const F_GETLK: u32 = 5;
336pub const F_SETLK: u32 = 6;
337pub const F_SETLKW: u32 = 7;
338pub const F_SETOWN: u32 = 8;
339pub const F_GETOWN: u32 = 9;
340pub const F_SETSIG: u32 = 10;
341pub const F_GETSIG: u32 = 11;
342pub const F_SETOWN_EX: u32 = 15;
343pub const F_GETOWN_EX: u32 = 16;
344pub const F_GETOWNER_UIDS: u32 = 17;
345pub const F_OFD_GETLK: u32 = 36;
346pub const F_OFD_SETLK: u32 = 37;
347pub const F_OFD_SETLKW: u32 = 38;
348pub const F_OWNER_TID: u32 = 0;
349pub const F_OWNER_PID: u32 = 1;
350pub const F_OWNER_PGRP: u32 = 2;
351pub const FD_CLOEXEC: u32 = 1;
352pub const F_RDLCK: u32 = 0;
353pub const F_WRLCK: u32 = 1;
354pub const F_UNLCK: u32 = 2;
355pub const F_EXLCK: u32 = 4;
356pub const F_SHLCK: u32 = 8;
357pub const LOCK_SH: u32 = 1;
358pub const LOCK_EX: u32 = 2;
359pub const LOCK_NB: u32 = 4;
360pub const LOCK_UN: u32 = 8;
361pub const LOCK_MAND: u32 = 32;
362pub const LOCK_READ: u32 = 64;
363pub const LOCK_WRITE: u32 = 128;
364pub const LOCK_RW: u32 = 192;
365pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
366pub const FIOSETOWN: u32 = 35073;
367pub const SIOCSPGRP: u32 = 35074;
368pub const FIOGETOWN: u32 = 35075;
369pub const SIOCGPGRP: u32 = 35076;
370pub const SIOCATMARK: u32 = 35077;
371pub const SIOCGSTAMP_OLD: u32 = 35078;
372pub const SIOCGSTAMPNS_OLD: u32 = 35079;
373pub const SOL_SOCKET: u32 = 1;
374pub const SO_DEBUG: u32 = 1;
375pub const SO_REUSEADDR: u32 = 2;
376pub const SO_TYPE: u32 = 3;
377pub const SO_ERROR: u32 = 4;
378pub const SO_DONTROUTE: u32 = 5;
379pub const SO_BROADCAST: u32 = 6;
380pub const SO_SNDBUF: u32 = 7;
381pub const SO_RCVBUF: u32 = 8;
382pub const SO_SNDBUFFORCE: u32 = 32;
383pub const SO_RCVBUFFORCE: u32 = 33;
384pub const SO_KEEPALIVE: u32 = 9;
385pub const SO_OOBINLINE: u32 = 10;
386pub const SO_NO_CHECK: u32 = 11;
387pub const SO_PRIORITY: u32 = 12;
388pub const SO_LINGER: u32 = 13;
389pub const SO_BSDCOMPAT: u32 = 14;
390pub const SO_REUSEPORT: u32 = 15;
391pub const SO_PASSCRED: u32 = 16;
392pub const SO_PEERCRED: u32 = 17;
393pub const SO_RCVLOWAT: u32 = 18;
394pub const SO_SNDLOWAT: u32 = 19;
395pub const SO_RCVTIMEO_OLD: u32 = 20;
396pub const SO_SNDTIMEO_OLD: u32 = 21;
397pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
398pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
399pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
400pub const SO_BINDTODEVICE: u32 = 25;
401pub const SO_ATTACH_FILTER: u32 = 26;
402pub const SO_DETACH_FILTER: u32 = 27;
403pub const SO_GET_FILTER: u32 = 26;
404pub const SO_PEERNAME: u32 = 28;
405pub const SO_ACCEPTCONN: u32 = 30;
406pub const SO_PEERSEC: u32 = 31;
407pub const SO_PASSSEC: u32 = 34;
408pub const SO_MARK: u32 = 36;
409pub const SO_PROTOCOL: u32 = 38;
410pub const SO_DOMAIN: u32 = 39;
411pub const SO_RXQ_OVFL: u32 = 40;
412pub const SO_WIFI_STATUS: u32 = 41;
413pub const SCM_WIFI_STATUS: u32 = 41;
414pub const SO_PEEK_OFF: u32 = 42;
415pub const SO_NOFCS: u32 = 43;
416pub const SO_LOCK_FILTER: u32 = 44;
417pub const SO_SELECT_ERR_QUEUE: u32 = 45;
418pub const SO_BUSY_POLL: u32 = 46;
419pub const SO_MAX_PACING_RATE: u32 = 47;
420pub const SO_BPF_EXTENSIONS: u32 = 48;
421pub const SO_INCOMING_CPU: u32 = 49;
422pub const SO_ATTACH_BPF: u32 = 50;
423pub const SO_DETACH_BPF: u32 = 27;
424pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
425pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
426pub const SO_CNX_ADVICE: u32 = 53;
427pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
428pub const SO_MEMINFO: u32 = 55;
429pub const SO_INCOMING_NAPI_ID: u32 = 56;
430pub const SO_COOKIE: u32 = 57;
431pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
432pub const SO_PEERGROUPS: u32 = 59;
433pub const SO_ZEROCOPY: u32 = 60;
434pub const SO_TXTIME: u32 = 61;
435pub const SCM_TXTIME: u32 = 61;
436pub const SO_BINDTOIFINDEX: u32 = 62;
437pub const SO_TIMESTAMP_OLD: u32 = 29;
438pub const SO_TIMESTAMPNS_OLD: u32 = 35;
439pub const SO_TIMESTAMPING_OLD: u32 = 37;
440pub const SO_TIMESTAMP_NEW: u32 = 63;
441pub const SO_TIMESTAMPNS_NEW: u32 = 64;
442pub const SO_TIMESTAMPING_NEW: u32 = 65;
443pub const SO_RCVTIMEO_NEW: u32 = 66;
444pub const SO_SNDTIMEO_NEW: u32 = 67;
445pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
446pub const SO_PREFER_BUSY_POLL: u32 = 69;
447pub const SO_BUSY_POLL_BUDGET: u32 = 70;
448pub const SO_NETNS_COOKIE: u32 = 71;
449pub const SO_BUF_LOCK: u32 = 72;
450pub const SO_RESERVE_MEM: u32 = 73;
451pub const SO_TXREHASH: u32 = 74;
452pub const SO_RCVMARK: u32 = 75;
453pub const SO_PASSPIDFD: u32 = 76;
454pub const SO_PEERPIDFD: u32 = 77;
455pub const SO_TIMESTAMP: u32 = 29;
456pub const SO_TIMESTAMPNS: u32 = 35;
457pub const SO_TIMESTAMPING: u32 = 37;
458pub const SO_RCVTIMEO: u32 = 20;
459pub const SO_SNDTIMEO: u32 = 21;
460pub const SCM_TIMESTAMP: u32 = 29;
461pub const SCM_TIMESTAMPNS: u32 = 35;
462pub const SCM_TIMESTAMPING: u32 = 37;
463pub const SOCK_IOC_TYPE: u32 = 137;
464pub const SIOCGSTAMP: u32 = 35078;
465pub const SIOCGSTAMPNS: u32 = 35079;
466pub const SIOCADDRT: u32 = 35083;
467pub const SIOCDELRT: u32 = 35084;
468pub const SIOCRTMSG: u32 = 35085;
469pub const SIOCGIFNAME: u32 = 35088;
470pub const SIOCSIFLINK: u32 = 35089;
471pub const SIOCGIFCONF: u32 = 35090;
472pub const SIOCGIFFLAGS: u32 = 35091;
473pub const SIOCSIFFLAGS: u32 = 35092;
474pub const SIOCGIFADDR: u32 = 35093;
475pub const SIOCSIFADDR: u32 = 35094;
476pub const SIOCGIFDSTADDR: u32 = 35095;
477pub const SIOCSIFDSTADDR: u32 = 35096;
478pub const SIOCGIFBRDADDR: u32 = 35097;
479pub const SIOCSIFBRDADDR: u32 = 35098;
480pub const SIOCGIFNETMASK: u32 = 35099;
481pub const SIOCSIFNETMASK: u32 = 35100;
482pub const SIOCGIFMETRIC: u32 = 35101;
483pub const SIOCSIFMETRIC: u32 = 35102;
484pub const SIOCGIFMEM: u32 = 35103;
485pub const SIOCSIFMEM: u32 = 35104;
486pub const SIOCGIFMTU: u32 = 35105;
487pub const SIOCSIFMTU: u32 = 35106;
488pub const SIOCSIFNAME: u32 = 35107;
489pub const SIOCSIFHWADDR: u32 = 35108;
490pub const SIOCGIFENCAP: u32 = 35109;
491pub const SIOCSIFENCAP: u32 = 35110;
492pub const SIOCGIFHWADDR: u32 = 35111;
493pub const SIOCGIFSLAVE: u32 = 35113;
494pub const SIOCSIFSLAVE: u32 = 35120;
495pub const SIOCADDMULTI: u32 = 35121;
496pub const SIOCDELMULTI: u32 = 35122;
497pub const SIOCGIFINDEX: u32 = 35123;
498pub const SIOGIFINDEX: u32 = 35123;
499pub const SIOCSIFPFLAGS: u32 = 35124;
500pub const SIOCGIFPFLAGS: u32 = 35125;
501pub const SIOCDIFADDR: u32 = 35126;
502pub const SIOCSIFHWBROADCAST: u32 = 35127;
503pub const SIOCGIFCOUNT: u32 = 35128;
504pub const SIOCGIFBR: u32 = 35136;
505pub const SIOCSIFBR: u32 = 35137;
506pub const SIOCGIFTXQLEN: u32 = 35138;
507pub const SIOCSIFTXQLEN: u32 = 35139;
508pub const SIOCETHTOOL: u32 = 35142;
509pub const SIOCGMIIPHY: u32 = 35143;
510pub const SIOCGMIIREG: u32 = 35144;
511pub const SIOCSMIIREG: u32 = 35145;
512pub const SIOCWANDEV: u32 = 35146;
513pub const SIOCOUTQNSD: u32 = 35147;
514pub const SIOCGSKNS: u32 = 35148;
515pub const SIOCDARP: u32 = 35155;
516pub const SIOCGARP: u32 = 35156;
517pub const SIOCSARP: u32 = 35157;
518pub const SIOCDRARP: u32 = 35168;
519pub const SIOCGRARP: u32 = 35169;
520pub const SIOCSRARP: u32 = 35170;
521pub const SIOCGIFMAP: u32 = 35184;
522pub const SIOCSIFMAP: u32 = 35185;
523pub const SIOCADDDLCI: u32 = 35200;
524pub const SIOCDELDLCI: u32 = 35201;
525pub const SIOCGIFVLAN: u32 = 35202;
526pub const SIOCSIFVLAN: u32 = 35203;
527pub const SIOCBONDENSLAVE: u32 = 35216;
528pub const SIOCBONDRELEASE: u32 = 35217;
529pub const SIOCBONDSETHWADDR: u32 = 35218;
530pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
531pub const SIOCBONDINFOQUERY: u32 = 35220;
532pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
533pub const SIOCBRADDBR: u32 = 35232;
534pub const SIOCBRDELBR: u32 = 35233;
535pub const SIOCBRADDIF: u32 = 35234;
536pub const SIOCBRDELIF: u32 = 35235;
537pub const SIOCSHWTSTAMP: u32 = 35248;
538pub const SIOCGHWTSTAMP: u32 = 35249;
539pub const SIOCDEVPRIVATE: u32 = 35312;
540pub const SIOCPROTOPRIVATE: u32 = 35296;
541pub const UIO_FASTIOV: u32 = 8;
542pub const UIO_MAXIOV: u32 = 1024;
543pub const SOCK_STREAM: u32 = 1;
544pub const SOCK_DGRAM: u32 = 2;
545pub const SOCK_RAW: u32 = 3;
546pub const SOCK_RDM: u32 = 4;
547pub const SOCK_SEQPACKET: u32 = 5;
548pub const SOCK_DCCP: u32 = 6;
549pub const SOCK_PACKET: u32 = 10;
550pub const SOCK_CLOEXEC: u32 = 524288;
551pub const SOCK_NONBLOCK: u32 = 2048;
552pub const SCM_RIGHTS: u32 = 1;
553pub const SCM_CREDENTIALS: u32 = 2;
554pub const SCM_SECURITY: u32 = 3;
555pub const AF_UNSPEC: u32 = 0;
556pub const AF_UNIX: u32 = 1;
557pub const AF_LOCAL: u32 = 1;
558pub const AF_INET: u32 = 2;
559pub const AF_AX25: u32 = 3;
560pub const AF_IPX: u32 = 4;
561pub const AF_APPLETALK: u32 = 5;
562pub const AF_NETROM: u32 = 6;
563pub const AF_BRIDGE: u32 = 7;
564pub const AF_ATMPVC: u32 = 8;
565pub const AF_X25: u32 = 9;
566pub const AF_INET6: u32 = 10;
567pub const AF_ROSE: u32 = 11;
568pub const AF_DECnet: u32 = 12;
569pub const AF_NETBEUI: u32 = 13;
570pub const AF_SECURITY: u32 = 14;
571pub const AF_KEY: u32 = 15;
572pub const AF_NETLINK: u32 = 16;
573pub const AF_ROUTE: u32 = 16;
574pub const AF_PACKET: u32 = 17;
575pub const AF_ASH: u32 = 18;
576pub const AF_ECONET: u32 = 19;
577pub const AF_ATMSVC: u32 = 20;
578pub const AF_RDS: u32 = 21;
579pub const AF_SNA: u32 = 22;
580pub const AF_IRDA: u32 = 23;
581pub const AF_PPPOX: u32 = 24;
582pub const AF_WANPIPE: u32 = 25;
583pub const AF_LLC: u32 = 26;
584pub const AF_CAN: u32 = 29;
585pub const AF_TIPC: u32 = 30;
586pub const AF_BLUETOOTH: u32 = 31;
587pub const AF_IUCV: u32 = 32;
588pub const AF_RXRPC: u32 = 33;
589pub const AF_ISDN: u32 = 34;
590pub const AF_PHONET: u32 = 35;
591pub const AF_IEEE802154: u32 = 36;
592pub const AF_CAIF: u32 = 37;
593pub const AF_ALG: u32 = 38;
594pub const AF_NFC: u32 = 39;
595pub const AF_VSOCK: u32 = 40;
596pub const AF_KCM: u32 = 41;
597pub const AF_QIPCRTR: u32 = 42;
598pub const AF_MAX: u32 = 43;
599pub const PF_UNSPEC: u32 = 0;
600pub const PF_UNIX: u32 = 1;
601pub const PF_LOCAL: u32 = 1;
602pub const PF_INET: u32 = 2;
603pub const PF_AX25: u32 = 3;
604pub const PF_IPX: u32 = 4;
605pub const PF_APPLETALK: u32 = 5;
606pub const PF_NETROM: u32 = 6;
607pub const PF_BRIDGE: u32 = 7;
608pub const PF_ATMPVC: u32 = 8;
609pub const PF_X25: u32 = 9;
610pub const PF_INET6: u32 = 10;
611pub const PF_ROSE: u32 = 11;
612pub const PF_DECnet: u32 = 12;
613pub const PF_NETBEUI: u32 = 13;
614pub const PF_SECURITY: u32 = 14;
615pub const PF_KEY: u32 = 15;
616pub const PF_NETLINK: u32 = 16;
617pub const PF_ROUTE: u32 = 16;
618pub const PF_PACKET: u32 = 17;
619pub const PF_ASH: u32 = 18;
620pub const PF_ECONET: u32 = 19;
621pub const PF_ATMSVC: u32 = 20;
622pub const PF_RDS: u32 = 21;
623pub const PF_SNA: u32 = 22;
624pub const PF_IRDA: u32 = 23;
625pub const PF_PPPOX: u32 = 24;
626pub const PF_WANPIPE: u32 = 25;
627pub const PF_LLC: u32 = 26;
628pub const PF_CAN: u32 = 29;
629pub const PF_TIPC: u32 = 30;
630pub const PF_BLUETOOTH: u32 = 31;
631pub const PF_IUCV: u32 = 32;
632pub const PF_RXRPC: u32 = 33;
633pub const PF_ISDN: u32 = 34;
634pub const PF_PHONET: u32 = 35;
635pub const PF_IEEE802154: u32 = 36;
636pub const PF_CAIF: u32 = 37;
637pub const PF_ALG: u32 = 38;
638pub const PF_NFC: u32 = 39;
639pub const PF_VSOCK: u32 = 40;
640pub const PF_KCM: u32 = 41;
641pub const PF_QIPCRTR: u32 = 42;
642pub const PF_MAX: u32 = 43;
643pub const SOMAXCONN: u32 = 128;
644pub const MSG_OOB: u32 = 1;
645pub const MSG_PEEK: u32 = 2;
646pub const MSG_DONTROUTE: u32 = 4;
647pub const MSG_TRYHARD: u32 = 4;
648pub const MSG_CTRUNC: u32 = 8;
649pub const MSG_PROBE: u32 = 16;
650pub const MSG_TRUNC: u32 = 32;
651pub const MSG_DONTWAIT: u32 = 64;
652pub const MSG_EOR: u32 = 128;
653pub const MSG_WAITALL: u32 = 256;
654pub const MSG_FIN: u32 = 512;
655pub const MSG_SYN: u32 = 1024;
656pub const MSG_CONFIRM: u32 = 2048;
657pub const MSG_RST: u32 = 4096;
658pub const MSG_ERRQUEUE: u32 = 8192;
659pub const MSG_NOSIGNAL: u32 = 16384;
660pub const MSG_MORE: u32 = 32768;
661pub const MSG_WAITFORONE: u32 = 65536;
662pub const MSG_BATCH: u32 = 262144;
663pub const MSG_FASTOPEN: u32 = 536870912;
664pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
665pub const MSG_EOF: u32 = 512;
666pub const MSG_CMSG_COMPAT: u32 = 0;
667pub const SOL_IP: u32 = 0;
668pub const SOL_TCP: u32 = 6;
669pub const SOL_UDP: u32 = 17;
670pub const SOL_IPV6: u32 = 41;
671pub const SOL_ICMPV6: u32 = 58;
672pub const SOL_SCTP: u32 = 132;
673pub const SOL_RAW: u32 = 255;
674pub const SOL_IPX: u32 = 256;
675pub const SOL_AX25: u32 = 257;
676pub const SOL_ATALK: u32 = 258;
677pub const SOL_NETROM: u32 = 259;
678pub const SOL_ROSE: u32 = 260;
679pub const SOL_DECNET: u32 = 261;
680pub const SOL_X25: u32 = 262;
681pub const SOL_PACKET: u32 = 263;
682pub const SOL_ATM: u32 = 264;
683pub const SOL_AAL: u32 = 265;
684pub const SOL_IRDA: u32 = 266;
685pub const SOL_NETBEUI: u32 = 267;
686pub const SOL_LLC: u32 = 268;
687pub const SOL_DCCP: u32 = 269;
688pub const SOL_NETLINK: u32 = 270;
689pub const SOL_TIPC: u32 = 271;
690pub const SOL_RXRPC: u32 = 272;
691pub const SOL_PPPOL2TP: u32 = 273;
692pub const SOL_BLUETOOTH: u32 = 274;
693pub const SOL_PNPIPE: u32 = 275;
694pub const SOL_RDS: u32 = 276;
695pub const SOL_IUCV: u32 = 277;
696pub const SOL_CAIF: u32 = 278;
697pub const SOL_ALG: u32 = 279;
698pub const SOL_NFC: u32 = 280;
699pub const SOL_KCM: u32 = 281;
700pub const SOL_TLS: u32 = 282;
701pub const IPX_TYPE: u32 = 1;
702pub const _PATH_HEQUIV: &[u8; 24] = b"/system/etc/hosts.equiv\0";
703pub const _PATH_HOSTS: &[u8; 18] = b"/system/etc/hosts\0";
704pub const _PATH_NETWORKS: &[u8; 21] = b"/system/etc/networks\0";
705pub const _PATH_PROTOCOLS: &[u8; 22] = b"/system/etc/protocols\0";
706pub const _PATH_SERVICES: &[u8; 21] = b"/system/etc/services\0";
707pub const NETDB_INTERNAL: i32 = -1;
708pub const NETDB_SUCCESS: u32 = 0;
709pub const HOST_NOT_FOUND: u32 = 1;
710pub const TRY_AGAIN: u32 = 2;
711pub const NO_RECOVERY: u32 = 3;
712pub const NO_DATA: u32 = 4;
713pub const NO_ADDRESS: u32 = 4;
714pub const EAI_ADDRFAMILY: u32 = 1;
715pub const EAI_AGAIN: u32 = 2;
716pub const EAI_BADFLAGS: u32 = 3;
717pub const EAI_FAIL: u32 = 4;
718pub const EAI_FAMILY: u32 = 5;
719pub const EAI_MEMORY: u32 = 6;
720pub const EAI_NODATA: u32 = 7;
721pub const EAI_NONAME: u32 = 8;
722pub const EAI_SERVICE: u32 = 9;
723pub const EAI_SOCKTYPE: u32 = 10;
724pub const EAI_SYSTEM: u32 = 11;
725pub const EAI_BADHINTS: u32 = 12;
726pub const EAI_PROTOCOL: u32 = 13;
727pub const EAI_OVERFLOW: u32 = 14;
728pub const EAI_MAX: u32 = 15;
729pub const AI_PASSIVE: u32 = 1;
730pub const AI_CANONNAME: u32 = 2;
731pub const AI_NUMERICHOST: u32 = 4;
732pub const AI_NUMERICSERV: u32 = 8;
733pub const AI_ALL: u32 = 256;
734pub const AI_V4MAPPED_CFG: u32 = 512;
735pub const AI_ADDRCONFIG: u32 = 1024;
736pub const AI_V4MAPPED: u32 = 2048;
737pub const AI_DEFAULT: u32 = 1536;
738pub const NI_MAXHOST: u32 = 1025;
739pub const NI_MAXSERV: u32 = 32;
740pub const NI_NOFQDN: u32 = 1;
741pub const NI_NUMERICHOST: u32 = 2;
742pub const NI_NAMEREQD: u32 = 4;
743pub const NI_NUMERICSERV: u32 = 8;
744pub const NI_DGRAM: u32 = 16;
745pub const SCOPE_DELIMITER: u8 = 37u8;
746pub const IPPORT_RESERVED: u32 = 1024;
747pub const WNOHANG: u32 = 1;
748pub const WUNTRACED: u32 = 2;
749pub const WSTOPPED: u32 = 2;
750pub const WEXITED: u32 = 4;
751pub const WCONTINUED: u32 = 8;
752pub const WNOWAIT: u32 = 16777216;
753pub const __WNOTHREAD: u32 = 536870912;
754pub const __WALL: u32 = 1073741824;
755pub const __WCLONE: u32 = 2147483648;
756pub const P_ALL: u32 = 0;
757pub const P_PID: u32 = 1;
758pub const P_PGID: u32 = 2;
759pub const P_PIDFD: u32 = 3;
760pub const SEEK_SET: u32 = 0;
761pub const SEEK_CUR: u32 = 1;
762pub const SEEK_END: u32 = 2;
763pub const _IOFBF: u32 = 0;
764pub const _IOLBF: u32 = 1;
765pub const _IONBF: u32 = 2;
766pub const BUFSIZ: u32 = 1024;
767pub const EOF: i32 = -1;
768pub const FOPEN_MAX: u32 = 20;
769pub const FILENAME_MAX: u32 = 4096;
770pub const L_tmpnam: u32 = 4096;
771pub const TMP_MAX: u32 = 308915776;
772pub const P_tmpdir: &[u8; 6] = b"/tmp/\0";
773pub const L_ctermid: u32 = 1024;
774pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
775pub const M_DECAY_TIME: i32 = -100;
776pub const M_PURGE: i32 = -101;
777pub const M_PURGE_ALL: i32 = -104;
778pub const M_MEMTAG_TUNING: i32 = -102;
779pub const M_MEMTAG_TUNING_BUFFER_OVERFLOW: u32 = 0;
780pub const M_MEMTAG_TUNING_UAF: u32 = 1;
781pub const M_THREAD_DISABLE_MEM_INIT: i32 = -103;
782pub const M_CACHE_COUNT_MAX: i32 = -200;
783pub const M_CACHE_SIZE_MAX: i32 = -201;
784pub const M_TSDS_COUNT_MAX: i32 = -202;
785pub const M_BIONIC_ZERO_INIT: i32 = -203;
786pub const M_BIONIC_SET_HEAP_TAGGING_LEVEL: i32 = -204;
787pub const M_LOG_STATS: i32 = -205;
788pub const EXIT_FAILURE: u32 = 1;
789pub const EXIT_SUCCESS: u32 = 0;
790pub const RAND_MAX: u32 = 2147483647;
791pub const __NNAPI_FL5_MIN_ANDROID_API__: u32 = 31;
792pub const ITIMER_REAL: u32 = 0;
793pub const ITIMER_VIRTUAL: u32 = 1;
794pub const ITIMER_PROF: u32 = 2;
795pub const CLOCK_REALTIME: u32 = 0;
796pub const CLOCK_MONOTONIC: u32 = 1;
797pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
798pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
799pub const CLOCK_MONOTONIC_RAW: u32 = 4;
800pub const CLOCK_REALTIME_COARSE: u32 = 5;
801pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
802pub const CLOCK_BOOTTIME: u32 = 7;
803pub const CLOCK_REALTIME_ALARM: u32 = 8;
804pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
805pub const CLOCK_SGI_CYCLE: u32 = 10;
806pub const CLOCK_TAI: u32 = 11;
807pub const MAX_CLOCKS: u32 = 16;
808pub const CLOCKS_MASK: u32 = 1;
809pub const CLOCKS_MONO: u32 = 1;
810pub const TIMER_ABSTIME: u32 = 1;
811pub const FPSIMD_MAGIC: u32 = 1179680769;
812pub const ESR_MAGIC: u32 = 1163088385;
813pub const EXTRA_MAGIC: u32 = 1163416577;
814pub const SVE_MAGIC: u32 = 1398162689;
815pub const SVE_SIG_FLAG_SM: u32 = 1;
816pub const TPIDR2_MAGIC: u32 = 1414547714;
817pub const ZA_MAGIC: u32 = 1412850501;
818pub const ZT_MAGIC: u32 = 1515474433;
819pub const __SVE_VQ_BYTES: u32 = 16;
820pub const __SVE_VQ_MIN: u32 = 1;
821pub const __SVE_VQ_MAX: u32 = 512;
822pub const __SVE_VL_MIN: u32 = 16;
823pub const __SVE_VL_MAX: u32 = 8192;
824pub const __SVE_NUM_ZREGS: u32 = 32;
825pub const __SVE_NUM_PREGS: u32 = 16;
826pub const __SVE_ZREGS_OFFSET: u32 = 0;
827pub const SVE_VQ_BYTES: u32 = 16;
828pub const SVE_VQ_MIN: u32 = 1;
829pub const SVE_VQ_MAX: u32 = 512;
830pub const SVE_VL_MIN: u32 = 16;
831pub const SVE_VL_MAX: u32 = 8192;
832pub const SVE_NUM_ZREGS: u32 = 32;
833pub const SVE_NUM_PREGS: u32 = 16;
834pub const ZT_SIG_REG_SIZE: u32 = 512;
835pub const ZT_SIG_REG_BYTES: u32 = 64;
836pub const NR_OPEN: u32 = 1024;
837pub const NGROUPS_MAX: u32 = 65536;
838pub const ARG_MAX: u32 = 131072;
839pub const LINK_MAX: u32 = 127;
840pub const MAX_CANON: u32 = 255;
841pub const MAX_INPUT: u32 = 255;
842pub const NAME_MAX: u32 = 255;
843pub const PATH_MAX: u32 = 4096;
844pub const PIPE_BUF: u32 = 4096;
845pub const XATTR_NAME_MAX: u32 = 255;
846pub const XATTR_SIZE_MAX: u32 = 65536;
847pub const XATTR_LIST_MAX: u32 = 65536;
848pub const RTSIG_MAX: u32 = 32;
849pub const PASS_MAX: u32 = 128;
850pub const NL_ARGMAX: u32 = 9;
851pub const NL_LANGMAX: u32 = 14;
852pub const NL_MSGMAX: u32 = 32767;
853pub const NL_NMAX: u32 = 1;
854pub const NL_SETMAX: u32 = 255;
855pub const NL_TEXTMAX: u32 = 255;
856pub const CHAR_BIT: u32 = 8;
857pub const LONG_BIT: u32 = 64;
858pub const WORD_BIT: u32 = 32;
859pub const SCHAR_MAX: u32 = 127;
860pub const SCHAR_MIN: i32 = -128;
861pub const UCHAR_MAX: u32 = 255;
862pub const CHAR_MIN: u32 = 0;
863pub const CHAR_MAX: u32 = 255;
864pub const USHRT_MAX: u32 = 65535;
865pub const SHRT_MAX: u32 = 32767;
866pub const SHRT_MIN: i32 = -32768;
867pub const UINT_MAX: u32 = 4294967295;
868pub const INT_MAX: u32 = 2147483647;
869pub const INT_MIN: i32 = -2147483648;
870pub const ULONG_MAX: i32 = -1;
871pub const LONG_MAX: u64 = 9223372036854775807;
872pub const LONG_MIN: i64 = -9223372036854775808;
873pub const ULLONG_MAX: i32 = -1;
874pub const LLONG_MAX: u64 = 9223372036854775807;
875pub const LLONG_MIN: i64 = -9223372036854775808;
876pub const LONG_LONG_MIN: i64 = -9223372036854775808;
877pub const LONG_LONG_MAX: u64 = 9223372036854775807;
878pub const ULONG_LONG_MAX: i32 = -1;
879pub const UID_MAX: u32 = 4294967295;
880pub const GID_MAX: u32 = 4294967295;
881pub const SIZE_T_MAX: i32 = -1;
882pub const SSIZE_MAX: u64 = 9223372036854775807;
883pub const MB_LEN_MAX: u32 = 4;
884pub const NZERO: u32 = 20;
885pub const IOV_MAX: u32 = 1024;
886pub const SEM_VALUE_MAX: u32 = 1073741823;
887pub const _POSIX_VERSION: u32 = 200809;
888pub const _POSIX2_VERSION: u32 = 200809;
889pub const _XOPEN_VERSION: u32 = 700;
890pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
891pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
892pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
893pub const _POSIX_CPUTIME: u32 = 200809;
894pub const _POSIX_FSYNC: u32 = 200809;
895pub const _POSIX_IPV6: u32 = 200809;
896pub const _POSIX_MAPPED_FILES: u32 = 200809;
897pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
898pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
899pub const _POSIX_MESSAGE_PASSING: i32 = -1;
900pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
901pub const _POSIX_NO_TRUNC: u32 = 1;
902pub const _POSIX_PRIORITIZED_IO: i32 = -1;
903pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
904pub const _POSIX_RAW_SOCKETS: u32 = 200809;
905pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
906pub const _POSIX_REGEXP: u32 = 1;
907pub const _POSIX_SAVED_IDS: u32 = 1;
908pub const _POSIX_SEMAPHORES: u32 = 200809;
909pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
910pub const _POSIX_SHELL: u32 = 1;
911pub const _POSIX_SPORADIC_SERVER: i32 = -1;
912pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
913pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
914pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
915pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
916pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
917pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
918pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
919pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
920pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
921pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
922pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
923pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
924pub const _POSIX_THREADS: u32 = 200809;
925pub const _POSIX_TIMERS: u32 = 200809;
926pub const _POSIX_TRACE: i32 = -1;
927pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
928pub const _POSIX_TRACE_INHERIT: i32 = -1;
929pub const _POSIX_TRACE_LOG: i32 = -1;
930pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
931pub const _POSIX_VDISABLE: u8 = 0u8;
932pub const _POSIX2_C_BIND: u32 = 200809;
933pub const _POSIX2_C_DEV: i32 = -1;
934pub const _POSIX2_CHAR_TERM: u32 = 200809;
935pub const _POSIX2_FORT_DEV: i32 = -1;
936pub const _POSIX2_FORT_RUN: i32 = -1;
937pub const _POSIX2_LOCALEDEF: i32 = -1;
938pub const _POSIX2_SW_DEV: i32 = -1;
939pub const _POSIX2_UPE: i32 = -1;
940pub const _POSIX_V7_ILP32_OFF32: i32 = -1;
941pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
942pub const _POSIX_V7_LP64_OFF64: u32 = 1;
943pub const _POSIX_V7_LPBIG_OFFBIG: u32 = 1;
944pub const _XOPEN_CRYPT: i32 = -1;
945pub const _XOPEN_ENH_I18N: u32 = 1;
946pub const _XOPEN_LEGACY: i32 = -1;
947pub const _XOPEN_REALTIME: u32 = 1;
948pub const _XOPEN_REALTIME_THREADS: u32 = 1;
949pub const _XOPEN_SHM: u32 = 1;
950pub const _XOPEN_STREAMS: i32 = -1;
951pub const _XOPEN_UNIX: u32 = 1;
952pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
953pub const _POSIX_AIO_MAX: u32 = 1;
954pub const _POSIX_ARG_MAX: u32 = 4096;
955pub const _POSIX_CHILD_MAX: u32 = 25;
956pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
957pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
958pub const _POSIX_HOST_NAME_MAX: u32 = 255;
959pub const _POSIX_LINK_MAX: u32 = 8;
960pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
961pub const _POSIX_MAX_CANON: u32 = 255;
962pub const _POSIX_MAX_INPUT: u32 = 255;
963pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
964pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
965pub const _POSIX_NAME_MAX: u32 = 14;
966pub const _POSIX_NGROUPS_MAX: u32 = 8;
967pub const _POSIX_OPEN_MAX: u32 = 20;
968pub const _POSIX_PATH_MAX: u32 = 256;
969pub const _POSIX_PIPE_BUF: u32 = 512;
970pub const _POSIX_RE_DUP_MAX: u32 = 255;
971pub const _POSIX_RTSIG_MAX: u32 = 8;
972pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
973pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
974pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
975pub const _POSIX_SSIZE_MAX: u32 = 32767;
976pub const _POSIX_STREAM_MAX: u32 = 8;
977pub const _POSIX_SS_REPL_MAX: u32 = 4;
978pub const _POSIX_SYMLINK_MAX: u32 = 255;
979pub const _POSIX_SYMLOOP_MAX: u32 = 8;
980pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
981pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
982pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
983pub const _POSIX_TIMER_MAX: u32 = 32;
984pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
985pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
986pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
987pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
988pub const _POSIX_TTY_NAME_MAX: u32 = 9;
989pub const _POSIX_TZNAME_MAX: u32 = 6;
990pub const _POSIX2_BC_BASE_MAX: u32 = 99;
991pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
992pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
993pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
994pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
995pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
996pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
997pub const _POSIX2_LINE_MAX: u32 = 2048;
998pub const _POSIX2_RE_DUP_MAX: u32 = 255;
999pub const _XOPEN_IOV_MAX: u32 = 16;
1000pub const _XOPEN_NAME_MAX: u32 = 255;
1001pub const _XOPEN_PATH_MAX: u32 = 1024;
1002pub const HOST_NAME_MAX: u32 = 255;
1003pub const LOGIN_NAME_MAX: u32 = 256;
1004pub const TTY_NAME_MAX: u32 = 32;
1005pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
1006pub const PTHREAD_KEYS_MAX: u32 = 128;
1007pub const SA_RESTORER: u32 = 67108864;
1008pub const MINSIGSTKSZ: u32 = 5120;
1009pub const SIGSTKSZ: u32 = 16384;
1010pub const _KERNEL__NSIG: u32 = 64;
1011pub const _NSIG_BPW: u32 = 64;
1012pub const _NSIG_WORDS: u32 = 1;
1013pub const SIGHUP: u32 = 1;
1014pub const SIGINT: u32 = 2;
1015pub const SIGQUIT: u32 = 3;
1016pub const SIGILL: u32 = 4;
1017pub const SIGTRAP: u32 = 5;
1018pub const SIGABRT: u32 = 6;
1019pub const SIGIOT: u32 = 6;
1020pub const SIGBUS: u32 = 7;
1021pub const SIGFPE: u32 = 8;
1022pub const SIGKILL: u32 = 9;
1023pub const SIGUSR1: u32 = 10;
1024pub const SIGSEGV: u32 = 11;
1025pub const SIGUSR2: u32 = 12;
1026pub const SIGPIPE: u32 = 13;
1027pub const SIGALRM: u32 = 14;
1028pub const SIGTERM: u32 = 15;
1029pub const SIGSTKFLT: u32 = 16;
1030pub const SIGCHLD: u32 = 17;
1031pub const SIGCONT: u32 = 18;
1032pub const SIGSTOP: u32 = 19;
1033pub const SIGTSTP: u32 = 20;
1034pub const SIGTTIN: u32 = 21;
1035pub const SIGTTOU: u32 = 22;
1036pub const SIGURG: u32 = 23;
1037pub const SIGXCPU: u32 = 24;
1038pub const SIGXFSZ: u32 = 25;
1039pub const SIGVTALRM: u32 = 26;
1040pub const SIGPROF: u32 = 27;
1041pub const SIGWINCH: u32 = 28;
1042pub const SIGIO: u32 = 29;
1043pub const SIGPOLL: u32 = 29;
1044pub const SIGPWR: u32 = 30;
1045pub const SIGSYS: u32 = 31;
1046pub const SIGUNUSED: u32 = 31;
1047pub const __SIGRTMIN: u32 = 32;
1048pub const __SIGRTMAX: u32 = 64;
1049pub const SA_NOCLDSTOP: u32 = 1;
1050pub const SA_NOCLDWAIT: u32 = 2;
1051pub const SA_SIGINFO: u32 = 4;
1052pub const SA_UNSUPPORTED: u32 = 1024;
1053pub const SA_EXPOSE_TAGBITS: u32 = 2048;
1054pub const SA_ONSTACK: u32 = 134217728;
1055pub const SA_RESTART: u32 = 268435456;
1056pub const SA_NODEFER: u32 = 1073741824;
1057pub const SA_RESETHAND: u32 = 2147483648;
1058pub const SA_NOMASK: u32 = 1073741824;
1059pub const SA_ONESHOT: u32 = 2147483648;
1060pub const SIG_BLOCK: u32 = 0;
1061pub const SIG_UNBLOCK: u32 = 1;
1062pub const SIG_SETMASK: u32 = 2;
1063pub const SI_MAX_SIZE: u32 = 128;
1064pub const SI_USER: u32 = 0;
1065pub const SI_KERNEL: u32 = 128;
1066pub const SI_QUEUE: i32 = -1;
1067pub const SI_TIMER: i32 = -2;
1068pub const SI_MESGQ: i32 = -3;
1069pub const SI_ASYNCIO: i32 = -4;
1070pub const SI_SIGIO: i32 = -5;
1071pub const SI_TKILL: i32 = -6;
1072pub const SI_DETHREAD: i32 = -7;
1073pub const SI_ASYNCNL: i32 = -60;
1074pub const ILL_ILLOPC: u32 = 1;
1075pub const ILL_ILLOPN: u32 = 2;
1076pub const ILL_ILLADR: u32 = 3;
1077pub const ILL_ILLTRP: u32 = 4;
1078pub const ILL_PRVOPC: u32 = 5;
1079pub const ILL_PRVREG: u32 = 6;
1080pub const ILL_COPROC: u32 = 7;
1081pub const ILL_BADSTK: u32 = 8;
1082pub const ILL_BADIADDR: u32 = 9;
1083pub const __ILL_BREAK: u32 = 10;
1084pub const __ILL_BNDMOD: u32 = 11;
1085pub const NSIGILL: u32 = 11;
1086pub const FPE_INTDIV: u32 = 1;
1087pub const FPE_INTOVF: u32 = 2;
1088pub const FPE_FLTDIV: u32 = 3;
1089pub const FPE_FLTOVF: u32 = 4;
1090pub const FPE_FLTUND: u32 = 5;
1091pub const FPE_FLTRES: u32 = 6;
1092pub const FPE_FLTINV: u32 = 7;
1093pub const FPE_FLTSUB: u32 = 8;
1094pub const __FPE_DECOVF: u32 = 9;
1095pub const __FPE_DECDIV: u32 = 10;
1096pub const __FPE_DECERR: u32 = 11;
1097pub const __FPE_INVASC: u32 = 12;
1098pub const __FPE_INVDEC: u32 = 13;
1099pub const FPE_FLTUNK: u32 = 14;
1100pub const FPE_CONDTRAP: u32 = 15;
1101pub const NSIGFPE: u32 = 15;
1102pub const SEGV_MAPERR: u32 = 1;
1103pub const SEGV_ACCERR: u32 = 2;
1104pub const SEGV_BNDERR: u32 = 3;
1105pub const SEGV_PKUERR: u32 = 4;
1106pub const SEGV_ACCADI: u32 = 5;
1107pub const SEGV_ADIDERR: u32 = 6;
1108pub const SEGV_ADIPERR: u32 = 7;
1109pub const SEGV_MTEAERR: u32 = 8;
1110pub const SEGV_MTESERR: u32 = 9;
1111pub const SEGV_CPERR: u32 = 10;
1112pub const NSIGSEGV: u32 = 10;
1113pub const BUS_ADRALN: u32 = 1;
1114pub const BUS_ADRERR: u32 = 2;
1115pub const BUS_OBJERR: u32 = 3;
1116pub const BUS_MCEERR_AR: u32 = 4;
1117pub const BUS_MCEERR_AO: u32 = 5;
1118pub const NSIGBUS: u32 = 5;
1119pub const TRAP_BRKPT: u32 = 1;
1120pub const TRAP_TRACE: u32 = 2;
1121pub const TRAP_BRANCH: u32 = 3;
1122pub const TRAP_HWBKPT: u32 = 4;
1123pub const TRAP_UNK: u32 = 5;
1124pub const TRAP_PERF: u32 = 6;
1125pub const NSIGTRAP: u32 = 6;
1126pub const TRAP_PERF_FLAG_ASYNC: u32 = 1;
1127pub const CLD_EXITED: u32 = 1;
1128pub const CLD_KILLED: u32 = 2;
1129pub const CLD_DUMPED: u32 = 3;
1130pub const CLD_TRAPPED: u32 = 4;
1131pub const CLD_STOPPED: u32 = 5;
1132pub const CLD_CONTINUED: u32 = 6;
1133pub const NSIGCHLD: u32 = 6;
1134pub const POLL_IN: u32 = 1;
1135pub const POLL_OUT: u32 = 2;
1136pub const POLL_MSG: u32 = 3;
1137pub const POLL_ERR: u32 = 4;
1138pub const POLL_PRI: u32 = 5;
1139pub const POLL_HUP: u32 = 6;
1140pub const NSIGPOLL: u32 = 6;
1141pub const SYS_SECCOMP: u32 = 1;
1142pub const SYS_USER_DISPATCH: u32 = 2;
1143pub const NSIGSYS: u32 = 2;
1144pub const EMT_TAGOVF: u32 = 1;
1145pub const NSIGEMT: u32 = 1;
1146pub const SIGEV_SIGNAL: u32 = 0;
1147pub const SIGEV_NONE: u32 = 1;
1148pub const SIGEV_THREAD: u32 = 2;
1149pub const SIGEV_THREAD_ID: u32 = 4;
1150pub const SIGEV_MAX_SIZE: u32 = 64;
1151pub const SS_ONSTACK: u32 = 1;
1152pub const SS_DISABLE: u32 = 2;
1153pub const SS_AUTODISARM: u32 = 2147483648;
1154pub const SS_FLAG_BITS: u32 = 2147483648;
1155pub const _NSIG: u32 = 65;
1156pub const NSIG: u32 = 65;
1157pub const NGREG: u32 = 34;
1158pub const FD_SETSIZE: u32 = 1024;
1159pub const F_ULOCK: u32 = 0;
1160pub const F_LOCK: u32 = 1;
1161pub const F_TLOCK: u32 = 2;
1162pub const F_TEST: u32 = 3;
1163pub const _SC_ARG_MAX: u32 = 0;
1164pub const _SC_BC_BASE_MAX: u32 = 1;
1165pub const _SC_BC_DIM_MAX: u32 = 2;
1166pub const _SC_BC_SCALE_MAX: u32 = 3;
1167pub const _SC_BC_STRING_MAX: u32 = 4;
1168pub const _SC_CHILD_MAX: u32 = 5;
1169pub const _SC_CLK_TCK: u32 = 6;
1170pub const _SC_COLL_WEIGHTS_MAX: u32 = 7;
1171pub const _SC_EXPR_NEST_MAX: u32 = 8;
1172pub const _SC_LINE_MAX: u32 = 9;
1173pub const _SC_NGROUPS_MAX: u32 = 10;
1174pub const _SC_OPEN_MAX: u32 = 11;
1175pub const _SC_PASS_MAX: u32 = 12;
1176pub const _SC_2_C_BIND: u32 = 13;
1177pub const _SC_2_C_DEV: u32 = 14;
1178pub const _SC_2_C_VERSION: u32 = 15;
1179pub const _SC_2_CHAR_TERM: u32 = 16;
1180pub const _SC_2_FORT_DEV: u32 = 17;
1181pub const _SC_2_FORT_RUN: u32 = 18;
1182pub const _SC_2_LOCALEDEF: u32 = 19;
1183pub const _SC_2_SW_DEV: u32 = 20;
1184pub const _SC_2_UPE: u32 = 21;
1185pub const _SC_2_VERSION: u32 = 22;
1186pub const _SC_JOB_CONTROL: u32 = 23;
1187pub const _SC_SAVED_IDS: u32 = 24;
1188pub const _SC_VERSION: u32 = 25;
1189pub const _SC_RE_DUP_MAX: u32 = 26;
1190pub const _SC_STREAM_MAX: u32 = 27;
1191pub const _SC_TZNAME_MAX: u32 = 28;
1192pub const _SC_XOPEN_CRYPT: u32 = 29;
1193pub const _SC_XOPEN_ENH_I18N: u32 = 30;
1194pub const _SC_XOPEN_SHM: u32 = 31;
1195pub const _SC_XOPEN_VERSION: u32 = 32;
1196pub const _SC_XOPEN_XCU_VERSION: u32 = 33;
1197pub const _SC_XOPEN_REALTIME: u32 = 34;
1198pub const _SC_XOPEN_REALTIME_THREADS: u32 = 35;
1199pub const _SC_XOPEN_LEGACY: u32 = 36;
1200pub const _SC_ATEXIT_MAX: u32 = 37;
1201pub const _SC_IOV_MAX: u32 = 38;
1202pub const _SC_UIO_MAXIOV: u32 = 38;
1203pub const _SC_PAGESIZE: u32 = 39;
1204pub const _SC_PAGE_SIZE: u32 = 40;
1205pub const _SC_XOPEN_UNIX: u32 = 41;
1206pub const _SC_XBS5_ILP32_OFF32: u32 = 42;
1207pub const _SC_XBS5_ILP32_OFFBIG: u32 = 43;
1208pub const _SC_XBS5_LP64_OFF64: u32 = 44;
1209pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 45;
1210pub const _SC_AIO_LISTIO_MAX: u32 = 46;
1211pub const _SC_AIO_MAX: u32 = 47;
1212pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 48;
1213pub const _SC_DELAYTIMER_MAX: u32 = 49;
1214pub const _SC_MQ_OPEN_MAX: u32 = 50;
1215pub const _SC_MQ_PRIO_MAX: u32 = 51;
1216pub const _SC_RTSIG_MAX: u32 = 52;
1217pub const _SC_SEM_NSEMS_MAX: u32 = 53;
1218pub const _SC_SEM_VALUE_MAX: u32 = 54;
1219pub const _SC_SIGQUEUE_MAX: u32 = 55;
1220pub const _SC_TIMER_MAX: u32 = 56;
1221pub const _SC_ASYNCHRONOUS_IO: u32 = 57;
1222pub const _SC_FSYNC: u32 = 58;
1223pub const _SC_MAPPED_FILES: u32 = 59;
1224pub const _SC_MEMLOCK: u32 = 60;
1225pub const _SC_MEMLOCK_RANGE: u32 = 61;
1226pub const _SC_MEMORY_PROTECTION: u32 = 62;
1227pub const _SC_MESSAGE_PASSING: u32 = 63;
1228pub const _SC_PRIORITIZED_IO: u32 = 64;
1229pub const _SC_PRIORITY_SCHEDULING: u32 = 65;
1230pub const _SC_REALTIME_SIGNALS: u32 = 66;
1231pub const _SC_SEMAPHORES: u32 = 67;
1232pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 68;
1233pub const _SC_SYNCHRONIZED_IO: u32 = 69;
1234pub const _SC_TIMERS: u32 = 70;
1235pub const _SC_GETGR_R_SIZE_MAX: u32 = 71;
1236pub const _SC_GETPW_R_SIZE_MAX: u32 = 72;
1237pub const _SC_LOGIN_NAME_MAX: u32 = 73;
1238pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 74;
1239pub const _SC_THREAD_KEYS_MAX: u32 = 75;
1240pub const _SC_THREAD_STACK_MIN: u32 = 76;
1241pub const _SC_THREAD_THREADS_MAX: u32 = 77;
1242pub const _SC_TTY_NAME_MAX: u32 = 78;
1243pub const _SC_THREADS: u32 = 79;
1244pub const _SC_THREAD_ATTR_STACKADDR: u32 = 80;
1245pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 81;
1246pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 82;
1247pub const _SC_THREAD_PRIO_INHERIT: u32 = 83;
1248pub const _SC_THREAD_PRIO_PROTECT: u32 = 84;
1249pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 85;
1250pub const _SC_NPROCESSORS_CONF: u32 = 96;
1251pub const _SC_NPROCESSORS_ONLN: u32 = 97;
1252pub const _SC_PHYS_PAGES: u32 = 98;
1253pub const _SC_AVPHYS_PAGES: u32 = 99;
1254pub const _SC_MONOTONIC_CLOCK: u32 = 100;
1255pub const _SC_2_PBS: u32 = 101;
1256pub const _SC_2_PBS_ACCOUNTING: u32 = 102;
1257pub const _SC_2_PBS_CHECKPOINT: u32 = 103;
1258pub const _SC_2_PBS_LOCATE: u32 = 104;
1259pub const _SC_2_PBS_MESSAGE: u32 = 105;
1260pub const _SC_2_PBS_TRACK: u32 = 106;
1261pub const _SC_ADVISORY_INFO: u32 = 107;
1262pub const _SC_BARRIERS: u32 = 108;
1263pub const _SC_CLOCK_SELECTION: u32 = 109;
1264pub const _SC_CPUTIME: u32 = 110;
1265pub const _SC_HOST_NAME_MAX: u32 = 111;
1266pub const _SC_IPV6: u32 = 112;
1267pub const _SC_RAW_SOCKETS: u32 = 113;
1268pub const _SC_READER_WRITER_LOCKS: u32 = 114;
1269pub const _SC_REGEXP: u32 = 115;
1270pub const _SC_SHELL: u32 = 116;
1271pub const _SC_SPAWN: u32 = 117;
1272pub const _SC_SPIN_LOCKS: u32 = 118;
1273pub const _SC_SPORADIC_SERVER: u32 = 119;
1274pub const _SC_SS_REPL_MAX: u32 = 120;
1275pub const _SC_SYMLOOP_MAX: u32 = 121;
1276pub const _SC_THREAD_CPUTIME: u32 = 122;
1277pub const _SC_THREAD_PROCESS_SHARED: u32 = 123;
1278pub const _SC_THREAD_ROBUST_PRIO_INHERIT: u32 = 124;
1279pub const _SC_THREAD_ROBUST_PRIO_PROTECT: u32 = 125;
1280pub const _SC_THREAD_SPORADIC_SERVER: u32 = 126;
1281pub const _SC_TIMEOUTS: u32 = 127;
1282pub const _SC_TRACE: u32 = 128;
1283pub const _SC_TRACE_EVENT_FILTER: u32 = 129;
1284pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 130;
1285pub const _SC_TRACE_INHERIT: u32 = 131;
1286pub const _SC_TRACE_LOG: u32 = 132;
1287pub const _SC_TRACE_NAME_MAX: u32 = 133;
1288pub const _SC_TRACE_SYS_MAX: u32 = 134;
1289pub const _SC_TRACE_USER_EVENT_MAX: u32 = 135;
1290pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 136;
1291pub const _SC_V7_ILP32_OFF32: u32 = 137;
1292pub const _SC_V7_ILP32_OFFBIG: u32 = 138;
1293pub const _SC_V7_LP64_OFF64: u32 = 139;
1294pub const _SC_V7_LPBIG_OFFBIG: u32 = 140;
1295pub const _SC_XOPEN_STREAMS: u32 = 141;
1296pub const _SC_XOPEN_UUCP: u32 = 142;
1297pub const _SC_LEVEL1_ICACHE_SIZE: u32 = 143;
1298pub const _SC_LEVEL1_ICACHE_ASSOC: u32 = 144;
1299pub const _SC_LEVEL1_ICACHE_LINESIZE: u32 = 145;
1300pub const _SC_LEVEL1_DCACHE_SIZE: u32 = 146;
1301pub const _SC_LEVEL1_DCACHE_ASSOC: u32 = 147;
1302pub const _SC_LEVEL1_DCACHE_LINESIZE: u32 = 148;
1303pub const _SC_LEVEL2_CACHE_SIZE: u32 = 149;
1304pub const _SC_LEVEL2_CACHE_ASSOC: u32 = 150;
1305pub const _SC_LEVEL2_CACHE_LINESIZE: u32 = 151;
1306pub const _SC_LEVEL3_CACHE_SIZE: u32 = 152;
1307pub const _SC_LEVEL3_CACHE_ASSOC: u32 = 153;
1308pub const _SC_LEVEL3_CACHE_LINESIZE: u32 = 154;
1309pub const _SC_LEVEL4_CACHE_SIZE: u32 = 155;
1310pub const _SC_LEVEL4_CACHE_ASSOC: u32 = 156;
1311pub const _SC_LEVEL4_CACHE_LINESIZE: u32 = 157;
1312pub const STDIN_FILENO: u32 = 0;
1313pub const STDOUT_FILENO: u32 = 1;
1314pub const STDERR_FILENO: u32 = 2;
1315pub const F_OK: u32 = 0;
1316pub const X_OK: u32 = 1;
1317pub const W_OK: u32 = 2;
1318pub const R_OK: u32 = 4;
1319pub const _PC_FILESIZEBITS: u32 = 0;
1320pub const _PC_LINK_MAX: u32 = 1;
1321pub const _PC_MAX_CANON: u32 = 2;
1322pub const _PC_MAX_INPUT: u32 = 3;
1323pub const _PC_NAME_MAX: u32 = 4;
1324pub const _PC_PATH_MAX: u32 = 5;
1325pub const _PC_PIPE_BUF: u32 = 6;
1326pub const _PC_2_SYMLINKS: u32 = 7;
1327pub const _PC_ALLOC_SIZE_MIN: u32 = 8;
1328pub const _PC_REC_INCR_XFER_SIZE: u32 = 9;
1329pub const _PC_REC_MAX_XFER_SIZE: u32 = 10;
1330pub const _PC_REC_MIN_XFER_SIZE: u32 = 11;
1331pub const _PC_REC_XFER_ALIGN: u32 = 12;
1332pub const _PC_SYMLINK_MAX: u32 = 13;
1333pub const _PC_CHOWN_RESTRICTED: u32 = 14;
1334pub const _PC_NO_TRUNC: u32 = 15;
1335pub const _PC_VDISABLE: u32 = 16;
1336pub const _PC_ASYNC_IO: u32 = 17;
1337pub const _PC_PRIO_IO: u32 = 18;
1338pub const _PC_SYNC_IO: u32 = 19;
1339pub const FP_INFINITE: u32 = 1;
1340pub const FP_NAN: u32 = 2;
1341pub const FP_NORMAL: u32 = 4;
1342pub const FP_SUBNORMAL: u32 = 8;
1343pub const FP_ZERO: u32 = 16;
1344pub const FP_FAST_FMA: u32 = 1;
1345pub const FP_FAST_FMAF: u32 = 1;
1346pub const FP_ILOGB0: i32 = -2147483647;
1347pub const FP_ILOGBNAN: u32 = 2147483647;
1348pub const MATH_ERRNO: u32 = 1;
1349pub const MATH_ERREXCEPT: u32 = 2;
1350pub const math_errhandling: u32 = 2;
1351pub const M_E: f64 = 2.718281828459045;
1352pub const M_LOG2E: f64 = 1.4426950408889634;
1353pub const M_LOG10E: f64 = 0.4342944819032518;
1354pub const M_LN2: f64 = 0.6931471805599453;
1355pub const M_LN10: f64 = 2.302585092994046;
1356pub const M_PI: f64 = 3.141592653589793;
1357pub const M_PI_2: f64 = 1.5707963267948966;
1358pub const M_PI_4: f64 = 0.7853981633974483;
1359pub const M_1_PI: f64 = 0.3183098861837907;
1360pub const M_2_PI: f64 = 0.6366197723675814;
1361pub const M_2_SQRTPI: f64 = 1.1283791670955126;
1362pub const M_SQRT2: f64 = 1.4142135623730951;
1363pub const M_SQRT1_2: f64 = 0.7071067811865476;
1364pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
1365pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
1366pub const ASENSOR_INVALID: i32 = -1;
1367pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
1368pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
1369pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
1370pub const _IOC_NRBITS: u32 = 8;
1371pub const _IOC_TYPEBITS: u32 = 8;
1372pub const _IOC_SIZEBITS: u32 = 14;
1373pub const _IOC_DIRBITS: u32 = 2;
1374pub const _IOC_NRMASK: u32 = 255;
1375pub const _IOC_TYPEMASK: u32 = 255;
1376pub const _IOC_SIZEMASK: u32 = 16383;
1377pub const _IOC_DIRMASK: u32 = 3;
1378pub const _IOC_NRSHIFT: u32 = 0;
1379pub const _IOC_TYPESHIFT: u32 = 8;
1380pub const _IOC_SIZESHIFT: u32 = 16;
1381pub const _IOC_DIRSHIFT: u32 = 30;
1382pub const _IOC_NONE: u32 = 0;
1383pub const _IOC_WRITE: u32 = 1;
1384pub const _IOC_READ: u32 = 2;
1385pub const IOC_IN: u32 = 1073741824;
1386pub const IOC_OUT: u32 = 2147483648;
1387pub const IOC_INOUT: u32 = 3221225472;
1388pub const IOCSIZE_MASK: u32 = 1073676288;
1389pub const IOCSIZE_SHIFT: u32 = 16;
1390pub const SYNC_IOC_MAGIC: u8 = 62u8;
1391pub const CLOCKS_PER_SEC: u32 = 1000000;
1392pub const TIME_UTC: u32 = 1;
1393pub const TIME_MONOTONIC: u32 = 2;
1394pub const TIME_ACTIVE: u32 = 3;
1395pub const TIME_THREAD_ACTIVE: u32 = 4;
1396pub const AAUDIO_UNSPECIFIED: u32 = 0;
1397pub const AAUDIO_SYSTEM_USAGE_OFFSET: u32 = 1000;
1398pub const PROPERTY_VENDOR: &[u8; 7] = b"vendor\0";
1399pub const PROPERTY_VERSION: &[u8; 8] = b"version\0";
1400pub const PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
1401pub const PROPERTY_ALGORITHMS: &[u8; 11] = b"algorithms\0";
1402pub const PROPERTY_DEVICE_UNIQUE_ID: &[u8; 15] = b"deviceUniqueId\0";
1403extern "C" {
1404    pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
1405}
1406extern "C" {
1407    pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
1408}
1409pub type wchar_t = ::std::os::raw::c_uint;
1410#[repr(C)]
1411#[repr(align(16))]
1412#[derive(Debug, Copy, Clone)]
1413pub struct max_align_t {
1414    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
1415    pub __bindgen_padding_0: u64,
1416    pub __clang_max_align_nonce2: u128,
1417}
1418#[test]
1419fn bindgen_test_layout_max_align_t() {
1420    const UNINIT: ::std::mem::MaybeUninit<max_align_t> = ::std::mem::MaybeUninit::uninit();
1421    let ptr = UNINIT.as_ptr();
1422    assert_eq!(
1423        ::std::mem::size_of::<max_align_t>(),
1424        32usize,
1425        concat!("Size of: ", stringify!(max_align_t))
1426    );
1427    assert_eq!(
1428        ::std::mem::align_of::<max_align_t>(),
1429        16usize,
1430        concat!("Alignment of ", stringify!(max_align_t))
1431    );
1432    assert_eq!(
1433        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
1434        0usize,
1435        concat!(
1436            "Offset of field: ",
1437            stringify!(max_align_t),
1438            "::",
1439            stringify!(__clang_max_align_nonce1)
1440        )
1441    );
1442    assert_eq!(
1443        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
1444        16usize,
1445        concat!(
1446            "Offset of field: ",
1447            stringify!(max_align_t),
1448            "::",
1449            stringify!(__clang_max_align_nonce2)
1450        )
1451    );
1452}
1453pub type __int8_t = ::std::os::raw::c_schar;
1454pub type __uint8_t = ::std::os::raw::c_uchar;
1455pub type __int16_t = ::std::os::raw::c_short;
1456pub type __uint16_t = ::std::os::raw::c_ushort;
1457pub type __int32_t = ::std::os::raw::c_int;
1458pub type __uint32_t = ::std::os::raw::c_uint;
1459pub type __int64_t = ::std::os::raw::c_long;
1460pub type __uint64_t = ::std::os::raw::c_ulong;
1461pub type __intptr_t = ::std::os::raw::c_long;
1462pub type __uintptr_t = ::std::os::raw::c_ulong;
1463pub type int_least8_t = i8;
1464pub type uint_least8_t = u8;
1465pub type int_least16_t = i16;
1466pub type uint_least16_t = u16;
1467pub type int_least32_t = i32;
1468pub type uint_least32_t = u32;
1469pub type int_least64_t = i64;
1470pub type uint_least64_t = u64;
1471pub type int_fast8_t = i8;
1472pub type uint_fast8_t = u8;
1473pub type int_fast64_t = i64;
1474pub type uint_fast64_t = u64;
1475pub type int_fast16_t = i64;
1476pub type uint_fast16_t = u64;
1477pub type int_fast32_t = i64;
1478pub type uint_fast32_t = u64;
1479pub type uintmax_t = u64;
1480pub type intmax_t = i64;
1481pub type __s8 = ::std::os::raw::c_schar;
1482pub type __u8 = ::std::os::raw::c_uchar;
1483pub type __s16 = ::std::os::raw::c_short;
1484pub type __u16 = ::std::os::raw::c_ushort;
1485pub type __s32 = ::std::os::raw::c_int;
1486pub type __u32 = ::std::os::raw::c_uint;
1487pub type __s64 = ::std::os::raw::c_longlong;
1488pub type __u64 = ::std::os::raw::c_ulonglong;
1489#[repr(C)]
1490#[derive(Debug, Copy, Clone)]
1491pub struct __kernel_fd_set {
1492    pub fds_bits: [::std::os::raw::c_ulong; 16usize],
1493}
1494#[test]
1495fn bindgen_test_layout___kernel_fd_set() {
1496    const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
1497    let ptr = UNINIT.as_ptr();
1498    assert_eq!(
1499        ::std::mem::size_of::<__kernel_fd_set>(),
1500        128usize,
1501        concat!("Size of: ", stringify!(__kernel_fd_set))
1502    );
1503    assert_eq!(
1504        ::std::mem::align_of::<__kernel_fd_set>(),
1505        8usize,
1506        concat!("Alignment of ", stringify!(__kernel_fd_set))
1507    );
1508    assert_eq!(
1509        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
1510        0usize,
1511        concat!(
1512            "Offset of field: ",
1513            stringify!(__kernel_fd_set),
1514            "::",
1515            stringify!(fds_bits)
1516        )
1517    );
1518}
1519pub type __kernel_sighandler_t =
1520    ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1521pub type __kernel_key_t = ::std::os::raw::c_int;
1522pub type __kernel_mqd_t = ::std::os::raw::c_int;
1523pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
1524pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
1525pub type __kernel_long_t = ::std::os::raw::c_long;
1526pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1527pub type __kernel_ino_t = __kernel_ulong_t;
1528pub type __kernel_mode_t = ::std::os::raw::c_uint;
1529pub type __kernel_pid_t = ::std::os::raw::c_int;
1530pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
1531pub type __kernel_uid_t = ::std::os::raw::c_uint;
1532pub type __kernel_gid_t = ::std::os::raw::c_uint;
1533pub type __kernel_suseconds_t = __kernel_long_t;
1534pub type __kernel_daddr_t = ::std::os::raw::c_int;
1535pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1536pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1537pub type __kernel_old_dev_t = ::std::os::raw::c_uint;
1538pub type __kernel_size_t = __kernel_ulong_t;
1539pub type __kernel_ssize_t = __kernel_long_t;
1540pub type __kernel_ptrdiff_t = __kernel_long_t;
1541#[repr(C)]
1542#[derive(Debug, Copy, Clone)]
1543pub struct __kernel_fsid_t {
1544    pub val: [::std::os::raw::c_int; 2usize],
1545}
1546#[test]
1547fn bindgen_test_layout___kernel_fsid_t() {
1548    const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
1549    let ptr = UNINIT.as_ptr();
1550    assert_eq!(
1551        ::std::mem::size_of::<__kernel_fsid_t>(),
1552        8usize,
1553        concat!("Size of: ", stringify!(__kernel_fsid_t))
1554    );
1555    assert_eq!(
1556        ::std::mem::align_of::<__kernel_fsid_t>(),
1557        4usize,
1558        concat!("Alignment of ", stringify!(__kernel_fsid_t))
1559    );
1560    assert_eq!(
1561        unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
1562        0usize,
1563        concat!(
1564            "Offset of field: ",
1565            stringify!(__kernel_fsid_t),
1566            "::",
1567            stringify!(val)
1568        )
1569    );
1570}
1571pub type __kernel_off_t = __kernel_long_t;
1572pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1573pub type __kernel_old_time_t = __kernel_long_t;
1574pub type __kernel_time_t = __kernel_long_t;
1575pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1576pub type __kernel_clock_t = __kernel_long_t;
1577pub type __kernel_timer_t = ::std::os::raw::c_int;
1578pub type __kernel_clockid_t = ::std::os::raw::c_int;
1579pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1580pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1581pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1582pub type __s128 = i128;
1583pub type __u128 = u128;
1584pub type __le16 = __u16;
1585pub type __be16 = __u16;
1586pub type __le32 = __u32;
1587pub type __be32 = __u32;
1588pub type __le64 = __u64;
1589pub type __be64 = __u64;
1590pub type __sum16 = __u16;
1591pub type __wsum = __u32;
1592pub type __poll_t = ::std::os::raw::c_uint;
1593#[repr(C)]
1594#[derive(Debug, Copy, Clone)]
1595pub struct pthread_attr_t {
1596    pub flags: u32,
1597    pub stack_base: *mut ::std::os::raw::c_void,
1598    pub stack_size: usize,
1599    pub guard_size: usize,
1600    pub sched_policy: i32,
1601    pub sched_priority: i32,
1602    pub __reserved: [::std::os::raw::c_char; 16usize],
1603}
1604#[test]
1605fn bindgen_test_layout_pthread_attr_t() {
1606    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
1607    let ptr = UNINIT.as_ptr();
1608    assert_eq!(
1609        ::std::mem::size_of::<pthread_attr_t>(),
1610        56usize,
1611        concat!("Size of: ", stringify!(pthread_attr_t))
1612    );
1613    assert_eq!(
1614        ::std::mem::align_of::<pthread_attr_t>(),
1615        8usize,
1616        concat!("Alignment of ", stringify!(pthread_attr_t))
1617    );
1618    assert_eq!(
1619        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1620        0usize,
1621        concat!(
1622            "Offset of field: ",
1623            stringify!(pthread_attr_t),
1624            "::",
1625            stringify!(flags)
1626        )
1627    );
1628    assert_eq!(
1629        unsafe { ::std::ptr::addr_of!((*ptr).stack_base) as usize - ptr as usize },
1630        8usize,
1631        concat!(
1632            "Offset of field: ",
1633            stringify!(pthread_attr_t),
1634            "::",
1635            stringify!(stack_base)
1636        )
1637    );
1638    assert_eq!(
1639        unsafe { ::std::ptr::addr_of!((*ptr).stack_size) as usize - ptr as usize },
1640        16usize,
1641        concat!(
1642            "Offset of field: ",
1643            stringify!(pthread_attr_t),
1644            "::",
1645            stringify!(stack_size)
1646        )
1647    );
1648    assert_eq!(
1649        unsafe { ::std::ptr::addr_of!((*ptr).guard_size) as usize - ptr as usize },
1650        24usize,
1651        concat!(
1652            "Offset of field: ",
1653            stringify!(pthread_attr_t),
1654            "::",
1655            stringify!(guard_size)
1656        )
1657    );
1658    assert_eq!(
1659        unsafe { ::std::ptr::addr_of!((*ptr).sched_policy) as usize - ptr as usize },
1660        32usize,
1661        concat!(
1662            "Offset of field: ",
1663            stringify!(pthread_attr_t),
1664            "::",
1665            stringify!(sched_policy)
1666        )
1667    );
1668    assert_eq!(
1669        unsafe { ::std::ptr::addr_of!((*ptr).sched_priority) as usize - ptr as usize },
1670        36usize,
1671        concat!(
1672            "Offset of field: ",
1673            stringify!(pthread_attr_t),
1674            "::",
1675            stringify!(sched_priority)
1676        )
1677    );
1678    assert_eq!(
1679        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
1680        40usize,
1681        concat!(
1682            "Offset of field: ",
1683            stringify!(pthread_attr_t),
1684            "::",
1685            stringify!(__reserved)
1686        )
1687    );
1688}
1689#[repr(C)]
1690#[derive(Debug, Copy, Clone)]
1691pub struct pthread_barrier_t {
1692    pub __private: [i64; 4usize],
1693}
1694#[test]
1695fn bindgen_test_layout_pthread_barrier_t() {
1696    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
1697    let ptr = UNINIT.as_ptr();
1698    assert_eq!(
1699        ::std::mem::size_of::<pthread_barrier_t>(),
1700        32usize,
1701        concat!("Size of: ", stringify!(pthread_barrier_t))
1702    );
1703    assert_eq!(
1704        ::std::mem::align_of::<pthread_barrier_t>(),
1705        8usize,
1706        concat!("Alignment of ", stringify!(pthread_barrier_t))
1707    );
1708    assert_eq!(
1709        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1710        0usize,
1711        concat!(
1712            "Offset of field: ",
1713            stringify!(pthread_barrier_t),
1714            "::",
1715            stringify!(__private)
1716        )
1717    );
1718}
1719pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1720#[repr(C)]
1721#[derive(Debug, Copy, Clone)]
1722pub struct pthread_cond_t {
1723    pub __private: [i32; 12usize],
1724}
1725#[test]
1726fn bindgen_test_layout_pthread_cond_t() {
1727    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
1728    let ptr = UNINIT.as_ptr();
1729    assert_eq!(
1730        ::std::mem::size_of::<pthread_cond_t>(),
1731        48usize,
1732        concat!("Size of: ", stringify!(pthread_cond_t))
1733    );
1734    assert_eq!(
1735        ::std::mem::align_of::<pthread_cond_t>(),
1736        4usize,
1737        concat!("Alignment of ", stringify!(pthread_cond_t))
1738    );
1739    assert_eq!(
1740        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1741        0usize,
1742        concat!(
1743            "Offset of field: ",
1744            stringify!(pthread_cond_t),
1745            "::",
1746            stringify!(__private)
1747        )
1748    );
1749}
1750pub type pthread_condattr_t = ::std::os::raw::c_long;
1751pub type pthread_key_t = ::std::os::raw::c_int;
1752#[repr(C)]
1753#[derive(Debug, Copy, Clone)]
1754pub struct pthread_mutex_t {
1755    pub __private: [i32; 10usize],
1756}
1757#[test]
1758fn bindgen_test_layout_pthread_mutex_t() {
1759    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
1760    let ptr = UNINIT.as_ptr();
1761    assert_eq!(
1762        ::std::mem::size_of::<pthread_mutex_t>(),
1763        40usize,
1764        concat!("Size of: ", stringify!(pthread_mutex_t))
1765    );
1766    assert_eq!(
1767        ::std::mem::align_of::<pthread_mutex_t>(),
1768        4usize,
1769        concat!("Alignment of ", stringify!(pthread_mutex_t))
1770    );
1771    assert_eq!(
1772        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1773        0usize,
1774        concat!(
1775            "Offset of field: ",
1776            stringify!(pthread_mutex_t),
1777            "::",
1778            stringify!(__private)
1779        )
1780    );
1781}
1782pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1783pub type pthread_once_t = ::std::os::raw::c_int;
1784#[repr(C)]
1785#[derive(Debug, Copy, Clone)]
1786pub struct pthread_rwlock_t {
1787    pub __private: [i32; 14usize],
1788}
1789#[test]
1790fn bindgen_test_layout_pthread_rwlock_t() {
1791    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
1792    let ptr = UNINIT.as_ptr();
1793    assert_eq!(
1794        ::std::mem::size_of::<pthread_rwlock_t>(),
1795        56usize,
1796        concat!("Size of: ", stringify!(pthread_rwlock_t))
1797    );
1798    assert_eq!(
1799        ::std::mem::align_of::<pthread_rwlock_t>(),
1800        4usize,
1801        concat!("Alignment of ", stringify!(pthread_rwlock_t))
1802    );
1803    assert_eq!(
1804        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1805        0usize,
1806        concat!(
1807            "Offset of field: ",
1808            stringify!(pthread_rwlock_t),
1809            "::",
1810            stringify!(__private)
1811        )
1812    );
1813}
1814pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1815#[repr(C)]
1816#[derive(Debug, Copy, Clone)]
1817pub struct pthread_spinlock_t {
1818    pub __private: i64,
1819}
1820#[test]
1821fn bindgen_test_layout_pthread_spinlock_t() {
1822    const UNINIT: ::std::mem::MaybeUninit<pthread_spinlock_t> = ::std::mem::MaybeUninit::uninit();
1823    let ptr = UNINIT.as_ptr();
1824    assert_eq!(
1825        ::std::mem::size_of::<pthread_spinlock_t>(),
1826        8usize,
1827        concat!("Size of: ", stringify!(pthread_spinlock_t))
1828    );
1829    assert_eq!(
1830        ::std::mem::align_of::<pthread_spinlock_t>(),
1831        8usize,
1832        concat!("Alignment of ", stringify!(pthread_spinlock_t))
1833    );
1834    assert_eq!(
1835        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1836        0usize,
1837        concat!(
1838            "Offset of field: ",
1839            stringify!(pthread_spinlock_t),
1840            "::",
1841            stringify!(__private)
1842        )
1843    );
1844}
1845pub type pthread_t = ::std::os::raw::c_long;
1846pub type __gid_t = __kernel_gid32_t;
1847pub type gid_t = __gid_t;
1848pub type __uid_t = __kernel_uid32_t;
1849pub type uid_t = __uid_t;
1850pub type __pid_t = __kernel_pid_t;
1851pub type pid_t = __pid_t;
1852pub type __id_t = u32;
1853pub type id_t = __id_t;
1854pub type blkcnt_t = ::std::os::raw::c_ulong;
1855pub type blksize_t = ::std::os::raw::c_ulong;
1856pub type caddr_t = __kernel_caddr_t;
1857pub type clock_t = __kernel_clock_t;
1858pub type __clockid_t = __kernel_clockid_t;
1859pub type clockid_t = __clockid_t;
1860pub type daddr_t = __kernel_daddr_t;
1861pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1862pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1863pub type __mode_t = __kernel_mode_t;
1864pub type mode_t = __mode_t;
1865pub type __key_t = __kernel_key_t;
1866pub type key_t = __key_t;
1867pub type __ino_t = __kernel_ino_t;
1868pub type ino_t = __ino_t;
1869pub type ino64_t = u64;
1870pub type __nlink_t = u32;
1871pub type nlink_t = __nlink_t;
1872pub type __timer_t = *mut ::std::os::raw::c_void;
1873pub type timer_t = __timer_t;
1874pub type __suseconds_t = __kernel_suseconds_t;
1875pub type suseconds_t = __suseconds_t;
1876pub type __useconds_t = u32;
1877pub type useconds_t = __useconds_t;
1878pub type dev_t = u64;
1879pub type __time_t = __kernel_time_t;
1880pub type time_t = __time_t;
1881pub type off_t = i64;
1882pub type loff_t = off_t;
1883pub type off64_t = loff_t;
1884pub type __socklen_t = u32;
1885pub type socklen_t = __socklen_t;
1886pub type __va_list = [u64; 4usize];
1887pub type uint_t = ::std::os::raw::c_uint;
1888pub type uint = ::std::os::raw::c_uint;
1889pub type u_char = ::std::os::raw::c_uchar;
1890pub type u_short = ::std::os::raw::c_ushort;
1891pub type u_int = ::std::os::raw::c_uint;
1892pub type u_long = ::std::os::raw::c_ulong;
1893pub type u_int32_t = u32;
1894pub type u_int16_t = u16;
1895pub type u_int8_t = u8;
1896pub type u_int64_t = u64;
1897#[repr(C)]
1898#[derive(Debug, Copy, Clone)]
1899pub struct AAssetManager {
1900    _unused: [u8; 0],
1901}
1902#[repr(C)]
1903#[derive(Debug, Copy, Clone)]
1904pub struct AAssetDir {
1905    _unused: [u8; 0],
1906}
1907#[repr(C)]
1908#[derive(Debug, Copy, Clone)]
1909pub struct AAsset {
1910    _unused: [u8; 0],
1911}
1912pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1913pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1914pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1915pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1916pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
1917extern "C" {
1918    pub fn AAssetManager_openDir(
1919        mgr: *mut AAssetManager,
1920        dirName: *const ::std::os::raw::c_char,
1921    ) -> *mut AAssetDir;
1922}
1923extern "C" {
1924    pub fn AAssetManager_open(
1925        mgr: *mut AAssetManager,
1926        filename: *const ::std::os::raw::c_char,
1927        mode: ::std::os::raw::c_int,
1928    ) -> *mut AAsset;
1929}
1930extern "C" {
1931    pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1932}
1933extern "C" {
1934    pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1935}
1936extern "C" {
1937    pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1938}
1939extern "C" {
1940    pub fn AAsset_read(
1941        asset: *mut AAsset,
1942        buf: *mut ::std::os::raw::c_void,
1943        count: usize,
1944    ) -> ::std::os::raw::c_int;
1945}
1946extern "C" {
1947    pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1948}
1949extern "C" {
1950    pub fn AAsset_seek64(
1951        asset: *mut AAsset,
1952        offset: off64_t,
1953        whence: ::std::os::raw::c_int,
1954    ) -> off64_t;
1955}
1956extern "C" {
1957    pub fn AAsset_close(asset: *mut AAsset);
1958}
1959extern "C" {
1960    pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1961}
1962extern "C" {
1963    pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1964}
1965extern "C" {
1966    pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1967}
1968extern "C" {
1969    pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1970}
1971extern "C" {
1972    pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1973}
1974extern "C" {
1975    pub fn AAsset_openFileDescriptor(
1976        asset: *mut AAsset,
1977        outStart: *mut off_t,
1978        outLength: *mut off_t,
1979    ) -> ::std::os::raw::c_int;
1980}
1981extern "C" {
1982    pub fn AAsset_openFileDescriptor64(
1983        asset: *mut AAsset,
1984        outStart: *mut off64_t,
1985        outLength: *mut off64_t,
1986    ) -> ::std::os::raw::c_int;
1987}
1988extern "C" {
1989    pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1990}
1991pub type __gnuc_va_list = [u64; 4usize];
1992pub type va_list = [u64; 4usize];
1993#[repr(C)]
1994pub struct JavaVMAttachArgs {
1995    pub version: jint,
1996    pub name: *const ::std::os::raw::c_char,
1997    pub group: jobject,
1998}
1999#[test]
2000fn bindgen_test_layout_JavaVMAttachArgs() {
2001    const UNINIT: ::std::mem::MaybeUninit<JavaVMAttachArgs> = ::std::mem::MaybeUninit::uninit();
2002    let ptr = UNINIT.as_ptr();
2003    assert_eq!(
2004        ::std::mem::size_of::<JavaVMAttachArgs>(),
2005        24usize,
2006        concat!("Size of: ", stringify!(JavaVMAttachArgs))
2007    );
2008    assert_eq!(
2009        ::std::mem::align_of::<JavaVMAttachArgs>(),
2010        8usize,
2011        concat!("Alignment of ", stringify!(JavaVMAttachArgs))
2012    );
2013    assert_eq!(
2014        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2015        0usize,
2016        concat!(
2017            "Offset of field: ",
2018            stringify!(JavaVMAttachArgs),
2019            "::",
2020            stringify!(version)
2021        )
2022    );
2023    assert_eq!(
2024        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
2025        8usize,
2026        concat!(
2027            "Offset of field: ",
2028            stringify!(JavaVMAttachArgs),
2029            "::",
2030            stringify!(name)
2031        )
2032    );
2033    assert_eq!(
2034        unsafe { ::std::ptr::addr_of!((*ptr).group) as usize - ptr as usize },
2035        16usize,
2036        concat!(
2037            "Offset of field: ",
2038            stringify!(JavaVMAttachArgs),
2039            "::",
2040            stringify!(group)
2041        )
2042    );
2043}
2044#[repr(C)]
2045#[derive(Debug, Copy, Clone)]
2046pub struct JavaVMOption {
2047    pub optionString: *const ::std::os::raw::c_char,
2048    pub extraInfo: *mut ::std::os::raw::c_void,
2049}
2050#[test]
2051fn bindgen_test_layout_JavaVMOption() {
2052    const UNINIT: ::std::mem::MaybeUninit<JavaVMOption> = ::std::mem::MaybeUninit::uninit();
2053    let ptr = UNINIT.as_ptr();
2054    assert_eq!(
2055        ::std::mem::size_of::<JavaVMOption>(),
2056        16usize,
2057        concat!("Size of: ", stringify!(JavaVMOption))
2058    );
2059    assert_eq!(
2060        ::std::mem::align_of::<JavaVMOption>(),
2061        8usize,
2062        concat!("Alignment of ", stringify!(JavaVMOption))
2063    );
2064    assert_eq!(
2065        unsafe { ::std::ptr::addr_of!((*ptr).optionString) as usize - ptr as usize },
2066        0usize,
2067        concat!(
2068            "Offset of field: ",
2069            stringify!(JavaVMOption),
2070            "::",
2071            stringify!(optionString)
2072        )
2073    );
2074    assert_eq!(
2075        unsafe { ::std::ptr::addr_of!((*ptr).extraInfo) as usize - ptr as usize },
2076        8usize,
2077        concat!(
2078            "Offset of field: ",
2079            stringify!(JavaVMOption),
2080            "::",
2081            stringify!(extraInfo)
2082        )
2083    );
2084}
2085#[repr(C)]
2086pub struct JavaVMInitArgs {
2087    pub version: jint,
2088    pub nOptions: jint,
2089    pub options: *mut JavaVMOption,
2090    pub ignoreUnrecognized: jboolean,
2091}
2092#[test]
2093fn bindgen_test_layout_JavaVMInitArgs() {
2094    const UNINIT: ::std::mem::MaybeUninit<JavaVMInitArgs> = ::std::mem::MaybeUninit::uninit();
2095    let ptr = UNINIT.as_ptr();
2096    assert_eq!(
2097        ::std::mem::size_of::<JavaVMInitArgs>(),
2098        24usize,
2099        concat!("Size of: ", stringify!(JavaVMInitArgs))
2100    );
2101    assert_eq!(
2102        ::std::mem::align_of::<JavaVMInitArgs>(),
2103        8usize,
2104        concat!("Alignment of ", stringify!(JavaVMInitArgs))
2105    );
2106    assert_eq!(
2107        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2108        0usize,
2109        concat!(
2110            "Offset of field: ",
2111            stringify!(JavaVMInitArgs),
2112            "::",
2113            stringify!(version)
2114        )
2115    );
2116    assert_eq!(
2117        unsafe { ::std::ptr::addr_of!((*ptr).nOptions) as usize - ptr as usize },
2118        4usize,
2119        concat!(
2120            "Offset of field: ",
2121            stringify!(JavaVMInitArgs),
2122            "::",
2123            stringify!(nOptions)
2124        )
2125    );
2126    assert_eq!(
2127        unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
2128        8usize,
2129        concat!(
2130            "Offset of field: ",
2131            stringify!(JavaVMInitArgs),
2132            "::",
2133            stringify!(options)
2134        )
2135    );
2136    assert_eq!(
2137        unsafe { ::std::ptr::addr_of!((*ptr).ignoreUnrecognized) as usize - ptr as usize },
2138        16usize,
2139        concat!(
2140            "Offset of field: ",
2141            stringify!(JavaVMInitArgs),
2142            "::",
2143            stringify!(ignoreUnrecognized)
2144        )
2145    );
2146}
2147extern "C" {
2148    pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
2149}
2150pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
2151pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
2152pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
2153pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
2154pub type _bindgen_ty_2 = ::std::os::raw::c_int;
2155impl AndroidBitmapFormat {
2156    pub const ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = AndroidBitmapFormat(0);
2157}
2158impl AndroidBitmapFormat {
2159    pub const ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = AndroidBitmapFormat(1);
2160}
2161impl AndroidBitmapFormat {
2162    pub const ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = AndroidBitmapFormat(4);
2163}
2164impl AndroidBitmapFormat {
2165    pub const ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = AndroidBitmapFormat(7);
2166}
2167impl AndroidBitmapFormat {
2168    pub const ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = AndroidBitmapFormat(8);
2169}
2170impl AndroidBitmapFormat {
2171    pub const ANDROID_BITMAP_FORMAT_RGBA_F16: AndroidBitmapFormat = AndroidBitmapFormat(9);
2172}
2173impl AndroidBitmapFormat {
2174    pub const ANDROID_BITMAP_FORMAT_RGBA_1010102: AndroidBitmapFormat = AndroidBitmapFormat(10);
2175}
2176#[repr(transparent)]
2177#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2178pub struct AndroidBitmapFormat(pub ::std::os::raw::c_uint);
2179pub const ANDROID_BITMAP_FLAGS_ALPHA_PREMUL: _bindgen_ty_3 = 0;
2180pub const ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE: _bindgen_ty_3 = 1;
2181pub const ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL: _bindgen_ty_3 = 2;
2182pub const ANDROID_BITMAP_FLAGS_ALPHA_MASK: _bindgen_ty_3 = 3;
2183pub const ANDROID_BITMAP_FLAGS_ALPHA_SHIFT: _bindgen_ty_3 = 0;
2184pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
2185pub const ANDROID_BITMAP_FLAGS_IS_HARDWARE: _bindgen_ty_4 = -2147483648;
2186pub type _bindgen_ty_4 = ::std::os::raw::c_int;
2187#[repr(C)]
2188#[derive(Debug, Copy, Clone)]
2189pub struct AndroidBitmapInfo {
2190    pub width: u32,
2191    pub height: u32,
2192    pub stride: u32,
2193    pub format: i32,
2194    pub flags: u32,
2195}
2196#[test]
2197fn bindgen_test_layout_AndroidBitmapInfo() {
2198    const UNINIT: ::std::mem::MaybeUninit<AndroidBitmapInfo> = ::std::mem::MaybeUninit::uninit();
2199    let ptr = UNINIT.as_ptr();
2200    assert_eq!(
2201        ::std::mem::size_of::<AndroidBitmapInfo>(),
2202        20usize,
2203        concat!("Size of: ", stringify!(AndroidBitmapInfo))
2204    );
2205    assert_eq!(
2206        ::std::mem::align_of::<AndroidBitmapInfo>(),
2207        4usize,
2208        concat!("Alignment of ", stringify!(AndroidBitmapInfo))
2209    );
2210    assert_eq!(
2211        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
2212        0usize,
2213        concat!(
2214            "Offset of field: ",
2215            stringify!(AndroidBitmapInfo),
2216            "::",
2217            stringify!(width)
2218        )
2219    );
2220    assert_eq!(
2221        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
2222        4usize,
2223        concat!(
2224            "Offset of field: ",
2225            stringify!(AndroidBitmapInfo),
2226            "::",
2227            stringify!(height)
2228        )
2229    );
2230    assert_eq!(
2231        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
2232        8usize,
2233        concat!(
2234            "Offset of field: ",
2235            stringify!(AndroidBitmapInfo),
2236            "::",
2237            stringify!(stride)
2238        )
2239    );
2240    assert_eq!(
2241        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
2242        12usize,
2243        concat!(
2244            "Offset of field: ",
2245            stringify!(AndroidBitmapInfo),
2246            "::",
2247            stringify!(format)
2248        )
2249    );
2250    assert_eq!(
2251        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2252        16usize,
2253        concat!(
2254            "Offset of field: ",
2255            stringify!(AndroidBitmapInfo),
2256            "::",
2257            stringify!(flags)
2258        )
2259    );
2260}
2261extern "C" {
2262    pub fn AndroidBitmap_getInfo(
2263        env: *mut JNIEnv,
2264        jbitmap: jobject,
2265        info: *mut AndroidBitmapInfo,
2266    ) -> ::std::os::raw::c_int;
2267}
2268extern "C" {
2269    pub fn AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i32;
2270}
2271extern "C" {
2272    pub fn AndroidBitmap_lockPixels(
2273        env: *mut JNIEnv,
2274        jbitmap: jobject,
2275        addrPtr: *mut *mut ::std::os::raw::c_void,
2276    ) -> ::std::os::raw::c_int;
2277}
2278extern "C" {
2279    pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
2280}
2281impl AndroidBitmapCompressFormat {
2282    pub const ANDROID_BITMAP_COMPRESS_FORMAT_JPEG: AndroidBitmapCompressFormat =
2283        AndroidBitmapCompressFormat(0);
2284}
2285impl AndroidBitmapCompressFormat {
2286    pub const ANDROID_BITMAP_COMPRESS_FORMAT_PNG: AndroidBitmapCompressFormat =
2287        AndroidBitmapCompressFormat(1);
2288}
2289impl AndroidBitmapCompressFormat {
2290    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSY: AndroidBitmapCompressFormat =
2291        AndroidBitmapCompressFormat(3);
2292}
2293impl AndroidBitmapCompressFormat {
2294    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSLESS: AndroidBitmapCompressFormat =
2295        AndroidBitmapCompressFormat(4);
2296}
2297#[repr(transparent)]
2298#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2299pub struct AndroidBitmapCompressFormat(pub ::std::os::raw::c_uint);
2300pub type AndroidBitmap_CompressWriteFunc = ::std::option::Option<
2301    unsafe extern "C" fn(
2302        userContext: *mut ::std::os::raw::c_void,
2303        data: *const ::std::os::raw::c_void,
2304        size: usize,
2305    ) -> bool,
2306>;
2307extern "C" {
2308    pub fn AndroidBitmap_compress(
2309        info: *const AndroidBitmapInfo,
2310        dataspace: i32,
2311        pixels: *const ::std::os::raw::c_void,
2312        format: i32,
2313        quality: i32,
2314        userContext: *mut ::std::os::raw::c_void,
2315        fn_: AndroidBitmap_CompressWriteFunc,
2316    ) -> ::std::os::raw::c_int;
2317}
2318#[repr(C)]
2319#[derive(Debug, Copy, Clone)]
2320pub struct AHardwareBuffer {
2321    _unused: [u8; 0],
2322}
2323extern "C" {
2324    pub fn AndroidBitmap_getHardwareBuffer(
2325        env: *mut JNIEnv,
2326        bitmap: jobject,
2327        outBuffer: *mut *mut AHardwareBuffer,
2328    ) -> ::std::os::raw::c_int;
2329}
2330#[repr(C)]
2331#[derive(Debug, Copy, Clone)]
2332pub struct AChoreographer {
2333    _unused: [u8; 0],
2334}
2335pub type AVsyncId = i64;
2336#[repr(C)]
2337#[derive(Debug, Copy, Clone)]
2338pub struct AChoreographerFrameCallbackData {
2339    _unused: [u8; 0],
2340}
2341pub type AChoreographer_frameCallback = ::std::option::Option<
2342    unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
2343>;
2344pub type AChoreographer_frameCallback64 = ::std::option::Option<
2345    unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
2346>;
2347pub type AChoreographer_vsyncCallback = ::std::option::Option<
2348    unsafe extern "C" fn(
2349        callbackData: *const AChoreographerFrameCallbackData,
2350        data: *mut ::std::os::raw::c_void,
2351    ),
2352>;
2353pub type AChoreographer_refreshRateCallback = ::std::option::Option<
2354    unsafe extern "C" fn(vsyncPeriodNanos: i64, data: *mut ::std::os::raw::c_void),
2355>;
2356extern "C" {
2357    pub fn AChoreographer_getInstance() -> *mut AChoreographer;
2358}
2359extern "C" {
2360    pub fn AChoreographer_postFrameCallback(
2361        choreographer: *mut AChoreographer,
2362        callback: AChoreographer_frameCallback,
2363        data: *mut ::std::os::raw::c_void,
2364    );
2365}
2366extern "C" {
2367    pub fn AChoreographer_postFrameCallbackDelayed(
2368        choreographer: *mut AChoreographer,
2369        callback: AChoreographer_frameCallback,
2370        data: *mut ::std::os::raw::c_void,
2371        delayMillis: ::std::os::raw::c_long,
2372    );
2373}
2374extern "C" {
2375    pub fn AChoreographer_postFrameCallback64(
2376        choreographer: *mut AChoreographer,
2377        callback: AChoreographer_frameCallback64,
2378        data: *mut ::std::os::raw::c_void,
2379    );
2380}
2381extern "C" {
2382    pub fn AChoreographer_postFrameCallbackDelayed64(
2383        choreographer: *mut AChoreographer,
2384        callback: AChoreographer_frameCallback64,
2385        data: *mut ::std::os::raw::c_void,
2386        delayMillis: u32,
2387    );
2388}
2389extern "C" {
2390    pub fn AChoreographer_postVsyncCallback(
2391        choreographer: *mut AChoreographer,
2392        callback: AChoreographer_vsyncCallback,
2393        data: *mut ::std::os::raw::c_void,
2394    );
2395}
2396extern "C" {
2397    pub fn AChoreographer_registerRefreshRateCallback(
2398        choreographer: *mut AChoreographer,
2399        arg1: AChoreographer_refreshRateCallback,
2400        data: *mut ::std::os::raw::c_void,
2401    );
2402}
2403extern "C" {
2404    pub fn AChoreographer_unregisterRefreshRateCallback(
2405        choreographer: *mut AChoreographer,
2406        arg1: AChoreographer_refreshRateCallback,
2407        data: *mut ::std::os::raw::c_void,
2408    );
2409}
2410extern "C" {
2411    pub fn AChoreographerFrameCallbackData_getFrameTimeNanos(
2412        data: *const AChoreographerFrameCallbackData,
2413    ) -> i64;
2414}
2415extern "C" {
2416    pub fn AChoreographerFrameCallbackData_getFrameTimelinesLength(
2417        data: *const AChoreographerFrameCallbackData,
2418    ) -> usize;
2419}
2420extern "C" {
2421    pub fn AChoreographerFrameCallbackData_getPreferredFrameTimelineIndex(
2422        data: *const AChoreographerFrameCallbackData,
2423    ) -> usize;
2424}
2425extern "C" {
2426    pub fn AChoreographerFrameCallbackData_getFrameTimelineVsyncId(
2427        data: *const AChoreographerFrameCallbackData,
2428        index: usize,
2429    ) -> AVsyncId;
2430}
2431extern "C" {
2432    pub fn AChoreographerFrameCallbackData_getFrameTimelineExpectedPresentationTimeNanos(
2433        data: *const AChoreographerFrameCallbackData,
2434        index: usize,
2435    ) -> i64;
2436}
2437extern "C" {
2438    pub fn AChoreographerFrameCallbackData_getFrameTimelineDeadlineNanos(
2439        data: *const AChoreographerFrameCallbackData,
2440        index: usize,
2441    ) -> i64;
2442}
2443#[repr(C)]
2444#[derive(Debug, Copy, Clone)]
2445pub struct AConfiguration {
2446    _unused: [u8; 0],
2447}
2448pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_5 = 0;
2449pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_5 = 1;
2450pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_5 = 2;
2451pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_5 = 3;
2452pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_5 = 0;
2453pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_5 = 1;
2454pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_5 = 2;
2455pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_5 = 3;
2456pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_5 = 0;
2457pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_5 = 120;
2458pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_5 = 160;
2459pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_5 = 213;
2460pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_5 = 240;
2461pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_5 = 320;
2462pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_5 = 480;
2463pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_5 = 640;
2464pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_5 = 65534;
2465pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_5 = 65535;
2466pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_5 = 0;
2467pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_5 = 1;
2468pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_5 = 2;
2469pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_5 = 3;
2470pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_5 = 0;
2471pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_5 = 1;
2472pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_5 = 2;
2473pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_5 = 3;
2474pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_5 = 4;
2475pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_5 = 0;
2476pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_5 = 1;
2477pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_5 = 2;
2478pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_5 = 3;
2479pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_5 = 0;
2480pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_5 = 1;
2481pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_5 = 2;
2482pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_5 = 0;
2483pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_5 = 1;
2484pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_5 = 2;
2485pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_5 = 3;
2486pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_5 = 4;
2487pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_5 = 0;
2488pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_5 = 1;
2489pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_5 = 2;
2490pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_5 = 0;
2491pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_5 = 1;
2492pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_5 = 2;
2493pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_5 = 0;
2494pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_5 = 1;
2495pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_5 = 2;
2496pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_5 = 0;
2497pub const ACONFIGURATION_HDR_NO: _bindgen_ty_5 = 1;
2498pub const ACONFIGURATION_HDR_YES: _bindgen_ty_5 = 2;
2499pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_5 = 0;
2500pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_5 = 1;
2501pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_5 = 2;
2502pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_5 = 3;
2503pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_5 = 4;
2504pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_5 = 5;
2505pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_5 = 6;
2506pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_5 = 7;
2507pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_5 = 0;
2508pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_5 = 1;
2509pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_5 = 2;
2510pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2511pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_5 = 0;
2512pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2513pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_5 = 0;
2514pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_5 = 1;
2515pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_5 = 2;
2516pub const ACONFIGURATION_MCC: _bindgen_ty_5 = 1;
2517pub const ACONFIGURATION_MNC: _bindgen_ty_5 = 2;
2518pub const ACONFIGURATION_LOCALE: _bindgen_ty_5 = 4;
2519pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_5 = 8;
2520pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_5 = 16;
2521pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_5 = 32;
2522pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_5 = 64;
2523pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_5 = 128;
2524pub const ACONFIGURATION_DENSITY: _bindgen_ty_5 = 256;
2525pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_5 = 512;
2526pub const ACONFIGURATION_VERSION: _bindgen_ty_5 = 1024;
2527pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_5 = 2048;
2528pub const ACONFIGURATION_UI_MODE: _bindgen_ty_5 = 4096;
2529pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_5 = 8192;
2530pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_5 = 16384;
2531pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_5 = 32768;
2532pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_5 = 65536;
2533pub const ACONFIGURATION_GRAMMATICAL_GENDER: _bindgen_ty_5 = 131072;
2534pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_5 = 65535;
2535pub const ACONFIGURATION_GRAMMATICAL_GENDER_ANY: _bindgen_ty_5 = 0;
2536pub const ACONFIGURATION_GRAMMATICAL_GENDER_NEUTER: _bindgen_ty_5 = 1;
2537pub const ACONFIGURATION_GRAMMATICAL_GENDER_FEMININE: _bindgen_ty_5 = 2;
2538pub const ACONFIGURATION_GRAMMATICAL_GENDER_MASCULINE: _bindgen_ty_5 = 3;
2539pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
2540extern "C" {
2541    pub fn AConfiguration_new() -> *mut AConfiguration;
2542}
2543extern "C" {
2544    pub fn AConfiguration_delete(config: *mut AConfiguration);
2545}
2546extern "C" {
2547    pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
2548}
2549extern "C" {
2550    pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
2551}
2552extern "C" {
2553    pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
2554}
2555extern "C" {
2556    pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
2557}
2558extern "C" {
2559    pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
2560}
2561extern "C" {
2562    pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
2563}
2564extern "C" {
2565    pub fn AConfiguration_getLanguage(
2566        config: *mut AConfiguration,
2567        outLanguage: *mut ::std::os::raw::c_char,
2568    );
2569}
2570extern "C" {
2571    pub fn AConfiguration_setLanguage(
2572        config: *mut AConfiguration,
2573        language: *const ::std::os::raw::c_char,
2574    );
2575}
2576extern "C" {
2577    pub fn AConfiguration_getCountry(
2578        config: *mut AConfiguration,
2579        outCountry: *mut ::std::os::raw::c_char,
2580    );
2581}
2582extern "C" {
2583    pub fn AConfiguration_setCountry(
2584        config: *mut AConfiguration,
2585        country: *const ::std::os::raw::c_char,
2586    );
2587}
2588extern "C" {
2589    pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
2590}
2591extern "C" {
2592    pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
2593}
2594extern "C" {
2595    pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
2596}
2597extern "C" {
2598    pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
2599}
2600extern "C" {
2601    pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
2602}
2603extern "C" {
2604    pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
2605}
2606extern "C" {
2607    pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
2608}
2609extern "C" {
2610    pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
2611}
2612extern "C" {
2613    pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
2614}
2615extern "C" {
2616    pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
2617}
2618extern "C" {
2619    pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
2620}
2621extern "C" {
2622    pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
2623}
2624extern "C" {
2625    pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
2626}
2627extern "C" {
2628    pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
2629}
2630extern "C" {
2631    pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
2632}
2633extern "C" {
2634    pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
2635}
2636extern "C" {
2637    pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
2638}
2639extern "C" {
2640    pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
2641}
2642extern "C" {
2643    pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
2644}
2645extern "C" {
2646    pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
2647}
2648extern "C" {
2649    pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
2650}
2651extern "C" {
2652    pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
2653}
2654extern "C" {
2655    pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
2656}
2657extern "C" {
2658    pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
2659}
2660extern "C" {
2661    pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
2662}
2663extern "C" {
2664    pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
2665}
2666extern "C" {
2667    pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
2668}
2669extern "C" {
2670    pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
2671}
2672extern "C" {
2673    pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
2674}
2675extern "C" {
2676    pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
2677}
2678extern "C" {
2679    pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
2680}
2681extern "C" {
2682    pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
2683}
2684extern "C" {
2685    pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
2686}
2687extern "C" {
2688    pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
2689}
2690extern "C" {
2691    pub fn AConfiguration_getGrammaticalGender(config: *mut AConfiguration) -> i32;
2692}
2693extern "C" {
2694    pub fn AConfiguration_setGrammaticalGender(config: *mut AConfiguration, value: i32);
2695}
2696extern "C" {
2697    pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
2698}
2699extern "C" {
2700    pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
2701}
2702extern "C" {
2703    pub fn AConfiguration_isBetterThan(
2704        base: *mut AConfiguration,
2705        test: *mut AConfiguration,
2706        requested: *mut AConfiguration,
2707    ) -> i32;
2708}
2709#[repr(C)]
2710#[derive(Debug, Copy, Clone)]
2711pub struct imaxdiv_t {
2712    pub quot: intmax_t,
2713    pub rem: intmax_t,
2714}
2715#[test]
2716fn bindgen_test_layout_imaxdiv_t() {
2717    const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
2718    let ptr = UNINIT.as_ptr();
2719    assert_eq!(
2720        ::std::mem::size_of::<imaxdiv_t>(),
2721        16usize,
2722        concat!("Size of: ", stringify!(imaxdiv_t))
2723    );
2724    assert_eq!(
2725        ::std::mem::align_of::<imaxdiv_t>(),
2726        8usize,
2727        concat!("Alignment of ", stringify!(imaxdiv_t))
2728    );
2729    assert_eq!(
2730        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
2731        0usize,
2732        concat!(
2733            "Offset of field: ",
2734            stringify!(imaxdiv_t),
2735            "::",
2736            stringify!(quot)
2737        )
2738    );
2739    assert_eq!(
2740        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
2741        8usize,
2742        concat!(
2743            "Offset of field: ",
2744            stringify!(imaxdiv_t),
2745            "::",
2746            stringify!(rem)
2747        )
2748    );
2749}
2750extern "C" {
2751    pub fn imaxabs(__i: intmax_t) -> intmax_t;
2752}
2753extern "C" {
2754    pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
2755}
2756extern "C" {
2757    pub fn strtoimax(
2758        __s: *const ::std::os::raw::c_char,
2759        __end_ptr: *mut *mut ::std::os::raw::c_char,
2760        __base: ::std::os::raw::c_int,
2761    ) -> intmax_t;
2762}
2763extern "C" {
2764    pub fn strtoumax(
2765        __s: *const ::std::os::raw::c_char,
2766        __end_ptr: *mut *mut ::std::os::raw::c_char,
2767        __base: ::std::os::raw::c_int,
2768    ) -> uintmax_t;
2769}
2770extern "C" {
2771    pub fn wcstoimax(
2772        __s: *const wchar_t,
2773        __end_ptr: *mut *mut wchar_t,
2774        __base: ::std::os::raw::c_int,
2775    ) -> intmax_t;
2776}
2777extern "C" {
2778    pub fn wcstoumax(
2779        __s: *const wchar_t,
2780        __end_ptr: *mut *mut wchar_t,
2781        __base: ::std::os::raw::c_int,
2782    ) -> uintmax_t;
2783}
2784impl ADataSpace {
2785    pub const ADATASPACE_UNKNOWN: ADataSpace = ADataSpace(0);
2786}
2787impl ADataSpace {
2788    pub const STANDARD_MASK: ADataSpace = ADataSpace(4128768);
2789}
2790impl ADataSpace {
2791    pub const STANDARD_UNSPECIFIED: ADataSpace = ADataSpace(0);
2792}
2793impl ADataSpace {
2794    pub const STANDARD_BT709: ADataSpace = ADataSpace(65536);
2795}
2796impl ADataSpace {
2797    pub const STANDARD_BT601_625: ADataSpace = ADataSpace(131072);
2798}
2799impl ADataSpace {
2800    pub const STANDARD_BT601_625_UNADJUSTED: ADataSpace = ADataSpace(196608);
2801}
2802impl ADataSpace {
2803    pub const STANDARD_BT601_525: ADataSpace = ADataSpace(262144);
2804}
2805impl ADataSpace {
2806    pub const STANDARD_BT601_525_UNADJUSTED: ADataSpace = ADataSpace(327680);
2807}
2808impl ADataSpace {
2809    pub const STANDARD_BT2020: ADataSpace = ADataSpace(393216);
2810}
2811impl ADataSpace {
2812    pub const STANDARD_BT2020_CONSTANT_LUMINANCE: ADataSpace = ADataSpace(458752);
2813}
2814impl ADataSpace {
2815    pub const STANDARD_BT470M: ADataSpace = ADataSpace(524288);
2816}
2817impl ADataSpace {
2818    pub const STANDARD_FILM: ADataSpace = ADataSpace(589824);
2819}
2820impl ADataSpace {
2821    pub const STANDARD_DCI_P3: ADataSpace = ADataSpace(655360);
2822}
2823impl ADataSpace {
2824    pub const STANDARD_ADOBE_RGB: ADataSpace = ADataSpace(720896);
2825}
2826impl ADataSpace {
2827    pub const TRANSFER_MASK: ADataSpace = ADataSpace(130023424);
2828}
2829impl ADataSpace {
2830    pub const TRANSFER_UNSPECIFIED: ADataSpace = ADataSpace(0);
2831}
2832impl ADataSpace {
2833    pub const TRANSFER_LINEAR: ADataSpace = ADataSpace(4194304);
2834}
2835impl ADataSpace {
2836    pub const TRANSFER_SRGB: ADataSpace = ADataSpace(8388608);
2837}
2838impl ADataSpace {
2839    pub const TRANSFER_SMPTE_170M: ADataSpace = ADataSpace(12582912);
2840}
2841impl ADataSpace {
2842    pub const TRANSFER_GAMMA2_2: ADataSpace = ADataSpace(16777216);
2843}
2844impl ADataSpace {
2845    pub const TRANSFER_GAMMA2_6: ADataSpace = ADataSpace(20971520);
2846}
2847impl ADataSpace {
2848    pub const TRANSFER_GAMMA2_8: ADataSpace = ADataSpace(25165824);
2849}
2850impl ADataSpace {
2851    pub const TRANSFER_ST2084: ADataSpace = ADataSpace(29360128);
2852}
2853impl ADataSpace {
2854    pub const TRANSFER_HLG: ADataSpace = ADataSpace(33554432);
2855}
2856impl ADataSpace {
2857    pub const RANGE_MASK: ADataSpace = ADataSpace(939524096);
2858}
2859impl ADataSpace {
2860    pub const RANGE_UNSPECIFIED: ADataSpace = ADataSpace(0);
2861}
2862impl ADataSpace {
2863    pub const RANGE_FULL: ADataSpace = ADataSpace(134217728);
2864}
2865impl ADataSpace {
2866    pub const RANGE_LIMITED: ADataSpace = ADataSpace(268435456);
2867}
2868impl ADataSpace {
2869    pub const RANGE_EXTENDED: ADataSpace = ADataSpace(402653184);
2870}
2871impl ADataSpace {
2872    pub const ADATASPACE_SCRGB_LINEAR: ADataSpace = ADataSpace(406913024);
2873}
2874impl ADataSpace {
2875    pub const ADATASPACE_SRGB: ADataSpace = ADataSpace(142671872);
2876}
2877impl ADataSpace {
2878    pub const ADATASPACE_SCRGB: ADataSpace = ADataSpace(411107328);
2879}
2880impl ADataSpace {
2881    pub const ADATASPACE_DISPLAY_P3: ADataSpace = ADataSpace(143261696);
2882}
2883impl ADataSpace {
2884    pub const ADATASPACE_BT2020_PQ: ADataSpace = ADataSpace(163971072);
2885}
2886impl ADataSpace {
2887    pub const ADATASPACE_BT2020_ITU_PQ: ADataSpace = ADataSpace(298188800);
2888}
2889impl ADataSpace {
2890    pub const ADATASPACE_ADOBE_RGB: ADataSpace = ADataSpace(151715840);
2891}
2892impl ADataSpace {
2893    pub const ADATASPACE_JFIF: ADataSpace = ADataSpace(146931712);
2894}
2895impl ADataSpace {
2896    pub const ADATASPACE_BT601_625: ADataSpace = ADataSpace(281149440);
2897}
2898impl ADataSpace {
2899    pub const ADATASPACE_BT601_525: ADataSpace = ADataSpace(281280512);
2900}
2901impl ADataSpace {
2902    pub const ADATASPACE_BT2020: ADataSpace = ADataSpace(147193856);
2903}
2904impl ADataSpace {
2905    pub const ADATASPACE_BT709: ADataSpace = ADataSpace(281083904);
2906}
2907impl ADataSpace {
2908    pub const ADATASPACE_DCI_P3: ADataSpace = ADataSpace(155844608);
2909}
2910impl ADataSpace {
2911    pub const ADATASPACE_SRGB_LINEAR: ADataSpace = ADataSpace(138477568);
2912}
2913impl ADataSpace {
2914    pub const ADATASPACE_BT2020_HLG: ADataSpace = ADataSpace(168165376);
2915}
2916impl ADataSpace {
2917    pub const ADATASPACE_BT2020_ITU_HLG: ADataSpace = ADataSpace(302383104);
2918}
2919impl ADataSpace {
2920    pub const ADATASPACE_DEPTH: ADataSpace = ADataSpace(4096);
2921}
2922impl ADataSpace {
2923    pub const ADATASPACE_DYNAMIC_DEPTH: ADataSpace = ADataSpace(4098);
2924}
2925#[repr(transparent)]
2926#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2927pub struct ADataSpace(pub i32);
2928pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_6 = 1;
2929pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_6 = 2;
2930pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_6 = 4;
2931pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_6 = 8;
2932pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_6 = 16;
2933pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_6 = 32;
2934pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_6 = 64;
2935pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_6 = 512;
2936pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_6 = 1024;
2937pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_6 = 1663;
2938pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
2939#[repr(C)]
2940#[derive(Debug, Copy, Clone)]
2941pub struct android_namespace_t {
2942    _unused: [u8; 0],
2943}
2944#[repr(C)]
2945#[derive(Debug, Copy, Clone)]
2946pub struct android_dlextinfo {
2947    pub flags: u64,
2948    pub reserved_addr: *mut ::std::os::raw::c_void,
2949    pub reserved_size: usize,
2950    pub relro_fd: ::std::os::raw::c_int,
2951    pub library_fd: ::std::os::raw::c_int,
2952    pub library_fd_offset: off64_t,
2953    pub library_namespace: *mut android_namespace_t,
2954}
2955#[test]
2956fn bindgen_test_layout_android_dlextinfo() {
2957    const UNINIT: ::std::mem::MaybeUninit<android_dlextinfo> = ::std::mem::MaybeUninit::uninit();
2958    let ptr = UNINIT.as_ptr();
2959    assert_eq!(
2960        ::std::mem::size_of::<android_dlextinfo>(),
2961        48usize,
2962        concat!("Size of: ", stringify!(android_dlextinfo))
2963    );
2964    assert_eq!(
2965        ::std::mem::align_of::<android_dlextinfo>(),
2966        8usize,
2967        concat!("Alignment of ", stringify!(android_dlextinfo))
2968    );
2969    assert_eq!(
2970        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2971        0usize,
2972        concat!(
2973            "Offset of field: ",
2974            stringify!(android_dlextinfo),
2975            "::",
2976            stringify!(flags)
2977        )
2978    );
2979    assert_eq!(
2980        unsafe { ::std::ptr::addr_of!((*ptr).reserved_addr) as usize - ptr as usize },
2981        8usize,
2982        concat!(
2983            "Offset of field: ",
2984            stringify!(android_dlextinfo),
2985            "::",
2986            stringify!(reserved_addr)
2987        )
2988    );
2989    assert_eq!(
2990        unsafe { ::std::ptr::addr_of!((*ptr).reserved_size) as usize - ptr as usize },
2991        16usize,
2992        concat!(
2993            "Offset of field: ",
2994            stringify!(android_dlextinfo),
2995            "::",
2996            stringify!(reserved_size)
2997        )
2998    );
2999    assert_eq!(
3000        unsafe { ::std::ptr::addr_of!((*ptr).relro_fd) as usize - ptr as usize },
3001        24usize,
3002        concat!(
3003            "Offset of field: ",
3004            stringify!(android_dlextinfo),
3005            "::",
3006            stringify!(relro_fd)
3007        )
3008    );
3009    assert_eq!(
3010        unsafe { ::std::ptr::addr_of!((*ptr).library_fd) as usize - ptr as usize },
3011        28usize,
3012        concat!(
3013            "Offset of field: ",
3014            stringify!(android_dlextinfo),
3015            "::",
3016            stringify!(library_fd)
3017        )
3018    );
3019    assert_eq!(
3020        unsafe { ::std::ptr::addr_of!((*ptr).library_fd_offset) as usize - ptr as usize },
3021        32usize,
3022        concat!(
3023            "Offset of field: ",
3024            stringify!(android_dlextinfo),
3025            "::",
3026            stringify!(library_fd_offset)
3027        )
3028    );
3029    assert_eq!(
3030        unsafe { ::std::ptr::addr_of!((*ptr).library_namespace) as usize - ptr as usize },
3031        40usize,
3032        concat!(
3033            "Offset of field: ",
3034            stringify!(android_dlextinfo),
3035            "::",
3036            stringify!(library_namespace)
3037        )
3038    );
3039}
3040extern "C" {
3041    pub fn android_dlopen_ext(
3042        __filename: *const ::std::os::raw::c_char,
3043        __flags: ::std::os::raw::c_int,
3044        __info: *const android_dlextinfo,
3045    ) -> *mut ::std::os::raw::c_void;
3046}
3047impl android_fdsan_owner_type {
3048    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_00: android_fdsan_owner_type =
3049        android_fdsan_owner_type(0);
3050}
3051impl android_fdsan_owner_type {
3052    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_FF: android_fdsan_owner_type =
3053        android_fdsan_owner_type(255);
3054}
3055impl android_fdsan_owner_type {
3056    pub const ANDROID_FDSAN_OWNER_TYPE_FILE: android_fdsan_owner_type = android_fdsan_owner_type(1);
3057}
3058impl android_fdsan_owner_type {
3059    pub const ANDROID_FDSAN_OWNER_TYPE_DIR: android_fdsan_owner_type = android_fdsan_owner_type(2);
3060}
3061impl android_fdsan_owner_type {
3062    pub const ANDROID_FDSAN_OWNER_TYPE_UNIQUE_FD: android_fdsan_owner_type =
3063        android_fdsan_owner_type(3);
3064}
3065impl android_fdsan_owner_type {
3066    pub const ANDROID_FDSAN_OWNER_TYPE_SQLITE: android_fdsan_owner_type =
3067        android_fdsan_owner_type(4);
3068}
3069impl android_fdsan_owner_type {
3070    pub const ANDROID_FDSAN_OWNER_TYPE_FILEINPUTSTREAM: android_fdsan_owner_type =
3071        android_fdsan_owner_type(5);
3072}
3073impl android_fdsan_owner_type {
3074    pub const ANDROID_FDSAN_OWNER_TYPE_FILEOUTPUTSTREAM: android_fdsan_owner_type =
3075        android_fdsan_owner_type(6);
3076}
3077impl android_fdsan_owner_type {
3078    pub const ANDROID_FDSAN_OWNER_TYPE_RANDOMACCESSFILE: android_fdsan_owner_type =
3079        android_fdsan_owner_type(7);
3080}
3081impl android_fdsan_owner_type {
3082    pub const ANDROID_FDSAN_OWNER_TYPE_PARCELFILEDESCRIPTOR: android_fdsan_owner_type =
3083        android_fdsan_owner_type(8);
3084}
3085impl android_fdsan_owner_type {
3086    pub const ANDROID_FDSAN_OWNER_TYPE_ART_FDFILE: android_fdsan_owner_type =
3087        android_fdsan_owner_type(9);
3088}
3089impl android_fdsan_owner_type {
3090    pub const ANDROID_FDSAN_OWNER_TYPE_DATAGRAMSOCKETIMPL: android_fdsan_owner_type =
3091        android_fdsan_owner_type(10);
3092}
3093impl android_fdsan_owner_type {
3094    pub const ANDROID_FDSAN_OWNER_TYPE_SOCKETIMPL: android_fdsan_owner_type =
3095        android_fdsan_owner_type(11);
3096}
3097impl android_fdsan_owner_type {
3098    pub const ANDROID_FDSAN_OWNER_TYPE_ZIPARCHIVE: android_fdsan_owner_type =
3099        android_fdsan_owner_type(12);
3100}
3101impl android_fdsan_owner_type {
3102    pub const ANDROID_FDSAN_OWNER_TYPE_NATIVE_HANDLE: android_fdsan_owner_type =
3103        android_fdsan_owner_type(13);
3104}
3105impl android_fdsan_owner_type {
3106    pub const ANDROID_FDSAN_OWNER_TYPE_PARCEL: android_fdsan_owner_type =
3107        android_fdsan_owner_type(14);
3108}
3109#[repr(transparent)]
3110#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3111pub struct android_fdsan_owner_type(pub ::std::os::raw::c_uint);
3112extern "C" {
3113    pub fn android_fdsan_create_owner_tag(type_: android_fdsan_owner_type, tag: u64) -> u64;
3114}
3115extern "C" {
3116    pub fn android_fdsan_exchange_owner_tag(
3117        fd: ::std::os::raw::c_int,
3118        expected_tag: u64,
3119        new_tag: u64,
3120    );
3121}
3122extern "C" {
3123    pub fn android_fdsan_close_with_tag(
3124        fd: ::std::os::raw::c_int,
3125        tag: u64,
3126    ) -> ::std::os::raw::c_int;
3127}
3128extern "C" {
3129    pub fn android_fdsan_get_owner_tag(fd: ::std::os::raw::c_int) -> u64;
3130}
3131extern "C" {
3132    pub fn android_fdsan_get_tag_type(tag: u64) -> *const ::std::os::raw::c_char;
3133}
3134extern "C" {
3135    pub fn android_fdsan_get_tag_value(tag: u64) -> u64;
3136}
3137impl android_fdsan_error_level {
3138    pub const ANDROID_FDSAN_ERROR_LEVEL_DISABLED: android_fdsan_error_level =
3139        android_fdsan_error_level(0);
3140}
3141impl android_fdsan_error_level {
3142    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ONCE: android_fdsan_error_level =
3143        android_fdsan_error_level(1);
3144}
3145impl android_fdsan_error_level {
3146    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ALWAYS: android_fdsan_error_level =
3147        android_fdsan_error_level(2);
3148}
3149impl android_fdsan_error_level {
3150    pub const ANDROID_FDSAN_ERROR_LEVEL_FATAL: android_fdsan_error_level =
3151        android_fdsan_error_level(3);
3152}
3153#[repr(transparent)]
3154#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3155pub struct android_fdsan_error_level(pub ::std::os::raw::c_uint);
3156extern "C" {
3157    pub fn android_fdsan_get_error_level() -> android_fdsan_error_level;
3158}
3159extern "C" {
3160    pub fn android_fdsan_set_error_level(
3161        new_level: android_fdsan_error_level,
3162    ) -> android_fdsan_error_level;
3163}
3164extern "C" {
3165    pub fn android_fdsan_set_error_level_from_property(
3166        default_level: android_fdsan_error_level,
3167    ) -> android_fdsan_error_level;
3168}
3169extern "C" {
3170    pub fn AFileDescriptor_create(env: *mut JNIEnv) -> jobject;
3171}
3172extern "C" {
3173    pub fn AFileDescriptor_getFd(
3174        env: *mut JNIEnv,
3175        fileDescriptor: jobject,
3176    ) -> ::std::os::raw::c_int;
3177}
3178extern "C" {
3179    pub fn AFileDescriptor_setFd(
3180        env: *mut JNIEnv,
3181        fileDescriptor: jobject,
3182        fd: ::std::os::raw::c_int,
3183    );
3184}
3185pub const AFONT_WEIGHT_MIN: _bindgen_ty_7 = 0;
3186pub const AFONT_WEIGHT_THIN: _bindgen_ty_7 = 100;
3187pub const AFONT_WEIGHT_EXTRA_LIGHT: _bindgen_ty_7 = 200;
3188pub const AFONT_WEIGHT_LIGHT: _bindgen_ty_7 = 300;
3189pub const AFONT_WEIGHT_NORMAL: _bindgen_ty_7 = 400;
3190pub const AFONT_WEIGHT_MEDIUM: _bindgen_ty_7 = 500;
3191pub const AFONT_WEIGHT_SEMI_BOLD: _bindgen_ty_7 = 600;
3192pub const AFONT_WEIGHT_BOLD: _bindgen_ty_7 = 700;
3193pub const AFONT_WEIGHT_EXTRA_BOLD: _bindgen_ty_7 = 800;
3194pub const AFONT_WEIGHT_BLACK: _bindgen_ty_7 = 900;
3195pub const AFONT_WEIGHT_MAX: _bindgen_ty_7 = 1000;
3196pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
3197#[repr(C)]
3198#[derive(Debug, Copy, Clone)]
3199pub struct AFont {
3200    _unused: [u8; 0],
3201}
3202extern "C" {
3203    pub fn AFont_close(font: *mut AFont);
3204}
3205extern "C" {
3206    pub fn AFont_getFontFilePath(font: *const AFont) -> *const ::std::os::raw::c_char;
3207}
3208extern "C" {
3209    pub fn AFont_getWeight(font: *const AFont) -> u16;
3210}
3211extern "C" {
3212    pub fn AFont_isItalic(font: *const AFont) -> bool;
3213}
3214extern "C" {
3215    pub fn AFont_getLocale(font: *const AFont) -> *const ::std::os::raw::c_char;
3216}
3217extern "C" {
3218    pub fn AFont_getCollectionIndex(font: *const AFont) -> usize;
3219}
3220extern "C" {
3221    pub fn AFont_getAxisCount(font: *const AFont) -> usize;
3222}
3223extern "C" {
3224    pub fn AFont_getAxisTag(font: *const AFont, axisIndex: u32) -> u32;
3225}
3226extern "C" {
3227    pub fn AFont_getAxisValue(font: *const AFont, axisIndex: u32) -> f32;
3228}
3229pub const AFAMILY_VARIANT_DEFAULT: _bindgen_ty_8 = 0;
3230pub const AFAMILY_VARIANT_COMPACT: _bindgen_ty_8 = 1;
3231pub const AFAMILY_VARIANT_ELEGANT: _bindgen_ty_8 = 2;
3232pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
3233#[repr(C)]
3234#[derive(Debug, Copy, Clone)]
3235pub struct AFontMatcher {
3236    _unused: [u8; 0],
3237}
3238extern "C" {
3239    pub fn AFontMatcher_create() -> *mut AFontMatcher;
3240}
3241extern "C" {
3242    pub fn AFontMatcher_destroy(matcher: *mut AFontMatcher);
3243}
3244extern "C" {
3245    pub fn AFontMatcher_setStyle(matcher: *mut AFontMatcher, weight: u16, italic: bool);
3246}
3247extern "C" {
3248    pub fn AFontMatcher_setLocales(
3249        matcher: *mut AFontMatcher,
3250        languageTags: *const ::std::os::raw::c_char,
3251    );
3252}
3253extern "C" {
3254    pub fn AFontMatcher_setFamilyVariant(matcher: *mut AFontMatcher, familyVariant: u32);
3255}
3256extern "C" {
3257    pub fn AFontMatcher_match(
3258        matcher: *const AFontMatcher,
3259        familyName: *const ::std::os::raw::c_char,
3260        text: *const u16,
3261        textLength: u32,
3262        runLengthOut: *mut u32,
3263    ) -> *mut AFont;
3264}
3265#[repr(C)]
3266#[derive(Debug, Copy, Clone)]
3267pub struct ARect {
3268    pub left: i32,
3269    pub top: i32,
3270    pub right: i32,
3271    pub bottom: i32,
3272}
3273#[test]
3274fn bindgen_test_layout_ARect() {
3275    const UNINIT: ::std::mem::MaybeUninit<ARect> = ::std::mem::MaybeUninit::uninit();
3276    let ptr = UNINIT.as_ptr();
3277    assert_eq!(
3278        ::std::mem::size_of::<ARect>(),
3279        16usize,
3280        concat!("Size of: ", stringify!(ARect))
3281    );
3282    assert_eq!(
3283        ::std::mem::align_of::<ARect>(),
3284        4usize,
3285        concat!("Alignment of ", stringify!(ARect))
3286    );
3287    assert_eq!(
3288        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
3289        0usize,
3290        concat!(
3291            "Offset of field: ",
3292            stringify!(ARect),
3293            "::",
3294            stringify!(left)
3295        )
3296    );
3297    assert_eq!(
3298        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
3299        4usize,
3300        concat!(
3301            "Offset of field: ",
3302            stringify!(ARect),
3303            "::",
3304            stringify!(top)
3305        )
3306    );
3307    assert_eq!(
3308        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
3309        8usize,
3310        concat!(
3311            "Offset of field: ",
3312            stringify!(ARect),
3313            "::",
3314            stringify!(right)
3315        )
3316    );
3317    assert_eq!(
3318        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
3319        12usize,
3320        concat!(
3321            "Offset of field: ",
3322            stringify!(ARect),
3323            "::",
3324            stringify!(bottom)
3325        )
3326    );
3327}
3328impl AHardwareBuffer_Format {
3329    pub const AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format =
3330        AHardwareBuffer_Format(1);
3331}
3332impl AHardwareBuffer_Format {
3333    pub const AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format =
3334        AHardwareBuffer_Format(2);
3335}
3336impl AHardwareBuffer_Format {
3337    pub const AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format =
3338        AHardwareBuffer_Format(3);
3339}
3340impl AHardwareBuffer_Format {
3341    pub const AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format =
3342        AHardwareBuffer_Format(4);
3343}
3344impl AHardwareBuffer_Format {
3345    pub const AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
3346        AHardwareBuffer_Format(22);
3347}
3348impl AHardwareBuffer_Format {
3349    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
3350        AHardwareBuffer_Format(43);
3351}
3352impl AHardwareBuffer_Format {
3353    pub const AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = AHardwareBuffer_Format(33);
3354}
3355impl AHardwareBuffer_Format {
3356    pub const AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(48);
3357}
3358impl AHardwareBuffer_Format {
3359    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(49);
3360}
3361impl AHardwareBuffer_Format {
3362    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
3363        AHardwareBuffer_Format(50);
3364}
3365impl AHardwareBuffer_Format {
3366    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = AHardwareBuffer_Format(51);
3367}
3368impl AHardwareBuffer_Format {
3369    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
3370        AHardwareBuffer_Format(52);
3371}
3372impl AHardwareBuffer_Format {
3373    pub const AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(53);
3374}
3375impl AHardwareBuffer_Format {
3376    pub const AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format =
3377        AHardwareBuffer_Format(35);
3378}
3379impl AHardwareBuffer_Format {
3380    pub const AHARDWAREBUFFER_FORMAT_YCbCr_P010: AHardwareBuffer_Format =
3381        AHardwareBuffer_Format(54);
3382}
3383impl AHardwareBuffer_Format {
3384    pub const AHARDWAREBUFFER_FORMAT_R8_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(56);
3385}
3386impl AHardwareBuffer_Format {
3387    pub const AHARDWAREBUFFER_FORMAT_R16_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(57);
3388}
3389impl AHardwareBuffer_Format {
3390    pub const AHARDWAREBUFFER_FORMAT_R16G16_UINT: AHardwareBuffer_Format =
3391        AHardwareBuffer_Format(58);
3392}
3393impl AHardwareBuffer_Format {
3394    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM: AHardwareBuffer_Format =
3395        AHardwareBuffer_Format(59);
3396}
3397#[repr(transparent)]
3398#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3399pub struct AHardwareBuffer_Format(pub ::std::os::raw::c_uint);
3400impl AHardwareBuffer_UsageFlags {
3401    pub const AHARDWAREBUFFER_USAGE_CPU_READ_NEVER: AHardwareBuffer_UsageFlags =
3402        AHardwareBuffer_UsageFlags(0);
3403}
3404impl AHardwareBuffer_UsageFlags {
3405    pub const AHARDWAREBUFFER_USAGE_CPU_READ_RARELY: AHardwareBuffer_UsageFlags =
3406        AHardwareBuffer_UsageFlags(2);
3407}
3408impl AHardwareBuffer_UsageFlags {
3409    pub const AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN: AHardwareBuffer_UsageFlags =
3410        AHardwareBuffer_UsageFlags(3);
3411}
3412impl AHardwareBuffer_UsageFlags {
3413    pub const AHARDWAREBUFFER_USAGE_CPU_READ_MASK: AHardwareBuffer_UsageFlags =
3414        AHardwareBuffer_UsageFlags(15);
3415}
3416impl AHardwareBuffer_UsageFlags {
3417    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER: AHardwareBuffer_UsageFlags =
3418        AHardwareBuffer_UsageFlags(0);
3419}
3420impl AHardwareBuffer_UsageFlags {
3421    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY: AHardwareBuffer_UsageFlags =
3422        AHardwareBuffer_UsageFlags(32);
3423}
3424impl AHardwareBuffer_UsageFlags {
3425    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN: AHardwareBuffer_UsageFlags =
3426        AHardwareBuffer_UsageFlags(48);
3427}
3428impl AHardwareBuffer_UsageFlags {
3429    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK: AHardwareBuffer_UsageFlags =
3430        AHardwareBuffer_UsageFlags(240);
3431}
3432impl AHardwareBuffer_UsageFlags {
3433    pub const AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE: AHardwareBuffer_UsageFlags =
3434        AHardwareBuffer_UsageFlags(256);
3435}
3436impl AHardwareBuffer_UsageFlags {
3437    pub const AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER: AHardwareBuffer_UsageFlags =
3438        AHardwareBuffer_UsageFlags(512);
3439}
3440impl AHardwareBuffer_UsageFlags {
3441    pub const AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT: AHardwareBuffer_UsageFlags =
3442        AHardwareBuffer_UsageFlags(512);
3443}
3444impl AHardwareBuffer_UsageFlags {
3445    pub const AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY: AHardwareBuffer_UsageFlags =
3446        AHardwareBuffer_UsageFlags(2048);
3447}
3448impl AHardwareBuffer_UsageFlags {
3449    pub const AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT: AHardwareBuffer_UsageFlags =
3450        AHardwareBuffer_UsageFlags(16384);
3451}
3452impl AHardwareBuffer_UsageFlags {
3453    pub const AHARDWAREBUFFER_USAGE_VIDEO_ENCODE: AHardwareBuffer_UsageFlags =
3454        AHardwareBuffer_UsageFlags(65536);
3455}
3456impl AHardwareBuffer_UsageFlags {
3457    pub const AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA: AHardwareBuffer_UsageFlags =
3458        AHardwareBuffer_UsageFlags(8388608);
3459}
3460impl AHardwareBuffer_UsageFlags {
3461    pub const AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER: AHardwareBuffer_UsageFlags =
3462        AHardwareBuffer_UsageFlags(16777216);
3463}
3464impl AHardwareBuffer_UsageFlags {
3465    pub const AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP: AHardwareBuffer_UsageFlags =
3466        AHardwareBuffer_UsageFlags(33554432);
3467}
3468impl AHardwareBuffer_UsageFlags {
3469    pub const AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE: AHardwareBuffer_UsageFlags =
3470        AHardwareBuffer_UsageFlags(67108864);
3471}
3472impl AHardwareBuffer_UsageFlags {
3473    pub const AHARDWAREBUFFER_USAGE_FRONT_BUFFER: AHardwareBuffer_UsageFlags =
3474        AHardwareBuffer_UsageFlags(4294967296);
3475}
3476impl AHardwareBuffer_UsageFlags {
3477    pub const AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
3478        AHardwareBuffer_UsageFlags(268435456);
3479}
3480impl AHardwareBuffer_UsageFlags {
3481    pub const AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
3482        AHardwareBuffer_UsageFlags(536870912);
3483}
3484impl AHardwareBuffer_UsageFlags {
3485    pub const AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
3486        AHardwareBuffer_UsageFlags(1073741824);
3487}
3488impl AHardwareBuffer_UsageFlags {
3489    pub const AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
3490        AHardwareBuffer_UsageFlags(2147483648);
3491}
3492impl AHardwareBuffer_UsageFlags {
3493    pub const AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
3494        AHardwareBuffer_UsageFlags(281474976710656);
3495}
3496impl AHardwareBuffer_UsageFlags {
3497    pub const AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
3498        AHardwareBuffer_UsageFlags(562949953421312);
3499}
3500impl AHardwareBuffer_UsageFlags {
3501    pub const AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
3502        AHardwareBuffer_UsageFlags(1125899906842624);
3503}
3504impl AHardwareBuffer_UsageFlags {
3505    pub const AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
3506        AHardwareBuffer_UsageFlags(2251799813685248);
3507}
3508impl AHardwareBuffer_UsageFlags {
3509    pub const AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
3510        AHardwareBuffer_UsageFlags(4503599627370496);
3511}
3512impl AHardwareBuffer_UsageFlags {
3513    pub const AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
3514        AHardwareBuffer_UsageFlags(9007199254740992);
3515}
3516impl AHardwareBuffer_UsageFlags {
3517    pub const AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
3518        AHardwareBuffer_UsageFlags(18014398509481984);
3519}
3520impl AHardwareBuffer_UsageFlags {
3521    pub const AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
3522        AHardwareBuffer_UsageFlags(36028797018963968);
3523}
3524impl AHardwareBuffer_UsageFlags {
3525    pub const AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
3526        AHardwareBuffer_UsageFlags(72057594037927936);
3527}
3528impl AHardwareBuffer_UsageFlags {
3529    pub const AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
3530        AHardwareBuffer_UsageFlags(144115188075855872);
3531}
3532impl AHardwareBuffer_UsageFlags {
3533    pub const AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
3534        AHardwareBuffer_UsageFlags(288230376151711744);
3535}
3536impl AHardwareBuffer_UsageFlags {
3537    pub const AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
3538        AHardwareBuffer_UsageFlags(576460752303423488);
3539}
3540impl AHardwareBuffer_UsageFlags {
3541    pub const AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
3542        AHardwareBuffer_UsageFlags(1152921504606846976);
3543}
3544impl AHardwareBuffer_UsageFlags {
3545    pub const AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
3546        AHardwareBuffer_UsageFlags(2305843009213693952);
3547}
3548impl AHardwareBuffer_UsageFlags {
3549    pub const AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
3550        AHardwareBuffer_UsageFlags(4611686018427387904);
3551}
3552impl AHardwareBuffer_UsageFlags {
3553    pub const AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
3554        AHardwareBuffer_UsageFlags(9223372036854775808);
3555}
3556#[repr(transparent)]
3557#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3558pub struct AHardwareBuffer_UsageFlags(pub ::std::os::raw::c_ulong);
3559#[repr(C)]
3560#[derive(Debug, Copy, Clone)]
3561pub struct AHardwareBuffer_Desc {
3562    pub width: u32,
3563    pub height: u32,
3564    pub layers: u32,
3565    pub format: u32,
3566    pub usage: u64,
3567    pub stride: u32,
3568    pub rfu0: u32,
3569    pub rfu1: u64,
3570}
3571#[test]
3572fn bindgen_test_layout_AHardwareBuffer_Desc() {
3573    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Desc> = ::std::mem::MaybeUninit::uninit();
3574    let ptr = UNINIT.as_ptr();
3575    assert_eq!(
3576        ::std::mem::size_of::<AHardwareBuffer_Desc>(),
3577        40usize,
3578        concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
3579    );
3580    assert_eq!(
3581        ::std::mem::align_of::<AHardwareBuffer_Desc>(),
3582        8usize,
3583        concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
3584    );
3585    assert_eq!(
3586        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
3587        0usize,
3588        concat!(
3589            "Offset of field: ",
3590            stringify!(AHardwareBuffer_Desc),
3591            "::",
3592            stringify!(width)
3593        )
3594    );
3595    assert_eq!(
3596        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
3597        4usize,
3598        concat!(
3599            "Offset of field: ",
3600            stringify!(AHardwareBuffer_Desc),
3601            "::",
3602            stringify!(height)
3603        )
3604    );
3605    assert_eq!(
3606        unsafe { ::std::ptr::addr_of!((*ptr).layers) as usize - ptr as usize },
3607        8usize,
3608        concat!(
3609            "Offset of field: ",
3610            stringify!(AHardwareBuffer_Desc),
3611            "::",
3612            stringify!(layers)
3613        )
3614    );
3615    assert_eq!(
3616        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
3617        12usize,
3618        concat!(
3619            "Offset of field: ",
3620            stringify!(AHardwareBuffer_Desc),
3621            "::",
3622            stringify!(format)
3623        )
3624    );
3625    assert_eq!(
3626        unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize },
3627        16usize,
3628        concat!(
3629            "Offset of field: ",
3630            stringify!(AHardwareBuffer_Desc),
3631            "::",
3632            stringify!(usage)
3633        )
3634    );
3635    assert_eq!(
3636        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
3637        24usize,
3638        concat!(
3639            "Offset of field: ",
3640            stringify!(AHardwareBuffer_Desc),
3641            "::",
3642            stringify!(stride)
3643        )
3644    );
3645    assert_eq!(
3646        unsafe { ::std::ptr::addr_of!((*ptr).rfu0) as usize - ptr as usize },
3647        28usize,
3648        concat!(
3649            "Offset of field: ",
3650            stringify!(AHardwareBuffer_Desc),
3651            "::",
3652            stringify!(rfu0)
3653        )
3654    );
3655    assert_eq!(
3656        unsafe { ::std::ptr::addr_of!((*ptr).rfu1) as usize - ptr as usize },
3657        32usize,
3658        concat!(
3659            "Offset of field: ",
3660            stringify!(AHardwareBuffer_Desc),
3661            "::",
3662            stringify!(rfu1)
3663        )
3664    );
3665}
3666#[repr(C)]
3667#[derive(Debug, Copy, Clone)]
3668pub struct AHardwareBuffer_Plane {
3669    pub data: *mut ::std::os::raw::c_void,
3670    pub pixelStride: u32,
3671    pub rowStride: u32,
3672}
3673#[test]
3674fn bindgen_test_layout_AHardwareBuffer_Plane() {
3675    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Plane> =
3676        ::std::mem::MaybeUninit::uninit();
3677    let ptr = UNINIT.as_ptr();
3678    assert_eq!(
3679        ::std::mem::size_of::<AHardwareBuffer_Plane>(),
3680        16usize,
3681        concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
3682    );
3683    assert_eq!(
3684        ::std::mem::align_of::<AHardwareBuffer_Plane>(),
3685        8usize,
3686        concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
3687    );
3688    assert_eq!(
3689        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3690        0usize,
3691        concat!(
3692            "Offset of field: ",
3693            stringify!(AHardwareBuffer_Plane),
3694            "::",
3695            stringify!(data)
3696        )
3697    );
3698    assert_eq!(
3699        unsafe { ::std::ptr::addr_of!((*ptr).pixelStride) as usize - ptr as usize },
3700        8usize,
3701        concat!(
3702            "Offset of field: ",
3703            stringify!(AHardwareBuffer_Plane),
3704            "::",
3705            stringify!(pixelStride)
3706        )
3707    );
3708    assert_eq!(
3709        unsafe { ::std::ptr::addr_of!((*ptr).rowStride) as usize - ptr as usize },
3710        12usize,
3711        concat!(
3712            "Offset of field: ",
3713            stringify!(AHardwareBuffer_Plane),
3714            "::",
3715            stringify!(rowStride)
3716        )
3717    );
3718}
3719#[repr(C)]
3720#[derive(Debug, Copy, Clone)]
3721pub struct AHardwareBuffer_Planes {
3722    pub planeCount: u32,
3723    pub planes: [AHardwareBuffer_Plane; 4usize],
3724}
3725#[test]
3726fn bindgen_test_layout_AHardwareBuffer_Planes() {
3727    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Planes> =
3728        ::std::mem::MaybeUninit::uninit();
3729    let ptr = UNINIT.as_ptr();
3730    assert_eq!(
3731        ::std::mem::size_of::<AHardwareBuffer_Planes>(),
3732        72usize,
3733        concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
3734    );
3735    assert_eq!(
3736        ::std::mem::align_of::<AHardwareBuffer_Planes>(),
3737        8usize,
3738        concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
3739    );
3740    assert_eq!(
3741        unsafe { ::std::ptr::addr_of!((*ptr).planeCount) as usize - ptr as usize },
3742        0usize,
3743        concat!(
3744            "Offset of field: ",
3745            stringify!(AHardwareBuffer_Planes),
3746            "::",
3747            stringify!(planeCount)
3748        )
3749    );
3750    assert_eq!(
3751        unsafe { ::std::ptr::addr_of!((*ptr).planes) as usize - ptr as usize },
3752        8usize,
3753        concat!(
3754            "Offset of field: ",
3755            stringify!(AHardwareBuffer_Planes),
3756            "::",
3757            stringify!(planes)
3758        )
3759    );
3760}
3761extern "C" {
3762    pub fn AHardwareBuffer_allocate(
3763        desc: *const AHardwareBuffer_Desc,
3764        outBuffer: *mut *mut AHardwareBuffer,
3765    ) -> ::std::os::raw::c_int;
3766}
3767extern "C" {
3768    pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
3769}
3770extern "C" {
3771    pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
3772}
3773extern "C" {
3774    pub fn AHardwareBuffer_describe(
3775        buffer: *const AHardwareBuffer,
3776        outDesc: *mut AHardwareBuffer_Desc,
3777    );
3778}
3779extern "C" {
3780    pub fn AHardwareBuffer_lock(
3781        buffer: *mut AHardwareBuffer,
3782        usage: u64,
3783        fence: i32,
3784        rect: *const ARect,
3785        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3786    ) -> ::std::os::raw::c_int;
3787}
3788extern "C" {
3789    pub fn AHardwareBuffer_unlock(
3790        buffer: *mut AHardwareBuffer,
3791        fence: *mut i32,
3792    ) -> ::std::os::raw::c_int;
3793}
3794extern "C" {
3795    pub fn AHardwareBuffer_sendHandleToUnixSocket(
3796        buffer: *const AHardwareBuffer,
3797        socketFd: ::std::os::raw::c_int,
3798    ) -> ::std::os::raw::c_int;
3799}
3800extern "C" {
3801    pub fn AHardwareBuffer_recvHandleFromUnixSocket(
3802        socketFd: ::std::os::raw::c_int,
3803        outBuffer: *mut *mut AHardwareBuffer,
3804    ) -> ::std::os::raw::c_int;
3805}
3806extern "C" {
3807    pub fn AHardwareBuffer_lockPlanes(
3808        buffer: *mut AHardwareBuffer,
3809        usage: u64,
3810        fence: i32,
3811        rect: *const ARect,
3812        outPlanes: *mut AHardwareBuffer_Planes,
3813    ) -> ::std::os::raw::c_int;
3814}
3815extern "C" {
3816    pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
3817}
3818extern "C" {
3819    pub fn AHardwareBuffer_lockAndGetInfo(
3820        buffer: *mut AHardwareBuffer,
3821        usage: u64,
3822        fence: i32,
3823        rect: *const ARect,
3824        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3825        outBytesPerPixel: *mut i32,
3826        outBytesPerStride: *mut i32,
3827    ) -> ::std::os::raw::c_int;
3828}
3829extern "C" {
3830    pub fn AHardwareBuffer_getId(
3831        buffer: *const AHardwareBuffer,
3832        outId: *mut u64,
3833    ) -> ::std::os::raw::c_int;
3834}
3835extern "C" {
3836    pub fn AHardwareBuffer_fromHardwareBuffer(
3837        env: *mut JNIEnv,
3838        hardwareBufferObj: jobject,
3839    ) -> *mut AHardwareBuffer;
3840}
3841extern "C" {
3842    pub fn AHardwareBuffer_toHardwareBuffer(
3843        env: *mut JNIEnv,
3844        hardwareBuffer: *mut AHardwareBuffer,
3845    ) -> jobject;
3846}
3847impl AHdrMetadataType {
3848    pub const HDR10_SMPTE2086: AHdrMetadataType = AHdrMetadataType(1);
3849}
3850impl AHdrMetadataType {
3851    pub const HDR10_CTA861_3: AHdrMetadataType = AHdrMetadataType(2);
3852}
3853impl AHdrMetadataType {
3854    pub const HDR10PLUS_SEI: AHdrMetadataType = AHdrMetadataType(3);
3855}
3856#[repr(transparent)]
3857#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3858pub struct AHdrMetadataType(pub u32);
3859#[repr(C)]
3860#[derive(Debug, Copy, Clone)]
3861pub struct AColor_xy {
3862    pub x: f32,
3863    pub y: f32,
3864}
3865#[test]
3866fn bindgen_test_layout_AColor_xy() {
3867    const UNINIT: ::std::mem::MaybeUninit<AColor_xy> = ::std::mem::MaybeUninit::uninit();
3868    let ptr = UNINIT.as_ptr();
3869    assert_eq!(
3870        ::std::mem::size_of::<AColor_xy>(),
3871        8usize,
3872        concat!("Size of: ", stringify!(AColor_xy))
3873    );
3874    assert_eq!(
3875        ::std::mem::align_of::<AColor_xy>(),
3876        4usize,
3877        concat!("Alignment of ", stringify!(AColor_xy))
3878    );
3879    assert_eq!(
3880        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
3881        0usize,
3882        concat!(
3883            "Offset of field: ",
3884            stringify!(AColor_xy),
3885            "::",
3886            stringify!(x)
3887        )
3888    );
3889    assert_eq!(
3890        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
3891        4usize,
3892        concat!(
3893            "Offset of field: ",
3894            stringify!(AColor_xy),
3895            "::",
3896            stringify!(y)
3897        )
3898    );
3899}
3900#[repr(C)]
3901#[derive(Debug, Copy, Clone)]
3902pub struct AHdrMetadata_smpte2086 {
3903    pub displayPrimaryRed: AColor_xy,
3904    pub displayPrimaryGreen: AColor_xy,
3905    pub displayPrimaryBlue: AColor_xy,
3906    pub whitePoint: AColor_xy,
3907    pub maxLuminance: f32,
3908    pub minLuminance: f32,
3909}
3910#[test]
3911fn bindgen_test_layout_AHdrMetadata_smpte2086() {
3912    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_smpte2086> =
3913        ::std::mem::MaybeUninit::uninit();
3914    let ptr = UNINIT.as_ptr();
3915    assert_eq!(
3916        ::std::mem::size_of::<AHdrMetadata_smpte2086>(),
3917        40usize,
3918        concat!("Size of: ", stringify!(AHdrMetadata_smpte2086))
3919    );
3920    assert_eq!(
3921        ::std::mem::align_of::<AHdrMetadata_smpte2086>(),
3922        4usize,
3923        concat!("Alignment of ", stringify!(AHdrMetadata_smpte2086))
3924    );
3925    assert_eq!(
3926        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryRed) as usize - ptr as usize },
3927        0usize,
3928        concat!(
3929            "Offset of field: ",
3930            stringify!(AHdrMetadata_smpte2086),
3931            "::",
3932            stringify!(displayPrimaryRed)
3933        )
3934    );
3935    assert_eq!(
3936        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryGreen) as usize - ptr as usize },
3937        8usize,
3938        concat!(
3939            "Offset of field: ",
3940            stringify!(AHdrMetadata_smpte2086),
3941            "::",
3942            stringify!(displayPrimaryGreen)
3943        )
3944    );
3945    assert_eq!(
3946        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryBlue) as usize - ptr as usize },
3947        16usize,
3948        concat!(
3949            "Offset of field: ",
3950            stringify!(AHdrMetadata_smpte2086),
3951            "::",
3952            stringify!(displayPrimaryBlue)
3953        )
3954    );
3955    assert_eq!(
3956        unsafe { ::std::ptr::addr_of!((*ptr).whitePoint) as usize - ptr as usize },
3957        24usize,
3958        concat!(
3959            "Offset of field: ",
3960            stringify!(AHdrMetadata_smpte2086),
3961            "::",
3962            stringify!(whitePoint)
3963        )
3964    );
3965    assert_eq!(
3966        unsafe { ::std::ptr::addr_of!((*ptr).maxLuminance) as usize - ptr as usize },
3967        32usize,
3968        concat!(
3969            "Offset of field: ",
3970            stringify!(AHdrMetadata_smpte2086),
3971            "::",
3972            stringify!(maxLuminance)
3973        )
3974    );
3975    assert_eq!(
3976        unsafe { ::std::ptr::addr_of!((*ptr).minLuminance) as usize - ptr as usize },
3977        36usize,
3978        concat!(
3979            "Offset of field: ",
3980            stringify!(AHdrMetadata_smpte2086),
3981            "::",
3982            stringify!(minLuminance)
3983        )
3984    );
3985}
3986#[repr(C)]
3987#[derive(Debug, Copy, Clone)]
3988pub struct AHdrMetadata_cta861_3 {
3989    pub maxContentLightLevel: f32,
3990    pub maxFrameAverageLightLevel: f32,
3991}
3992#[test]
3993fn bindgen_test_layout_AHdrMetadata_cta861_3() {
3994    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_cta861_3> =
3995        ::std::mem::MaybeUninit::uninit();
3996    let ptr = UNINIT.as_ptr();
3997    assert_eq!(
3998        ::std::mem::size_of::<AHdrMetadata_cta861_3>(),
3999        8usize,
4000        concat!("Size of: ", stringify!(AHdrMetadata_cta861_3))
4001    );
4002    assert_eq!(
4003        ::std::mem::align_of::<AHdrMetadata_cta861_3>(),
4004        4usize,
4005        concat!("Alignment of ", stringify!(AHdrMetadata_cta861_3))
4006    );
4007    assert_eq!(
4008        unsafe { ::std::ptr::addr_of!((*ptr).maxContentLightLevel) as usize - ptr as usize },
4009        0usize,
4010        concat!(
4011            "Offset of field: ",
4012            stringify!(AHdrMetadata_cta861_3),
4013            "::",
4014            stringify!(maxContentLightLevel)
4015        )
4016    );
4017    assert_eq!(
4018        unsafe { ::std::ptr::addr_of!((*ptr).maxFrameAverageLightLevel) as usize - ptr as usize },
4019        4usize,
4020        concat!(
4021            "Offset of field: ",
4022            stringify!(AHdrMetadata_cta861_3),
4023            "::",
4024            stringify!(maxFrameAverageLightLevel)
4025        )
4026    );
4027}
4028pub const ANDROID_IMAGE_DECODER_SUCCESS: _bindgen_ty_9 = 0;
4029pub const ANDROID_IMAGE_DECODER_INCOMPLETE: _bindgen_ty_9 = -1;
4030pub const ANDROID_IMAGE_DECODER_ERROR: _bindgen_ty_9 = -2;
4031pub const ANDROID_IMAGE_DECODER_INVALID_CONVERSION: _bindgen_ty_9 = -3;
4032pub const ANDROID_IMAGE_DECODER_INVALID_SCALE: _bindgen_ty_9 = -4;
4033pub const ANDROID_IMAGE_DECODER_BAD_PARAMETER: _bindgen_ty_9 = -5;
4034pub const ANDROID_IMAGE_DECODER_INVALID_INPUT: _bindgen_ty_9 = -6;
4035pub const ANDROID_IMAGE_DECODER_SEEK_ERROR: _bindgen_ty_9 = -7;
4036pub const ANDROID_IMAGE_DECODER_INTERNAL_ERROR: _bindgen_ty_9 = -8;
4037pub const ANDROID_IMAGE_DECODER_UNSUPPORTED_FORMAT: _bindgen_ty_9 = -9;
4038pub const ANDROID_IMAGE_DECODER_FINISHED: _bindgen_ty_9 = -10;
4039pub const ANDROID_IMAGE_DECODER_INVALID_STATE: _bindgen_ty_9 = -11;
4040pub type _bindgen_ty_9 = ::std::os::raw::c_int;
4041extern "C" {
4042    pub fn AImageDecoder_resultToString(
4043        arg1: ::std::os::raw::c_int,
4044    ) -> *const ::std::os::raw::c_char;
4045}
4046#[repr(C)]
4047#[derive(Debug, Copy, Clone)]
4048pub struct AImageDecoder {
4049    _unused: [u8; 0],
4050}
4051extern "C" {
4052    pub fn AImageDecoder_createFromAAsset(
4053        asset: *mut AAsset,
4054        outDecoder: *mut *mut AImageDecoder,
4055    ) -> ::std::os::raw::c_int;
4056}
4057extern "C" {
4058    pub fn AImageDecoder_createFromFd(
4059        fd: ::std::os::raw::c_int,
4060        outDecoder: *mut *mut AImageDecoder,
4061    ) -> ::std::os::raw::c_int;
4062}
4063extern "C" {
4064    pub fn AImageDecoder_createFromBuffer(
4065        buffer: *const ::std::os::raw::c_void,
4066        length: usize,
4067        outDecoder: *mut *mut AImageDecoder,
4068    ) -> ::std::os::raw::c_int;
4069}
4070extern "C" {
4071    pub fn AImageDecoder_delete(decoder: *mut AImageDecoder);
4072}
4073extern "C" {
4074    pub fn AImageDecoder_setAndroidBitmapFormat(
4075        decoder: *mut AImageDecoder,
4076        format: i32,
4077    ) -> ::std::os::raw::c_int;
4078}
4079extern "C" {
4080    pub fn AImageDecoder_setUnpremultipliedRequired(
4081        decoder: *mut AImageDecoder,
4082        unpremultipliedRequired: bool,
4083    ) -> ::std::os::raw::c_int;
4084}
4085extern "C" {
4086    pub fn AImageDecoder_setDataSpace(
4087        decoder: *mut AImageDecoder,
4088        dataspace: i32,
4089    ) -> ::std::os::raw::c_int;
4090}
4091extern "C" {
4092    pub fn AImageDecoder_setTargetSize(
4093        decoder: *mut AImageDecoder,
4094        width: i32,
4095        height: i32,
4096    ) -> ::std::os::raw::c_int;
4097}
4098extern "C" {
4099    pub fn AImageDecoder_computeSampledSize(
4100        decoder: *const AImageDecoder,
4101        sampleSize: ::std::os::raw::c_int,
4102        width: *mut i32,
4103        height: *mut i32,
4104    ) -> ::std::os::raw::c_int;
4105}
4106extern "C" {
4107    pub fn AImageDecoder_setCrop(decoder: *mut AImageDecoder, crop: ARect)
4108        -> ::std::os::raw::c_int;
4109}
4110#[repr(C)]
4111#[derive(Debug, Copy, Clone)]
4112pub struct AImageDecoderHeaderInfo {
4113    _unused: [u8; 0],
4114}
4115extern "C" {
4116    pub fn AImageDecoder_getHeaderInfo(
4117        decoder: *const AImageDecoder,
4118    ) -> *const AImageDecoderHeaderInfo;
4119}
4120extern "C" {
4121    pub fn AImageDecoderHeaderInfo_getWidth(arg1: *const AImageDecoderHeaderInfo) -> i32;
4122}
4123extern "C" {
4124    pub fn AImageDecoderHeaderInfo_getHeight(arg1: *const AImageDecoderHeaderInfo) -> i32;
4125}
4126extern "C" {
4127    pub fn AImageDecoderHeaderInfo_getMimeType(
4128        arg1: *const AImageDecoderHeaderInfo,
4129    ) -> *const ::std::os::raw::c_char;
4130}
4131extern "C" {
4132    pub fn AImageDecoderHeaderInfo_getAndroidBitmapFormat(
4133        arg1: *const AImageDecoderHeaderInfo,
4134    ) -> i32;
4135}
4136extern "C" {
4137    pub fn AImageDecoderHeaderInfo_getAlphaFlags(
4138        arg1: *const AImageDecoderHeaderInfo,
4139    ) -> ::std::os::raw::c_int;
4140}
4141extern "C" {
4142    pub fn AImageDecoderHeaderInfo_getDataSpace(arg1: *const AImageDecoderHeaderInfo) -> i32;
4143}
4144extern "C" {
4145    pub fn AImageDecoder_getMinimumStride(decoder: *mut AImageDecoder) -> usize;
4146}
4147extern "C" {
4148    pub fn AImageDecoder_decodeImage(
4149        decoder: *mut AImageDecoder,
4150        pixels: *mut ::std::os::raw::c_void,
4151        stride: usize,
4152        size: usize,
4153    ) -> ::std::os::raw::c_int;
4154}
4155extern "C" {
4156    pub fn AImageDecoder_isAnimated(decoder: *mut AImageDecoder) -> bool;
4157}
4158pub const ANDROID_IMAGE_DECODER_INFINITE: _bindgen_ty_10 = 2147483647;
4159pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
4160extern "C" {
4161    pub fn AImageDecoder_getRepeatCount(decoder: *mut AImageDecoder) -> i32;
4162}
4163extern "C" {
4164    pub fn AImageDecoder_advanceFrame(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4165}
4166extern "C" {
4167    pub fn AImageDecoder_rewind(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4168}
4169#[repr(C)]
4170#[derive(Debug, Copy, Clone)]
4171pub struct AImageDecoderFrameInfo {
4172    _unused: [u8; 0],
4173}
4174extern "C" {
4175    pub fn AImageDecoderFrameInfo_create() -> *mut AImageDecoderFrameInfo;
4176}
4177extern "C" {
4178    pub fn AImageDecoderFrameInfo_delete(info: *mut AImageDecoderFrameInfo);
4179}
4180extern "C" {
4181    pub fn AImageDecoder_getFrameInfo(
4182        decoder: *mut AImageDecoder,
4183        info: *mut AImageDecoderFrameInfo,
4184    ) -> ::std::os::raw::c_int;
4185}
4186extern "C" {
4187    pub fn AImageDecoderFrameInfo_getDuration(info: *const AImageDecoderFrameInfo) -> i64;
4188}
4189extern "C" {
4190    pub fn AImageDecoderFrameInfo_getFrameRect(info: *const AImageDecoderFrameInfo) -> ARect;
4191}
4192extern "C" {
4193    pub fn AImageDecoderFrameInfo_hasAlphaWithinBounds(info: *const AImageDecoderFrameInfo)
4194        -> bool;
4195}
4196pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_NONE: _bindgen_ty_11 = 1;
4197pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_BACKGROUND: _bindgen_ty_11 = 2;
4198pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_PREVIOUS: _bindgen_ty_11 = 3;
4199pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
4200extern "C" {
4201    pub fn AImageDecoderFrameInfo_getDisposeOp(info: *const AImageDecoderFrameInfo) -> i32;
4202}
4203pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC: _bindgen_ty_12 = 1;
4204pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC_OVER: _bindgen_ty_12 = 2;
4205pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
4206extern "C" {
4207    pub fn AImageDecoderFrameInfo_getBlendOp(info: *const AImageDecoderFrameInfo) -> i32;
4208}
4209extern "C" {
4210    pub fn AImageDecoder_setInternallyHandleDisposePrevious(
4211        decoder: *mut AImageDecoder,
4212        handleInternally: bool,
4213    );
4214}
4215pub const AKEYCODE_UNKNOWN: _bindgen_ty_13 = 0;
4216pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_13 = 1;
4217pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_13 = 2;
4218pub const AKEYCODE_HOME: _bindgen_ty_13 = 3;
4219pub const AKEYCODE_BACK: _bindgen_ty_13 = 4;
4220pub const AKEYCODE_CALL: _bindgen_ty_13 = 5;
4221pub const AKEYCODE_ENDCALL: _bindgen_ty_13 = 6;
4222pub const AKEYCODE_0: _bindgen_ty_13 = 7;
4223pub const AKEYCODE_1: _bindgen_ty_13 = 8;
4224pub const AKEYCODE_2: _bindgen_ty_13 = 9;
4225pub const AKEYCODE_3: _bindgen_ty_13 = 10;
4226pub const AKEYCODE_4: _bindgen_ty_13 = 11;
4227pub const AKEYCODE_5: _bindgen_ty_13 = 12;
4228pub const AKEYCODE_6: _bindgen_ty_13 = 13;
4229pub const AKEYCODE_7: _bindgen_ty_13 = 14;
4230pub const AKEYCODE_8: _bindgen_ty_13 = 15;
4231pub const AKEYCODE_9: _bindgen_ty_13 = 16;
4232pub const AKEYCODE_STAR: _bindgen_ty_13 = 17;
4233pub const AKEYCODE_POUND: _bindgen_ty_13 = 18;
4234pub const AKEYCODE_DPAD_UP: _bindgen_ty_13 = 19;
4235pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_13 = 20;
4236pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_13 = 21;
4237pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_13 = 22;
4238pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_13 = 23;
4239pub const AKEYCODE_VOLUME_UP: _bindgen_ty_13 = 24;
4240pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_13 = 25;
4241pub const AKEYCODE_POWER: _bindgen_ty_13 = 26;
4242pub const AKEYCODE_CAMERA: _bindgen_ty_13 = 27;
4243pub const AKEYCODE_CLEAR: _bindgen_ty_13 = 28;
4244pub const AKEYCODE_A: _bindgen_ty_13 = 29;
4245pub const AKEYCODE_B: _bindgen_ty_13 = 30;
4246pub const AKEYCODE_C: _bindgen_ty_13 = 31;
4247pub const AKEYCODE_D: _bindgen_ty_13 = 32;
4248pub const AKEYCODE_E: _bindgen_ty_13 = 33;
4249pub const AKEYCODE_F: _bindgen_ty_13 = 34;
4250pub const AKEYCODE_G: _bindgen_ty_13 = 35;
4251pub const AKEYCODE_H: _bindgen_ty_13 = 36;
4252pub const AKEYCODE_I: _bindgen_ty_13 = 37;
4253pub const AKEYCODE_J: _bindgen_ty_13 = 38;
4254pub const AKEYCODE_K: _bindgen_ty_13 = 39;
4255pub const AKEYCODE_L: _bindgen_ty_13 = 40;
4256pub const AKEYCODE_M: _bindgen_ty_13 = 41;
4257pub const AKEYCODE_N: _bindgen_ty_13 = 42;
4258pub const AKEYCODE_O: _bindgen_ty_13 = 43;
4259pub const AKEYCODE_P: _bindgen_ty_13 = 44;
4260pub const AKEYCODE_Q: _bindgen_ty_13 = 45;
4261pub const AKEYCODE_R: _bindgen_ty_13 = 46;
4262pub const AKEYCODE_S: _bindgen_ty_13 = 47;
4263pub const AKEYCODE_T: _bindgen_ty_13 = 48;
4264pub const AKEYCODE_U: _bindgen_ty_13 = 49;
4265pub const AKEYCODE_V: _bindgen_ty_13 = 50;
4266pub const AKEYCODE_W: _bindgen_ty_13 = 51;
4267pub const AKEYCODE_X: _bindgen_ty_13 = 52;
4268pub const AKEYCODE_Y: _bindgen_ty_13 = 53;
4269pub const AKEYCODE_Z: _bindgen_ty_13 = 54;
4270pub const AKEYCODE_COMMA: _bindgen_ty_13 = 55;
4271pub const AKEYCODE_PERIOD: _bindgen_ty_13 = 56;
4272pub const AKEYCODE_ALT_LEFT: _bindgen_ty_13 = 57;
4273pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_13 = 58;
4274pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_13 = 59;
4275pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_13 = 60;
4276pub const AKEYCODE_TAB: _bindgen_ty_13 = 61;
4277pub const AKEYCODE_SPACE: _bindgen_ty_13 = 62;
4278pub const AKEYCODE_SYM: _bindgen_ty_13 = 63;
4279pub const AKEYCODE_EXPLORER: _bindgen_ty_13 = 64;
4280pub const AKEYCODE_ENVELOPE: _bindgen_ty_13 = 65;
4281pub const AKEYCODE_ENTER: _bindgen_ty_13 = 66;
4282pub const AKEYCODE_DEL: _bindgen_ty_13 = 67;
4283pub const AKEYCODE_GRAVE: _bindgen_ty_13 = 68;
4284pub const AKEYCODE_MINUS: _bindgen_ty_13 = 69;
4285pub const AKEYCODE_EQUALS: _bindgen_ty_13 = 70;
4286pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_13 = 71;
4287pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_13 = 72;
4288pub const AKEYCODE_BACKSLASH: _bindgen_ty_13 = 73;
4289pub const AKEYCODE_SEMICOLON: _bindgen_ty_13 = 74;
4290pub const AKEYCODE_APOSTROPHE: _bindgen_ty_13 = 75;
4291pub const AKEYCODE_SLASH: _bindgen_ty_13 = 76;
4292pub const AKEYCODE_AT: _bindgen_ty_13 = 77;
4293pub const AKEYCODE_NUM: _bindgen_ty_13 = 78;
4294pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_13 = 79;
4295pub const AKEYCODE_FOCUS: _bindgen_ty_13 = 80;
4296pub const AKEYCODE_PLUS: _bindgen_ty_13 = 81;
4297pub const AKEYCODE_MENU: _bindgen_ty_13 = 82;
4298pub const AKEYCODE_NOTIFICATION: _bindgen_ty_13 = 83;
4299pub const AKEYCODE_SEARCH: _bindgen_ty_13 = 84;
4300pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_13 = 85;
4301pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_13 = 86;
4302pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_13 = 87;
4303pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_13 = 88;
4304pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_13 = 89;
4305pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_13 = 90;
4306pub const AKEYCODE_MUTE: _bindgen_ty_13 = 91;
4307pub const AKEYCODE_PAGE_UP: _bindgen_ty_13 = 92;
4308pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_13 = 93;
4309pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_13 = 94;
4310pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_13 = 95;
4311pub const AKEYCODE_BUTTON_A: _bindgen_ty_13 = 96;
4312pub const AKEYCODE_BUTTON_B: _bindgen_ty_13 = 97;
4313pub const AKEYCODE_BUTTON_C: _bindgen_ty_13 = 98;
4314pub const AKEYCODE_BUTTON_X: _bindgen_ty_13 = 99;
4315pub const AKEYCODE_BUTTON_Y: _bindgen_ty_13 = 100;
4316pub const AKEYCODE_BUTTON_Z: _bindgen_ty_13 = 101;
4317pub const AKEYCODE_BUTTON_L1: _bindgen_ty_13 = 102;
4318pub const AKEYCODE_BUTTON_R1: _bindgen_ty_13 = 103;
4319pub const AKEYCODE_BUTTON_L2: _bindgen_ty_13 = 104;
4320pub const AKEYCODE_BUTTON_R2: _bindgen_ty_13 = 105;
4321pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_13 = 106;
4322pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_13 = 107;
4323pub const AKEYCODE_BUTTON_START: _bindgen_ty_13 = 108;
4324pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_13 = 109;
4325pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_13 = 110;
4326pub const AKEYCODE_ESCAPE: _bindgen_ty_13 = 111;
4327pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_13 = 112;
4328pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_13 = 113;
4329pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_13 = 114;
4330pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_13 = 115;
4331pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_13 = 116;
4332pub const AKEYCODE_META_LEFT: _bindgen_ty_13 = 117;
4333pub const AKEYCODE_META_RIGHT: _bindgen_ty_13 = 118;
4334pub const AKEYCODE_FUNCTION: _bindgen_ty_13 = 119;
4335pub const AKEYCODE_SYSRQ: _bindgen_ty_13 = 120;
4336pub const AKEYCODE_BREAK: _bindgen_ty_13 = 121;
4337pub const AKEYCODE_MOVE_HOME: _bindgen_ty_13 = 122;
4338pub const AKEYCODE_MOVE_END: _bindgen_ty_13 = 123;
4339pub const AKEYCODE_INSERT: _bindgen_ty_13 = 124;
4340pub const AKEYCODE_FORWARD: _bindgen_ty_13 = 125;
4341pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_13 = 126;
4342pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_13 = 127;
4343pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_13 = 128;
4344pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_13 = 129;
4345pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_13 = 130;
4346pub const AKEYCODE_F1: _bindgen_ty_13 = 131;
4347pub const AKEYCODE_F2: _bindgen_ty_13 = 132;
4348pub const AKEYCODE_F3: _bindgen_ty_13 = 133;
4349pub const AKEYCODE_F4: _bindgen_ty_13 = 134;
4350pub const AKEYCODE_F5: _bindgen_ty_13 = 135;
4351pub const AKEYCODE_F6: _bindgen_ty_13 = 136;
4352pub const AKEYCODE_F7: _bindgen_ty_13 = 137;
4353pub const AKEYCODE_F8: _bindgen_ty_13 = 138;
4354pub const AKEYCODE_F9: _bindgen_ty_13 = 139;
4355pub const AKEYCODE_F10: _bindgen_ty_13 = 140;
4356pub const AKEYCODE_F11: _bindgen_ty_13 = 141;
4357pub const AKEYCODE_F12: _bindgen_ty_13 = 142;
4358pub const AKEYCODE_NUM_LOCK: _bindgen_ty_13 = 143;
4359pub const AKEYCODE_NUMPAD_0: _bindgen_ty_13 = 144;
4360pub const AKEYCODE_NUMPAD_1: _bindgen_ty_13 = 145;
4361pub const AKEYCODE_NUMPAD_2: _bindgen_ty_13 = 146;
4362pub const AKEYCODE_NUMPAD_3: _bindgen_ty_13 = 147;
4363pub const AKEYCODE_NUMPAD_4: _bindgen_ty_13 = 148;
4364pub const AKEYCODE_NUMPAD_5: _bindgen_ty_13 = 149;
4365pub const AKEYCODE_NUMPAD_6: _bindgen_ty_13 = 150;
4366pub const AKEYCODE_NUMPAD_7: _bindgen_ty_13 = 151;
4367pub const AKEYCODE_NUMPAD_8: _bindgen_ty_13 = 152;
4368pub const AKEYCODE_NUMPAD_9: _bindgen_ty_13 = 153;
4369pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_13 = 154;
4370pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_13 = 155;
4371pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_13 = 156;
4372pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_13 = 157;
4373pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_13 = 158;
4374pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_13 = 159;
4375pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_13 = 160;
4376pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_13 = 161;
4377pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_13 = 162;
4378pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_13 = 163;
4379pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_13 = 164;
4380pub const AKEYCODE_INFO: _bindgen_ty_13 = 165;
4381pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_13 = 166;
4382pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_13 = 167;
4383pub const AKEYCODE_ZOOM_IN: _bindgen_ty_13 = 168;
4384pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_13 = 169;
4385pub const AKEYCODE_TV: _bindgen_ty_13 = 170;
4386pub const AKEYCODE_WINDOW: _bindgen_ty_13 = 171;
4387pub const AKEYCODE_GUIDE: _bindgen_ty_13 = 172;
4388pub const AKEYCODE_DVR: _bindgen_ty_13 = 173;
4389pub const AKEYCODE_BOOKMARK: _bindgen_ty_13 = 174;
4390pub const AKEYCODE_CAPTIONS: _bindgen_ty_13 = 175;
4391pub const AKEYCODE_SETTINGS: _bindgen_ty_13 = 176;
4392pub const AKEYCODE_TV_POWER: _bindgen_ty_13 = 177;
4393pub const AKEYCODE_TV_INPUT: _bindgen_ty_13 = 178;
4394pub const AKEYCODE_STB_POWER: _bindgen_ty_13 = 179;
4395pub const AKEYCODE_STB_INPUT: _bindgen_ty_13 = 180;
4396pub const AKEYCODE_AVR_POWER: _bindgen_ty_13 = 181;
4397pub const AKEYCODE_AVR_INPUT: _bindgen_ty_13 = 182;
4398pub const AKEYCODE_PROG_RED: _bindgen_ty_13 = 183;
4399pub const AKEYCODE_PROG_GREEN: _bindgen_ty_13 = 184;
4400pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_13 = 185;
4401pub const AKEYCODE_PROG_BLUE: _bindgen_ty_13 = 186;
4402pub const AKEYCODE_APP_SWITCH: _bindgen_ty_13 = 187;
4403pub const AKEYCODE_BUTTON_1: _bindgen_ty_13 = 188;
4404pub const AKEYCODE_BUTTON_2: _bindgen_ty_13 = 189;
4405pub const AKEYCODE_BUTTON_3: _bindgen_ty_13 = 190;
4406pub const AKEYCODE_BUTTON_4: _bindgen_ty_13 = 191;
4407pub const AKEYCODE_BUTTON_5: _bindgen_ty_13 = 192;
4408pub const AKEYCODE_BUTTON_6: _bindgen_ty_13 = 193;
4409pub const AKEYCODE_BUTTON_7: _bindgen_ty_13 = 194;
4410pub const AKEYCODE_BUTTON_8: _bindgen_ty_13 = 195;
4411pub const AKEYCODE_BUTTON_9: _bindgen_ty_13 = 196;
4412pub const AKEYCODE_BUTTON_10: _bindgen_ty_13 = 197;
4413pub const AKEYCODE_BUTTON_11: _bindgen_ty_13 = 198;
4414pub const AKEYCODE_BUTTON_12: _bindgen_ty_13 = 199;
4415pub const AKEYCODE_BUTTON_13: _bindgen_ty_13 = 200;
4416pub const AKEYCODE_BUTTON_14: _bindgen_ty_13 = 201;
4417pub const AKEYCODE_BUTTON_15: _bindgen_ty_13 = 202;
4418pub const AKEYCODE_BUTTON_16: _bindgen_ty_13 = 203;
4419pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_13 = 204;
4420pub const AKEYCODE_MANNER_MODE: _bindgen_ty_13 = 205;
4421pub const AKEYCODE_3D_MODE: _bindgen_ty_13 = 206;
4422pub const AKEYCODE_CONTACTS: _bindgen_ty_13 = 207;
4423pub const AKEYCODE_CALENDAR: _bindgen_ty_13 = 208;
4424pub const AKEYCODE_MUSIC: _bindgen_ty_13 = 209;
4425pub const AKEYCODE_CALCULATOR: _bindgen_ty_13 = 210;
4426pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_13 = 211;
4427pub const AKEYCODE_EISU: _bindgen_ty_13 = 212;
4428pub const AKEYCODE_MUHENKAN: _bindgen_ty_13 = 213;
4429pub const AKEYCODE_HENKAN: _bindgen_ty_13 = 214;
4430pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_13 = 215;
4431pub const AKEYCODE_YEN: _bindgen_ty_13 = 216;
4432pub const AKEYCODE_RO: _bindgen_ty_13 = 217;
4433pub const AKEYCODE_KANA: _bindgen_ty_13 = 218;
4434pub const AKEYCODE_ASSIST: _bindgen_ty_13 = 219;
4435pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_13 = 220;
4436pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_13 = 221;
4437pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_13 = 222;
4438pub const AKEYCODE_SLEEP: _bindgen_ty_13 = 223;
4439pub const AKEYCODE_WAKEUP: _bindgen_ty_13 = 224;
4440pub const AKEYCODE_PAIRING: _bindgen_ty_13 = 225;
4441pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_13 = 226;
4442pub const AKEYCODE_11: _bindgen_ty_13 = 227;
4443pub const AKEYCODE_12: _bindgen_ty_13 = 228;
4444pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_13 = 229;
4445pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_13 = 230;
4446pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_13 = 231;
4447pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_13 = 232;
4448pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_13 = 233;
4449pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_13 = 234;
4450pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_13 = 235;
4451pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_13 = 236;
4452pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_13 = 237;
4453pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_13 = 238;
4454pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_13 = 239;
4455pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_13 = 240;
4456pub const AKEYCODE_TV_NETWORK: _bindgen_ty_13 = 241;
4457pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_13 = 242;
4458pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_13 = 243;
4459pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_13 = 244;
4460pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_13 = 245;
4461pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_13 = 246;
4462pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_13 = 247;
4463pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_13 = 248;
4464pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_13 = 249;
4465pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_13 = 250;
4466pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_13 = 251;
4467pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_13 = 252;
4468pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_13 = 253;
4469pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_13 = 254;
4470pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_13 = 255;
4471pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_13 = 256;
4472pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_13 = 257;
4473pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_13 = 258;
4474pub const AKEYCODE_HELP: _bindgen_ty_13 = 259;
4475pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_13 = 260;
4476pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_13 = 261;
4477pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_13 = 262;
4478pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_13 = 263;
4479pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_13 = 264;
4480pub const AKEYCODE_STEM_1: _bindgen_ty_13 = 265;
4481pub const AKEYCODE_STEM_2: _bindgen_ty_13 = 266;
4482pub const AKEYCODE_STEM_3: _bindgen_ty_13 = 267;
4483pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_13 = 268;
4484pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_13 = 269;
4485pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_13 = 270;
4486pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_13 = 271;
4487pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_13 = 272;
4488pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_13 = 273;
4489pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_13 = 274;
4490pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_13 = 275;
4491pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_13 = 276;
4492pub const AKEYCODE_CUT: _bindgen_ty_13 = 277;
4493pub const AKEYCODE_COPY: _bindgen_ty_13 = 278;
4494pub const AKEYCODE_PASTE: _bindgen_ty_13 = 279;
4495pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_13 = 280;
4496pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_13 = 281;
4497pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_13 = 282;
4498pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_13 = 283;
4499pub const AKEYCODE_ALL_APPS: _bindgen_ty_13 = 284;
4500pub const AKEYCODE_REFRESH: _bindgen_ty_13 = 285;
4501pub const AKEYCODE_THUMBS_UP: _bindgen_ty_13 = 286;
4502pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_13 = 287;
4503pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_13 = 288;
4504pub const AKEYCODE_VIDEO_APP_1: _bindgen_ty_13 = 289;
4505pub const AKEYCODE_VIDEO_APP_2: _bindgen_ty_13 = 290;
4506pub const AKEYCODE_VIDEO_APP_3: _bindgen_ty_13 = 291;
4507pub const AKEYCODE_VIDEO_APP_4: _bindgen_ty_13 = 292;
4508pub const AKEYCODE_VIDEO_APP_5: _bindgen_ty_13 = 293;
4509pub const AKEYCODE_VIDEO_APP_6: _bindgen_ty_13 = 294;
4510pub const AKEYCODE_VIDEO_APP_7: _bindgen_ty_13 = 295;
4511pub const AKEYCODE_VIDEO_APP_8: _bindgen_ty_13 = 296;
4512pub const AKEYCODE_FEATURED_APP_1: _bindgen_ty_13 = 297;
4513pub const AKEYCODE_FEATURED_APP_2: _bindgen_ty_13 = 298;
4514pub const AKEYCODE_FEATURED_APP_3: _bindgen_ty_13 = 299;
4515pub const AKEYCODE_FEATURED_APP_4: _bindgen_ty_13 = 300;
4516pub const AKEYCODE_DEMO_APP_1: _bindgen_ty_13 = 301;
4517pub const AKEYCODE_DEMO_APP_2: _bindgen_ty_13 = 302;
4518pub const AKEYCODE_DEMO_APP_3: _bindgen_ty_13 = 303;
4519pub const AKEYCODE_DEMO_APP_4: _bindgen_ty_13 = 304;
4520pub const AKEYCODE_KEYBOARD_BACKLIGHT_DOWN: _bindgen_ty_13 = 305;
4521pub const AKEYCODE_KEYBOARD_BACKLIGHT_UP: _bindgen_ty_13 = 306;
4522pub const AKEYCODE_KEYBOARD_BACKLIGHT_TOGGLE: _bindgen_ty_13 = 307;
4523pub const AKEYCODE_STYLUS_BUTTON_PRIMARY: _bindgen_ty_13 = 308;
4524pub const AKEYCODE_STYLUS_BUTTON_SECONDARY: _bindgen_ty_13 = 309;
4525pub const AKEYCODE_STYLUS_BUTTON_TERTIARY: _bindgen_ty_13 = 310;
4526pub const AKEYCODE_STYLUS_BUTTON_TAIL: _bindgen_ty_13 = 311;
4527pub const AKEYCODE_RECENT_APPS: _bindgen_ty_13 = 312;
4528pub const AKEYCODE_MACRO_1: _bindgen_ty_13 = 313;
4529pub const AKEYCODE_MACRO_2: _bindgen_ty_13 = 314;
4530pub const AKEYCODE_MACRO_3: _bindgen_ty_13 = 315;
4531pub const AKEYCODE_MACRO_4: _bindgen_ty_13 = 316;
4532pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
4533#[repr(C)]
4534#[derive(Debug, Copy, Clone)]
4535pub struct ALooper {
4536    _unused: [u8; 0],
4537}
4538extern "C" {
4539    pub fn ALooper_forThread() -> *mut ALooper;
4540}
4541pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_14 = 1;
4542pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
4543extern "C" {
4544    pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
4545}
4546pub const ALOOPER_POLL_WAKE: _bindgen_ty_15 = -1;
4547pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_15 = -2;
4548pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_15 = -3;
4549pub const ALOOPER_POLL_ERROR: _bindgen_ty_15 = -4;
4550pub type _bindgen_ty_15 = ::std::os::raw::c_int;
4551extern "C" {
4552    pub fn ALooper_acquire(looper: *mut ALooper);
4553}
4554extern "C" {
4555    pub fn ALooper_release(looper: *mut ALooper);
4556}
4557pub const ALOOPER_EVENT_INPUT: _bindgen_ty_16 = 1;
4558pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_16 = 2;
4559pub const ALOOPER_EVENT_ERROR: _bindgen_ty_16 = 4;
4560pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_16 = 8;
4561pub const ALOOPER_EVENT_INVALID: _bindgen_ty_16 = 16;
4562pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
4563pub type ALooper_callbackFunc = ::std::option::Option<
4564    unsafe extern "C" fn(
4565        fd: ::std::os::raw::c_int,
4566        events: ::std::os::raw::c_int,
4567        data: *mut ::std::os::raw::c_void,
4568    ) -> ::std::os::raw::c_int,
4569>;
4570extern "C" {
4571    pub fn ALooper_pollOnce(
4572        timeoutMillis: ::std::os::raw::c_int,
4573        outFd: *mut ::std::os::raw::c_int,
4574        outEvents: *mut ::std::os::raw::c_int,
4575        outData: *mut *mut ::std::os::raw::c_void,
4576    ) -> ::std::os::raw::c_int;
4577}
4578extern "C" {
4579    pub fn ALooper_pollAll(
4580        timeoutMillis: ::std::os::raw::c_int,
4581        outFd: *mut ::std::os::raw::c_int,
4582        outEvents: *mut ::std::os::raw::c_int,
4583        outData: *mut *mut ::std::os::raw::c_void,
4584    ) -> ::std::os::raw::c_int;
4585}
4586extern "C" {
4587    pub fn ALooper_wake(looper: *mut ALooper);
4588}
4589extern "C" {
4590    pub fn ALooper_addFd(
4591        looper: *mut ALooper,
4592        fd: ::std::os::raw::c_int,
4593        ident: ::std::os::raw::c_int,
4594        events: ::std::os::raw::c_int,
4595        callback: ALooper_callbackFunc,
4596        data: *mut ::std::os::raw::c_void,
4597    ) -> ::std::os::raw::c_int;
4598}
4599extern "C" {
4600    pub fn ALooper_removeFd(
4601        looper: *mut ALooper,
4602        fd: ::std::os::raw::c_int,
4603    ) -> ::std::os::raw::c_int;
4604}
4605pub const AKEY_STATE_UNKNOWN: _bindgen_ty_17 = -1;
4606pub const AKEY_STATE_UP: _bindgen_ty_17 = 0;
4607pub const AKEY_STATE_DOWN: _bindgen_ty_17 = 1;
4608pub const AKEY_STATE_VIRTUAL: _bindgen_ty_17 = 2;
4609pub type _bindgen_ty_17 = ::std::os::raw::c_int;
4610pub const AMETA_NONE: _bindgen_ty_18 = 0;
4611pub const AMETA_ALT_ON: _bindgen_ty_18 = 2;
4612pub const AMETA_ALT_LEFT_ON: _bindgen_ty_18 = 16;
4613pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_18 = 32;
4614pub const AMETA_SHIFT_ON: _bindgen_ty_18 = 1;
4615pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_18 = 64;
4616pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_18 = 128;
4617pub const AMETA_SYM_ON: _bindgen_ty_18 = 4;
4618pub const AMETA_FUNCTION_ON: _bindgen_ty_18 = 8;
4619pub const AMETA_CTRL_ON: _bindgen_ty_18 = 4096;
4620pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_18 = 8192;
4621pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_18 = 16384;
4622pub const AMETA_META_ON: _bindgen_ty_18 = 65536;
4623pub const AMETA_META_LEFT_ON: _bindgen_ty_18 = 131072;
4624pub const AMETA_META_RIGHT_ON: _bindgen_ty_18 = 262144;
4625pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_18 = 1048576;
4626pub const AMETA_NUM_LOCK_ON: _bindgen_ty_18 = 2097152;
4627pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_18 = 4194304;
4628pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
4629#[repr(C)]
4630#[derive(Debug, Copy, Clone)]
4631pub struct AInputEvent {
4632    _unused: [u8; 0],
4633}
4634pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_19 = 1;
4635pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_19 = 2;
4636pub const AINPUT_EVENT_TYPE_FOCUS: _bindgen_ty_19 = 3;
4637pub const AINPUT_EVENT_TYPE_CAPTURE: _bindgen_ty_19 = 4;
4638pub const AINPUT_EVENT_TYPE_DRAG: _bindgen_ty_19 = 5;
4639pub const AINPUT_EVENT_TYPE_TOUCH_MODE: _bindgen_ty_19 = 6;
4640pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
4641pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_20 = 0;
4642pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_20 = 1;
4643pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_20 = 2;
4644pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
4645pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_21 = 1;
4646pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_21 = 2;
4647pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_21 = 4;
4648pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_21 = 8;
4649pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_21 = 16;
4650pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_21 = 32;
4651pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_21 = 64;
4652pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_21 = 128;
4653pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_21 = 256;
4654pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_21 = 512;
4655pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_21 = 1024;
4656pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
4657pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_22 = 255;
4658pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_22 = 65280;
4659pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_22 = 0;
4660pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_22 = 1;
4661pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_22 = 2;
4662pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_22 = 3;
4663pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_22 = 4;
4664pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_22 = 5;
4665pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_22 = 6;
4666pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_22 = 7;
4667pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_22 = 8;
4668pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_22 = 9;
4669pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_22 = 10;
4670pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_22 = 11;
4671pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_22 = 12;
4672pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
4673pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_23 = 1;
4674pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
4675pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_24 = 0;
4676pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_24 = 1;
4677pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_24 = 2;
4678pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_24 = 4;
4679pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_24 = 8;
4680pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
4681pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_25 = 0;
4682pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_25 = 1;
4683pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_25 = 2;
4684pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_25 = 3;
4685pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_25 = 4;
4686pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_25 = 5;
4687pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_25 = 6;
4688pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_25 = 7;
4689pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_25 = 8;
4690pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_25 = 9;
4691pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_25 = 10;
4692pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_25 = 11;
4693pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_25 = 12;
4694pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_25 = 13;
4695pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_25 = 14;
4696pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_25 = 15;
4697pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_25 = 16;
4698pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_25 = 17;
4699pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_25 = 18;
4700pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_25 = 19;
4701pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_25 = 20;
4702pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_25 = 21;
4703pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_25 = 22;
4704pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_25 = 23;
4705pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_25 = 24;
4706pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_25 = 25;
4707pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_25 = 26;
4708pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_25 = 27;
4709pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_25 = 28;
4710pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_25 = 32;
4711pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_25 = 33;
4712pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_25 = 34;
4713pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_25 = 35;
4714pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_25 = 36;
4715pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_25 = 37;
4716pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_25 = 38;
4717pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_25 = 39;
4718pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_25 = 40;
4719pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_25 = 41;
4720pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_25 = 42;
4721pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_25 = 43;
4722pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_25 = 44;
4723pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_25 = 45;
4724pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_25 = 46;
4725pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_25 = 47;
4726pub const AMOTION_EVENT_AXIS_GESTURE_X_OFFSET: _bindgen_ty_25 = 48;
4727pub const AMOTION_EVENT_AXIS_GESTURE_Y_OFFSET: _bindgen_ty_25 = 49;
4728pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_X_DISTANCE: _bindgen_ty_25 = 50;
4729pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_Y_DISTANCE: _bindgen_ty_25 = 51;
4730pub const AMOTION_EVENT_AXIS_GESTURE_PINCH_SCALE_FACTOR: _bindgen_ty_25 = 52;
4731pub const AMOTION_EVENT_AXIS_GESTURE_SWIPE_FINGER_COUNT: _bindgen_ty_25 = 53;
4732pub const AMOTION_EVENT_MAXIMUM_VALID_AXIS_VALUE: _bindgen_ty_25 = 53;
4733pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
4734pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_26 = 1;
4735pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_26 = 2;
4736pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_26 = 4;
4737pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_26 = 8;
4738pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_26 = 16;
4739pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_26 = 32;
4740pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_26 = 64;
4741pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
4742pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_27 = 0;
4743pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_27 = 1;
4744pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_27 = 2;
4745pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_27 = 3;
4746pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_27 = 4;
4747pub const AMOTION_EVENT_TOOL_TYPE_PALM: _bindgen_ty_27 = 5;
4748pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
4749impl AMotionClassification {
4750    pub const AMOTION_EVENT_CLASSIFICATION_NONE: AMotionClassification = AMotionClassification(0);
4751}
4752impl AMotionClassification {
4753    pub const AMOTION_EVENT_CLASSIFICATION_AMBIGUOUS_GESTURE: AMotionClassification =
4754        AMotionClassification(1);
4755}
4756impl AMotionClassification {
4757    pub const AMOTION_EVENT_CLASSIFICATION_DEEP_PRESS: AMotionClassification =
4758        AMotionClassification(2);
4759}
4760impl AMotionClassification {
4761    pub const AMOTION_EVENT_CLASSIFICATION_TWO_FINGER_SWIPE: AMotionClassification =
4762        AMotionClassification(3);
4763}
4764impl AMotionClassification {
4765    pub const AMOTION_EVENT_CLASSIFICATION_MULTI_FINGER_SWIPE: AMotionClassification =
4766        AMotionClassification(4);
4767}
4768impl AMotionClassification {
4769    pub const AMOTION_EVENT_CLASSIFICATION_PINCH: AMotionClassification = AMotionClassification(5);
4770}
4771#[repr(transparent)]
4772#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4773pub struct AMotionClassification(pub u32);
4774pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_28 = 255;
4775pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_28 = 0;
4776pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_28 = 1;
4777pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_28 = 2;
4778pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_28 = 4;
4779pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_28 = 8;
4780pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_28 = 16;
4781pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
4782pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_29 = 0;
4783pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_29 = 257;
4784pub const AINPUT_SOURCE_DPAD: _bindgen_ty_29 = 513;
4785pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_29 = 1025;
4786pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_29 = 4098;
4787pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_29 = 8194;
4788pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_29 = 16386;
4789pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_29 = 49154;
4790pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_29 = 65540;
4791pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_29 = 131076;
4792pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_29 = 1048584;
4793pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_29 = 2097152;
4794pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_29 = 16777232;
4795pub const AINPUT_SOURCE_HDMI: _bindgen_ty_29 = 33554433;
4796pub const AINPUT_SOURCE_SENSOR: _bindgen_ty_29 = 67108864;
4797pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_29 = 4194304;
4798pub const AINPUT_SOURCE_ANY: _bindgen_ty_29 = 4294967040;
4799pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
4800pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_30 = 0;
4801pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_30 = 1;
4802pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_30 = 2;
4803pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
4804pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_31 = 0;
4805pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_31 = 1;
4806pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_31 = 2;
4807pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_31 = 3;
4808pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_31 = 4;
4809pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_31 = 5;
4810pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_31 = 6;
4811pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_31 = 7;
4812pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_31 = 8;
4813pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
4814extern "C" {
4815    pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
4816}
4817extern "C" {
4818    pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
4819}
4820extern "C" {
4821    pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
4822}
4823extern "C" {
4824    pub fn AInputEvent_release(event: *const AInputEvent);
4825}
4826extern "C" {
4827    pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
4828}
4829extern "C" {
4830    pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
4831}
4832extern "C" {
4833    pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
4834}
4835extern "C" {
4836    pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
4837}
4838extern "C" {
4839    pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
4840}
4841extern "C" {
4842    pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
4843}
4844extern "C" {
4845    pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
4846}
4847extern "C" {
4848    pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
4849}
4850extern "C" {
4851    pub fn AKeyEvent_fromJava(env: *mut JNIEnv, keyEvent: jobject) -> *const AInputEvent;
4852}
4853extern "C" {
4854    pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
4855}
4856extern "C" {
4857    pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
4858}
4859extern "C" {
4860    pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
4861}
4862extern "C" {
4863    pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
4864}
4865extern "C" {
4866    pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
4867}
4868extern "C" {
4869    pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
4870}
4871extern "C" {
4872    pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
4873}
4874extern "C" {
4875    pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
4876}
4877extern "C" {
4878    pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
4879}
4880extern "C" {
4881    pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
4882}
4883extern "C" {
4884    pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
4885}
4886extern "C" {
4887    pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize;
4888}
4889extern "C" {
4890    pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize)
4891        -> i32;
4892}
4893extern "C" {
4894    pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32;
4895}
4896extern "C" {
4897    pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4898}
4899extern "C" {
4900    pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4901}
4902extern "C" {
4903    pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4904}
4905extern "C" {
4906    pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4907}
4908extern "C" {
4909    pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4910}
4911extern "C" {
4912    pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4913}
4914extern "C" {
4915    pub fn AMotionEvent_getTouchMajor(
4916        motion_event: *const AInputEvent,
4917        pointer_index: usize,
4918    ) -> f32;
4919}
4920extern "C" {
4921    pub fn AMotionEvent_getTouchMinor(
4922        motion_event: *const AInputEvent,
4923        pointer_index: usize,
4924    ) -> f32;
4925}
4926extern "C" {
4927    pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize)
4928        -> f32;
4929}
4930extern "C" {
4931    pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize)
4932        -> f32;
4933}
4934extern "C" {
4935    pub fn AMotionEvent_getOrientation(
4936        motion_event: *const AInputEvent,
4937        pointer_index: usize,
4938    ) -> f32;
4939}
4940extern "C" {
4941    pub fn AMotionEvent_getAxisValue(
4942        motion_event: *const AInputEvent,
4943        axis: i32,
4944        pointer_index: usize,
4945    ) -> f32;
4946}
4947extern "C" {
4948    pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize;
4949}
4950extern "C" {
4951    pub fn AMotionEvent_getHistoricalEventTime(
4952        motion_event: *const AInputEvent,
4953        history_index: usize,
4954    ) -> i64;
4955}
4956extern "C" {
4957    pub fn AMotionEvent_getHistoricalRawX(
4958        motion_event: *const AInputEvent,
4959        pointer_index: usize,
4960        history_index: usize,
4961    ) -> f32;
4962}
4963extern "C" {
4964    pub fn AMotionEvent_getHistoricalRawY(
4965        motion_event: *const AInputEvent,
4966        pointer_index: usize,
4967        history_index: usize,
4968    ) -> f32;
4969}
4970extern "C" {
4971    pub fn AMotionEvent_getHistoricalX(
4972        motion_event: *const AInputEvent,
4973        pointer_index: usize,
4974        history_index: usize,
4975    ) -> f32;
4976}
4977extern "C" {
4978    pub fn AMotionEvent_getHistoricalY(
4979        motion_event: *const AInputEvent,
4980        pointer_index: usize,
4981        history_index: usize,
4982    ) -> f32;
4983}
4984extern "C" {
4985    pub fn AMotionEvent_getHistoricalPressure(
4986        motion_event: *const AInputEvent,
4987        pointer_index: usize,
4988        history_index: usize,
4989    ) -> f32;
4990}
4991extern "C" {
4992    pub fn AMotionEvent_getHistoricalSize(
4993        motion_event: *const AInputEvent,
4994        pointer_index: usize,
4995        history_index: usize,
4996    ) -> f32;
4997}
4998extern "C" {
4999    pub fn AMotionEvent_getHistoricalTouchMajor(
5000        motion_event: *const AInputEvent,
5001        pointer_index: usize,
5002        history_index: usize,
5003    ) -> f32;
5004}
5005extern "C" {
5006    pub fn AMotionEvent_getHistoricalTouchMinor(
5007        motion_event: *const AInputEvent,
5008        pointer_index: usize,
5009        history_index: usize,
5010    ) -> f32;
5011}
5012extern "C" {
5013    pub fn AMotionEvent_getHistoricalToolMajor(
5014        motion_event: *const AInputEvent,
5015        pointer_index: usize,
5016        history_index: usize,
5017    ) -> f32;
5018}
5019extern "C" {
5020    pub fn AMotionEvent_getHistoricalToolMinor(
5021        motion_event: *const AInputEvent,
5022        pointer_index: usize,
5023        history_index: usize,
5024    ) -> f32;
5025}
5026extern "C" {
5027    pub fn AMotionEvent_getHistoricalOrientation(
5028        motion_event: *const AInputEvent,
5029        pointer_index: usize,
5030        history_index: usize,
5031    ) -> f32;
5032}
5033extern "C" {
5034    pub fn AMotionEvent_getHistoricalAxisValue(
5035        motion_event: *const AInputEvent,
5036        axis: i32,
5037        pointer_index: usize,
5038        history_index: usize,
5039    ) -> f32;
5040}
5041extern "C" {
5042    pub fn AMotionEvent_getActionButton(motion_event: *const AInputEvent) -> i32;
5043}
5044extern "C" {
5045    pub fn AMotionEvent_getClassification(motion_event: *const AInputEvent) -> i32;
5046}
5047extern "C" {
5048    pub fn AMotionEvent_fromJava(env: *mut JNIEnv, motionEvent: jobject) -> *const AInputEvent;
5049}
5050#[repr(C)]
5051#[derive(Debug, Copy, Clone)]
5052pub struct AInputQueue {
5053    _unused: [u8; 0],
5054}
5055extern "C" {
5056    pub fn AInputQueue_attachLooper(
5057        queue: *mut AInputQueue,
5058        looper: *mut ALooper,
5059        ident: ::std::os::raw::c_int,
5060        callback: ALooper_callbackFunc,
5061        data: *mut ::std::os::raw::c_void,
5062    );
5063}
5064extern "C" {
5065    pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
5066}
5067extern "C" {
5068    pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
5069}
5070extern "C" {
5071    pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
5072}
5073extern "C" {
5074    pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
5075}
5076extern "C" {
5077    pub fn AInputQueue_finishEvent(
5078        queue: *mut AInputQueue,
5079        event: *mut AInputEvent,
5080        handled: ::std::os::raw::c_int,
5081    );
5082}
5083extern "C" {
5084    pub fn AInputQueue_fromJava(env: *mut JNIEnv, inputQueue: jobject) -> *mut AInputQueue;
5085}
5086impl android_LogPriority {
5087    pub const ANDROID_LOG_UNKNOWN: android_LogPriority = android_LogPriority(0);
5088}
5089impl android_LogPriority {
5090    pub const ANDROID_LOG_DEFAULT: android_LogPriority = android_LogPriority(1);
5091}
5092impl android_LogPriority {
5093    pub const ANDROID_LOG_VERBOSE: android_LogPriority = android_LogPriority(2);
5094}
5095impl android_LogPriority {
5096    pub const ANDROID_LOG_DEBUG: android_LogPriority = android_LogPriority(3);
5097}
5098impl android_LogPriority {
5099    pub const ANDROID_LOG_INFO: android_LogPriority = android_LogPriority(4);
5100}
5101impl android_LogPriority {
5102    pub const ANDROID_LOG_WARN: android_LogPriority = android_LogPriority(5);
5103}
5104impl android_LogPriority {
5105    pub const ANDROID_LOG_ERROR: android_LogPriority = android_LogPriority(6);
5106}
5107impl android_LogPriority {
5108    pub const ANDROID_LOG_FATAL: android_LogPriority = android_LogPriority(7);
5109}
5110impl android_LogPriority {
5111    pub const ANDROID_LOG_SILENT: android_LogPriority = android_LogPriority(8);
5112}
5113#[repr(transparent)]
5114#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5115pub struct android_LogPriority(pub ::std::os::raw::c_uint);
5116extern "C" {
5117    pub fn __android_log_write(
5118        prio: ::std::os::raw::c_int,
5119        tag: *const ::std::os::raw::c_char,
5120        text: *const ::std::os::raw::c_char,
5121    ) -> ::std::os::raw::c_int;
5122}
5123extern "C" {
5124    pub fn __android_log_print(
5125        prio: ::std::os::raw::c_int,
5126        tag: *const ::std::os::raw::c_char,
5127        fmt: *const ::std::os::raw::c_char,
5128        ...
5129    ) -> ::std::os::raw::c_int;
5130}
5131extern "C" {
5132    pub fn __android_log_vprint(
5133        prio: ::std::os::raw::c_int,
5134        tag: *const ::std::os::raw::c_char,
5135        fmt: *const ::std::os::raw::c_char,
5136        ap: va_list,
5137    ) -> ::std::os::raw::c_int;
5138}
5139extern "C" {
5140    pub fn __android_log_assert(
5141        cond: *const ::std::os::raw::c_char,
5142        tag: *const ::std::os::raw::c_char,
5143        fmt: *const ::std::os::raw::c_char,
5144        ...
5145    ) -> !;
5146}
5147impl log_id {
5148    pub const LOG_ID_MIN: log_id = log_id(0);
5149}
5150impl log_id {
5151    pub const LOG_ID_MAIN: log_id = log_id(0);
5152}
5153impl log_id {
5154    pub const LOG_ID_RADIO: log_id = log_id(1);
5155}
5156impl log_id {
5157    pub const LOG_ID_EVENTS: log_id = log_id(2);
5158}
5159impl log_id {
5160    pub const LOG_ID_SYSTEM: log_id = log_id(3);
5161}
5162impl log_id {
5163    pub const LOG_ID_CRASH: log_id = log_id(4);
5164}
5165impl log_id {
5166    pub const LOG_ID_STATS: log_id = log_id(5);
5167}
5168impl log_id {
5169    pub const LOG_ID_SECURITY: log_id = log_id(6);
5170}
5171impl log_id {
5172    pub const LOG_ID_KERNEL: log_id = log_id(7);
5173}
5174impl log_id {
5175    pub const LOG_ID_MAX: log_id = log_id(8);
5176}
5177impl log_id {
5178    pub const LOG_ID_DEFAULT: log_id = log_id(2147483647);
5179}
5180#[repr(transparent)]
5181#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5182pub struct log_id(pub ::std::os::raw::c_uint);
5183pub use self::log_id as log_id_t;
5184extern "C" {
5185    pub fn __android_log_buf_write(
5186        bufID: ::std::os::raw::c_int,
5187        prio: ::std::os::raw::c_int,
5188        tag: *const ::std::os::raw::c_char,
5189        text: *const ::std::os::raw::c_char,
5190    ) -> ::std::os::raw::c_int;
5191}
5192extern "C" {
5193    pub fn __android_log_buf_print(
5194        bufID: ::std::os::raw::c_int,
5195        prio: ::std::os::raw::c_int,
5196        tag: *const ::std::os::raw::c_char,
5197        fmt: *const ::std::os::raw::c_char,
5198        ...
5199    ) -> ::std::os::raw::c_int;
5200}
5201#[repr(C)]
5202#[derive(Debug, Copy, Clone)]
5203pub struct __android_log_message {
5204    pub struct_size: usize,
5205    pub buffer_id: i32,
5206    pub priority: i32,
5207    pub tag: *const ::std::os::raw::c_char,
5208    pub file: *const ::std::os::raw::c_char,
5209    pub line: u32,
5210    pub message: *const ::std::os::raw::c_char,
5211}
5212#[test]
5213fn bindgen_test_layout___android_log_message() {
5214    const UNINIT: ::std::mem::MaybeUninit<__android_log_message> =
5215        ::std::mem::MaybeUninit::uninit();
5216    let ptr = UNINIT.as_ptr();
5217    assert_eq!(
5218        ::std::mem::size_of::<__android_log_message>(),
5219        48usize,
5220        concat!("Size of: ", stringify!(__android_log_message))
5221    );
5222    assert_eq!(
5223        ::std::mem::align_of::<__android_log_message>(),
5224        8usize,
5225        concat!("Alignment of ", stringify!(__android_log_message))
5226    );
5227    assert_eq!(
5228        unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize },
5229        0usize,
5230        concat!(
5231            "Offset of field: ",
5232            stringify!(__android_log_message),
5233            "::",
5234            stringify!(struct_size)
5235        )
5236    );
5237    assert_eq!(
5238        unsafe { ::std::ptr::addr_of!((*ptr).buffer_id) as usize - ptr as usize },
5239        8usize,
5240        concat!(
5241            "Offset of field: ",
5242            stringify!(__android_log_message),
5243            "::",
5244            stringify!(buffer_id)
5245        )
5246    );
5247    assert_eq!(
5248        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
5249        12usize,
5250        concat!(
5251            "Offset of field: ",
5252            stringify!(__android_log_message),
5253            "::",
5254            stringify!(priority)
5255        )
5256    );
5257    assert_eq!(
5258        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
5259        16usize,
5260        concat!(
5261            "Offset of field: ",
5262            stringify!(__android_log_message),
5263            "::",
5264            stringify!(tag)
5265        )
5266    );
5267    assert_eq!(
5268        unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
5269        24usize,
5270        concat!(
5271            "Offset of field: ",
5272            stringify!(__android_log_message),
5273            "::",
5274            stringify!(file)
5275        )
5276    );
5277    assert_eq!(
5278        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
5279        32usize,
5280        concat!(
5281            "Offset of field: ",
5282            stringify!(__android_log_message),
5283            "::",
5284            stringify!(line)
5285        )
5286    );
5287    assert_eq!(
5288        unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
5289        40usize,
5290        concat!(
5291            "Offset of field: ",
5292            stringify!(__android_log_message),
5293            "::",
5294            stringify!(message)
5295        )
5296    );
5297}
5298pub type __android_logger_function =
5299    ::std::option::Option<unsafe extern "C" fn(log_message: *const __android_log_message)>;
5300pub type __android_aborter_function =
5301    ::std::option::Option<unsafe extern "C" fn(abort_message: *const ::std::os::raw::c_char)>;
5302extern "C" {
5303    pub fn __android_log_write_log_message(log_message: *mut __android_log_message);
5304}
5305extern "C" {
5306    pub fn __android_log_set_logger(logger: __android_logger_function);
5307}
5308extern "C" {
5309    pub fn __android_log_logd_logger(log_message: *const __android_log_message);
5310}
5311extern "C" {
5312    pub fn __android_log_stderr_logger(log_message: *const __android_log_message);
5313}
5314extern "C" {
5315    pub fn __android_log_set_aborter(aborter: __android_aborter_function);
5316}
5317extern "C" {
5318    pub fn __android_log_call_aborter(abort_message: *const ::std::os::raw::c_char);
5319}
5320extern "C" {
5321    pub fn __android_log_default_aborter(abort_message: *const ::std::os::raw::c_char) -> !;
5322}
5323extern "C" {
5324    pub fn __android_log_is_loggable(
5325        prio: ::std::os::raw::c_int,
5326        tag: *const ::std::os::raw::c_char,
5327        default_prio: ::std::os::raw::c_int,
5328    ) -> ::std::os::raw::c_int;
5329}
5330extern "C" {
5331    pub fn __android_log_is_loggable_len(
5332        prio: ::std::os::raw::c_int,
5333        tag: *const ::std::os::raw::c_char,
5334        len: usize,
5335        default_prio: ::std::os::raw::c_int,
5336    ) -> ::std::os::raw::c_int;
5337}
5338extern "C" {
5339    pub fn __android_log_set_minimum_priority(priority: i32) -> i32;
5340}
5341extern "C" {
5342    pub fn __android_log_get_minimum_priority() -> i32;
5343}
5344extern "C" {
5345    pub fn __android_log_set_default_tag(tag: *const ::std::os::raw::c_char);
5346}
5347#[repr(C)]
5348#[derive(Debug, Copy, Clone)]
5349pub struct flock {
5350    pub l_type: ::std::os::raw::c_short,
5351    pub l_whence: ::std::os::raw::c_short,
5352    pub l_start: off64_t,
5353    pub l_len: off64_t,
5354    pub l_pid: pid_t,
5355}
5356#[test]
5357fn bindgen_test_layout_flock() {
5358    const UNINIT: ::std::mem::MaybeUninit<flock> = ::std::mem::MaybeUninit::uninit();
5359    let ptr = UNINIT.as_ptr();
5360    assert_eq!(
5361        ::std::mem::size_of::<flock>(),
5362        32usize,
5363        concat!("Size of: ", stringify!(flock))
5364    );
5365    assert_eq!(
5366        ::std::mem::align_of::<flock>(),
5367        8usize,
5368        concat!("Alignment of ", stringify!(flock))
5369    );
5370    assert_eq!(
5371        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5372        0usize,
5373        concat!(
5374            "Offset of field: ",
5375            stringify!(flock),
5376            "::",
5377            stringify!(l_type)
5378        )
5379    );
5380    assert_eq!(
5381        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5382        2usize,
5383        concat!(
5384            "Offset of field: ",
5385            stringify!(flock),
5386            "::",
5387            stringify!(l_whence)
5388        )
5389    );
5390    assert_eq!(
5391        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5392        8usize,
5393        concat!(
5394            "Offset of field: ",
5395            stringify!(flock),
5396            "::",
5397            stringify!(l_start)
5398        )
5399    );
5400    assert_eq!(
5401        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5402        16usize,
5403        concat!(
5404            "Offset of field: ",
5405            stringify!(flock),
5406            "::",
5407            stringify!(l_len)
5408        )
5409    );
5410    assert_eq!(
5411        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5412        24usize,
5413        concat!(
5414            "Offset of field: ",
5415            stringify!(flock),
5416            "::",
5417            stringify!(l_pid)
5418        )
5419    );
5420}
5421#[repr(C)]
5422#[derive(Debug, Copy, Clone)]
5423pub struct flock64 {
5424    pub l_type: ::std::os::raw::c_short,
5425    pub l_whence: ::std::os::raw::c_short,
5426    pub l_start: off64_t,
5427    pub l_len: off64_t,
5428    pub l_pid: pid_t,
5429}
5430#[test]
5431fn bindgen_test_layout_flock64() {
5432    const UNINIT: ::std::mem::MaybeUninit<flock64> = ::std::mem::MaybeUninit::uninit();
5433    let ptr = UNINIT.as_ptr();
5434    assert_eq!(
5435        ::std::mem::size_of::<flock64>(),
5436        32usize,
5437        concat!("Size of: ", stringify!(flock64))
5438    );
5439    assert_eq!(
5440        ::std::mem::align_of::<flock64>(),
5441        8usize,
5442        concat!("Alignment of ", stringify!(flock64))
5443    );
5444    assert_eq!(
5445        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5446        0usize,
5447        concat!(
5448            "Offset of field: ",
5449            stringify!(flock64),
5450            "::",
5451            stringify!(l_type)
5452        )
5453    );
5454    assert_eq!(
5455        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5456        2usize,
5457        concat!(
5458            "Offset of field: ",
5459            stringify!(flock64),
5460            "::",
5461            stringify!(l_whence)
5462        )
5463    );
5464    assert_eq!(
5465        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5466        8usize,
5467        concat!(
5468            "Offset of field: ",
5469            stringify!(flock64),
5470            "::",
5471            stringify!(l_start)
5472        )
5473    );
5474    assert_eq!(
5475        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5476        16usize,
5477        concat!(
5478            "Offset of field: ",
5479            stringify!(flock64),
5480            "::",
5481            stringify!(l_len)
5482        )
5483    );
5484    assert_eq!(
5485        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5486        24usize,
5487        concat!(
5488            "Offset of field: ",
5489            stringify!(flock64),
5490            "::",
5491            stringify!(l_pid)
5492        )
5493    );
5494}
5495#[repr(C)]
5496#[derive(Debug, Copy, Clone)]
5497pub struct f_owner_ex {
5498    pub type_: ::std::os::raw::c_int,
5499    pub pid: __kernel_pid_t,
5500}
5501#[test]
5502fn bindgen_test_layout_f_owner_ex() {
5503    const UNINIT: ::std::mem::MaybeUninit<f_owner_ex> = ::std::mem::MaybeUninit::uninit();
5504    let ptr = UNINIT.as_ptr();
5505    assert_eq!(
5506        ::std::mem::size_of::<f_owner_ex>(),
5507        8usize,
5508        concat!("Size of: ", stringify!(f_owner_ex))
5509    );
5510    assert_eq!(
5511        ::std::mem::align_of::<f_owner_ex>(),
5512        4usize,
5513        concat!("Alignment of ", stringify!(f_owner_ex))
5514    );
5515    assert_eq!(
5516        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5517        0usize,
5518        concat!(
5519            "Offset of field: ",
5520            stringify!(f_owner_ex),
5521            "::",
5522            stringify!(type_)
5523        )
5524    );
5525    assert_eq!(
5526        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5527        4usize,
5528        concat!(
5529            "Offset of field: ",
5530            stringify!(f_owner_ex),
5531            "::",
5532            stringify!(pid)
5533        )
5534    );
5535}
5536#[repr(C)]
5537#[derive(Debug, Copy, Clone)]
5538pub struct iovec {
5539    pub iov_base: *mut ::std::os::raw::c_void,
5540    pub iov_len: __kernel_size_t,
5541}
5542#[test]
5543fn bindgen_test_layout_iovec() {
5544    const UNINIT: ::std::mem::MaybeUninit<iovec> = ::std::mem::MaybeUninit::uninit();
5545    let ptr = UNINIT.as_ptr();
5546    assert_eq!(
5547        ::std::mem::size_of::<iovec>(),
5548        16usize,
5549        concat!("Size of: ", stringify!(iovec))
5550    );
5551    assert_eq!(
5552        ::std::mem::align_of::<iovec>(),
5553        8usize,
5554        concat!("Alignment of ", stringify!(iovec))
5555    );
5556    assert_eq!(
5557        unsafe { ::std::ptr::addr_of!((*ptr).iov_base) as usize - ptr as usize },
5558        0usize,
5559        concat!(
5560            "Offset of field: ",
5561            stringify!(iovec),
5562            "::",
5563            stringify!(iov_base)
5564        )
5565    );
5566    assert_eq!(
5567        unsafe { ::std::ptr::addr_of!((*ptr).iov_len) as usize - ptr as usize },
5568        8usize,
5569        concat!(
5570            "Offset of field: ",
5571            stringify!(iovec),
5572            "::",
5573            stringify!(iov_len)
5574        )
5575    );
5576}
5577pub type sa_family_t = ::std::os::raw::c_ushort;
5578#[repr(C)]
5579#[derive(Copy, Clone)]
5580pub struct sockaddr_storage {
5581    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1,
5582}
5583#[repr(C)]
5584#[derive(Copy, Clone)]
5585pub union sockaddr_storage__bindgen_ty_1 {
5586    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
5587    pub __align: *mut ::std::os::raw::c_void,
5588}
5589#[repr(C)]
5590#[derive(Debug, Copy, Clone)]
5591pub struct sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
5592    pub ss_family: sa_family_t,
5593    pub __data: [::std::os::raw::c_char; 126usize],
5594}
5595#[test]
5596fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
5597    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1__bindgen_ty_1> =
5598        ::std::mem::MaybeUninit::uninit();
5599    let ptr = UNINIT.as_ptr();
5600    assert_eq!(
5601        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5602        128usize,
5603        concat!(
5604            "Size of: ",
5605            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5606        )
5607    );
5608    assert_eq!(
5609        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5610        2usize,
5611        concat!(
5612            "Alignment of ",
5613            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5614        )
5615    );
5616    assert_eq!(
5617        unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize },
5618        0usize,
5619        concat!(
5620            "Offset of field: ",
5621            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5622            "::",
5623            stringify!(ss_family)
5624        )
5625    );
5626    assert_eq!(
5627        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
5628        2usize,
5629        concat!(
5630            "Offset of field: ",
5631            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5632            "::",
5633            stringify!(__data)
5634        )
5635    );
5636}
5637#[test]
5638fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1() {
5639    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1> =
5640        ::std::mem::MaybeUninit::uninit();
5641    let ptr = UNINIT.as_ptr();
5642    assert_eq!(
5643        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1>(),
5644        128usize,
5645        concat!("Size of: ", stringify!(sockaddr_storage__bindgen_ty_1))
5646    );
5647    assert_eq!(
5648        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1>(),
5649        8usize,
5650        concat!("Alignment of ", stringify!(sockaddr_storage__bindgen_ty_1))
5651    );
5652    assert_eq!(
5653        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5654        0usize,
5655        concat!(
5656            "Offset of field: ",
5657            stringify!(sockaddr_storage__bindgen_ty_1),
5658            "::",
5659            stringify!(__align)
5660        )
5661    );
5662}
5663#[test]
5664fn bindgen_test_layout_sockaddr_storage() {
5665    assert_eq!(
5666        ::std::mem::size_of::<sockaddr_storage>(),
5667        128usize,
5668        concat!("Size of: ", stringify!(sockaddr_storage))
5669    );
5670    assert_eq!(
5671        ::std::mem::align_of::<sockaddr_storage>(),
5672        8usize,
5673        concat!("Alignment of ", stringify!(sockaddr_storage))
5674    );
5675}
5676pub const SHUT_RD: _bindgen_ty_32 = 0;
5677pub const SHUT_WR: _bindgen_ty_32 = 1;
5678pub const SHUT_RDWR: _bindgen_ty_32 = 2;
5679pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
5680#[repr(C)]
5681#[derive(Debug, Copy, Clone)]
5682pub struct sockaddr {
5683    pub sa_family: sa_family_t,
5684    pub sa_data: [::std::os::raw::c_char; 14usize],
5685}
5686#[test]
5687fn bindgen_test_layout_sockaddr() {
5688    const UNINIT: ::std::mem::MaybeUninit<sockaddr> = ::std::mem::MaybeUninit::uninit();
5689    let ptr = UNINIT.as_ptr();
5690    assert_eq!(
5691        ::std::mem::size_of::<sockaddr>(),
5692        16usize,
5693        concat!("Size of: ", stringify!(sockaddr))
5694    );
5695    assert_eq!(
5696        ::std::mem::align_of::<sockaddr>(),
5697        2usize,
5698        concat!("Alignment of ", stringify!(sockaddr))
5699    );
5700    assert_eq!(
5701        unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
5702        0usize,
5703        concat!(
5704            "Offset of field: ",
5705            stringify!(sockaddr),
5706            "::",
5707            stringify!(sa_family)
5708        )
5709    );
5710    assert_eq!(
5711        unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
5712        2usize,
5713        concat!(
5714            "Offset of field: ",
5715            stringify!(sockaddr),
5716            "::",
5717            stringify!(sa_data)
5718        )
5719    );
5720}
5721#[repr(C)]
5722#[derive(Debug, Copy, Clone)]
5723pub struct linger {
5724    pub l_onoff: ::std::os::raw::c_int,
5725    pub l_linger: ::std::os::raw::c_int,
5726}
5727#[test]
5728fn bindgen_test_layout_linger() {
5729    const UNINIT: ::std::mem::MaybeUninit<linger> = ::std::mem::MaybeUninit::uninit();
5730    let ptr = UNINIT.as_ptr();
5731    assert_eq!(
5732        ::std::mem::size_of::<linger>(),
5733        8usize,
5734        concat!("Size of: ", stringify!(linger))
5735    );
5736    assert_eq!(
5737        ::std::mem::align_of::<linger>(),
5738        4usize,
5739        concat!("Alignment of ", stringify!(linger))
5740    );
5741    assert_eq!(
5742        unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize },
5743        0usize,
5744        concat!(
5745            "Offset of field: ",
5746            stringify!(linger),
5747            "::",
5748            stringify!(l_onoff)
5749        )
5750    );
5751    assert_eq!(
5752        unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize },
5753        4usize,
5754        concat!(
5755            "Offset of field: ",
5756            stringify!(linger),
5757            "::",
5758            stringify!(l_linger)
5759        )
5760    );
5761}
5762#[repr(C)]
5763#[derive(Debug, Copy, Clone)]
5764pub struct msghdr {
5765    pub msg_name: *mut ::std::os::raw::c_void,
5766    pub msg_namelen: socklen_t,
5767    pub msg_iov: *mut iovec,
5768    pub msg_iovlen: usize,
5769    pub msg_control: *mut ::std::os::raw::c_void,
5770    pub msg_controllen: usize,
5771    pub msg_flags: ::std::os::raw::c_int,
5772}
5773#[test]
5774fn bindgen_test_layout_msghdr() {
5775    const UNINIT: ::std::mem::MaybeUninit<msghdr> = ::std::mem::MaybeUninit::uninit();
5776    let ptr = UNINIT.as_ptr();
5777    assert_eq!(
5778        ::std::mem::size_of::<msghdr>(),
5779        56usize,
5780        concat!("Size of: ", stringify!(msghdr))
5781    );
5782    assert_eq!(
5783        ::std::mem::align_of::<msghdr>(),
5784        8usize,
5785        concat!("Alignment of ", stringify!(msghdr))
5786    );
5787    assert_eq!(
5788        unsafe { ::std::ptr::addr_of!((*ptr).msg_name) as usize - ptr as usize },
5789        0usize,
5790        concat!(
5791            "Offset of field: ",
5792            stringify!(msghdr),
5793            "::",
5794            stringify!(msg_name)
5795        )
5796    );
5797    assert_eq!(
5798        unsafe { ::std::ptr::addr_of!((*ptr).msg_namelen) as usize - ptr as usize },
5799        8usize,
5800        concat!(
5801            "Offset of field: ",
5802            stringify!(msghdr),
5803            "::",
5804            stringify!(msg_namelen)
5805        )
5806    );
5807    assert_eq!(
5808        unsafe { ::std::ptr::addr_of!((*ptr).msg_iov) as usize - ptr as usize },
5809        16usize,
5810        concat!(
5811            "Offset of field: ",
5812            stringify!(msghdr),
5813            "::",
5814            stringify!(msg_iov)
5815        )
5816    );
5817    assert_eq!(
5818        unsafe { ::std::ptr::addr_of!((*ptr).msg_iovlen) as usize - ptr as usize },
5819        24usize,
5820        concat!(
5821            "Offset of field: ",
5822            stringify!(msghdr),
5823            "::",
5824            stringify!(msg_iovlen)
5825        )
5826    );
5827    assert_eq!(
5828        unsafe { ::std::ptr::addr_of!((*ptr).msg_control) as usize - ptr as usize },
5829        32usize,
5830        concat!(
5831            "Offset of field: ",
5832            stringify!(msghdr),
5833            "::",
5834            stringify!(msg_control)
5835        )
5836    );
5837    assert_eq!(
5838        unsafe { ::std::ptr::addr_of!((*ptr).msg_controllen) as usize - ptr as usize },
5839        40usize,
5840        concat!(
5841            "Offset of field: ",
5842            stringify!(msghdr),
5843            "::",
5844            stringify!(msg_controllen)
5845        )
5846    );
5847    assert_eq!(
5848        unsafe { ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
5849        48usize,
5850        concat!(
5851            "Offset of field: ",
5852            stringify!(msghdr),
5853            "::",
5854            stringify!(msg_flags)
5855        )
5856    );
5857}
5858#[repr(C)]
5859#[derive(Debug, Copy, Clone)]
5860pub struct mmsghdr {
5861    pub msg_hdr: msghdr,
5862    pub msg_len: ::std::os::raw::c_uint,
5863}
5864#[test]
5865fn bindgen_test_layout_mmsghdr() {
5866    const UNINIT: ::std::mem::MaybeUninit<mmsghdr> = ::std::mem::MaybeUninit::uninit();
5867    let ptr = UNINIT.as_ptr();
5868    assert_eq!(
5869        ::std::mem::size_of::<mmsghdr>(),
5870        64usize,
5871        concat!("Size of: ", stringify!(mmsghdr))
5872    );
5873    assert_eq!(
5874        ::std::mem::align_of::<mmsghdr>(),
5875        8usize,
5876        concat!("Alignment of ", stringify!(mmsghdr))
5877    );
5878    assert_eq!(
5879        unsafe { ::std::ptr::addr_of!((*ptr).msg_hdr) as usize - ptr as usize },
5880        0usize,
5881        concat!(
5882            "Offset of field: ",
5883            stringify!(mmsghdr),
5884            "::",
5885            stringify!(msg_hdr)
5886        )
5887    );
5888    assert_eq!(
5889        unsafe { ::std::ptr::addr_of!((*ptr).msg_len) as usize - ptr as usize },
5890        56usize,
5891        concat!(
5892            "Offset of field: ",
5893            stringify!(mmsghdr),
5894            "::",
5895            stringify!(msg_len)
5896        )
5897    );
5898}
5899#[repr(C)]
5900#[derive(Debug, Copy, Clone)]
5901pub struct cmsghdr {
5902    pub cmsg_len: usize,
5903    pub cmsg_level: ::std::os::raw::c_int,
5904    pub cmsg_type: ::std::os::raw::c_int,
5905}
5906#[test]
5907fn bindgen_test_layout_cmsghdr() {
5908    const UNINIT: ::std::mem::MaybeUninit<cmsghdr> = ::std::mem::MaybeUninit::uninit();
5909    let ptr = UNINIT.as_ptr();
5910    assert_eq!(
5911        ::std::mem::size_of::<cmsghdr>(),
5912        16usize,
5913        concat!("Size of: ", stringify!(cmsghdr))
5914    );
5915    assert_eq!(
5916        ::std::mem::align_of::<cmsghdr>(),
5917        8usize,
5918        concat!("Alignment of ", stringify!(cmsghdr))
5919    );
5920    assert_eq!(
5921        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize },
5922        0usize,
5923        concat!(
5924            "Offset of field: ",
5925            stringify!(cmsghdr),
5926            "::",
5927            stringify!(cmsg_len)
5928        )
5929    );
5930    assert_eq!(
5931        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize },
5932        8usize,
5933        concat!(
5934            "Offset of field: ",
5935            stringify!(cmsghdr),
5936            "::",
5937            stringify!(cmsg_level)
5938        )
5939    );
5940    assert_eq!(
5941        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize },
5942        12usize,
5943        concat!(
5944            "Offset of field: ",
5945            stringify!(cmsghdr),
5946            "::",
5947            stringify!(cmsg_type)
5948        )
5949    );
5950}
5951extern "C" {
5952    pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
5953}
5954#[repr(C)]
5955#[derive(Debug, Copy, Clone)]
5956pub struct ucred {
5957    pub pid: pid_t,
5958    pub uid: uid_t,
5959    pub gid: gid_t,
5960}
5961#[test]
5962fn bindgen_test_layout_ucred() {
5963    const UNINIT: ::std::mem::MaybeUninit<ucred> = ::std::mem::MaybeUninit::uninit();
5964    let ptr = UNINIT.as_ptr();
5965    assert_eq!(
5966        ::std::mem::size_of::<ucred>(),
5967        12usize,
5968        concat!("Size of: ", stringify!(ucred))
5969    );
5970    assert_eq!(
5971        ::std::mem::align_of::<ucred>(),
5972        4usize,
5973        concat!("Alignment of ", stringify!(ucred))
5974    );
5975    assert_eq!(
5976        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5977        0usize,
5978        concat!(
5979            "Offset of field: ",
5980            stringify!(ucred),
5981            "::",
5982            stringify!(pid)
5983        )
5984    );
5985    assert_eq!(
5986        unsafe { ::std::ptr::addr_of!((*ptr).uid) as usize - ptr as usize },
5987        4usize,
5988        concat!(
5989            "Offset of field: ",
5990            stringify!(ucred),
5991            "::",
5992            stringify!(uid)
5993        )
5994    );
5995    assert_eq!(
5996        unsafe { ::std::ptr::addr_of!((*ptr).gid) as usize - ptr as usize },
5997        8usize,
5998        concat!(
5999            "Offset of field: ",
6000            stringify!(ucred),
6001            "::",
6002            stringify!(gid)
6003        )
6004    );
6005}
6006extern "C" {
6007    pub fn accept(
6008        __fd: ::std::os::raw::c_int,
6009        __addr: *mut sockaddr,
6010        __addr_length: *mut socklen_t,
6011    ) -> ::std::os::raw::c_int;
6012}
6013extern "C" {
6014    pub fn accept4(
6015        __fd: ::std::os::raw::c_int,
6016        __addr: *mut sockaddr,
6017        __addr_length: *mut socklen_t,
6018        __flags: ::std::os::raw::c_int,
6019    ) -> ::std::os::raw::c_int;
6020}
6021extern "C" {
6022    pub fn bind(
6023        __fd: ::std::os::raw::c_int,
6024        __addr: *const sockaddr,
6025        __addr_length: socklen_t,
6026    ) -> ::std::os::raw::c_int;
6027}
6028extern "C" {
6029    pub fn connect(
6030        __fd: ::std::os::raw::c_int,
6031        __addr: *const sockaddr,
6032        __addr_length: socklen_t,
6033    ) -> ::std::os::raw::c_int;
6034}
6035extern "C" {
6036    pub fn getpeername(
6037        __fd: ::std::os::raw::c_int,
6038        __addr: *mut sockaddr,
6039        __addr_length: *mut socklen_t,
6040    ) -> ::std::os::raw::c_int;
6041}
6042extern "C" {
6043    pub fn getsockname(
6044        __fd: ::std::os::raw::c_int,
6045        __addr: *mut sockaddr,
6046        __addr_length: *mut socklen_t,
6047    ) -> ::std::os::raw::c_int;
6048}
6049extern "C" {
6050    pub fn getsockopt(
6051        __fd: ::std::os::raw::c_int,
6052        __level: ::std::os::raw::c_int,
6053        __option: ::std::os::raw::c_int,
6054        __value: *mut ::std::os::raw::c_void,
6055        __value_length: *mut socklen_t,
6056    ) -> ::std::os::raw::c_int;
6057}
6058extern "C" {
6059    pub fn listen(
6060        __fd: ::std::os::raw::c_int,
6061        __backlog: ::std::os::raw::c_int,
6062    ) -> ::std::os::raw::c_int;
6063}
6064extern "C" {
6065    pub fn recvmmsg(
6066        __fd: ::std::os::raw::c_int,
6067        __msgs: *mut mmsghdr,
6068        __msg_count: ::std::os::raw::c_uint,
6069        __flags: ::std::os::raw::c_int,
6070        __timeout: *const timespec,
6071    ) -> ::std::os::raw::c_int;
6072}
6073extern "C" {
6074    pub fn recvmsg(
6075        __fd: ::std::os::raw::c_int,
6076        __msg: *mut msghdr,
6077        __flags: ::std::os::raw::c_int,
6078    ) -> isize;
6079}
6080extern "C" {
6081    pub fn sendmmsg(
6082        __fd: ::std::os::raw::c_int,
6083        __msgs: *const mmsghdr,
6084        __msg_count: ::std::os::raw::c_uint,
6085        __flags: ::std::os::raw::c_int,
6086    ) -> ::std::os::raw::c_int;
6087}
6088extern "C" {
6089    pub fn sendmsg(
6090        __fd: ::std::os::raw::c_int,
6091        __msg: *const msghdr,
6092        __flags: ::std::os::raw::c_int,
6093    ) -> isize;
6094}
6095extern "C" {
6096    pub fn setsockopt(
6097        __fd: ::std::os::raw::c_int,
6098        __level: ::std::os::raw::c_int,
6099        __option: ::std::os::raw::c_int,
6100        __value: *const ::std::os::raw::c_void,
6101        __value_length: socklen_t,
6102    ) -> ::std::os::raw::c_int;
6103}
6104extern "C" {
6105    pub fn shutdown(
6106        __fd: ::std::os::raw::c_int,
6107        __how: ::std::os::raw::c_int,
6108    ) -> ::std::os::raw::c_int;
6109}
6110extern "C" {
6111    pub fn socket(
6112        __af: ::std::os::raw::c_int,
6113        __type: ::std::os::raw::c_int,
6114        __protocol: ::std::os::raw::c_int,
6115    ) -> ::std::os::raw::c_int;
6116}
6117extern "C" {
6118    pub fn socketpair(
6119        __af: ::std::os::raw::c_int,
6120        __type: ::std::os::raw::c_int,
6121        __protocol: ::std::os::raw::c_int,
6122        __fds: *mut ::std::os::raw::c_int,
6123    ) -> ::std::os::raw::c_int;
6124}
6125extern "C" {
6126    pub fn recv(
6127        __fd: ::std::os::raw::c_int,
6128        __buf: *mut ::std::os::raw::c_void,
6129        __n: usize,
6130        __flags: ::std::os::raw::c_int,
6131    ) -> isize;
6132}
6133extern "C" {
6134    pub fn send(
6135        __fd: ::std::os::raw::c_int,
6136        __buf: *const ::std::os::raw::c_void,
6137        __n: usize,
6138        __flags: ::std::os::raw::c_int,
6139    ) -> isize;
6140}
6141extern "C" {
6142    pub fn sendto(
6143        __fd: ::std::os::raw::c_int,
6144        __buf: *const ::std::os::raw::c_void,
6145        __n: usize,
6146        __flags: ::std::os::raw::c_int,
6147        __dst_addr: *const sockaddr,
6148        __dst_addr_length: socklen_t,
6149    ) -> isize;
6150}
6151extern "C" {
6152    pub fn recvfrom(
6153        __fd: ::std::os::raw::c_int,
6154        __buf: *mut ::std::os::raw::c_void,
6155        __n: usize,
6156        __flags: ::std::os::raw::c_int,
6157        __src_addr: *mut sockaddr,
6158        __src_addr_length: *mut socklen_t,
6159    ) -> isize;
6160}
6161#[repr(C)]
6162#[derive(Debug, Copy, Clone)]
6163pub struct hostent {
6164    pub h_name: *mut ::std::os::raw::c_char,
6165    pub h_aliases: *mut *mut ::std::os::raw::c_char,
6166    pub h_addrtype: ::std::os::raw::c_int,
6167    pub h_length: ::std::os::raw::c_int,
6168    pub h_addr_list: *mut *mut ::std::os::raw::c_char,
6169}
6170#[test]
6171fn bindgen_test_layout_hostent() {
6172    const UNINIT: ::std::mem::MaybeUninit<hostent> = ::std::mem::MaybeUninit::uninit();
6173    let ptr = UNINIT.as_ptr();
6174    assert_eq!(
6175        ::std::mem::size_of::<hostent>(),
6176        32usize,
6177        concat!("Size of: ", stringify!(hostent))
6178    );
6179    assert_eq!(
6180        ::std::mem::align_of::<hostent>(),
6181        8usize,
6182        concat!("Alignment of ", stringify!(hostent))
6183    );
6184    assert_eq!(
6185        unsafe { ::std::ptr::addr_of!((*ptr).h_name) as usize - ptr as usize },
6186        0usize,
6187        concat!(
6188            "Offset of field: ",
6189            stringify!(hostent),
6190            "::",
6191            stringify!(h_name)
6192        )
6193    );
6194    assert_eq!(
6195        unsafe { ::std::ptr::addr_of!((*ptr).h_aliases) as usize - ptr as usize },
6196        8usize,
6197        concat!(
6198            "Offset of field: ",
6199            stringify!(hostent),
6200            "::",
6201            stringify!(h_aliases)
6202        )
6203    );
6204    assert_eq!(
6205        unsafe { ::std::ptr::addr_of!((*ptr).h_addrtype) as usize - ptr as usize },
6206        16usize,
6207        concat!(
6208            "Offset of field: ",
6209            stringify!(hostent),
6210            "::",
6211            stringify!(h_addrtype)
6212        )
6213    );
6214    assert_eq!(
6215        unsafe { ::std::ptr::addr_of!((*ptr).h_length) as usize - ptr as usize },
6216        20usize,
6217        concat!(
6218            "Offset of field: ",
6219            stringify!(hostent),
6220            "::",
6221            stringify!(h_length)
6222        )
6223    );
6224    assert_eq!(
6225        unsafe { ::std::ptr::addr_of!((*ptr).h_addr_list) as usize - ptr as usize },
6226        24usize,
6227        concat!(
6228            "Offset of field: ",
6229            stringify!(hostent),
6230            "::",
6231            stringify!(h_addr_list)
6232        )
6233    );
6234}
6235#[repr(C)]
6236#[derive(Debug, Copy, Clone)]
6237pub struct netent {
6238    pub n_name: *mut ::std::os::raw::c_char,
6239    pub n_aliases: *mut *mut ::std::os::raw::c_char,
6240    pub n_addrtype: ::std::os::raw::c_int,
6241    pub n_net: u32,
6242}
6243#[test]
6244fn bindgen_test_layout_netent() {
6245    const UNINIT: ::std::mem::MaybeUninit<netent> = ::std::mem::MaybeUninit::uninit();
6246    let ptr = UNINIT.as_ptr();
6247    assert_eq!(
6248        ::std::mem::size_of::<netent>(),
6249        24usize,
6250        concat!("Size of: ", stringify!(netent))
6251    );
6252    assert_eq!(
6253        ::std::mem::align_of::<netent>(),
6254        8usize,
6255        concat!("Alignment of ", stringify!(netent))
6256    );
6257    assert_eq!(
6258        unsafe { ::std::ptr::addr_of!((*ptr).n_name) as usize - ptr as usize },
6259        0usize,
6260        concat!(
6261            "Offset of field: ",
6262            stringify!(netent),
6263            "::",
6264            stringify!(n_name)
6265        )
6266    );
6267    assert_eq!(
6268        unsafe { ::std::ptr::addr_of!((*ptr).n_aliases) as usize - ptr as usize },
6269        8usize,
6270        concat!(
6271            "Offset of field: ",
6272            stringify!(netent),
6273            "::",
6274            stringify!(n_aliases)
6275        )
6276    );
6277    assert_eq!(
6278        unsafe { ::std::ptr::addr_of!((*ptr).n_addrtype) as usize - ptr as usize },
6279        16usize,
6280        concat!(
6281            "Offset of field: ",
6282            stringify!(netent),
6283            "::",
6284            stringify!(n_addrtype)
6285        )
6286    );
6287    assert_eq!(
6288        unsafe { ::std::ptr::addr_of!((*ptr).n_net) as usize - ptr as usize },
6289        20usize,
6290        concat!(
6291            "Offset of field: ",
6292            stringify!(netent),
6293            "::",
6294            stringify!(n_net)
6295        )
6296    );
6297}
6298#[repr(C)]
6299#[derive(Debug, Copy, Clone)]
6300pub struct servent {
6301    pub s_name: *mut ::std::os::raw::c_char,
6302    pub s_aliases: *mut *mut ::std::os::raw::c_char,
6303    pub s_port: ::std::os::raw::c_int,
6304    pub s_proto: *mut ::std::os::raw::c_char,
6305}
6306#[test]
6307fn bindgen_test_layout_servent() {
6308    const UNINIT: ::std::mem::MaybeUninit<servent> = ::std::mem::MaybeUninit::uninit();
6309    let ptr = UNINIT.as_ptr();
6310    assert_eq!(
6311        ::std::mem::size_of::<servent>(),
6312        32usize,
6313        concat!("Size of: ", stringify!(servent))
6314    );
6315    assert_eq!(
6316        ::std::mem::align_of::<servent>(),
6317        8usize,
6318        concat!("Alignment of ", stringify!(servent))
6319    );
6320    assert_eq!(
6321        unsafe { ::std::ptr::addr_of!((*ptr).s_name) as usize - ptr as usize },
6322        0usize,
6323        concat!(
6324            "Offset of field: ",
6325            stringify!(servent),
6326            "::",
6327            stringify!(s_name)
6328        )
6329    );
6330    assert_eq!(
6331        unsafe { ::std::ptr::addr_of!((*ptr).s_aliases) as usize - ptr as usize },
6332        8usize,
6333        concat!(
6334            "Offset of field: ",
6335            stringify!(servent),
6336            "::",
6337            stringify!(s_aliases)
6338        )
6339    );
6340    assert_eq!(
6341        unsafe { ::std::ptr::addr_of!((*ptr).s_port) as usize - ptr as usize },
6342        16usize,
6343        concat!(
6344            "Offset of field: ",
6345            stringify!(servent),
6346            "::",
6347            stringify!(s_port)
6348        )
6349    );
6350    assert_eq!(
6351        unsafe { ::std::ptr::addr_of!((*ptr).s_proto) as usize - ptr as usize },
6352        24usize,
6353        concat!(
6354            "Offset of field: ",
6355            stringify!(servent),
6356            "::",
6357            stringify!(s_proto)
6358        )
6359    );
6360}
6361#[repr(C)]
6362#[derive(Debug, Copy, Clone)]
6363pub struct protoent {
6364    pub p_name: *mut ::std::os::raw::c_char,
6365    pub p_aliases: *mut *mut ::std::os::raw::c_char,
6366    pub p_proto: ::std::os::raw::c_int,
6367}
6368#[test]
6369fn bindgen_test_layout_protoent() {
6370    const UNINIT: ::std::mem::MaybeUninit<protoent> = ::std::mem::MaybeUninit::uninit();
6371    let ptr = UNINIT.as_ptr();
6372    assert_eq!(
6373        ::std::mem::size_of::<protoent>(),
6374        24usize,
6375        concat!("Size of: ", stringify!(protoent))
6376    );
6377    assert_eq!(
6378        ::std::mem::align_of::<protoent>(),
6379        8usize,
6380        concat!("Alignment of ", stringify!(protoent))
6381    );
6382    assert_eq!(
6383        unsafe { ::std::ptr::addr_of!((*ptr).p_name) as usize - ptr as usize },
6384        0usize,
6385        concat!(
6386            "Offset of field: ",
6387            stringify!(protoent),
6388            "::",
6389            stringify!(p_name)
6390        )
6391    );
6392    assert_eq!(
6393        unsafe { ::std::ptr::addr_of!((*ptr).p_aliases) as usize - ptr as usize },
6394        8usize,
6395        concat!(
6396            "Offset of field: ",
6397            stringify!(protoent),
6398            "::",
6399            stringify!(p_aliases)
6400        )
6401    );
6402    assert_eq!(
6403        unsafe { ::std::ptr::addr_of!((*ptr).p_proto) as usize - ptr as usize },
6404        16usize,
6405        concat!(
6406            "Offset of field: ",
6407            stringify!(protoent),
6408            "::",
6409            stringify!(p_proto)
6410        )
6411    );
6412}
6413#[repr(C)]
6414#[derive(Debug, Copy, Clone)]
6415pub struct addrinfo {
6416    pub ai_flags: ::std::os::raw::c_int,
6417    pub ai_family: ::std::os::raw::c_int,
6418    pub ai_socktype: ::std::os::raw::c_int,
6419    pub ai_protocol: ::std::os::raw::c_int,
6420    pub ai_addrlen: socklen_t,
6421    pub ai_canonname: *mut ::std::os::raw::c_char,
6422    pub ai_addr: *mut sockaddr,
6423    pub ai_next: *mut addrinfo,
6424}
6425#[test]
6426fn bindgen_test_layout_addrinfo() {
6427    const UNINIT: ::std::mem::MaybeUninit<addrinfo> = ::std::mem::MaybeUninit::uninit();
6428    let ptr = UNINIT.as_ptr();
6429    assert_eq!(
6430        ::std::mem::size_of::<addrinfo>(),
6431        48usize,
6432        concat!("Size of: ", stringify!(addrinfo))
6433    );
6434    assert_eq!(
6435        ::std::mem::align_of::<addrinfo>(),
6436        8usize,
6437        concat!("Alignment of ", stringify!(addrinfo))
6438    );
6439    assert_eq!(
6440        unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize },
6441        0usize,
6442        concat!(
6443            "Offset of field: ",
6444            stringify!(addrinfo),
6445            "::",
6446            stringify!(ai_flags)
6447        )
6448    );
6449    assert_eq!(
6450        unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize },
6451        4usize,
6452        concat!(
6453            "Offset of field: ",
6454            stringify!(addrinfo),
6455            "::",
6456            stringify!(ai_family)
6457        )
6458    );
6459    assert_eq!(
6460        unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize },
6461        8usize,
6462        concat!(
6463            "Offset of field: ",
6464            stringify!(addrinfo),
6465            "::",
6466            stringify!(ai_socktype)
6467        )
6468    );
6469    assert_eq!(
6470        unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize },
6471        12usize,
6472        concat!(
6473            "Offset of field: ",
6474            stringify!(addrinfo),
6475            "::",
6476            stringify!(ai_protocol)
6477        )
6478    );
6479    assert_eq!(
6480        unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize },
6481        16usize,
6482        concat!(
6483            "Offset of field: ",
6484            stringify!(addrinfo),
6485            "::",
6486            stringify!(ai_addrlen)
6487        )
6488    );
6489    assert_eq!(
6490        unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize },
6491        24usize,
6492        concat!(
6493            "Offset of field: ",
6494            stringify!(addrinfo),
6495            "::",
6496            stringify!(ai_canonname)
6497        )
6498    );
6499    assert_eq!(
6500        unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize },
6501        32usize,
6502        concat!(
6503            "Offset of field: ",
6504            stringify!(addrinfo),
6505            "::",
6506            stringify!(ai_addr)
6507        )
6508    );
6509    assert_eq!(
6510        unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize },
6511        40usize,
6512        concat!(
6513            "Offset of field: ",
6514            stringify!(addrinfo),
6515            "::",
6516            stringify!(ai_next)
6517        )
6518    );
6519}
6520extern "C" {
6521    pub fn getaddrinfo(
6522        __node: *const ::std::os::raw::c_char,
6523        __service: *const ::std::os::raw::c_char,
6524        __hints: *const addrinfo,
6525        __result: *mut *mut addrinfo,
6526    ) -> ::std::os::raw::c_int;
6527}
6528extern "C" {
6529    pub fn freeaddrinfo(__ptr: *mut addrinfo);
6530}
6531extern "C" {
6532    pub fn getnameinfo(
6533        __sa: *const sockaddr,
6534        __sa_length: socklen_t,
6535        __host: *mut ::std::os::raw::c_char,
6536        __host_length: usize,
6537        __service: *mut ::std::os::raw::c_char,
6538        __service_length: usize,
6539        __flags: ::std::os::raw::c_int,
6540    ) -> ::std::os::raw::c_int;
6541}
6542extern "C" {
6543    pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6544}
6545extern "C" {
6546    pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
6547}
6548extern "C" {
6549    pub fn herror(__s: *const ::std::os::raw::c_char);
6550}
6551extern "C" {
6552    pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6553}
6554extern "C" {
6555    pub fn gethostbyaddr(
6556        __addr: *const ::std::os::raw::c_void,
6557        __length: socklen_t,
6558        __type: ::std::os::raw::c_int,
6559    ) -> *mut hostent;
6560}
6561extern "C" {
6562    pub fn gethostbyaddr_r(
6563        __addr: *const ::std::os::raw::c_void,
6564        __length: socklen_t,
6565        __type: ::std::os::raw::c_int,
6566        __ret: *mut hostent,
6567        __buf: *mut ::std::os::raw::c_char,
6568        __buf_size: usize,
6569        __result: *mut *mut hostent,
6570        __h_errno_ptr: *mut ::std::os::raw::c_int,
6571    ) -> ::std::os::raw::c_int;
6572}
6573extern "C" {
6574    pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
6575}
6576extern "C" {
6577    pub fn gethostbyname_r(
6578        __name: *const ::std::os::raw::c_char,
6579        __ret: *mut hostent,
6580        __buf: *mut ::std::os::raw::c_char,
6581        __buf_size: usize,
6582        __result: *mut *mut hostent,
6583        __h_errno_ptr: *mut ::std::os::raw::c_int,
6584    ) -> ::std::os::raw::c_int;
6585}
6586extern "C" {
6587    pub fn gethostbyname2(
6588        __name: *const ::std::os::raw::c_char,
6589        __af: ::std::os::raw::c_int,
6590    ) -> *mut hostent;
6591}
6592extern "C" {
6593    pub fn gethostbyname2_r(
6594        __name: *const ::std::os::raw::c_char,
6595        __af: ::std::os::raw::c_int,
6596        __ret: *mut hostent,
6597        __buf: *mut ::std::os::raw::c_char,
6598        __buf_size: usize,
6599        __result: *mut *mut hostent,
6600        __h_errno_ptr: *mut ::std::os::raw::c_int,
6601    ) -> ::std::os::raw::c_int;
6602}
6603extern "C" {
6604    pub fn endhostent();
6605}
6606extern "C" {
6607    pub fn gethostent() -> *mut hostent;
6608}
6609extern "C" {
6610    pub fn sethostent(__stay_open: ::std::os::raw::c_int);
6611}
6612extern "C" {
6613    pub fn endnetent();
6614}
6615extern "C" {
6616    pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
6617}
6618extern "C" {
6619    pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
6620}
6621extern "C" {
6622    pub fn getnetent() -> *mut netent;
6623}
6624extern "C" {
6625    pub fn setnetent(__stay_open: ::std::os::raw::c_int);
6626}
6627extern "C" {
6628    pub fn endprotoent();
6629}
6630extern "C" {
6631    pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
6632}
6633extern "C" {
6634    pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
6635}
6636extern "C" {
6637    pub fn getprotoent() -> *mut protoent;
6638}
6639extern "C" {
6640    pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
6641}
6642extern "C" {
6643    pub fn endservent();
6644}
6645extern "C" {
6646    pub fn getservbyname(
6647        __name: *const ::std::os::raw::c_char,
6648        __proto: *const ::std::os::raw::c_char,
6649    ) -> *mut servent;
6650}
6651extern "C" {
6652    pub fn getservbyport(
6653        __port_in_network_order: ::std::os::raw::c_int,
6654        __proto: *const ::std::os::raw::c_char,
6655    ) -> *mut servent;
6656}
6657extern "C" {
6658    pub fn getservent() -> *mut servent;
6659}
6660extern "C" {
6661    pub fn setservent(__stay_open: ::std::os::raw::c_int);
6662}
6663pub type fpos_t = off_t;
6664pub type fpos64_t = off64_t;
6665#[repr(C)]
6666#[derive(Debug, Copy, Clone)]
6667pub struct __sFILE {
6668    _unused: [u8; 0],
6669}
6670pub type FILE = __sFILE;
6671extern "C" {
6672    pub static mut stdin: *mut FILE;
6673}
6674extern "C" {
6675    pub static mut stdout: *mut FILE;
6676}
6677extern "C" {
6678    pub static mut stderr: *mut FILE;
6679}
6680extern "C" {
6681    pub fn clearerr(__fp: *mut FILE);
6682}
6683extern "C" {
6684    pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6685}
6686extern "C" {
6687    pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
6688}
6689extern "C" {
6690    pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
6691}
6692extern "C" {
6693    pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
6694}
6695extern "C" {
6696    pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6697}
6698extern "C" {
6699    pub fn fgets(
6700        __buf: *mut ::std::os::raw::c_char,
6701        __size: ::std::os::raw::c_int,
6702        __fp: *mut FILE,
6703    ) -> *mut ::std::os::raw::c_char;
6704}
6705extern "C" {
6706    pub fn fprintf(
6707        __fp: *mut FILE,
6708        __fmt: *const ::std::os::raw::c_char,
6709        ...
6710    ) -> ::std::os::raw::c_int;
6711}
6712extern "C" {
6713    pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6714}
6715extern "C" {
6716    pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
6717}
6718extern "C" {
6719    pub fn fread(
6720        __buf: *mut ::std::os::raw::c_void,
6721        __size: ::std::os::raw::c_ulong,
6722        __count: ::std::os::raw::c_ulong,
6723        __fp: *mut FILE,
6724    ) -> ::std::os::raw::c_ulong;
6725}
6726extern "C" {
6727    pub fn fscanf(
6728        __fp: *mut FILE,
6729        __fmt: *const ::std::os::raw::c_char,
6730        ...
6731    ) -> ::std::os::raw::c_int;
6732}
6733extern "C" {
6734    pub fn fwrite(
6735        __buf: *const ::std::os::raw::c_void,
6736        __size: ::std::os::raw::c_ulong,
6737        __count: ::std::os::raw::c_ulong,
6738        __fp: *mut FILE,
6739    ) -> ::std::os::raw::c_ulong;
6740}
6741extern "C" {
6742    pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6743}
6744extern "C" {
6745    pub fn getchar() -> ::std::os::raw::c_int;
6746}
6747extern "C" {
6748    pub fn getdelim(
6749        __line_ptr: *mut *mut ::std::os::raw::c_char,
6750        __line_length_ptr: *mut usize,
6751        __delimiter: ::std::os::raw::c_int,
6752        __fp: *mut FILE,
6753    ) -> isize;
6754}
6755extern "C" {
6756    pub fn getline(
6757        __line_ptr: *mut *mut ::std::os::raw::c_char,
6758        __line_length_ptr: *mut usize,
6759        __fp: *mut FILE,
6760    ) -> isize;
6761}
6762extern "C" {
6763    pub fn perror(__msg: *const ::std::os::raw::c_char);
6764}
6765extern "C" {
6766    pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6767}
6768extern "C" {
6769    pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6770}
6771extern "C" {
6772    pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6773}
6774extern "C" {
6775    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6776}
6777extern "C" {
6778    pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6779}
6780extern "C" {
6781    pub fn rewind(__fp: *mut FILE);
6782}
6783extern "C" {
6784    pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6785}
6786extern "C" {
6787    pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
6788}
6789extern "C" {
6790    pub fn setvbuf(
6791        __fp: *mut FILE,
6792        __buf: *mut ::std::os::raw::c_char,
6793        __mode: ::std::os::raw::c_int,
6794        __size: usize,
6795    ) -> ::std::os::raw::c_int;
6796}
6797extern "C" {
6798    pub fn sscanf(
6799        __s: *const ::std::os::raw::c_char,
6800        __fmt: *const ::std::os::raw::c_char,
6801        ...
6802    ) -> ::std::os::raw::c_int;
6803}
6804extern "C" {
6805    pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6806}
6807extern "C" {
6808    pub fn vfprintf(
6809        __fp: *mut FILE,
6810        __fmt: *const ::std::os::raw::c_char,
6811        __args: [u64; 4usize],
6812    ) -> ::std::os::raw::c_int;
6813}
6814extern "C" {
6815    pub fn vprintf(
6816        __fp: *const ::std::os::raw::c_char,
6817        __args: [u64; 4usize],
6818    ) -> ::std::os::raw::c_int;
6819}
6820extern "C" {
6821    pub fn dprintf(
6822        __fd: ::std::os::raw::c_int,
6823        __fmt: *const ::std::os::raw::c_char,
6824        ...
6825    ) -> ::std::os::raw::c_int;
6826}
6827extern "C" {
6828    pub fn vdprintf(
6829        __fd: ::std::os::raw::c_int,
6830        __fmt: *const ::std::os::raw::c_char,
6831        __args: va_list,
6832    ) -> ::std::os::raw::c_int;
6833}
6834extern "C" {
6835    pub fn sprintf(
6836        __s: *mut ::std::os::raw::c_char,
6837        __fmt: *const ::std::os::raw::c_char,
6838        ...
6839    ) -> ::std::os::raw::c_int;
6840}
6841extern "C" {
6842    pub fn vsprintf(
6843        __s: *mut ::std::os::raw::c_char,
6844        __fmt: *const ::std::os::raw::c_char,
6845        __args: [u64; 4usize],
6846    ) -> ::std::os::raw::c_int;
6847}
6848extern "C" {
6849    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6850}
6851extern "C" {
6852    pub fn tempnam(
6853        __dir: *const ::std::os::raw::c_char,
6854        __prefix: *const ::std::os::raw::c_char,
6855    ) -> *mut ::std::os::raw::c_char;
6856}
6857extern "C" {
6858    pub fn rename(
6859        __old_path: *const ::std::os::raw::c_char,
6860        __new_path: *const ::std::os::raw::c_char,
6861    ) -> ::std::os::raw::c_int;
6862}
6863extern "C" {
6864    pub fn renameat(
6865        __old_dir_fd: ::std::os::raw::c_int,
6866        __old_path: *const ::std::os::raw::c_char,
6867        __new_dir_fd: ::std::os::raw::c_int,
6868        __new_path: *const ::std::os::raw::c_char,
6869    ) -> ::std::os::raw::c_int;
6870}
6871extern "C" {
6872    pub fn fseek(
6873        __fp: *mut FILE,
6874        __offset: ::std::os::raw::c_long,
6875        __whence: ::std::os::raw::c_int,
6876    ) -> ::std::os::raw::c_int;
6877}
6878extern "C" {
6879    pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
6880}
6881extern "C" {
6882    pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
6883}
6884extern "C" {
6885    pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
6886}
6887extern "C" {
6888    pub fn fseeko(
6889        __fp: *mut FILE,
6890        __offset: off_t,
6891        __whence: ::std::os::raw::c_int,
6892    ) -> ::std::os::raw::c_int;
6893}
6894extern "C" {
6895    pub fn ftello(__fp: *mut FILE) -> off_t;
6896}
6897extern "C" {
6898    pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
6899}
6900extern "C" {
6901    pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
6902}
6903extern "C" {
6904    pub fn fseeko64(
6905        __fp: *mut FILE,
6906        __offset: off64_t,
6907        __whence: ::std::os::raw::c_int,
6908    ) -> ::std::os::raw::c_int;
6909}
6910extern "C" {
6911    pub fn ftello64(__fp: *mut FILE) -> off64_t;
6912}
6913extern "C" {
6914    pub fn fopen(
6915        __path: *const ::std::os::raw::c_char,
6916        __mode: *const ::std::os::raw::c_char,
6917    ) -> *mut FILE;
6918}
6919extern "C" {
6920    pub fn fopen64(
6921        __path: *const ::std::os::raw::c_char,
6922        __mode: *const ::std::os::raw::c_char,
6923    ) -> *mut FILE;
6924}
6925extern "C" {
6926    pub fn freopen(
6927        __path: *const ::std::os::raw::c_char,
6928        __mode: *const ::std::os::raw::c_char,
6929        __fp: *mut FILE,
6930    ) -> *mut FILE;
6931}
6932extern "C" {
6933    pub fn freopen64(
6934        __path: *const ::std::os::raw::c_char,
6935        __mode: *const ::std::os::raw::c_char,
6936        __fp: *mut FILE,
6937    ) -> *mut FILE;
6938}
6939extern "C" {
6940    pub fn tmpfile() -> *mut FILE;
6941}
6942extern "C" {
6943    pub fn tmpfile64() -> *mut FILE;
6944}
6945extern "C" {
6946    pub fn snprintf(
6947        __buf: *mut ::std::os::raw::c_char,
6948        __size: ::std::os::raw::c_ulong,
6949        __fmt: *const ::std::os::raw::c_char,
6950        ...
6951    ) -> ::std::os::raw::c_int;
6952}
6953extern "C" {
6954    pub fn vfscanf(
6955        __fp: *mut FILE,
6956        __fmt: *const ::std::os::raw::c_char,
6957        __args: [u64; 4usize],
6958    ) -> ::std::os::raw::c_int;
6959}
6960extern "C" {
6961    pub fn vscanf(
6962        __fmt: *const ::std::os::raw::c_char,
6963        __args: [u64; 4usize],
6964    ) -> ::std::os::raw::c_int;
6965}
6966extern "C" {
6967    pub fn vsnprintf(
6968        __buf: *mut ::std::os::raw::c_char,
6969        __size: ::std::os::raw::c_ulong,
6970        __fmt: *const ::std::os::raw::c_char,
6971        __args: [u64; 4usize],
6972    ) -> ::std::os::raw::c_int;
6973}
6974extern "C" {
6975    pub fn vsscanf(
6976        __s: *const ::std::os::raw::c_char,
6977        __fmt: *const ::std::os::raw::c_char,
6978        __args: [u64; 4usize],
6979    ) -> ::std::os::raw::c_int;
6980}
6981extern "C" {
6982    pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6983}
6984extern "C" {
6985    pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
6986}
6987extern "C" {
6988    pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
6989}
6990extern "C" {
6991    pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6992}
6993extern "C" {
6994    pub fn popen(
6995        __command: *const ::std::os::raw::c_char,
6996        __mode: *const ::std::os::raw::c_char,
6997    ) -> *mut FILE;
6998}
6999extern "C" {
7000    pub fn flockfile(__fp: *mut FILE);
7001}
7002extern "C" {
7003    pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
7004}
7005extern "C" {
7006    pub fn funlockfile(__fp: *mut FILE);
7007}
7008extern "C" {
7009    pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7010}
7011extern "C" {
7012    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
7013}
7014extern "C" {
7015    pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
7016}
7017extern "C" {
7018    pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7019}
7020extern "C" {
7021    pub fn fmemopen(
7022        __buf: *mut ::std::os::raw::c_void,
7023        __size: usize,
7024        __mode: *const ::std::os::raw::c_char,
7025    ) -> *mut FILE;
7026}
7027extern "C" {
7028    pub fn open_memstream(
7029        __ptr: *mut *mut ::std::os::raw::c_char,
7030        __size_ptr: *mut usize,
7031    ) -> *mut FILE;
7032}
7033extern "C" {
7034    pub fn asprintf(
7035        __s_ptr: *mut *mut ::std::os::raw::c_char,
7036        __fmt: *const ::std::os::raw::c_char,
7037        ...
7038    ) -> ::std::os::raw::c_int;
7039}
7040extern "C" {
7041    pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char;
7042}
7043extern "C" {
7044    pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
7045}
7046extern "C" {
7047    pub fn setbuffer(
7048        __fp: *mut FILE,
7049        __buf: *mut ::std::os::raw::c_char,
7050        __size: ::std::os::raw::c_int,
7051    );
7052}
7053extern "C" {
7054    pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
7055}
7056extern "C" {
7057    pub fn vasprintf(
7058        __s_ptr: *mut *mut ::std::os::raw::c_char,
7059        __fmt: *const ::std::os::raw::c_char,
7060        __args: va_list,
7061    ) -> ::std::os::raw::c_int;
7062}
7063extern "C" {
7064    pub fn clearerr_unlocked(__fp: *mut FILE);
7065}
7066extern "C" {
7067    pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7068}
7069extern "C" {
7070    pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7071}
7072extern "C" {
7073    pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7074}
7075extern "C" {
7076    pub fn malloc(__byte_count: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
7077}
7078extern "C" {
7079    pub fn calloc(
7080        __item_count: ::std::os::raw::c_ulong,
7081        __item_size: ::std::os::raw::c_ulong,
7082    ) -> *mut ::std::os::raw::c_void;
7083}
7084extern "C" {
7085    pub fn realloc(
7086        __ptr: *mut ::std::os::raw::c_void,
7087        __byte_count: ::std::os::raw::c_ulong,
7088    ) -> *mut ::std::os::raw::c_void;
7089}
7090extern "C" {
7091    pub fn reallocarray(
7092        __ptr: *mut ::std::os::raw::c_void,
7093        __item_count: usize,
7094        __item_size: usize,
7095    ) -> *mut ::std::os::raw::c_void;
7096}
7097extern "C" {
7098    pub fn free(__ptr: *mut ::std::os::raw::c_void);
7099}
7100extern "C" {
7101    pub fn memalign(
7102        __alignment: ::std::os::raw::c_ulong,
7103        __byte_count: ::std::os::raw::c_ulong,
7104    ) -> *mut ::std::os::raw::c_void;
7105}
7106extern "C" {
7107    pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize;
7108}
7109#[repr(C)]
7110#[derive(Debug, Copy, Clone)]
7111pub struct mallinfo {
7112    pub arena: usize,
7113    pub ordblks: usize,
7114    pub smblks: usize,
7115    pub hblks: usize,
7116    pub hblkhd: usize,
7117    pub usmblks: usize,
7118    pub fsmblks: usize,
7119    pub uordblks: usize,
7120    pub fordblks: usize,
7121    pub keepcost: usize,
7122}
7123#[test]
7124fn bindgen_test_layout_mallinfo() {
7125    const UNINIT: ::std::mem::MaybeUninit<mallinfo> = ::std::mem::MaybeUninit::uninit();
7126    let ptr = UNINIT.as_ptr();
7127    assert_eq!(
7128        ::std::mem::size_of::<mallinfo>(),
7129        80usize,
7130        concat!("Size of: ", stringify!(mallinfo))
7131    );
7132    assert_eq!(
7133        ::std::mem::align_of::<mallinfo>(),
7134        8usize,
7135        concat!("Alignment of ", stringify!(mallinfo))
7136    );
7137    assert_eq!(
7138        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7139        0usize,
7140        concat!(
7141            "Offset of field: ",
7142            stringify!(mallinfo),
7143            "::",
7144            stringify!(arena)
7145        )
7146    );
7147    assert_eq!(
7148        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7149        8usize,
7150        concat!(
7151            "Offset of field: ",
7152            stringify!(mallinfo),
7153            "::",
7154            stringify!(ordblks)
7155        )
7156    );
7157    assert_eq!(
7158        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7159        16usize,
7160        concat!(
7161            "Offset of field: ",
7162            stringify!(mallinfo),
7163            "::",
7164            stringify!(smblks)
7165        )
7166    );
7167    assert_eq!(
7168        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7169        24usize,
7170        concat!(
7171            "Offset of field: ",
7172            stringify!(mallinfo),
7173            "::",
7174            stringify!(hblks)
7175        )
7176    );
7177    assert_eq!(
7178        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7179        32usize,
7180        concat!(
7181            "Offset of field: ",
7182            stringify!(mallinfo),
7183            "::",
7184            stringify!(hblkhd)
7185        )
7186    );
7187    assert_eq!(
7188        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7189        40usize,
7190        concat!(
7191            "Offset of field: ",
7192            stringify!(mallinfo),
7193            "::",
7194            stringify!(usmblks)
7195        )
7196    );
7197    assert_eq!(
7198        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7199        48usize,
7200        concat!(
7201            "Offset of field: ",
7202            stringify!(mallinfo),
7203            "::",
7204            stringify!(fsmblks)
7205        )
7206    );
7207    assert_eq!(
7208        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7209        56usize,
7210        concat!(
7211            "Offset of field: ",
7212            stringify!(mallinfo),
7213            "::",
7214            stringify!(uordblks)
7215        )
7216    );
7217    assert_eq!(
7218        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7219        64usize,
7220        concat!(
7221            "Offset of field: ",
7222            stringify!(mallinfo),
7223            "::",
7224            stringify!(fordblks)
7225        )
7226    );
7227    assert_eq!(
7228        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7229        72usize,
7230        concat!(
7231            "Offset of field: ",
7232            stringify!(mallinfo),
7233            "::",
7234            stringify!(keepcost)
7235        )
7236    );
7237}
7238extern "C" {
7239    pub fn mallinfo() -> mallinfo;
7240}
7241#[repr(C)]
7242#[derive(Debug, Copy, Clone)]
7243pub struct mallinfo2 {
7244    pub arena: usize,
7245    pub ordblks: usize,
7246    pub smblks: usize,
7247    pub hblks: usize,
7248    pub hblkhd: usize,
7249    pub usmblks: usize,
7250    pub fsmblks: usize,
7251    pub uordblks: usize,
7252    pub fordblks: usize,
7253    pub keepcost: usize,
7254}
7255#[test]
7256fn bindgen_test_layout_mallinfo2() {
7257    const UNINIT: ::std::mem::MaybeUninit<mallinfo2> = ::std::mem::MaybeUninit::uninit();
7258    let ptr = UNINIT.as_ptr();
7259    assert_eq!(
7260        ::std::mem::size_of::<mallinfo2>(),
7261        80usize,
7262        concat!("Size of: ", stringify!(mallinfo2))
7263    );
7264    assert_eq!(
7265        ::std::mem::align_of::<mallinfo2>(),
7266        8usize,
7267        concat!("Alignment of ", stringify!(mallinfo2))
7268    );
7269    assert_eq!(
7270        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7271        0usize,
7272        concat!(
7273            "Offset of field: ",
7274            stringify!(mallinfo2),
7275            "::",
7276            stringify!(arena)
7277        )
7278    );
7279    assert_eq!(
7280        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7281        8usize,
7282        concat!(
7283            "Offset of field: ",
7284            stringify!(mallinfo2),
7285            "::",
7286            stringify!(ordblks)
7287        )
7288    );
7289    assert_eq!(
7290        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7291        16usize,
7292        concat!(
7293            "Offset of field: ",
7294            stringify!(mallinfo2),
7295            "::",
7296            stringify!(smblks)
7297        )
7298    );
7299    assert_eq!(
7300        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7301        24usize,
7302        concat!(
7303            "Offset of field: ",
7304            stringify!(mallinfo2),
7305            "::",
7306            stringify!(hblks)
7307        )
7308    );
7309    assert_eq!(
7310        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7311        32usize,
7312        concat!(
7313            "Offset of field: ",
7314            stringify!(mallinfo2),
7315            "::",
7316            stringify!(hblkhd)
7317        )
7318    );
7319    assert_eq!(
7320        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7321        40usize,
7322        concat!(
7323            "Offset of field: ",
7324            stringify!(mallinfo2),
7325            "::",
7326            stringify!(usmblks)
7327        )
7328    );
7329    assert_eq!(
7330        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7331        48usize,
7332        concat!(
7333            "Offset of field: ",
7334            stringify!(mallinfo2),
7335            "::",
7336            stringify!(fsmblks)
7337        )
7338    );
7339    assert_eq!(
7340        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7341        56usize,
7342        concat!(
7343            "Offset of field: ",
7344            stringify!(mallinfo2),
7345            "::",
7346            stringify!(uordblks)
7347        )
7348    );
7349    assert_eq!(
7350        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7351        64usize,
7352        concat!(
7353            "Offset of field: ",
7354            stringify!(mallinfo2),
7355            "::",
7356            stringify!(fordblks)
7357        )
7358    );
7359    assert_eq!(
7360        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7361        72usize,
7362        concat!(
7363            "Offset of field: ",
7364            stringify!(mallinfo2),
7365            "::",
7366            stringify!(keepcost)
7367        )
7368    );
7369}
7370extern "C" {
7371    pub fn malloc_info(
7372        __must_be_zero: ::std::os::raw::c_int,
7373        __fp: *mut FILE,
7374    ) -> ::std::os::raw::c_int;
7375}
7376impl HeapTaggingLevel {
7377    pub const M_HEAP_TAGGING_LEVEL_NONE: HeapTaggingLevel = HeapTaggingLevel(0);
7378}
7379impl HeapTaggingLevel {
7380    pub const M_HEAP_TAGGING_LEVEL_TBI: HeapTaggingLevel = HeapTaggingLevel(1);
7381}
7382impl HeapTaggingLevel {
7383    pub const M_HEAP_TAGGING_LEVEL_ASYNC: HeapTaggingLevel = HeapTaggingLevel(2);
7384}
7385impl HeapTaggingLevel {
7386    pub const M_HEAP_TAGGING_LEVEL_SYNC: HeapTaggingLevel = HeapTaggingLevel(3);
7387}
7388#[repr(transparent)]
7389#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7390pub struct HeapTaggingLevel(pub ::std::os::raw::c_uint);
7391extern "C" {
7392    pub fn mallopt(
7393        __option: ::std::os::raw::c_int,
7394        __value: ::std::os::raw::c_int,
7395    ) -> ::std::os::raw::c_int;
7396}
7397extern "C" {
7398    pub static mut __malloc_hook: ::std::option::Option<
7399        unsafe extern "C" fn(
7400            __byte_count: usize,
7401            __caller: *const ::std::os::raw::c_void,
7402        ) -> *mut ::std::os::raw::c_void,
7403    >;
7404}
7405extern "C" {
7406    pub static mut __realloc_hook: ::std::option::Option<
7407        unsafe extern "C" fn(
7408            __ptr: *mut ::std::os::raw::c_void,
7409            __byte_count: usize,
7410            __caller: *const ::std::os::raw::c_void,
7411        ) -> *mut ::std::os::raw::c_void,
7412    >;
7413}
7414extern "C" {
7415    pub static mut __free_hook: ::std::option::Option<
7416        unsafe extern "C" fn(
7417            __ptr: *mut ::std::os::raw::c_void,
7418            __caller: *const ::std::os::raw::c_void,
7419        ),
7420    >;
7421}
7422extern "C" {
7423    pub static mut __memalign_hook: ::std::option::Option<
7424        unsafe extern "C" fn(
7425            __alignment: usize,
7426            __byte_count: usize,
7427            __caller: *const ::std::os::raw::c_void,
7428        ) -> *mut ::std::os::raw::c_void,
7429    >;
7430}
7431#[repr(C)]
7432#[derive(Debug, Copy, Clone)]
7433pub struct __locale_t {
7434    _unused: [u8; 0],
7435}
7436pub type locale_t = *mut __locale_t;
7437extern "C" {
7438    pub fn abort() -> !;
7439}
7440extern "C" {
7441    pub fn exit(__status: ::std::os::raw::c_int) -> !;
7442}
7443extern "C" {
7444    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
7445}
7446extern "C" {
7447    pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
7448}
7449extern "C" {
7450    pub fn at_quick_exit(
7451        __fn: ::std::option::Option<unsafe extern "C" fn()>,
7452    ) -> ::std::os::raw::c_int;
7453}
7454extern "C" {
7455    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
7456}
7457extern "C" {
7458    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7459}
7460extern "C" {
7461    pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7462}
7463extern "C" {
7464    pub fn setenv(
7465        __name: *const ::std::os::raw::c_char,
7466        __value: *const ::std::os::raw::c_char,
7467        __overwrite: ::std::os::raw::c_int,
7468    ) -> ::std::os::raw::c_int;
7469}
7470extern "C" {
7471    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7472}
7473extern "C" {
7474    pub fn clearenv() -> ::std::os::raw::c_int;
7475}
7476extern "C" {
7477    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7478}
7479extern "C" {
7480    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7481}
7482extern "C" {
7483    pub fn mkostemp64(
7484        __template: *mut ::std::os::raw::c_char,
7485        __flags: ::std::os::raw::c_int,
7486    ) -> ::std::os::raw::c_int;
7487}
7488extern "C" {
7489    pub fn mkostemp(
7490        __template: *mut ::std::os::raw::c_char,
7491        __flags: ::std::os::raw::c_int,
7492    ) -> ::std::os::raw::c_int;
7493}
7494extern "C" {
7495    pub fn mkostemps64(
7496        __template: *mut ::std::os::raw::c_char,
7497        __suffix_length: ::std::os::raw::c_int,
7498        __flags: ::std::os::raw::c_int,
7499    ) -> ::std::os::raw::c_int;
7500}
7501extern "C" {
7502    pub fn mkostemps(
7503        __template: *mut ::std::os::raw::c_char,
7504        __suffix_length: ::std::os::raw::c_int,
7505        __flags: ::std::os::raw::c_int,
7506    ) -> ::std::os::raw::c_int;
7507}
7508extern "C" {
7509    pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7510}
7511extern "C" {
7512    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7513}
7514extern "C" {
7515    pub fn mkstemps64(
7516        __template: *mut ::std::os::raw::c_char,
7517        __flags: ::std::os::raw::c_int,
7518    ) -> ::std::os::raw::c_int;
7519}
7520extern "C" {
7521    pub fn mkstemps(
7522        __template: *mut ::std::os::raw::c_char,
7523        __flags: ::std::os::raw::c_int,
7524    ) -> ::std::os::raw::c_int;
7525}
7526extern "C" {
7527    pub fn strtol(
7528        __s: *const ::std::os::raw::c_char,
7529        __end_ptr: *mut *mut ::std::os::raw::c_char,
7530        __base: ::std::os::raw::c_int,
7531    ) -> ::std::os::raw::c_long;
7532}
7533extern "C" {
7534    pub fn strtoll(
7535        __s: *const ::std::os::raw::c_char,
7536        __end_ptr: *mut *mut ::std::os::raw::c_char,
7537        __base: ::std::os::raw::c_int,
7538    ) -> ::std::os::raw::c_longlong;
7539}
7540extern "C" {
7541    pub fn strtoul(
7542        __s: *const ::std::os::raw::c_char,
7543        __end_ptr: *mut *mut ::std::os::raw::c_char,
7544        __base: ::std::os::raw::c_int,
7545    ) -> ::std::os::raw::c_ulong;
7546}
7547extern "C" {
7548    pub fn strtoull(
7549        __s: *const ::std::os::raw::c_char,
7550        __end_ptr: *mut *mut ::std::os::raw::c_char,
7551        __base: ::std::os::raw::c_int,
7552    ) -> ::std::os::raw::c_ulonglong;
7553}
7554extern "C" {
7555    pub fn posix_memalign(
7556        __memptr: *mut *mut ::std::os::raw::c_void,
7557        __alignment: usize,
7558        __size: usize,
7559    ) -> ::std::os::raw::c_int;
7560}
7561extern "C" {
7562    pub fn aligned_alloc(
7563        __alignment: ::std::os::raw::c_ulong,
7564        __size: ::std::os::raw::c_ulong,
7565    ) -> *mut ::std::os::raw::c_void;
7566}
7567extern "C" {
7568    pub fn strtod(
7569        __s: *const ::std::os::raw::c_char,
7570        __end_ptr: *mut *mut ::std::os::raw::c_char,
7571    ) -> f64;
7572}
7573extern "C" {
7574    pub fn strtold(
7575        __s: *const ::std::os::raw::c_char,
7576        __end_ptr: *mut *mut ::std::os::raw::c_char,
7577    ) -> u128;
7578}
7579extern "C" {
7580    pub fn strtoul_l(
7581        __s: *const ::std::os::raw::c_char,
7582        __end_ptr: *mut *mut ::std::os::raw::c_char,
7583        __base: ::std::os::raw::c_int,
7584        __l: locale_t,
7585    ) -> ::std::os::raw::c_ulong;
7586}
7587extern "C" {
7588    pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7589}
7590extern "C" {
7591    pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
7592}
7593extern "C" {
7594    pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
7595}
7596extern "C" {
7597    pub fn realpath(
7598        __path: *const ::std::os::raw::c_char,
7599        __resolved: *mut ::std::os::raw::c_char,
7600    ) -> *mut ::std::os::raw::c_char;
7601}
7602extern "C" {
7603    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7604}
7605extern "C" {
7606    pub fn bsearch(
7607        __key: *const ::std::os::raw::c_void,
7608        __base: *const ::std::os::raw::c_void,
7609        __nmemb: usize,
7610        __size: usize,
7611        __comparator: ::std::option::Option<
7612            unsafe extern "C" fn(
7613                __lhs: *const ::std::os::raw::c_void,
7614                __rhs: *const ::std::os::raw::c_void,
7615            ) -> ::std::os::raw::c_int,
7616        >,
7617    ) -> *mut ::std::os::raw::c_void;
7618}
7619extern "C" {
7620    pub fn qsort(
7621        __base: *mut ::std::os::raw::c_void,
7622        __nmemb: usize,
7623        __size: usize,
7624        __comparator: ::std::option::Option<
7625            unsafe extern "C" fn(
7626                __lhs: *const ::std::os::raw::c_void,
7627                __rhs: *const ::std::os::raw::c_void,
7628            ) -> ::std::os::raw::c_int,
7629        >,
7630    );
7631}
7632extern "C" {
7633    pub fn arc4random() -> u32;
7634}
7635extern "C" {
7636    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
7637}
7638extern "C" {
7639    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize);
7640}
7641extern "C" {
7642    pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
7643}
7644extern "C" {
7645    pub fn drand48() -> f64;
7646}
7647extern "C" {
7648    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
7649}
7650extern "C" {
7651    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
7652}
7653extern "C" {
7654    pub fn lrand48() -> ::std::os::raw::c_long;
7655}
7656extern "C" {
7657    pub fn mrand48() -> ::std::os::raw::c_long;
7658}
7659extern "C" {
7660    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
7661}
7662extern "C" {
7663    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
7664}
7665extern "C" {
7666    pub fn srand48(__seed: ::std::os::raw::c_long);
7667}
7668extern "C" {
7669    pub fn initstate(
7670        __seed: ::std::os::raw::c_uint,
7671        __state: *mut ::std::os::raw::c_char,
7672        __n: usize,
7673    ) -> *mut ::std::os::raw::c_char;
7674}
7675extern "C" {
7676    pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7677}
7678extern "C" {
7679    pub fn getpt() -> ::std::os::raw::c_int;
7680}
7681extern "C" {
7682    pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7683}
7684extern "C" {
7685    pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
7686}
7687extern "C" {
7688    pub fn ptsname_r(
7689        __fd: ::std::os::raw::c_int,
7690        __buf: *mut ::std::os::raw::c_char,
7691        __n: usize,
7692    ) -> ::std::os::raw::c_int;
7693}
7694extern "C" {
7695    pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7696}
7697extern "C" {
7698    pub fn getsubopt(
7699        __option: *mut *mut ::std::os::raw::c_char,
7700        __tokens: *const *mut ::std::os::raw::c_char,
7701        __value_ptr: *mut *mut ::std::os::raw::c_char,
7702    ) -> ::std::os::raw::c_int;
7703}
7704#[repr(C)]
7705#[derive(Debug, Copy, Clone)]
7706pub struct div_t {
7707    pub quot: ::std::os::raw::c_int,
7708    pub rem: ::std::os::raw::c_int,
7709}
7710#[test]
7711fn bindgen_test_layout_div_t() {
7712    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
7713    let ptr = UNINIT.as_ptr();
7714    assert_eq!(
7715        ::std::mem::size_of::<div_t>(),
7716        8usize,
7717        concat!("Size of: ", stringify!(div_t))
7718    );
7719    assert_eq!(
7720        ::std::mem::align_of::<div_t>(),
7721        4usize,
7722        concat!("Alignment of ", stringify!(div_t))
7723    );
7724    assert_eq!(
7725        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7726        0usize,
7727        concat!(
7728            "Offset of field: ",
7729            stringify!(div_t),
7730            "::",
7731            stringify!(quot)
7732        )
7733    );
7734    assert_eq!(
7735        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7736        4usize,
7737        concat!(
7738            "Offset of field: ",
7739            stringify!(div_t),
7740            "::",
7741            stringify!(rem)
7742        )
7743    );
7744}
7745extern "C" {
7746    pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
7747}
7748#[repr(C)]
7749#[derive(Debug, Copy, Clone)]
7750pub struct ldiv_t {
7751    pub quot: ::std::os::raw::c_long,
7752    pub rem: ::std::os::raw::c_long,
7753}
7754#[test]
7755fn bindgen_test_layout_ldiv_t() {
7756    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
7757    let ptr = UNINIT.as_ptr();
7758    assert_eq!(
7759        ::std::mem::size_of::<ldiv_t>(),
7760        16usize,
7761        concat!("Size of: ", stringify!(ldiv_t))
7762    );
7763    assert_eq!(
7764        ::std::mem::align_of::<ldiv_t>(),
7765        8usize,
7766        concat!("Alignment of ", stringify!(ldiv_t))
7767    );
7768    assert_eq!(
7769        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7770        0usize,
7771        concat!(
7772            "Offset of field: ",
7773            stringify!(ldiv_t),
7774            "::",
7775            stringify!(quot)
7776        )
7777    );
7778    assert_eq!(
7779        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7780        8usize,
7781        concat!(
7782            "Offset of field: ",
7783            stringify!(ldiv_t),
7784            "::",
7785            stringify!(rem)
7786        )
7787    );
7788}
7789extern "C" {
7790    pub fn ldiv(
7791        __numerator: ::std::os::raw::c_long,
7792        __denominator: ::std::os::raw::c_long,
7793    ) -> ldiv_t;
7794}
7795#[repr(C)]
7796#[derive(Debug, Copy, Clone)]
7797pub struct lldiv_t {
7798    pub quot: ::std::os::raw::c_longlong,
7799    pub rem: ::std::os::raw::c_longlong,
7800}
7801#[test]
7802fn bindgen_test_layout_lldiv_t() {
7803    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
7804    let ptr = UNINIT.as_ptr();
7805    assert_eq!(
7806        ::std::mem::size_of::<lldiv_t>(),
7807        16usize,
7808        concat!("Size of: ", stringify!(lldiv_t))
7809    );
7810    assert_eq!(
7811        ::std::mem::align_of::<lldiv_t>(),
7812        8usize,
7813        concat!("Alignment of ", stringify!(lldiv_t))
7814    );
7815    assert_eq!(
7816        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7817        0usize,
7818        concat!(
7819            "Offset of field: ",
7820            stringify!(lldiv_t),
7821            "::",
7822            stringify!(quot)
7823        )
7824    );
7825    assert_eq!(
7826        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7827        8usize,
7828        concat!(
7829            "Offset of field: ",
7830            stringify!(lldiv_t),
7831            "::",
7832            stringify!(rem)
7833        )
7834    );
7835}
7836extern "C" {
7837    pub fn lldiv(
7838        __numerator: ::std::os::raw::c_longlong,
7839        __denominator: ::std::os::raw::c_longlong,
7840    ) -> lldiv_t;
7841}
7842extern "C" {
7843    pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7844}
7845extern "C" {
7846    pub fn getprogname() -> *const ::std::os::raw::c_char;
7847}
7848extern "C" {
7849    pub fn setprogname(__name: *const ::std::os::raw::c_char);
7850}
7851extern "C" {
7852    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
7853}
7854extern "C" {
7855    pub fn mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize)
7856        -> usize;
7857}
7858extern "C" {
7859    pub fn mbtowc(
7860        __wc_ptr: *mut wchar_t,
7861        __s: *const ::std::os::raw::c_char,
7862        __n: usize,
7863    ) -> ::std::os::raw::c_int;
7864}
7865extern "C" {
7866    pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
7867}
7868extern "C" {
7869    pub fn wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize)
7870        -> usize;
7871}
7872extern "C" {
7873    pub fn __ctype_get_mb_cur_max() -> usize;
7874}
7875extern "C" {
7876    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7877}
7878extern "C" {
7879    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7880}
7881extern "C" {
7882    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
7883}
7884extern "C" {
7885    pub fn strtof(
7886        __s: *const ::std::os::raw::c_char,
7887        __end_ptr: *mut *mut ::std::os::raw::c_char,
7888    ) -> f32;
7889}
7890extern "C" {
7891    pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
7892}
7893extern "C" {
7894    pub fn rand() -> ::std::os::raw::c_int;
7895}
7896extern "C" {
7897    pub fn srand(__seed: ::std::os::raw::c_uint);
7898}
7899extern "C" {
7900    pub fn random() -> ::std::os::raw::c_long;
7901}
7902extern "C" {
7903    pub fn srandom(__seed: ::std::os::raw::c_uint);
7904}
7905extern "C" {
7906    pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7907}
7908extern "C" {
7909    pub fn strtoll_l(
7910        __s: *const ::std::os::raw::c_char,
7911        __end_ptr: *mut *mut ::std::os::raw::c_char,
7912        __base: ::std::os::raw::c_int,
7913        __l: locale_t,
7914    ) -> ::std::os::raw::c_longlong;
7915}
7916extern "C" {
7917    pub fn strtoull_l(
7918        __s: *const ::std::os::raw::c_char,
7919        __end_ptr: *mut *mut ::std::os::raw::c_char,
7920        __base: ::std::os::raw::c_int,
7921        __l: locale_t,
7922    ) -> ::std::os::raw::c_ulonglong;
7923}
7924extern "C" {
7925    pub fn strtold_l(
7926        __s: *const ::std::os::raw::c_char,
7927        __end_ptr: *mut *mut ::std::os::raw::c_char,
7928        __l: locale_t,
7929    ) -> u128;
7930}
7931extern "C" {
7932    pub fn strtod_l(
7933        __s: *const ::std::os::raw::c_char,
7934        __end_ptr: *mut *mut ::std::os::raw::c_char,
7935        __l: locale_t,
7936    ) -> f64;
7937}
7938extern "C" {
7939    pub fn strtof_l(
7940        __s: *const ::std::os::raw::c_char,
7941        __end_ptr: *mut *mut ::std::os::raw::c_char,
7942        __l: locale_t,
7943    ) -> f32;
7944}
7945extern "C" {
7946    pub fn strtol_l(
7947        __s: *const ::std::os::raw::c_char,
7948        __end_ptr: *mut *mut ::std::os::raw::c_char,
7949        arg1: ::std::os::raw::c_int,
7950        __l: locale_t,
7951    ) -> ::std::os::raw::c_long;
7952}
7953pub type net_handle_t = u64;
7954extern "C" {
7955    pub fn android_setsocknetwork(
7956        network: net_handle_t,
7957        fd: ::std::os::raw::c_int,
7958    ) -> ::std::os::raw::c_int;
7959}
7960extern "C" {
7961    pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
7962}
7963extern "C" {
7964    pub fn android_getprocnetwork(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7965}
7966extern "C" {
7967    pub fn android_setprocdns(network: net_handle_t) -> ::std::os::raw::c_int;
7968}
7969extern "C" {
7970    pub fn android_getprocdns(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7971}
7972extern "C" {
7973    pub fn android_getaddrinfofornetwork(
7974        network: net_handle_t,
7975        node: *const ::std::os::raw::c_char,
7976        service: *const ::std::os::raw::c_char,
7977        hints: *const addrinfo,
7978        res: *mut *mut addrinfo,
7979    ) -> ::std::os::raw::c_int;
7980}
7981impl ResNsendFlags {
7982    pub const ANDROID_RESOLV_NO_RETRY: ResNsendFlags = ResNsendFlags(1);
7983}
7984impl ResNsendFlags {
7985    pub const ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = ResNsendFlags(2);
7986}
7987impl ResNsendFlags {
7988    pub const ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = ResNsendFlags(4);
7989}
7990#[repr(transparent)]
7991#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7992pub struct ResNsendFlags(pub u32);
7993extern "C" {
7994    pub fn android_res_nquery(
7995        network: net_handle_t,
7996        dname: *const ::std::os::raw::c_char,
7997        ns_class: ::std::os::raw::c_int,
7998        ns_type: ::std::os::raw::c_int,
7999        flags: u32,
8000    ) -> ::std::os::raw::c_int;
8001}
8002extern "C" {
8003    pub fn android_res_nsend(
8004        network: net_handle_t,
8005        msg: *const u8,
8006        msglen: usize,
8007        flags: u32,
8008    ) -> ::std::os::raw::c_int;
8009}
8010extern "C" {
8011    pub fn android_res_nresult(
8012        fd: ::std::os::raw::c_int,
8013        rcode: *mut ::std::os::raw::c_int,
8014        answer: *mut u8,
8015        anslen: usize,
8016    ) -> ::std::os::raw::c_int;
8017}
8018extern "C" {
8019    pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
8020}
8021extern "C" {
8022    pub fn android_tag_socket_with_uid(
8023        sockfd: ::std::os::raw::c_int,
8024        tag: u32,
8025        uid: uid_t,
8026    ) -> ::std::os::raw::c_int;
8027}
8028extern "C" {
8029    pub fn android_tag_socket(sockfd: ::std::os::raw::c_int, tag: u32) -> ::std::os::raw::c_int;
8030}
8031extern "C" {
8032    pub fn android_untag_socket(sockfd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8033}
8034impl ANativeWindow_LegacyFormat {
8035    pub const WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(1);
8036}
8037impl ANativeWindow_LegacyFormat {
8038    pub const WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(2);
8039}
8040impl ANativeWindow_LegacyFormat {
8041    pub const WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(4);
8042}
8043#[repr(transparent)]
8044#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8045pub struct ANativeWindow_LegacyFormat(pub ::std::os::raw::c_uint);
8046impl ANativeWindowTransform {
8047    pub const ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = ANativeWindowTransform(0);
8048}
8049impl ANativeWindowTransform {
8050    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
8051        ANativeWindowTransform(1);
8052}
8053impl ANativeWindowTransform {
8054    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
8055        ANativeWindowTransform(2);
8056}
8057impl ANativeWindowTransform {
8058    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = ANativeWindowTransform(4);
8059}
8060impl ANativeWindowTransform {
8061    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform =
8062        ANativeWindowTransform(3);
8063}
8064impl ANativeWindowTransform {
8065    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform =
8066        ANativeWindowTransform(7);
8067}
8068#[repr(transparent)]
8069#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8070pub struct ANativeWindowTransform(pub ::std::os::raw::c_uint);
8071#[repr(C)]
8072#[derive(Debug, Copy, Clone)]
8073pub struct ANativeWindow {
8074    _unused: [u8; 0],
8075}
8076#[repr(C)]
8077#[derive(Debug, Copy, Clone)]
8078pub struct ANativeWindow_Buffer {
8079    pub width: i32,
8080    pub height: i32,
8081    pub stride: i32,
8082    pub format: i32,
8083    pub bits: *mut ::std::os::raw::c_void,
8084    pub reserved: [u32; 6usize],
8085}
8086#[test]
8087fn bindgen_test_layout_ANativeWindow_Buffer() {
8088    const UNINIT: ::std::mem::MaybeUninit<ANativeWindow_Buffer> = ::std::mem::MaybeUninit::uninit();
8089    let ptr = UNINIT.as_ptr();
8090    assert_eq!(
8091        ::std::mem::size_of::<ANativeWindow_Buffer>(),
8092        48usize,
8093        concat!("Size of: ", stringify!(ANativeWindow_Buffer))
8094    );
8095    assert_eq!(
8096        ::std::mem::align_of::<ANativeWindow_Buffer>(),
8097        8usize,
8098        concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
8099    );
8100    assert_eq!(
8101        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8102        0usize,
8103        concat!(
8104            "Offset of field: ",
8105            stringify!(ANativeWindow_Buffer),
8106            "::",
8107            stringify!(width)
8108        )
8109    );
8110    assert_eq!(
8111        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
8112        4usize,
8113        concat!(
8114            "Offset of field: ",
8115            stringify!(ANativeWindow_Buffer),
8116            "::",
8117            stringify!(height)
8118        )
8119    );
8120    assert_eq!(
8121        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
8122        8usize,
8123        concat!(
8124            "Offset of field: ",
8125            stringify!(ANativeWindow_Buffer),
8126            "::",
8127            stringify!(stride)
8128        )
8129    );
8130    assert_eq!(
8131        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
8132        12usize,
8133        concat!(
8134            "Offset of field: ",
8135            stringify!(ANativeWindow_Buffer),
8136            "::",
8137            stringify!(format)
8138        )
8139    );
8140    assert_eq!(
8141        unsafe { ::std::ptr::addr_of!((*ptr).bits) as usize - ptr as usize },
8142        16usize,
8143        concat!(
8144            "Offset of field: ",
8145            stringify!(ANativeWindow_Buffer),
8146            "::",
8147            stringify!(bits)
8148        )
8149    );
8150    assert_eq!(
8151        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8152        24usize,
8153        concat!(
8154            "Offset of field: ",
8155            stringify!(ANativeWindow_Buffer),
8156            "::",
8157            stringify!(reserved)
8158        )
8159    );
8160}
8161extern "C" {
8162    pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
8163}
8164extern "C" {
8165    pub fn ANativeWindow_release(window: *mut ANativeWindow);
8166}
8167extern "C" {
8168    pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
8169}
8170extern "C" {
8171    pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
8172}
8173extern "C" {
8174    pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
8175}
8176extern "C" {
8177    pub fn ANativeWindow_setBuffersGeometry(
8178        window: *mut ANativeWindow,
8179        width: i32,
8180        height: i32,
8181        format: i32,
8182    ) -> i32;
8183}
8184extern "C" {
8185    pub fn ANativeWindow_lock(
8186        window: *mut ANativeWindow,
8187        outBuffer: *mut ANativeWindow_Buffer,
8188        inOutDirtyBounds: *mut ARect,
8189    ) -> i32;
8190}
8191extern "C" {
8192    pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
8193}
8194extern "C" {
8195    pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
8196}
8197extern "C" {
8198    pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
8199}
8200extern "C" {
8201    pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
8202}
8203extern "C" {
8204    pub fn ANativeWindow_getBuffersDefaultDataSpace(window: *mut ANativeWindow) -> i32;
8205}
8206impl ANativeWindow_FrameRateCompatibility {
8207    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT: ANativeWindow_FrameRateCompatibility =
8208        ANativeWindow_FrameRateCompatibility(0);
8209}
8210impl ANativeWindow_FrameRateCompatibility {
8211    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_FIXED_SOURCE:
8212        ANativeWindow_FrameRateCompatibility = ANativeWindow_FrameRateCompatibility(1);
8213}
8214#[repr(transparent)]
8215#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8216pub struct ANativeWindow_FrameRateCompatibility(pub ::std::os::raw::c_uint);
8217extern "C" {
8218    pub fn ANativeWindow_setFrameRate(
8219        window: *mut ANativeWindow,
8220        frameRate: f32,
8221        compatibility: i8,
8222    ) -> i32;
8223}
8224extern "C" {
8225    pub fn ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow);
8226}
8227impl ANativeWindow_ChangeFrameRateStrategy {
8228    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS:
8229        ANativeWindow_ChangeFrameRateStrategy = ANativeWindow_ChangeFrameRateStrategy(0);
8230}
8231impl ANativeWindow_ChangeFrameRateStrategy {
8232    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ALWAYS: ANativeWindow_ChangeFrameRateStrategy =
8233        ANativeWindow_ChangeFrameRateStrategy(1);
8234}
8235#[repr(transparent)]
8236#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8237pub struct ANativeWindow_ChangeFrameRateStrategy(pub ::std::os::raw::c_uint);
8238extern "C" {
8239    pub fn ANativeWindow_setFrameRateWithChangeStrategy(
8240        window: *mut ANativeWindow,
8241        frameRate: f32,
8242        compatibility: i8,
8243        changeFrameRateStrategy: i8,
8244    ) -> i32;
8245}
8246#[repr(C)]
8247pub struct ANativeActivity {
8248    pub callbacks: *mut ANativeActivityCallbacks,
8249    pub vm: *mut JavaVM,
8250    pub env: *mut JNIEnv,
8251    pub clazz: jobject,
8252    pub internalDataPath: *const ::std::os::raw::c_char,
8253    pub externalDataPath: *const ::std::os::raw::c_char,
8254    pub sdkVersion: i32,
8255    pub instance: *mut ::std::os::raw::c_void,
8256    pub assetManager: *mut AAssetManager,
8257    pub obbPath: *const ::std::os::raw::c_char,
8258}
8259#[test]
8260fn bindgen_test_layout_ANativeActivity() {
8261    const UNINIT: ::std::mem::MaybeUninit<ANativeActivity> = ::std::mem::MaybeUninit::uninit();
8262    let ptr = UNINIT.as_ptr();
8263    assert_eq!(
8264        ::std::mem::size_of::<ANativeActivity>(),
8265        80usize,
8266        concat!("Size of: ", stringify!(ANativeActivity))
8267    );
8268    assert_eq!(
8269        ::std::mem::align_of::<ANativeActivity>(),
8270        8usize,
8271        concat!("Alignment of ", stringify!(ANativeActivity))
8272    );
8273    assert_eq!(
8274        unsafe { ::std::ptr::addr_of!((*ptr).callbacks) as usize - ptr as usize },
8275        0usize,
8276        concat!(
8277            "Offset of field: ",
8278            stringify!(ANativeActivity),
8279            "::",
8280            stringify!(callbacks)
8281        )
8282    );
8283    assert_eq!(
8284        unsafe { ::std::ptr::addr_of!((*ptr).vm) as usize - ptr as usize },
8285        8usize,
8286        concat!(
8287            "Offset of field: ",
8288            stringify!(ANativeActivity),
8289            "::",
8290            stringify!(vm)
8291        )
8292    );
8293    assert_eq!(
8294        unsafe { ::std::ptr::addr_of!((*ptr).env) as usize - ptr as usize },
8295        16usize,
8296        concat!(
8297            "Offset of field: ",
8298            stringify!(ANativeActivity),
8299            "::",
8300            stringify!(env)
8301        )
8302    );
8303    assert_eq!(
8304        unsafe { ::std::ptr::addr_of!((*ptr).clazz) as usize - ptr as usize },
8305        24usize,
8306        concat!(
8307            "Offset of field: ",
8308            stringify!(ANativeActivity),
8309            "::",
8310            stringify!(clazz)
8311        )
8312    );
8313    assert_eq!(
8314        unsafe { ::std::ptr::addr_of!((*ptr).internalDataPath) as usize - ptr as usize },
8315        32usize,
8316        concat!(
8317            "Offset of field: ",
8318            stringify!(ANativeActivity),
8319            "::",
8320            stringify!(internalDataPath)
8321        )
8322    );
8323    assert_eq!(
8324        unsafe { ::std::ptr::addr_of!((*ptr).externalDataPath) as usize - ptr as usize },
8325        40usize,
8326        concat!(
8327            "Offset of field: ",
8328            stringify!(ANativeActivity),
8329            "::",
8330            stringify!(externalDataPath)
8331        )
8332    );
8333    assert_eq!(
8334        unsafe { ::std::ptr::addr_of!((*ptr).sdkVersion) as usize - ptr as usize },
8335        48usize,
8336        concat!(
8337            "Offset of field: ",
8338            stringify!(ANativeActivity),
8339            "::",
8340            stringify!(sdkVersion)
8341        )
8342    );
8343    assert_eq!(
8344        unsafe { ::std::ptr::addr_of!((*ptr).instance) as usize - ptr as usize },
8345        56usize,
8346        concat!(
8347            "Offset of field: ",
8348            stringify!(ANativeActivity),
8349            "::",
8350            stringify!(instance)
8351        )
8352    );
8353    assert_eq!(
8354        unsafe { ::std::ptr::addr_of!((*ptr).assetManager) as usize - ptr as usize },
8355        64usize,
8356        concat!(
8357            "Offset of field: ",
8358            stringify!(ANativeActivity),
8359            "::",
8360            stringify!(assetManager)
8361        )
8362    );
8363    assert_eq!(
8364        unsafe { ::std::ptr::addr_of!((*ptr).obbPath) as usize - ptr as usize },
8365        72usize,
8366        concat!(
8367            "Offset of field: ",
8368            stringify!(ANativeActivity),
8369            "::",
8370            stringify!(obbPath)
8371        )
8372    );
8373}
8374#[repr(C)]
8375#[derive(Debug, Copy, Clone)]
8376pub struct ANativeActivityCallbacks {
8377    pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8378    pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8379    pub onSaveInstanceState: ::std::option::Option<
8380        unsafe extern "C" fn(
8381            activity: *mut ANativeActivity,
8382            outSize: *mut usize,
8383        ) -> *mut ::std::os::raw::c_void,
8384    >,
8385    pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8386    pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8387    pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8388    pub onWindowFocusChanged: ::std::option::Option<
8389        unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
8390    >,
8391    pub onNativeWindowCreated: ::std::option::Option<
8392        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8393    >,
8394    pub onNativeWindowResized: ::std::option::Option<
8395        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8396    >,
8397    pub onNativeWindowRedrawNeeded: ::std::option::Option<
8398        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8399    >,
8400    pub onNativeWindowDestroyed: ::std::option::Option<
8401        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8402    >,
8403    pub onInputQueueCreated: ::std::option::Option<
8404        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8405    >,
8406    pub onInputQueueDestroyed: ::std::option::Option<
8407        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8408    >,
8409    pub onContentRectChanged: ::std::option::Option<
8410        unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
8411    >,
8412    pub onConfigurationChanged:
8413        ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8414    pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8415}
8416#[test]
8417fn bindgen_test_layout_ANativeActivityCallbacks() {
8418    const UNINIT: ::std::mem::MaybeUninit<ANativeActivityCallbacks> =
8419        ::std::mem::MaybeUninit::uninit();
8420    let ptr = UNINIT.as_ptr();
8421    assert_eq!(
8422        ::std::mem::size_of::<ANativeActivityCallbacks>(),
8423        128usize,
8424        concat!("Size of: ", stringify!(ANativeActivityCallbacks))
8425    );
8426    assert_eq!(
8427        ::std::mem::align_of::<ANativeActivityCallbacks>(),
8428        8usize,
8429        concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
8430    );
8431    assert_eq!(
8432        unsafe { ::std::ptr::addr_of!((*ptr).onStart) as usize - ptr as usize },
8433        0usize,
8434        concat!(
8435            "Offset of field: ",
8436            stringify!(ANativeActivityCallbacks),
8437            "::",
8438            stringify!(onStart)
8439        )
8440    );
8441    assert_eq!(
8442        unsafe { ::std::ptr::addr_of!((*ptr).onResume) as usize - ptr as usize },
8443        8usize,
8444        concat!(
8445            "Offset of field: ",
8446            stringify!(ANativeActivityCallbacks),
8447            "::",
8448            stringify!(onResume)
8449        )
8450    );
8451    assert_eq!(
8452        unsafe { ::std::ptr::addr_of!((*ptr).onSaveInstanceState) as usize - ptr as usize },
8453        16usize,
8454        concat!(
8455            "Offset of field: ",
8456            stringify!(ANativeActivityCallbacks),
8457            "::",
8458            stringify!(onSaveInstanceState)
8459        )
8460    );
8461    assert_eq!(
8462        unsafe { ::std::ptr::addr_of!((*ptr).onPause) as usize - ptr as usize },
8463        24usize,
8464        concat!(
8465            "Offset of field: ",
8466            stringify!(ANativeActivityCallbacks),
8467            "::",
8468            stringify!(onPause)
8469        )
8470    );
8471    assert_eq!(
8472        unsafe { ::std::ptr::addr_of!((*ptr).onStop) as usize - ptr as usize },
8473        32usize,
8474        concat!(
8475            "Offset of field: ",
8476            stringify!(ANativeActivityCallbacks),
8477            "::",
8478            stringify!(onStop)
8479        )
8480    );
8481    assert_eq!(
8482        unsafe { ::std::ptr::addr_of!((*ptr).onDestroy) as usize - ptr as usize },
8483        40usize,
8484        concat!(
8485            "Offset of field: ",
8486            stringify!(ANativeActivityCallbacks),
8487            "::",
8488            stringify!(onDestroy)
8489        )
8490    );
8491    assert_eq!(
8492        unsafe { ::std::ptr::addr_of!((*ptr).onWindowFocusChanged) as usize - ptr as usize },
8493        48usize,
8494        concat!(
8495            "Offset of field: ",
8496            stringify!(ANativeActivityCallbacks),
8497            "::",
8498            stringify!(onWindowFocusChanged)
8499        )
8500    );
8501    assert_eq!(
8502        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowCreated) as usize - ptr as usize },
8503        56usize,
8504        concat!(
8505            "Offset of field: ",
8506            stringify!(ANativeActivityCallbacks),
8507            "::",
8508            stringify!(onNativeWindowCreated)
8509        )
8510    );
8511    assert_eq!(
8512        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowResized) as usize - ptr as usize },
8513        64usize,
8514        concat!(
8515            "Offset of field: ",
8516            stringify!(ANativeActivityCallbacks),
8517            "::",
8518            stringify!(onNativeWindowResized)
8519        )
8520    );
8521    assert_eq!(
8522        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowRedrawNeeded) as usize - ptr as usize },
8523        72usize,
8524        concat!(
8525            "Offset of field: ",
8526            stringify!(ANativeActivityCallbacks),
8527            "::",
8528            stringify!(onNativeWindowRedrawNeeded)
8529        )
8530    );
8531    assert_eq!(
8532        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowDestroyed) as usize - ptr as usize },
8533        80usize,
8534        concat!(
8535            "Offset of field: ",
8536            stringify!(ANativeActivityCallbacks),
8537            "::",
8538            stringify!(onNativeWindowDestroyed)
8539        )
8540    );
8541    assert_eq!(
8542        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueCreated) as usize - ptr as usize },
8543        88usize,
8544        concat!(
8545            "Offset of field: ",
8546            stringify!(ANativeActivityCallbacks),
8547            "::",
8548            stringify!(onInputQueueCreated)
8549        )
8550    );
8551    assert_eq!(
8552        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueDestroyed) as usize - ptr as usize },
8553        96usize,
8554        concat!(
8555            "Offset of field: ",
8556            stringify!(ANativeActivityCallbacks),
8557            "::",
8558            stringify!(onInputQueueDestroyed)
8559        )
8560    );
8561    assert_eq!(
8562        unsafe { ::std::ptr::addr_of!((*ptr).onContentRectChanged) as usize - ptr as usize },
8563        104usize,
8564        concat!(
8565            "Offset of field: ",
8566            stringify!(ANativeActivityCallbacks),
8567            "::",
8568            stringify!(onContentRectChanged)
8569        )
8570    );
8571    assert_eq!(
8572        unsafe { ::std::ptr::addr_of!((*ptr).onConfigurationChanged) as usize - ptr as usize },
8573        112usize,
8574        concat!(
8575            "Offset of field: ",
8576            stringify!(ANativeActivityCallbacks),
8577            "::",
8578            stringify!(onConfigurationChanged)
8579        )
8580    );
8581    assert_eq!(
8582        unsafe { ::std::ptr::addr_of!((*ptr).onLowMemory) as usize - ptr as usize },
8583        120usize,
8584        concat!(
8585            "Offset of field: ",
8586            stringify!(ANativeActivityCallbacks),
8587            "::",
8588            stringify!(onLowMemory)
8589        )
8590    );
8591}
8592pub type ANativeActivity_createFunc = ::std::option::Option<
8593    unsafe extern "C" fn(
8594        activity: *mut ANativeActivity,
8595        savedState: *mut ::std::os::raw::c_void,
8596        savedStateSize: usize,
8597    ),
8598>;
8599extern "C" {
8600    pub fn ANativeActivity_onCreate(
8601        activity: *mut ANativeActivity,
8602        savedState: *mut ::std::os::raw::c_void,
8603        savedStateSize: usize,
8604    );
8605}
8606extern "C" {
8607    pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
8608}
8609extern "C" {
8610    pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
8611}
8612extern "C" {
8613    pub fn ANativeActivity_setWindowFlags(
8614        activity: *mut ANativeActivity,
8615        addFlags: u32,
8616        removeFlags: u32,
8617    );
8618}
8619pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_33 = 1;
8620pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_33 = 2;
8621pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
8622extern "C" {
8623    pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
8624}
8625pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_34 = 1;
8626pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_34 = 2;
8627pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
8628extern "C" {
8629    pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
8630}
8631extern "C" {
8632    pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
8633}
8634extern "C" {
8635    pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
8636}
8637impl OperandCode {
8638    pub const ANEURALNETWORKS_FLOAT32: OperandCode = OperandCode(0);
8639}
8640impl OperandCode {
8641    pub const ANEURALNETWORKS_INT32: OperandCode = OperandCode(1);
8642}
8643impl OperandCode {
8644    pub const ANEURALNETWORKS_UINT32: OperandCode = OperandCode(2);
8645}
8646impl OperandCode {
8647    pub const ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = OperandCode(3);
8648}
8649impl OperandCode {
8650    pub const ANEURALNETWORKS_TENSOR_INT32: OperandCode = OperandCode(4);
8651}
8652impl OperandCode {
8653    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = OperandCode(5);
8654}
8655impl OperandCode {
8656    pub const ANEURALNETWORKS_BOOL: OperandCode = OperandCode(6);
8657}
8658impl OperandCode {
8659    pub const ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = OperandCode(7);
8660}
8661impl OperandCode {
8662    pub const ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = OperandCode(8);
8663}
8664impl OperandCode {
8665    pub const ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = OperandCode(9);
8666}
8667impl OperandCode {
8668    pub const ANEURALNETWORKS_FLOAT16: OperandCode = OperandCode(10);
8669}
8670impl OperandCode {
8671    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = OperandCode(11);
8672}
8673impl OperandCode {
8674    pub const ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = OperandCode(12);
8675}
8676impl OperandCode {
8677    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = OperandCode(13);
8678}
8679impl OperandCode {
8680    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED: OperandCode = OperandCode(14);
8681}
8682impl OperandCode {
8683    pub const ANEURALNETWORKS_MODEL: OperandCode = OperandCode(15);
8684}
8685#[repr(transparent)]
8686#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8687pub struct OperandCode(pub ::std::os::raw::c_uint);
8688impl OperationCode {
8689    pub const ANEURALNETWORKS_ADD: OperationCode = OperationCode(0);
8690}
8691impl OperationCode {
8692    pub const ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = OperationCode(1);
8693}
8694impl OperationCode {
8695    pub const ANEURALNETWORKS_CONCATENATION: OperationCode = OperationCode(2);
8696}
8697impl OperationCode {
8698    pub const ANEURALNETWORKS_CONV_2D: OperationCode = OperationCode(3);
8699}
8700impl OperationCode {
8701    pub const ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = OperationCode(4);
8702}
8703impl OperationCode {
8704    pub const ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = OperationCode(5);
8705}
8706impl OperationCode {
8707    pub const ANEURALNETWORKS_DEQUANTIZE: OperationCode = OperationCode(6);
8708}
8709impl OperationCode {
8710    pub const ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = OperationCode(7);
8711}
8712impl OperationCode {
8713    pub const ANEURALNETWORKS_FLOOR: OperationCode = OperationCode(8);
8714}
8715impl OperationCode {
8716    pub const ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = OperationCode(9);
8717}
8718impl OperationCode {
8719    pub const ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = OperationCode(10);
8720}
8721impl OperationCode {
8722    pub const ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = OperationCode(11);
8723}
8724impl OperationCode {
8725    pub const ANEURALNETWORKS_L2_POOL_2D: OperationCode = OperationCode(12);
8726}
8727impl OperationCode {
8728    pub const ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = OperationCode(13);
8729}
8730impl OperationCode {
8731    pub const ANEURALNETWORKS_LOGISTIC: OperationCode = OperationCode(14);
8732}
8733impl OperationCode {
8734    pub const ANEURALNETWORKS_LSH_PROJECTION: OperationCode = OperationCode(15);
8735}
8736impl OperationCode {
8737    pub const ANEURALNETWORKS_LSTM: OperationCode = OperationCode(16);
8738}
8739impl OperationCode {
8740    pub const ANEURALNETWORKS_MAX_POOL_2D: OperationCode = OperationCode(17);
8741}
8742impl OperationCode {
8743    pub const ANEURALNETWORKS_MUL: OperationCode = OperationCode(18);
8744}
8745impl OperationCode {
8746    pub const ANEURALNETWORKS_RELU: OperationCode = OperationCode(19);
8747}
8748impl OperationCode {
8749    pub const ANEURALNETWORKS_RELU1: OperationCode = OperationCode(20);
8750}
8751impl OperationCode {
8752    pub const ANEURALNETWORKS_RELU6: OperationCode = OperationCode(21);
8753}
8754impl OperationCode {
8755    pub const ANEURALNETWORKS_RESHAPE: OperationCode = OperationCode(22);
8756}
8757impl OperationCode {
8758    pub const ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = OperationCode(23);
8759}
8760impl OperationCode {
8761    pub const ANEURALNETWORKS_RNN: OperationCode = OperationCode(24);
8762}
8763impl OperationCode {
8764    pub const ANEURALNETWORKS_SOFTMAX: OperationCode = OperationCode(25);
8765}
8766impl OperationCode {
8767    pub const ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = OperationCode(26);
8768}
8769impl OperationCode {
8770    pub const ANEURALNETWORKS_SVDF: OperationCode = OperationCode(27);
8771}
8772impl OperationCode {
8773    pub const ANEURALNETWORKS_TANH: OperationCode = OperationCode(28);
8774}
8775impl OperationCode {
8776    pub const ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = OperationCode(29);
8777}
8778impl OperationCode {
8779    pub const ANEURALNETWORKS_DIV: OperationCode = OperationCode(30);
8780}
8781impl OperationCode {
8782    pub const ANEURALNETWORKS_MEAN: OperationCode = OperationCode(31);
8783}
8784impl OperationCode {
8785    pub const ANEURALNETWORKS_PAD: OperationCode = OperationCode(32);
8786}
8787impl OperationCode {
8788    pub const ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = OperationCode(33);
8789}
8790impl OperationCode {
8791    pub const ANEURALNETWORKS_SQUEEZE: OperationCode = OperationCode(34);
8792}
8793impl OperationCode {
8794    pub const ANEURALNETWORKS_STRIDED_SLICE: OperationCode = OperationCode(35);
8795}
8796impl OperationCode {
8797    pub const ANEURALNETWORKS_SUB: OperationCode = OperationCode(36);
8798}
8799impl OperationCode {
8800    pub const ANEURALNETWORKS_TRANSPOSE: OperationCode = OperationCode(37);
8801}
8802impl OperationCode {
8803    pub const ANEURALNETWORKS_ABS: OperationCode = OperationCode(38);
8804}
8805impl OperationCode {
8806    pub const ANEURALNETWORKS_ARGMAX: OperationCode = OperationCode(39);
8807}
8808impl OperationCode {
8809    pub const ANEURALNETWORKS_ARGMIN: OperationCode = OperationCode(40);
8810}
8811impl OperationCode {
8812    pub const ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = OperationCode(41);
8813}
8814impl OperationCode {
8815    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(42);
8816}
8817impl OperationCode {
8818    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(43);
8819}
8820impl OperationCode {
8821    pub const ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = OperationCode(44);
8822}
8823impl OperationCode {
8824    pub const ANEURALNETWORKS_CAST: OperationCode = OperationCode(45);
8825}
8826impl OperationCode {
8827    pub const ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = OperationCode(46);
8828}
8829impl OperationCode {
8830    pub const ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = OperationCode(47);
8831}
8832impl OperationCode {
8833    pub const ANEURALNETWORKS_EQUAL: OperationCode = OperationCode(48);
8834}
8835impl OperationCode {
8836    pub const ANEURALNETWORKS_EXP: OperationCode = OperationCode(49);
8837}
8838impl OperationCode {
8839    pub const ANEURALNETWORKS_EXPAND_DIMS: OperationCode = OperationCode(50);
8840}
8841impl OperationCode {
8842    pub const ANEURALNETWORKS_GATHER: OperationCode = OperationCode(51);
8843}
8844impl OperationCode {
8845    pub const ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = OperationCode(52);
8846}
8847impl OperationCode {
8848    pub const ANEURALNETWORKS_GREATER: OperationCode = OperationCode(53);
8849}
8850impl OperationCode {
8851    pub const ANEURALNETWORKS_GREATER_EQUAL: OperationCode = OperationCode(54);
8852}
8853impl OperationCode {
8854    pub const ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = OperationCode(55);
8855}
8856impl OperationCode {
8857    pub const ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = OperationCode(56);
8858}
8859impl OperationCode {
8860    pub const ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = OperationCode(57);
8861}
8862impl OperationCode {
8863    pub const ANEURALNETWORKS_LESS: OperationCode = OperationCode(58);
8864}
8865impl OperationCode {
8866    pub const ANEURALNETWORKS_LESS_EQUAL: OperationCode = OperationCode(59);
8867}
8868impl OperationCode {
8869    pub const ANEURALNETWORKS_LOG: OperationCode = OperationCode(60);
8870}
8871impl OperationCode {
8872    pub const ANEURALNETWORKS_LOGICAL_AND: OperationCode = OperationCode(61);
8873}
8874impl OperationCode {
8875    pub const ANEURALNETWORKS_LOGICAL_NOT: OperationCode = OperationCode(62);
8876}
8877impl OperationCode {
8878    pub const ANEURALNETWORKS_LOGICAL_OR: OperationCode = OperationCode(63);
8879}
8880impl OperationCode {
8881    pub const ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = OperationCode(64);
8882}
8883impl OperationCode {
8884    pub const ANEURALNETWORKS_MAXIMUM: OperationCode = OperationCode(65);
8885}
8886impl OperationCode {
8887    pub const ANEURALNETWORKS_MINIMUM: OperationCode = OperationCode(66);
8888}
8889impl OperationCode {
8890    pub const ANEURALNETWORKS_NEG: OperationCode = OperationCode(67);
8891}
8892impl OperationCode {
8893    pub const ANEURALNETWORKS_NOT_EQUAL: OperationCode = OperationCode(68);
8894}
8895impl OperationCode {
8896    pub const ANEURALNETWORKS_PAD_V2: OperationCode = OperationCode(69);
8897}
8898impl OperationCode {
8899    pub const ANEURALNETWORKS_POW: OperationCode = OperationCode(70);
8900}
8901impl OperationCode {
8902    pub const ANEURALNETWORKS_PRELU: OperationCode = OperationCode(71);
8903}
8904impl OperationCode {
8905    pub const ANEURALNETWORKS_QUANTIZE: OperationCode = OperationCode(72);
8906}
8907impl OperationCode {
8908    pub const ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = OperationCode(73);
8909}
8910impl OperationCode {
8911    pub const ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = OperationCode(74);
8912}
8913impl OperationCode {
8914    pub const ANEURALNETWORKS_REDUCE_ALL: OperationCode = OperationCode(75);
8915}
8916impl OperationCode {
8917    pub const ANEURALNETWORKS_REDUCE_ANY: OperationCode = OperationCode(76);
8918}
8919impl OperationCode {
8920    pub const ANEURALNETWORKS_REDUCE_MAX: OperationCode = OperationCode(77);
8921}
8922impl OperationCode {
8923    pub const ANEURALNETWORKS_REDUCE_MIN: OperationCode = OperationCode(78);
8924}
8925impl OperationCode {
8926    pub const ANEURALNETWORKS_REDUCE_PROD: OperationCode = OperationCode(79);
8927}
8928impl OperationCode {
8929    pub const ANEURALNETWORKS_REDUCE_SUM: OperationCode = OperationCode(80);
8930}
8931impl OperationCode {
8932    pub const ANEURALNETWORKS_ROI_ALIGN: OperationCode = OperationCode(81);
8933}
8934impl OperationCode {
8935    pub const ANEURALNETWORKS_ROI_POOLING: OperationCode = OperationCode(82);
8936}
8937impl OperationCode {
8938    pub const ANEURALNETWORKS_RSQRT: OperationCode = OperationCode(83);
8939}
8940impl OperationCode {
8941    pub const ANEURALNETWORKS_SELECT: OperationCode = OperationCode(84);
8942}
8943impl OperationCode {
8944    pub const ANEURALNETWORKS_SIN: OperationCode = OperationCode(85);
8945}
8946impl OperationCode {
8947    pub const ANEURALNETWORKS_SLICE: OperationCode = OperationCode(86);
8948}
8949impl OperationCode {
8950    pub const ANEURALNETWORKS_SPLIT: OperationCode = OperationCode(87);
8951}
8952impl OperationCode {
8953    pub const ANEURALNETWORKS_SQRT: OperationCode = OperationCode(88);
8954}
8955impl OperationCode {
8956    pub const ANEURALNETWORKS_TILE: OperationCode = OperationCode(89);
8957}
8958impl OperationCode {
8959    pub const ANEURALNETWORKS_TOPK_V2: OperationCode = OperationCode(90);
8960}
8961impl OperationCode {
8962    pub const ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = OperationCode(91);
8963}
8964impl OperationCode {
8965    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(92);
8966}
8967impl OperationCode {
8968    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(93);
8969}
8970impl OperationCode {
8971    pub const ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = OperationCode(94);
8972}
8973impl OperationCode {
8974    pub const ANEURALNETWORKS_QUANTIZED_LSTM: OperationCode = OperationCode(95);
8975}
8976impl OperationCode {
8977    pub const ANEURALNETWORKS_IF: OperationCode = OperationCode(96);
8978}
8979impl OperationCode {
8980    pub const ANEURALNETWORKS_WHILE: OperationCode = OperationCode(97);
8981}
8982impl OperationCode {
8983    pub const ANEURALNETWORKS_ELU: OperationCode = OperationCode(98);
8984}
8985impl OperationCode {
8986    pub const ANEURALNETWORKS_HARD_SWISH: OperationCode = OperationCode(99);
8987}
8988impl OperationCode {
8989    pub const ANEURALNETWORKS_FILL: OperationCode = OperationCode(100);
8990}
8991impl OperationCode {
8992    pub const ANEURALNETWORKS_RANK: OperationCode = OperationCode(101);
8993}
8994impl OperationCode {
8995    pub const ANEURALNETWORKS_BATCH_MATMUL: OperationCode = OperationCode(102);
8996}
8997impl OperationCode {
8998    pub const ANEURALNETWORKS_PACK: OperationCode = OperationCode(103);
8999}
9000impl OperationCode {
9001    pub const ANEURALNETWORKS_MIRROR_PAD: OperationCode = OperationCode(104);
9002}
9003impl OperationCode {
9004    pub const ANEURALNETWORKS_REVERSE: OperationCode = OperationCode(105);
9005}
9006#[repr(transparent)]
9007#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9008pub struct OperationCode(pub ::std::os::raw::c_uint);
9009impl FuseCode {
9010    pub const ANEURALNETWORKS_FUSED_NONE: FuseCode = FuseCode(0);
9011}
9012impl FuseCode {
9013    pub const ANEURALNETWORKS_FUSED_RELU: FuseCode = FuseCode(1);
9014}
9015impl FuseCode {
9016    pub const ANEURALNETWORKS_FUSED_RELU1: FuseCode = FuseCode(2);
9017}
9018impl FuseCode {
9019    pub const ANEURALNETWORKS_FUSED_RELU6: FuseCode = FuseCode(3);
9020}
9021#[repr(transparent)]
9022#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9023pub struct FuseCode(pub ::std::os::raw::c_uint);
9024impl PaddingCode {
9025    pub const ANEURALNETWORKS_PADDING_SAME: PaddingCode = PaddingCode(1);
9026}
9027impl PaddingCode {
9028    pub const ANEURALNETWORKS_PADDING_VALID: PaddingCode = PaddingCode(2);
9029}
9030#[repr(transparent)]
9031#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9032pub struct PaddingCode(pub ::std::os::raw::c_uint);
9033impl PreferenceCode {
9034    pub const ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = PreferenceCode(0);
9035}
9036impl PreferenceCode {
9037    pub const ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = PreferenceCode(1);
9038}
9039impl PreferenceCode {
9040    pub const ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = PreferenceCode(2);
9041}
9042#[repr(transparent)]
9043#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9044pub struct PreferenceCode(pub ::std::os::raw::c_uint);
9045impl DeviceTypeCode {
9046    pub const ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = DeviceTypeCode(0);
9047}
9048impl DeviceTypeCode {
9049    pub const ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = DeviceTypeCode(1);
9050}
9051impl DeviceTypeCode {
9052    pub const ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = DeviceTypeCode(2);
9053}
9054impl DeviceTypeCode {
9055    pub const ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = DeviceTypeCode(3);
9056}
9057impl DeviceTypeCode {
9058    pub const ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = DeviceTypeCode(4);
9059}
9060#[repr(transparent)]
9061#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9062pub struct DeviceTypeCode(pub ::std::os::raw::c_uint);
9063impl FeatureLevelCode {
9064    pub const ANEURALNETWORKS_FEATURE_LEVEL_1: FeatureLevelCode = FeatureLevelCode(27);
9065}
9066impl FeatureLevelCode {
9067    pub const ANEURALNETWORKS_FEATURE_LEVEL_2: FeatureLevelCode = FeatureLevelCode(28);
9068}
9069impl FeatureLevelCode {
9070    pub const ANEURALNETWORKS_FEATURE_LEVEL_3: FeatureLevelCode = FeatureLevelCode(29);
9071}
9072impl FeatureLevelCode {
9073    pub const ANEURALNETWORKS_FEATURE_LEVEL_4: FeatureLevelCode = FeatureLevelCode(30);
9074}
9075impl FeatureLevelCode {
9076    pub const ANEURALNETWORKS_FEATURE_LEVEL_5: FeatureLevelCode = FeatureLevelCode(31);
9077}
9078impl FeatureLevelCode {
9079    pub const ANEURALNETWORKS_FEATURE_LEVEL_6: FeatureLevelCode = FeatureLevelCode(1000006);
9080}
9081impl FeatureLevelCode {
9082    pub const ANEURALNETWORKS_FEATURE_LEVEL_7: FeatureLevelCode = FeatureLevelCode(1000007);
9083}
9084impl FeatureLevelCode {
9085    pub const ANEURALNETWORKS_FEATURE_LEVEL_8: FeatureLevelCode = FeatureLevelCode(1000008);
9086}
9087#[repr(transparent)]
9088#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9089pub struct FeatureLevelCode(pub ::std::os::raw::c_uint);
9090impl ResultCode {
9091    pub const ANEURALNETWORKS_NO_ERROR: ResultCode = ResultCode(0);
9092}
9093impl ResultCode {
9094    pub const ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = ResultCode(1);
9095}
9096impl ResultCode {
9097    pub const ANEURALNETWORKS_INCOMPLETE: ResultCode = ResultCode(2);
9098}
9099impl ResultCode {
9100    pub const ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = ResultCode(3);
9101}
9102impl ResultCode {
9103    pub const ANEURALNETWORKS_BAD_DATA: ResultCode = ResultCode(4);
9104}
9105impl ResultCode {
9106    pub const ANEURALNETWORKS_OP_FAILED: ResultCode = ResultCode(5);
9107}
9108impl ResultCode {
9109    pub const ANEURALNETWORKS_BAD_STATE: ResultCode = ResultCode(6);
9110}
9111impl ResultCode {
9112    pub const ANEURALNETWORKS_UNMAPPABLE: ResultCode = ResultCode(7);
9113}
9114impl ResultCode {
9115    pub const ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = ResultCode(8);
9116}
9117impl ResultCode {
9118    pub const ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = ResultCode(9);
9119}
9120impl ResultCode {
9121    pub const ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT: ResultCode = ResultCode(10);
9122}
9123impl ResultCode {
9124    pub const ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT: ResultCode = ResultCode(11);
9125}
9126impl ResultCode {
9127    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT: ResultCode = ResultCode(12);
9128}
9129impl ResultCode {
9130    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT: ResultCode = ResultCode(13);
9131}
9132impl ResultCode {
9133    pub const ANEURALNETWORKS_DEAD_OBJECT: ResultCode = ResultCode(14);
9134}
9135#[repr(transparent)]
9136#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9137pub struct ResultCode(pub ::std::os::raw::c_uint);
9138pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_35 = 128;
9139pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
9140pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_36 = 32;
9141pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
9142impl DurationCode {
9143    pub const ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = DurationCode(0);
9144}
9145impl DurationCode {
9146    pub const ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = DurationCode(1);
9147}
9148impl DurationCode {
9149    pub const ANEURALNETWORKS_FENCED_DURATION_ON_HARDWARE: DurationCode = DurationCode(2);
9150}
9151impl DurationCode {
9152    pub const ANEURALNETWORKS_FENCED_DURATION_IN_DRIVER: DurationCode = DurationCode(3);
9153}
9154#[repr(transparent)]
9155#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9156pub struct DurationCode(pub ::std::os::raw::c_uint);
9157impl PriorityCode {
9158    pub const ANEURALNETWORKS_PRIORITY_LOW: PriorityCode = PriorityCode(90);
9159}
9160impl PriorityCode {
9161    pub const ANEURALNETWORKS_PRIORITY_MEDIUM: PriorityCode = PriorityCode(100);
9162}
9163impl PriorityCode {
9164    pub const ANEURALNETWORKS_PRIORITY_HIGH: PriorityCode = PriorityCode(110);
9165}
9166impl PriorityCode {
9167    pub const ANEURALNETWORKS_PRIORITY_DEFAULT: PriorityCode = PriorityCode(100);
9168}
9169#[repr(transparent)]
9170#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9171pub struct PriorityCode(pub ::std::os::raw::c_uint);
9172#[repr(C)]
9173#[derive(Debug, Copy, Clone)]
9174pub struct ANeuralNetworksMemory {
9175    _unused: [u8; 0],
9176}
9177#[repr(C)]
9178#[derive(Debug, Copy, Clone)]
9179pub struct ANeuralNetworksModel {
9180    _unused: [u8; 0],
9181}
9182#[repr(C)]
9183#[derive(Debug, Copy, Clone)]
9184pub struct ANeuralNetworksCompilation {
9185    _unused: [u8; 0],
9186}
9187#[repr(C)]
9188#[derive(Debug, Copy, Clone)]
9189pub struct ANeuralNetworksExecution {
9190    _unused: [u8; 0],
9191}
9192#[repr(C)]
9193#[derive(Debug, Copy, Clone)]
9194pub struct ANeuralNetworksSymmPerChannelQuantParams {
9195    pub channelDim: u32,
9196    pub scaleCount: u32,
9197    pub scales: *const f32,
9198}
9199#[test]
9200fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
9201    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksSymmPerChannelQuantParams> =
9202        ::std::mem::MaybeUninit::uninit();
9203    let ptr = UNINIT.as_ptr();
9204    assert_eq!(
9205        ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9206        16usize,
9207        concat!(
9208            "Size of: ",
9209            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9210        )
9211    );
9212    assert_eq!(
9213        ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9214        8usize,
9215        concat!(
9216            "Alignment of ",
9217            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9218        )
9219    );
9220    assert_eq!(
9221        unsafe { ::std::ptr::addr_of!((*ptr).channelDim) as usize - ptr as usize },
9222        0usize,
9223        concat!(
9224            "Offset of field: ",
9225            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9226            "::",
9227            stringify!(channelDim)
9228        )
9229    );
9230    assert_eq!(
9231        unsafe { ::std::ptr::addr_of!((*ptr).scaleCount) as usize - ptr as usize },
9232        4usize,
9233        concat!(
9234            "Offset of field: ",
9235            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9236            "::",
9237            stringify!(scaleCount)
9238        )
9239    );
9240    assert_eq!(
9241        unsafe { ::std::ptr::addr_of!((*ptr).scales) as usize - ptr as usize },
9242        8usize,
9243        concat!(
9244            "Offset of field: ",
9245            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9246            "::",
9247            stringify!(scales)
9248        )
9249    );
9250}
9251#[repr(C)]
9252#[derive(Debug, Copy, Clone)]
9253pub struct ANeuralNetworksBurst {
9254    _unused: [u8; 0],
9255}
9256#[repr(C)]
9257#[derive(Debug, Copy, Clone)]
9258pub struct ANeuralNetworksOperandType {
9259    pub type_: i32,
9260    pub dimensionCount: u32,
9261    pub dimensions: *const u32,
9262    pub scale: f32,
9263    pub zeroPoint: i32,
9264}
9265#[test]
9266fn bindgen_test_layout_ANeuralNetworksOperandType() {
9267    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksOperandType> =
9268        ::std::mem::MaybeUninit::uninit();
9269    let ptr = UNINIT.as_ptr();
9270    assert_eq!(
9271        ::std::mem::size_of::<ANeuralNetworksOperandType>(),
9272        24usize,
9273        concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
9274    );
9275    assert_eq!(
9276        ::std::mem::align_of::<ANeuralNetworksOperandType>(),
9277        8usize,
9278        concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
9279    );
9280    assert_eq!(
9281        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9282        0usize,
9283        concat!(
9284            "Offset of field: ",
9285            stringify!(ANeuralNetworksOperandType),
9286            "::",
9287            stringify!(type_)
9288        )
9289    );
9290    assert_eq!(
9291        unsafe { ::std::ptr::addr_of!((*ptr).dimensionCount) as usize - ptr as usize },
9292        4usize,
9293        concat!(
9294            "Offset of field: ",
9295            stringify!(ANeuralNetworksOperandType),
9296            "::",
9297            stringify!(dimensionCount)
9298        )
9299    );
9300    assert_eq!(
9301        unsafe { ::std::ptr::addr_of!((*ptr).dimensions) as usize - ptr as usize },
9302        8usize,
9303        concat!(
9304            "Offset of field: ",
9305            stringify!(ANeuralNetworksOperandType),
9306            "::",
9307            stringify!(dimensions)
9308        )
9309    );
9310    assert_eq!(
9311        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
9312        16usize,
9313        concat!(
9314            "Offset of field: ",
9315            stringify!(ANeuralNetworksOperandType),
9316            "::",
9317            stringify!(scale)
9318        )
9319    );
9320    assert_eq!(
9321        unsafe { ::std::ptr::addr_of!((*ptr).zeroPoint) as usize - ptr as usize },
9322        20usize,
9323        concat!(
9324            "Offset of field: ",
9325            stringify!(ANeuralNetworksOperandType),
9326            "::",
9327            stringify!(zeroPoint)
9328        )
9329    );
9330}
9331pub type ANeuralNetworksOperationType = i32;
9332#[repr(C)]
9333#[derive(Debug, Copy, Clone)]
9334pub struct ANeuralNetworksEvent {
9335    _unused: [u8; 0],
9336}
9337#[repr(C)]
9338#[derive(Debug, Copy, Clone)]
9339pub struct ANeuralNetworksDevice {
9340    _unused: [u8; 0],
9341}
9342#[repr(C)]
9343#[derive(Debug, Copy, Clone)]
9344pub struct ANeuralNetworksMemoryDesc {
9345    _unused: [u8; 0],
9346}
9347extern "C" {
9348    pub fn ANeuralNetworksMemoryDesc_create(
9349        desc: *mut *mut ANeuralNetworksMemoryDesc,
9350    ) -> ::std::os::raw::c_int;
9351}
9352extern "C" {
9353    pub fn ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc);
9354}
9355extern "C" {
9356    pub fn ANeuralNetworksMemoryDesc_addInputRole(
9357        desc: *mut ANeuralNetworksMemoryDesc,
9358        compilation: *const ANeuralNetworksCompilation,
9359        index: u32,
9360        frequency: f32,
9361    ) -> ::std::os::raw::c_int;
9362}
9363extern "C" {
9364    pub fn ANeuralNetworksMemoryDesc_addOutputRole(
9365        desc: *mut ANeuralNetworksMemoryDesc,
9366        compilation: *const ANeuralNetworksCompilation,
9367        index: u32,
9368        frequency: f32,
9369    ) -> ::std::os::raw::c_int;
9370}
9371extern "C" {
9372    pub fn ANeuralNetworksMemoryDesc_setDimensions(
9373        desc: *mut ANeuralNetworksMemoryDesc,
9374        rank: u32,
9375        dimensions: *const u32,
9376    ) -> ::std::os::raw::c_int;
9377}
9378extern "C" {
9379    pub fn ANeuralNetworksMemoryDesc_finish(
9380        desc: *mut ANeuralNetworksMemoryDesc,
9381    ) -> ::std::os::raw::c_int;
9382}
9383extern "C" {
9384    pub fn ANeuralNetworksMemory_createFromDesc(
9385        desc: *const ANeuralNetworksMemoryDesc,
9386        memory: *mut *mut ANeuralNetworksMemory,
9387    ) -> ::std::os::raw::c_int;
9388}
9389extern "C" {
9390    pub fn ANeuralNetworksMemory_copy(
9391        src: *const ANeuralNetworksMemory,
9392        dst: *const ANeuralNetworksMemory,
9393    ) -> ::std::os::raw::c_int;
9394}
9395extern "C" {
9396    pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
9397}
9398extern "C" {
9399    pub fn ANeuralNetworks_getDevice(
9400        devIndex: u32,
9401        device: *mut *mut ANeuralNetworksDevice,
9402    ) -> ::std::os::raw::c_int;
9403}
9404extern "C" {
9405    pub fn ANeuralNetworksDevice_getName(
9406        device: *const ANeuralNetworksDevice,
9407        name: *mut *const ::std::os::raw::c_char,
9408    ) -> ::std::os::raw::c_int;
9409}
9410extern "C" {
9411    pub fn ANeuralNetworksDevice_getType(
9412        device: *const ANeuralNetworksDevice,
9413        type_: *mut i32,
9414    ) -> ::std::os::raw::c_int;
9415}
9416extern "C" {
9417    pub fn ANeuralNetworksDevice_getVersion(
9418        device: *const ANeuralNetworksDevice,
9419        version: *mut *const ::std::os::raw::c_char,
9420    ) -> ::std::os::raw::c_int;
9421}
9422extern "C" {
9423    pub fn ANeuralNetworksDevice_getFeatureLevel(
9424        device: *const ANeuralNetworksDevice,
9425        featureLevel: *mut i64,
9426    ) -> ::std::os::raw::c_int;
9427}
9428extern "C" {
9429    pub fn ANeuralNetworksDevice_wait(
9430        device: *const ANeuralNetworksDevice,
9431    ) -> ::std::os::raw::c_int;
9432}
9433extern "C" {
9434    pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
9435        model: *const ANeuralNetworksModel,
9436        devices: *const *const ANeuralNetworksDevice,
9437        numDevices: u32,
9438        supportedOps: *mut bool,
9439    ) -> ::std::os::raw::c_int;
9440}
9441extern "C" {
9442    pub fn ANeuralNetworksCompilation_createForDevices(
9443        model: *mut ANeuralNetworksModel,
9444        devices: *const *const ANeuralNetworksDevice,
9445        numDevices: u32,
9446        compilation: *mut *mut ANeuralNetworksCompilation,
9447    ) -> ::std::os::raw::c_int;
9448}
9449extern "C" {
9450    pub fn ANeuralNetworksCompilation_setCaching(
9451        compilation: *mut ANeuralNetworksCompilation,
9452        cacheDir: *const ::std::os::raw::c_char,
9453        token: *const u8,
9454    ) -> ::std::os::raw::c_int;
9455}
9456extern "C" {
9457    pub fn ANeuralNetworksExecution_compute(
9458        execution: *mut ANeuralNetworksExecution,
9459    ) -> ::std::os::raw::c_int;
9460}
9461extern "C" {
9462    pub fn ANeuralNetworksExecution_getOutputOperandRank(
9463        execution: *mut ANeuralNetworksExecution,
9464        index: i32,
9465        rank: *mut u32,
9466    ) -> ::std::os::raw::c_int;
9467}
9468extern "C" {
9469    pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
9470        execution: *mut ANeuralNetworksExecution,
9471        index: i32,
9472        dimensions: *mut u32,
9473    ) -> ::std::os::raw::c_int;
9474}
9475extern "C" {
9476    pub fn ANeuralNetworksBurst_create(
9477        compilation: *mut ANeuralNetworksCompilation,
9478        burst: *mut *mut ANeuralNetworksBurst,
9479    ) -> ::std::os::raw::c_int;
9480}
9481extern "C" {
9482    pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
9483}
9484extern "C" {
9485    pub fn ANeuralNetworksExecution_burstCompute(
9486        execution: *mut ANeuralNetworksExecution,
9487        burst: *mut ANeuralNetworksBurst,
9488    ) -> ::std::os::raw::c_int;
9489}
9490extern "C" {
9491    pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
9492        ahwb: *const AHardwareBuffer,
9493        memory: *mut *mut ANeuralNetworksMemory,
9494    ) -> ::std::os::raw::c_int;
9495}
9496extern "C" {
9497    pub fn ANeuralNetworksExecution_setMeasureTiming(
9498        execution: *mut ANeuralNetworksExecution,
9499        measure: bool,
9500    ) -> ::std::os::raw::c_int;
9501}
9502extern "C" {
9503    pub fn ANeuralNetworksExecution_getDuration(
9504        execution: *const ANeuralNetworksExecution,
9505        durationCode: i32,
9506        duration: *mut u64,
9507    ) -> ::std::os::raw::c_int;
9508}
9509extern "C" {
9510    pub fn ANeuralNetworksMemory_createFromFd(
9511        size: usize,
9512        protect: ::std::os::raw::c_int,
9513        fd: ::std::os::raw::c_int,
9514        offset: usize,
9515        memory: *mut *mut ANeuralNetworksMemory,
9516    ) -> ::std::os::raw::c_int;
9517}
9518extern "C" {
9519    pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
9520}
9521extern "C" {
9522    pub fn ANeuralNetworksModel_create(
9523        model: *mut *mut ANeuralNetworksModel,
9524    ) -> ::std::os::raw::c_int;
9525}
9526extern "C" {
9527    pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
9528}
9529extern "C" {
9530    pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
9531}
9532extern "C" {
9533    pub fn ANeuralNetworksModel_addOperand(
9534        model: *mut ANeuralNetworksModel,
9535        type_: *const ANeuralNetworksOperandType,
9536    ) -> ::std::os::raw::c_int;
9537}
9538extern "C" {
9539    pub fn ANeuralNetworksModel_setOperandValue(
9540        model: *mut ANeuralNetworksModel,
9541        index: i32,
9542        buffer: *const ::std::os::raw::c_void,
9543        length: usize,
9544    ) -> ::std::os::raw::c_int;
9545}
9546extern "C" {
9547    pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
9548        model: *mut ANeuralNetworksModel,
9549        index: i32,
9550        channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
9551    ) -> ::std::os::raw::c_int;
9552}
9553extern "C" {
9554    pub fn ANeuralNetworksModel_setOperandValueFromMemory(
9555        model: *mut ANeuralNetworksModel,
9556        index: i32,
9557        memory: *const ANeuralNetworksMemory,
9558        offset: usize,
9559        length: usize,
9560    ) -> ::std::os::raw::c_int;
9561}
9562extern "C" {
9563    pub fn ANeuralNetworksModel_setOperandValueFromModel(
9564        model: *mut ANeuralNetworksModel,
9565        index: i32,
9566        value: *const ANeuralNetworksModel,
9567    ) -> ::std::os::raw::c_int;
9568}
9569extern "C" {
9570    pub fn ANeuralNetworksModel_addOperation(
9571        model: *mut ANeuralNetworksModel,
9572        type_: ANeuralNetworksOperationType,
9573        inputCount: u32,
9574        inputs: *const u32,
9575        outputCount: u32,
9576        outputs: *const u32,
9577    ) -> ::std::os::raw::c_int;
9578}
9579extern "C" {
9580    pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
9581        model: *mut ANeuralNetworksModel,
9582        inputCount: u32,
9583        inputs: *const u32,
9584        outputCount: u32,
9585        outputs: *const u32,
9586    ) -> ::std::os::raw::c_int;
9587}
9588extern "C" {
9589    pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
9590        model: *mut ANeuralNetworksModel,
9591        allow: bool,
9592    ) -> ::std::os::raw::c_int;
9593}
9594extern "C" {
9595    pub fn ANeuralNetworksCompilation_create(
9596        model: *mut ANeuralNetworksModel,
9597        compilation: *mut *mut ANeuralNetworksCompilation,
9598    ) -> ::std::os::raw::c_int;
9599}
9600extern "C" {
9601    pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
9602}
9603extern "C" {
9604    pub fn ANeuralNetworksCompilation_setPreference(
9605        compilation: *mut ANeuralNetworksCompilation,
9606        preference: i32,
9607    ) -> ::std::os::raw::c_int;
9608}
9609extern "C" {
9610    pub fn ANeuralNetworksCompilation_finish(
9611        compilation: *mut ANeuralNetworksCompilation,
9612    ) -> ::std::os::raw::c_int;
9613}
9614extern "C" {
9615    pub fn ANeuralNetworksCompilation_setPriority(
9616        compilation: *mut ANeuralNetworksCompilation,
9617        priority: ::std::os::raw::c_int,
9618    ) -> ::std::os::raw::c_int;
9619}
9620extern "C" {
9621    pub fn ANeuralNetworksCompilation_setTimeout(
9622        compilation: *mut ANeuralNetworksCompilation,
9623        duration: u64,
9624    ) -> ::std::os::raw::c_int;
9625}
9626extern "C" {
9627    pub fn ANeuralNetworksExecution_create(
9628        compilation: *mut ANeuralNetworksCompilation,
9629        execution: *mut *mut ANeuralNetworksExecution,
9630    ) -> ::std::os::raw::c_int;
9631}
9632extern "C" {
9633    pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
9634}
9635extern "C" {
9636    pub fn ANeuralNetworksExecution_setInput(
9637        execution: *mut ANeuralNetworksExecution,
9638        index: i32,
9639        type_: *const ANeuralNetworksOperandType,
9640        buffer: *const ::std::os::raw::c_void,
9641        length: usize,
9642    ) -> ::std::os::raw::c_int;
9643}
9644extern "C" {
9645    pub fn ANeuralNetworksExecution_setInputFromMemory(
9646        execution: *mut ANeuralNetworksExecution,
9647        index: i32,
9648        type_: *const ANeuralNetworksOperandType,
9649        memory: *const ANeuralNetworksMemory,
9650        offset: usize,
9651        length: usize,
9652    ) -> ::std::os::raw::c_int;
9653}
9654extern "C" {
9655    pub fn ANeuralNetworksExecution_setOutput(
9656        execution: *mut ANeuralNetworksExecution,
9657        index: i32,
9658        type_: *const ANeuralNetworksOperandType,
9659        buffer: *mut ::std::os::raw::c_void,
9660        length: usize,
9661    ) -> ::std::os::raw::c_int;
9662}
9663extern "C" {
9664    pub fn ANeuralNetworksExecution_setOutputFromMemory(
9665        execution: *mut ANeuralNetworksExecution,
9666        index: i32,
9667        type_: *const ANeuralNetworksOperandType,
9668        memory: *const ANeuralNetworksMemory,
9669        offset: usize,
9670        length: usize,
9671    ) -> ::std::os::raw::c_int;
9672}
9673extern "C" {
9674    pub fn ANeuralNetworksExecution_startCompute(
9675        execution: *mut ANeuralNetworksExecution,
9676        event: *mut *mut ANeuralNetworksEvent,
9677    ) -> ::std::os::raw::c_int;
9678}
9679extern "C" {
9680    pub fn ANeuralNetworksExecution_setTimeout(
9681        execution: *mut ANeuralNetworksExecution,
9682        duration: u64,
9683    ) -> ::std::os::raw::c_int;
9684}
9685extern "C" {
9686    pub fn ANeuralNetworksExecution_setLoopTimeout(
9687        execution: *mut ANeuralNetworksExecution,
9688        duration: u64,
9689    ) -> ::std::os::raw::c_int;
9690}
9691extern "C" {
9692    pub fn ANeuralNetworks_getDefaultLoopTimeout() -> u64;
9693}
9694extern "C" {
9695    pub fn ANeuralNetworks_getMaximumLoopTimeout() -> u64;
9696}
9697extern "C" {
9698    pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
9699}
9700extern "C" {
9701    pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
9702}
9703extern "C" {
9704    pub fn ANeuralNetworksEvent_createFromSyncFenceFd(
9705        sync_fence_fd: ::std::os::raw::c_int,
9706        event: *mut *mut ANeuralNetworksEvent,
9707    ) -> ::std::os::raw::c_int;
9708}
9709extern "C" {
9710    pub fn ANeuralNetworksEvent_getSyncFenceFd(
9711        event: *const ANeuralNetworksEvent,
9712        sync_fence_fd: *mut ::std::os::raw::c_int,
9713    ) -> ::std::os::raw::c_int;
9714}
9715extern "C" {
9716    pub fn ANeuralNetworksExecution_startComputeWithDependencies(
9717        execution: *mut ANeuralNetworksExecution,
9718        dependencies: *const *const ANeuralNetworksEvent,
9719        num_dependencies: u32,
9720        duration: u64,
9721        event: *mut *mut ANeuralNetworksEvent,
9722    ) -> ::std::os::raw::c_int;
9723}
9724extern "C" {
9725    pub fn ANeuralNetworks_getRuntimeFeatureLevel() -> i64;
9726}
9727extern "C" {
9728    pub fn ANeuralNetworksExecution_enableInputAndOutputPadding(
9729        execution: *mut ANeuralNetworksExecution,
9730        enable: bool,
9731    ) -> ::std::os::raw::c_int;
9732}
9733extern "C" {
9734    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput(
9735        compilation: *const ANeuralNetworksCompilation,
9736        index: u32,
9737        alignment: *mut u32,
9738    ) -> ::std::os::raw::c_int;
9739}
9740extern "C" {
9741    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput(
9742        compilation: *const ANeuralNetworksCompilation,
9743        index: u32,
9744        padding: *mut u32,
9745    ) -> ::std::os::raw::c_int;
9746}
9747extern "C" {
9748    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput(
9749        compilation: *const ANeuralNetworksCompilation,
9750        index: u32,
9751        alignment: *mut u32,
9752    ) -> ::std::os::raw::c_int;
9753}
9754extern "C" {
9755    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput(
9756        compilation: *const ANeuralNetworksCompilation,
9757        index: u32,
9758        padding: *mut u32,
9759    ) -> ::std::os::raw::c_int;
9760}
9761extern "C" {
9762    pub fn ANeuralNetworksExecution_setReusable(
9763        execution: *mut ANeuralNetworksExecution,
9764        reusable: bool,
9765    ) -> ::std::os::raw::c_int;
9766}
9767#[repr(C)]
9768#[derive(Debug, Copy, Clone)]
9769pub struct AObbInfo {
9770    _unused: [u8; 0],
9771}
9772pub const AOBBINFO_OVERLAY: _bindgen_ty_37 = 1;
9773pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
9774extern "C" {
9775    pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
9776}
9777extern "C" {
9778    pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
9779}
9780extern "C" {
9781    pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
9782}
9783extern "C" {
9784    pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
9785}
9786extern "C" {
9787    pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
9788}
9789#[repr(C)]
9790#[derive(Debug, Copy, Clone)]
9791pub struct timespec {
9792    pub tv_sec: time_t,
9793    pub tv_nsec: ::std::os::raw::c_long,
9794}
9795#[test]
9796fn bindgen_test_layout_timespec() {
9797    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
9798    let ptr = UNINIT.as_ptr();
9799    assert_eq!(
9800        ::std::mem::size_of::<timespec>(),
9801        16usize,
9802        concat!("Size of: ", stringify!(timespec))
9803    );
9804    assert_eq!(
9805        ::std::mem::align_of::<timespec>(),
9806        8usize,
9807        concat!("Alignment of ", stringify!(timespec))
9808    );
9809    assert_eq!(
9810        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9811        0usize,
9812        concat!(
9813            "Offset of field: ",
9814            stringify!(timespec),
9815            "::",
9816            stringify!(tv_sec)
9817        )
9818    );
9819    assert_eq!(
9820        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9821        8usize,
9822        concat!(
9823            "Offset of field: ",
9824            stringify!(timespec),
9825            "::",
9826            stringify!(tv_nsec)
9827        )
9828    );
9829}
9830#[repr(C)]
9831#[derive(Debug, Copy, Clone)]
9832pub struct __kernel_timespec {
9833    pub tv_sec: __kernel_time64_t,
9834    pub tv_nsec: ::std::os::raw::c_longlong,
9835}
9836#[test]
9837fn bindgen_test_layout___kernel_timespec() {
9838    const UNINIT: ::std::mem::MaybeUninit<__kernel_timespec> = ::std::mem::MaybeUninit::uninit();
9839    let ptr = UNINIT.as_ptr();
9840    assert_eq!(
9841        ::std::mem::size_of::<__kernel_timespec>(),
9842        16usize,
9843        concat!("Size of: ", stringify!(__kernel_timespec))
9844    );
9845    assert_eq!(
9846        ::std::mem::align_of::<__kernel_timespec>(),
9847        8usize,
9848        concat!("Alignment of ", stringify!(__kernel_timespec))
9849    );
9850    assert_eq!(
9851        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9852        0usize,
9853        concat!(
9854            "Offset of field: ",
9855            stringify!(__kernel_timespec),
9856            "::",
9857            stringify!(tv_sec)
9858        )
9859    );
9860    assert_eq!(
9861        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9862        8usize,
9863        concat!(
9864            "Offset of field: ",
9865            stringify!(__kernel_timespec),
9866            "::",
9867            stringify!(tv_nsec)
9868        )
9869    );
9870}
9871#[repr(C)]
9872#[derive(Debug, Copy, Clone)]
9873pub struct __kernel_itimerspec {
9874    pub it_interval: __kernel_timespec,
9875    pub it_value: __kernel_timespec,
9876}
9877#[test]
9878fn bindgen_test_layout___kernel_itimerspec() {
9879    const UNINIT: ::std::mem::MaybeUninit<__kernel_itimerspec> = ::std::mem::MaybeUninit::uninit();
9880    let ptr = UNINIT.as_ptr();
9881    assert_eq!(
9882        ::std::mem::size_of::<__kernel_itimerspec>(),
9883        32usize,
9884        concat!("Size of: ", stringify!(__kernel_itimerspec))
9885    );
9886    assert_eq!(
9887        ::std::mem::align_of::<__kernel_itimerspec>(),
9888        8usize,
9889        concat!("Alignment of ", stringify!(__kernel_itimerspec))
9890    );
9891    assert_eq!(
9892        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
9893        0usize,
9894        concat!(
9895            "Offset of field: ",
9896            stringify!(__kernel_itimerspec),
9897            "::",
9898            stringify!(it_interval)
9899        )
9900    );
9901    assert_eq!(
9902        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
9903        16usize,
9904        concat!(
9905            "Offset of field: ",
9906            stringify!(__kernel_itimerspec),
9907            "::",
9908            stringify!(it_value)
9909        )
9910    );
9911}
9912#[repr(C)]
9913#[derive(Debug, Copy, Clone)]
9914pub struct __kernel_old_timespec {
9915    pub tv_sec: __kernel_old_time_t,
9916    pub tv_nsec: ::std::os::raw::c_long,
9917}
9918#[test]
9919fn bindgen_test_layout___kernel_old_timespec() {
9920    const UNINIT: ::std::mem::MaybeUninit<__kernel_old_timespec> =
9921        ::std::mem::MaybeUninit::uninit();
9922    let ptr = UNINIT.as_ptr();
9923    assert_eq!(
9924        ::std::mem::size_of::<__kernel_old_timespec>(),
9925        16usize,
9926        concat!("Size of: ", stringify!(__kernel_old_timespec))
9927    );
9928    assert_eq!(
9929        ::std::mem::align_of::<__kernel_old_timespec>(),
9930        8usize,
9931        concat!("Alignment of ", stringify!(__kernel_old_timespec))
9932    );
9933    assert_eq!(
9934        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9935        0usize,
9936        concat!(
9937            "Offset of field: ",
9938            stringify!(__kernel_old_timespec),
9939            "::",
9940            stringify!(tv_sec)
9941        )
9942    );
9943    assert_eq!(
9944        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9945        8usize,
9946        concat!(
9947            "Offset of field: ",
9948            stringify!(__kernel_old_timespec),
9949            "::",
9950            stringify!(tv_nsec)
9951        )
9952    );
9953}
9954#[repr(C)]
9955#[derive(Debug, Copy, Clone)]
9956pub struct __kernel_sock_timeval {
9957    pub tv_sec: __s64,
9958    pub tv_usec: __s64,
9959}
9960#[test]
9961fn bindgen_test_layout___kernel_sock_timeval() {
9962    const UNINIT: ::std::mem::MaybeUninit<__kernel_sock_timeval> =
9963        ::std::mem::MaybeUninit::uninit();
9964    let ptr = UNINIT.as_ptr();
9965    assert_eq!(
9966        ::std::mem::size_of::<__kernel_sock_timeval>(),
9967        16usize,
9968        concat!("Size of: ", stringify!(__kernel_sock_timeval))
9969    );
9970    assert_eq!(
9971        ::std::mem::align_of::<__kernel_sock_timeval>(),
9972        8usize,
9973        concat!("Alignment of ", stringify!(__kernel_sock_timeval))
9974    );
9975    assert_eq!(
9976        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9977        0usize,
9978        concat!(
9979            "Offset of field: ",
9980            stringify!(__kernel_sock_timeval),
9981            "::",
9982            stringify!(tv_sec)
9983        )
9984    );
9985    assert_eq!(
9986        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
9987        8usize,
9988        concat!(
9989            "Offset of field: ",
9990            stringify!(__kernel_sock_timeval),
9991            "::",
9992            stringify!(tv_usec)
9993        )
9994    );
9995}
9996#[repr(C)]
9997#[derive(Debug, Copy, Clone)]
9998pub struct timeval {
9999    pub tv_sec: __kernel_old_time_t,
10000    pub tv_usec: __kernel_suseconds_t,
10001}
10002#[test]
10003fn bindgen_test_layout_timeval() {
10004    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
10005    let ptr = UNINIT.as_ptr();
10006    assert_eq!(
10007        ::std::mem::size_of::<timeval>(),
10008        16usize,
10009        concat!("Size of: ", stringify!(timeval))
10010    );
10011    assert_eq!(
10012        ::std::mem::align_of::<timeval>(),
10013        8usize,
10014        concat!("Alignment of ", stringify!(timeval))
10015    );
10016    assert_eq!(
10017        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
10018        0usize,
10019        concat!(
10020            "Offset of field: ",
10021            stringify!(timeval),
10022            "::",
10023            stringify!(tv_sec)
10024        )
10025    );
10026    assert_eq!(
10027        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
10028        8usize,
10029        concat!(
10030            "Offset of field: ",
10031            stringify!(timeval),
10032            "::",
10033            stringify!(tv_usec)
10034        )
10035    );
10036}
10037#[repr(C)]
10038#[derive(Debug, Copy, Clone)]
10039pub struct itimerspec {
10040    pub it_interval: timespec,
10041    pub it_value: timespec,
10042}
10043#[test]
10044fn bindgen_test_layout_itimerspec() {
10045    const UNINIT: ::std::mem::MaybeUninit<itimerspec> = ::std::mem::MaybeUninit::uninit();
10046    let ptr = UNINIT.as_ptr();
10047    assert_eq!(
10048        ::std::mem::size_of::<itimerspec>(),
10049        32usize,
10050        concat!("Size of: ", stringify!(itimerspec))
10051    );
10052    assert_eq!(
10053        ::std::mem::align_of::<itimerspec>(),
10054        8usize,
10055        concat!("Alignment of ", stringify!(itimerspec))
10056    );
10057    assert_eq!(
10058        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
10059        0usize,
10060        concat!(
10061            "Offset of field: ",
10062            stringify!(itimerspec),
10063            "::",
10064            stringify!(it_interval)
10065        )
10066    );
10067    assert_eq!(
10068        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
10069        16usize,
10070        concat!(
10071            "Offset of field: ",
10072            stringify!(itimerspec),
10073            "::",
10074            stringify!(it_value)
10075        )
10076    );
10077}
10078#[repr(C)]
10079#[derive(Debug, Copy, Clone)]
10080pub struct itimerval {
10081    pub it_interval: timeval,
10082    pub it_value: timeval,
10083}
10084#[test]
10085fn bindgen_test_layout_itimerval() {
10086    const UNINIT: ::std::mem::MaybeUninit<itimerval> = ::std::mem::MaybeUninit::uninit();
10087    let ptr = UNINIT.as_ptr();
10088    assert_eq!(
10089        ::std::mem::size_of::<itimerval>(),
10090        32usize,
10091        concat!("Size of: ", stringify!(itimerval))
10092    );
10093    assert_eq!(
10094        ::std::mem::align_of::<itimerval>(),
10095        8usize,
10096        concat!("Alignment of ", stringify!(itimerval))
10097    );
10098    assert_eq!(
10099        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
10100        0usize,
10101        concat!(
10102            "Offset of field: ",
10103            stringify!(itimerval),
10104            "::",
10105            stringify!(it_interval)
10106        )
10107    );
10108    assert_eq!(
10109        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
10110        16usize,
10111        concat!(
10112            "Offset of field: ",
10113            stringify!(itimerval),
10114            "::",
10115            stringify!(it_value)
10116        )
10117    );
10118}
10119#[repr(C)]
10120#[derive(Debug, Copy, Clone)]
10121pub struct timezone {
10122    pub tz_minuteswest: ::std::os::raw::c_int,
10123    pub tz_dsttime: ::std::os::raw::c_int,
10124}
10125#[test]
10126fn bindgen_test_layout_timezone() {
10127    const UNINIT: ::std::mem::MaybeUninit<timezone> = ::std::mem::MaybeUninit::uninit();
10128    let ptr = UNINIT.as_ptr();
10129    assert_eq!(
10130        ::std::mem::size_of::<timezone>(),
10131        8usize,
10132        concat!("Size of: ", stringify!(timezone))
10133    );
10134    assert_eq!(
10135        ::std::mem::align_of::<timezone>(),
10136        4usize,
10137        concat!("Alignment of ", stringify!(timezone))
10138    );
10139    assert_eq!(
10140        unsafe { ::std::ptr::addr_of!((*ptr).tz_minuteswest) as usize - ptr as usize },
10141        0usize,
10142        concat!(
10143            "Offset of field: ",
10144            stringify!(timezone),
10145            "::",
10146            stringify!(tz_minuteswest)
10147        )
10148    );
10149    assert_eq!(
10150        unsafe { ::std::ptr::addr_of!((*ptr).tz_dsttime) as usize - ptr as usize },
10151        4usize,
10152        concat!(
10153            "Offset of field: ",
10154            stringify!(timezone),
10155            "::",
10156            stringify!(tz_dsttime)
10157        )
10158    );
10159}
10160#[repr(C)]
10161#[repr(align(16))]
10162#[derive(Debug, Copy, Clone)]
10163pub struct sigcontext {
10164    pub fault_address: __u64,
10165    pub regs: [__u64; 31usize],
10166    pub sp: __u64,
10167    pub pc: __u64,
10168    pub pstate: __u64,
10169    pub __bindgen_padding_0: [u8; 8usize],
10170    pub __reserved: [__u8; 4096usize],
10171}
10172#[test]
10173fn bindgen_test_layout_sigcontext() {
10174    const UNINIT: ::std::mem::MaybeUninit<sigcontext> = ::std::mem::MaybeUninit::uninit();
10175    let ptr = UNINIT.as_ptr();
10176    assert_eq!(
10177        ::std::mem::size_of::<sigcontext>(),
10178        4384usize,
10179        concat!("Size of: ", stringify!(sigcontext))
10180    );
10181    assert_eq!(
10182        ::std::mem::align_of::<sigcontext>(),
10183        16usize,
10184        concat!("Alignment of ", stringify!(sigcontext))
10185    );
10186    assert_eq!(
10187        unsafe { ::std::ptr::addr_of!((*ptr).fault_address) as usize - ptr as usize },
10188        0usize,
10189        concat!(
10190            "Offset of field: ",
10191            stringify!(sigcontext),
10192            "::",
10193            stringify!(fault_address)
10194        )
10195    );
10196    assert_eq!(
10197        unsafe { ::std::ptr::addr_of!((*ptr).regs) as usize - ptr as usize },
10198        8usize,
10199        concat!(
10200            "Offset of field: ",
10201            stringify!(sigcontext),
10202            "::",
10203            stringify!(regs)
10204        )
10205    );
10206    assert_eq!(
10207        unsafe { ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize },
10208        256usize,
10209        concat!(
10210            "Offset of field: ",
10211            stringify!(sigcontext),
10212            "::",
10213            stringify!(sp)
10214        )
10215    );
10216    assert_eq!(
10217        unsafe { ::std::ptr::addr_of!((*ptr).pc) as usize - ptr as usize },
10218        264usize,
10219        concat!(
10220            "Offset of field: ",
10221            stringify!(sigcontext),
10222            "::",
10223            stringify!(pc)
10224        )
10225    );
10226    assert_eq!(
10227        unsafe { ::std::ptr::addr_of!((*ptr).pstate) as usize - ptr as usize },
10228        272usize,
10229        concat!(
10230            "Offset of field: ",
10231            stringify!(sigcontext),
10232            "::",
10233            stringify!(pstate)
10234        )
10235    );
10236    assert_eq!(
10237        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
10238        288usize,
10239        concat!(
10240            "Offset of field: ",
10241            stringify!(sigcontext),
10242            "::",
10243            stringify!(__reserved)
10244        )
10245    );
10246}
10247#[repr(C)]
10248#[derive(Debug, Copy, Clone)]
10249pub struct _aarch64_ctx {
10250    pub magic: __u32,
10251    pub size: __u32,
10252}
10253#[test]
10254fn bindgen_test_layout__aarch64_ctx() {
10255    const UNINIT: ::std::mem::MaybeUninit<_aarch64_ctx> = ::std::mem::MaybeUninit::uninit();
10256    let ptr = UNINIT.as_ptr();
10257    assert_eq!(
10258        ::std::mem::size_of::<_aarch64_ctx>(),
10259        8usize,
10260        concat!("Size of: ", stringify!(_aarch64_ctx))
10261    );
10262    assert_eq!(
10263        ::std::mem::align_of::<_aarch64_ctx>(),
10264        4usize,
10265        concat!("Alignment of ", stringify!(_aarch64_ctx))
10266    );
10267    assert_eq!(
10268        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
10269        0usize,
10270        concat!(
10271            "Offset of field: ",
10272            stringify!(_aarch64_ctx),
10273            "::",
10274            stringify!(magic)
10275        )
10276    );
10277    assert_eq!(
10278        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
10279        4usize,
10280        concat!(
10281            "Offset of field: ",
10282            stringify!(_aarch64_ctx),
10283            "::",
10284            stringify!(size)
10285        )
10286    );
10287}
10288#[repr(C)]
10289#[repr(align(16))]
10290#[derive(Debug, Copy, Clone)]
10291pub struct fpsimd_context {
10292    pub head: _aarch64_ctx,
10293    pub fpsr: __u32,
10294    pub fpcr: __u32,
10295    pub vregs: [__uint128_t; 32usize],
10296}
10297#[test]
10298fn bindgen_test_layout_fpsimd_context() {
10299    const UNINIT: ::std::mem::MaybeUninit<fpsimd_context> = ::std::mem::MaybeUninit::uninit();
10300    let ptr = UNINIT.as_ptr();
10301    assert_eq!(
10302        ::std::mem::size_of::<fpsimd_context>(),
10303        528usize,
10304        concat!("Size of: ", stringify!(fpsimd_context))
10305    );
10306    assert_eq!(
10307        ::std::mem::align_of::<fpsimd_context>(),
10308        16usize,
10309        concat!("Alignment of ", stringify!(fpsimd_context))
10310    );
10311    assert_eq!(
10312        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
10313        0usize,
10314        concat!(
10315            "Offset of field: ",
10316            stringify!(fpsimd_context),
10317            "::",
10318            stringify!(head)
10319        )
10320    );
10321    assert_eq!(
10322        unsafe { ::std::ptr::addr_of!((*ptr).fpsr) as usize - ptr as usize },
10323        8usize,
10324        concat!(
10325            "Offset of field: ",
10326            stringify!(fpsimd_context),
10327            "::",
10328            stringify!(fpsr)
10329        )
10330    );
10331    assert_eq!(
10332        unsafe { ::std::ptr::addr_of!((*ptr).fpcr) as usize - ptr as usize },
10333        12usize,
10334        concat!(
10335            "Offset of field: ",
10336            stringify!(fpsimd_context),
10337            "::",
10338            stringify!(fpcr)
10339        )
10340    );
10341    assert_eq!(
10342        unsafe { ::std::ptr::addr_of!((*ptr).vregs) as usize - ptr as usize },
10343        16usize,
10344        concat!(
10345            "Offset of field: ",
10346            stringify!(fpsimd_context),
10347            "::",
10348            stringify!(vregs)
10349        )
10350    );
10351}
10352#[repr(C)]
10353#[derive(Debug, Copy, Clone)]
10354pub struct esr_context {
10355    pub head: _aarch64_ctx,
10356    pub esr: __u64,
10357}
10358#[test]
10359fn bindgen_test_layout_esr_context() {
10360    const UNINIT: ::std::mem::MaybeUninit<esr_context> = ::std::mem::MaybeUninit::uninit();
10361    let ptr = UNINIT.as_ptr();
10362    assert_eq!(
10363        ::std::mem::size_of::<esr_context>(),
10364        16usize,
10365        concat!("Size of: ", stringify!(esr_context))
10366    );
10367    assert_eq!(
10368        ::std::mem::align_of::<esr_context>(),
10369        8usize,
10370        concat!("Alignment of ", stringify!(esr_context))
10371    );
10372    assert_eq!(
10373        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
10374        0usize,
10375        concat!(
10376            "Offset of field: ",
10377            stringify!(esr_context),
10378            "::",
10379            stringify!(head)
10380        )
10381    );
10382    assert_eq!(
10383        unsafe { ::std::ptr::addr_of!((*ptr).esr) as usize - ptr as usize },
10384        8usize,
10385        concat!(
10386            "Offset of field: ",
10387            stringify!(esr_context),
10388            "::",
10389            stringify!(esr)
10390        )
10391    );
10392}
10393#[repr(C)]
10394#[derive(Debug, Copy, Clone)]
10395pub struct extra_context {
10396    pub head: _aarch64_ctx,
10397    pub datap: __u64,
10398    pub size: __u32,
10399    pub __reserved: [__u32; 3usize],
10400}
10401#[test]
10402fn bindgen_test_layout_extra_context() {
10403    const UNINIT: ::std::mem::MaybeUninit<extra_context> = ::std::mem::MaybeUninit::uninit();
10404    let ptr = UNINIT.as_ptr();
10405    assert_eq!(
10406        ::std::mem::size_of::<extra_context>(),
10407        32usize,
10408        concat!("Size of: ", stringify!(extra_context))
10409    );
10410    assert_eq!(
10411        ::std::mem::align_of::<extra_context>(),
10412        8usize,
10413        concat!("Alignment of ", stringify!(extra_context))
10414    );
10415    assert_eq!(
10416        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
10417        0usize,
10418        concat!(
10419            "Offset of field: ",
10420            stringify!(extra_context),
10421            "::",
10422            stringify!(head)
10423        )
10424    );
10425    assert_eq!(
10426        unsafe { ::std::ptr::addr_of!((*ptr).datap) as usize - ptr as usize },
10427        8usize,
10428        concat!(
10429            "Offset of field: ",
10430            stringify!(extra_context),
10431            "::",
10432            stringify!(datap)
10433        )
10434    );
10435    assert_eq!(
10436        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
10437        16usize,
10438        concat!(
10439            "Offset of field: ",
10440            stringify!(extra_context),
10441            "::",
10442            stringify!(size)
10443        )
10444    );
10445    assert_eq!(
10446        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
10447        20usize,
10448        concat!(
10449            "Offset of field: ",
10450            stringify!(extra_context),
10451            "::",
10452            stringify!(__reserved)
10453        )
10454    );
10455}
10456#[repr(C)]
10457#[derive(Debug, Copy, Clone)]
10458pub struct sve_context {
10459    pub head: _aarch64_ctx,
10460    pub vl: __u16,
10461    pub flags: __u16,
10462    pub __reserved: [__u16; 2usize],
10463}
10464#[test]
10465fn bindgen_test_layout_sve_context() {
10466    const UNINIT: ::std::mem::MaybeUninit<sve_context> = ::std::mem::MaybeUninit::uninit();
10467    let ptr = UNINIT.as_ptr();
10468    assert_eq!(
10469        ::std::mem::size_of::<sve_context>(),
10470        16usize,
10471        concat!("Size of: ", stringify!(sve_context))
10472    );
10473    assert_eq!(
10474        ::std::mem::align_of::<sve_context>(),
10475        4usize,
10476        concat!("Alignment of ", stringify!(sve_context))
10477    );
10478    assert_eq!(
10479        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
10480        0usize,
10481        concat!(
10482            "Offset of field: ",
10483            stringify!(sve_context),
10484            "::",
10485            stringify!(head)
10486        )
10487    );
10488    assert_eq!(
10489        unsafe { ::std::ptr::addr_of!((*ptr).vl) as usize - ptr as usize },
10490        8usize,
10491        concat!(
10492            "Offset of field: ",
10493            stringify!(sve_context),
10494            "::",
10495            stringify!(vl)
10496        )
10497    );
10498    assert_eq!(
10499        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10500        10usize,
10501        concat!(
10502            "Offset of field: ",
10503            stringify!(sve_context),
10504            "::",
10505            stringify!(flags)
10506        )
10507    );
10508    assert_eq!(
10509        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
10510        12usize,
10511        concat!(
10512            "Offset of field: ",
10513            stringify!(sve_context),
10514            "::",
10515            stringify!(__reserved)
10516        )
10517    );
10518}
10519#[repr(C)]
10520#[derive(Debug, Copy, Clone)]
10521pub struct tpidr2_context {
10522    pub head: _aarch64_ctx,
10523    pub tpidr2: __u64,
10524}
10525#[test]
10526fn bindgen_test_layout_tpidr2_context() {
10527    const UNINIT: ::std::mem::MaybeUninit<tpidr2_context> = ::std::mem::MaybeUninit::uninit();
10528    let ptr = UNINIT.as_ptr();
10529    assert_eq!(
10530        ::std::mem::size_of::<tpidr2_context>(),
10531        16usize,
10532        concat!("Size of: ", stringify!(tpidr2_context))
10533    );
10534    assert_eq!(
10535        ::std::mem::align_of::<tpidr2_context>(),
10536        8usize,
10537        concat!("Alignment of ", stringify!(tpidr2_context))
10538    );
10539    assert_eq!(
10540        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
10541        0usize,
10542        concat!(
10543            "Offset of field: ",
10544            stringify!(tpidr2_context),
10545            "::",
10546            stringify!(head)
10547        )
10548    );
10549    assert_eq!(
10550        unsafe { ::std::ptr::addr_of!((*ptr).tpidr2) as usize - ptr as usize },
10551        8usize,
10552        concat!(
10553            "Offset of field: ",
10554            stringify!(tpidr2_context),
10555            "::",
10556            stringify!(tpidr2)
10557        )
10558    );
10559}
10560#[repr(C)]
10561#[derive(Debug, Copy, Clone)]
10562pub struct za_context {
10563    pub head: _aarch64_ctx,
10564    pub vl: __u16,
10565    pub __reserved: [__u16; 3usize],
10566}
10567#[test]
10568fn bindgen_test_layout_za_context() {
10569    const UNINIT: ::std::mem::MaybeUninit<za_context> = ::std::mem::MaybeUninit::uninit();
10570    let ptr = UNINIT.as_ptr();
10571    assert_eq!(
10572        ::std::mem::size_of::<za_context>(),
10573        16usize,
10574        concat!("Size of: ", stringify!(za_context))
10575    );
10576    assert_eq!(
10577        ::std::mem::align_of::<za_context>(),
10578        4usize,
10579        concat!("Alignment of ", stringify!(za_context))
10580    );
10581    assert_eq!(
10582        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
10583        0usize,
10584        concat!(
10585            "Offset of field: ",
10586            stringify!(za_context),
10587            "::",
10588            stringify!(head)
10589        )
10590    );
10591    assert_eq!(
10592        unsafe { ::std::ptr::addr_of!((*ptr).vl) as usize - ptr as usize },
10593        8usize,
10594        concat!(
10595            "Offset of field: ",
10596            stringify!(za_context),
10597            "::",
10598            stringify!(vl)
10599        )
10600    );
10601    assert_eq!(
10602        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
10603        10usize,
10604        concat!(
10605            "Offset of field: ",
10606            stringify!(za_context),
10607            "::",
10608            stringify!(__reserved)
10609        )
10610    );
10611}
10612#[repr(C)]
10613#[derive(Debug, Copy, Clone)]
10614pub struct zt_context {
10615    pub head: _aarch64_ctx,
10616    pub nregs: __u16,
10617    pub __reserved: [__u16; 3usize],
10618}
10619#[test]
10620fn bindgen_test_layout_zt_context() {
10621    const UNINIT: ::std::mem::MaybeUninit<zt_context> = ::std::mem::MaybeUninit::uninit();
10622    let ptr = UNINIT.as_ptr();
10623    assert_eq!(
10624        ::std::mem::size_of::<zt_context>(),
10625        16usize,
10626        concat!("Size of: ", stringify!(zt_context))
10627    );
10628    assert_eq!(
10629        ::std::mem::align_of::<zt_context>(),
10630        4usize,
10631        concat!("Alignment of ", stringify!(zt_context))
10632    );
10633    assert_eq!(
10634        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
10635        0usize,
10636        concat!(
10637            "Offset of field: ",
10638            stringify!(zt_context),
10639            "::",
10640            stringify!(head)
10641        )
10642    );
10643    assert_eq!(
10644        unsafe { ::std::ptr::addr_of!((*ptr).nregs) as usize - ptr as usize },
10645        8usize,
10646        concat!(
10647            "Offset of field: ",
10648            stringify!(zt_context),
10649            "::",
10650            stringify!(nregs)
10651        )
10652    );
10653    assert_eq!(
10654        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
10655        10usize,
10656        concat!(
10657            "Offset of field: ",
10658            stringify!(zt_context),
10659            "::",
10660            stringify!(__reserved)
10661        )
10662    );
10663}
10664#[repr(C)]
10665#[derive(Debug, Copy, Clone)]
10666pub struct sigset_t {
10667    pub sig: [::std::os::raw::c_ulong; 1usize],
10668}
10669#[test]
10670fn bindgen_test_layout_sigset_t() {
10671    const UNINIT: ::std::mem::MaybeUninit<sigset_t> = ::std::mem::MaybeUninit::uninit();
10672    let ptr = UNINIT.as_ptr();
10673    assert_eq!(
10674        ::std::mem::size_of::<sigset_t>(),
10675        8usize,
10676        concat!("Size of: ", stringify!(sigset_t))
10677    );
10678    assert_eq!(
10679        ::std::mem::align_of::<sigset_t>(),
10680        8usize,
10681        concat!("Alignment of ", stringify!(sigset_t))
10682    );
10683    assert_eq!(
10684        unsafe { ::std::ptr::addr_of!((*ptr).sig) as usize - ptr as usize },
10685        0usize,
10686        concat!(
10687            "Offset of field: ",
10688            stringify!(sigset_t),
10689            "::",
10690            stringify!(sig)
10691        )
10692    );
10693}
10694pub type old_sigset_t = ::std::os::raw::c_ulong;
10695pub type __signalfn_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
10696pub type __sighandler_t = __signalfn_t;
10697pub type __restorefn_t = ::std::option::Option<unsafe extern "C" fn()>;
10698pub type __sigrestore_t = __restorefn_t;
10699#[repr(C)]
10700#[derive(Debug, Copy, Clone)]
10701pub struct __kernel_sigaction {
10702    pub sa_handler: __sighandler_t,
10703    pub sa_flags: ::std::os::raw::c_ulong,
10704    pub sa_restorer: __sigrestore_t,
10705    pub sa_mask: sigset_t,
10706}
10707#[test]
10708fn bindgen_test_layout___kernel_sigaction() {
10709    const UNINIT: ::std::mem::MaybeUninit<__kernel_sigaction> = ::std::mem::MaybeUninit::uninit();
10710    let ptr = UNINIT.as_ptr();
10711    assert_eq!(
10712        ::std::mem::size_of::<__kernel_sigaction>(),
10713        32usize,
10714        concat!("Size of: ", stringify!(__kernel_sigaction))
10715    );
10716    assert_eq!(
10717        ::std::mem::align_of::<__kernel_sigaction>(),
10718        8usize,
10719        concat!("Alignment of ", stringify!(__kernel_sigaction))
10720    );
10721    assert_eq!(
10722        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
10723        0usize,
10724        concat!(
10725            "Offset of field: ",
10726            stringify!(__kernel_sigaction),
10727            "::",
10728            stringify!(sa_handler)
10729        )
10730    );
10731    assert_eq!(
10732        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
10733        8usize,
10734        concat!(
10735            "Offset of field: ",
10736            stringify!(__kernel_sigaction),
10737            "::",
10738            stringify!(sa_flags)
10739        )
10740    );
10741    assert_eq!(
10742        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
10743        16usize,
10744        concat!(
10745            "Offset of field: ",
10746            stringify!(__kernel_sigaction),
10747            "::",
10748            stringify!(sa_restorer)
10749        )
10750    );
10751    assert_eq!(
10752        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
10753        24usize,
10754        concat!(
10755            "Offset of field: ",
10756            stringify!(__kernel_sigaction),
10757            "::",
10758            stringify!(sa_mask)
10759        )
10760    );
10761}
10762#[repr(C)]
10763#[derive(Debug, Copy, Clone)]
10764pub struct sigaltstack {
10765    pub ss_sp: *mut ::std::os::raw::c_void,
10766    pub ss_flags: ::std::os::raw::c_int,
10767    pub ss_size: __kernel_size_t,
10768}
10769#[test]
10770fn bindgen_test_layout_sigaltstack() {
10771    const UNINIT: ::std::mem::MaybeUninit<sigaltstack> = ::std::mem::MaybeUninit::uninit();
10772    let ptr = UNINIT.as_ptr();
10773    assert_eq!(
10774        ::std::mem::size_of::<sigaltstack>(),
10775        24usize,
10776        concat!("Size of: ", stringify!(sigaltstack))
10777    );
10778    assert_eq!(
10779        ::std::mem::align_of::<sigaltstack>(),
10780        8usize,
10781        concat!("Alignment of ", stringify!(sigaltstack))
10782    );
10783    assert_eq!(
10784        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
10785        0usize,
10786        concat!(
10787            "Offset of field: ",
10788            stringify!(sigaltstack),
10789            "::",
10790            stringify!(ss_sp)
10791        )
10792    );
10793    assert_eq!(
10794        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
10795        8usize,
10796        concat!(
10797            "Offset of field: ",
10798            stringify!(sigaltstack),
10799            "::",
10800            stringify!(ss_flags)
10801        )
10802    );
10803    assert_eq!(
10804        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
10805        16usize,
10806        concat!(
10807            "Offset of field: ",
10808            stringify!(sigaltstack),
10809            "::",
10810            stringify!(ss_size)
10811        )
10812    );
10813}
10814pub type stack_t = sigaltstack;
10815#[repr(C)]
10816#[derive(Copy, Clone)]
10817pub union sigval {
10818    pub sival_int: ::std::os::raw::c_int,
10819    pub sival_ptr: *mut ::std::os::raw::c_void,
10820}
10821#[test]
10822fn bindgen_test_layout_sigval() {
10823    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
10824    let ptr = UNINIT.as_ptr();
10825    assert_eq!(
10826        ::std::mem::size_of::<sigval>(),
10827        8usize,
10828        concat!("Size of: ", stringify!(sigval))
10829    );
10830    assert_eq!(
10831        ::std::mem::align_of::<sigval>(),
10832        8usize,
10833        concat!("Alignment of ", stringify!(sigval))
10834    );
10835    assert_eq!(
10836        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
10837        0usize,
10838        concat!(
10839            "Offset of field: ",
10840            stringify!(sigval),
10841            "::",
10842            stringify!(sival_int)
10843        )
10844    );
10845    assert_eq!(
10846        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
10847        0usize,
10848        concat!(
10849            "Offset of field: ",
10850            stringify!(sigval),
10851            "::",
10852            stringify!(sival_ptr)
10853        )
10854    );
10855}
10856pub type sigval_t = sigval;
10857#[repr(C)]
10858#[derive(Copy, Clone)]
10859pub union __sifields {
10860    pub _kill: __sifields__bindgen_ty_1,
10861    pub _timer: __sifields__bindgen_ty_2,
10862    pub _rt: __sifields__bindgen_ty_3,
10863    pub _sigchld: __sifields__bindgen_ty_4,
10864    pub _sigfault: __sifields__bindgen_ty_5,
10865    pub _sigpoll: __sifields__bindgen_ty_6,
10866    pub _sigsys: __sifields__bindgen_ty_7,
10867}
10868#[repr(C)]
10869#[derive(Debug, Copy, Clone)]
10870pub struct __sifields__bindgen_ty_1 {
10871    pub _pid: __kernel_pid_t,
10872    pub _uid: __kernel_uid32_t,
10873}
10874#[test]
10875fn bindgen_test_layout___sifields__bindgen_ty_1() {
10876    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_1> =
10877        ::std::mem::MaybeUninit::uninit();
10878    let ptr = UNINIT.as_ptr();
10879    assert_eq!(
10880        ::std::mem::size_of::<__sifields__bindgen_ty_1>(),
10881        8usize,
10882        concat!("Size of: ", stringify!(__sifields__bindgen_ty_1))
10883    );
10884    assert_eq!(
10885        ::std::mem::align_of::<__sifields__bindgen_ty_1>(),
10886        4usize,
10887        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_1))
10888    );
10889    assert_eq!(
10890        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
10891        0usize,
10892        concat!(
10893            "Offset of field: ",
10894            stringify!(__sifields__bindgen_ty_1),
10895            "::",
10896            stringify!(_pid)
10897        )
10898    );
10899    assert_eq!(
10900        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
10901        4usize,
10902        concat!(
10903            "Offset of field: ",
10904            stringify!(__sifields__bindgen_ty_1),
10905            "::",
10906            stringify!(_uid)
10907        )
10908    );
10909}
10910#[repr(C)]
10911#[derive(Copy, Clone)]
10912pub struct __sifields__bindgen_ty_2 {
10913    pub _tid: __kernel_timer_t,
10914    pub _overrun: ::std::os::raw::c_int,
10915    pub _sigval: sigval_t,
10916    pub _sys_private: ::std::os::raw::c_int,
10917}
10918#[test]
10919fn bindgen_test_layout___sifields__bindgen_ty_2() {
10920    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_2> =
10921        ::std::mem::MaybeUninit::uninit();
10922    let ptr = UNINIT.as_ptr();
10923    assert_eq!(
10924        ::std::mem::size_of::<__sifields__bindgen_ty_2>(),
10925        24usize,
10926        concat!("Size of: ", stringify!(__sifields__bindgen_ty_2))
10927    );
10928    assert_eq!(
10929        ::std::mem::align_of::<__sifields__bindgen_ty_2>(),
10930        8usize,
10931        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_2))
10932    );
10933    assert_eq!(
10934        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
10935        0usize,
10936        concat!(
10937            "Offset of field: ",
10938            stringify!(__sifields__bindgen_ty_2),
10939            "::",
10940            stringify!(_tid)
10941        )
10942    );
10943    assert_eq!(
10944        unsafe { ::std::ptr::addr_of!((*ptr)._overrun) as usize - ptr as usize },
10945        4usize,
10946        concat!(
10947            "Offset of field: ",
10948            stringify!(__sifields__bindgen_ty_2),
10949            "::",
10950            stringify!(_overrun)
10951        )
10952    );
10953    assert_eq!(
10954        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
10955        8usize,
10956        concat!(
10957            "Offset of field: ",
10958            stringify!(__sifields__bindgen_ty_2),
10959            "::",
10960            stringify!(_sigval)
10961        )
10962    );
10963    assert_eq!(
10964        unsafe { ::std::ptr::addr_of!((*ptr)._sys_private) as usize - ptr as usize },
10965        16usize,
10966        concat!(
10967            "Offset of field: ",
10968            stringify!(__sifields__bindgen_ty_2),
10969            "::",
10970            stringify!(_sys_private)
10971        )
10972    );
10973}
10974#[repr(C)]
10975#[derive(Copy, Clone)]
10976pub struct __sifields__bindgen_ty_3 {
10977    pub _pid: __kernel_pid_t,
10978    pub _uid: __kernel_uid32_t,
10979    pub _sigval: sigval_t,
10980}
10981#[test]
10982fn bindgen_test_layout___sifields__bindgen_ty_3() {
10983    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_3> =
10984        ::std::mem::MaybeUninit::uninit();
10985    let ptr = UNINIT.as_ptr();
10986    assert_eq!(
10987        ::std::mem::size_of::<__sifields__bindgen_ty_3>(),
10988        16usize,
10989        concat!("Size of: ", stringify!(__sifields__bindgen_ty_3))
10990    );
10991    assert_eq!(
10992        ::std::mem::align_of::<__sifields__bindgen_ty_3>(),
10993        8usize,
10994        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_3))
10995    );
10996    assert_eq!(
10997        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
10998        0usize,
10999        concat!(
11000            "Offset of field: ",
11001            stringify!(__sifields__bindgen_ty_3),
11002            "::",
11003            stringify!(_pid)
11004        )
11005    );
11006    assert_eq!(
11007        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
11008        4usize,
11009        concat!(
11010            "Offset of field: ",
11011            stringify!(__sifields__bindgen_ty_3),
11012            "::",
11013            stringify!(_uid)
11014        )
11015    );
11016    assert_eq!(
11017        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
11018        8usize,
11019        concat!(
11020            "Offset of field: ",
11021            stringify!(__sifields__bindgen_ty_3),
11022            "::",
11023            stringify!(_sigval)
11024        )
11025    );
11026}
11027#[repr(C)]
11028#[derive(Debug, Copy, Clone)]
11029pub struct __sifields__bindgen_ty_4 {
11030    pub _pid: __kernel_pid_t,
11031    pub _uid: __kernel_uid32_t,
11032    pub _status: ::std::os::raw::c_int,
11033    pub _utime: __kernel_clock_t,
11034    pub _stime: __kernel_clock_t,
11035}
11036#[test]
11037fn bindgen_test_layout___sifields__bindgen_ty_4() {
11038    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_4> =
11039        ::std::mem::MaybeUninit::uninit();
11040    let ptr = UNINIT.as_ptr();
11041    assert_eq!(
11042        ::std::mem::size_of::<__sifields__bindgen_ty_4>(),
11043        32usize,
11044        concat!("Size of: ", stringify!(__sifields__bindgen_ty_4))
11045    );
11046    assert_eq!(
11047        ::std::mem::align_of::<__sifields__bindgen_ty_4>(),
11048        8usize,
11049        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_4))
11050    );
11051    assert_eq!(
11052        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
11053        0usize,
11054        concat!(
11055            "Offset of field: ",
11056            stringify!(__sifields__bindgen_ty_4),
11057            "::",
11058            stringify!(_pid)
11059        )
11060    );
11061    assert_eq!(
11062        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
11063        4usize,
11064        concat!(
11065            "Offset of field: ",
11066            stringify!(__sifields__bindgen_ty_4),
11067            "::",
11068            stringify!(_uid)
11069        )
11070    );
11071    assert_eq!(
11072        unsafe { ::std::ptr::addr_of!((*ptr)._status) as usize - ptr as usize },
11073        8usize,
11074        concat!(
11075            "Offset of field: ",
11076            stringify!(__sifields__bindgen_ty_4),
11077            "::",
11078            stringify!(_status)
11079        )
11080    );
11081    assert_eq!(
11082        unsafe { ::std::ptr::addr_of!((*ptr)._utime) as usize - ptr as usize },
11083        16usize,
11084        concat!(
11085            "Offset of field: ",
11086            stringify!(__sifields__bindgen_ty_4),
11087            "::",
11088            stringify!(_utime)
11089        )
11090    );
11091    assert_eq!(
11092        unsafe { ::std::ptr::addr_of!((*ptr)._stime) as usize - ptr as usize },
11093        24usize,
11094        concat!(
11095            "Offset of field: ",
11096            stringify!(__sifields__bindgen_ty_4),
11097            "::",
11098            stringify!(_stime)
11099        )
11100    );
11101}
11102#[repr(C)]
11103#[derive(Copy, Clone)]
11104pub struct __sifields__bindgen_ty_5 {
11105    pub _addr: *mut ::std::os::raw::c_void,
11106    pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
11107}
11108#[repr(C)]
11109#[derive(Copy, Clone)]
11110pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
11111    pub _trapno: ::std::os::raw::c_int,
11112    pub _addr_lsb: ::std::os::raw::c_short,
11113    pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
11114    pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
11115    pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
11116}
11117#[repr(C)]
11118#[derive(Debug, Copy, Clone)]
11119pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
11120    pub _dummy_bnd: [::std::os::raw::c_char; 8usize],
11121    pub _lower: *mut ::std::os::raw::c_void,
11122    pub _upper: *mut ::std::os::raw::c_void,
11123}
11124#[test]
11125fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
11126    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1> =
11127        ::std::mem::MaybeUninit::uninit();
11128    let ptr = UNINIT.as_ptr();
11129    assert_eq!(
11130        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
11131        24usize,
11132        concat!(
11133            "Size of: ",
11134            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
11135        )
11136    );
11137    assert_eq!(
11138        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
11139        8usize,
11140        concat!(
11141            "Alignment of ",
11142            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
11143        )
11144    );
11145    assert_eq!(
11146        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_bnd) as usize - ptr as usize },
11147        0usize,
11148        concat!(
11149            "Offset of field: ",
11150            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
11151            "::",
11152            stringify!(_dummy_bnd)
11153        )
11154    );
11155    assert_eq!(
11156        unsafe { ::std::ptr::addr_of!((*ptr)._lower) as usize - ptr as usize },
11157        8usize,
11158        concat!(
11159            "Offset of field: ",
11160            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
11161            "::",
11162            stringify!(_lower)
11163        )
11164    );
11165    assert_eq!(
11166        unsafe { ::std::ptr::addr_of!((*ptr)._upper) as usize - ptr as usize },
11167        16usize,
11168        concat!(
11169            "Offset of field: ",
11170            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
11171            "::",
11172            stringify!(_upper)
11173        )
11174    );
11175}
11176#[repr(C)]
11177#[derive(Debug, Copy, Clone)]
11178pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
11179    pub _dummy_pkey: [::std::os::raw::c_char; 8usize],
11180    pub _pkey: __u32,
11181}
11182#[test]
11183fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2() {
11184    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2> =
11185        ::std::mem::MaybeUninit::uninit();
11186    let ptr = UNINIT.as_ptr();
11187    assert_eq!(
11188        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
11189        12usize,
11190        concat!(
11191            "Size of: ",
11192            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
11193        )
11194    );
11195    assert_eq!(
11196        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
11197        4usize,
11198        concat!(
11199            "Alignment of ",
11200            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
11201        )
11202    );
11203    assert_eq!(
11204        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_pkey) as usize - ptr as usize },
11205        0usize,
11206        concat!(
11207            "Offset of field: ",
11208            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
11209            "::",
11210            stringify!(_dummy_pkey)
11211        )
11212    );
11213    assert_eq!(
11214        unsafe { ::std::ptr::addr_of!((*ptr)._pkey) as usize - ptr as usize },
11215        8usize,
11216        concat!(
11217            "Offset of field: ",
11218            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
11219            "::",
11220            stringify!(_pkey)
11221        )
11222    );
11223}
11224#[repr(C)]
11225#[derive(Debug, Copy, Clone)]
11226pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
11227    pub _data: ::std::os::raw::c_ulong,
11228    pub _type: __u32,
11229    pub _flags: __u32,
11230}
11231#[test]
11232fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3() {
11233    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3> =
11234        ::std::mem::MaybeUninit::uninit();
11235    let ptr = UNINIT.as_ptr();
11236    assert_eq!(
11237        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
11238        16usize,
11239        concat!(
11240            "Size of: ",
11241            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
11242        )
11243    );
11244    assert_eq!(
11245        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
11246        8usize,
11247        concat!(
11248            "Alignment of ",
11249            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
11250        )
11251    );
11252    assert_eq!(
11253        unsafe { ::std::ptr::addr_of!((*ptr)._data) as usize - ptr as usize },
11254        0usize,
11255        concat!(
11256            "Offset of field: ",
11257            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
11258            "::",
11259            stringify!(_data)
11260        )
11261    );
11262    assert_eq!(
11263        unsafe { ::std::ptr::addr_of!((*ptr)._type) as usize - ptr as usize },
11264        8usize,
11265        concat!(
11266            "Offset of field: ",
11267            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
11268            "::",
11269            stringify!(_type)
11270        )
11271    );
11272    assert_eq!(
11273        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
11274        12usize,
11275        concat!(
11276            "Offset of field: ",
11277            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
11278            "::",
11279            stringify!(_flags)
11280        )
11281    );
11282}
11283#[test]
11284fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1() {
11285    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1> =
11286        ::std::mem::MaybeUninit::uninit();
11287    let ptr = UNINIT.as_ptr();
11288    assert_eq!(
11289        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
11290        24usize,
11291        concat!(
11292            "Size of: ",
11293            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
11294        )
11295    );
11296    assert_eq!(
11297        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
11298        8usize,
11299        concat!(
11300            "Alignment of ",
11301            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
11302        )
11303    );
11304    assert_eq!(
11305        unsafe { ::std::ptr::addr_of!((*ptr)._trapno) as usize - ptr as usize },
11306        0usize,
11307        concat!(
11308            "Offset of field: ",
11309            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11310            "::",
11311            stringify!(_trapno)
11312        )
11313    );
11314    assert_eq!(
11315        unsafe { ::std::ptr::addr_of!((*ptr)._addr_lsb) as usize - ptr as usize },
11316        0usize,
11317        concat!(
11318            "Offset of field: ",
11319            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11320            "::",
11321            stringify!(_addr_lsb)
11322        )
11323    );
11324    assert_eq!(
11325        unsafe { ::std::ptr::addr_of!((*ptr)._addr_bnd) as usize - ptr as usize },
11326        0usize,
11327        concat!(
11328            "Offset of field: ",
11329            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11330            "::",
11331            stringify!(_addr_bnd)
11332        )
11333    );
11334    assert_eq!(
11335        unsafe { ::std::ptr::addr_of!((*ptr)._addr_pkey) as usize - ptr as usize },
11336        0usize,
11337        concat!(
11338            "Offset of field: ",
11339            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11340            "::",
11341            stringify!(_addr_pkey)
11342        )
11343    );
11344    assert_eq!(
11345        unsafe { ::std::ptr::addr_of!((*ptr)._perf) as usize - ptr as usize },
11346        0usize,
11347        concat!(
11348            "Offset of field: ",
11349            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
11350            "::",
11351            stringify!(_perf)
11352        )
11353    );
11354}
11355#[test]
11356fn bindgen_test_layout___sifields__bindgen_ty_5() {
11357    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5> =
11358        ::std::mem::MaybeUninit::uninit();
11359    let ptr = UNINIT.as_ptr();
11360    assert_eq!(
11361        ::std::mem::size_of::<__sifields__bindgen_ty_5>(),
11362        32usize,
11363        concat!("Size of: ", stringify!(__sifields__bindgen_ty_5))
11364    );
11365    assert_eq!(
11366        ::std::mem::align_of::<__sifields__bindgen_ty_5>(),
11367        8usize,
11368        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_5))
11369    );
11370    assert_eq!(
11371        unsafe { ::std::ptr::addr_of!((*ptr)._addr) as usize - ptr as usize },
11372        0usize,
11373        concat!(
11374            "Offset of field: ",
11375            stringify!(__sifields__bindgen_ty_5),
11376            "::",
11377            stringify!(_addr)
11378        )
11379    );
11380}
11381#[repr(C)]
11382#[derive(Debug, Copy, Clone)]
11383pub struct __sifields__bindgen_ty_6 {
11384    pub _band: ::std::os::raw::c_long,
11385    pub _fd: ::std::os::raw::c_int,
11386}
11387#[test]
11388fn bindgen_test_layout___sifields__bindgen_ty_6() {
11389    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_6> =
11390        ::std::mem::MaybeUninit::uninit();
11391    let ptr = UNINIT.as_ptr();
11392    assert_eq!(
11393        ::std::mem::size_of::<__sifields__bindgen_ty_6>(),
11394        16usize,
11395        concat!("Size of: ", stringify!(__sifields__bindgen_ty_6))
11396    );
11397    assert_eq!(
11398        ::std::mem::align_of::<__sifields__bindgen_ty_6>(),
11399        8usize,
11400        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_6))
11401    );
11402    assert_eq!(
11403        unsafe { ::std::ptr::addr_of!((*ptr)._band) as usize - ptr as usize },
11404        0usize,
11405        concat!(
11406            "Offset of field: ",
11407            stringify!(__sifields__bindgen_ty_6),
11408            "::",
11409            stringify!(_band)
11410        )
11411    );
11412    assert_eq!(
11413        unsafe { ::std::ptr::addr_of!((*ptr)._fd) as usize - ptr as usize },
11414        8usize,
11415        concat!(
11416            "Offset of field: ",
11417            stringify!(__sifields__bindgen_ty_6),
11418            "::",
11419            stringify!(_fd)
11420        )
11421    );
11422}
11423#[repr(C)]
11424#[derive(Debug, Copy, Clone)]
11425pub struct __sifields__bindgen_ty_7 {
11426    pub _call_addr: *mut ::std::os::raw::c_void,
11427    pub _syscall: ::std::os::raw::c_int,
11428    pub _arch: ::std::os::raw::c_uint,
11429}
11430#[test]
11431fn bindgen_test_layout___sifields__bindgen_ty_7() {
11432    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_7> =
11433        ::std::mem::MaybeUninit::uninit();
11434    let ptr = UNINIT.as_ptr();
11435    assert_eq!(
11436        ::std::mem::size_of::<__sifields__bindgen_ty_7>(),
11437        16usize,
11438        concat!("Size of: ", stringify!(__sifields__bindgen_ty_7))
11439    );
11440    assert_eq!(
11441        ::std::mem::align_of::<__sifields__bindgen_ty_7>(),
11442        8usize,
11443        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_7))
11444    );
11445    assert_eq!(
11446        unsafe { ::std::ptr::addr_of!((*ptr)._call_addr) as usize - ptr as usize },
11447        0usize,
11448        concat!(
11449            "Offset of field: ",
11450            stringify!(__sifields__bindgen_ty_7),
11451            "::",
11452            stringify!(_call_addr)
11453        )
11454    );
11455    assert_eq!(
11456        unsafe { ::std::ptr::addr_of!((*ptr)._syscall) as usize - ptr as usize },
11457        8usize,
11458        concat!(
11459            "Offset of field: ",
11460            stringify!(__sifields__bindgen_ty_7),
11461            "::",
11462            stringify!(_syscall)
11463        )
11464    );
11465    assert_eq!(
11466        unsafe { ::std::ptr::addr_of!((*ptr)._arch) as usize - ptr as usize },
11467        12usize,
11468        concat!(
11469            "Offset of field: ",
11470            stringify!(__sifields__bindgen_ty_7),
11471            "::",
11472            stringify!(_arch)
11473        )
11474    );
11475}
11476#[test]
11477fn bindgen_test_layout___sifields() {
11478    const UNINIT: ::std::mem::MaybeUninit<__sifields> = ::std::mem::MaybeUninit::uninit();
11479    let ptr = UNINIT.as_ptr();
11480    assert_eq!(
11481        ::std::mem::size_of::<__sifields>(),
11482        32usize,
11483        concat!("Size of: ", stringify!(__sifields))
11484    );
11485    assert_eq!(
11486        ::std::mem::align_of::<__sifields>(),
11487        8usize,
11488        concat!("Alignment of ", stringify!(__sifields))
11489    );
11490    assert_eq!(
11491        unsafe { ::std::ptr::addr_of!((*ptr)._kill) as usize - ptr as usize },
11492        0usize,
11493        concat!(
11494            "Offset of field: ",
11495            stringify!(__sifields),
11496            "::",
11497            stringify!(_kill)
11498        )
11499    );
11500    assert_eq!(
11501        unsafe { ::std::ptr::addr_of!((*ptr)._timer) as usize - ptr as usize },
11502        0usize,
11503        concat!(
11504            "Offset of field: ",
11505            stringify!(__sifields),
11506            "::",
11507            stringify!(_timer)
11508        )
11509    );
11510    assert_eq!(
11511        unsafe { ::std::ptr::addr_of!((*ptr)._rt) as usize - ptr as usize },
11512        0usize,
11513        concat!(
11514            "Offset of field: ",
11515            stringify!(__sifields),
11516            "::",
11517            stringify!(_rt)
11518        )
11519    );
11520    assert_eq!(
11521        unsafe { ::std::ptr::addr_of!((*ptr)._sigchld) as usize - ptr as usize },
11522        0usize,
11523        concat!(
11524            "Offset of field: ",
11525            stringify!(__sifields),
11526            "::",
11527            stringify!(_sigchld)
11528        )
11529    );
11530    assert_eq!(
11531        unsafe { ::std::ptr::addr_of!((*ptr)._sigfault) as usize - ptr as usize },
11532        0usize,
11533        concat!(
11534            "Offset of field: ",
11535            stringify!(__sifields),
11536            "::",
11537            stringify!(_sigfault)
11538        )
11539    );
11540    assert_eq!(
11541        unsafe { ::std::ptr::addr_of!((*ptr)._sigpoll) as usize - ptr as usize },
11542        0usize,
11543        concat!(
11544            "Offset of field: ",
11545            stringify!(__sifields),
11546            "::",
11547            stringify!(_sigpoll)
11548        )
11549    );
11550    assert_eq!(
11551        unsafe { ::std::ptr::addr_of!((*ptr)._sigsys) as usize - ptr as usize },
11552        0usize,
11553        concat!(
11554            "Offset of field: ",
11555            stringify!(__sifields),
11556            "::",
11557            stringify!(_sigsys)
11558        )
11559    );
11560}
11561#[repr(C)]
11562#[derive(Copy, Clone)]
11563pub struct siginfo {
11564    pub __bindgen_anon_1: siginfo__bindgen_ty_1,
11565}
11566#[repr(C)]
11567#[derive(Copy, Clone)]
11568pub union siginfo__bindgen_ty_1 {
11569    pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
11570    pub _si_pad: [::std::os::raw::c_int; 32usize],
11571}
11572#[repr(C)]
11573#[derive(Copy, Clone)]
11574pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
11575    pub si_signo: ::std::os::raw::c_int,
11576    pub si_errno: ::std::os::raw::c_int,
11577    pub si_code: ::std::os::raw::c_int,
11578    pub _sifields: __sifields,
11579}
11580#[test]
11581fn bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1() {
11582    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1__bindgen_ty_1> =
11583        ::std::mem::MaybeUninit::uninit();
11584    let ptr = UNINIT.as_ptr();
11585    assert_eq!(
11586        ::std::mem::size_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
11587        48usize,
11588        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1__bindgen_ty_1))
11589    );
11590    assert_eq!(
11591        ::std::mem::align_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
11592        8usize,
11593        concat!(
11594            "Alignment of ",
11595            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1)
11596        )
11597    );
11598    assert_eq!(
11599        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
11600        0usize,
11601        concat!(
11602            "Offset of field: ",
11603            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11604            "::",
11605            stringify!(si_signo)
11606        )
11607    );
11608    assert_eq!(
11609        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
11610        4usize,
11611        concat!(
11612            "Offset of field: ",
11613            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11614            "::",
11615            stringify!(si_errno)
11616        )
11617    );
11618    assert_eq!(
11619        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
11620        8usize,
11621        concat!(
11622            "Offset of field: ",
11623            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11624            "::",
11625            stringify!(si_code)
11626        )
11627    );
11628    assert_eq!(
11629        unsafe { ::std::ptr::addr_of!((*ptr)._sifields) as usize - ptr as usize },
11630        16usize,
11631        concat!(
11632            "Offset of field: ",
11633            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
11634            "::",
11635            stringify!(_sifields)
11636        )
11637    );
11638}
11639#[test]
11640fn bindgen_test_layout_siginfo__bindgen_ty_1() {
11641    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1> =
11642        ::std::mem::MaybeUninit::uninit();
11643    let ptr = UNINIT.as_ptr();
11644    assert_eq!(
11645        ::std::mem::size_of::<siginfo__bindgen_ty_1>(),
11646        128usize,
11647        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1))
11648    );
11649    assert_eq!(
11650        ::std::mem::align_of::<siginfo__bindgen_ty_1>(),
11651        8usize,
11652        concat!("Alignment of ", stringify!(siginfo__bindgen_ty_1))
11653    );
11654    assert_eq!(
11655        unsafe { ::std::ptr::addr_of!((*ptr)._si_pad) as usize - ptr as usize },
11656        0usize,
11657        concat!(
11658            "Offset of field: ",
11659            stringify!(siginfo__bindgen_ty_1),
11660            "::",
11661            stringify!(_si_pad)
11662        )
11663    );
11664}
11665#[test]
11666fn bindgen_test_layout_siginfo() {
11667    assert_eq!(
11668        ::std::mem::size_of::<siginfo>(),
11669        128usize,
11670        concat!("Size of: ", stringify!(siginfo))
11671    );
11672    assert_eq!(
11673        ::std::mem::align_of::<siginfo>(),
11674        8usize,
11675        concat!("Alignment of ", stringify!(siginfo))
11676    );
11677}
11678pub type siginfo_t = siginfo;
11679#[repr(C)]
11680#[derive(Copy, Clone)]
11681pub struct sigevent {
11682    pub sigev_value: sigval_t,
11683    pub sigev_signo: ::std::os::raw::c_int,
11684    pub sigev_notify: ::std::os::raw::c_int,
11685    pub _sigev_un: sigevent__bindgen_ty_1,
11686}
11687#[repr(C)]
11688#[derive(Copy, Clone)]
11689pub union sigevent__bindgen_ty_1 {
11690    pub _pad: [::std::os::raw::c_int; 12usize],
11691    pub _tid: ::std::os::raw::c_int,
11692    pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
11693}
11694#[repr(C)]
11695#[derive(Debug, Copy, Clone)]
11696pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
11697    pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
11698    pub _attribute: *mut ::std::os::raw::c_void,
11699}
11700#[test]
11701fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
11702    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1__bindgen_ty_1> =
11703        ::std::mem::MaybeUninit::uninit();
11704    let ptr = UNINIT.as_ptr();
11705    assert_eq!(
11706        ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
11707        16usize,
11708        concat!(
11709            "Size of: ",
11710            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
11711        )
11712    );
11713    assert_eq!(
11714        ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
11715        8usize,
11716        concat!(
11717            "Alignment of ",
11718            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
11719        )
11720    );
11721    assert_eq!(
11722        unsafe { ::std::ptr::addr_of!((*ptr)._function) as usize - ptr as usize },
11723        0usize,
11724        concat!(
11725            "Offset of field: ",
11726            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
11727            "::",
11728            stringify!(_function)
11729        )
11730    );
11731    assert_eq!(
11732        unsafe { ::std::ptr::addr_of!((*ptr)._attribute) as usize - ptr as usize },
11733        8usize,
11734        concat!(
11735            "Offset of field: ",
11736            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
11737            "::",
11738            stringify!(_attribute)
11739        )
11740    );
11741}
11742#[test]
11743fn bindgen_test_layout_sigevent__bindgen_ty_1() {
11744    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1> =
11745        ::std::mem::MaybeUninit::uninit();
11746    let ptr = UNINIT.as_ptr();
11747    assert_eq!(
11748        ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
11749        48usize,
11750        concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
11751    );
11752    assert_eq!(
11753        ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
11754        8usize,
11755        concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
11756    );
11757    assert_eq!(
11758        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
11759        0usize,
11760        concat!(
11761            "Offset of field: ",
11762            stringify!(sigevent__bindgen_ty_1),
11763            "::",
11764            stringify!(_pad)
11765        )
11766    );
11767    assert_eq!(
11768        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
11769        0usize,
11770        concat!(
11771            "Offset of field: ",
11772            stringify!(sigevent__bindgen_ty_1),
11773            "::",
11774            stringify!(_tid)
11775        )
11776    );
11777    assert_eq!(
11778        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_thread) as usize - ptr as usize },
11779        0usize,
11780        concat!(
11781            "Offset of field: ",
11782            stringify!(sigevent__bindgen_ty_1),
11783            "::",
11784            stringify!(_sigev_thread)
11785        )
11786    );
11787}
11788#[test]
11789fn bindgen_test_layout_sigevent() {
11790    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
11791    let ptr = UNINIT.as_ptr();
11792    assert_eq!(
11793        ::std::mem::size_of::<sigevent>(),
11794        64usize,
11795        concat!("Size of: ", stringify!(sigevent))
11796    );
11797    assert_eq!(
11798        ::std::mem::align_of::<sigevent>(),
11799        8usize,
11800        concat!("Alignment of ", stringify!(sigevent))
11801    );
11802    assert_eq!(
11803        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
11804        0usize,
11805        concat!(
11806            "Offset of field: ",
11807            stringify!(sigevent),
11808            "::",
11809            stringify!(sigev_value)
11810        )
11811    );
11812    assert_eq!(
11813        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
11814        8usize,
11815        concat!(
11816            "Offset of field: ",
11817            stringify!(sigevent),
11818            "::",
11819            stringify!(sigev_signo)
11820        )
11821    );
11822    assert_eq!(
11823        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
11824        12usize,
11825        concat!(
11826            "Offset of field: ",
11827            stringify!(sigevent),
11828            "::",
11829            stringify!(sigev_notify)
11830        )
11831    );
11832    assert_eq!(
11833        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_un) as usize - ptr as usize },
11834        16usize,
11835        concat!(
11836            "Offset of field: ",
11837            stringify!(sigevent),
11838            "::",
11839            stringify!(_sigev_un)
11840        )
11841    );
11842}
11843pub type sigevent_t = sigevent;
11844pub type sig_atomic_t = ::std::os::raw::c_int;
11845pub type sig_t = __sighandler_t;
11846pub type sighandler_t = __sighandler_t;
11847pub type sigset64_t = sigset_t;
11848#[repr(C)]
11849#[derive(Copy, Clone)]
11850pub struct sigaction {
11851    pub sa_flags: ::std::os::raw::c_int,
11852    pub __bindgen_anon_1: sigaction__bindgen_ty_1,
11853    pub sa_mask: sigset_t,
11854    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
11855}
11856#[repr(C)]
11857#[derive(Copy, Clone)]
11858pub union sigaction__bindgen_ty_1 {
11859    pub sa_handler: sighandler_t,
11860    pub sa_sigaction: ::std::option::Option<
11861        unsafe extern "C" fn(
11862            arg1: ::std::os::raw::c_int,
11863            arg2: *mut siginfo,
11864            arg3: *mut ::std::os::raw::c_void,
11865        ),
11866    >,
11867}
11868#[test]
11869fn bindgen_test_layout_sigaction__bindgen_ty_1() {
11870    const UNINIT: ::std::mem::MaybeUninit<sigaction__bindgen_ty_1> =
11871        ::std::mem::MaybeUninit::uninit();
11872    let ptr = UNINIT.as_ptr();
11873    assert_eq!(
11874        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
11875        8usize,
11876        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
11877    );
11878    assert_eq!(
11879        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
11880        8usize,
11881        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
11882    );
11883    assert_eq!(
11884        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
11885        0usize,
11886        concat!(
11887            "Offset of field: ",
11888            stringify!(sigaction__bindgen_ty_1),
11889            "::",
11890            stringify!(sa_handler)
11891        )
11892    );
11893    assert_eq!(
11894        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
11895        0usize,
11896        concat!(
11897            "Offset of field: ",
11898            stringify!(sigaction__bindgen_ty_1),
11899            "::",
11900            stringify!(sa_sigaction)
11901        )
11902    );
11903}
11904#[test]
11905fn bindgen_test_layout_sigaction() {
11906    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
11907    let ptr = UNINIT.as_ptr();
11908    assert_eq!(
11909        ::std::mem::size_of::<sigaction>(),
11910        32usize,
11911        concat!("Size of: ", stringify!(sigaction))
11912    );
11913    assert_eq!(
11914        ::std::mem::align_of::<sigaction>(),
11915        8usize,
11916        concat!("Alignment of ", stringify!(sigaction))
11917    );
11918    assert_eq!(
11919        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
11920        0usize,
11921        concat!(
11922            "Offset of field: ",
11923            stringify!(sigaction),
11924            "::",
11925            stringify!(sa_flags)
11926        )
11927    );
11928    assert_eq!(
11929        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
11930        16usize,
11931        concat!(
11932            "Offset of field: ",
11933            stringify!(sigaction),
11934            "::",
11935            stringify!(sa_mask)
11936        )
11937    );
11938    assert_eq!(
11939        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
11940        24usize,
11941        concat!(
11942            "Offset of field: ",
11943            stringify!(sigaction),
11944            "::",
11945            stringify!(sa_restorer)
11946        )
11947    );
11948}
11949#[repr(C)]
11950#[derive(Copy, Clone)]
11951pub struct sigaction64 {
11952    pub sa_flags: ::std::os::raw::c_int,
11953    pub __bindgen_anon_1: sigaction64__bindgen_ty_1,
11954    pub sa_mask: sigset_t,
11955    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
11956}
11957#[repr(C)]
11958#[derive(Copy, Clone)]
11959pub union sigaction64__bindgen_ty_1 {
11960    pub sa_handler: sighandler_t,
11961    pub sa_sigaction: ::std::option::Option<
11962        unsafe extern "C" fn(
11963            arg1: ::std::os::raw::c_int,
11964            arg2: *mut siginfo,
11965            arg3: *mut ::std::os::raw::c_void,
11966        ),
11967    >,
11968}
11969#[test]
11970fn bindgen_test_layout_sigaction64__bindgen_ty_1() {
11971    const UNINIT: ::std::mem::MaybeUninit<sigaction64__bindgen_ty_1> =
11972        ::std::mem::MaybeUninit::uninit();
11973    let ptr = UNINIT.as_ptr();
11974    assert_eq!(
11975        ::std::mem::size_of::<sigaction64__bindgen_ty_1>(),
11976        8usize,
11977        concat!("Size of: ", stringify!(sigaction64__bindgen_ty_1))
11978    );
11979    assert_eq!(
11980        ::std::mem::align_of::<sigaction64__bindgen_ty_1>(),
11981        8usize,
11982        concat!("Alignment of ", stringify!(sigaction64__bindgen_ty_1))
11983    );
11984    assert_eq!(
11985        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
11986        0usize,
11987        concat!(
11988            "Offset of field: ",
11989            stringify!(sigaction64__bindgen_ty_1),
11990            "::",
11991            stringify!(sa_handler)
11992        )
11993    );
11994    assert_eq!(
11995        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
11996        0usize,
11997        concat!(
11998            "Offset of field: ",
11999            stringify!(sigaction64__bindgen_ty_1),
12000            "::",
12001            stringify!(sa_sigaction)
12002        )
12003    );
12004}
12005#[test]
12006fn bindgen_test_layout_sigaction64() {
12007    const UNINIT: ::std::mem::MaybeUninit<sigaction64> = ::std::mem::MaybeUninit::uninit();
12008    let ptr = UNINIT.as_ptr();
12009    assert_eq!(
12010        ::std::mem::size_of::<sigaction64>(),
12011        32usize,
12012        concat!("Size of: ", stringify!(sigaction64))
12013    );
12014    assert_eq!(
12015        ::std::mem::align_of::<sigaction64>(),
12016        8usize,
12017        concat!("Alignment of ", stringify!(sigaction64))
12018    );
12019    assert_eq!(
12020        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
12021        0usize,
12022        concat!(
12023            "Offset of field: ",
12024            stringify!(sigaction64),
12025            "::",
12026            stringify!(sa_flags)
12027        )
12028    );
12029    assert_eq!(
12030        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
12031        16usize,
12032        concat!(
12033            "Offset of field: ",
12034            stringify!(sigaction64),
12035            "::",
12036            stringify!(sa_mask)
12037        )
12038    );
12039    assert_eq!(
12040        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
12041        24usize,
12042        concat!(
12043            "Offset of field: ",
12044            stringify!(sigaction64),
12045            "::",
12046            stringify!(sa_restorer)
12047        )
12048    );
12049}
12050#[repr(C)]
12051#[derive(Debug, Copy, Clone)]
12052pub struct user_regs_struct {
12053    pub regs: [u64; 31usize],
12054    pub sp: u64,
12055    pub pc: u64,
12056    pub pstate: u64,
12057}
12058#[test]
12059fn bindgen_test_layout_user_regs_struct() {
12060    const UNINIT: ::std::mem::MaybeUninit<user_regs_struct> = ::std::mem::MaybeUninit::uninit();
12061    let ptr = UNINIT.as_ptr();
12062    assert_eq!(
12063        ::std::mem::size_of::<user_regs_struct>(),
12064        272usize,
12065        concat!("Size of: ", stringify!(user_regs_struct))
12066    );
12067    assert_eq!(
12068        ::std::mem::align_of::<user_regs_struct>(),
12069        8usize,
12070        concat!("Alignment of ", stringify!(user_regs_struct))
12071    );
12072    assert_eq!(
12073        unsafe { ::std::ptr::addr_of!((*ptr).regs) as usize - ptr as usize },
12074        0usize,
12075        concat!(
12076            "Offset of field: ",
12077            stringify!(user_regs_struct),
12078            "::",
12079            stringify!(regs)
12080        )
12081    );
12082    assert_eq!(
12083        unsafe { ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize },
12084        248usize,
12085        concat!(
12086            "Offset of field: ",
12087            stringify!(user_regs_struct),
12088            "::",
12089            stringify!(sp)
12090        )
12091    );
12092    assert_eq!(
12093        unsafe { ::std::ptr::addr_of!((*ptr).pc) as usize - ptr as usize },
12094        256usize,
12095        concat!(
12096            "Offset of field: ",
12097            stringify!(user_regs_struct),
12098            "::",
12099            stringify!(pc)
12100        )
12101    );
12102    assert_eq!(
12103        unsafe { ::std::ptr::addr_of!((*ptr).pstate) as usize - ptr as usize },
12104        264usize,
12105        concat!(
12106            "Offset of field: ",
12107            stringify!(user_regs_struct),
12108            "::",
12109            stringify!(pstate)
12110        )
12111    );
12112}
12113#[repr(C)]
12114#[repr(align(16))]
12115#[derive(Debug, Copy, Clone)]
12116pub struct user_fpsimd_struct {
12117    pub vregs: [__uint128_t; 32usize],
12118    pub fpsr: u32,
12119    pub fpcr: u32,
12120}
12121#[test]
12122fn bindgen_test_layout_user_fpsimd_struct() {
12123    const UNINIT: ::std::mem::MaybeUninit<user_fpsimd_struct> = ::std::mem::MaybeUninit::uninit();
12124    let ptr = UNINIT.as_ptr();
12125    assert_eq!(
12126        ::std::mem::size_of::<user_fpsimd_struct>(),
12127        528usize,
12128        concat!("Size of: ", stringify!(user_fpsimd_struct))
12129    );
12130    assert_eq!(
12131        ::std::mem::align_of::<user_fpsimd_struct>(),
12132        16usize,
12133        concat!("Alignment of ", stringify!(user_fpsimd_struct))
12134    );
12135    assert_eq!(
12136        unsafe { ::std::ptr::addr_of!((*ptr).vregs) as usize - ptr as usize },
12137        0usize,
12138        concat!(
12139            "Offset of field: ",
12140            stringify!(user_fpsimd_struct),
12141            "::",
12142            stringify!(vregs)
12143        )
12144    );
12145    assert_eq!(
12146        unsafe { ::std::ptr::addr_of!((*ptr).fpsr) as usize - ptr as usize },
12147        512usize,
12148        concat!(
12149            "Offset of field: ",
12150            stringify!(user_fpsimd_struct),
12151            "::",
12152            stringify!(fpsr)
12153        )
12154    );
12155    assert_eq!(
12156        unsafe { ::std::ptr::addr_of!((*ptr).fpcr) as usize - ptr as usize },
12157        516usize,
12158        concat!(
12159            "Offset of field: ",
12160            stringify!(user_fpsimd_struct),
12161            "::",
12162            stringify!(fpcr)
12163        )
12164    );
12165}
12166pub type greg_t = ::std::os::raw::c_ulong;
12167pub type gregset_t = [greg_t; 34usize];
12168pub type fpregset_t = user_fpsimd_struct;
12169pub type mcontext_t = sigcontext;
12170#[repr(C)]
12171#[repr(align(16))]
12172#[derive(Copy, Clone)]
12173pub struct ucontext {
12174    pub uc_flags: ::std::os::raw::c_ulong,
12175    pub uc_link: *mut ucontext,
12176    pub uc_stack: stack_t,
12177    pub __bindgen_anon_1: ucontext__bindgen_ty_1,
12178    pub __padding: [::std::os::raw::c_char; 120usize],
12179    pub __bindgen_padding_0: u64,
12180    pub uc_mcontext: mcontext_t,
12181}
12182#[repr(C)]
12183#[derive(Copy, Clone)]
12184pub union ucontext__bindgen_ty_1 {
12185    pub uc_sigmask: sigset_t,
12186    pub uc_sigmask64: sigset64_t,
12187}
12188#[test]
12189fn bindgen_test_layout_ucontext__bindgen_ty_1() {
12190    const UNINIT: ::std::mem::MaybeUninit<ucontext__bindgen_ty_1> =
12191        ::std::mem::MaybeUninit::uninit();
12192    let ptr = UNINIT.as_ptr();
12193    assert_eq!(
12194        ::std::mem::size_of::<ucontext__bindgen_ty_1>(),
12195        8usize,
12196        concat!("Size of: ", stringify!(ucontext__bindgen_ty_1))
12197    );
12198    assert_eq!(
12199        ::std::mem::align_of::<ucontext__bindgen_ty_1>(),
12200        8usize,
12201        concat!("Alignment of ", stringify!(ucontext__bindgen_ty_1))
12202    );
12203    assert_eq!(
12204        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
12205        0usize,
12206        concat!(
12207            "Offset of field: ",
12208            stringify!(ucontext__bindgen_ty_1),
12209            "::",
12210            stringify!(uc_sigmask)
12211        )
12212    );
12213    assert_eq!(
12214        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask64) as usize - ptr as usize },
12215        0usize,
12216        concat!(
12217            "Offset of field: ",
12218            stringify!(ucontext__bindgen_ty_1),
12219            "::",
12220            stringify!(uc_sigmask64)
12221        )
12222    );
12223}
12224#[test]
12225fn bindgen_test_layout_ucontext() {
12226    const UNINIT: ::std::mem::MaybeUninit<ucontext> = ::std::mem::MaybeUninit::uninit();
12227    let ptr = UNINIT.as_ptr();
12228    assert_eq!(
12229        ::std::mem::size_of::<ucontext>(),
12230        4560usize,
12231        concat!("Size of: ", stringify!(ucontext))
12232    );
12233    assert_eq!(
12234        ::std::mem::align_of::<ucontext>(),
12235        16usize,
12236        concat!("Alignment of ", stringify!(ucontext))
12237    );
12238    assert_eq!(
12239        unsafe { ::std::ptr::addr_of!((*ptr).uc_flags) as usize - ptr as usize },
12240        0usize,
12241        concat!(
12242            "Offset of field: ",
12243            stringify!(ucontext),
12244            "::",
12245            stringify!(uc_flags)
12246        )
12247    );
12248    assert_eq!(
12249        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
12250        8usize,
12251        concat!(
12252            "Offset of field: ",
12253            stringify!(ucontext),
12254            "::",
12255            stringify!(uc_link)
12256        )
12257    );
12258    assert_eq!(
12259        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
12260        16usize,
12261        concat!(
12262            "Offset of field: ",
12263            stringify!(ucontext),
12264            "::",
12265            stringify!(uc_stack)
12266        )
12267    );
12268    assert_eq!(
12269        unsafe { ::std::ptr::addr_of!((*ptr).__padding) as usize - ptr as usize },
12270        48usize,
12271        concat!(
12272            "Offset of field: ",
12273            stringify!(ucontext),
12274            "::",
12275            stringify!(__padding)
12276        )
12277    );
12278    assert_eq!(
12279        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
12280        176usize,
12281        concat!(
12282            "Offset of field: ",
12283            stringify!(ucontext),
12284            "::",
12285            stringify!(uc_mcontext)
12286        )
12287    );
12288}
12289pub type ucontext_t = ucontext;
12290extern "C" {
12291    pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
12292}
12293extern "C" {
12294    pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
12295}
12296extern "C" {
12297    pub static sys_siglist: [*const ::std::os::raw::c_char; 65usize];
12298}
12299extern "C" {
12300    pub static sys_signame: [*const ::std::os::raw::c_char; 65usize];
12301}
12302extern "C" {
12303    pub fn sigaction(
12304        __signal: ::std::os::raw::c_int,
12305        __new_action: *const sigaction,
12306        __old_action: *mut sigaction,
12307    ) -> ::std::os::raw::c_int;
12308}
12309extern "C" {
12310    pub fn sigaction64(
12311        __signal: ::std::os::raw::c_int,
12312        __new_action: *const sigaction64,
12313        __old_action: *mut sigaction64,
12314    ) -> ::std::os::raw::c_int;
12315}
12316extern "C" {
12317    pub fn siginterrupt(
12318        __signal: ::std::os::raw::c_int,
12319        __flag: ::std::os::raw::c_int,
12320    ) -> ::std::os::raw::c_int;
12321}
12322extern "C" {
12323    pub fn signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
12324}
12325extern "C" {
12326    pub fn sigaddset(
12327        __set: *mut sigset_t,
12328        __signal: ::std::os::raw::c_int,
12329    ) -> ::std::os::raw::c_int;
12330}
12331extern "C" {
12332    pub fn sigaddset64(
12333        __set: *mut sigset64_t,
12334        __signal: ::std::os::raw::c_int,
12335    ) -> ::std::os::raw::c_int;
12336}
12337extern "C" {
12338    pub fn sigdelset(
12339        __set: *mut sigset_t,
12340        __signal: ::std::os::raw::c_int,
12341    ) -> ::std::os::raw::c_int;
12342}
12343extern "C" {
12344    pub fn sigdelset64(
12345        __set: *mut sigset64_t,
12346        __signal: ::std::os::raw::c_int,
12347    ) -> ::std::os::raw::c_int;
12348}
12349extern "C" {
12350    pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
12351}
12352extern "C" {
12353    pub fn sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
12354}
12355extern "C" {
12356    pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
12357}
12358extern "C" {
12359    pub fn sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
12360}
12361extern "C" {
12362    pub fn sigismember(
12363        __set: *const sigset_t,
12364        __signal: ::std::os::raw::c_int,
12365    ) -> ::std::os::raw::c_int;
12366}
12367extern "C" {
12368    pub fn sigismember64(
12369        __set: *const sigset64_t,
12370        __signal: ::std::os::raw::c_int,
12371    ) -> ::std::os::raw::c_int;
12372}
12373extern "C" {
12374    pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
12375}
12376extern "C" {
12377    pub fn sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
12378}
12379extern "C" {
12380    pub fn sigprocmask(
12381        __how: ::std::os::raw::c_int,
12382        __new_set: *const sigset_t,
12383        __old_set: *mut sigset_t,
12384    ) -> ::std::os::raw::c_int;
12385}
12386extern "C" {
12387    pub fn sigprocmask64(
12388        __how: ::std::os::raw::c_int,
12389        __new_set: *const sigset64_t,
12390        __old_set: *mut sigset64_t,
12391    ) -> ::std::os::raw::c_int;
12392}
12393extern "C" {
12394    pub fn sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int;
12395}
12396extern "C" {
12397    pub fn sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int;
12398}
12399extern "C" {
12400    pub fn sigwait(
12401        __set: *const sigset_t,
12402        __signal: *mut ::std::os::raw::c_int,
12403    ) -> ::std::os::raw::c_int;
12404}
12405extern "C" {
12406    pub fn sigwait64(
12407        __set: *const sigset64_t,
12408        __signal: *mut ::std::os::raw::c_int,
12409    ) -> ::std::os::raw::c_int;
12410}
12411extern "C" {
12412    pub fn sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12413}
12414extern "C" {
12415    pub fn sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12416}
12417extern "C" {
12418    pub fn sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12419}
12420extern "C" {
12421    pub fn sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12422}
12423extern "C" {
12424    pub fn sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
12425}
12426extern "C" {
12427    pub fn raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12428}
12429extern "C" {
12430    pub fn kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12431}
12432extern "C" {
12433    pub fn killpg(
12434        __pgrp: ::std::os::raw::c_int,
12435        __signal: ::std::os::raw::c_int,
12436    ) -> ::std::os::raw::c_int;
12437}
12438extern "C" {
12439    pub fn tgkill(
12440        __tgid: ::std::os::raw::c_int,
12441        __tid: ::std::os::raw::c_int,
12442        __signal: ::std::os::raw::c_int,
12443    ) -> ::std::os::raw::c_int;
12444}
12445extern "C" {
12446    pub fn sigaltstack(
12447        __new_signal_stack: *const stack_t,
12448        __old_signal_stack: *mut stack_t,
12449    ) -> ::std::os::raw::c_int;
12450}
12451extern "C" {
12452    pub fn psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char);
12453}
12454extern "C" {
12455    pub fn psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char);
12456}
12457extern "C" {
12458    pub fn pthread_kill(
12459        __pthread: pthread_t,
12460        __signal: ::std::os::raw::c_int,
12461    ) -> ::std::os::raw::c_int;
12462}
12463extern "C" {
12464    pub fn pthread_sigmask(
12465        __how: ::std::os::raw::c_int,
12466        __new_set: *const sigset_t,
12467        __old_set: *mut sigset_t,
12468    ) -> ::std::os::raw::c_int;
12469}
12470extern "C" {
12471    pub fn pthread_sigmask64(
12472        __how: ::std::os::raw::c_int,
12473        __new_set: *const sigset64_t,
12474        __old_set: *mut sigset64_t,
12475    ) -> ::std::os::raw::c_int;
12476}
12477extern "C" {
12478    pub fn sigqueue(
12479        __pid: pid_t,
12480        __signal: ::std::os::raw::c_int,
12481        __value: sigval,
12482    ) -> ::std::os::raw::c_int;
12483}
12484extern "C" {
12485    pub fn sigtimedwait(
12486        __set: *const sigset_t,
12487        __info: *mut siginfo_t,
12488        __timeout: *const timespec,
12489    ) -> ::std::os::raw::c_int;
12490}
12491extern "C" {
12492    pub fn sigtimedwait64(
12493        __set: *const sigset64_t,
12494        __info: *mut siginfo_t,
12495        __timeout: *const timespec,
12496    ) -> ::std::os::raw::c_int;
12497}
12498extern "C" {
12499    pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
12500}
12501extern "C" {
12502    pub fn sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t)
12503        -> ::std::os::raw::c_int;
12504}
12505pub type fd_mask = ::std::os::raw::c_ulong;
12506#[repr(C)]
12507#[derive(Debug, Copy, Clone)]
12508pub struct fd_set {
12509    pub fds_bits: [fd_mask; 16usize],
12510}
12511#[test]
12512fn bindgen_test_layout_fd_set() {
12513    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
12514    let ptr = UNINIT.as_ptr();
12515    assert_eq!(
12516        ::std::mem::size_of::<fd_set>(),
12517        128usize,
12518        concat!("Size of: ", stringify!(fd_set))
12519    );
12520    assert_eq!(
12521        ::std::mem::align_of::<fd_set>(),
12522        8usize,
12523        concat!("Alignment of ", stringify!(fd_set))
12524    );
12525    assert_eq!(
12526        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
12527        0usize,
12528        concat!(
12529            "Offset of field: ",
12530            stringify!(fd_set),
12531            "::",
12532            stringify!(fds_bits)
12533        )
12534    );
12535}
12536extern "C" {
12537    pub fn __FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
12538}
12539extern "C" {
12540    pub fn __FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
12541}
12542extern "C" {
12543    pub fn __FD_ISSET_chk(
12544        arg1: ::std::os::raw::c_int,
12545        arg2: *const fd_set,
12546        arg3: usize,
12547    ) -> ::std::os::raw::c_int;
12548}
12549extern "C" {
12550    pub fn select(
12551        __max_fd_plus_one: ::std::os::raw::c_int,
12552        __read_fds: *mut fd_set,
12553        __write_fds: *mut fd_set,
12554        __exception_fds: *mut fd_set,
12555        __timeout: *mut timeval,
12556    ) -> ::std::os::raw::c_int;
12557}
12558extern "C" {
12559    pub fn pselect(
12560        __max_fd_plus_one: ::std::os::raw::c_int,
12561        __read_fds: *mut fd_set,
12562        __write_fds: *mut fd_set,
12563        __exception_fds: *mut fd_set,
12564        __timeout: *const timespec,
12565        __mask: *const sigset_t,
12566    ) -> ::std::os::raw::c_int;
12567}
12568extern "C" {
12569    pub fn pselect64(
12570        __max_fd_plus_one: ::std::os::raw::c_int,
12571        __read_fds: *mut fd_set,
12572        __write_fds: *mut fd_set,
12573        __exception_fds: *mut fd_set,
12574        __timeout: *const timespec,
12575        __mask: *const sigset64_t,
12576    ) -> ::std::os::raw::c_int;
12577}
12578extern "C" {
12579    pub fn fcntl(
12580        __fd: ::std::os::raw::c_int,
12581        __op: ::std::os::raw::c_int,
12582        ...
12583    ) -> ::std::os::raw::c_int;
12584}
12585extern "C" {
12586    pub fn getentropy(
12587        __buffer: *mut ::std::os::raw::c_void,
12588        __buffer_size: usize,
12589    ) -> ::std::os::raw::c_int;
12590}
12591extern "C" {
12592    pub fn getopt(
12593        __argc: ::std::os::raw::c_int,
12594        __argv: *const *mut ::std::os::raw::c_char,
12595        __options: *const ::std::os::raw::c_char,
12596    ) -> ::std::os::raw::c_int;
12597}
12598extern "C" {
12599    pub static mut optarg: *mut ::std::os::raw::c_char;
12600}
12601extern "C" {
12602    pub static mut optind: ::std::os::raw::c_int;
12603}
12604extern "C" {
12605    pub static mut opterr: ::std::os::raw::c_int;
12606}
12607extern "C" {
12608    pub static mut optopt: ::std::os::raw::c_int;
12609}
12610extern "C" {
12611    pub fn ioctl(
12612        __fd: ::std::os::raw::c_int,
12613        __op: ::std::os::raw::c_int,
12614        ...
12615    ) -> ::std::os::raw::c_int;
12616}
12617extern "C" {
12618    pub fn lockf(
12619        __fd: ::std::os::raw::c_int,
12620        __op: ::std::os::raw::c_int,
12621        __length: off_t,
12622    ) -> ::std::os::raw::c_int;
12623}
12624extern "C" {
12625    pub fn lockf64(
12626        __fd: ::std::os::raw::c_int,
12627        __op: ::std::os::raw::c_int,
12628        __length: off64_t,
12629    ) -> ::std::os::raw::c_int;
12630}
12631extern "C" {
12632    pub fn sysconf(__name: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
12633}
12634extern "C" {
12635    pub static mut environ: *mut *mut ::std::os::raw::c_char;
12636}
12637extern "C" {
12638    pub fn _exit(__status: ::std::os::raw::c_int) -> !;
12639}
12640extern "C" {
12641    pub fn fork() -> pid_t;
12642}
12643extern "C" {
12644    pub fn _Fork() -> pid_t;
12645}
12646extern "C" {
12647    pub fn vfork() -> ::std::os::raw::c_int;
12648}
12649extern "C" {
12650    pub fn getpid() -> pid_t;
12651}
12652extern "C" {
12653    pub fn gettid() -> pid_t;
12654}
12655extern "C" {
12656    pub fn getpgid(__pid: pid_t) -> pid_t;
12657}
12658extern "C" {
12659    pub fn setpgid(__pid: pid_t, __pgid: pid_t) -> ::std::os::raw::c_int;
12660}
12661extern "C" {
12662    pub fn getppid() -> pid_t;
12663}
12664extern "C" {
12665    pub fn getpgrp() -> pid_t;
12666}
12667extern "C" {
12668    pub fn setpgrp() -> ::std::os::raw::c_int;
12669}
12670extern "C" {
12671    pub fn getsid(__pid: pid_t) -> pid_t;
12672}
12673extern "C" {
12674    pub fn setsid() -> pid_t;
12675}
12676extern "C" {
12677    pub fn execv(
12678        __path: *const ::std::os::raw::c_char,
12679        __argv: *const *mut ::std::os::raw::c_char,
12680    ) -> ::std::os::raw::c_int;
12681}
12682extern "C" {
12683    pub fn execvp(
12684        __file: *const ::std::os::raw::c_char,
12685        __argv: *const *mut ::std::os::raw::c_char,
12686    ) -> ::std::os::raw::c_int;
12687}
12688extern "C" {
12689    pub fn execvpe(
12690        __file: *const ::std::os::raw::c_char,
12691        __argv: *const *mut ::std::os::raw::c_char,
12692        __envp: *const *mut ::std::os::raw::c_char,
12693    ) -> ::std::os::raw::c_int;
12694}
12695extern "C" {
12696    pub fn execve(
12697        __file: *const ::std::os::raw::c_char,
12698        __argv: *const *mut ::std::os::raw::c_char,
12699        __envp: *const *mut ::std::os::raw::c_char,
12700    ) -> ::std::os::raw::c_int;
12701}
12702extern "C" {
12703    pub fn execl(
12704        __path: *const ::std::os::raw::c_char,
12705        __arg0: *const ::std::os::raw::c_char,
12706        ...
12707    ) -> ::std::os::raw::c_int;
12708}
12709extern "C" {
12710    pub fn execlp(
12711        __file: *const ::std::os::raw::c_char,
12712        __arg0: *const ::std::os::raw::c_char,
12713        ...
12714    ) -> ::std::os::raw::c_int;
12715}
12716extern "C" {
12717    pub fn execle(
12718        __path: *const ::std::os::raw::c_char,
12719        __arg0: *const ::std::os::raw::c_char,
12720        ...
12721    ) -> ::std::os::raw::c_int;
12722}
12723extern "C" {
12724    pub fn fexecve(
12725        __fd: ::std::os::raw::c_int,
12726        __argv: *const *mut ::std::os::raw::c_char,
12727        __envp: *const *mut ::std::os::raw::c_char,
12728    ) -> ::std::os::raw::c_int;
12729}
12730extern "C" {
12731    pub fn nice(__incr: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12732}
12733extern "C" {
12734    pub fn setegid(__gid: gid_t) -> ::std::os::raw::c_int;
12735}
12736extern "C" {
12737    pub fn seteuid(__uid: uid_t) -> ::std::os::raw::c_int;
12738}
12739extern "C" {
12740    pub fn setgid(__gid: gid_t) -> ::std::os::raw::c_int;
12741}
12742extern "C" {
12743    pub fn setregid(__rgid: gid_t, __egid: gid_t) -> ::std::os::raw::c_int;
12744}
12745extern "C" {
12746    pub fn setresgid(__rgid: gid_t, __egid: gid_t, __sgid: gid_t) -> ::std::os::raw::c_int;
12747}
12748extern "C" {
12749    pub fn setresuid(__ruid: uid_t, __euid: uid_t, __suid: uid_t) -> ::std::os::raw::c_int;
12750}
12751extern "C" {
12752    pub fn setreuid(__ruid: uid_t, __euid: uid_t) -> ::std::os::raw::c_int;
12753}
12754extern "C" {
12755    pub fn setuid(__uid: uid_t) -> ::std::os::raw::c_int;
12756}
12757extern "C" {
12758    pub fn getuid() -> uid_t;
12759}
12760extern "C" {
12761    pub fn geteuid() -> uid_t;
12762}
12763extern "C" {
12764    pub fn getgid() -> gid_t;
12765}
12766extern "C" {
12767    pub fn getegid() -> gid_t;
12768}
12769extern "C" {
12770    pub fn getgroups(__size: ::std::os::raw::c_int, __list: *mut gid_t) -> ::std::os::raw::c_int;
12771}
12772extern "C" {
12773    pub fn setgroups(__size: usize, __list: *const gid_t) -> ::std::os::raw::c_int;
12774}
12775extern "C" {
12776    pub fn getresuid(
12777        __ruid: *mut uid_t,
12778        __euid: *mut uid_t,
12779        __suid: *mut uid_t,
12780    ) -> ::std::os::raw::c_int;
12781}
12782extern "C" {
12783    pub fn getresgid(
12784        __rgid: *mut gid_t,
12785        __egid: *mut gid_t,
12786        __sgid: *mut gid_t,
12787    ) -> ::std::os::raw::c_int;
12788}
12789extern "C" {
12790    pub fn getlogin() -> *mut ::std::os::raw::c_char;
12791}
12792extern "C" {
12793    pub fn getlogin_r(
12794        __buffer: *mut ::std::os::raw::c_char,
12795        __buffer_size: usize,
12796    ) -> ::std::os::raw::c_int;
12797}
12798extern "C" {
12799    pub fn fpathconf(
12800        __fd: ::std::os::raw::c_int,
12801        __name: ::std::os::raw::c_int,
12802    ) -> ::std::os::raw::c_long;
12803}
12804extern "C" {
12805    pub fn pathconf(
12806        __path: *const ::std::os::raw::c_char,
12807        __name: ::std::os::raw::c_int,
12808    ) -> ::std::os::raw::c_long;
12809}
12810extern "C" {
12811    pub fn access(
12812        __path: *const ::std::os::raw::c_char,
12813        __mode: ::std::os::raw::c_int,
12814    ) -> ::std::os::raw::c_int;
12815}
12816extern "C" {
12817    pub fn faccessat(
12818        __dirfd: ::std::os::raw::c_int,
12819        __path: *const ::std::os::raw::c_char,
12820        __mode: ::std::os::raw::c_int,
12821        __flags: ::std::os::raw::c_int,
12822    ) -> ::std::os::raw::c_int;
12823}
12824extern "C" {
12825    pub fn link(
12826        __old_path: *const ::std::os::raw::c_char,
12827        __new_path: *const ::std::os::raw::c_char,
12828    ) -> ::std::os::raw::c_int;
12829}
12830extern "C" {
12831    pub fn linkat(
12832        __old_dir_fd: ::std::os::raw::c_int,
12833        __old_path: *const ::std::os::raw::c_char,
12834        __new_dir_fd: ::std::os::raw::c_int,
12835        __new_path: *const ::std::os::raw::c_char,
12836        __flags: ::std::os::raw::c_int,
12837    ) -> ::std::os::raw::c_int;
12838}
12839extern "C" {
12840    pub fn unlink(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
12841}
12842extern "C" {
12843    pub fn unlinkat(
12844        __dirfd: ::std::os::raw::c_int,
12845        __path: *const ::std::os::raw::c_char,
12846        __flags: ::std::os::raw::c_int,
12847    ) -> ::std::os::raw::c_int;
12848}
12849extern "C" {
12850    pub fn chdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
12851}
12852extern "C" {
12853    pub fn fchdir(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12854}
12855extern "C" {
12856    pub fn rmdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
12857}
12858extern "C" {
12859    pub fn pipe(__fds: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12860}
12861extern "C" {
12862    pub fn chroot(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
12863}
12864extern "C" {
12865    pub fn symlink(
12866        __old_path: *const ::std::os::raw::c_char,
12867        __new_path: *const ::std::os::raw::c_char,
12868    ) -> ::std::os::raw::c_int;
12869}
12870extern "C" {
12871    pub fn symlinkat(
12872        __old_path: *const ::std::os::raw::c_char,
12873        __new_dir_fd: ::std::os::raw::c_int,
12874        __new_path: *const ::std::os::raw::c_char,
12875    ) -> ::std::os::raw::c_int;
12876}
12877extern "C" {
12878    pub fn readlink(
12879        __path: *const ::std::os::raw::c_char,
12880        __buf: *mut ::std::os::raw::c_char,
12881        __buf_size: usize,
12882    ) -> isize;
12883}
12884extern "C" {
12885    pub fn readlinkat(
12886        __dir_fd: ::std::os::raw::c_int,
12887        __path: *const ::std::os::raw::c_char,
12888        __buf: *mut ::std::os::raw::c_char,
12889        __buf_size: usize,
12890    ) -> isize;
12891}
12892extern "C" {
12893    pub fn chown(
12894        __path: *const ::std::os::raw::c_char,
12895        __owner: uid_t,
12896        __group: gid_t,
12897    ) -> ::std::os::raw::c_int;
12898}
12899extern "C" {
12900    pub fn fchown(
12901        __fd: ::std::os::raw::c_int,
12902        __owner: uid_t,
12903        __group: gid_t,
12904    ) -> ::std::os::raw::c_int;
12905}
12906extern "C" {
12907    pub fn fchownat(
12908        __dir_fd: ::std::os::raw::c_int,
12909        __path: *const ::std::os::raw::c_char,
12910        __owner: uid_t,
12911        __group: gid_t,
12912        __flags: ::std::os::raw::c_int,
12913    ) -> ::std::os::raw::c_int;
12914}
12915extern "C" {
12916    pub fn lchown(
12917        __path: *const ::std::os::raw::c_char,
12918        __owner: uid_t,
12919        __group: gid_t,
12920    ) -> ::std::os::raw::c_int;
12921}
12922extern "C" {
12923    pub fn getcwd(__buf: *mut ::std::os::raw::c_char, __size: usize)
12924        -> *mut ::std::os::raw::c_char;
12925}
12926extern "C" {
12927    pub fn sync();
12928}
12929extern "C" {
12930    pub fn close(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12931}
12932extern "C" {
12933    pub fn read(
12934        __fd: ::std::os::raw::c_int,
12935        __buf: *mut ::std::os::raw::c_void,
12936        __count: usize,
12937    ) -> isize;
12938}
12939extern "C" {
12940    pub fn write(
12941        __fd: ::std::os::raw::c_int,
12942        __buf: *const ::std::os::raw::c_void,
12943        __count: usize,
12944    ) -> isize;
12945}
12946extern "C" {
12947    pub fn dup(__old_fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12948}
12949extern "C" {
12950    pub fn dup2(
12951        __old_fd: ::std::os::raw::c_int,
12952        __new_fd: ::std::os::raw::c_int,
12953    ) -> ::std::os::raw::c_int;
12954}
12955extern "C" {
12956    pub fn dup3(
12957        __old_fd: ::std::os::raw::c_int,
12958        __new_fd: ::std::os::raw::c_int,
12959        __flags: ::std::os::raw::c_int,
12960    ) -> ::std::os::raw::c_int;
12961}
12962extern "C" {
12963    pub fn fsync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12964}
12965extern "C" {
12966    pub fn fdatasync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12967}
12968extern "C" {
12969    pub fn truncate(
12970        __path: *const ::std::os::raw::c_char,
12971        __length: off_t,
12972    ) -> ::std::os::raw::c_int;
12973}
12974extern "C" {
12975    pub fn lseek(
12976        __fd: ::std::os::raw::c_int,
12977        __offset: off_t,
12978        __whence: ::std::os::raw::c_int,
12979    ) -> off_t;
12980}
12981extern "C" {
12982    pub fn pread(
12983        __fd: ::std::os::raw::c_int,
12984        __buf: *mut ::std::os::raw::c_void,
12985        __count: usize,
12986        __offset: off_t,
12987    ) -> isize;
12988}
12989extern "C" {
12990    pub fn pwrite(
12991        __fd: ::std::os::raw::c_int,
12992        __buf: *const ::std::os::raw::c_void,
12993        __count: usize,
12994        __offset: off_t,
12995    ) -> isize;
12996}
12997extern "C" {
12998    pub fn ftruncate(__fd: ::std::os::raw::c_int, __length: off_t) -> ::std::os::raw::c_int;
12999}
13000extern "C" {
13001    pub fn truncate64(
13002        __path: *const ::std::os::raw::c_char,
13003        __length: off64_t,
13004    ) -> ::std::os::raw::c_int;
13005}
13006extern "C" {
13007    pub fn lseek64(
13008        __fd: ::std::os::raw::c_int,
13009        __offset: off64_t,
13010        __whence: ::std::os::raw::c_int,
13011    ) -> off64_t;
13012}
13013extern "C" {
13014    pub fn pread64(
13015        __fd: ::std::os::raw::c_int,
13016        __buf: *mut ::std::os::raw::c_void,
13017        __count: usize,
13018        __offset: off64_t,
13019    ) -> isize;
13020}
13021extern "C" {
13022    pub fn pwrite64(
13023        __fd: ::std::os::raw::c_int,
13024        __buf: *const ::std::os::raw::c_void,
13025        __count: usize,
13026        __offset: off64_t,
13027    ) -> isize;
13028}
13029extern "C" {
13030    pub fn ftruncate64(__fd: ::std::os::raw::c_int, __length: off64_t) -> ::std::os::raw::c_int;
13031}
13032extern "C" {
13033    pub fn pause() -> ::std::os::raw::c_int;
13034}
13035extern "C" {
13036    pub fn alarm(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
13037}
13038extern "C" {
13039    pub fn sleep(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
13040}
13041extern "C" {
13042    pub fn usleep(__microseconds: useconds_t) -> ::std::os::raw::c_int;
13043}
13044extern "C" {
13045    pub fn gethostname(
13046        _buf: *mut ::std::os::raw::c_char,
13047        __buf_size: usize,
13048    ) -> ::std::os::raw::c_int;
13049}
13050extern "C" {
13051    pub fn sethostname(__name: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
13052}
13053extern "C" {
13054    pub fn brk(__addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
13055}
13056extern "C" {
13057    pub fn sbrk(__increment: isize) -> *mut ::std::os::raw::c_void;
13058}
13059extern "C" {
13060    pub fn isatty(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13061}
13062extern "C" {
13063    pub fn ttyname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
13064}
13065extern "C" {
13066    pub fn ttyname_r(
13067        __fd: ::std::os::raw::c_int,
13068        __buf: *mut ::std::os::raw::c_char,
13069        __buf_size: usize,
13070    ) -> ::std::os::raw::c_int;
13071}
13072extern "C" {
13073    pub fn acct(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13074}
13075extern "C" {
13076    pub fn getpagesize() -> ::std::os::raw::c_int;
13077}
13078extern "C" {
13079    pub fn syscall(__number: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long;
13080}
13081extern "C" {
13082    pub fn daemon(
13083        __no_chdir: ::std::os::raw::c_int,
13084        __no_close: ::std::os::raw::c_int,
13085    ) -> ::std::os::raw::c_int;
13086}
13087extern "C" {
13088    pub fn tcgetpgrp(__fd: ::std::os::raw::c_int) -> pid_t;
13089}
13090extern "C" {
13091    pub fn tcsetpgrp(__fd: ::std::os::raw::c_int, __pid: pid_t) -> ::std::os::raw::c_int;
13092}
13093extern "C" {
13094    pub fn getdomainname(
13095        __buf: *mut ::std::os::raw::c_char,
13096        __buf_size: usize,
13097    ) -> ::std::os::raw::c_int;
13098}
13099extern "C" {
13100    pub fn setdomainname(
13101        __name: *const ::std::os::raw::c_char,
13102        __n: usize,
13103    ) -> ::std::os::raw::c_int;
13104}
13105extern "C" {
13106    pub fn copy_file_range(
13107        __fd_in: ::std::os::raw::c_int,
13108        __off_in: *mut off64_t,
13109        __fd_out: ::std::os::raw::c_int,
13110        __off_out: *mut off64_t,
13111        __length: usize,
13112        __flags: ::std::os::raw::c_uint,
13113    ) -> isize;
13114}
13115extern "C" {
13116    pub fn swab(
13117        __src: *const ::std::os::raw::c_void,
13118        __dst: *mut ::std::os::raw::c_void,
13119        __byte_count: isize,
13120    );
13121}
13122extern "C" {
13123    pub fn close_range(
13124        __min_fd: ::std::os::raw::c_uint,
13125        __max_fd: ::std::os::raw::c_uint,
13126        __flags: ::std::os::raw::c_int,
13127    ) -> ::std::os::raw::c_int;
13128}
13129#[repr(C)]
13130#[derive(Debug, Copy, Clone)]
13131pub struct APerformanceHintManager {
13132    _unused: [u8; 0],
13133}
13134#[repr(C)]
13135#[derive(Debug, Copy, Clone)]
13136pub struct APerformanceHintSession {
13137    _unused: [u8; 0],
13138}
13139#[repr(C)]
13140#[derive(Debug, Copy, Clone)]
13141pub struct AWorkDuration {
13142    _unused: [u8; 0],
13143}
13144extern "C" {
13145    pub fn APerformanceHint_getManager() -> *mut APerformanceHintManager;
13146}
13147extern "C" {
13148    pub fn APerformanceHint_createSession(
13149        manager: *mut APerformanceHintManager,
13150        threadIds: *const i32,
13151        size: usize,
13152        initialTargetWorkDurationNanos: i64,
13153    ) -> *mut APerformanceHintSession;
13154}
13155extern "C" {
13156    pub fn APerformanceHint_getPreferredUpdateRateNanos(
13157        manager: *mut APerformanceHintManager,
13158    ) -> i64;
13159}
13160extern "C" {
13161    pub fn APerformanceHint_updateTargetWorkDuration(
13162        session: *mut APerformanceHintSession,
13163        targetDurationNanos: i64,
13164    ) -> ::std::os::raw::c_int;
13165}
13166extern "C" {
13167    pub fn APerformanceHint_reportActualWorkDuration(
13168        session: *mut APerformanceHintSession,
13169        actualDurationNanos: i64,
13170    ) -> ::std::os::raw::c_int;
13171}
13172extern "C" {
13173    pub fn APerformanceHint_closeSession(session: *mut APerformanceHintSession);
13174}
13175extern "C" {
13176    pub fn APerformanceHint_setThreads(
13177        session: *mut APerformanceHintSession,
13178        threadIds: *const pid_t,
13179        size: usize,
13180    ) -> ::std::os::raw::c_int;
13181}
13182extern "C" {
13183    pub fn APerformanceHint_setPreferPowerEfficiency(
13184        session: *mut APerformanceHintSession,
13185        enabled: bool,
13186    ) -> ::std::os::raw::c_int;
13187}
13188extern "C" {
13189    pub fn APerformanceHint_reportActualWorkDuration2(
13190        session: *mut APerformanceHintSession,
13191        workDuration: *mut AWorkDuration,
13192    ) -> ::std::os::raw::c_int;
13193}
13194extern "C" {
13195    pub fn AWorkDuration_create() -> *mut AWorkDuration;
13196}
13197extern "C" {
13198    pub fn AWorkDuration_release(WorkDuration: *mut AWorkDuration);
13199}
13200extern "C" {
13201    pub fn AWorkDuration_setWorkPeriodStartTimestampNanos(
13202        aWorkDuration: *mut AWorkDuration,
13203        workPeriodStartTimestampNanos: i64,
13204    );
13205}
13206extern "C" {
13207    pub fn AWorkDuration_setActualTotalDurationNanos(
13208        aWorkDuration: *mut AWorkDuration,
13209        actualTotalDurationNanos: i64,
13210    );
13211}
13212extern "C" {
13213    pub fn AWorkDuration_setActualCpuDurationNanos(
13214        aWorkDuration: *mut AWorkDuration,
13215        actualCpuDurationNanos: i64,
13216    );
13217}
13218extern "C" {
13219    pub fn AWorkDuration_setActualGpuDurationNanos(
13220        aWorkDuration: *mut AWorkDuration,
13221        actualGpuDurationNanos: i64,
13222    );
13223}
13224pub const PERMISSION_MANAGER_PERMISSION_GRANTED: _bindgen_ty_38 = 0;
13225pub const PERMISSION_MANAGER_PERMISSION_DENIED: _bindgen_ty_38 = -1;
13226pub type _bindgen_ty_38 = ::std::os::raw::c_int;
13227pub const PERMISSION_MANAGER_STATUS_OK: _bindgen_ty_39 = 0;
13228pub const PERMISSION_MANAGER_STATUS_ERROR_UNKNOWN: _bindgen_ty_39 = -1;
13229pub const PERMISSION_MANAGER_STATUS_SERVICE_UNAVAILABLE: _bindgen_ty_39 = -2;
13230pub type _bindgen_ty_39 = ::std::os::raw::c_int;
13231extern "C" {
13232    pub fn APermissionManager_checkPermission(
13233        permission: *const ::std::os::raw::c_char,
13234        pid: pid_t,
13235        uid: uid_t,
13236        outResult: *mut i32,
13237    ) -> i32;
13238}
13239pub type __double_t = f64;
13240pub type double_t = __double_t;
13241pub type __float_t = f32;
13242pub type float_t = __float_t;
13243extern "C" {
13244    pub fn acos(__x: f64) -> f64;
13245}
13246extern "C" {
13247    pub fn acosf(__x: f32) -> f32;
13248}
13249extern "C" {
13250    pub fn acosl(__x: u128) -> u128;
13251}
13252extern "C" {
13253    pub fn asin(__x: f64) -> f64;
13254}
13255extern "C" {
13256    pub fn asinf(__x: f32) -> f32;
13257}
13258extern "C" {
13259    pub fn asinl(__x: u128) -> u128;
13260}
13261extern "C" {
13262    pub fn atan(__x: f64) -> f64;
13263}
13264extern "C" {
13265    pub fn atanf(__x: f32) -> f32;
13266}
13267extern "C" {
13268    pub fn atanl(__x: u128) -> u128;
13269}
13270extern "C" {
13271    pub fn atan2(__y: f64, __x: f64) -> f64;
13272}
13273extern "C" {
13274    pub fn atan2f(__y: f32, __x: f32) -> f32;
13275}
13276extern "C" {
13277    pub fn atan2l(__y: u128, __x: u128) -> u128;
13278}
13279extern "C" {
13280    pub fn cos(__x: f64) -> f64;
13281}
13282extern "C" {
13283    pub fn cosf(__x: f32) -> f32;
13284}
13285extern "C" {
13286    pub fn cosl(__x: u128) -> u128;
13287}
13288extern "C" {
13289    pub fn sin(__x: f64) -> f64;
13290}
13291extern "C" {
13292    pub fn sinf(__x: f32) -> f32;
13293}
13294extern "C" {
13295    pub fn sinl(__x: u128) -> u128;
13296}
13297extern "C" {
13298    pub fn tan(__x: f64) -> f64;
13299}
13300extern "C" {
13301    pub fn tanf(__x: f32) -> f32;
13302}
13303extern "C" {
13304    pub fn tanl(__x: u128) -> u128;
13305}
13306extern "C" {
13307    pub fn acosh(__x: f64) -> f64;
13308}
13309extern "C" {
13310    pub fn acoshf(__x: f32) -> f32;
13311}
13312extern "C" {
13313    pub fn acoshl(__x: u128) -> u128;
13314}
13315extern "C" {
13316    pub fn asinh(__x: f64) -> f64;
13317}
13318extern "C" {
13319    pub fn asinhf(__x: f32) -> f32;
13320}
13321extern "C" {
13322    pub fn asinhl(__x: u128) -> u128;
13323}
13324extern "C" {
13325    pub fn atanh(__x: f64) -> f64;
13326}
13327extern "C" {
13328    pub fn atanhf(__x: f32) -> f32;
13329}
13330extern "C" {
13331    pub fn atanhl(__x: u128) -> u128;
13332}
13333extern "C" {
13334    pub fn cosh(__x: f64) -> f64;
13335}
13336extern "C" {
13337    pub fn coshf(__x: f32) -> f32;
13338}
13339extern "C" {
13340    pub fn coshl(__x: u128) -> u128;
13341}
13342extern "C" {
13343    pub fn sinh(__x: f64) -> f64;
13344}
13345extern "C" {
13346    pub fn sinhf(__x: f32) -> f32;
13347}
13348extern "C" {
13349    pub fn sinhl(__x: u128) -> u128;
13350}
13351extern "C" {
13352    pub fn tanh(__x: f64) -> f64;
13353}
13354extern "C" {
13355    pub fn tanhf(__x: f32) -> f32;
13356}
13357extern "C" {
13358    pub fn tanhl(__x: u128) -> u128;
13359}
13360extern "C" {
13361    pub fn exp(__x: f64) -> f64;
13362}
13363extern "C" {
13364    pub fn expf(__x: f32) -> f32;
13365}
13366extern "C" {
13367    pub fn expl(__x: u128) -> u128;
13368}
13369extern "C" {
13370    pub fn exp2(__x: f64) -> f64;
13371}
13372extern "C" {
13373    pub fn exp2f(__x: f32) -> f32;
13374}
13375extern "C" {
13376    pub fn exp2l(__x: u128) -> u128;
13377}
13378extern "C" {
13379    pub fn expm1(__x: f64) -> f64;
13380}
13381extern "C" {
13382    pub fn expm1f(__x: f32) -> f32;
13383}
13384extern "C" {
13385    pub fn expm1l(__x: u128) -> u128;
13386}
13387extern "C" {
13388    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
13389}
13390extern "C" {
13391    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
13392}
13393extern "C" {
13394    pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
13395}
13396extern "C" {
13397    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
13398}
13399extern "C" {
13400    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
13401}
13402extern "C" {
13403    pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
13404}
13405extern "C" {
13406    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
13407}
13408extern "C" {
13409    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
13410}
13411extern "C" {
13412    pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
13413}
13414extern "C" {
13415    pub fn log(__x: f64) -> f64;
13416}
13417extern "C" {
13418    pub fn logf(__x: f32) -> f32;
13419}
13420extern "C" {
13421    pub fn logl(__x: u128) -> u128;
13422}
13423extern "C" {
13424    pub fn log10(__x: f64) -> f64;
13425}
13426extern "C" {
13427    pub fn log10f(__x: f32) -> f32;
13428}
13429extern "C" {
13430    pub fn log10l(__x: u128) -> u128;
13431}
13432extern "C" {
13433    pub fn log1p(__x: f64) -> f64;
13434}
13435extern "C" {
13436    pub fn log1pf(__x: f32) -> f32;
13437}
13438extern "C" {
13439    pub fn log1pl(__x: u128) -> u128;
13440}
13441extern "C" {
13442    pub fn log2(__x: f64) -> f64;
13443}
13444extern "C" {
13445    pub fn log2f(__x: f32) -> f32;
13446}
13447extern "C" {
13448    pub fn log2l(__x: u128) -> u128;
13449}
13450extern "C" {
13451    pub fn logb(__x: f64) -> f64;
13452}
13453extern "C" {
13454    pub fn logbf(__x: f32) -> f32;
13455}
13456extern "C" {
13457    pub fn logbl(__x: u128) -> u128;
13458}
13459extern "C" {
13460    pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
13461}
13462extern "C" {
13463    pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
13464}
13465extern "C" {
13466    pub fn modfl(__x: u128, __integral_part: *mut u128) -> u128;
13467}
13468extern "C" {
13469    pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
13470}
13471extern "C" {
13472    pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
13473}
13474extern "C" {
13475    pub fn scalbnl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
13476}
13477extern "C" {
13478    pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
13479}
13480extern "C" {
13481    pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
13482}
13483extern "C" {
13484    pub fn scalblnl(__x: u128, __exponent: ::std::os::raw::c_long) -> u128;
13485}
13486extern "C" {
13487    pub fn cbrt(__x: f64) -> f64;
13488}
13489extern "C" {
13490    pub fn cbrtf(__x: f32) -> f32;
13491}
13492extern "C" {
13493    pub fn cbrtl(__x: u128) -> u128;
13494}
13495extern "C" {
13496    pub fn fabs(__x: f64) -> f64;
13497}
13498extern "C" {
13499    pub fn fabsf(__x: f32) -> f32;
13500}
13501extern "C" {
13502    pub fn fabsl(__x: u128) -> u128;
13503}
13504extern "C" {
13505    pub fn hypot(__x: f64, __y: f64) -> f64;
13506}
13507extern "C" {
13508    pub fn hypotf(__x: f32, __y: f32) -> f32;
13509}
13510extern "C" {
13511    pub fn hypotl(__x: u128, __y: u128) -> u128;
13512}
13513extern "C" {
13514    pub fn pow(__x: f64, __y: f64) -> f64;
13515}
13516extern "C" {
13517    pub fn powf(__x: f32, __y: f32) -> f32;
13518}
13519extern "C" {
13520    pub fn powl(__x: u128, __y: u128) -> u128;
13521}
13522extern "C" {
13523    pub fn sqrt(__x: f64) -> f64;
13524}
13525extern "C" {
13526    pub fn sqrtf(__x: f32) -> f32;
13527}
13528extern "C" {
13529    pub fn sqrtl(__x: u128) -> u128;
13530}
13531extern "C" {
13532    pub fn erf(__x: f64) -> f64;
13533}
13534extern "C" {
13535    pub fn erff(__x: f32) -> f32;
13536}
13537extern "C" {
13538    pub fn erfl(__x: u128) -> u128;
13539}
13540extern "C" {
13541    pub fn erfc(__x: f64) -> f64;
13542}
13543extern "C" {
13544    pub fn erfcf(__x: f32) -> f32;
13545}
13546extern "C" {
13547    pub fn erfcl(__x: u128) -> u128;
13548}
13549extern "C" {
13550    pub fn lgamma(__x: f64) -> f64;
13551}
13552extern "C" {
13553    pub fn lgammaf(__x: f32) -> f32;
13554}
13555extern "C" {
13556    pub fn lgammal(__x: u128) -> u128;
13557}
13558extern "C" {
13559    pub fn tgamma(__x: f64) -> f64;
13560}
13561extern "C" {
13562    pub fn tgammaf(__x: f32) -> f32;
13563}
13564extern "C" {
13565    pub fn tgammal(__x: u128) -> u128;
13566}
13567extern "C" {
13568    pub fn ceil(__x: f64) -> f64;
13569}
13570extern "C" {
13571    pub fn ceilf(__x: f32) -> f32;
13572}
13573extern "C" {
13574    pub fn ceill(__x: u128) -> u128;
13575}
13576extern "C" {
13577    pub fn floor(__x: f64) -> f64;
13578}
13579extern "C" {
13580    pub fn floorf(__x: f32) -> f32;
13581}
13582extern "C" {
13583    pub fn floorl(__x: u128) -> u128;
13584}
13585extern "C" {
13586    pub fn nearbyint(__x: f64) -> f64;
13587}
13588extern "C" {
13589    pub fn nearbyintf(__x: f32) -> f32;
13590}
13591extern "C" {
13592    pub fn nearbyintl(__x: u128) -> u128;
13593}
13594extern "C" {
13595    pub fn rint(__x: f64) -> f64;
13596}
13597extern "C" {
13598    pub fn rintf(__x: f32) -> f32;
13599}
13600extern "C" {
13601    pub fn rintl(__x: u128) -> u128;
13602}
13603extern "C" {
13604    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
13605}
13606extern "C" {
13607    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
13608}
13609extern "C" {
13610    pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
13611}
13612extern "C" {
13613    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
13614}
13615extern "C" {
13616    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
13617}
13618extern "C" {
13619    pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
13620}
13621extern "C" {
13622    pub fn round(__x: f64) -> f64;
13623}
13624extern "C" {
13625    pub fn roundf(__x: f32) -> f32;
13626}
13627extern "C" {
13628    pub fn roundl(__x: u128) -> u128;
13629}
13630extern "C" {
13631    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
13632}
13633extern "C" {
13634    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
13635}
13636extern "C" {
13637    pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
13638}
13639extern "C" {
13640    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
13641}
13642extern "C" {
13643    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
13644}
13645extern "C" {
13646    pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
13647}
13648extern "C" {
13649    pub fn trunc(__x: f64) -> f64;
13650}
13651extern "C" {
13652    pub fn truncf(__x: f32) -> f32;
13653}
13654extern "C" {
13655    pub fn truncl(__x: u128) -> u128;
13656}
13657extern "C" {
13658    pub fn fmod(__x: f64, __y: f64) -> f64;
13659}
13660extern "C" {
13661    pub fn fmodf(__x: f32, __y: f32) -> f32;
13662}
13663extern "C" {
13664    pub fn fmodl(__x: u128, __y: u128) -> u128;
13665}
13666extern "C" {
13667    pub fn remainder(__x: f64, __y: f64) -> f64;
13668}
13669extern "C" {
13670    pub fn remainderf(__x: f32, __y: f32) -> f32;
13671}
13672extern "C" {
13673    pub fn remainderl(__x: u128, __y: u128) -> u128;
13674}
13675extern "C" {
13676    pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
13677}
13678extern "C" {
13679    pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
13680}
13681extern "C" {
13682    pub fn remquol(__x: u128, __y: u128, __quotient_bits: *mut ::std::os::raw::c_int) -> u128;
13683}
13684extern "C" {
13685    pub fn copysign(__value: f64, __sign: f64) -> f64;
13686}
13687extern "C" {
13688    pub fn copysignf(__value: f32, __sign: f32) -> f32;
13689}
13690extern "C" {
13691    pub fn copysignl(__value: u128, __sign: u128) -> u128;
13692}
13693extern "C" {
13694    pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
13695}
13696extern "C" {
13697    pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
13698}
13699extern "C" {
13700    pub fn nanl(__kind: *const ::std::os::raw::c_char) -> u128;
13701}
13702extern "C" {
13703    pub fn nextafter(__x: f64, __y: f64) -> f64;
13704}
13705extern "C" {
13706    pub fn nextafterf(__x: f32, __y: f32) -> f32;
13707}
13708extern "C" {
13709    pub fn nextafterl(__x: u128, __y: u128) -> u128;
13710}
13711extern "C" {
13712    pub fn nexttoward(__x: f64, __y: u128) -> f64;
13713}
13714extern "C" {
13715    pub fn nexttowardf(__x: f32, __y: u128) -> f32;
13716}
13717extern "C" {
13718    pub fn nexttowardl(__x: u128, __y: u128) -> u128;
13719}
13720extern "C" {
13721    pub fn fdim(__x: f64, __y: f64) -> f64;
13722}
13723extern "C" {
13724    pub fn fdimf(__x: f32, __y: f32) -> f32;
13725}
13726extern "C" {
13727    pub fn fdiml(__x: u128, __y: u128) -> u128;
13728}
13729extern "C" {
13730    pub fn fmax(__x: f64, __y: f64) -> f64;
13731}
13732extern "C" {
13733    pub fn fmaxf(__x: f32, __y: f32) -> f32;
13734}
13735extern "C" {
13736    pub fn fmaxl(__x: u128, __y: u128) -> u128;
13737}
13738extern "C" {
13739    pub fn fmin(__x: f64, __y: f64) -> f64;
13740}
13741extern "C" {
13742    pub fn fminf(__x: f32, __y: f32) -> f32;
13743}
13744extern "C" {
13745    pub fn fminl(__x: u128, __y: u128) -> u128;
13746}
13747extern "C" {
13748    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
13749}
13750extern "C" {
13751    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
13752}
13753extern "C" {
13754    pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
13755}
13756extern "C" {
13757    pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
13758}
13759extern "C" {
13760    pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
13761}
13762extern "C" {
13763    pub static mut signgam: ::std::os::raw::c_int;
13764}
13765extern "C" {
13766    pub fn y0(__x: f64) -> f64;
13767}
13768extern "C" {
13769    pub fn y1(__x: f64) -> f64;
13770}
13771extern "C" {
13772    pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
13773}
13774pub const ASENSOR_TYPE_INVALID: _bindgen_ty_40 = -1;
13775pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_40 = 1;
13776pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_40 = 2;
13777pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_40 = 4;
13778pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_40 = 5;
13779pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_40 = 6;
13780pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_40 = 8;
13781pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_40 = 9;
13782pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_40 = 10;
13783pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_40 = 11;
13784pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_40 = 12;
13785pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_40 = 13;
13786pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_40 = 14;
13787pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_40 = 15;
13788pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_40 = 16;
13789pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_40 = 17;
13790pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_40 = 18;
13791pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_40 = 19;
13792pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_40 = 20;
13793pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_40 = 21;
13794pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_40 = 28;
13795pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_40 = 29;
13796pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_40 = 30;
13797pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_40 = 31;
13798pub const ASENSOR_TYPE_DYNAMIC_SENSOR_META: _bindgen_ty_40 = 32;
13799pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_40 = 33;
13800pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_40 = 34;
13801pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_40 = 35;
13802pub const ASENSOR_TYPE_HINGE_ANGLE: _bindgen_ty_40 = 36;
13803pub const ASENSOR_TYPE_HEAD_TRACKER: _bindgen_ty_40 = 37;
13804pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES: _bindgen_ty_40 = 38;
13805pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES: _bindgen_ty_40 = 39;
13806pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_40 = 40;
13807pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_40 = 41;
13808pub const ASENSOR_TYPE_HEADING: _bindgen_ty_40 = 42;
13809pub type _bindgen_ty_40 = ::std::os::raw::c_int;
13810pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_41 = -1;
13811pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_41 = 0;
13812pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_41 = 1;
13813pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_41 = 2;
13814pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_41 = 3;
13815pub type _bindgen_ty_41 = ::std::os::raw::c_int;
13816pub const AREPORTING_MODE_INVALID: _bindgen_ty_42 = -1;
13817pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_42 = 0;
13818pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_42 = 1;
13819pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_42 = 2;
13820pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_42 = 3;
13821pub type _bindgen_ty_42 = ::std::os::raw::c_int;
13822pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_43 = 0;
13823pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_43 = 1;
13824pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_43 = 2;
13825pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_43 = 3;
13826pub type _bindgen_ty_43 = ::std::os::raw::c_uint;
13827pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_44 = 1;
13828pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_44 = 2;
13829pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
13830pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_45 = 0;
13831pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_45 = 1;
13832pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_45 = 65536;
13833pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_45 = 65537;
13834pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_45 = 65538;
13835pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_45 = 65539;
13836pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_45 = 65540;
13837pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
13838#[repr(C)]
13839#[derive(Copy, Clone)]
13840pub struct ASensorVector {
13841    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
13842    pub status: i8,
13843    pub reserved: [u8; 3usize],
13844}
13845#[repr(C)]
13846#[derive(Copy, Clone)]
13847pub union ASensorVector__bindgen_ty_1 {
13848    pub v: [f32; 3usize],
13849    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
13850    pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
13851}
13852#[repr(C)]
13853#[derive(Debug, Copy, Clone)]
13854pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
13855    pub x: f32,
13856    pub y: f32,
13857    pub z: f32,
13858}
13859#[test]
13860fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
13861    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_1> =
13862        ::std::mem::MaybeUninit::uninit();
13863    let ptr = UNINIT.as_ptr();
13864    assert_eq!(
13865        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
13866        12usize,
13867        concat!(
13868            "Size of: ",
13869            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
13870        )
13871    );
13872    assert_eq!(
13873        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
13874        4usize,
13875        concat!(
13876            "Alignment of ",
13877            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
13878        )
13879    );
13880    assert_eq!(
13881        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
13882        0usize,
13883        concat!(
13884            "Offset of field: ",
13885            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
13886            "::",
13887            stringify!(x)
13888        )
13889    );
13890    assert_eq!(
13891        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
13892        4usize,
13893        concat!(
13894            "Offset of field: ",
13895            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
13896            "::",
13897            stringify!(y)
13898        )
13899    );
13900    assert_eq!(
13901        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
13902        8usize,
13903        concat!(
13904            "Offset of field: ",
13905            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
13906            "::",
13907            stringify!(z)
13908        )
13909    );
13910}
13911#[repr(C)]
13912#[derive(Debug, Copy, Clone)]
13913pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
13914    pub azimuth: f32,
13915    pub pitch: f32,
13916    pub roll: f32,
13917}
13918#[test]
13919fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
13920    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_2> =
13921        ::std::mem::MaybeUninit::uninit();
13922    let ptr = UNINIT.as_ptr();
13923    assert_eq!(
13924        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
13925        12usize,
13926        concat!(
13927            "Size of: ",
13928            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
13929        )
13930    );
13931    assert_eq!(
13932        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
13933        4usize,
13934        concat!(
13935            "Alignment of ",
13936            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
13937        )
13938    );
13939    assert_eq!(
13940        unsafe { ::std::ptr::addr_of!((*ptr).azimuth) as usize - ptr as usize },
13941        0usize,
13942        concat!(
13943            "Offset of field: ",
13944            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
13945            "::",
13946            stringify!(azimuth)
13947        )
13948    );
13949    assert_eq!(
13950        unsafe { ::std::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
13951        4usize,
13952        concat!(
13953            "Offset of field: ",
13954            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
13955            "::",
13956            stringify!(pitch)
13957        )
13958    );
13959    assert_eq!(
13960        unsafe { ::std::ptr::addr_of!((*ptr).roll) as usize - ptr as usize },
13961        8usize,
13962        concat!(
13963            "Offset of field: ",
13964            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
13965            "::",
13966            stringify!(roll)
13967        )
13968    );
13969}
13970#[test]
13971fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
13972    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1> =
13973        ::std::mem::MaybeUninit::uninit();
13974    let ptr = UNINIT.as_ptr();
13975    assert_eq!(
13976        ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
13977        12usize,
13978        concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
13979    );
13980    assert_eq!(
13981        ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
13982        4usize,
13983        concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
13984    );
13985    assert_eq!(
13986        unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize },
13987        0usize,
13988        concat!(
13989            "Offset of field: ",
13990            stringify!(ASensorVector__bindgen_ty_1),
13991            "::",
13992            stringify!(v)
13993        )
13994    );
13995}
13996#[test]
13997fn bindgen_test_layout_ASensorVector() {
13998    const UNINIT: ::std::mem::MaybeUninit<ASensorVector> = ::std::mem::MaybeUninit::uninit();
13999    let ptr = UNINIT.as_ptr();
14000    assert_eq!(
14001        ::std::mem::size_of::<ASensorVector>(),
14002        16usize,
14003        concat!("Size of: ", stringify!(ASensorVector))
14004    );
14005    assert_eq!(
14006        ::std::mem::align_of::<ASensorVector>(),
14007        4usize,
14008        concat!("Alignment of ", stringify!(ASensorVector))
14009    );
14010    assert_eq!(
14011        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14012        12usize,
14013        concat!(
14014            "Offset of field: ",
14015            stringify!(ASensorVector),
14016            "::",
14017            stringify!(status)
14018        )
14019    );
14020    assert_eq!(
14021        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
14022        13usize,
14023        concat!(
14024            "Offset of field: ",
14025            stringify!(ASensorVector),
14026            "::",
14027            stringify!(reserved)
14028        )
14029    );
14030}
14031#[repr(C)]
14032#[derive(Debug, Copy, Clone)]
14033pub struct AMetaDataEvent {
14034    pub what: i32,
14035    pub sensor: i32,
14036}
14037#[test]
14038fn bindgen_test_layout_AMetaDataEvent() {
14039    const UNINIT: ::std::mem::MaybeUninit<AMetaDataEvent> = ::std::mem::MaybeUninit::uninit();
14040    let ptr = UNINIT.as_ptr();
14041    assert_eq!(
14042        ::std::mem::size_of::<AMetaDataEvent>(),
14043        8usize,
14044        concat!("Size of: ", stringify!(AMetaDataEvent))
14045    );
14046    assert_eq!(
14047        ::std::mem::align_of::<AMetaDataEvent>(),
14048        4usize,
14049        concat!("Alignment of ", stringify!(AMetaDataEvent))
14050    );
14051    assert_eq!(
14052        unsafe { ::std::ptr::addr_of!((*ptr).what) as usize - ptr as usize },
14053        0usize,
14054        concat!(
14055            "Offset of field: ",
14056            stringify!(AMetaDataEvent),
14057            "::",
14058            stringify!(what)
14059        )
14060    );
14061    assert_eq!(
14062        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
14063        4usize,
14064        concat!(
14065            "Offset of field: ",
14066            stringify!(AMetaDataEvent),
14067            "::",
14068            stringify!(sensor)
14069        )
14070    );
14071}
14072#[repr(C)]
14073#[derive(Copy, Clone)]
14074pub struct AUncalibratedEvent {
14075    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
14076    pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
14077}
14078#[repr(C)]
14079#[derive(Copy, Clone)]
14080pub union AUncalibratedEvent__bindgen_ty_1 {
14081    pub uncalib: [f32; 3usize],
14082    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
14083}
14084#[repr(C)]
14085#[derive(Debug, Copy, Clone)]
14086pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
14087    pub x_uncalib: f32,
14088    pub y_uncalib: f32,
14089    pub z_uncalib: f32,
14090}
14091#[test]
14092fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
14093    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1> =
14094        ::std::mem::MaybeUninit::uninit();
14095    let ptr = UNINIT.as_ptr();
14096    assert_eq!(
14097        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
14098        12usize,
14099        concat!(
14100            "Size of: ",
14101            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
14102        )
14103    );
14104    assert_eq!(
14105        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
14106        4usize,
14107        concat!(
14108            "Alignment of ",
14109            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
14110        )
14111    );
14112    assert_eq!(
14113        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
14114        0usize,
14115        concat!(
14116            "Offset of field: ",
14117            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14118            "::",
14119            stringify!(x_uncalib)
14120        )
14121    );
14122    assert_eq!(
14123        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
14124        4usize,
14125        concat!(
14126            "Offset of field: ",
14127            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14128            "::",
14129            stringify!(y_uncalib)
14130        )
14131    );
14132    assert_eq!(
14133        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
14134        8usize,
14135        concat!(
14136            "Offset of field: ",
14137            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14138            "::",
14139            stringify!(z_uncalib)
14140        )
14141    );
14142}
14143#[test]
14144fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
14145    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1> =
14146        ::std::mem::MaybeUninit::uninit();
14147    let ptr = UNINIT.as_ptr();
14148    assert_eq!(
14149        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
14150        12usize,
14151        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
14152    );
14153    assert_eq!(
14154        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
14155        4usize,
14156        concat!(
14157            "Alignment of ",
14158            stringify!(AUncalibratedEvent__bindgen_ty_1)
14159        )
14160    );
14161    assert_eq!(
14162        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
14163        0usize,
14164        concat!(
14165            "Offset of field: ",
14166            stringify!(AUncalibratedEvent__bindgen_ty_1),
14167            "::",
14168            stringify!(uncalib)
14169        )
14170    );
14171}
14172#[repr(C)]
14173#[derive(Copy, Clone)]
14174pub union AUncalibratedEvent__bindgen_ty_2 {
14175    pub bias: [f32; 3usize],
14176    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
14177}
14178#[repr(C)]
14179#[derive(Debug, Copy, Clone)]
14180pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
14181    pub x_bias: f32,
14182    pub y_bias: f32,
14183    pub z_bias: f32,
14184}
14185#[test]
14186fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
14187    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1> =
14188        ::std::mem::MaybeUninit::uninit();
14189    let ptr = UNINIT.as_ptr();
14190    assert_eq!(
14191        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
14192        12usize,
14193        concat!(
14194            "Size of: ",
14195            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
14196        )
14197    );
14198    assert_eq!(
14199        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
14200        4usize,
14201        concat!(
14202            "Alignment of ",
14203            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
14204        )
14205    );
14206    assert_eq!(
14207        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
14208        0usize,
14209        concat!(
14210            "Offset of field: ",
14211            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14212            "::",
14213            stringify!(x_bias)
14214        )
14215    );
14216    assert_eq!(
14217        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
14218        4usize,
14219        concat!(
14220            "Offset of field: ",
14221            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14222            "::",
14223            stringify!(y_bias)
14224        )
14225    );
14226    assert_eq!(
14227        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
14228        8usize,
14229        concat!(
14230            "Offset of field: ",
14231            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14232            "::",
14233            stringify!(z_bias)
14234        )
14235    );
14236}
14237#[test]
14238fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
14239    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2> =
14240        ::std::mem::MaybeUninit::uninit();
14241    let ptr = UNINIT.as_ptr();
14242    assert_eq!(
14243        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
14244        12usize,
14245        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
14246    );
14247    assert_eq!(
14248        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
14249        4usize,
14250        concat!(
14251            "Alignment of ",
14252            stringify!(AUncalibratedEvent__bindgen_ty_2)
14253        )
14254    );
14255    assert_eq!(
14256        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
14257        0usize,
14258        concat!(
14259            "Offset of field: ",
14260            stringify!(AUncalibratedEvent__bindgen_ty_2),
14261            "::",
14262            stringify!(bias)
14263        )
14264    );
14265}
14266#[test]
14267fn bindgen_test_layout_AUncalibratedEvent() {
14268    assert_eq!(
14269        ::std::mem::size_of::<AUncalibratedEvent>(),
14270        24usize,
14271        concat!("Size of: ", stringify!(AUncalibratedEvent))
14272    );
14273    assert_eq!(
14274        ::std::mem::align_of::<AUncalibratedEvent>(),
14275        4usize,
14276        concat!("Alignment of ", stringify!(AUncalibratedEvent))
14277    );
14278}
14279#[repr(C)]
14280#[derive(Debug, Copy, Clone)]
14281pub struct AHeartRateEvent {
14282    pub bpm: f32,
14283    pub status: i8,
14284}
14285#[test]
14286fn bindgen_test_layout_AHeartRateEvent() {
14287    const UNINIT: ::std::mem::MaybeUninit<AHeartRateEvent> = ::std::mem::MaybeUninit::uninit();
14288    let ptr = UNINIT.as_ptr();
14289    assert_eq!(
14290        ::std::mem::size_of::<AHeartRateEvent>(),
14291        8usize,
14292        concat!("Size of: ", stringify!(AHeartRateEvent))
14293    );
14294    assert_eq!(
14295        ::std::mem::align_of::<AHeartRateEvent>(),
14296        4usize,
14297        concat!("Alignment of ", stringify!(AHeartRateEvent))
14298    );
14299    assert_eq!(
14300        unsafe { ::std::ptr::addr_of!((*ptr).bpm) as usize - ptr as usize },
14301        0usize,
14302        concat!(
14303            "Offset of field: ",
14304            stringify!(AHeartRateEvent),
14305            "::",
14306            stringify!(bpm)
14307        )
14308    );
14309    assert_eq!(
14310        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14311        4usize,
14312        concat!(
14313            "Offset of field: ",
14314            stringify!(AHeartRateEvent),
14315            "::",
14316            stringify!(status)
14317        )
14318    );
14319}
14320#[repr(C)]
14321#[derive(Debug, Copy, Clone)]
14322pub struct ADynamicSensorEvent {
14323    pub connected: i32,
14324    pub handle: i32,
14325}
14326#[test]
14327fn bindgen_test_layout_ADynamicSensorEvent() {
14328    const UNINIT: ::std::mem::MaybeUninit<ADynamicSensorEvent> = ::std::mem::MaybeUninit::uninit();
14329    let ptr = UNINIT.as_ptr();
14330    assert_eq!(
14331        ::std::mem::size_of::<ADynamicSensorEvent>(),
14332        8usize,
14333        concat!("Size of: ", stringify!(ADynamicSensorEvent))
14334    );
14335    assert_eq!(
14336        ::std::mem::align_of::<ADynamicSensorEvent>(),
14337        4usize,
14338        concat!("Alignment of ", stringify!(ADynamicSensorEvent))
14339    );
14340    assert_eq!(
14341        unsafe { ::std::ptr::addr_of!((*ptr).connected) as usize - ptr as usize },
14342        0usize,
14343        concat!(
14344            "Offset of field: ",
14345            stringify!(ADynamicSensorEvent),
14346            "::",
14347            stringify!(connected)
14348        )
14349    );
14350    assert_eq!(
14351        unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
14352        4usize,
14353        concat!(
14354            "Offset of field: ",
14355            stringify!(ADynamicSensorEvent),
14356            "::",
14357            stringify!(handle)
14358        )
14359    );
14360}
14361#[repr(C)]
14362#[derive(Copy, Clone)]
14363pub struct AAdditionalInfoEvent {
14364    pub type_: i32,
14365    pub serial: i32,
14366    pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
14367}
14368#[repr(C)]
14369#[derive(Copy, Clone)]
14370pub union AAdditionalInfoEvent__bindgen_ty_1 {
14371    pub data_int32: [i32; 14usize],
14372    pub data_float: [f32; 14usize],
14373}
14374#[test]
14375fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
14376    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent__bindgen_ty_1> =
14377        ::std::mem::MaybeUninit::uninit();
14378    let ptr = UNINIT.as_ptr();
14379    assert_eq!(
14380        ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
14381        56usize,
14382        concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
14383    );
14384    assert_eq!(
14385        ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
14386        4usize,
14387        concat!(
14388            "Alignment of ",
14389            stringify!(AAdditionalInfoEvent__bindgen_ty_1)
14390        )
14391    );
14392    assert_eq!(
14393        unsafe { ::std::ptr::addr_of!((*ptr).data_int32) as usize - ptr as usize },
14394        0usize,
14395        concat!(
14396            "Offset of field: ",
14397            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
14398            "::",
14399            stringify!(data_int32)
14400        )
14401    );
14402    assert_eq!(
14403        unsafe { ::std::ptr::addr_of!((*ptr).data_float) as usize - ptr as usize },
14404        0usize,
14405        concat!(
14406            "Offset of field: ",
14407            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
14408            "::",
14409            stringify!(data_float)
14410        )
14411    );
14412}
14413#[test]
14414fn bindgen_test_layout_AAdditionalInfoEvent() {
14415    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent> = ::std::mem::MaybeUninit::uninit();
14416    let ptr = UNINIT.as_ptr();
14417    assert_eq!(
14418        ::std::mem::size_of::<AAdditionalInfoEvent>(),
14419        64usize,
14420        concat!("Size of: ", stringify!(AAdditionalInfoEvent))
14421    );
14422    assert_eq!(
14423        ::std::mem::align_of::<AAdditionalInfoEvent>(),
14424        4usize,
14425        concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
14426    );
14427    assert_eq!(
14428        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
14429        0usize,
14430        concat!(
14431            "Offset of field: ",
14432            stringify!(AAdditionalInfoEvent),
14433            "::",
14434            stringify!(type_)
14435        )
14436    );
14437    assert_eq!(
14438        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14439        4usize,
14440        concat!(
14441            "Offset of field: ",
14442            stringify!(AAdditionalInfoEvent),
14443            "::",
14444            stringify!(serial)
14445        )
14446    );
14447}
14448#[repr(C)]
14449#[derive(Debug, Copy, Clone)]
14450pub struct AHeadTrackerEvent {
14451    pub rx: f32,
14452    pub ry: f32,
14453    pub rz: f32,
14454    pub vx: f32,
14455    pub vy: f32,
14456    pub vz: f32,
14457    pub discontinuity_count: i32,
14458}
14459#[test]
14460fn bindgen_test_layout_AHeadTrackerEvent() {
14461    const UNINIT: ::std::mem::MaybeUninit<AHeadTrackerEvent> = ::std::mem::MaybeUninit::uninit();
14462    let ptr = UNINIT.as_ptr();
14463    assert_eq!(
14464        ::std::mem::size_of::<AHeadTrackerEvent>(),
14465        28usize,
14466        concat!("Size of: ", stringify!(AHeadTrackerEvent))
14467    );
14468    assert_eq!(
14469        ::std::mem::align_of::<AHeadTrackerEvent>(),
14470        4usize,
14471        concat!("Alignment of ", stringify!(AHeadTrackerEvent))
14472    );
14473    assert_eq!(
14474        unsafe { ::std::ptr::addr_of!((*ptr).rx) as usize - ptr as usize },
14475        0usize,
14476        concat!(
14477            "Offset of field: ",
14478            stringify!(AHeadTrackerEvent),
14479            "::",
14480            stringify!(rx)
14481        )
14482    );
14483    assert_eq!(
14484        unsafe { ::std::ptr::addr_of!((*ptr).ry) as usize - ptr as usize },
14485        4usize,
14486        concat!(
14487            "Offset of field: ",
14488            stringify!(AHeadTrackerEvent),
14489            "::",
14490            stringify!(ry)
14491        )
14492    );
14493    assert_eq!(
14494        unsafe { ::std::ptr::addr_of!((*ptr).rz) as usize - ptr as usize },
14495        8usize,
14496        concat!(
14497            "Offset of field: ",
14498            stringify!(AHeadTrackerEvent),
14499            "::",
14500            stringify!(rz)
14501        )
14502    );
14503    assert_eq!(
14504        unsafe { ::std::ptr::addr_of!((*ptr).vx) as usize - ptr as usize },
14505        12usize,
14506        concat!(
14507            "Offset of field: ",
14508            stringify!(AHeadTrackerEvent),
14509            "::",
14510            stringify!(vx)
14511        )
14512    );
14513    assert_eq!(
14514        unsafe { ::std::ptr::addr_of!((*ptr).vy) as usize - ptr as usize },
14515        16usize,
14516        concat!(
14517            "Offset of field: ",
14518            stringify!(AHeadTrackerEvent),
14519            "::",
14520            stringify!(vy)
14521        )
14522    );
14523    assert_eq!(
14524        unsafe { ::std::ptr::addr_of!((*ptr).vz) as usize - ptr as usize },
14525        20usize,
14526        concat!(
14527            "Offset of field: ",
14528            stringify!(AHeadTrackerEvent),
14529            "::",
14530            stringify!(vz)
14531        )
14532    );
14533    assert_eq!(
14534        unsafe { ::std::ptr::addr_of!((*ptr).discontinuity_count) as usize - ptr as usize },
14535        24usize,
14536        concat!(
14537            "Offset of field: ",
14538            stringify!(AHeadTrackerEvent),
14539            "::",
14540            stringify!(discontinuity_count)
14541        )
14542    );
14543}
14544#[repr(C)]
14545#[derive(Copy, Clone)]
14546pub struct ALimitedAxesImuEvent {
14547    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1,
14548    pub __bindgen_anon_2: ALimitedAxesImuEvent__bindgen_ty_2,
14549}
14550#[repr(C)]
14551#[derive(Copy, Clone)]
14552pub union ALimitedAxesImuEvent__bindgen_ty_1 {
14553    pub calib: [f32; 3usize],
14554    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1,
14555}
14556#[repr(C)]
14557#[derive(Debug, Copy, Clone)]
14558pub struct ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1 {
14559    pub x: f32,
14560    pub y: f32,
14561    pub z: f32,
14562}
14563#[test]
14564fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1() {
14565    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1> =
14566        ::std::mem::MaybeUninit::uninit();
14567    let ptr = UNINIT.as_ptr();
14568    assert_eq!(
14569        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
14570        12usize,
14571        concat!(
14572            "Size of: ",
14573            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
14574        )
14575    );
14576    assert_eq!(
14577        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
14578        4usize,
14579        concat!(
14580            "Alignment of ",
14581            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
14582        )
14583    );
14584    assert_eq!(
14585        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14586        0usize,
14587        concat!(
14588            "Offset of field: ",
14589            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
14590            "::",
14591            stringify!(x)
14592        )
14593    );
14594    assert_eq!(
14595        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14596        4usize,
14597        concat!(
14598            "Offset of field: ",
14599            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
14600            "::",
14601            stringify!(y)
14602        )
14603    );
14604    assert_eq!(
14605        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
14606        8usize,
14607        concat!(
14608            "Offset of field: ",
14609            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
14610            "::",
14611            stringify!(z)
14612        )
14613    );
14614}
14615#[test]
14616fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1() {
14617    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1> =
14618        ::std::mem::MaybeUninit::uninit();
14619    let ptr = UNINIT.as_ptr();
14620    assert_eq!(
14621        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
14622        12usize,
14623        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_1))
14624    );
14625    assert_eq!(
14626        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
14627        4usize,
14628        concat!(
14629            "Alignment of ",
14630            stringify!(ALimitedAxesImuEvent__bindgen_ty_1)
14631        )
14632    );
14633    assert_eq!(
14634        unsafe { ::std::ptr::addr_of!((*ptr).calib) as usize - ptr as usize },
14635        0usize,
14636        concat!(
14637            "Offset of field: ",
14638            stringify!(ALimitedAxesImuEvent__bindgen_ty_1),
14639            "::",
14640            stringify!(calib)
14641        )
14642    );
14643}
14644#[repr(C)]
14645#[derive(Copy, Clone)]
14646pub union ALimitedAxesImuEvent__bindgen_ty_2 {
14647    pub supported: [f32; 3usize],
14648    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1,
14649}
14650#[repr(C)]
14651#[derive(Debug, Copy, Clone)]
14652pub struct ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1 {
14653    pub x_supported: f32,
14654    pub y_supported: f32,
14655    pub z_supported: f32,
14656}
14657#[test]
14658fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1() {
14659    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1> =
14660        ::std::mem::MaybeUninit::uninit();
14661    let ptr = UNINIT.as_ptr();
14662    assert_eq!(
14663        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
14664        12usize,
14665        concat!(
14666            "Size of: ",
14667            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
14668        )
14669    );
14670    assert_eq!(
14671        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
14672        4usize,
14673        concat!(
14674            "Alignment of ",
14675            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
14676        )
14677    );
14678    assert_eq!(
14679        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
14680        0usize,
14681        concat!(
14682            "Offset of field: ",
14683            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
14684            "::",
14685            stringify!(x_supported)
14686        )
14687    );
14688    assert_eq!(
14689        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
14690        4usize,
14691        concat!(
14692            "Offset of field: ",
14693            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
14694            "::",
14695            stringify!(y_supported)
14696        )
14697    );
14698    assert_eq!(
14699        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
14700        8usize,
14701        concat!(
14702            "Offset of field: ",
14703            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
14704            "::",
14705            stringify!(z_supported)
14706        )
14707    );
14708}
14709#[test]
14710fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2() {
14711    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2> =
14712        ::std::mem::MaybeUninit::uninit();
14713    let ptr = UNINIT.as_ptr();
14714    assert_eq!(
14715        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
14716        12usize,
14717        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_2))
14718    );
14719    assert_eq!(
14720        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
14721        4usize,
14722        concat!(
14723            "Alignment of ",
14724            stringify!(ALimitedAxesImuEvent__bindgen_ty_2)
14725        )
14726    );
14727    assert_eq!(
14728        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
14729        0usize,
14730        concat!(
14731            "Offset of field: ",
14732            stringify!(ALimitedAxesImuEvent__bindgen_ty_2),
14733            "::",
14734            stringify!(supported)
14735        )
14736    );
14737}
14738#[test]
14739fn bindgen_test_layout_ALimitedAxesImuEvent() {
14740    assert_eq!(
14741        ::std::mem::size_of::<ALimitedAxesImuEvent>(),
14742        24usize,
14743        concat!("Size of: ", stringify!(ALimitedAxesImuEvent))
14744    );
14745    assert_eq!(
14746        ::std::mem::align_of::<ALimitedAxesImuEvent>(),
14747        4usize,
14748        concat!("Alignment of ", stringify!(ALimitedAxesImuEvent))
14749    );
14750}
14751#[repr(C)]
14752#[derive(Copy, Clone)]
14753pub struct ALimitedAxesImuUncalibratedEvent {
14754    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1,
14755    pub __bindgen_anon_2: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2,
14756    pub __bindgen_anon_3: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3,
14757}
14758#[repr(C)]
14759#[derive(Copy, Clone)]
14760pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_1 {
14761    pub uncalib: [f32; 3usize],
14762    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
14763}
14764#[repr(C)]
14765#[derive(Debug, Copy, Clone)]
14766pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
14767    pub x_uncalib: f32,
14768    pub y_uncalib: f32,
14769    pub z_uncalib: f32,
14770}
14771#[test]
14772fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
14773    const UNINIT: ::std::mem::MaybeUninit<
14774        ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
14775    > = ::std::mem::MaybeUninit::uninit();
14776    let ptr = UNINIT.as_ptr();
14777    assert_eq!(
14778        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
14779        12usize,
14780        concat!(
14781            "Size of: ",
14782            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
14783        )
14784    );
14785    assert_eq!(
14786        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
14787        4usize,
14788        concat!(
14789            "Alignment of ",
14790            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
14791        )
14792    );
14793    assert_eq!(
14794        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
14795        0usize,
14796        concat!(
14797            "Offset of field: ",
14798            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14799            "::",
14800            stringify!(x_uncalib)
14801        )
14802    );
14803    assert_eq!(
14804        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
14805        4usize,
14806        concat!(
14807            "Offset of field: ",
14808            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14809            "::",
14810            stringify!(y_uncalib)
14811        )
14812    );
14813    assert_eq!(
14814        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
14815        8usize,
14816        concat!(
14817            "Offset of field: ",
14818            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
14819            "::",
14820            stringify!(z_uncalib)
14821        )
14822    );
14823}
14824#[test]
14825fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1() {
14826    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1> =
14827        ::std::mem::MaybeUninit::uninit();
14828    let ptr = UNINIT.as_ptr();
14829    assert_eq!(
14830        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
14831        12usize,
14832        concat!(
14833            "Size of: ",
14834            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
14835        )
14836    );
14837    assert_eq!(
14838        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
14839        4usize,
14840        concat!(
14841            "Alignment of ",
14842            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
14843        )
14844    );
14845    assert_eq!(
14846        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
14847        0usize,
14848        concat!(
14849            "Offset of field: ",
14850            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1),
14851            "::",
14852            stringify!(uncalib)
14853        )
14854    );
14855}
14856#[repr(C)]
14857#[derive(Copy, Clone)]
14858pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_2 {
14859    pub bias: [f32; 3usize],
14860    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
14861}
14862#[repr(C)]
14863#[derive(Debug, Copy, Clone)]
14864pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
14865    pub x_bias: f32,
14866    pub y_bias: f32,
14867    pub z_bias: f32,
14868}
14869#[test]
14870fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
14871    const UNINIT: ::std::mem::MaybeUninit<
14872        ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
14873    > = ::std::mem::MaybeUninit::uninit();
14874    let ptr = UNINIT.as_ptr();
14875    assert_eq!(
14876        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
14877        12usize,
14878        concat!(
14879            "Size of: ",
14880            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
14881        )
14882    );
14883    assert_eq!(
14884        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
14885        4usize,
14886        concat!(
14887            "Alignment of ",
14888            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
14889        )
14890    );
14891    assert_eq!(
14892        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
14893        0usize,
14894        concat!(
14895            "Offset of field: ",
14896            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14897            "::",
14898            stringify!(x_bias)
14899        )
14900    );
14901    assert_eq!(
14902        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
14903        4usize,
14904        concat!(
14905            "Offset of field: ",
14906            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14907            "::",
14908            stringify!(y_bias)
14909        )
14910    );
14911    assert_eq!(
14912        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
14913        8usize,
14914        concat!(
14915            "Offset of field: ",
14916            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
14917            "::",
14918            stringify!(z_bias)
14919        )
14920    );
14921}
14922#[test]
14923fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2() {
14924    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2> =
14925        ::std::mem::MaybeUninit::uninit();
14926    let ptr = UNINIT.as_ptr();
14927    assert_eq!(
14928        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
14929        12usize,
14930        concat!(
14931            "Size of: ",
14932            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
14933        )
14934    );
14935    assert_eq!(
14936        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
14937        4usize,
14938        concat!(
14939            "Alignment of ",
14940            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
14941        )
14942    );
14943    assert_eq!(
14944        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
14945        0usize,
14946        concat!(
14947            "Offset of field: ",
14948            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2),
14949            "::",
14950            stringify!(bias)
14951        )
14952    );
14953}
14954#[repr(C)]
14955#[derive(Copy, Clone)]
14956pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_3 {
14957    pub supported: [f32; 3usize],
14958    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
14959}
14960#[repr(C)]
14961#[derive(Debug, Copy, Clone)]
14962pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1 {
14963    pub x_supported: f32,
14964    pub y_supported: f32,
14965    pub z_supported: f32,
14966}
14967#[test]
14968fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1() {
14969    const UNINIT: ::std::mem::MaybeUninit<
14970        ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
14971    > = ::std::mem::MaybeUninit::uninit();
14972    let ptr = UNINIT.as_ptr();
14973    assert_eq!(
14974        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
14975        12usize,
14976        concat!(
14977            "Size of: ",
14978            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
14979        )
14980    );
14981    assert_eq!(
14982        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
14983        4usize,
14984        concat!(
14985            "Alignment of ",
14986            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
14987        )
14988    );
14989    assert_eq!(
14990        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
14991        0usize,
14992        concat!(
14993            "Offset of field: ",
14994            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
14995            "::",
14996            stringify!(x_supported)
14997        )
14998    );
14999    assert_eq!(
15000        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
15001        4usize,
15002        concat!(
15003            "Offset of field: ",
15004            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
15005            "::",
15006            stringify!(y_supported)
15007        )
15008    );
15009    assert_eq!(
15010        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
15011        8usize,
15012        concat!(
15013            "Offset of field: ",
15014            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
15015            "::",
15016            stringify!(z_supported)
15017        )
15018    );
15019}
15020#[test]
15021fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3() {
15022    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3> =
15023        ::std::mem::MaybeUninit::uninit();
15024    let ptr = UNINIT.as_ptr();
15025    assert_eq!(
15026        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
15027        12usize,
15028        concat!(
15029            "Size of: ",
15030            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
15031        )
15032    );
15033    assert_eq!(
15034        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
15035        4usize,
15036        concat!(
15037            "Alignment of ",
15038            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
15039        )
15040    );
15041    assert_eq!(
15042        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
15043        0usize,
15044        concat!(
15045            "Offset of field: ",
15046            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3),
15047            "::",
15048            stringify!(supported)
15049        )
15050    );
15051}
15052#[test]
15053fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent() {
15054    assert_eq!(
15055        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent>(),
15056        36usize,
15057        concat!("Size of: ", stringify!(ALimitedAxesImuUncalibratedEvent))
15058    );
15059    assert_eq!(
15060        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent>(),
15061        4usize,
15062        concat!(
15063            "Alignment of ",
15064            stringify!(ALimitedAxesImuUncalibratedEvent)
15065        )
15066    );
15067}
15068#[repr(C)]
15069#[derive(Debug, Copy, Clone)]
15070pub struct AHeadingEvent {
15071    pub heading: f32,
15072    pub accuracy: f32,
15073}
15074#[test]
15075fn bindgen_test_layout_AHeadingEvent() {
15076    const UNINIT: ::std::mem::MaybeUninit<AHeadingEvent> = ::std::mem::MaybeUninit::uninit();
15077    let ptr = UNINIT.as_ptr();
15078    assert_eq!(
15079        ::std::mem::size_of::<AHeadingEvent>(),
15080        8usize,
15081        concat!("Size of: ", stringify!(AHeadingEvent))
15082    );
15083    assert_eq!(
15084        ::std::mem::align_of::<AHeadingEvent>(),
15085        4usize,
15086        concat!("Alignment of ", stringify!(AHeadingEvent))
15087    );
15088    assert_eq!(
15089        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
15090        0usize,
15091        concat!(
15092            "Offset of field: ",
15093            stringify!(AHeadingEvent),
15094            "::",
15095            stringify!(heading)
15096        )
15097    );
15098    assert_eq!(
15099        unsafe { ::std::ptr::addr_of!((*ptr).accuracy) as usize - ptr as usize },
15100        4usize,
15101        concat!(
15102            "Offset of field: ",
15103            stringify!(AHeadingEvent),
15104            "::",
15105            stringify!(accuracy)
15106        )
15107    );
15108}
15109#[repr(C)]
15110#[derive(Copy, Clone)]
15111pub struct ASensorEvent {
15112    pub version: i32,
15113    pub sensor: i32,
15114    pub type_: i32,
15115    pub reserved0: i32,
15116    pub timestamp: i64,
15117    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
15118    pub flags: u32,
15119    pub reserved1: [i32; 3usize],
15120}
15121#[repr(C)]
15122#[derive(Copy, Clone)]
15123pub union ASensorEvent__bindgen_ty_1 {
15124    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
15125    pub u64_: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
15126}
15127#[repr(C)]
15128#[derive(Copy, Clone)]
15129pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
15130    pub data: [f32; 16usize],
15131    pub vector: ASensorVector,
15132    pub acceleration: ASensorVector,
15133    pub gyro: ASensorVector,
15134    pub magnetic: ASensorVector,
15135    pub temperature: f32,
15136    pub distance: f32,
15137    pub light: f32,
15138    pub pressure: f32,
15139    pub relative_humidity: f32,
15140    pub uncalibrated_acceleration: AUncalibratedEvent,
15141    pub uncalibrated_gyro: AUncalibratedEvent,
15142    pub uncalibrated_magnetic: AUncalibratedEvent,
15143    pub meta_data: AMetaDataEvent,
15144    pub heart_rate: AHeartRateEvent,
15145    pub dynamic_sensor_meta: ADynamicSensorEvent,
15146    pub additional_info: AAdditionalInfoEvent,
15147    pub head_tracker: AHeadTrackerEvent,
15148    pub limited_axes_imu: ALimitedAxesImuEvent,
15149    pub limited_axes_imu_uncalibrated: ALimitedAxesImuUncalibratedEvent,
15150    pub heading: AHeadingEvent,
15151}
15152#[test]
15153fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
15154    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_1> =
15155        ::std::mem::MaybeUninit::uninit();
15156    let ptr = UNINIT.as_ptr();
15157    assert_eq!(
15158        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
15159        64usize,
15160        concat!(
15161            "Size of: ",
15162            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
15163        )
15164    );
15165    assert_eq!(
15166        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
15167        4usize,
15168        concat!(
15169            "Alignment of ",
15170            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
15171        )
15172    );
15173    assert_eq!(
15174        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15175        0usize,
15176        concat!(
15177            "Offset of field: ",
15178            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15179            "::",
15180            stringify!(data)
15181        )
15182    );
15183    assert_eq!(
15184        unsafe { ::std::ptr::addr_of!((*ptr).vector) as usize - ptr as usize },
15185        0usize,
15186        concat!(
15187            "Offset of field: ",
15188            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15189            "::",
15190            stringify!(vector)
15191        )
15192    );
15193    assert_eq!(
15194        unsafe { ::std::ptr::addr_of!((*ptr).acceleration) as usize - ptr as usize },
15195        0usize,
15196        concat!(
15197            "Offset of field: ",
15198            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15199            "::",
15200            stringify!(acceleration)
15201        )
15202    );
15203    assert_eq!(
15204        unsafe { ::std::ptr::addr_of!((*ptr).gyro) as usize - ptr as usize },
15205        0usize,
15206        concat!(
15207            "Offset of field: ",
15208            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15209            "::",
15210            stringify!(gyro)
15211        )
15212    );
15213    assert_eq!(
15214        unsafe { ::std::ptr::addr_of!((*ptr).magnetic) as usize - ptr as usize },
15215        0usize,
15216        concat!(
15217            "Offset of field: ",
15218            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15219            "::",
15220            stringify!(magnetic)
15221        )
15222    );
15223    assert_eq!(
15224        unsafe { ::std::ptr::addr_of!((*ptr).temperature) as usize - ptr as usize },
15225        0usize,
15226        concat!(
15227            "Offset of field: ",
15228            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15229            "::",
15230            stringify!(temperature)
15231        )
15232    );
15233    assert_eq!(
15234        unsafe { ::std::ptr::addr_of!((*ptr).distance) as usize - ptr as usize },
15235        0usize,
15236        concat!(
15237            "Offset of field: ",
15238            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15239            "::",
15240            stringify!(distance)
15241        )
15242    );
15243    assert_eq!(
15244        unsafe { ::std::ptr::addr_of!((*ptr).light) as usize - ptr as usize },
15245        0usize,
15246        concat!(
15247            "Offset of field: ",
15248            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15249            "::",
15250            stringify!(light)
15251        )
15252    );
15253    assert_eq!(
15254        unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize },
15255        0usize,
15256        concat!(
15257            "Offset of field: ",
15258            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15259            "::",
15260            stringify!(pressure)
15261        )
15262    );
15263    assert_eq!(
15264        unsafe { ::std::ptr::addr_of!((*ptr).relative_humidity) as usize - ptr as usize },
15265        0usize,
15266        concat!(
15267            "Offset of field: ",
15268            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15269            "::",
15270            stringify!(relative_humidity)
15271        )
15272    );
15273    assert_eq!(
15274        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_acceleration) as usize - ptr as usize },
15275        0usize,
15276        concat!(
15277            "Offset of field: ",
15278            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15279            "::",
15280            stringify!(uncalibrated_acceleration)
15281        )
15282    );
15283    assert_eq!(
15284        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_gyro) as usize - ptr as usize },
15285        0usize,
15286        concat!(
15287            "Offset of field: ",
15288            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15289            "::",
15290            stringify!(uncalibrated_gyro)
15291        )
15292    );
15293    assert_eq!(
15294        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_magnetic) as usize - ptr as usize },
15295        0usize,
15296        concat!(
15297            "Offset of field: ",
15298            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15299            "::",
15300            stringify!(uncalibrated_magnetic)
15301        )
15302    );
15303    assert_eq!(
15304        unsafe { ::std::ptr::addr_of!((*ptr).meta_data) as usize - ptr as usize },
15305        0usize,
15306        concat!(
15307            "Offset of field: ",
15308            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15309            "::",
15310            stringify!(meta_data)
15311        )
15312    );
15313    assert_eq!(
15314        unsafe { ::std::ptr::addr_of!((*ptr).heart_rate) as usize - ptr as usize },
15315        0usize,
15316        concat!(
15317            "Offset of field: ",
15318            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15319            "::",
15320            stringify!(heart_rate)
15321        )
15322    );
15323    assert_eq!(
15324        unsafe { ::std::ptr::addr_of!((*ptr).dynamic_sensor_meta) as usize - ptr as usize },
15325        0usize,
15326        concat!(
15327            "Offset of field: ",
15328            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15329            "::",
15330            stringify!(dynamic_sensor_meta)
15331        )
15332    );
15333    assert_eq!(
15334        unsafe { ::std::ptr::addr_of!((*ptr).additional_info) as usize - ptr as usize },
15335        0usize,
15336        concat!(
15337            "Offset of field: ",
15338            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15339            "::",
15340            stringify!(additional_info)
15341        )
15342    );
15343    assert_eq!(
15344        unsafe { ::std::ptr::addr_of!((*ptr).head_tracker) as usize - ptr as usize },
15345        0usize,
15346        concat!(
15347            "Offset of field: ",
15348            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15349            "::",
15350            stringify!(head_tracker)
15351        )
15352    );
15353    assert_eq!(
15354        unsafe { ::std::ptr::addr_of!((*ptr).limited_axes_imu) as usize - ptr as usize },
15355        0usize,
15356        concat!(
15357            "Offset of field: ",
15358            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15359            "::",
15360            stringify!(limited_axes_imu)
15361        )
15362    );
15363    assert_eq!(
15364        unsafe {
15365            ::std::ptr::addr_of!((*ptr).limited_axes_imu_uncalibrated) as usize - ptr as usize
15366        },
15367        0usize,
15368        concat!(
15369            "Offset of field: ",
15370            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15371            "::",
15372            stringify!(limited_axes_imu_uncalibrated)
15373        )
15374    );
15375    assert_eq!(
15376        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
15377        0usize,
15378        concat!(
15379            "Offset of field: ",
15380            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
15381            "::",
15382            stringify!(heading)
15383        )
15384    );
15385}
15386#[repr(C)]
15387#[derive(Copy, Clone)]
15388pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
15389    pub data: [u64; 8usize],
15390    pub step_counter: u64,
15391}
15392#[test]
15393fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
15394    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_2> =
15395        ::std::mem::MaybeUninit::uninit();
15396    let ptr = UNINIT.as_ptr();
15397    assert_eq!(
15398        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
15399        64usize,
15400        concat!(
15401            "Size of: ",
15402            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
15403        )
15404    );
15405    assert_eq!(
15406        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
15407        8usize,
15408        concat!(
15409            "Alignment of ",
15410            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
15411        )
15412    );
15413    assert_eq!(
15414        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15415        0usize,
15416        concat!(
15417            "Offset of field: ",
15418            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
15419            "::",
15420            stringify!(data)
15421        )
15422    );
15423    assert_eq!(
15424        unsafe { ::std::ptr::addr_of!((*ptr).step_counter) as usize - ptr as usize },
15425        0usize,
15426        concat!(
15427            "Offset of field: ",
15428            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
15429            "::",
15430            stringify!(step_counter)
15431        )
15432    );
15433}
15434#[test]
15435fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
15436    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1> =
15437        ::std::mem::MaybeUninit::uninit();
15438    let ptr = UNINIT.as_ptr();
15439    assert_eq!(
15440        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
15441        64usize,
15442        concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
15443    );
15444    assert_eq!(
15445        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
15446        8usize,
15447        concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
15448    );
15449    assert_eq!(
15450        unsafe { ::std::ptr::addr_of!((*ptr).u64_) as usize - ptr as usize },
15451        0usize,
15452        concat!(
15453            "Offset of field: ",
15454            stringify!(ASensorEvent__bindgen_ty_1),
15455            "::",
15456            stringify!(u64_)
15457        )
15458    );
15459}
15460#[test]
15461fn bindgen_test_layout_ASensorEvent() {
15462    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent> = ::std::mem::MaybeUninit::uninit();
15463    let ptr = UNINIT.as_ptr();
15464    assert_eq!(
15465        ::std::mem::size_of::<ASensorEvent>(),
15466        104usize,
15467        concat!("Size of: ", stringify!(ASensorEvent))
15468    );
15469    assert_eq!(
15470        ::std::mem::align_of::<ASensorEvent>(),
15471        8usize,
15472        concat!("Alignment of ", stringify!(ASensorEvent))
15473    );
15474    assert_eq!(
15475        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
15476        0usize,
15477        concat!(
15478            "Offset of field: ",
15479            stringify!(ASensorEvent),
15480            "::",
15481            stringify!(version)
15482        )
15483    );
15484    assert_eq!(
15485        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
15486        4usize,
15487        concat!(
15488            "Offset of field: ",
15489            stringify!(ASensorEvent),
15490            "::",
15491            stringify!(sensor)
15492        )
15493    );
15494    assert_eq!(
15495        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
15496        8usize,
15497        concat!(
15498            "Offset of field: ",
15499            stringify!(ASensorEvent),
15500            "::",
15501            stringify!(type_)
15502        )
15503    );
15504    assert_eq!(
15505        unsafe { ::std::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize },
15506        12usize,
15507        concat!(
15508            "Offset of field: ",
15509            stringify!(ASensorEvent),
15510            "::",
15511            stringify!(reserved0)
15512        )
15513    );
15514    assert_eq!(
15515        unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
15516        16usize,
15517        concat!(
15518            "Offset of field: ",
15519            stringify!(ASensorEvent),
15520            "::",
15521            stringify!(timestamp)
15522        )
15523    );
15524    assert_eq!(
15525        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
15526        88usize,
15527        concat!(
15528            "Offset of field: ",
15529            stringify!(ASensorEvent),
15530            "::",
15531            stringify!(flags)
15532        )
15533    );
15534    assert_eq!(
15535        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
15536        92usize,
15537        concat!(
15538            "Offset of field: ",
15539            stringify!(ASensorEvent),
15540            "::",
15541            stringify!(reserved1)
15542        )
15543    );
15544}
15545#[repr(C)]
15546#[derive(Debug, Copy, Clone)]
15547pub struct ASensorManager {
15548    _unused: [u8; 0],
15549}
15550#[repr(C)]
15551#[derive(Debug, Copy, Clone)]
15552pub struct ASensorEventQueue {
15553    _unused: [u8; 0],
15554}
15555#[repr(C)]
15556#[derive(Debug, Copy, Clone)]
15557pub struct ASensor {
15558    _unused: [u8; 0],
15559}
15560pub type ASensorRef = *const ASensor;
15561pub type ASensorList = *const ASensorRef;
15562extern "C" {
15563    pub fn ASensorManager_getInstance() -> *mut ASensorManager;
15564}
15565extern "C" {
15566    pub fn ASensorManager_getInstanceForPackage(
15567        packageName: *const ::std::os::raw::c_char,
15568    ) -> *mut ASensorManager;
15569}
15570extern "C" {
15571    pub fn ASensorManager_getSensorList(
15572        manager: *mut ASensorManager,
15573        list: *mut ASensorList,
15574    ) -> ::std::os::raw::c_int;
15575}
15576extern "C" {
15577    pub fn ASensorManager_getDynamicSensorList(
15578        manager: *mut ASensorManager,
15579        list: *mut ASensorList,
15580    ) -> isize;
15581}
15582extern "C" {
15583    pub fn ASensorManager_getDefaultSensor(
15584        manager: *mut ASensorManager,
15585        type_: ::std::os::raw::c_int,
15586    ) -> *const ASensor;
15587}
15588extern "C" {
15589    pub fn ASensorManager_getDefaultSensorEx(
15590        manager: *mut ASensorManager,
15591        type_: ::std::os::raw::c_int,
15592        wakeUp: bool,
15593    ) -> *const ASensor;
15594}
15595extern "C" {
15596    pub fn ASensorManager_createEventQueue(
15597        manager: *mut ASensorManager,
15598        looper: *mut ALooper,
15599        ident: ::std::os::raw::c_int,
15600        callback: ALooper_callbackFunc,
15601        data: *mut ::std::os::raw::c_void,
15602    ) -> *mut ASensorEventQueue;
15603}
15604extern "C" {
15605    pub fn ASensorManager_destroyEventQueue(
15606        manager: *mut ASensorManager,
15607        queue: *mut ASensorEventQueue,
15608    ) -> ::std::os::raw::c_int;
15609}
15610extern "C" {
15611    pub fn ASensorManager_createSharedMemoryDirectChannel(
15612        manager: *mut ASensorManager,
15613        fd: ::std::os::raw::c_int,
15614        size: usize,
15615    ) -> ::std::os::raw::c_int;
15616}
15617extern "C" {
15618    pub fn ASensorManager_createHardwareBufferDirectChannel(
15619        manager: *mut ASensorManager,
15620        buffer: *const AHardwareBuffer,
15621        size: usize,
15622    ) -> ::std::os::raw::c_int;
15623}
15624extern "C" {
15625    pub fn ASensorManager_destroyDirectChannel(
15626        manager: *mut ASensorManager,
15627        channelId: ::std::os::raw::c_int,
15628    );
15629}
15630extern "C" {
15631    pub fn ASensorManager_configureDirectReport(
15632        manager: *mut ASensorManager,
15633        sensor: *const ASensor,
15634        channelId: ::std::os::raw::c_int,
15635        rate: ::std::os::raw::c_int,
15636    ) -> ::std::os::raw::c_int;
15637}
15638extern "C" {
15639    pub fn ASensorEventQueue_registerSensor(
15640        queue: *mut ASensorEventQueue,
15641        sensor: *const ASensor,
15642        samplingPeriodUs: i32,
15643        maxBatchReportLatencyUs: i64,
15644    ) -> ::std::os::raw::c_int;
15645}
15646extern "C" {
15647    pub fn ASensorEventQueue_enableSensor(
15648        queue: *mut ASensorEventQueue,
15649        sensor: *const ASensor,
15650    ) -> ::std::os::raw::c_int;
15651}
15652extern "C" {
15653    pub fn ASensorEventQueue_disableSensor(
15654        queue: *mut ASensorEventQueue,
15655        sensor: *const ASensor,
15656    ) -> ::std::os::raw::c_int;
15657}
15658extern "C" {
15659    pub fn ASensorEventQueue_setEventRate(
15660        queue: *mut ASensorEventQueue,
15661        sensor: *const ASensor,
15662        usec: i32,
15663    ) -> ::std::os::raw::c_int;
15664}
15665extern "C" {
15666    pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
15667}
15668extern "C" {
15669    pub fn ASensorEventQueue_getEvents(
15670        queue: *mut ASensorEventQueue,
15671        events: *mut ASensorEvent,
15672        count: usize,
15673    ) -> isize;
15674}
15675extern "C" {
15676    pub fn ASensorEventQueue_requestAdditionalInfoEvents(
15677        queue: *mut ASensorEventQueue,
15678        enable: bool,
15679    ) -> ::std::os::raw::c_int;
15680}
15681extern "C" {
15682    pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
15683}
15684extern "C" {
15685    pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
15686}
15687extern "C" {
15688    pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
15689}
15690extern "C" {
15691    pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
15692}
15693extern "C" {
15694    pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
15695}
15696extern "C" {
15697    pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
15698}
15699extern "C" {
15700    pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
15701}
15702extern "C" {
15703    pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
15704}
15705extern "C" {
15706    pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
15707}
15708extern "C" {
15709    pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
15710}
15711extern "C" {
15712    pub fn ASensor_isDirectChannelTypeSupported(
15713        sensor: *const ASensor,
15714        channelType: ::std::os::raw::c_int,
15715    ) -> bool;
15716}
15717extern "C" {
15718    pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
15719        -> ::std::os::raw::c_int;
15720}
15721extern "C" {
15722    pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
15723}
15724extern "C" {
15725    pub fn strcasecmp(
15726        __s1: *const ::std::os::raw::c_char,
15727        __s2: *const ::std::os::raw::c_char,
15728    ) -> ::std::os::raw::c_int;
15729}
15730extern "C" {
15731    pub fn strcasecmp_l(
15732        __s1: *const ::std::os::raw::c_char,
15733        __s2: *const ::std::os::raw::c_char,
15734        __l: locale_t,
15735    ) -> ::std::os::raw::c_int;
15736}
15737extern "C" {
15738    pub fn strncasecmp(
15739        __s1: *const ::std::os::raw::c_char,
15740        __s2: *const ::std::os::raw::c_char,
15741        __n: ::std::os::raw::c_ulong,
15742    ) -> ::std::os::raw::c_int;
15743}
15744extern "C" {
15745    pub fn strncasecmp_l(
15746        __s1: *const ::std::os::raw::c_char,
15747        __s2: *const ::std::os::raw::c_char,
15748        __n: usize,
15749        __l: locale_t,
15750    ) -> ::std::os::raw::c_int;
15751}
15752extern "C" {
15753    pub fn memccpy(
15754        __dst: *mut ::std::os::raw::c_void,
15755        __src: *const ::std::os::raw::c_void,
15756        __stop_char: ::std::os::raw::c_int,
15757        __n: ::std::os::raw::c_ulong,
15758    ) -> *mut ::std::os::raw::c_void;
15759}
15760extern "C" {
15761    pub fn memchr(
15762        __s: *const ::std::os::raw::c_void,
15763        __ch: ::std::os::raw::c_int,
15764        __n: ::std::os::raw::c_ulong,
15765    ) -> *mut ::std::os::raw::c_void;
15766}
15767extern "C" {
15768    pub fn memrchr(
15769        __s: *const ::std::os::raw::c_void,
15770        __ch: ::std::os::raw::c_int,
15771        __n: usize,
15772    ) -> *mut ::std::os::raw::c_void;
15773}
15774extern "C" {
15775    pub fn memcmp(
15776        __lhs: *const ::std::os::raw::c_void,
15777        __rhs: *const ::std::os::raw::c_void,
15778        __n: ::std::os::raw::c_ulong,
15779    ) -> ::std::os::raw::c_int;
15780}
15781extern "C" {
15782    pub fn memcpy(
15783        arg1: *mut ::std::os::raw::c_void,
15784        arg2: *const ::std::os::raw::c_void,
15785        arg3: ::std::os::raw::c_ulong,
15786    ) -> *mut ::std::os::raw::c_void;
15787}
15788extern "C" {
15789    pub fn memmove(
15790        __dst: *mut ::std::os::raw::c_void,
15791        __src: *const ::std::os::raw::c_void,
15792        __n: ::std::os::raw::c_ulong,
15793    ) -> *mut ::std::os::raw::c_void;
15794}
15795extern "C" {
15796    pub fn memset(
15797        __dst: *mut ::std::os::raw::c_void,
15798        __ch: ::std::os::raw::c_int,
15799        __n: ::std::os::raw::c_ulong,
15800    ) -> *mut ::std::os::raw::c_void;
15801}
15802extern "C" {
15803    pub fn memset_explicit(
15804        __dst: *mut ::std::os::raw::c_void,
15805        __ch: ::std::os::raw::c_int,
15806        __n: usize,
15807    ) -> *mut ::std::os::raw::c_void;
15808}
15809extern "C" {
15810    pub fn memmem(
15811        __haystack: *const ::std::os::raw::c_void,
15812        __haystack_size: usize,
15813        __needle: *const ::std::os::raw::c_void,
15814        __needle_size: usize,
15815    ) -> *mut ::std::os::raw::c_void;
15816}
15817extern "C" {
15818    pub fn strchr(
15819        __s: *const ::std::os::raw::c_char,
15820        __ch: ::std::os::raw::c_int,
15821    ) -> *mut ::std::os::raw::c_char;
15822}
15823extern "C" {
15824    pub fn __strchr_chk(
15825        __s: *const ::std::os::raw::c_char,
15826        __ch: ::std::os::raw::c_int,
15827        __n: usize,
15828    ) -> *mut ::std::os::raw::c_char;
15829}
15830extern "C" {
15831    pub fn strrchr(
15832        __s: *const ::std::os::raw::c_char,
15833        __ch: ::std::os::raw::c_int,
15834    ) -> *mut ::std::os::raw::c_char;
15835}
15836extern "C" {
15837    pub fn __strrchr_chk(
15838        __s: *const ::std::os::raw::c_char,
15839        __ch: ::std::os::raw::c_int,
15840        __n: usize,
15841    ) -> *mut ::std::os::raw::c_char;
15842}
15843extern "C" {
15844    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
15845}
15846extern "C" {
15847    pub fn __strlen_chk(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
15848}
15849extern "C" {
15850    pub fn strcmp(
15851        __lhs: *const ::std::os::raw::c_char,
15852        __rhs: *const ::std::os::raw::c_char,
15853    ) -> ::std::os::raw::c_int;
15854}
15855extern "C" {
15856    pub fn stpcpy(
15857        __dst: *mut ::std::os::raw::c_char,
15858        __src: *const ::std::os::raw::c_char,
15859    ) -> *mut ::std::os::raw::c_char;
15860}
15861extern "C" {
15862    pub fn strcpy(
15863        __dst: *mut ::std::os::raw::c_char,
15864        __src: *const ::std::os::raw::c_char,
15865    ) -> *mut ::std::os::raw::c_char;
15866}
15867extern "C" {
15868    pub fn strcat(
15869        __dst: *mut ::std::os::raw::c_char,
15870        __src: *const ::std::os::raw::c_char,
15871    ) -> *mut ::std::os::raw::c_char;
15872}
15873extern "C" {
15874    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
15875}
15876extern "C" {
15877    pub fn strstr(
15878        __haystack: *const ::std::os::raw::c_char,
15879        __needle: *const ::std::os::raw::c_char,
15880    ) -> *mut ::std::os::raw::c_char;
15881}
15882extern "C" {
15883    pub fn strcasestr(
15884        __haystack: *const ::std::os::raw::c_char,
15885        __needle: *const ::std::os::raw::c_char,
15886    ) -> *mut ::std::os::raw::c_char;
15887}
15888extern "C" {
15889    pub fn strtok(
15890        __s: *mut ::std::os::raw::c_char,
15891        __delimiter: *const ::std::os::raw::c_char,
15892    ) -> *mut ::std::os::raw::c_char;
15893}
15894extern "C" {
15895    pub fn strtok_r(
15896        __s: *mut ::std::os::raw::c_char,
15897        __delimiter: *const ::std::os::raw::c_char,
15898        __pos_ptr: *mut *mut ::std::os::raw::c_char,
15899    ) -> *mut ::std::os::raw::c_char;
15900}
15901extern "C" {
15902    pub fn strerror(__errno_value: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
15903}
15904extern "C" {
15905    pub fn strerror_l(
15906        __errno_value: ::std::os::raw::c_int,
15907        __l: locale_t,
15908    ) -> *mut ::std::os::raw::c_char;
15909}
15910extern "C" {
15911    pub fn strerror_r(
15912        __errno_value: ::std::os::raw::c_int,
15913        __buf: *mut ::std::os::raw::c_char,
15914        __n: usize,
15915    ) -> ::std::os::raw::c_int;
15916}
15917extern "C" {
15918    pub fn strnlen(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
15919}
15920extern "C" {
15921    pub fn strncat(
15922        __dst: *mut ::std::os::raw::c_char,
15923        __src: *const ::std::os::raw::c_char,
15924        __n: ::std::os::raw::c_ulong,
15925    ) -> *mut ::std::os::raw::c_char;
15926}
15927extern "C" {
15928    pub fn strndup(
15929        __s: *const ::std::os::raw::c_char,
15930        __n: ::std::os::raw::c_ulong,
15931    ) -> *mut ::std::os::raw::c_char;
15932}
15933extern "C" {
15934    pub fn strncmp(
15935        __lhs: *const ::std::os::raw::c_char,
15936        __rhs: *const ::std::os::raw::c_char,
15937        __n: ::std::os::raw::c_ulong,
15938    ) -> ::std::os::raw::c_int;
15939}
15940extern "C" {
15941    pub fn stpncpy(
15942        __dst: *mut ::std::os::raw::c_char,
15943        __src: *const ::std::os::raw::c_char,
15944        __n: ::std::os::raw::c_ulong,
15945    ) -> *mut ::std::os::raw::c_char;
15946}
15947extern "C" {
15948    pub fn strncpy(
15949        __dst: *mut ::std::os::raw::c_char,
15950        __src: *const ::std::os::raw::c_char,
15951        __n: ::std::os::raw::c_ulong,
15952    ) -> *mut ::std::os::raw::c_char;
15953}
15954extern "C" {
15955    pub fn strlcat(
15956        __dst: *mut ::std::os::raw::c_char,
15957        __src: *const ::std::os::raw::c_char,
15958        __n: ::std::os::raw::c_ulong,
15959    ) -> ::std::os::raw::c_ulong;
15960}
15961extern "C" {
15962    pub fn strlcpy(
15963        __dst: *mut ::std::os::raw::c_char,
15964        __src: *const ::std::os::raw::c_char,
15965        __n: ::std::os::raw::c_ulong,
15966    ) -> ::std::os::raw::c_ulong;
15967}
15968extern "C" {
15969    pub fn strcspn(
15970        __s: *const ::std::os::raw::c_char,
15971        __reject: *const ::std::os::raw::c_char,
15972    ) -> ::std::os::raw::c_ulong;
15973}
15974extern "C" {
15975    pub fn strpbrk(
15976        __s: *const ::std::os::raw::c_char,
15977        __accept: *const ::std::os::raw::c_char,
15978    ) -> *mut ::std::os::raw::c_char;
15979}
15980extern "C" {
15981    pub fn strsep(
15982        __s_ptr: *mut *mut ::std::os::raw::c_char,
15983        __delimiter: *const ::std::os::raw::c_char,
15984    ) -> *mut ::std::os::raw::c_char;
15985}
15986extern "C" {
15987    pub fn strspn(
15988        __s: *const ::std::os::raw::c_char,
15989        __accept: *const ::std::os::raw::c_char,
15990    ) -> ::std::os::raw::c_ulong;
15991}
15992extern "C" {
15993    pub fn strsignal(__signal: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
15994}
15995extern "C" {
15996    pub fn strcoll(
15997        __lhs: *const ::std::os::raw::c_char,
15998        __rhs: *const ::std::os::raw::c_char,
15999    ) -> ::std::os::raw::c_int;
16000}
16001extern "C" {
16002    pub fn strxfrm(
16003        __dst: *mut ::std::os::raw::c_char,
16004        __src: *const ::std::os::raw::c_char,
16005        __n: ::std::os::raw::c_ulong,
16006    ) -> ::std::os::raw::c_ulong;
16007}
16008extern "C" {
16009    pub fn strcoll_l(
16010        __lhs: *const ::std::os::raw::c_char,
16011        __rhs: *const ::std::os::raw::c_char,
16012        __l: locale_t,
16013    ) -> ::std::os::raw::c_int;
16014}
16015extern "C" {
16016    pub fn strxfrm_l(
16017        __dst: *mut ::std::os::raw::c_char,
16018        __src: *const ::std::os::raw::c_char,
16019        __n: usize,
16020        __l: locale_t,
16021    ) -> usize;
16022}
16023#[repr(C)]
16024#[derive(Debug, Copy, Clone)]
16025pub struct crash_detail_t {
16026    _unused: [u8; 0],
16027}
16028extern "C" {
16029    pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
16030}
16031extern "C" {
16032    pub fn ASharedMemory_create(
16033        name: *const ::std::os::raw::c_char,
16034        size: usize,
16035    ) -> ::std::os::raw::c_int;
16036}
16037extern "C" {
16038    pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize;
16039}
16040extern "C" {
16041    pub fn ASharedMemory_setProt(
16042        fd: ::std::os::raw::c_int,
16043        prot: ::std::os::raw::c_int,
16044    ) -> ::std::os::raw::c_int;
16045}
16046extern "C" {
16047    pub fn ASharedMemory_dupFromJava(
16048        env: *mut JNIEnv,
16049        sharedMemory: jobject,
16050    ) -> ::std::os::raw::c_int;
16051}
16052#[repr(C)]
16053#[derive(Debug, Copy, Clone)]
16054pub struct AStorageManager {
16055    _unused: [u8; 0],
16056}
16057pub const AOBB_STATE_MOUNTED: _bindgen_ty_46 = 1;
16058pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_46 = 2;
16059pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_46 = 20;
16060pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_46 = 21;
16061pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_46 = 22;
16062pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_46 = 23;
16063pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_46 = 24;
16064pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_46 = 25;
16065pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
16066extern "C" {
16067    pub fn AStorageManager_new() -> *mut AStorageManager;
16068}
16069extern "C" {
16070    pub fn AStorageManager_delete(mgr: *mut AStorageManager);
16071}
16072pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
16073    unsafe extern "C" fn(
16074        filename: *const ::std::os::raw::c_char,
16075        state: i32,
16076        data: *mut ::std::os::raw::c_void,
16077    ),
16078>;
16079extern "C" {
16080    pub fn AStorageManager_mountObb(
16081        mgr: *mut AStorageManager,
16082        filename: *const ::std::os::raw::c_char,
16083        key: *const ::std::os::raw::c_char,
16084        cb: AStorageManager_obbCallbackFunc,
16085        data: *mut ::std::os::raw::c_void,
16086    );
16087}
16088extern "C" {
16089    pub fn AStorageManager_unmountObb(
16090        mgr: *mut AStorageManager,
16091        filename: *const ::std::os::raw::c_char,
16092        force: ::std::os::raw::c_int,
16093        cb: AStorageManager_obbCallbackFunc,
16094        data: *mut ::std::os::raw::c_void,
16095    );
16096}
16097extern "C" {
16098    pub fn AStorageManager_isObbMounted(
16099        mgr: *mut AStorageManager,
16100        filename: *const ::std::os::raw::c_char,
16101    ) -> ::std::os::raw::c_int;
16102}
16103extern "C" {
16104    pub fn AStorageManager_getMountedObbPath(
16105        mgr: *mut AStorageManager,
16106        filename: *const ::std::os::raw::c_char,
16107    ) -> *const ::std::os::raw::c_char;
16108}
16109#[repr(C)]
16110#[derive(Debug, Copy, Clone)]
16111pub struct ASurfaceTexture {
16112    _unused: [u8; 0],
16113}
16114extern "C" {
16115    pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
16116}
16117extern "C" {
16118    pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
16119}
16120extern "C" {
16121    pub fn ASurfaceTexture_attachToGLContext(
16122        st: *mut ASurfaceTexture,
16123        texName: u32,
16124    ) -> ::std::os::raw::c_int;
16125}
16126extern "C" {
16127    pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
16128}
16129extern "C" {
16130    pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
16131}
16132extern "C" {
16133    pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
16134}
16135extern "C" {
16136    pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
16137}
16138extern "C" {
16139    pub fn ASurfaceTexture_fromSurfaceTexture(
16140        env: *mut JNIEnv,
16141        surfacetexture: jobject,
16142    ) -> *mut ASurfaceTexture;
16143}
16144#[repr(C)]
16145#[derive(Debug, Copy, Clone)]
16146pub struct sync_merge_data {
16147    pub name: [::std::os::raw::c_char; 32usize],
16148    pub fd2: __s32,
16149    pub fence: __s32,
16150    pub flags: __u32,
16151    pub pad: __u32,
16152}
16153#[test]
16154fn bindgen_test_layout_sync_merge_data() {
16155    const UNINIT: ::std::mem::MaybeUninit<sync_merge_data> = ::std::mem::MaybeUninit::uninit();
16156    let ptr = UNINIT.as_ptr();
16157    assert_eq!(
16158        ::std::mem::size_of::<sync_merge_data>(),
16159        48usize,
16160        concat!("Size of: ", stringify!(sync_merge_data))
16161    );
16162    assert_eq!(
16163        ::std::mem::align_of::<sync_merge_data>(),
16164        4usize,
16165        concat!("Alignment of ", stringify!(sync_merge_data))
16166    );
16167    assert_eq!(
16168        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
16169        0usize,
16170        concat!(
16171            "Offset of field: ",
16172            stringify!(sync_merge_data),
16173            "::",
16174            stringify!(name)
16175        )
16176    );
16177    assert_eq!(
16178        unsafe { ::std::ptr::addr_of!((*ptr).fd2) as usize - ptr as usize },
16179        32usize,
16180        concat!(
16181            "Offset of field: ",
16182            stringify!(sync_merge_data),
16183            "::",
16184            stringify!(fd2)
16185        )
16186    );
16187    assert_eq!(
16188        unsafe { ::std::ptr::addr_of!((*ptr).fence) as usize - ptr as usize },
16189        36usize,
16190        concat!(
16191            "Offset of field: ",
16192            stringify!(sync_merge_data),
16193            "::",
16194            stringify!(fence)
16195        )
16196    );
16197    assert_eq!(
16198        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16199        40usize,
16200        concat!(
16201            "Offset of field: ",
16202            stringify!(sync_merge_data),
16203            "::",
16204            stringify!(flags)
16205        )
16206    );
16207    assert_eq!(
16208        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
16209        44usize,
16210        concat!(
16211            "Offset of field: ",
16212            stringify!(sync_merge_data),
16213            "::",
16214            stringify!(pad)
16215        )
16216    );
16217}
16218#[repr(C)]
16219#[derive(Debug, Copy, Clone)]
16220pub struct sync_fence_info {
16221    pub obj_name: [::std::os::raw::c_char; 32usize],
16222    pub driver_name: [::std::os::raw::c_char; 32usize],
16223    pub status: __s32,
16224    pub flags: __u32,
16225    pub timestamp_ns: __u64,
16226}
16227#[test]
16228fn bindgen_test_layout_sync_fence_info() {
16229    const UNINIT: ::std::mem::MaybeUninit<sync_fence_info> = ::std::mem::MaybeUninit::uninit();
16230    let ptr = UNINIT.as_ptr();
16231    assert_eq!(
16232        ::std::mem::size_of::<sync_fence_info>(),
16233        80usize,
16234        concat!("Size of: ", stringify!(sync_fence_info))
16235    );
16236    assert_eq!(
16237        ::std::mem::align_of::<sync_fence_info>(),
16238        8usize,
16239        concat!("Alignment of ", stringify!(sync_fence_info))
16240    );
16241    assert_eq!(
16242        unsafe { ::std::ptr::addr_of!((*ptr).obj_name) as usize - ptr as usize },
16243        0usize,
16244        concat!(
16245            "Offset of field: ",
16246            stringify!(sync_fence_info),
16247            "::",
16248            stringify!(obj_name)
16249        )
16250    );
16251    assert_eq!(
16252        unsafe { ::std::ptr::addr_of!((*ptr).driver_name) as usize - ptr as usize },
16253        32usize,
16254        concat!(
16255            "Offset of field: ",
16256            stringify!(sync_fence_info),
16257            "::",
16258            stringify!(driver_name)
16259        )
16260    );
16261    assert_eq!(
16262        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16263        64usize,
16264        concat!(
16265            "Offset of field: ",
16266            stringify!(sync_fence_info),
16267            "::",
16268            stringify!(status)
16269        )
16270    );
16271    assert_eq!(
16272        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16273        68usize,
16274        concat!(
16275            "Offset of field: ",
16276            stringify!(sync_fence_info),
16277            "::",
16278            stringify!(flags)
16279        )
16280    );
16281    assert_eq!(
16282        unsafe { ::std::ptr::addr_of!((*ptr).timestamp_ns) as usize - ptr as usize },
16283        72usize,
16284        concat!(
16285            "Offset of field: ",
16286            stringify!(sync_fence_info),
16287            "::",
16288            stringify!(timestamp_ns)
16289        )
16290    );
16291}
16292#[repr(C)]
16293#[derive(Debug, Copy, Clone)]
16294pub struct sync_file_info {
16295    pub name: [::std::os::raw::c_char; 32usize],
16296    pub status: __s32,
16297    pub flags: __u32,
16298    pub num_fences: __u32,
16299    pub pad: __u32,
16300    pub sync_fence_info: __u64,
16301}
16302#[test]
16303fn bindgen_test_layout_sync_file_info() {
16304    const UNINIT: ::std::mem::MaybeUninit<sync_file_info> = ::std::mem::MaybeUninit::uninit();
16305    let ptr = UNINIT.as_ptr();
16306    assert_eq!(
16307        ::std::mem::size_of::<sync_file_info>(),
16308        56usize,
16309        concat!("Size of: ", stringify!(sync_file_info))
16310    );
16311    assert_eq!(
16312        ::std::mem::align_of::<sync_file_info>(),
16313        8usize,
16314        concat!("Alignment of ", stringify!(sync_file_info))
16315    );
16316    assert_eq!(
16317        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
16318        0usize,
16319        concat!(
16320            "Offset of field: ",
16321            stringify!(sync_file_info),
16322            "::",
16323            stringify!(name)
16324        )
16325    );
16326    assert_eq!(
16327        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16328        32usize,
16329        concat!(
16330            "Offset of field: ",
16331            stringify!(sync_file_info),
16332            "::",
16333            stringify!(status)
16334        )
16335    );
16336    assert_eq!(
16337        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16338        36usize,
16339        concat!(
16340            "Offset of field: ",
16341            stringify!(sync_file_info),
16342            "::",
16343            stringify!(flags)
16344        )
16345    );
16346    assert_eq!(
16347        unsafe { ::std::ptr::addr_of!((*ptr).num_fences) as usize - ptr as usize },
16348        40usize,
16349        concat!(
16350            "Offset of field: ",
16351            stringify!(sync_file_info),
16352            "::",
16353            stringify!(num_fences)
16354        )
16355    );
16356    assert_eq!(
16357        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
16358        44usize,
16359        concat!(
16360            "Offset of field: ",
16361            stringify!(sync_file_info),
16362            "::",
16363            stringify!(pad)
16364        )
16365    );
16366    assert_eq!(
16367        unsafe { ::std::ptr::addr_of!((*ptr).sync_fence_info) as usize - ptr as usize },
16368        48usize,
16369        concat!(
16370            "Offset of field: ",
16371            stringify!(sync_file_info),
16372            "::",
16373            stringify!(sync_fence_info)
16374        )
16375    );
16376}
16377#[repr(C)]
16378#[derive(Debug, Copy, Clone)]
16379pub struct sync_set_deadline {
16380    pub deadline_ns: __u64,
16381    pub pad: __u64,
16382}
16383#[test]
16384fn bindgen_test_layout_sync_set_deadline() {
16385    const UNINIT: ::std::mem::MaybeUninit<sync_set_deadline> = ::std::mem::MaybeUninit::uninit();
16386    let ptr = UNINIT.as_ptr();
16387    assert_eq!(
16388        ::std::mem::size_of::<sync_set_deadline>(),
16389        16usize,
16390        concat!("Size of: ", stringify!(sync_set_deadline))
16391    );
16392    assert_eq!(
16393        ::std::mem::align_of::<sync_set_deadline>(),
16394        8usize,
16395        concat!("Alignment of ", stringify!(sync_set_deadline))
16396    );
16397    assert_eq!(
16398        unsafe { ::std::ptr::addr_of!((*ptr).deadline_ns) as usize - ptr as usize },
16399        0usize,
16400        concat!(
16401            "Offset of field: ",
16402            stringify!(sync_set_deadline),
16403            "::",
16404            stringify!(deadline_ns)
16405        )
16406    );
16407    assert_eq!(
16408        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
16409        8usize,
16410        concat!(
16411            "Offset of field: ",
16412            stringify!(sync_set_deadline),
16413            "::",
16414            stringify!(pad)
16415        )
16416    );
16417}
16418extern "C" {
16419    pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
16420}
16421extern "C" {
16422    pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
16423}
16424extern "C" {
16425    pub fn sync_file_info_free(info: *mut sync_file_info);
16426}
16427#[repr(C)]
16428#[derive(Debug, Copy, Clone)]
16429pub struct ASystemFontIterator {
16430    _unused: [u8; 0],
16431}
16432extern "C" {
16433    pub fn ASystemFontIterator_open() -> *mut ASystemFontIterator;
16434}
16435extern "C" {
16436    pub fn ASystemFontIterator_close(iterator: *mut ASystemFontIterator);
16437}
16438extern "C" {
16439    pub fn ASystemFontIterator_next(iterator: *mut ASystemFontIterator) -> *mut AFont;
16440}
16441extern "C" {
16442    pub fn ATrace_isEnabled() -> bool;
16443}
16444extern "C" {
16445    pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
16446}
16447extern "C" {
16448    pub fn ATrace_endSection();
16449}
16450extern "C" {
16451    pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
16452}
16453extern "C" {
16454    pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
16455}
16456extern "C" {
16457    pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
16458}
16459pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_47 = 1;
16460pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_47 = 2;
16461pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_47 = 4;
16462pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_47 = 8;
16463pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_47 = 16;
16464pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_47 = 32;
16465pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_47 = 64;
16466pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_47 = 128;
16467pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_47 = 256;
16468pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_47 = 512;
16469pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_47 = 1024;
16470pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_47 = 2048;
16471pub const AWINDOW_FLAG_DITHER: _bindgen_ty_47 = 4096;
16472pub const AWINDOW_FLAG_SECURE: _bindgen_ty_47 = 8192;
16473pub const AWINDOW_FLAG_SCALED: _bindgen_ty_47 = 16384;
16474pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_47 = 32768;
16475pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_47 = 65536;
16476pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_47 = 131072;
16477pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_47 = 262144;
16478pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_47 = 524288;
16479pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_47 = 1048576;
16480pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_47 = 2097152;
16481pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_47 = 4194304;
16482pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
16483extern "C" {
16484    pub fn gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::std::os::raw::c_int;
16485}
16486extern "C" {
16487    pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
16488}
16489extern "C" {
16490    pub fn getitimer(
16491        __which: ::std::os::raw::c_int,
16492        __current_value: *mut itimerval,
16493    ) -> ::std::os::raw::c_int;
16494}
16495extern "C" {
16496    pub fn setitimer(
16497        __which: ::std::os::raw::c_int,
16498        __new_value: *const itimerval,
16499        __old_value: *mut itimerval,
16500    ) -> ::std::os::raw::c_int;
16501}
16502extern "C" {
16503    pub fn utimes(
16504        __path: *const ::std::os::raw::c_char,
16505        __times: *const timeval,
16506    ) -> ::std::os::raw::c_int;
16507}
16508#[repr(C)]
16509#[derive(Debug, Copy, Clone)]
16510pub struct __timezone_t {
16511    _unused: [u8; 0],
16512}
16513pub type timezone_t = *mut __timezone_t;
16514extern "C" {
16515    pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
16516}
16517extern "C" {
16518    pub static mut daylight: ::std::os::raw::c_int;
16519}
16520extern "C" {
16521    pub static mut timezone: ::std::os::raw::c_long;
16522}
16523#[repr(C)]
16524#[derive(Debug, Copy, Clone)]
16525pub struct tm {
16526    pub tm_sec: ::std::os::raw::c_int,
16527    pub tm_min: ::std::os::raw::c_int,
16528    pub tm_hour: ::std::os::raw::c_int,
16529    pub tm_mday: ::std::os::raw::c_int,
16530    pub tm_mon: ::std::os::raw::c_int,
16531    pub tm_year: ::std::os::raw::c_int,
16532    pub tm_wday: ::std::os::raw::c_int,
16533    pub tm_yday: ::std::os::raw::c_int,
16534    pub tm_isdst: ::std::os::raw::c_int,
16535    pub tm_gmtoff: ::std::os::raw::c_long,
16536    pub tm_zone: *const ::std::os::raw::c_char,
16537}
16538#[test]
16539fn bindgen_test_layout_tm() {
16540    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
16541    let ptr = UNINIT.as_ptr();
16542    assert_eq!(
16543        ::std::mem::size_of::<tm>(),
16544        56usize,
16545        concat!("Size of: ", stringify!(tm))
16546    );
16547    assert_eq!(
16548        ::std::mem::align_of::<tm>(),
16549        8usize,
16550        concat!("Alignment of ", stringify!(tm))
16551    );
16552    assert_eq!(
16553        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
16554        0usize,
16555        concat!(
16556            "Offset of field: ",
16557            stringify!(tm),
16558            "::",
16559            stringify!(tm_sec)
16560        )
16561    );
16562    assert_eq!(
16563        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
16564        4usize,
16565        concat!(
16566            "Offset of field: ",
16567            stringify!(tm),
16568            "::",
16569            stringify!(tm_min)
16570        )
16571    );
16572    assert_eq!(
16573        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
16574        8usize,
16575        concat!(
16576            "Offset of field: ",
16577            stringify!(tm),
16578            "::",
16579            stringify!(tm_hour)
16580        )
16581    );
16582    assert_eq!(
16583        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
16584        12usize,
16585        concat!(
16586            "Offset of field: ",
16587            stringify!(tm),
16588            "::",
16589            stringify!(tm_mday)
16590        )
16591    );
16592    assert_eq!(
16593        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
16594        16usize,
16595        concat!(
16596            "Offset of field: ",
16597            stringify!(tm),
16598            "::",
16599            stringify!(tm_mon)
16600        )
16601    );
16602    assert_eq!(
16603        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
16604        20usize,
16605        concat!(
16606            "Offset of field: ",
16607            stringify!(tm),
16608            "::",
16609            stringify!(tm_year)
16610        )
16611    );
16612    assert_eq!(
16613        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
16614        24usize,
16615        concat!(
16616            "Offset of field: ",
16617            stringify!(tm),
16618            "::",
16619            stringify!(tm_wday)
16620        )
16621    );
16622    assert_eq!(
16623        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
16624        28usize,
16625        concat!(
16626            "Offset of field: ",
16627            stringify!(tm),
16628            "::",
16629            stringify!(tm_yday)
16630        )
16631    );
16632    assert_eq!(
16633        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
16634        32usize,
16635        concat!(
16636            "Offset of field: ",
16637            stringify!(tm),
16638            "::",
16639            stringify!(tm_isdst)
16640        )
16641    );
16642    assert_eq!(
16643        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
16644        40usize,
16645        concat!(
16646            "Offset of field: ",
16647            stringify!(tm),
16648            "::",
16649            stringify!(tm_gmtoff)
16650        )
16651    );
16652    assert_eq!(
16653        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
16654        48usize,
16655        concat!(
16656            "Offset of field: ",
16657            stringify!(tm),
16658            "::",
16659            stringify!(tm_zone)
16660        )
16661    );
16662}
16663extern "C" {
16664    pub fn time(__t: *mut time_t) -> time_t;
16665}
16666extern "C" {
16667    pub fn nanosleep(
16668        __duration: *const timespec,
16669        __remainder: *mut timespec,
16670    ) -> ::std::os::raw::c_int;
16671}
16672extern "C" {
16673    pub fn asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char;
16674}
16675extern "C" {
16676    pub fn asctime_r(
16677        __tm: *const tm,
16678        __buf: *mut ::std::os::raw::c_char,
16679    ) -> *mut ::std::os::raw::c_char;
16680}
16681extern "C" {
16682    pub fn difftime(__lhs: time_t, __rhs: time_t) -> f64;
16683}
16684extern "C" {
16685    pub fn mktime(__tm: *mut tm) -> time_t;
16686}
16687extern "C" {
16688    pub fn mktime_z(__tz: timezone_t, __tm: *mut tm) -> time_t;
16689}
16690extern "C" {
16691    pub fn localtime(__t: *const time_t) -> *mut tm;
16692}
16693extern "C" {
16694    pub fn localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
16695}
16696extern "C" {
16697    pub fn localtime_rz(__tz: timezone_t, __t: *const time_t, __tm: *mut tm) -> *mut tm;
16698}
16699extern "C" {
16700    pub fn timelocal(__tm: *mut tm) -> time_t;
16701}
16702extern "C" {
16703    pub fn gmtime(__t: *const time_t) -> *mut tm;
16704}
16705extern "C" {
16706    pub fn gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
16707}
16708extern "C" {
16709    pub fn timegm(__tm: *mut tm) -> time_t;
16710}
16711extern "C" {
16712    pub fn strptime(
16713        __s: *const ::std::os::raw::c_char,
16714        __fmt: *const ::std::os::raw::c_char,
16715        __tm: *mut tm,
16716    ) -> *mut ::std::os::raw::c_char;
16717}
16718extern "C" {
16719    pub fn strptime_l(
16720        __s: *const ::std::os::raw::c_char,
16721        __fmt: *const ::std::os::raw::c_char,
16722        __tm: *mut tm,
16723        __l: locale_t,
16724    ) -> *mut ::std::os::raw::c_char;
16725}
16726extern "C" {
16727    pub fn strftime(
16728        __buf: *mut ::std::os::raw::c_char,
16729        __n: usize,
16730        __fmt: *const ::std::os::raw::c_char,
16731        __tm: *const tm,
16732    ) -> usize;
16733}
16734extern "C" {
16735    pub fn strftime_l(
16736        __buf: *mut ::std::os::raw::c_char,
16737        __n: usize,
16738        __fmt: *const ::std::os::raw::c_char,
16739        __tm: *const tm,
16740        __l: locale_t,
16741    ) -> usize;
16742}
16743extern "C" {
16744    pub fn ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char;
16745}
16746extern "C" {
16747    pub fn ctime_r(
16748        __t: *const time_t,
16749        __buf: *mut ::std::os::raw::c_char,
16750    ) -> *mut ::std::os::raw::c_char;
16751}
16752extern "C" {
16753    pub fn tzset();
16754}
16755extern "C" {
16756    pub fn tzalloc(__id: *const ::std::os::raw::c_char) -> timezone_t;
16757}
16758extern "C" {
16759    pub fn tzfree(__tz: timezone_t);
16760}
16761extern "C" {
16762    pub fn clock() -> clock_t;
16763}
16764extern "C" {
16765    pub fn clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int;
16766}
16767extern "C" {
16768    pub fn clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int;
16769}
16770extern "C" {
16771    pub fn clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int;
16772}
16773extern "C" {
16774    pub fn clock_nanosleep(
16775        __clock: clockid_t,
16776        __flags: ::std::os::raw::c_int,
16777        __time: *const timespec,
16778        __remainder: *mut timespec,
16779    ) -> ::std::os::raw::c_int;
16780}
16781extern "C" {
16782    pub fn clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int;
16783}
16784extern "C" {
16785    pub fn timer_create(
16786        __clock: clockid_t,
16787        __event: *mut sigevent,
16788        __timer_ptr: *mut timer_t,
16789    ) -> ::std::os::raw::c_int;
16790}
16791extern "C" {
16792    pub fn timer_delete(__timer: timer_t) -> ::std::os::raw::c_int;
16793}
16794extern "C" {
16795    pub fn timer_settime(
16796        __timer: timer_t,
16797        __flags: ::std::os::raw::c_int,
16798        __new_value: *const itimerspec,
16799        __old_value: *mut itimerspec,
16800    ) -> ::std::os::raw::c_int;
16801}
16802extern "C" {
16803    pub fn timer_gettime(_timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int;
16804}
16805extern "C" {
16806    pub fn timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int;
16807}
16808extern "C" {
16809    pub fn timespec_get(
16810        __ts: *mut timespec,
16811        __base: ::std::os::raw::c_int,
16812    ) -> ::std::os::raw::c_int;
16813}
16814extern "C" {
16815    pub fn timespec_getres(
16816        __ts: *mut timespec,
16817        __base: ::std::os::raw::c_int,
16818    ) -> ::std::os::raw::c_int;
16819}
16820pub const AAUDIO_DIRECTION_OUTPUT: _bindgen_ty_48 = 0;
16821pub const AAUDIO_DIRECTION_INPUT: _bindgen_ty_48 = 1;
16822pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
16823pub type aaudio_direction_t = i32;
16824pub const AAUDIO_FORMAT_INVALID: _bindgen_ty_49 = -1;
16825pub const AAUDIO_FORMAT_UNSPECIFIED: _bindgen_ty_49 = 0;
16826pub const AAUDIO_FORMAT_PCM_I16: _bindgen_ty_49 = 1;
16827pub const AAUDIO_FORMAT_PCM_FLOAT: _bindgen_ty_49 = 2;
16828pub const AAUDIO_FORMAT_PCM_I24_PACKED: _bindgen_ty_49 = 3;
16829pub const AAUDIO_FORMAT_PCM_I32: _bindgen_ty_49 = 4;
16830pub const AAUDIO_FORMAT_IEC61937: _bindgen_ty_49 = 5;
16831pub type _bindgen_ty_49 = ::std::os::raw::c_int;
16832pub type aaudio_format_t = i32;
16833pub const AAUDIO_OK: _bindgen_ty_50 = 0;
16834pub const AAUDIO_ERROR_BASE: _bindgen_ty_50 = -900;
16835pub const AAUDIO_ERROR_DISCONNECTED: _bindgen_ty_50 = -899;
16836pub const AAUDIO_ERROR_ILLEGAL_ARGUMENT: _bindgen_ty_50 = -898;
16837pub const AAUDIO_ERROR_INTERNAL: _bindgen_ty_50 = -896;
16838pub const AAUDIO_ERROR_INVALID_STATE: _bindgen_ty_50 = -895;
16839pub const AAUDIO_ERROR_INVALID_HANDLE: _bindgen_ty_50 = -892;
16840pub const AAUDIO_ERROR_UNIMPLEMENTED: _bindgen_ty_50 = -890;
16841pub const AAUDIO_ERROR_UNAVAILABLE: _bindgen_ty_50 = -889;
16842pub const AAUDIO_ERROR_NO_FREE_HANDLES: _bindgen_ty_50 = -888;
16843pub const AAUDIO_ERROR_NO_MEMORY: _bindgen_ty_50 = -887;
16844pub const AAUDIO_ERROR_NULL: _bindgen_ty_50 = -886;
16845pub const AAUDIO_ERROR_TIMEOUT: _bindgen_ty_50 = -885;
16846pub const AAUDIO_ERROR_WOULD_BLOCK: _bindgen_ty_50 = -884;
16847pub const AAUDIO_ERROR_INVALID_FORMAT: _bindgen_ty_50 = -883;
16848pub const AAUDIO_ERROR_OUT_OF_RANGE: _bindgen_ty_50 = -882;
16849pub const AAUDIO_ERROR_NO_SERVICE: _bindgen_ty_50 = -881;
16850pub const AAUDIO_ERROR_INVALID_RATE: _bindgen_ty_50 = -880;
16851pub type _bindgen_ty_50 = ::std::os::raw::c_int;
16852pub type aaudio_result_t = i32;
16853pub const AAUDIO_STREAM_STATE_UNINITIALIZED: _bindgen_ty_51 = 0;
16854pub const AAUDIO_STREAM_STATE_UNKNOWN: _bindgen_ty_51 = 1;
16855pub const AAUDIO_STREAM_STATE_OPEN: _bindgen_ty_51 = 2;
16856pub const AAUDIO_STREAM_STATE_STARTING: _bindgen_ty_51 = 3;
16857pub const AAUDIO_STREAM_STATE_STARTED: _bindgen_ty_51 = 4;
16858pub const AAUDIO_STREAM_STATE_PAUSING: _bindgen_ty_51 = 5;
16859pub const AAUDIO_STREAM_STATE_PAUSED: _bindgen_ty_51 = 6;
16860pub const AAUDIO_STREAM_STATE_FLUSHING: _bindgen_ty_51 = 7;
16861pub const AAUDIO_STREAM_STATE_FLUSHED: _bindgen_ty_51 = 8;
16862pub const AAUDIO_STREAM_STATE_STOPPING: _bindgen_ty_51 = 9;
16863pub const AAUDIO_STREAM_STATE_STOPPED: _bindgen_ty_51 = 10;
16864pub const AAUDIO_STREAM_STATE_CLOSING: _bindgen_ty_51 = 11;
16865pub const AAUDIO_STREAM_STATE_CLOSED: _bindgen_ty_51 = 12;
16866pub const AAUDIO_STREAM_STATE_DISCONNECTED: _bindgen_ty_51 = 13;
16867pub type _bindgen_ty_51 = ::std::os::raw::c_uint;
16868pub type aaudio_stream_state_t = i32;
16869pub const AAUDIO_SHARING_MODE_EXCLUSIVE: _bindgen_ty_52 = 0;
16870pub const AAUDIO_SHARING_MODE_SHARED: _bindgen_ty_52 = 1;
16871pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
16872pub type aaudio_sharing_mode_t = i32;
16873pub const AAUDIO_PERFORMANCE_MODE_NONE: _bindgen_ty_53 = 10;
16874pub const AAUDIO_PERFORMANCE_MODE_POWER_SAVING: _bindgen_ty_53 = 11;
16875pub const AAUDIO_PERFORMANCE_MODE_LOW_LATENCY: _bindgen_ty_53 = 12;
16876pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
16877pub type aaudio_performance_mode_t = i32;
16878pub const AAUDIO_USAGE_MEDIA: _bindgen_ty_54 = 1;
16879pub const AAUDIO_USAGE_VOICE_COMMUNICATION: _bindgen_ty_54 = 2;
16880pub const AAUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: _bindgen_ty_54 = 3;
16881pub const AAUDIO_USAGE_ALARM: _bindgen_ty_54 = 4;
16882pub const AAUDIO_USAGE_NOTIFICATION: _bindgen_ty_54 = 5;
16883pub const AAUDIO_USAGE_NOTIFICATION_RINGTONE: _bindgen_ty_54 = 6;
16884pub const AAUDIO_USAGE_NOTIFICATION_EVENT: _bindgen_ty_54 = 10;
16885pub const AAUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: _bindgen_ty_54 = 11;
16886pub const AAUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: _bindgen_ty_54 = 12;
16887pub const AAUDIO_USAGE_ASSISTANCE_SONIFICATION: _bindgen_ty_54 = 13;
16888pub const AAUDIO_USAGE_GAME: _bindgen_ty_54 = 14;
16889pub const AAUDIO_USAGE_ASSISTANT: _bindgen_ty_54 = 16;
16890pub const AAUDIO_SYSTEM_USAGE_EMERGENCY: _bindgen_ty_54 = 1000;
16891pub const AAUDIO_SYSTEM_USAGE_SAFETY: _bindgen_ty_54 = 1001;
16892pub const AAUDIO_SYSTEM_USAGE_VEHICLE_STATUS: _bindgen_ty_54 = 1002;
16893pub const AAUDIO_SYSTEM_USAGE_ANNOUNCEMENT: _bindgen_ty_54 = 1003;
16894pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
16895pub type aaudio_usage_t = i32;
16896pub const AAUDIO_CONTENT_TYPE_SPEECH: _bindgen_ty_55 = 1;
16897pub const AAUDIO_CONTENT_TYPE_MUSIC: _bindgen_ty_55 = 2;
16898pub const AAUDIO_CONTENT_TYPE_MOVIE: _bindgen_ty_55 = 3;
16899pub const AAUDIO_CONTENT_TYPE_SONIFICATION: _bindgen_ty_55 = 4;
16900pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
16901pub type aaudio_content_type_t = i32;
16902pub const AAUDIO_SPATIALIZATION_BEHAVIOR_AUTO: _bindgen_ty_56 = 1;
16903pub const AAUDIO_SPATIALIZATION_BEHAVIOR_NEVER: _bindgen_ty_56 = 2;
16904pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
16905pub type aaudio_spatialization_behavior_t = i32;
16906pub const AAUDIO_INPUT_PRESET_GENERIC: _bindgen_ty_57 = 1;
16907pub const AAUDIO_INPUT_PRESET_CAMCORDER: _bindgen_ty_57 = 5;
16908pub const AAUDIO_INPUT_PRESET_VOICE_RECOGNITION: _bindgen_ty_57 = 6;
16909pub const AAUDIO_INPUT_PRESET_VOICE_COMMUNICATION: _bindgen_ty_57 = 7;
16910pub const AAUDIO_INPUT_PRESET_UNPROCESSED: _bindgen_ty_57 = 9;
16911pub const AAUDIO_INPUT_PRESET_VOICE_PERFORMANCE: _bindgen_ty_57 = 10;
16912pub const AAUDIO_INPUT_PRESET_SYSTEM_ECHO_REFERENCE: _bindgen_ty_57 = 1997;
16913pub const AAUDIO_INPUT_PRESET_SYSTEM_HOTWORD: _bindgen_ty_57 = 1999;
16914pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
16915pub type aaudio_input_preset_t = i32;
16916pub const AAUDIO_ALLOW_CAPTURE_BY_ALL: _bindgen_ty_58 = 1;
16917pub const AAUDIO_ALLOW_CAPTURE_BY_SYSTEM: _bindgen_ty_58 = 2;
16918pub const AAUDIO_ALLOW_CAPTURE_BY_NONE: _bindgen_ty_58 = 3;
16919pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
16920pub type aaudio_allowed_capture_policy_t = i32;
16921pub const AAUDIO_SESSION_ID_NONE: _bindgen_ty_59 = -1;
16922pub const AAUDIO_SESSION_ID_ALLOCATE: _bindgen_ty_59 = 0;
16923pub type _bindgen_ty_59 = ::std::os::raw::c_int;
16924pub type aaudio_session_id_t = i32;
16925pub const AAUDIO_CHANNEL_INVALID: _bindgen_ty_60 = -1;
16926pub const AAUDIO_CHANNEL_FRONT_LEFT: _bindgen_ty_60 = 1;
16927pub const AAUDIO_CHANNEL_FRONT_RIGHT: _bindgen_ty_60 = 2;
16928pub const AAUDIO_CHANNEL_FRONT_CENTER: _bindgen_ty_60 = 4;
16929pub const AAUDIO_CHANNEL_LOW_FREQUENCY: _bindgen_ty_60 = 8;
16930pub const AAUDIO_CHANNEL_BACK_LEFT: _bindgen_ty_60 = 16;
16931pub const AAUDIO_CHANNEL_BACK_RIGHT: _bindgen_ty_60 = 32;
16932pub const AAUDIO_CHANNEL_FRONT_LEFT_OF_CENTER: _bindgen_ty_60 = 64;
16933pub const AAUDIO_CHANNEL_FRONT_RIGHT_OF_CENTER: _bindgen_ty_60 = 128;
16934pub const AAUDIO_CHANNEL_BACK_CENTER: _bindgen_ty_60 = 256;
16935pub const AAUDIO_CHANNEL_SIDE_LEFT: _bindgen_ty_60 = 512;
16936pub const AAUDIO_CHANNEL_SIDE_RIGHT: _bindgen_ty_60 = 1024;
16937pub const AAUDIO_CHANNEL_TOP_CENTER: _bindgen_ty_60 = 2048;
16938pub const AAUDIO_CHANNEL_TOP_FRONT_LEFT: _bindgen_ty_60 = 4096;
16939pub const AAUDIO_CHANNEL_TOP_FRONT_CENTER: _bindgen_ty_60 = 8192;
16940pub const AAUDIO_CHANNEL_TOP_FRONT_RIGHT: _bindgen_ty_60 = 16384;
16941pub const AAUDIO_CHANNEL_TOP_BACK_LEFT: _bindgen_ty_60 = 32768;
16942pub const AAUDIO_CHANNEL_TOP_BACK_CENTER: _bindgen_ty_60 = 65536;
16943pub const AAUDIO_CHANNEL_TOP_BACK_RIGHT: _bindgen_ty_60 = 131072;
16944pub const AAUDIO_CHANNEL_TOP_SIDE_LEFT: _bindgen_ty_60 = 262144;
16945pub const AAUDIO_CHANNEL_TOP_SIDE_RIGHT: _bindgen_ty_60 = 524288;
16946pub const AAUDIO_CHANNEL_BOTTOM_FRONT_LEFT: _bindgen_ty_60 = 1048576;
16947pub const AAUDIO_CHANNEL_BOTTOM_FRONT_CENTER: _bindgen_ty_60 = 2097152;
16948pub const AAUDIO_CHANNEL_BOTTOM_FRONT_RIGHT: _bindgen_ty_60 = 4194304;
16949pub const AAUDIO_CHANNEL_LOW_FREQUENCY_2: _bindgen_ty_60 = 8388608;
16950pub const AAUDIO_CHANNEL_FRONT_WIDE_LEFT: _bindgen_ty_60 = 16777216;
16951pub const AAUDIO_CHANNEL_FRONT_WIDE_RIGHT: _bindgen_ty_60 = 33554432;
16952pub const AAUDIO_CHANNEL_MONO: _bindgen_ty_60 = 1;
16953pub const AAUDIO_CHANNEL_STEREO: _bindgen_ty_60 = 3;
16954pub const AAUDIO_CHANNEL_2POINT1: _bindgen_ty_60 = 11;
16955pub const AAUDIO_CHANNEL_TRI: _bindgen_ty_60 = 7;
16956pub const AAUDIO_CHANNEL_TRI_BACK: _bindgen_ty_60 = 259;
16957pub const AAUDIO_CHANNEL_3POINT1: _bindgen_ty_60 = 15;
16958pub const AAUDIO_CHANNEL_2POINT0POINT2: _bindgen_ty_60 = 786435;
16959pub const AAUDIO_CHANNEL_2POINT1POINT2: _bindgen_ty_60 = 786443;
16960pub const AAUDIO_CHANNEL_3POINT0POINT2: _bindgen_ty_60 = 786439;
16961pub const AAUDIO_CHANNEL_3POINT1POINT2: _bindgen_ty_60 = 786447;
16962pub const AAUDIO_CHANNEL_QUAD: _bindgen_ty_60 = 51;
16963pub const AAUDIO_CHANNEL_QUAD_SIDE: _bindgen_ty_60 = 1539;
16964pub const AAUDIO_CHANNEL_SURROUND: _bindgen_ty_60 = 263;
16965pub const AAUDIO_CHANNEL_PENTA: _bindgen_ty_60 = 55;
16966pub const AAUDIO_CHANNEL_5POINT1: _bindgen_ty_60 = 63;
16967pub const AAUDIO_CHANNEL_5POINT1_SIDE: _bindgen_ty_60 = 1551;
16968pub const AAUDIO_CHANNEL_6POINT1: _bindgen_ty_60 = 319;
16969pub const AAUDIO_CHANNEL_7POINT1: _bindgen_ty_60 = 1599;
16970pub const AAUDIO_CHANNEL_5POINT1POINT2: _bindgen_ty_60 = 786495;
16971pub const AAUDIO_CHANNEL_5POINT1POINT4: _bindgen_ty_60 = 184383;
16972pub const AAUDIO_CHANNEL_7POINT1POINT2: _bindgen_ty_60 = 788031;
16973pub const AAUDIO_CHANNEL_7POINT1POINT4: _bindgen_ty_60 = 185919;
16974pub const AAUDIO_CHANNEL_9POINT1POINT4: _bindgen_ty_60 = 50517567;
16975pub const AAUDIO_CHANNEL_9POINT1POINT6: _bindgen_ty_60 = 51303999;
16976pub const AAUDIO_CHANNEL_FRONT_BACK: _bindgen_ty_60 = 260;
16977pub type _bindgen_ty_60 = ::std::os::raw::c_int;
16978pub type aaudio_channel_mask_t = u32;
16979#[repr(C)]
16980#[derive(Debug, Copy, Clone)]
16981pub struct AAudioStreamStruct {
16982    _unused: [u8; 0],
16983}
16984pub type AAudioStream = AAudioStreamStruct;
16985#[repr(C)]
16986#[derive(Debug, Copy, Clone)]
16987pub struct AAudioStreamBuilderStruct {
16988    _unused: [u8; 0],
16989}
16990pub type AAudioStreamBuilder = AAudioStreamBuilderStruct;
16991extern "C" {
16992    pub fn AAudio_convertResultToText(returnCode: aaudio_result_t)
16993        -> *const ::std::os::raw::c_char;
16994}
16995extern "C" {
16996    pub fn AAudio_convertStreamStateToText(
16997        state: aaudio_stream_state_t,
16998    ) -> *const ::std::os::raw::c_char;
16999}
17000extern "C" {
17001    pub fn AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t;
17002}
17003extern "C" {
17004    pub fn AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32);
17005}
17006extern "C" {
17007    pub fn AAudioStreamBuilder_setPackageName(
17008        builder: *mut AAudioStreamBuilder,
17009        packageName: *const ::std::os::raw::c_char,
17010    );
17011}
17012extern "C" {
17013    pub fn AAudioStreamBuilder_setAttributionTag(
17014        builder: *mut AAudioStreamBuilder,
17015        attributionTag: *const ::std::os::raw::c_char,
17016    );
17017}
17018extern "C" {
17019    pub fn AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32);
17020}
17021extern "C" {
17022    pub fn AAudioStreamBuilder_setChannelCount(
17023        builder: *mut AAudioStreamBuilder,
17024        channelCount: i32,
17025    );
17026}
17027extern "C" {
17028    pub fn AAudioStreamBuilder_setSamplesPerFrame(
17029        builder: *mut AAudioStreamBuilder,
17030        samplesPerFrame: i32,
17031    );
17032}
17033extern "C" {
17034    pub fn AAudioStreamBuilder_setFormat(
17035        builder: *mut AAudioStreamBuilder,
17036        format: aaudio_format_t,
17037    );
17038}
17039extern "C" {
17040    pub fn AAudioStreamBuilder_setSharingMode(
17041        builder: *mut AAudioStreamBuilder,
17042        sharingMode: aaudio_sharing_mode_t,
17043    );
17044}
17045extern "C" {
17046    pub fn AAudioStreamBuilder_setDirection(
17047        builder: *mut AAudioStreamBuilder,
17048        direction: aaudio_direction_t,
17049    );
17050}
17051extern "C" {
17052    pub fn AAudioStreamBuilder_setBufferCapacityInFrames(
17053        builder: *mut AAudioStreamBuilder,
17054        numFrames: i32,
17055    );
17056}
17057extern "C" {
17058    pub fn AAudioStreamBuilder_setPerformanceMode(
17059        builder: *mut AAudioStreamBuilder,
17060        mode: aaudio_performance_mode_t,
17061    );
17062}
17063extern "C" {
17064    pub fn AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t);
17065}
17066extern "C" {
17067    pub fn AAudioStreamBuilder_setContentType(
17068        builder: *mut AAudioStreamBuilder,
17069        contentType: aaudio_content_type_t,
17070    );
17071}
17072extern "C" {
17073    pub fn AAudioStreamBuilder_setSpatializationBehavior(
17074        builder: *mut AAudioStreamBuilder,
17075        spatializationBehavior: aaudio_spatialization_behavior_t,
17076    );
17077}
17078extern "C" {
17079    pub fn AAudioStreamBuilder_setIsContentSpatialized(
17080        builder: *mut AAudioStreamBuilder,
17081        isSpatialized: bool,
17082    );
17083}
17084extern "C" {
17085    pub fn AAudioStreamBuilder_setInputPreset(
17086        builder: *mut AAudioStreamBuilder,
17087        inputPreset: aaudio_input_preset_t,
17088    );
17089}
17090extern "C" {
17091    pub fn AAudioStreamBuilder_setAllowedCapturePolicy(
17092        builder: *mut AAudioStreamBuilder,
17093        capturePolicy: aaudio_allowed_capture_policy_t,
17094    );
17095}
17096extern "C" {
17097    pub fn AAudioStreamBuilder_setSessionId(
17098        builder: *mut AAudioStreamBuilder,
17099        sessionId: aaudio_session_id_t,
17100    );
17101}
17102extern "C" {
17103    pub fn AAudioStreamBuilder_setPrivacySensitive(
17104        builder: *mut AAudioStreamBuilder,
17105        privacySensitive: bool,
17106    );
17107}
17108pub const AAUDIO_CALLBACK_RESULT_CONTINUE: _bindgen_ty_61 = 0;
17109pub const AAUDIO_CALLBACK_RESULT_STOP: _bindgen_ty_61 = 1;
17110pub type _bindgen_ty_61 = ::std::os::raw::c_uint;
17111pub type aaudio_data_callback_result_t = i32;
17112pub type AAudioStream_dataCallback = ::std::option::Option<
17113    unsafe extern "C" fn(
17114        stream: *mut AAudioStream,
17115        userData: *mut ::std::os::raw::c_void,
17116        audioData: *mut ::std::os::raw::c_void,
17117        numFrames: i32,
17118    ) -> aaudio_data_callback_result_t,
17119>;
17120extern "C" {
17121    pub fn AAudioStreamBuilder_setDataCallback(
17122        builder: *mut AAudioStreamBuilder,
17123        callback: AAudioStream_dataCallback,
17124        userData: *mut ::std::os::raw::c_void,
17125    );
17126}
17127extern "C" {
17128    pub fn AAudioStreamBuilder_setFramesPerDataCallback(
17129        builder: *mut AAudioStreamBuilder,
17130        numFrames: i32,
17131    );
17132}
17133pub type AAudioStream_errorCallback = ::std::option::Option<
17134    unsafe extern "C" fn(
17135        stream: *mut AAudioStream,
17136        userData: *mut ::std::os::raw::c_void,
17137        error: aaudio_result_t,
17138    ),
17139>;
17140extern "C" {
17141    pub fn AAudioStreamBuilder_setErrorCallback(
17142        builder: *mut AAudioStreamBuilder,
17143        callback: AAudioStream_errorCallback,
17144        userData: *mut ::std::os::raw::c_void,
17145    );
17146}
17147extern "C" {
17148    pub fn AAudioStreamBuilder_openStream(
17149        builder: *mut AAudioStreamBuilder,
17150        stream: *mut *mut AAudioStream,
17151    ) -> aaudio_result_t;
17152}
17153extern "C" {
17154    pub fn AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t;
17155}
17156extern "C" {
17157    pub fn AAudioStreamBuilder_setChannelMask(
17158        builder: *mut AAudioStreamBuilder,
17159        channelMask: aaudio_channel_mask_t,
17160    );
17161}
17162extern "C" {
17163    pub fn AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t;
17164}
17165extern "C" {
17166    pub fn AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t;
17167}
17168extern "C" {
17169    pub fn AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t;
17170}
17171extern "C" {
17172    pub fn AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t;
17173}
17174extern "C" {
17175    pub fn AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t;
17176}
17177extern "C" {
17178    pub fn AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t;
17179}
17180extern "C" {
17181    pub fn AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t;
17182}
17183extern "C" {
17184    pub fn AAudioStream_waitForStateChange(
17185        stream: *mut AAudioStream,
17186        inputState: aaudio_stream_state_t,
17187        nextState: *mut aaudio_stream_state_t,
17188        timeoutNanoseconds: i64,
17189    ) -> aaudio_result_t;
17190}
17191extern "C" {
17192    pub fn AAudioStream_read(
17193        stream: *mut AAudioStream,
17194        buffer: *mut ::std::os::raw::c_void,
17195        numFrames: i32,
17196        timeoutNanoseconds: i64,
17197    ) -> aaudio_result_t;
17198}
17199extern "C" {
17200    pub fn AAudioStream_write(
17201        stream: *mut AAudioStream,
17202        buffer: *const ::std::os::raw::c_void,
17203        numFrames: i32,
17204        timeoutNanoseconds: i64,
17205    ) -> aaudio_result_t;
17206}
17207extern "C" {
17208    pub fn AAudioStream_setBufferSizeInFrames(
17209        stream: *mut AAudioStream,
17210        numFrames: i32,
17211    ) -> aaudio_result_t;
17212}
17213extern "C" {
17214    pub fn AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i32;
17215}
17216extern "C" {
17217    pub fn AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i32;
17218}
17219extern "C" {
17220    pub fn AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i32;
17221}
17222extern "C" {
17223    pub fn AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i32;
17224}
17225extern "C" {
17226    pub fn AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i32;
17227}
17228extern "C" {
17229    pub fn AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i32;
17230}
17231extern "C" {
17232    pub fn AAudioStream_getHardwareSampleRate(stream: *mut AAudioStream) -> i32;
17233}
17234extern "C" {
17235    pub fn AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i32;
17236}
17237extern "C" {
17238    pub fn AAudioStream_getHardwareChannelCount(stream: *mut AAudioStream) -> i32;
17239}
17240extern "C" {
17241    pub fn AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i32;
17242}
17243extern "C" {
17244    pub fn AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i32;
17245}
17246extern "C" {
17247    pub fn AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t;
17248}
17249extern "C" {
17250    pub fn AAudioStream_getHardwareFormat(stream: *mut AAudioStream) -> aaudio_format_t;
17251}
17252extern "C" {
17253    pub fn AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t;
17254}
17255extern "C" {
17256    pub fn AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t;
17257}
17258extern "C" {
17259    pub fn AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t;
17260}
17261extern "C" {
17262    pub fn AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i64;
17263}
17264extern "C" {
17265    pub fn AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i64;
17266}
17267extern "C" {
17268    pub fn AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t;
17269}
17270extern "C" {
17271    pub fn AAudioStream_getTimestamp(
17272        stream: *mut AAudioStream,
17273        clockid: clockid_t,
17274        framePosition: *mut i64,
17275        timeNanoseconds: *mut i64,
17276    ) -> aaudio_result_t;
17277}
17278extern "C" {
17279    pub fn AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t;
17280}
17281extern "C" {
17282    pub fn AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t;
17283}
17284extern "C" {
17285    pub fn AAudioStream_getSpatializationBehavior(
17286        stream: *mut AAudioStream,
17287    ) -> aaudio_spatialization_behavior_t;
17288}
17289extern "C" {
17290    pub fn AAudioStream_isContentSpatialized(stream: *mut AAudioStream) -> bool;
17291}
17292extern "C" {
17293    pub fn AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t;
17294}
17295extern "C" {
17296    pub fn AAudioStream_getAllowedCapturePolicy(
17297        stream: *mut AAudioStream,
17298    ) -> aaudio_allowed_capture_policy_t;
17299}
17300extern "C" {
17301    pub fn AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool;
17302}
17303extern "C" {
17304    pub fn AAudioStream_getChannelMask(stream: *mut AAudioStream) -> aaudio_channel_mask_t;
17305}
17306impl media_status_t {
17307    pub const AMEDIA_OK: media_status_t = media_status_t(0);
17308}
17309impl media_status_t {
17310    pub const AMEDIACODEC_ERROR_INSUFFICIENT_RESOURCE: media_status_t = media_status_t(1100);
17311}
17312impl media_status_t {
17313    pub const AMEDIACODEC_ERROR_RECLAIMED: media_status_t = media_status_t(1101);
17314}
17315impl media_status_t {
17316    pub const AMEDIA_ERROR_BASE: media_status_t = media_status_t(-10000);
17317}
17318impl media_status_t {
17319    pub const AMEDIA_ERROR_UNKNOWN: media_status_t = media_status_t(-10000);
17320}
17321impl media_status_t {
17322    pub const AMEDIA_ERROR_MALFORMED: media_status_t = media_status_t(-10001);
17323}
17324impl media_status_t {
17325    pub const AMEDIA_ERROR_UNSUPPORTED: media_status_t = media_status_t(-10002);
17326}
17327impl media_status_t {
17328    pub const AMEDIA_ERROR_INVALID_OBJECT: media_status_t = media_status_t(-10003);
17329}
17330impl media_status_t {
17331    pub const AMEDIA_ERROR_INVALID_PARAMETER: media_status_t = media_status_t(-10004);
17332}
17333impl media_status_t {
17334    pub const AMEDIA_ERROR_INVALID_OPERATION: media_status_t = media_status_t(-10005);
17335}
17336impl media_status_t {
17337    pub const AMEDIA_ERROR_END_OF_STREAM: media_status_t = media_status_t(-10006);
17338}
17339impl media_status_t {
17340    pub const AMEDIA_ERROR_IO: media_status_t = media_status_t(-10007);
17341}
17342impl media_status_t {
17343    pub const AMEDIA_ERROR_WOULD_BLOCK: media_status_t = media_status_t(-10008);
17344}
17345impl media_status_t {
17346    pub const AMEDIA_DRM_ERROR_BASE: media_status_t = media_status_t(-20000);
17347}
17348impl media_status_t {
17349    pub const AMEDIA_DRM_NOT_PROVISIONED: media_status_t = media_status_t(-20001);
17350}
17351impl media_status_t {
17352    pub const AMEDIA_DRM_RESOURCE_BUSY: media_status_t = media_status_t(-20002);
17353}
17354impl media_status_t {
17355    pub const AMEDIA_DRM_DEVICE_REVOKED: media_status_t = media_status_t(-20003);
17356}
17357impl media_status_t {
17358    pub const AMEDIA_DRM_SHORT_BUFFER: media_status_t = media_status_t(-20004);
17359}
17360impl media_status_t {
17361    pub const AMEDIA_DRM_SESSION_NOT_OPENED: media_status_t = media_status_t(-20005);
17362}
17363impl media_status_t {
17364    pub const AMEDIA_DRM_TAMPER_DETECTED: media_status_t = media_status_t(-20006);
17365}
17366impl media_status_t {
17367    pub const AMEDIA_DRM_VERIFY_FAILED: media_status_t = media_status_t(-20007);
17368}
17369impl media_status_t {
17370    pub const AMEDIA_DRM_NEED_KEY: media_status_t = media_status_t(-20008);
17371}
17372impl media_status_t {
17373    pub const AMEDIA_DRM_LICENSE_EXPIRED: media_status_t = media_status_t(-20009);
17374}
17375impl media_status_t {
17376    pub const AMEDIA_IMGREADER_ERROR_BASE: media_status_t = media_status_t(-30000);
17377}
17378impl media_status_t {
17379    pub const AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE: media_status_t = media_status_t(-30001);
17380}
17381impl media_status_t {
17382    pub const AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED: media_status_t = media_status_t(-30002);
17383}
17384impl media_status_t {
17385    pub const AMEDIA_IMGREADER_CANNOT_LOCK_IMAGE: media_status_t = media_status_t(-30003);
17386}
17387impl media_status_t {
17388    pub const AMEDIA_IMGREADER_CANNOT_UNLOCK_IMAGE: media_status_t = media_status_t(-30004);
17389}
17390impl media_status_t {
17391    pub const AMEDIA_IMGREADER_IMAGE_NOT_LOCKED: media_status_t = media_status_t(-30005);
17392}
17393#[repr(transparent)]
17394#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17395pub struct media_status_t(pub ::std::os::raw::c_int);
17396#[repr(C)]
17397#[derive(Debug, Copy, Clone)]
17398pub struct AMidiDevice {
17399    _unused: [u8; 0],
17400}
17401#[repr(C)]
17402#[derive(Debug, Copy, Clone)]
17403pub struct AMidiInputPort {
17404    _unused: [u8; 0],
17405}
17406#[repr(C)]
17407#[derive(Debug, Copy, Clone)]
17408pub struct AMidiOutputPort {
17409    _unused: [u8; 0],
17410}
17411pub const AMIDI_OPCODE_DATA: _bindgen_ty_62 = 1;
17412pub const AMIDI_OPCODE_FLUSH: _bindgen_ty_62 = 2;
17413pub type _bindgen_ty_62 = ::std::os::raw::c_uint;
17414pub const AMIDI_DEVICE_TYPE_USB: _bindgen_ty_63 = 1;
17415pub const AMIDI_DEVICE_TYPE_VIRTUAL: _bindgen_ty_63 = 2;
17416pub const AMIDI_DEVICE_TYPE_BLUETOOTH: _bindgen_ty_63 = 3;
17417pub type _bindgen_ty_63 = ::std::os::raw::c_uint;
17418impl AMidiDevice_Protocol {
17419    pub const AMIDI_DEVICE_PROTOCOL_UMP_USE_MIDI_CI: AMidiDevice_Protocol = AMidiDevice_Protocol(0);
17420}
17421impl AMidiDevice_Protocol {
17422    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS: AMidiDevice_Protocol =
17423        AMidiDevice_Protocol(1);
17424}
17425impl AMidiDevice_Protocol {
17426    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS_AND_JRTS: AMidiDevice_Protocol =
17427        AMidiDevice_Protocol(2);
17428}
17429impl AMidiDevice_Protocol {
17430    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS: AMidiDevice_Protocol =
17431        AMidiDevice_Protocol(3);
17432}
17433impl AMidiDevice_Protocol {
17434    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS_AND_JRTS: AMidiDevice_Protocol =
17435        AMidiDevice_Protocol(4);
17436}
17437impl AMidiDevice_Protocol {
17438    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0: AMidiDevice_Protocol = AMidiDevice_Protocol(17);
17439}
17440impl AMidiDevice_Protocol {
17441    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0_AND_JRTS: AMidiDevice_Protocol =
17442        AMidiDevice_Protocol(18);
17443}
17444impl AMidiDevice_Protocol {
17445    pub const AMIDI_DEVICE_PROTOCOL_UNKNOWN: AMidiDevice_Protocol = AMidiDevice_Protocol(-1);
17446}
17447#[repr(transparent)]
17448#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17449pub struct AMidiDevice_Protocol(pub i32);
17450extern "C" {
17451    pub fn AMidiDevice_fromJava(
17452        env: *mut JNIEnv,
17453        midiDeviceObj: jobject,
17454        outDevicePtrPtr: *mut *mut AMidiDevice,
17455    ) -> media_status_t;
17456}
17457extern "C" {
17458    pub fn AMidiDevice_release(midiDevice: *const AMidiDevice) -> media_status_t;
17459}
17460extern "C" {
17461    pub fn AMidiDevice_getType(device: *const AMidiDevice) -> i32;
17462}
17463extern "C" {
17464    pub fn AMidiDevice_getNumInputPorts(device: *const AMidiDevice) -> isize;
17465}
17466extern "C" {
17467    pub fn AMidiDevice_getNumOutputPorts(device: *const AMidiDevice) -> isize;
17468}
17469extern "C" {
17470    pub fn AMidiDevice_getDefaultProtocol(device: *const AMidiDevice) -> AMidiDevice_Protocol;
17471}
17472extern "C" {
17473    pub fn AMidiOutputPort_open(
17474        device: *const AMidiDevice,
17475        portNumber: i32,
17476        outOutputPortPtr: *mut *mut AMidiOutputPort,
17477    ) -> media_status_t;
17478}
17479extern "C" {
17480    pub fn AMidiOutputPort_close(outputPort: *const AMidiOutputPort);
17481}
17482extern "C" {
17483    pub fn AMidiOutputPort_receive(
17484        outputPort: *const AMidiOutputPort,
17485        opcodePtr: *mut i32,
17486        buffer: *mut u8,
17487        maxBytes: usize,
17488        numBytesReceivedPtr: *mut usize,
17489        outTimestampPtr: *mut i64,
17490    ) -> isize;
17491}
17492extern "C" {
17493    pub fn AMidiInputPort_open(
17494        device: *const AMidiDevice,
17495        portNumber: i32,
17496        outInputPortPtr: *mut *mut AMidiInputPort,
17497    ) -> media_status_t;
17498}
17499extern "C" {
17500    pub fn AMidiInputPort_send(
17501        inputPort: *const AMidiInputPort,
17502        buffer: *const u8,
17503        numBytes: usize,
17504    ) -> isize;
17505}
17506extern "C" {
17507    pub fn AMidiInputPort_sendWithTimestamp(
17508        inputPort: *const AMidiInputPort,
17509        buffer: *const u8,
17510        numBytes: usize,
17511        timestamp: i64,
17512    ) -> isize;
17513}
17514extern "C" {
17515    pub fn AMidiInputPort_sendFlush(inputPort: *const AMidiInputPort) -> media_status_t;
17516}
17517extern "C" {
17518    pub fn AMidiInputPort_close(inputPort: *const AMidiInputPort);
17519}
17520impl camera_status_t {
17521    pub const ACAMERA_OK: camera_status_t = camera_status_t(0);
17522}
17523impl camera_status_t {
17524    pub const ACAMERA_ERROR_BASE: camera_status_t = camera_status_t(-10000);
17525}
17526impl camera_status_t {
17527    pub const ACAMERA_ERROR_UNKNOWN: camera_status_t = camera_status_t(-10000);
17528}
17529impl camera_status_t {
17530    pub const ACAMERA_ERROR_INVALID_PARAMETER: camera_status_t = camera_status_t(-10001);
17531}
17532impl camera_status_t {
17533    pub const ACAMERA_ERROR_CAMERA_DISCONNECTED: camera_status_t = camera_status_t(-10002);
17534}
17535impl camera_status_t {
17536    pub const ACAMERA_ERROR_NOT_ENOUGH_MEMORY: camera_status_t = camera_status_t(-10003);
17537}
17538impl camera_status_t {
17539    pub const ACAMERA_ERROR_METADATA_NOT_FOUND: camera_status_t = camera_status_t(-10004);
17540}
17541impl camera_status_t {
17542    pub const ACAMERA_ERROR_CAMERA_DEVICE: camera_status_t = camera_status_t(-10005);
17543}
17544impl camera_status_t {
17545    pub const ACAMERA_ERROR_CAMERA_SERVICE: camera_status_t = camera_status_t(-10006);
17546}
17547impl camera_status_t {
17548    pub const ACAMERA_ERROR_SESSION_CLOSED: camera_status_t = camera_status_t(-10007);
17549}
17550impl camera_status_t {
17551    pub const ACAMERA_ERROR_INVALID_OPERATION: camera_status_t = camera_status_t(-10008);
17552}
17553impl camera_status_t {
17554    pub const ACAMERA_ERROR_STREAM_CONFIGURE_FAIL: camera_status_t = camera_status_t(-10009);
17555}
17556impl camera_status_t {
17557    pub const ACAMERA_ERROR_CAMERA_IN_USE: camera_status_t = camera_status_t(-10010);
17558}
17559impl camera_status_t {
17560    pub const ACAMERA_ERROR_MAX_CAMERA_IN_USE: camera_status_t = camera_status_t(-10011);
17561}
17562impl camera_status_t {
17563    pub const ACAMERA_ERROR_CAMERA_DISABLED: camera_status_t = camera_status_t(-10012);
17564}
17565impl camera_status_t {
17566    pub const ACAMERA_ERROR_PERMISSION_DENIED: camera_status_t = camera_status_t(-10013);
17567}
17568impl camera_status_t {
17569    pub const ACAMERA_ERROR_UNSUPPORTED_OPERATION: camera_status_t = camera_status_t(-10014);
17570}
17571#[repr(transparent)]
17572#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17573pub struct camera_status_t(pub ::std::os::raw::c_int);
17574impl acamera_metadata_section {
17575    pub const ACAMERA_COLOR_CORRECTION: acamera_metadata_section = acamera_metadata_section(0);
17576}
17577impl acamera_metadata_section {
17578    pub const ACAMERA_CONTROL: acamera_metadata_section = acamera_metadata_section(1);
17579}
17580impl acamera_metadata_section {
17581    pub const ACAMERA_DEMOSAIC: acamera_metadata_section = acamera_metadata_section(2);
17582}
17583impl acamera_metadata_section {
17584    pub const ACAMERA_EDGE: acamera_metadata_section = acamera_metadata_section(3);
17585}
17586impl acamera_metadata_section {
17587    pub const ACAMERA_FLASH: acamera_metadata_section = acamera_metadata_section(4);
17588}
17589impl acamera_metadata_section {
17590    pub const ACAMERA_FLASH_INFO: acamera_metadata_section = acamera_metadata_section(5);
17591}
17592impl acamera_metadata_section {
17593    pub const ACAMERA_HOT_PIXEL: acamera_metadata_section = acamera_metadata_section(6);
17594}
17595impl acamera_metadata_section {
17596    pub const ACAMERA_JPEG: acamera_metadata_section = acamera_metadata_section(7);
17597}
17598impl acamera_metadata_section {
17599    pub const ACAMERA_LENS: acamera_metadata_section = acamera_metadata_section(8);
17600}
17601impl acamera_metadata_section {
17602    pub const ACAMERA_LENS_INFO: acamera_metadata_section = acamera_metadata_section(9);
17603}
17604impl acamera_metadata_section {
17605    pub const ACAMERA_NOISE_REDUCTION: acamera_metadata_section = acamera_metadata_section(10);
17606}
17607impl acamera_metadata_section {
17608    pub const ACAMERA_QUIRKS: acamera_metadata_section = acamera_metadata_section(11);
17609}
17610impl acamera_metadata_section {
17611    pub const ACAMERA_REQUEST: acamera_metadata_section = acamera_metadata_section(12);
17612}
17613impl acamera_metadata_section {
17614    pub const ACAMERA_SCALER: acamera_metadata_section = acamera_metadata_section(13);
17615}
17616impl acamera_metadata_section {
17617    pub const ACAMERA_SENSOR: acamera_metadata_section = acamera_metadata_section(14);
17618}
17619impl acamera_metadata_section {
17620    pub const ACAMERA_SENSOR_INFO: acamera_metadata_section = acamera_metadata_section(15);
17621}
17622impl acamera_metadata_section {
17623    pub const ACAMERA_SHADING: acamera_metadata_section = acamera_metadata_section(16);
17624}
17625impl acamera_metadata_section {
17626    pub const ACAMERA_STATISTICS: acamera_metadata_section = acamera_metadata_section(17);
17627}
17628impl acamera_metadata_section {
17629    pub const ACAMERA_STATISTICS_INFO: acamera_metadata_section = acamera_metadata_section(18);
17630}
17631impl acamera_metadata_section {
17632    pub const ACAMERA_TONEMAP: acamera_metadata_section = acamera_metadata_section(19);
17633}
17634impl acamera_metadata_section {
17635    pub const ACAMERA_LED: acamera_metadata_section = acamera_metadata_section(20);
17636}
17637impl acamera_metadata_section {
17638    pub const ACAMERA_INFO: acamera_metadata_section = acamera_metadata_section(21);
17639}
17640impl acamera_metadata_section {
17641    pub const ACAMERA_BLACK_LEVEL: acamera_metadata_section = acamera_metadata_section(22);
17642}
17643impl acamera_metadata_section {
17644    pub const ACAMERA_SYNC: acamera_metadata_section = acamera_metadata_section(23);
17645}
17646impl acamera_metadata_section {
17647    pub const ACAMERA_REPROCESS: acamera_metadata_section = acamera_metadata_section(24);
17648}
17649impl acamera_metadata_section {
17650    pub const ACAMERA_DEPTH: acamera_metadata_section = acamera_metadata_section(25);
17651}
17652impl acamera_metadata_section {
17653    pub const ACAMERA_LOGICAL_MULTI_CAMERA: acamera_metadata_section = acamera_metadata_section(26);
17654}
17655impl acamera_metadata_section {
17656    pub const ACAMERA_DISTORTION_CORRECTION: acamera_metadata_section =
17657        acamera_metadata_section(27);
17658}
17659impl acamera_metadata_section {
17660    pub const ACAMERA_HEIC: acamera_metadata_section = acamera_metadata_section(28);
17661}
17662impl acamera_metadata_section {
17663    pub const ACAMERA_HEIC_INFO: acamera_metadata_section = acamera_metadata_section(29);
17664}
17665impl acamera_metadata_section {
17666    pub const ACAMERA_AUTOMOTIVE: acamera_metadata_section = acamera_metadata_section(30);
17667}
17668impl acamera_metadata_section {
17669    pub const ACAMERA_AUTOMOTIVE_LENS: acamera_metadata_section = acamera_metadata_section(31);
17670}
17671impl acamera_metadata_section {
17672    pub const ACAMERA_EXTENSION: acamera_metadata_section = acamera_metadata_section(32);
17673}
17674impl acamera_metadata_section {
17675    pub const ACAMERA_JPEGR: acamera_metadata_section = acamera_metadata_section(33);
17676}
17677impl acamera_metadata_section {
17678    pub const ACAMERA_SECTION_COUNT: acamera_metadata_section = acamera_metadata_section(34);
17679}
17680impl acamera_metadata_section {
17681    pub const ACAMERA_VENDOR: acamera_metadata_section = acamera_metadata_section(32768);
17682}
17683#[repr(transparent)]
17684#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17685pub struct acamera_metadata_section(pub ::std::os::raw::c_uint);
17686pub use self::acamera_metadata_section as acamera_metadata_section_t;
17687impl acamera_metadata_section_start {
17688    pub const ACAMERA_COLOR_CORRECTION_START: acamera_metadata_section_start =
17689        acamera_metadata_section_start(0);
17690}
17691impl acamera_metadata_section_start {
17692    pub const ACAMERA_CONTROL_START: acamera_metadata_section_start =
17693        acamera_metadata_section_start(65536);
17694}
17695impl acamera_metadata_section_start {
17696    pub const ACAMERA_DEMOSAIC_START: acamera_metadata_section_start =
17697        acamera_metadata_section_start(131072);
17698}
17699impl acamera_metadata_section_start {
17700    pub const ACAMERA_EDGE_START: acamera_metadata_section_start =
17701        acamera_metadata_section_start(196608);
17702}
17703impl acamera_metadata_section_start {
17704    pub const ACAMERA_FLASH_START: acamera_metadata_section_start =
17705        acamera_metadata_section_start(262144);
17706}
17707impl acamera_metadata_section_start {
17708    pub const ACAMERA_FLASH_INFO_START: acamera_metadata_section_start =
17709        acamera_metadata_section_start(327680);
17710}
17711impl acamera_metadata_section_start {
17712    pub const ACAMERA_HOT_PIXEL_START: acamera_metadata_section_start =
17713        acamera_metadata_section_start(393216);
17714}
17715impl acamera_metadata_section_start {
17716    pub const ACAMERA_JPEG_START: acamera_metadata_section_start =
17717        acamera_metadata_section_start(458752);
17718}
17719impl acamera_metadata_section_start {
17720    pub const ACAMERA_LENS_START: acamera_metadata_section_start =
17721        acamera_metadata_section_start(524288);
17722}
17723impl acamera_metadata_section_start {
17724    pub const ACAMERA_LENS_INFO_START: acamera_metadata_section_start =
17725        acamera_metadata_section_start(589824);
17726}
17727impl acamera_metadata_section_start {
17728    pub const ACAMERA_NOISE_REDUCTION_START: acamera_metadata_section_start =
17729        acamera_metadata_section_start(655360);
17730}
17731impl acamera_metadata_section_start {
17732    pub const ACAMERA_QUIRKS_START: acamera_metadata_section_start =
17733        acamera_metadata_section_start(720896);
17734}
17735impl acamera_metadata_section_start {
17736    pub const ACAMERA_REQUEST_START: acamera_metadata_section_start =
17737        acamera_metadata_section_start(786432);
17738}
17739impl acamera_metadata_section_start {
17740    pub const ACAMERA_SCALER_START: acamera_metadata_section_start =
17741        acamera_metadata_section_start(851968);
17742}
17743impl acamera_metadata_section_start {
17744    pub const ACAMERA_SENSOR_START: acamera_metadata_section_start =
17745        acamera_metadata_section_start(917504);
17746}
17747impl acamera_metadata_section_start {
17748    pub const ACAMERA_SENSOR_INFO_START: acamera_metadata_section_start =
17749        acamera_metadata_section_start(983040);
17750}
17751impl acamera_metadata_section_start {
17752    pub const ACAMERA_SHADING_START: acamera_metadata_section_start =
17753        acamera_metadata_section_start(1048576);
17754}
17755impl acamera_metadata_section_start {
17756    pub const ACAMERA_STATISTICS_START: acamera_metadata_section_start =
17757        acamera_metadata_section_start(1114112);
17758}
17759impl acamera_metadata_section_start {
17760    pub const ACAMERA_STATISTICS_INFO_START: acamera_metadata_section_start =
17761        acamera_metadata_section_start(1179648);
17762}
17763impl acamera_metadata_section_start {
17764    pub const ACAMERA_TONEMAP_START: acamera_metadata_section_start =
17765        acamera_metadata_section_start(1245184);
17766}
17767impl acamera_metadata_section_start {
17768    pub const ACAMERA_LED_START: acamera_metadata_section_start =
17769        acamera_metadata_section_start(1310720);
17770}
17771impl acamera_metadata_section_start {
17772    pub const ACAMERA_INFO_START: acamera_metadata_section_start =
17773        acamera_metadata_section_start(1376256);
17774}
17775impl acamera_metadata_section_start {
17776    pub const ACAMERA_BLACK_LEVEL_START: acamera_metadata_section_start =
17777        acamera_metadata_section_start(1441792);
17778}
17779impl acamera_metadata_section_start {
17780    pub const ACAMERA_SYNC_START: acamera_metadata_section_start =
17781        acamera_metadata_section_start(1507328);
17782}
17783impl acamera_metadata_section_start {
17784    pub const ACAMERA_REPROCESS_START: acamera_metadata_section_start =
17785        acamera_metadata_section_start(1572864);
17786}
17787impl acamera_metadata_section_start {
17788    pub const ACAMERA_DEPTH_START: acamera_metadata_section_start =
17789        acamera_metadata_section_start(1638400);
17790}
17791impl acamera_metadata_section_start {
17792    pub const ACAMERA_LOGICAL_MULTI_CAMERA_START: acamera_metadata_section_start =
17793        acamera_metadata_section_start(1703936);
17794}
17795impl acamera_metadata_section_start {
17796    pub const ACAMERA_DISTORTION_CORRECTION_START: acamera_metadata_section_start =
17797        acamera_metadata_section_start(1769472);
17798}
17799impl acamera_metadata_section_start {
17800    pub const ACAMERA_HEIC_START: acamera_metadata_section_start =
17801        acamera_metadata_section_start(1835008);
17802}
17803impl acamera_metadata_section_start {
17804    pub const ACAMERA_HEIC_INFO_START: acamera_metadata_section_start =
17805        acamera_metadata_section_start(1900544);
17806}
17807impl acamera_metadata_section_start {
17808    pub const ACAMERA_AUTOMOTIVE_START: acamera_metadata_section_start =
17809        acamera_metadata_section_start(1966080);
17810}
17811impl acamera_metadata_section_start {
17812    pub const ACAMERA_AUTOMOTIVE_LENS_START: acamera_metadata_section_start =
17813        acamera_metadata_section_start(2031616);
17814}
17815impl acamera_metadata_section_start {
17816    pub const ACAMERA_EXTENSION_START: acamera_metadata_section_start =
17817        acamera_metadata_section_start(2097152);
17818}
17819impl acamera_metadata_section_start {
17820    pub const ACAMERA_JPEGR_START: acamera_metadata_section_start =
17821        acamera_metadata_section_start(2162688);
17822}
17823impl acamera_metadata_section_start {
17824    pub const ACAMERA_VENDOR_START: acamera_metadata_section_start =
17825        acamera_metadata_section_start(-2147483648);
17826}
17827#[repr(transparent)]
17828#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17829pub struct acamera_metadata_section_start(pub ::std::os::raw::c_int);
17830pub use self::acamera_metadata_section_start as acamera_metadata_section_start_t;
17831impl acamera_metadata_tag {
17832    pub const ACAMERA_COLOR_CORRECTION_MODE: acamera_metadata_tag = acamera_metadata_tag(0);
17833}
17834impl acamera_metadata_tag {
17835    pub const ACAMERA_COLOR_CORRECTION_TRANSFORM: acamera_metadata_tag = acamera_metadata_tag(1);
17836}
17837impl acamera_metadata_tag {
17838    pub const ACAMERA_COLOR_CORRECTION_GAINS: acamera_metadata_tag = acamera_metadata_tag(2);
17839}
17840impl acamera_metadata_tag {
17841    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE: acamera_metadata_tag =
17842        acamera_metadata_tag(3);
17843}
17844impl acamera_metadata_tag {
17845    pub const ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: acamera_metadata_tag =
17846        acamera_metadata_tag(4);
17847}
17848impl acamera_metadata_tag {
17849    pub const ACAMERA_COLOR_CORRECTION_END: acamera_metadata_tag = acamera_metadata_tag(5);
17850}
17851impl acamera_metadata_tag {
17852    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE: acamera_metadata_tag =
17853        acamera_metadata_tag(65536);
17854}
17855impl acamera_metadata_tag {
17856    pub const ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION: acamera_metadata_tag =
17857        acamera_metadata_tag(65537);
17858}
17859impl acamera_metadata_tag {
17860    pub const ACAMERA_CONTROL_AE_LOCK: acamera_metadata_tag = acamera_metadata_tag(65538);
17861}
17862impl acamera_metadata_tag {
17863    pub const ACAMERA_CONTROL_AE_MODE: acamera_metadata_tag = acamera_metadata_tag(65539);
17864}
17865impl acamera_metadata_tag {
17866    pub const ACAMERA_CONTROL_AE_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65540);
17867}
17868impl acamera_metadata_tag {
17869    pub const ACAMERA_CONTROL_AE_TARGET_FPS_RANGE: acamera_metadata_tag =
17870        acamera_metadata_tag(65541);
17871}
17872impl acamera_metadata_tag {
17873    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER: acamera_metadata_tag =
17874        acamera_metadata_tag(65542);
17875}
17876impl acamera_metadata_tag {
17877    pub const ACAMERA_CONTROL_AF_MODE: acamera_metadata_tag = acamera_metadata_tag(65543);
17878}
17879impl acamera_metadata_tag {
17880    pub const ACAMERA_CONTROL_AF_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65544);
17881}
17882impl acamera_metadata_tag {
17883    pub const ACAMERA_CONTROL_AF_TRIGGER: acamera_metadata_tag = acamera_metadata_tag(65545);
17884}
17885impl acamera_metadata_tag {
17886    pub const ACAMERA_CONTROL_AWB_LOCK: acamera_metadata_tag = acamera_metadata_tag(65546);
17887}
17888impl acamera_metadata_tag {
17889    pub const ACAMERA_CONTROL_AWB_MODE: acamera_metadata_tag = acamera_metadata_tag(65547);
17890}
17891impl acamera_metadata_tag {
17892    pub const ACAMERA_CONTROL_AWB_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65548);
17893}
17894impl acamera_metadata_tag {
17895    pub const ACAMERA_CONTROL_CAPTURE_INTENT: acamera_metadata_tag = acamera_metadata_tag(65549);
17896}
17897impl acamera_metadata_tag {
17898    pub const ACAMERA_CONTROL_EFFECT_MODE: acamera_metadata_tag = acamera_metadata_tag(65550);
17899}
17900impl acamera_metadata_tag {
17901    pub const ACAMERA_CONTROL_MODE: acamera_metadata_tag = acamera_metadata_tag(65551);
17902}
17903impl acamera_metadata_tag {
17904    pub const ACAMERA_CONTROL_SCENE_MODE: acamera_metadata_tag = acamera_metadata_tag(65552);
17905}
17906impl acamera_metadata_tag {
17907    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE: acamera_metadata_tag =
17908        acamera_metadata_tag(65553);
17909}
17910impl acamera_metadata_tag {
17911    pub const ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: acamera_metadata_tag =
17912        acamera_metadata_tag(65554);
17913}
17914impl acamera_metadata_tag {
17915    pub const ACAMERA_CONTROL_AE_AVAILABLE_MODES: acamera_metadata_tag =
17916        acamera_metadata_tag(65555);
17917}
17918impl acamera_metadata_tag {
17919    pub const ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: acamera_metadata_tag =
17920        acamera_metadata_tag(65556);
17921}
17922impl acamera_metadata_tag {
17923    pub const ACAMERA_CONTROL_AE_COMPENSATION_RANGE: acamera_metadata_tag =
17924        acamera_metadata_tag(65557);
17925}
17926impl acamera_metadata_tag {
17927    pub const ACAMERA_CONTROL_AE_COMPENSATION_STEP: acamera_metadata_tag =
17928        acamera_metadata_tag(65558);
17929}
17930impl acamera_metadata_tag {
17931    pub const ACAMERA_CONTROL_AF_AVAILABLE_MODES: acamera_metadata_tag =
17932        acamera_metadata_tag(65559);
17933}
17934impl acamera_metadata_tag {
17935    pub const ACAMERA_CONTROL_AVAILABLE_EFFECTS: acamera_metadata_tag = acamera_metadata_tag(65560);
17936}
17937impl acamera_metadata_tag {
17938    pub const ACAMERA_CONTROL_AVAILABLE_SCENE_MODES: acamera_metadata_tag =
17939        acamera_metadata_tag(65561);
17940}
17941impl acamera_metadata_tag {
17942    pub const ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: acamera_metadata_tag =
17943        acamera_metadata_tag(65562);
17944}
17945impl acamera_metadata_tag {
17946    pub const ACAMERA_CONTROL_AWB_AVAILABLE_MODES: acamera_metadata_tag =
17947        acamera_metadata_tag(65563);
17948}
17949impl acamera_metadata_tag {
17950    pub const ACAMERA_CONTROL_MAX_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65564);
17951}
17952impl acamera_metadata_tag {
17953    pub const ACAMERA_CONTROL_AE_STATE: acamera_metadata_tag = acamera_metadata_tag(65567);
17954}
17955impl acamera_metadata_tag {
17956    pub const ACAMERA_CONTROL_AF_STATE: acamera_metadata_tag = acamera_metadata_tag(65568);
17957}
17958impl acamera_metadata_tag {
17959    pub const ACAMERA_CONTROL_AWB_STATE: acamera_metadata_tag = acamera_metadata_tag(65570);
17960}
17961impl acamera_metadata_tag {
17962    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(65572);
17963}
17964impl acamera_metadata_tag {
17965    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE: acamera_metadata_tag =
17966        acamera_metadata_tag(65573);
17967}
17968impl acamera_metadata_tag {
17969    pub const ACAMERA_CONTROL_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(65574);
17970}
17971impl acamera_metadata_tag {
17972    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: acamera_metadata_tag =
17973        acamera_metadata_tag(65575);
17974}
17975impl acamera_metadata_tag {
17976    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST: acamera_metadata_tag =
17977        acamera_metadata_tag(65576);
17978}
17979impl acamera_metadata_tag {
17980    pub const ACAMERA_CONTROL_ENABLE_ZSL: acamera_metadata_tag = acamera_metadata_tag(65577);
17981}
17982impl acamera_metadata_tag {
17983    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE: acamera_metadata_tag = acamera_metadata_tag(65578);
17984}
17985impl acamera_metadata_tag {
17986    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES: acamera_metadata_tag =
17987        acamera_metadata_tag(65579);
17988}
17989impl acamera_metadata_tag {
17990    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:
17991        acamera_metadata_tag = acamera_metadata_tag(65580);
17992}
17993impl acamera_metadata_tag {
17994    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE: acamera_metadata_tag =
17995        acamera_metadata_tag(65581);
17996}
17997impl acamera_metadata_tag {
17998    pub const ACAMERA_CONTROL_ZOOM_RATIO_RANGE: acamera_metadata_tag = acamera_metadata_tag(65582);
17999}
18000impl acamera_metadata_tag {
18001    pub const ACAMERA_CONTROL_ZOOM_RATIO: acamera_metadata_tag = acamera_metadata_tag(65583);
18002}
18003impl acamera_metadata_tag {
18004    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE: acamera_metadata_tag = acamera_metadata_tag(65588);
18005}
18006impl acamera_metadata_tag {
18007    pub const ACAMERA_CONTROL_AVAILABLE_SETTINGS_OVERRIDES: acamera_metadata_tag =
18008        acamera_metadata_tag(65589);
18009}
18010impl acamera_metadata_tag {
18011    pub const ACAMERA_CONTROL_AUTOFRAMING: acamera_metadata_tag = acamera_metadata_tag(65591);
18012}
18013impl acamera_metadata_tag {
18014    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE: acamera_metadata_tag =
18015        acamera_metadata_tag(65592);
18016}
18017impl acamera_metadata_tag {
18018    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE: acamera_metadata_tag = acamera_metadata_tag(65593);
18019}
18020impl acamera_metadata_tag {
18021    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: acamera_metadata_tag =
18022        acamera_metadata_tag(65594);
18023}
18024impl acamera_metadata_tag {
18025    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE: acamera_metadata_tag =
18026        acamera_metadata_tag(65595);
18027}
18028impl acamera_metadata_tag {
18029    pub const ACAMERA_CONTROL_END: acamera_metadata_tag = acamera_metadata_tag(65596);
18030}
18031impl acamera_metadata_tag {
18032    pub const ACAMERA_EDGE_MODE: acamera_metadata_tag = acamera_metadata_tag(196608);
18033}
18034impl acamera_metadata_tag {
18035    pub const ACAMERA_EDGE_AVAILABLE_EDGE_MODES: acamera_metadata_tag =
18036        acamera_metadata_tag(196610);
18037}
18038impl acamera_metadata_tag {
18039    pub const ACAMERA_EDGE_END: acamera_metadata_tag = acamera_metadata_tag(196611);
18040}
18041impl acamera_metadata_tag {
18042    pub const ACAMERA_FLASH_MODE: acamera_metadata_tag = acamera_metadata_tag(262146);
18043}
18044impl acamera_metadata_tag {
18045    pub const ACAMERA_FLASH_STATE: acamera_metadata_tag = acamera_metadata_tag(262149);
18046}
18047impl acamera_metadata_tag {
18048    pub const ACAMERA_FLASH_STRENGTH_LEVEL: acamera_metadata_tag = acamera_metadata_tag(262150);
18049}
18050impl acamera_metadata_tag {
18051    pub const ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
18052        acamera_metadata_tag(262151);
18053}
18054impl acamera_metadata_tag {
18055    pub const ACAMERA_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
18056        acamera_metadata_tag(262152);
18057}
18058impl acamera_metadata_tag {
18059    pub const ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
18060        acamera_metadata_tag(262153);
18061}
18062impl acamera_metadata_tag {
18063    pub const ACAMERA_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
18064        acamera_metadata_tag(262154);
18065}
18066impl acamera_metadata_tag {
18067    pub const ACAMERA_FLASH_END: acamera_metadata_tag = acamera_metadata_tag(262155);
18068}
18069impl acamera_metadata_tag {
18070    pub const ACAMERA_FLASH_INFO_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(327680);
18071}
18072impl acamera_metadata_tag {
18073    pub const ACAMERA_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: acamera_metadata_tag =
18074        acamera_metadata_tag(327682);
18075}
18076impl acamera_metadata_tag {
18077    pub const ACAMERA_FLASH_INFO_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
18078        acamera_metadata_tag(327683);
18079}
18080impl acamera_metadata_tag {
18081    pub const ACAMERA_FLASH_INFO_END: acamera_metadata_tag = acamera_metadata_tag(327684);
18082}
18083impl acamera_metadata_tag {
18084    pub const ACAMERA_HOT_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(393216);
18085}
18086impl acamera_metadata_tag {
18087    pub const ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: acamera_metadata_tag =
18088        acamera_metadata_tag(393217);
18089}
18090impl acamera_metadata_tag {
18091    pub const ACAMERA_HOT_PIXEL_END: acamera_metadata_tag = acamera_metadata_tag(393218);
18092}
18093impl acamera_metadata_tag {
18094    pub const ACAMERA_JPEG_GPS_COORDINATES: acamera_metadata_tag = acamera_metadata_tag(458752);
18095}
18096impl acamera_metadata_tag {
18097    pub const ACAMERA_JPEG_GPS_PROCESSING_METHOD: acamera_metadata_tag =
18098        acamera_metadata_tag(458753);
18099}
18100impl acamera_metadata_tag {
18101    pub const ACAMERA_JPEG_GPS_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(458754);
18102}
18103impl acamera_metadata_tag {
18104    pub const ACAMERA_JPEG_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(458755);
18105}
18106impl acamera_metadata_tag {
18107    pub const ACAMERA_JPEG_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458756);
18108}
18109impl acamera_metadata_tag {
18110    pub const ACAMERA_JPEG_THUMBNAIL_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458757);
18111}
18112impl acamera_metadata_tag {
18113    pub const ACAMERA_JPEG_THUMBNAIL_SIZE: acamera_metadata_tag = acamera_metadata_tag(458758);
18114}
18115impl acamera_metadata_tag {
18116    pub const ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES: acamera_metadata_tag =
18117        acamera_metadata_tag(458759);
18118}
18119impl acamera_metadata_tag {
18120    pub const ACAMERA_JPEG_END: acamera_metadata_tag = acamera_metadata_tag(458760);
18121}
18122impl acamera_metadata_tag {
18123    pub const ACAMERA_LENS_APERTURE: acamera_metadata_tag = acamera_metadata_tag(524288);
18124}
18125impl acamera_metadata_tag {
18126    pub const ACAMERA_LENS_FILTER_DENSITY: acamera_metadata_tag = acamera_metadata_tag(524289);
18127}
18128impl acamera_metadata_tag {
18129    pub const ACAMERA_LENS_FOCAL_LENGTH: acamera_metadata_tag = acamera_metadata_tag(524290);
18130}
18131impl acamera_metadata_tag {
18132    pub const ACAMERA_LENS_FOCUS_DISTANCE: acamera_metadata_tag = acamera_metadata_tag(524291);
18133}
18134impl acamera_metadata_tag {
18135    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE: acamera_metadata_tag =
18136        acamera_metadata_tag(524292);
18137}
18138impl acamera_metadata_tag {
18139    pub const ACAMERA_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(524293);
18140}
18141impl acamera_metadata_tag {
18142    pub const ACAMERA_LENS_POSE_ROTATION: acamera_metadata_tag = acamera_metadata_tag(524294);
18143}
18144impl acamera_metadata_tag {
18145    pub const ACAMERA_LENS_POSE_TRANSLATION: acamera_metadata_tag = acamera_metadata_tag(524295);
18146}
18147impl acamera_metadata_tag {
18148    pub const ACAMERA_LENS_FOCUS_RANGE: acamera_metadata_tag = acamera_metadata_tag(524296);
18149}
18150impl acamera_metadata_tag {
18151    pub const ACAMERA_LENS_STATE: acamera_metadata_tag = acamera_metadata_tag(524297);
18152}
18153impl acamera_metadata_tag {
18154    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION: acamera_metadata_tag =
18155        acamera_metadata_tag(524298);
18156}
18157impl acamera_metadata_tag {
18158    pub const ACAMERA_LENS_RADIAL_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524299);
18159}
18160impl acamera_metadata_tag {
18161    pub const ACAMERA_LENS_POSE_REFERENCE: acamera_metadata_tag = acamera_metadata_tag(524300);
18162}
18163impl acamera_metadata_tag {
18164    pub const ACAMERA_LENS_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524301);
18165}
18166impl acamera_metadata_tag {
18167    pub const ACAMERA_LENS_DISTORTION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18168        acamera_metadata_tag(524302);
18169}
18170impl acamera_metadata_tag {
18171    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18172        acamera_metadata_tag(524303);
18173}
18174impl acamera_metadata_tag {
18175    pub const ACAMERA_LENS_END: acamera_metadata_tag = acamera_metadata_tag(524304);
18176}
18177impl acamera_metadata_tag {
18178    pub const ACAMERA_LENS_INFO_AVAILABLE_APERTURES: acamera_metadata_tag =
18179        acamera_metadata_tag(589824);
18180}
18181impl acamera_metadata_tag {
18182    pub const ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES: acamera_metadata_tag =
18183        acamera_metadata_tag(589825);
18184}
18185impl acamera_metadata_tag {
18186    pub const ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: acamera_metadata_tag =
18187        acamera_metadata_tag(589826);
18188}
18189impl acamera_metadata_tag {
18190    pub const ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: acamera_metadata_tag =
18191        acamera_metadata_tag(589827);
18192}
18193impl acamera_metadata_tag {
18194    pub const ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE: acamera_metadata_tag =
18195        acamera_metadata_tag(589828);
18196}
18197impl acamera_metadata_tag {
18198    pub const ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE: acamera_metadata_tag =
18199        acamera_metadata_tag(589829);
18200}
18201impl acamera_metadata_tag {
18202    pub const ACAMERA_LENS_INFO_SHADING_MAP_SIZE: acamera_metadata_tag =
18203        acamera_metadata_tag(589830);
18204}
18205impl acamera_metadata_tag {
18206    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: acamera_metadata_tag =
18207        acamera_metadata_tag(589831);
18208}
18209impl acamera_metadata_tag {
18210    pub const ACAMERA_LENS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(589832);
18211}
18212impl acamera_metadata_tag {
18213    pub const ACAMERA_NOISE_REDUCTION_MODE: acamera_metadata_tag = acamera_metadata_tag(655360);
18214}
18215impl acamera_metadata_tag {
18216    pub const ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: acamera_metadata_tag =
18217        acamera_metadata_tag(655362);
18218}
18219impl acamera_metadata_tag {
18220    pub const ACAMERA_NOISE_REDUCTION_END: acamera_metadata_tag = acamera_metadata_tag(655363);
18221}
18222impl acamera_metadata_tag {
18223    pub const ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS: acamera_metadata_tag =
18224        acamera_metadata_tag(786438);
18225}
18226impl acamera_metadata_tag {
18227    pub const ACAMERA_REQUEST_PIPELINE_DEPTH: acamera_metadata_tag = acamera_metadata_tag(786441);
18228}
18229impl acamera_metadata_tag {
18230    pub const ACAMERA_REQUEST_PIPELINE_MAX_DEPTH: acamera_metadata_tag =
18231        acamera_metadata_tag(786442);
18232}
18233impl acamera_metadata_tag {
18234    pub const ACAMERA_REQUEST_PARTIAL_RESULT_COUNT: acamera_metadata_tag =
18235        acamera_metadata_tag(786443);
18236}
18237impl acamera_metadata_tag {
18238    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES: acamera_metadata_tag =
18239        acamera_metadata_tag(786444);
18240}
18241impl acamera_metadata_tag {
18242    pub const ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS: acamera_metadata_tag =
18243        acamera_metadata_tag(786445);
18244}
18245impl acamera_metadata_tag {
18246    pub const ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS: acamera_metadata_tag =
18247        acamera_metadata_tag(786446);
18248}
18249impl acamera_metadata_tag {
18250    pub const ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS: acamera_metadata_tag =
18251        acamera_metadata_tag(786447);
18252}
18253impl acamera_metadata_tag {
18254    pub const ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS: acamera_metadata_tag =
18255        acamera_metadata_tag(786448);
18256}
18257impl acamera_metadata_tag {
18258    pub const ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS: acamera_metadata_tag =
18259        acamera_metadata_tag(786449);
18260}
18261impl acamera_metadata_tag {
18262    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP: acamera_metadata_tag =
18263        acamera_metadata_tag(786451);
18264}
18265impl acamera_metadata_tag {
18266    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP: acamera_metadata_tag =
18267        acamera_metadata_tag(786453);
18268}
18269impl acamera_metadata_tag {
18270    pub const ACAMERA_REQUEST_END: acamera_metadata_tag = acamera_metadata_tag(786454);
18271}
18272impl acamera_metadata_tag {
18273    pub const ACAMERA_SCALER_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851968);
18274}
18275impl acamera_metadata_tag {
18276    pub const ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: acamera_metadata_tag =
18277        acamera_metadata_tag(851972);
18278}
18279impl acamera_metadata_tag {
18280    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18281        acamera_metadata_tag(851978);
18282}
18283impl acamera_metadata_tag {
18284    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18285        acamera_metadata_tag(851979);
18286}
18287impl acamera_metadata_tag {
18288    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS: acamera_metadata_tag =
18289        acamera_metadata_tag(851980);
18290}
18291impl acamera_metadata_tag {
18292    pub const ACAMERA_SCALER_CROPPING_TYPE: acamera_metadata_tag = acamera_metadata_tag(851981);
18293}
18294impl acamera_metadata_tag {
18295    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18296        acamera_metadata_tag(851982);
18297}
18298impl acamera_metadata_tag {
18299    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP: acamera_metadata_tag =
18300        acamera_metadata_tag(851983);
18301}
18302impl acamera_metadata_tag {
18303    pub const ACAMERA_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: acamera_metadata_tag =
18304        acamera_metadata_tag(851984);
18305}
18306impl acamera_metadata_tag {
18307    pub const ACAMERA_SCALER_ROTATE_AND_CROP: acamera_metadata_tag = acamera_metadata_tag(851985);
18308}
18309impl acamera_metadata_tag {
18310    pub const ACAMERA_SCALER_DEFAULT_SECURE_IMAGE_SIZE: acamera_metadata_tag =
18311        acamera_metadata_tag(851986);
18312}
18313impl acamera_metadata_tag {
18314    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS:
18315        acamera_metadata_tag = acamera_metadata_tag(851987);
18316}
18317impl acamera_metadata_tag {
18318    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18319        acamera_metadata_tag = acamera_metadata_tag(851988);
18320}
18321impl acamera_metadata_tag {
18322    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18323        acamera_metadata_tag = acamera_metadata_tag(851989);
18324}
18325impl acamera_metadata_tag {
18326    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18327        acamera_metadata_tag(851990);
18328}
18329impl acamera_metadata_tag {
18330    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED: acamera_metadata_tag =
18331        acamera_metadata_tag(851992);
18332}
18333impl acamera_metadata_tag {
18334    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES: acamera_metadata_tag =
18335        acamera_metadata_tag(851994);
18336}
18337impl acamera_metadata_tag {
18338    pub const ACAMERA_SCALER_RAW_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851995);
18339}
18340impl acamera_metadata_tag {
18341    pub const ACAMERA_SCALER_END: acamera_metadata_tag = acamera_metadata_tag(851996);
18342}
18343impl acamera_metadata_tag {
18344    pub const ACAMERA_SENSOR_EXPOSURE_TIME: acamera_metadata_tag = acamera_metadata_tag(917504);
18345}
18346impl acamera_metadata_tag {
18347    pub const ACAMERA_SENSOR_FRAME_DURATION: acamera_metadata_tag = acamera_metadata_tag(917505);
18348}
18349impl acamera_metadata_tag {
18350    pub const ACAMERA_SENSOR_SENSITIVITY: acamera_metadata_tag = acamera_metadata_tag(917506);
18351}
18352impl acamera_metadata_tag {
18353    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1: acamera_metadata_tag =
18354        acamera_metadata_tag(917507);
18355}
18356impl acamera_metadata_tag {
18357    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT2: acamera_metadata_tag =
18358        acamera_metadata_tag(917508);
18359}
18360impl acamera_metadata_tag {
18361    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM1: acamera_metadata_tag =
18362        acamera_metadata_tag(917509);
18363}
18364impl acamera_metadata_tag {
18365    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM2: acamera_metadata_tag =
18366        acamera_metadata_tag(917510);
18367}
18368impl acamera_metadata_tag {
18369    pub const ACAMERA_SENSOR_COLOR_TRANSFORM1: acamera_metadata_tag = acamera_metadata_tag(917511);
18370}
18371impl acamera_metadata_tag {
18372    pub const ACAMERA_SENSOR_COLOR_TRANSFORM2: acamera_metadata_tag = acamera_metadata_tag(917512);
18373}
18374impl acamera_metadata_tag {
18375    pub const ACAMERA_SENSOR_FORWARD_MATRIX1: acamera_metadata_tag = acamera_metadata_tag(917513);
18376}
18377impl acamera_metadata_tag {
18378    pub const ACAMERA_SENSOR_FORWARD_MATRIX2: acamera_metadata_tag = acamera_metadata_tag(917514);
18379}
18380impl acamera_metadata_tag {
18381    pub const ACAMERA_SENSOR_BLACK_LEVEL_PATTERN: acamera_metadata_tag =
18382        acamera_metadata_tag(917516);
18383}
18384impl acamera_metadata_tag {
18385    pub const ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY: acamera_metadata_tag =
18386        acamera_metadata_tag(917517);
18387}
18388impl acamera_metadata_tag {
18389    pub const ACAMERA_SENSOR_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(917518);
18390}
18391impl acamera_metadata_tag {
18392    pub const ACAMERA_SENSOR_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(917520);
18393}
18394impl acamera_metadata_tag {
18395    pub const ACAMERA_SENSOR_NEUTRAL_COLOR_POINT: acamera_metadata_tag =
18396        acamera_metadata_tag(917522);
18397}
18398impl acamera_metadata_tag {
18399    pub const ACAMERA_SENSOR_NOISE_PROFILE: acamera_metadata_tag = acamera_metadata_tag(917523);
18400}
18401impl acamera_metadata_tag {
18402    pub const ACAMERA_SENSOR_GREEN_SPLIT: acamera_metadata_tag = acamera_metadata_tag(917526);
18403}
18404impl acamera_metadata_tag {
18405    pub const ACAMERA_SENSOR_TEST_PATTERN_DATA: acamera_metadata_tag = acamera_metadata_tag(917527);
18406}
18407impl acamera_metadata_tag {
18408    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE: acamera_metadata_tag = acamera_metadata_tag(917528);
18409}
18410impl acamera_metadata_tag {
18411    pub const ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES: acamera_metadata_tag =
18412        acamera_metadata_tag(917529);
18413}
18414impl acamera_metadata_tag {
18415    pub const ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW: acamera_metadata_tag =
18416        acamera_metadata_tag(917530);
18417}
18418impl acamera_metadata_tag {
18419    pub const ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS: acamera_metadata_tag =
18420        acamera_metadata_tag(917531);
18421}
18422impl acamera_metadata_tag {
18423    pub const ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL: acamera_metadata_tag =
18424        acamera_metadata_tag(917532);
18425}
18426impl acamera_metadata_tag {
18427    pub const ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL: acamera_metadata_tag =
18428        acamera_metadata_tag(917533);
18429}
18430impl acamera_metadata_tag {
18431    pub const ACAMERA_SENSOR_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(917536);
18432}
18433impl acamera_metadata_tag {
18434    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED: acamera_metadata_tag =
18435        acamera_metadata_tag(917537);
18436}
18437impl acamera_metadata_tag {
18438    pub const ACAMERA_SENSOR_END: acamera_metadata_tag = acamera_metadata_tag(917538);
18439}
18440impl acamera_metadata_tag {
18441    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
18442        acamera_metadata_tag(983040);
18443}
18444impl acamera_metadata_tag {
18445    pub const ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE: acamera_metadata_tag =
18446        acamera_metadata_tag(983041);
18447}
18448impl acamera_metadata_tag {
18449    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: acamera_metadata_tag =
18450        acamera_metadata_tag(983042);
18451}
18452impl acamera_metadata_tag {
18453    pub const ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE: acamera_metadata_tag =
18454        acamera_metadata_tag(983043);
18455}
18456impl acamera_metadata_tag {
18457    pub const ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION: acamera_metadata_tag =
18458        acamera_metadata_tag(983044);
18459}
18460impl acamera_metadata_tag {
18461    pub const ACAMERA_SENSOR_INFO_PHYSICAL_SIZE: acamera_metadata_tag =
18462        acamera_metadata_tag(983045);
18463}
18464impl acamera_metadata_tag {
18465    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE: acamera_metadata_tag =
18466        acamera_metadata_tag(983046);
18467}
18468impl acamera_metadata_tag {
18469    pub const ACAMERA_SENSOR_INFO_WHITE_LEVEL: acamera_metadata_tag = acamera_metadata_tag(983047);
18470}
18471impl acamera_metadata_tag {
18472    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE: acamera_metadata_tag =
18473        acamera_metadata_tag(983048);
18474}
18475impl acamera_metadata_tag {
18476    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED: acamera_metadata_tag =
18477        acamera_metadata_tag(983049);
18478}
18479impl acamera_metadata_tag {
18480    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
18481        acamera_metadata_tag(983050);
18482}
18483impl acamera_metadata_tag {
18484    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18485        acamera_metadata_tag(983051);
18486}
18487impl acamera_metadata_tag {
18488    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18489        acamera_metadata_tag(983052);
18490}
18491impl acamera_metadata_tag {
18492    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION:
18493        acamera_metadata_tag = acamera_metadata_tag(983053);
18494}
18495impl acamera_metadata_tag {
18496    pub const ACAMERA_SENSOR_INFO_BINNING_FACTOR: acamera_metadata_tag =
18497        acamera_metadata_tag(983054);
18498}
18499impl acamera_metadata_tag {
18500    pub const ACAMERA_SENSOR_INFO_END: acamera_metadata_tag = acamera_metadata_tag(983055);
18501}
18502impl acamera_metadata_tag {
18503    pub const ACAMERA_SHADING_MODE: acamera_metadata_tag = acamera_metadata_tag(1048576);
18504}
18505impl acamera_metadata_tag {
18506    pub const ACAMERA_SHADING_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(1048578);
18507}
18508impl acamera_metadata_tag {
18509    pub const ACAMERA_SHADING_END: acamera_metadata_tag = acamera_metadata_tag(1048579);
18510}
18511impl acamera_metadata_tag {
18512    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE: acamera_metadata_tag =
18513        acamera_metadata_tag(1114112);
18514}
18515impl acamera_metadata_tag {
18516    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE: acamera_metadata_tag =
18517        acamera_metadata_tag(1114115);
18518}
18519impl acamera_metadata_tag {
18520    pub const ACAMERA_STATISTICS_FACE_IDS: acamera_metadata_tag = acamera_metadata_tag(1114116);
18521}
18522impl acamera_metadata_tag {
18523    pub const ACAMERA_STATISTICS_FACE_LANDMARKS: acamera_metadata_tag =
18524        acamera_metadata_tag(1114117);
18525}
18526impl acamera_metadata_tag {
18527    pub const ACAMERA_STATISTICS_FACE_RECTANGLES: acamera_metadata_tag =
18528        acamera_metadata_tag(1114118);
18529}
18530impl acamera_metadata_tag {
18531    pub const ACAMERA_STATISTICS_FACE_SCORES: acamera_metadata_tag = acamera_metadata_tag(1114119);
18532}
18533impl acamera_metadata_tag {
18534    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP: acamera_metadata_tag =
18535        acamera_metadata_tag(1114123);
18536}
18537impl acamera_metadata_tag {
18538    pub const ACAMERA_STATISTICS_SCENE_FLICKER: acamera_metadata_tag =
18539        acamera_metadata_tag(1114126);
18540}
18541impl acamera_metadata_tag {
18542    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP: acamera_metadata_tag =
18543        acamera_metadata_tag(1114127);
18544}
18545impl acamera_metadata_tag {
18546    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE: acamera_metadata_tag =
18547        acamera_metadata_tag(1114128);
18548}
18549impl acamera_metadata_tag {
18550    pub const ACAMERA_STATISTICS_OIS_DATA_MODE: acamera_metadata_tag =
18551        acamera_metadata_tag(1114129);
18552}
18553impl acamera_metadata_tag {
18554    pub const ACAMERA_STATISTICS_OIS_TIMESTAMPS: acamera_metadata_tag =
18555        acamera_metadata_tag(1114130);
18556}
18557impl acamera_metadata_tag {
18558    pub const ACAMERA_STATISTICS_OIS_X_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114131);
18559}
18560impl acamera_metadata_tag {
18561    pub const ACAMERA_STATISTICS_OIS_Y_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114132);
18562}
18563impl acamera_metadata_tag {
18564    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_TIMESTAMPS: acamera_metadata_tag =
18565        acamera_metadata_tag(1114133);
18566}
18567impl acamera_metadata_tag {
18568    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_SAMPLES: acamera_metadata_tag =
18569        acamera_metadata_tag(1114134);
18570}
18571impl acamera_metadata_tag {
18572    pub const ACAMERA_STATISTICS_END: acamera_metadata_tag = acamera_metadata_tag(1114135);
18573}
18574impl acamera_metadata_tag {
18575    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: acamera_metadata_tag =
18576        acamera_metadata_tag(1179648);
18577}
18578impl acamera_metadata_tag {
18579    pub const ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT: acamera_metadata_tag =
18580        acamera_metadata_tag(1179650);
18581}
18582impl acamera_metadata_tag {
18583    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: acamera_metadata_tag =
18584        acamera_metadata_tag(1179654);
18585}
18586impl acamera_metadata_tag {
18587    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: acamera_metadata_tag =
18588        acamera_metadata_tag(1179655);
18589}
18590impl acamera_metadata_tag {
18591    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: acamera_metadata_tag =
18592        acamera_metadata_tag(1179656);
18593}
18594impl acamera_metadata_tag {
18595    pub const ACAMERA_STATISTICS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1179657);
18596}
18597impl acamera_metadata_tag {
18598    pub const ACAMERA_TONEMAP_CURVE_BLUE: acamera_metadata_tag = acamera_metadata_tag(1245184);
18599}
18600impl acamera_metadata_tag {
18601    pub const ACAMERA_TONEMAP_CURVE_GREEN: acamera_metadata_tag = acamera_metadata_tag(1245185);
18602}
18603impl acamera_metadata_tag {
18604    pub const ACAMERA_TONEMAP_CURVE_RED: acamera_metadata_tag = acamera_metadata_tag(1245186);
18605}
18606impl acamera_metadata_tag {
18607    pub const ACAMERA_TONEMAP_MODE: acamera_metadata_tag = acamera_metadata_tag(1245187);
18608}
18609impl acamera_metadata_tag {
18610    pub const ACAMERA_TONEMAP_MAX_CURVE_POINTS: acamera_metadata_tag =
18611        acamera_metadata_tag(1245188);
18612}
18613impl acamera_metadata_tag {
18614    pub const ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES: acamera_metadata_tag =
18615        acamera_metadata_tag(1245189);
18616}
18617impl acamera_metadata_tag {
18618    pub const ACAMERA_TONEMAP_GAMMA: acamera_metadata_tag = acamera_metadata_tag(1245190);
18619}
18620impl acamera_metadata_tag {
18621    pub const ACAMERA_TONEMAP_PRESET_CURVE: acamera_metadata_tag = acamera_metadata_tag(1245191);
18622}
18623impl acamera_metadata_tag {
18624    pub const ACAMERA_TONEMAP_END: acamera_metadata_tag = acamera_metadata_tag(1245192);
18625}
18626impl acamera_metadata_tag {
18627    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL: acamera_metadata_tag =
18628        acamera_metadata_tag(1376256);
18629}
18630impl acamera_metadata_tag {
18631    pub const ACAMERA_INFO_VERSION: acamera_metadata_tag = acamera_metadata_tag(1376257);
18632}
18633impl acamera_metadata_tag {
18634    pub const ACAMERA_INFO_DEVICE_STATE_ORIENTATIONS: acamera_metadata_tag =
18635        acamera_metadata_tag(1376259);
18636}
18637impl acamera_metadata_tag {
18638    pub const ACAMERA_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1376260);
18639}
18640impl acamera_metadata_tag {
18641    pub const ACAMERA_BLACK_LEVEL_LOCK: acamera_metadata_tag = acamera_metadata_tag(1441792);
18642}
18643impl acamera_metadata_tag {
18644    pub const ACAMERA_BLACK_LEVEL_END: acamera_metadata_tag = acamera_metadata_tag(1441793);
18645}
18646impl acamera_metadata_tag {
18647    pub const ACAMERA_SYNC_FRAME_NUMBER: acamera_metadata_tag = acamera_metadata_tag(1507328);
18648}
18649impl acamera_metadata_tag {
18650    pub const ACAMERA_SYNC_MAX_LATENCY: acamera_metadata_tag = acamera_metadata_tag(1507329);
18651}
18652impl acamera_metadata_tag {
18653    pub const ACAMERA_SYNC_END: acamera_metadata_tag = acamera_metadata_tag(1507330);
18654}
18655impl acamera_metadata_tag {
18656    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18657        acamera_metadata_tag(1638401);
18658}
18659impl acamera_metadata_tag {
18660    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18661        acamera_metadata_tag(1638402);
18662}
18663impl acamera_metadata_tag {
18664    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
18665        acamera_metadata_tag(1638403);
18666}
18667impl acamera_metadata_tag {
18668    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE: acamera_metadata_tag =
18669        acamera_metadata_tag(1638404);
18670}
18671impl acamera_metadata_tag {
18672    pub const ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS:
18673        acamera_metadata_tag = acamera_metadata_tag(1638405);
18674}
18675impl acamera_metadata_tag {
18676    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18677        acamera_metadata_tag(1638406);
18678}
18679impl acamera_metadata_tag {
18680    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18681        acamera_metadata_tag(1638407);
18682}
18683impl acamera_metadata_tag {
18684    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
18685        acamera_metadata_tag(1638408);
18686}
18687impl acamera_metadata_tag {
18688    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18689        acamera_metadata_tag = acamera_metadata_tag(1638409);
18690}
18691impl acamera_metadata_tag {
18692    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18693        acamera_metadata_tag = acamera_metadata_tag(1638410);
18694}
18695impl acamera_metadata_tag {
18696    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18697        acamera_metadata_tag = acamera_metadata_tag(1638411);
18698}
18699impl acamera_metadata_tag {
18700    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18701        acamera_metadata_tag = acamera_metadata_tag(1638412);
18702}
18703impl acamera_metadata_tag {
18704    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18705        acamera_metadata_tag = acamera_metadata_tag(1638413);
18706}
18707impl acamera_metadata_tag {
18708    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18709        acamera_metadata_tag = acamera_metadata_tag(1638414);
18710}
18711impl acamera_metadata_tag {
18712    pub const ACAMERA_DEPTH_END: acamera_metadata_tag = acamera_metadata_tag(1638415);
18713}
18714impl acamera_metadata_tag {
18715    pub const ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: acamera_metadata_tag =
18716        acamera_metadata_tag(1703936);
18717}
18718impl acamera_metadata_tag {
18719    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: acamera_metadata_tag =
18720        acamera_metadata_tag(1703937);
18721}
18722impl acamera_metadata_tag {
18723    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: acamera_metadata_tag =
18724        acamera_metadata_tag(1703938);
18725}
18726impl acamera_metadata_tag {
18727    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION:
18728        acamera_metadata_tag = acamera_metadata_tag(1703939);
18729}
18730impl acamera_metadata_tag {
18731    pub const ACAMERA_LOGICAL_MULTI_CAMERA_END: acamera_metadata_tag =
18732        acamera_metadata_tag(1703940);
18733}
18734impl acamera_metadata_tag {
18735    pub const ACAMERA_DISTORTION_CORRECTION_MODE: acamera_metadata_tag =
18736        acamera_metadata_tag(1769472);
18737}
18738impl acamera_metadata_tag {
18739    pub const ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES: acamera_metadata_tag =
18740        acamera_metadata_tag(1769473);
18741}
18742impl acamera_metadata_tag {
18743    pub const ACAMERA_DISTORTION_CORRECTION_END: acamera_metadata_tag =
18744        acamera_metadata_tag(1769474);
18745}
18746impl acamera_metadata_tag {
18747    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18748        acamera_metadata_tag(1835008);
18749}
18750impl acamera_metadata_tag {
18751    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18752        acamera_metadata_tag(1835009);
18753}
18754impl acamera_metadata_tag {
18755    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: acamera_metadata_tag =
18756        acamera_metadata_tag(1835010);
18757}
18758impl acamera_metadata_tag {
18759    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18760        acamera_metadata_tag = acamera_metadata_tag(1835011);
18761}
18762impl acamera_metadata_tag {
18763    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18764        acamera_metadata_tag = acamera_metadata_tag(1835012);
18765}
18766impl acamera_metadata_tag {
18767    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18768        acamera_metadata_tag(1835013);
18769}
18770impl acamera_metadata_tag {
18771    pub const ACAMERA_HEIC_END: acamera_metadata_tag = acamera_metadata_tag(1835014);
18772}
18773impl acamera_metadata_tag {
18774    pub const ACAMERA_AUTOMOTIVE_LOCATION: acamera_metadata_tag = acamera_metadata_tag(1966080);
18775}
18776impl acamera_metadata_tag {
18777    pub const ACAMERA_AUTOMOTIVE_END: acamera_metadata_tag = acamera_metadata_tag(1966081);
18778}
18779impl acamera_metadata_tag {
18780    pub const ACAMERA_AUTOMOTIVE_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(2031616);
18781}
18782impl acamera_metadata_tag {
18783    pub const ACAMERA_AUTOMOTIVE_LENS_END: acamera_metadata_tag = acamera_metadata_tag(2031617);
18784}
18785impl acamera_metadata_tag {
18786    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS: acamera_metadata_tag =
18787        acamera_metadata_tag(2162688);
18788}
18789impl acamera_metadata_tag {
18790    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18791        acamera_metadata_tag(2162689);
18792}
18793impl acamera_metadata_tag {
18794    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS: acamera_metadata_tag =
18795        acamera_metadata_tag(2162690);
18796}
18797impl acamera_metadata_tag {
18798    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18799        acamera_metadata_tag = acamera_metadata_tag(2162691);
18800}
18801impl acamera_metadata_tag {
18802    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18803        acamera_metadata_tag = acamera_metadata_tag(2162692);
18804}
18805impl acamera_metadata_tag {
18806    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18807        acamera_metadata_tag = acamera_metadata_tag(2162693);
18808}
18809impl acamera_metadata_tag {
18810    pub const ACAMERA_JPEGR_END: acamera_metadata_tag = acamera_metadata_tag(2162694);
18811}
18812#[repr(transparent)]
18813#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18814pub struct acamera_metadata_tag(pub ::std::os::raw::c_uint);
18815pub use self::acamera_metadata_tag as acamera_metadata_tag_t;
18816impl acamera_metadata_enum_acamera_color_correction_mode {
18817    pub const ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
18818        acamera_metadata_enum_acamera_color_correction_mode =
18819        acamera_metadata_enum_acamera_color_correction_mode(0);
18820}
18821impl acamera_metadata_enum_acamera_color_correction_mode {
18822    pub const ACAMERA_COLOR_CORRECTION_MODE_FAST:
18823        acamera_metadata_enum_acamera_color_correction_mode =
18824        acamera_metadata_enum_acamera_color_correction_mode(1);
18825}
18826impl acamera_metadata_enum_acamera_color_correction_mode {
18827    pub const ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY:
18828        acamera_metadata_enum_acamera_color_correction_mode =
18829        acamera_metadata_enum_acamera_color_correction_mode(2);
18830}
18831#[repr(transparent)]
18832#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18833pub struct acamera_metadata_enum_acamera_color_correction_mode(pub ::std::os::raw::c_uint);
18834pub use self::acamera_metadata_enum_acamera_color_correction_mode as acamera_metadata_enum_android_color_correction_mode_t;
18835impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
18836    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF:
18837        acamera_metadata_enum_acamera_color_correction_aberration_mode =
18838        acamera_metadata_enum_acamera_color_correction_aberration_mode(0);
18839}
18840impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
18841    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST:
18842        acamera_metadata_enum_acamera_color_correction_aberration_mode =
18843        acamera_metadata_enum_acamera_color_correction_aberration_mode(1);
18844}
18845impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
18846    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY:
18847        acamera_metadata_enum_acamera_color_correction_aberration_mode =
18848        acamera_metadata_enum_acamera_color_correction_aberration_mode(2);
18849}
18850#[repr(transparent)]
18851#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18852pub struct acamera_metadata_enum_acamera_color_correction_aberration_mode(
18853    pub ::std::os::raw::c_uint,
18854);
18855pub use self::acamera_metadata_enum_acamera_color_correction_aberration_mode as acamera_metadata_enum_android_color_correction_aberration_mode_t;
18856impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
18857    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF:
18858        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
18859        acamera_metadata_enum_acamera_control_ae_antibanding_mode(0);
18860}
18861impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
18862    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ:
18863        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
18864        acamera_metadata_enum_acamera_control_ae_antibanding_mode(1);
18865}
18866impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
18867    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ:
18868        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
18869        acamera_metadata_enum_acamera_control_ae_antibanding_mode(2);
18870}
18871impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
18872    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO:
18873        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
18874        acamera_metadata_enum_acamera_control_ae_antibanding_mode(3);
18875}
18876#[repr(transparent)]
18877#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18878pub struct acamera_metadata_enum_acamera_control_ae_antibanding_mode(pub ::std::os::raw::c_uint);
18879pub use self::acamera_metadata_enum_acamera_control_ae_antibanding_mode as acamera_metadata_enum_android_control_ae_antibanding_mode_t;
18880impl acamera_metadata_enum_acamera_control_ae_lock {
18881    pub const ACAMERA_CONTROL_AE_LOCK_OFF: acamera_metadata_enum_acamera_control_ae_lock =
18882        acamera_metadata_enum_acamera_control_ae_lock(0);
18883}
18884impl acamera_metadata_enum_acamera_control_ae_lock {
18885    pub const ACAMERA_CONTROL_AE_LOCK_ON: acamera_metadata_enum_acamera_control_ae_lock =
18886        acamera_metadata_enum_acamera_control_ae_lock(1);
18887}
18888#[repr(transparent)]
18889#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18890pub struct acamera_metadata_enum_acamera_control_ae_lock(pub ::std::os::raw::c_uint);
18891pub use self::acamera_metadata_enum_acamera_control_ae_lock as acamera_metadata_enum_android_control_ae_lock_t;
18892impl acamera_metadata_enum_acamera_control_ae_mode {
18893    pub const ACAMERA_CONTROL_AE_MODE_OFF: acamera_metadata_enum_acamera_control_ae_mode =
18894        acamera_metadata_enum_acamera_control_ae_mode(0);
18895}
18896impl acamera_metadata_enum_acamera_control_ae_mode {
18897    pub const ACAMERA_CONTROL_AE_MODE_ON: acamera_metadata_enum_acamera_control_ae_mode =
18898        acamera_metadata_enum_acamera_control_ae_mode(1);
18899}
18900impl acamera_metadata_enum_acamera_control_ae_mode {
18901    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH: acamera_metadata_enum_acamera_control_ae_mode =
18902        acamera_metadata_enum_acamera_control_ae_mode(2);
18903}
18904impl acamera_metadata_enum_acamera_control_ae_mode {
18905    pub const ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
18906        acamera_metadata_enum_acamera_control_ae_mode =
18907        acamera_metadata_enum_acamera_control_ae_mode(3);
18908}
18909impl acamera_metadata_enum_acamera_control_ae_mode {
18910    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
18911        acamera_metadata_enum_acamera_control_ae_mode =
18912        acamera_metadata_enum_acamera_control_ae_mode(4);
18913}
18914impl acamera_metadata_enum_acamera_control_ae_mode {
18915    pub const ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH:
18916        acamera_metadata_enum_acamera_control_ae_mode =
18917        acamera_metadata_enum_acamera_control_ae_mode(5);
18918}
18919impl acamera_metadata_enum_acamera_control_ae_mode {
18920    pub const ACAMERA_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY:
18921        acamera_metadata_enum_acamera_control_ae_mode =
18922        acamera_metadata_enum_acamera_control_ae_mode(6);
18923}
18924#[repr(transparent)]
18925#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18926pub struct acamera_metadata_enum_acamera_control_ae_mode(pub ::std::os::raw::c_uint);
18927pub use self::acamera_metadata_enum_acamera_control_ae_mode as acamera_metadata_enum_android_control_ae_mode_t;
18928impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
18929    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
18930        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
18931        acamera_metadata_enum_acamera_control_ae_precapture_trigger(0);
18932}
18933impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
18934    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START:
18935        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
18936        acamera_metadata_enum_acamera_control_ae_precapture_trigger(1);
18937}
18938impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
18939    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL:
18940        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
18941        acamera_metadata_enum_acamera_control_ae_precapture_trigger(2);
18942}
18943#[repr(transparent)]
18944#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18945pub struct acamera_metadata_enum_acamera_control_ae_precapture_trigger(pub ::std::os::raw::c_uint);
18946pub use self::acamera_metadata_enum_acamera_control_ae_precapture_trigger as acamera_metadata_enum_android_control_ae_precapture_trigger_t;
18947impl acamera_metadata_enum_acamera_control_af_mode {
18948    pub const ACAMERA_CONTROL_AF_MODE_OFF: acamera_metadata_enum_acamera_control_af_mode =
18949        acamera_metadata_enum_acamera_control_af_mode(0);
18950}
18951impl acamera_metadata_enum_acamera_control_af_mode {
18952    pub const ACAMERA_CONTROL_AF_MODE_AUTO: acamera_metadata_enum_acamera_control_af_mode =
18953        acamera_metadata_enum_acamera_control_af_mode(1);
18954}
18955impl acamera_metadata_enum_acamera_control_af_mode {
18956    pub const ACAMERA_CONTROL_AF_MODE_MACRO: acamera_metadata_enum_acamera_control_af_mode =
18957        acamera_metadata_enum_acamera_control_af_mode(2);
18958}
18959impl acamera_metadata_enum_acamera_control_af_mode {
18960    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
18961        acamera_metadata_enum_acamera_control_af_mode =
18962        acamera_metadata_enum_acamera_control_af_mode(3);
18963}
18964impl acamera_metadata_enum_acamera_control_af_mode {
18965    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
18966        acamera_metadata_enum_acamera_control_af_mode =
18967        acamera_metadata_enum_acamera_control_af_mode(4);
18968}
18969impl acamera_metadata_enum_acamera_control_af_mode {
18970    pub const ACAMERA_CONTROL_AF_MODE_EDOF: acamera_metadata_enum_acamera_control_af_mode =
18971        acamera_metadata_enum_acamera_control_af_mode(5);
18972}
18973#[repr(transparent)]
18974#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18975pub struct acamera_metadata_enum_acamera_control_af_mode(pub ::std::os::raw::c_uint);
18976pub use self::acamera_metadata_enum_acamera_control_af_mode as acamera_metadata_enum_android_control_af_mode_t;
18977impl acamera_metadata_enum_acamera_control_af_trigger {
18978    pub const ACAMERA_CONTROL_AF_TRIGGER_IDLE: acamera_metadata_enum_acamera_control_af_trigger =
18979        acamera_metadata_enum_acamera_control_af_trigger(0);
18980}
18981impl acamera_metadata_enum_acamera_control_af_trigger {
18982    pub const ACAMERA_CONTROL_AF_TRIGGER_START: acamera_metadata_enum_acamera_control_af_trigger =
18983        acamera_metadata_enum_acamera_control_af_trigger(1);
18984}
18985impl acamera_metadata_enum_acamera_control_af_trigger {
18986    pub const ACAMERA_CONTROL_AF_TRIGGER_CANCEL: acamera_metadata_enum_acamera_control_af_trigger =
18987        acamera_metadata_enum_acamera_control_af_trigger(2);
18988}
18989#[repr(transparent)]
18990#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
18991pub struct acamera_metadata_enum_acamera_control_af_trigger(pub ::std::os::raw::c_uint);
18992pub use self::acamera_metadata_enum_acamera_control_af_trigger as acamera_metadata_enum_android_control_af_trigger_t;
18993impl acamera_metadata_enum_acamera_control_awb_lock {
18994    pub const ACAMERA_CONTROL_AWB_LOCK_OFF: acamera_metadata_enum_acamera_control_awb_lock =
18995        acamera_metadata_enum_acamera_control_awb_lock(0);
18996}
18997impl acamera_metadata_enum_acamera_control_awb_lock {
18998    pub const ACAMERA_CONTROL_AWB_LOCK_ON: acamera_metadata_enum_acamera_control_awb_lock =
18999        acamera_metadata_enum_acamera_control_awb_lock(1);
19000}
19001#[repr(transparent)]
19002#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19003pub struct acamera_metadata_enum_acamera_control_awb_lock(pub ::std::os::raw::c_uint);
19004pub use self::acamera_metadata_enum_acamera_control_awb_lock as acamera_metadata_enum_android_control_awb_lock_t;
19005impl acamera_metadata_enum_acamera_control_awb_mode {
19006    pub const ACAMERA_CONTROL_AWB_MODE_OFF: acamera_metadata_enum_acamera_control_awb_mode =
19007        acamera_metadata_enum_acamera_control_awb_mode(0);
19008}
19009impl acamera_metadata_enum_acamera_control_awb_mode {
19010    pub const ACAMERA_CONTROL_AWB_MODE_AUTO: acamera_metadata_enum_acamera_control_awb_mode =
19011        acamera_metadata_enum_acamera_control_awb_mode(1);
19012}
19013impl acamera_metadata_enum_acamera_control_awb_mode {
19014    pub const ACAMERA_CONTROL_AWB_MODE_INCANDESCENT:
19015        acamera_metadata_enum_acamera_control_awb_mode =
19016        acamera_metadata_enum_acamera_control_awb_mode(2);
19017}
19018impl acamera_metadata_enum_acamera_control_awb_mode {
19019    pub const ACAMERA_CONTROL_AWB_MODE_FLUORESCENT: acamera_metadata_enum_acamera_control_awb_mode =
19020        acamera_metadata_enum_acamera_control_awb_mode(3);
19021}
19022impl acamera_metadata_enum_acamera_control_awb_mode {
19023    pub const ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT:
19024        acamera_metadata_enum_acamera_control_awb_mode =
19025        acamera_metadata_enum_acamera_control_awb_mode(4);
19026}
19027impl acamera_metadata_enum_acamera_control_awb_mode {
19028    pub const ACAMERA_CONTROL_AWB_MODE_DAYLIGHT: acamera_metadata_enum_acamera_control_awb_mode =
19029        acamera_metadata_enum_acamera_control_awb_mode(5);
19030}
19031impl acamera_metadata_enum_acamera_control_awb_mode {
19032    pub const ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
19033        acamera_metadata_enum_acamera_control_awb_mode =
19034        acamera_metadata_enum_acamera_control_awb_mode(6);
19035}
19036impl acamera_metadata_enum_acamera_control_awb_mode {
19037    pub const ACAMERA_CONTROL_AWB_MODE_TWILIGHT: acamera_metadata_enum_acamera_control_awb_mode =
19038        acamera_metadata_enum_acamera_control_awb_mode(7);
19039}
19040impl acamera_metadata_enum_acamera_control_awb_mode {
19041    pub const ACAMERA_CONTROL_AWB_MODE_SHADE: acamera_metadata_enum_acamera_control_awb_mode =
19042        acamera_metadata_enum_acamera_control_awb_mode(8);
19043}
19044#[repr(transparent)]
19045#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19046pub struct acamera_metadata_enum_acamera_control_awb_mode(pub ::std::os::raw::c_uint);
19047pub use self::acamera_metadata_enum_acamera_control_awb_mode as acamera_metadata_enum_android_control_awb_mode_t;
19048impl acamera_metadata_enum_acamera_control_capture_intent {
19049    pub const ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM:
19050        acamera_metadata_enum_acamera_control_capture_intent =
19051        acamera_metadata_enum_acamera_control_capture_intent(0);
19052}
19053impl acamera_metadata_enum_acamera_control_capture_intent {
19054    pub const ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW:
19055        acamera_metadata_enum_acamera_control_capture_intent =
19056        acamera_metadata_enum_acamera_control_capture_intent(1);
19057}
19058impl acamera_metadata_enum_acamera_control_capture_intent {
19059    pub const ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
19060        acamera_metadata_enum_acamera_control_capture_intent =
19061        acamera_metadata_enum_acamera_control_capture_intent(2);
19062}
19063impl acamera_metadata_enum_acamera_control_capture_intent {
19064    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
19065        acamera_metadata_enum_acamera_control_capture_intent =
19066        acamera_metadata_enum_acamera_control_capture_intent(3);
19067}
19068impl acamera_metadata_enum_acamera_control_capture_intent {
19069    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
19070        acamera_metadata_enum_acamera_control_capture_intent =
19071        acamera_metadata_enum_acamera_control_capture_intent(4);
19072}
19073impl acamera_metadata_enum_acamera_control_capture_intent {
19074    pub const ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
19075        acamera_metadata_enum_acamera_control_capture_intent =
19076        acamera_metadata_enum_acamera_control_capture_intent(5);
19077}
19078impl acamera_metadata_enum_acamera_control_capture_intent {
19079    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL:
19080        acamera_metadata_enum_acamera_control_capture_intent =
19081        acamera_metadata_enum_acamera_control_capture_intent(6);
19082}
19083impl acamera_metadata_enum_acamera_control_capture_intent {
19084    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING:
19085        acamera_metadata_enum_acamera_control_capture_intent =
19086        acamera_metadata_enum_acamera_control_capture_intent(7);
19087}
19088#[repr(transparent)]
19089#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19090pub struct acamera_metadata_enum_acamera_control_capture_intent(pub ::std::os::raw::c_uint);
19091pub use self::acamera_metadata_enum_acamera_control_capture_intent as acamera_metadata_enum_android_control_capture_intent_t;
19092impl acamera_metadata_enum_acamera_control_effect_mode {
19093    pub const ACAMERA_CONTROL_EFFECT_MODE_OFF: acamera_metadata_enum_acamera_control_effect_mode =
19094        acamera_metadata_enum_acamera_control_effect_mode(0);
19095}
19096impl acamera_metadata_enum_acamera_control_effect_mode {
19097    pub const ACAMERA_CONTROL_EFFECT_MODE_MONO: acamera_metadata_enum_acamera_control_effect_mode =
19098        acamera_metadata_enum_acamera_control_effect_mode(1);
19099}
19100impl acamera_metadata_enum_acamera_control_effect_mode {
19101    pub const ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE:
19102        acamera_metadata_enum_acamera_control_effect_mode =
19103        acamera_metadata_enum_acamera_control_effect_mode(2);
19104}
19105impl acamera_metadata_enum_acamera_control_effect_mode {
19106    pub const ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE:
19107        acamera_metadata_enum_acamera_control_effect_mode =
19108        acamera_metadata_enum_acamera_control_effect_mode(3);
19109}
19110impl acamera_metadata_enum_acamera_control_effect_mode {
19111    pub const ACAMERA_CONTROL_EFFECT_MODE_SEPIA: acamera_metadata_enum_acamera_control_effect_mode =
19112        acamera_metadata_enum_acamera_control_effect_mode(4);
19113}
19114impl acamera_metadata_enum_acamera_control_effect_mode {
19115    pub const ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE:
19116        acamera_metadata_enum_acamera_control_effect_mode =
19117        acamera_metadata_enum_acamera_control_effect_mode(5);
19118}
19119impl acamera_metadata_enum_acamera_control_effect_mode {
19120    pub const ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD:
19121        acamera_metadata_enum_acamera_control_effect_mode =
19122        acamera_metadata_enum_acamera_control_effect_mode(6);
19123}
19124impl acamera_metadata_enum_acamera_control_effect_mode {
19125    pub const ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD:
19126        acamera_metadata_enum_acamera_control_effect_mode =
19127        acamera_metadata_enum_acamera_control_effect_mode(7);
19128}
19129impl acamera_metadata_enum_acamera_control_effect_mode {
19130    pub const ACAMERA_CONTROL_EFFECT_MODE_AQUA: acamera_metadata_enum_acamera_control_effect_mode =
19131        acamera_metadata_enum_acamera_control_effect_mode(8);
19132}
19133#[repr(transparent)]
19134#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19135pub struct acamera_metadata_enum_acamera_control_effect_mode(pub ::std::os::raw::c_uint);
19136pub use self::acamera_metadata_enum_acamera_control_effect_mode as acamera_metadata_enum_android_control_effect_mode_t;
19137impl acamera_metadata_enum_acamera_control_mode {
19138    pub const ACAMERA_CONTROL_MODE_OFF: acamera_metadata_enum_acamera_control_mode =
19139        acamera_metadata_enum_acamera_control_mode(0);
19140}
19141impl acamera_metadata_enum_acamera_control_mode {
19142    pub const ACAMERA_CONTROL_MODE_AUTO: acamera_metadata_enum_acamera_control_mode =
19143        acamera_metadata_enum_acamera_control_mode(1);
19144}
19145impl acamera_metadata_enum_acamera_control_mode {
19146    pub const ACAMERA_CONTROL_MODE_USE_SCENE_MODE: acamera_metadata_enum_acamera_control_mode =
19147        acamera_metadata_enum_acamera_control_mode(2);
19148}
19149impl acamera_metadata_enum_acamera_control_mode {
19150    pub const ACAMERA_CONTROL_MODE_OFF_KEEP_STATE: acamera_metadata_enum_acamera_control_mode =
19151        acamera_metadata_enum_acamera_control_mode(3);
19152}
19153impl acamera_metadata_enum_acamera_control_mode {
19154    pub const ACAMERA_CONTROL_MODE_USE_EXTENDED_SCENE_MODE:
19155        acamera_metadata_enum_acamera_control_mode = acamera_metadata_enum_acamera_control_mode(4);
19156}
19157#[repr(transparent)]
19158#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19159pub struct acamera_metadata_enum_acamera_control_mode(pub ::std::os::raw::c_uint);
19160pub use self::acamera_metadata_enum_acamera_control_mode as acamera_metadata_enum_android_control_mode_t;
19161impl acamera_metadata_enum_acamera_control_scene_mode {
19162    pub const ACAMERA_CONTROL_SCENE_MODE_DISABLED:
19163        acamera_metadata_enum_acamera_control_scene_mode =
19164        acamera_metadata_enum_acamera_control_scene_mode(0);
19165}
19166impl acamera_metadata_enum_acamera_control_scene_mode {
19167    pub const ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY:
19168        acamera_metadata_enum_acamera_control_scene_mode =
19169        acamera_metadata_enum_acamera_control_scene_mode(1);
19170}
19171impl acamera_metadata_enum_acamera_control_scene_mode {
19172    pub const ACAMERA_CONTROL_SCENE_MODE_ACTION: acamera_metadata_enum_acamera_control_scene_mode =
19173        acamera_metadata_enum_acamera_control_scene_mode(2);
19174}
19175impl acamera_metadata_enum_acamera_control_scene_mode {
19176    pub const ACAMERA_CONTROL_SCENE_MODE_PORTRAIT:
19177        acamera_metadata_enum_acamera_control_scene_mode =
19178        acamera_metadata_enum_acamera_control_scene_mode(3);
19179}
19180impl acamera_metadata_enum_acamera_control_scene_mode {
19181    pub const ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE:
19182        acamera_metadata_enum_acamera_control_scene_mode =
19183        acamera_metadata_enum_acamera_control_scene_mode(4);
19184}
19185impl acamera_metadata_enum_acamera_control_scene_mode {
19186    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT: acamera_metadata_enum_acamera_control_scene_mode =
19187        acamera_metadata_enum_acamera_control_scene_mode(5);
19188}
19189impl acamera_metadata_enum_acamera_control_scene_mode {
19190    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
19191        acamera_metadata_enum_acamera_control_scene_mode =
19192        acamera_metadata_enum_acamera_control_scene_mode(6);
19193}
19194impl acamera_metadata_enum_acamera_control_scene_mode {
19195    pub const ACAMERA_CONTROL_SCENE_MODE_THEATRE: acamera_metadata_enum_acamera_control_scene_mode =
19196        acamera_metadata_enum_acamera_control_scene_mode(7);
19197}
19198impl acamera_metadata_enum_acamera_control_scene_mode {
19199    pub const ACAMERA_CONTROL_SCENE_MODE_BEACH: acamera_metadata_enum_acamera_control_scene_mode =
19200        acamera_metadata_enum_acamera_control_scene_mode(8);
19201}
19202impl acamera_metadata_enum_acamera_control_scene_mode {
19203    pub const ACAMERA_CONTROL_SCENE_MODE_SNOW: acamera_metadata_enum_acamera_control_scene_mode =
19204        acamera_metadata_enum_acamera_control_scene_mode(9);
19205}
19206impl acamera_metadata_enum_acamera_control_scene_mode {
19207    pub const ACAMERA_CONTROL_SCENE_MODE_SUNSET: acamera_metadata_enum_acamera_control_scene_mode =
19208        acamera_metadata_enum_acamera_control_scene_mode(10);
19209}
19210impl acamera_metadata_enum_acamera_control_scene_mode {
19211    pub const ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO:
19212        acamera_metadata_enum_acamera_control_scene_mode =
19213        acamera_metadata_enum_acamera_control_scene_mode(11);
19214}
19215impl acamera_metadata_enum_acamera_control_scene_mode {
19216    pub const ACAMERA_CONTROL_SCENE_MODE_FIREWORKS:
19217        acamera_metadata_enum_acamera_control_scene_mode =
19218        acamera_metadata_enum_acamera_control_scene_mode(12);
19219}
19220impl acamera_metadata_enum_acamera_control_scene_mode {
19221    pub const ACAMERA_CONTROL_SCENE_MODE_SPORTS: acamera_metadata_enum_acamera_control_scene_mode =
19222        acamera_metadata_enum_acamera_control_scene_mode(13);
19223}
19224impl acamera_metadata_enum_acamera_control_scene_mode {
19225    pub const ACAMERA_CONTROL_SCENE_MODE_PARTY: acamera_metadata_enum_acamera_control_scene_mode =
19226        acamera_metadata_enum_acamera_control_scene_mode(14);
19227}
19228impl acamera_metadata_enum_acamera_control_scene_mode {
19229    pub const ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT:
19230        acamera_metadata_enum_acamera_control_scene_mode =
19231        acamera_metadata_enum_acamera_control_scene_mode(15);
19232}
19233impl acamera_metadata_enum_acamera_control_scene_mode {
19234    pub const ACAMERA_CONTROL_SCENE_MODE_BARCODE: acamera_metadata_enum_acamera_control_scene_mode =
19235        acamera_metadata_enum_acamera_control_scene_mode(16);
19236}
19237impl acamera_metadata_enum_acamera_control_scene_mode {
19238    pub const ACAMERA_CONTROL_SCENE_MODE_HDR: acamera_metadata_enum_acamera_control_scene_mode =
19239        acamera_metadata_enum_acamera_control_scene_mode(18);
19240}
19241#[repr(transparent)]
19242#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19243pub struct acamera_metadata_enum_acamera_control_scene_mode(pub ::std::os::raw::c_uint);
19244pub use self::acamera_metadata_enum_acamera_control_scene_mode as acamera_metadata_enum_android_control_scene_mode_t;
19245impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
19246    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
19247        acamera_metadata_enum_acamera_control_video_stabilization_mode =
19248        acamera_metadata_enum_acamera_control_video_stabilization_mode(0);
19249}
19250impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
19251    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON:
19252        acamera_metadata_enum_acamera_control_video_stabilization_mode =
19253        acamera_metadata_enum_acamera_control_video_stabilization_mode(1);
19254}
19255impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
19256    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION:
19257        acamera_metadata_enum_acamera_control_video_stabilization_mode =
19258        acamera_metadata_enum_acamera_control_video_stabilization_mode(2);
19259}
19260#[repr(transparent)]
19261#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19262pub struct acamera_metadata_enum_acamera_control_video_stabilization_mode(
19263    pub ::std::os::raw::c_uint,
19264);
19265pub use self::acamera_metadata_enum_acamera_control_video_stabilization_mode as acamera_metadata_enum_android_control_video_stabilization_mode_t;
19266impl acamera_metadata_enum_acamera_control_ae_state {
19267    pub const ACAMERA_CONTROL_AE_STATE_INACTIVE: acamera_metadata_enum_acamera_control_ae_state =
19268        acamera_metadata_enum_acamera_control_ae_state(0);
19269}
19270impl acamera_metadata_enum_acamera_control_ae_state {
19271    pub const ACAMERA_CONTROL_AE_STATE_SEARCHING: acamera_metadata_enum_acamera_control_ae_state =
19272        acamera_metadata_enum_acamera_control_ae_state(1);
19273}
19274impl acamera_metadata_enum_acamera_control_ae_state {
19275    pub const ACAMERA_CONTROL_AE_STATE_CONVERGED: acamera_metadata_enum_acamera_control_ae_state =
19276        acamera_metadata_enum_acamera_control_ae_state(2);
19277}
19278impl acamera_metadata_enum_acamera_control_ae_state {
19279    pub const ACAMERA_CONTROL_AE_STATE_LOCKED: acamera_metadata_enum_acamera_control_ae_state =
19280        acamera_metadata_enum_acamera_control_ae_state(3);
19281}
19282impl acamera_metadata_enum_acamera_control_ae_state {
19283    pub const ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED:
19284        acamera_metadata_enum_acamera_control_ae_state =
19285        acamera_metadata_enum_acamera_control_ae_state(4);
19286}
19287impl acamera_metadata_enum_acamera_control_ae_state {
19288    pub const ACAMERA_CONTROL_AE_STATE_PRECAPTURE: acamera_metadata_enum_acamera_control_ae_state =
19289        acamera_metadata_enum_acamera_control_ae_state(5);
19290}
19291#[repr(transparent)]
19292#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19293pub struct acamera_metadata_enum_acamera_control_ae_state(pub ::std::os::raw::c_uint);
19294pub use self::acamera_metadata_enum_acamera_control_ae_state as acamera_metadata_enum_android_control_ae_state_t;
19295impl acamera_metadata_enum_acamera_control_af_state {
19296    pub const ACAMERA_CONTROL_AF_STATE_INACTIVE: acamera_metadata_enum_acamera_control_af_state =
19297        acamera_metadata_enum_acamera_control_af_state(0);
19298}
19299impl acamera_metadata_enum_acamera_control_af_state {
19300    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN:
19301        acamera_metadata_enum_acamera_control_af_state =
19302        acamera_metadata_enum_acamera_control_af_state(1);
19303}
19304impl acamera_metadata_enum_acamera_control_af_state {
19305    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED:
19306        acamera_metadata_enum_acamera_control_af_state =
19307        acamera_metadata_enum_acamera_control_af_state(2);
19308}
19309impl acamera_metadata_enum_acamera_control_af_state {
19310    pub const ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN: acamera_metadata_enum_acamera_control_af_state =
19311        acamera_metadata_enum_acamera_control_af_state(3);
19312}
19313impl acamera_metadata_enum_acamera_control_af_state {
19314    pub const ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED:
19315        acamera_metadata_enum_acamera_control_af_state =
19316        acamera_metadata_enum_acamera_control_af_state(4);
19317}
19318impl acamera_metadata_enum_acamera_control_af_state {
19319    pub const ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
19320        acamera_metadata_enum_acamera_control_af_state =
19321        acamera_metadata_enum_acamera_control_af_state(5);
19322}
19323impl acamera_metadata_enum_acamera_control_af_state {
19324    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
19325        acamera_metadata_enum_acamera_control_af_state =
19326        acamera_metadata_enum_acamera_control_af_state(6);
19327}
19328#[repr(transparent)]
19329#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19330pub struct acamera_metadata_enum_acamera_control_af_state(pub ::std::os::raw::c_uint);
19331pub use self::acamera_metadata_enum_acamera_control_af_state as acamera_metadata_enum_android_control_af_state_t;
19332impl acamera_metadata_enum_acamera_control_awb_state {
19333    pub const ACAMERA_CONTROL_AWB_STATE_INACTIVE: acamera_metadata_enum_acamera_control_awb_state =
19334        acamera_metadata_enum_acamera_control_awb_state(0);
19335}
19336impl acamera_metadata_enum_acamera_control_awb_state {
19337    pub const ACAMERA_CONTROL_AWB_STATE_SEARCHING: acamera_metadata_enum_acamera_control_awb_state =
19338        acamera_metadata_enum_acamera_control_awb_state(1);
19339}
19340impl acamera_metadata_enum_acamera_control_awb_state {
19341    pub const ACAMERA_CONTROL_AWB_STATE_CONVERGED: acamera_metadata_enum_acamera_control_awb_state =
19342        acamera_metadata_enum_acamera_control_awb_state(2);
19343}
19344impl acamera_metadata_enum_acamera_control_awb_state {
19345    pub const ACAMERA_CONTROL_AWB_STATE_LOCKED: acamera_metadata_enum_acamera_control_awb_state =
19346        acamera_metadata_enum_acamera_control_awb_state(3);
19347}
19348#[repr(transparent)]
19349#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19350pub struct acamera_metadata_enum_acamera_control_awb_state(pub ::std::os::raw::c_uint);
19351pub use self::acamera_metadata_enum_acamera_control_awb_state as acamera_metadata_enum_android_control_awb_state_t;
19352impl acamera_metadata_enum_acamera_control_ae_lock_available {
19353    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE:
19354        acamera_metadata_enum_acamera_control_ae_lock_available =
19355        acamera_metadata_enum_acamera_control_ae_lock_available(0);
19356}
19357impl acamera_metadata_enum_acamera_control_ae_lock_available {
19358    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE:
19359        acamera_metadata_enum_acamera_control_ae_lock_available =
19360        acamera_metadata_enum_acamera_control_ae_lock_available(1);
19361}
19362#[repr(transparent)]
19363#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19364pub struct acamera_metadata_enum_acamera_control_ae_lock_available(pub ::std::os::raw::c_uint);
19365pub use self::acamera_metadata_enum_acamera_control_ae_lock_available as acamera_metadata_enum_android_control_ae_lock_available_t;
19366impl acamera_metadata_enum_acamera_control_awb_lock_available {
19367    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE:
19368        acamera_metadata_enum_acamera_control_awb_lock_available =
19369        acamera_metadata_enum_acamera_control_awb_lock_available(0);
19370}
19371impl acamera_metadata_enum_acamera_control_awb_lock_available {
19372    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE:
19373        acamera_metadata_enum_acamera_control_awb_lock_available =
19374        acamera_metadata_enum_acamera_control_awb_lock_available(1);
19375}
19376#[repr(transparent)]
19377#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19378pub struct acamera_metadata_enum_acamera_control_awb_lock_available(pub ::std::os::raw::c_uint);
19379pub use self::acamera_metadata_enum_acamera_control_awb_lock_available as acamera_metadata_enum_android_control_awb_lock_available_t;
19380impl acamera_metadata_enum_acamera_control_enable_zsl {
19381    pub const ACAMERA_CONTROL_ENABLE_ZSL_FALSE: acamera_metadata_enum_acamera_control_enable_zsl =
19382        acamera_metadata_enum_acamera_control_enable_zsl(0);
19383}
19384impl acamera_metadata_enum_acamera_control_enable_zsl {
19385    pub const ACAMERA_CONTROL_ENABLE_ZSL_TRUE: acamera_metadata_enum_acamera_control_enable_zsl =
19386        acamera_metadata_enum_acamera_control_enable_zsl(1);
19387}
19388#[repr(transparent)]
19389#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19390pub struct acamera_metadata_enum_acamera_control_enable_zsl(pub ::std::os::raw::c_uint);
19391pub use self::acamera_metadata_enum_acamera_control_enable_zsl as acamera_metadata_enum_android_control_enable_zsl_t;
19392impl acamera_metadata_enum_acamera_control_af_scene_change {
19393    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED:
19394        acamera_metadata_enum_acamera_control_af_scene_change =
19395        acamera_metadata_enum_acamera_control_af_scene_change(0);
19396}
19397impl acamera_metadata_enum_acamera_control_af_scene_change {
19398    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_DETECTED:
19399        acamera_metadata_enum_acamera_control_af_scene_change =
19400        acamera_metadata_enum_acamera_control_af_scene_change(1);
19401}
19402#[repr(transparent)]
19403#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19404pub struct acamera_metadata_enum_acamera_control_af_scene_change(pub ::std::os::raw::c_uint);
19405pub use self::acamera_metadata_enum_acamera_control_af_scene_change as acamera_metadata_enum_android_control_af_scene_change_t;
19406impl acamera_metadata_enum_acamera_control_extended_scene_mode {
19407    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_DISABLED:
19408        acamera_metadata_enum_acamera_control_extended_scene_mode =
19409        acamera_metadata_enum_acamera_control_extended_scene_mode(0);
19410}
19411impl acamera_metadata_enum_acamera_control_extended_scene_mode {
19412    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE:
19413        acamera_metadata_enum_acamera_control_extended_scene_mode =
19414        acamera_metadata_enum_acamera_control_extended_scene_mode(1);
19415}
19416impl acamera_metadata_enum_acamera_control_extended_scene_mode {
19417    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS:
19418        acamera_metadata_enum_acamera_control_extended_scene_mode =
19419        acamera_metadata_enum_acamera_control_extended_scene_mode(2);
19420}
19421#[repr(transparent)]
19422#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19423pub struct acamera_metadata_enum_acamera_control_extended_scene_mode(pub ::std::os::raw::c_uint);
19424pub use self::acamera_metadata_enum_acamera_control_extended_scene_mode as acamera_metadata_enum_android_control_extended_scene_mode_t;
19425impl acamera_metadata_enum_acamera_control_settings_override {
19426    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_OFF:
19427        acamera_metadata_enum_acamera_control_settings_override =
19428        acamera_metadata_enum_acamera_control_settings_override(0);
19429}
19430impl acamera_metadata_enum_acamera_control_settings_override {
19431    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_ZOOM:
19432        acamera_metadata_enum_acamera_control_settings_override =
19433        acamera_metadata_enum_acamera_control_settings_override(1);
19434}
19435#[repr(transparent)]
19436#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19437pub struct acamera_metadata_enum_acamera_control_settings_override(pub ::std::os::raw::c_uint);
19438pub use self::acamera_metadata_enum_acamera_control_settings_override as acamera_metadata_enum_android_control_settings_override_t;
19439impl acamera_metadata_enum_acamera_control_autoframing {
19440    pub const ACAMERA_CONTROL_AUTOFRAMING_OFF: acamera_metadata_enum_acamera_control_autoframing =
19441        acamera_metadata_enum_acamera_control_autoframing(0);
19442}
19443impl acamera_metadata_enum_acamera_control_autoframing {
19444    pub const ACAMERA_CONTROL_AUTOFRAMING_ON: acamera_metadata_enum_acamera_control_autoframing =
19445        acamera_metadata_enum_acamera_control_autoframing(1);
19446}
19447#[repr(transparent)]
19448#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19449pub struct acamera_metadata_enum_acamera_control_autoframing(pub ::std::os::raw::c_uint);
19450pub use self::acamera_metadata_enum_acamera_control_autoframing as acamera_metadata_enum_android_control_autoframing_t;
19451impl acamera_metadata_enum_acamera_control_autoframing_available {
19452    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_FALSE:
19453        acamera_metadata_enum_acamera_control_autoframing_available =
19454        acamera_metadata_enum_acamera_control_autoframing_available(0);
19455}
19456impl acamera_metadata_enum_acamera_control_autoframing_available {
19457    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_TRUE:
19458        acamera_metadata_enum_acamera_control_autoframing_available =
19459        acamera_metadata_enum_acamera_control_autoframing_available(1);
19460}
19461#[repr(transparent)]
19462#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19463pub struct acamera_metadata_enum_acamera_control_autoframing_available(pub ::std::os::raw::c_uint);
19464pub use self::acamera_metadata_enum_acamera_control_autoframing_available as acamera_metadata_enum_android_control_autoframing_available_t;
19465impl acamera_metadata_enum_acamera_control_autoframing_state {
19466    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_INACTIVE:
19467        acamera_metadata_enum_acamera_control_autoframing_state =
19468        acamera_metadata_enum_acamera_control_autoframing_state(0);
19469}
19470impl acamera_metadata_enum_acamera_control_autoframing_state {
19471    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_FRAMING:
19472        acamera_metadata_enum_acamera_control_autoframing_state =
19473        acamera_metadata_enum_acamera_control_autoframing_state(1);
19474}
19475impl acamera_metadata_enum_acamera_control_autoframing_state {
19476    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_CONVERGED:
19477        acamera_metadata_enum_acamera_control_autoframing_state =
19478        acamera_metadata_enum_acamera_control_autoframing_state(2);
19479}
19480#[repr(transparent)]
19481#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19482pub struct acamera_metadata_enum_acamera_control_autoframing_state(pub ::std::os::raw::c_uint);
19483pub use self::acamera_metadata_enum_acamera_control_autoframing_state as acamera_metadata_enum_android_control_autoframing_state_t;
19484impl acamera_metadata_enum_acamera_control_low_light_boost_state {
19485    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE:
19486        acamera_metadata_enum_acamera_control_low_light_boost_state =
19487        acamera_metadata_enum_acamera_control_low_light_boost_state(0);
19488}
19489impl acamera_metadata_enum_acamera_control_low_light_boost_state {
19490    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE:
19491        acamera_metadata_enum_acamera_control_low_light_boost_state =
19492        acamera_metadata_enum_acamera_control_low_light_boost_state(1);
19493}
19494#[repr(transparent)]
19495#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19496pub struct acamera_metadata_enum_acamera_control_low_light_boost_state(pub ::std::os::raw::c_uint);
19497pub use self::acamera_metadata_enum_acamera_control_low_light_boost_state as acamera_metadata_enum_android_control_low_light_boost_state_t;
19498impl acamera_metadata_enum_acamera_edge_mode {
19499    pub const ACAMERA_EDGE_MODE_OFF: acamera_metadata_enum_acamera_edge_mode =
19500        acamera_metadata_enum_acamera_edge_mode(0);
19501}
19502impl acamera_metadata_enum_acamera_edge_mode {
19503    pub const ACAMERA_EDGE_MODE_FAST: acamera_metadata_enum_acamera_edge_mode =
19504        acamera_metadata_enum_acamera_edge_mode(1);
19505}
19506impl acamera_metadata_enum_acamera_edge_mode {
19507    pub const ACAMERA_EDGE_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_edge_mode =
19508        acamera_metadata_enum_acamera_edge_mode(2);
19509}
19510impl acamera_metadata_enum_acamera_edge_mode {
19511    pub const ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG: acamera_metadata_enum_acamera_edge_mode =
19512        acamera_metadata_enum_acamera_edge_mode(3);
19513}
19514#[repr(transparent)]
19515#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19516pub struct acamera_metadata_enum_acamera_edge_mode(pub ::std::os::raw::c_uint);
19517pub use self::acamera_metadata_enum_acamera_edge_mode as acamera_metadata_enum_android_edge_mode_t;
19518impl acamera_metadata_enum_acamera_flash_mode {
19519    pub const ACAMERA_FLASH_MODE_OFF: acamera_metadata_enum_acamera_flash_mode =
19520        acamera_metadata_enum_acamera_flash_mode(0);
19521}
19522impl acamera_metadata_enum_acamera_flash_mode {
19523    pub const ACAMERA_FLASH_MODE_SINGLE: acamera_metadata_enum_acamera_flash_mode =
19524        acamera_metadata_enum_acamera_flash_mode(1);
19525}
19526impl acamera_metadata_enum_acamera_flash_mode {
19527    pub const ACAMERA_FLASH_MODE_TORCH: acamera_metadata_enum_acamera_flash_mode =
19528        acamera_metadata_enum_acamera_flash_mode(2);
19529}
19530#[repr(transparent)]
19531#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19532pub struct acamera_metadata_enum_acamera_flash_mode(pub ::std::os::raw::c_uint);
19533pub use self::acamera_metadata_enum_acamera_flash_mode as acamera_metadata_enum_android_flash_mode_t;
19534impl acamera_metadata_enum_acamera_flash_state {
19535    pub const ACAMERA_FLASH_STATE_UNAVAILABLE: acamera_metadata_enum_acamera_flash_state =
19536        acamera_metadata_enum_acamera_flash_state(0);
19537}
19538impl acamera_metadata_enum_acamera_flash_state {
19539    pub const ACAMERA_FLASH_STATE_CHARGING: acamera_metadata_enum_acamera_flash_state =
19540        acamera_metadata_enum_acamera_flash_state(1);
19541}
19542impl acamera_metadata_enum_acamera_flash_state {
19543    pub const ACAMERA_FLASH_STATE_READY: acamera_metadata_enum_acamera_flash_state =
19544        acamera_metadata_enum_acamera_flash_state(2);
19545}
19546impl acamera_metadata_enum_acamera_flash_state {
19547    pub const ACAMERA_FLASH_STATE_FIRED: acamera_metadata_enum_acamera_flash_state =
19548        acamera_metadata_enum_acamera_flash_state(3);
19549}
19550impl acamera_metadata_enum_acamera_flash_state {
19551    pub const ACAMERA_FLASH_STATE_PARTIAL: acamera_metadata_enum_acamera_flash_state =
19552        acamera_metadata_enum_acamera_flash_state(4);
19553}
19554#[repr(transparent)]
19555#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19556pub struct acamera_metadata_enum_acamera_flash_state(pub ::std::os::raw::c_uint);
19557pub use self::acamera_metadata_enum_acamera_flash_state as acamera_metadata_enum_android_flash_state_t;
19558impl acamera_metadata_enum_acamera_flash_info_available {
19559    pub const ACAMERA_FLASH_INFO_AVAILABLE_FALSE:
19560        acamera_metadata_enum_acamera_flash_info_available =
19561        acamera_metadata_enum_acamera_flash_info_available(0);
19562}
19563impl acamera_metadata_enum_acamera_flash_info_available {
19564    pub const ACAMERA_FLASH_INFO_AVAILABLE_TRUE:
19565        acamera_metadata_enum_acamera_flash_info_available =
19566        acamera_metadata_enum_acamera_flash_info_available(1);
19567}
19568#[repr(transparent)]
19569#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19570pub struct acamera_metadata_enum_acamera_flash_info_available(pub ::std::os::raw::c_uint);
19571pub use self::acamera_metadata_enum_acamera_flash_info_available as acamera_metadata_enum_android_flash_info_available_t;
19572impl acamera_metadata_enum_acamera_hot_pixel_mode {
19573    pub const ACAMERA_HOT_PIXEL_MODE_OFF: acamera_metadata_enum_acamera_hot_pixel_mode =
19574        acamera_metadata_enum_acamera_hot_pixel_mode(0);
19575}
19576impl acamera_metadata_enum_acamera_hot_pixel_mode {
19577    pub const ACAMERA_HOT_PIXEL_MODE_FAST: acamera_metadata_enum_acamera_hot_pixel_mode =
19578        acamera_metadata_enum_acamera_hot_pixel_mode(1);
19579}
19580impl acamera_metadata_enum_acamera_hot_pixel_mode {
19581    pub const ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_hot_pixel_mode =
19582        acamera_metadata_enum_acamera_hot_pixel_mode(2);
19583}
19584#[repr(transparent)]
19585#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19586pub struct acamera_metadata_enum_acamera_hot_pixel_mode(pub ::std::os::raw::c_uint);
19587pub use self::acamera_metadata_enum_acamera_hot_pixel_mode as acamera_metadata_enum_android_hot_pixel_mode_t;
19588impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
19589    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF:
19590        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
19591        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(0);
19592}
19593impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
19594    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON:
19595        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
19596        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(1);
19597}
19598#[repr(transparent)]
19599#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19600pub struct acamera_metadata_enum_acamera_lens_optical_stabilization_mode(
19601    pub ::std::os::raw::c_uint,
19602);
19603pub use self::acamera_metadata_enum_acamera_lens_optical_stabilization_mode as acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
19604impl acamera_metadata_enum_acamera_lens_facing {
19605    pub const ACAMERA_LENS_FACING_FRONT: acamera_metadata_enum_acamera_lens_facing =
19606        acamera_metadata_enum_acamera_lens_facing(0);
19607}
19608impl acamera_metadata_enum_acamera_lens_facing {
19609    pub const ACAMERA_LENS_FACING_BACK: acamera_metadata_enum_acamera_lens_facing =
19610        acamera_metadata_enum_acamera_lens_facing(1);
19611}
19612impl acamera_metadata_enum_acamera_lens_facing {
19613    pub const ACAMERA_LENS_FACING_EXTERNAL: acamera_metadata_enum_acamera_lens_facing =
19614        acamera_metadata_enum_acamera_lens_facing(2);
19615}
19616#[repr(transparent)]
19617#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19618pub struct acamera_metadata_enum_acamera_lens_facing(pub ::std::os::raw::c_uint);
19619pub use self::acamera_metadata_enum_acamera_lens_facing as acamera_metadata_enum_android_lens_facing_t;
19620impl acamera_metadata_enum_acamera_lens_state {
19621    pub const ACAMERA_LENS_STATE_STATIONARY: acamera_metadata_enum_acamera_lens_state =
19622        acamera_metadata_enum_acamera_lens_state(0);
19623}
19624impl acamera_metadata_enum_acamera_lens_state {
19625    pub const ACAMERA_LENS_STATE_MOVING: acamera_metadata_enum_acamera_lens_state =
19626        acamera_metadata_enum_acamera_lens_state(1);
19627}
19628#[repr(transparent)]
19629#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19630pub struct acamera_metadata_enum_acamera_lens_state(pub ::std::os::raw::c_uint);
19631pub use self::acamera_metadata_enum_acamera_lens_state as acamera_metadata_enum_android_lens_state_t;
19632impl acamera_metadata_enum_acamera_lens_pose_reference {
19633    pub const ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA:
19634        acamera_metadata_enum_acamera_lens_pose_reference =
19635        acamera_metadata_enum_acamera_lens_pose_reference(0);
19636}
19637impl acamera_metadata_enum_acamera_lens_pose_reference {
19638    pub const ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE:
19639        acamera_metadata_enum_acamera_lens_pose_reference =
19640        acamera_metadata_enum_acamera_lens_pose_reference(1);
19641}
19642impl acamera_metadata_enum_acamera_lens_pose_reference {
19643    pub const ACAMERA_LENS_POSE_REFERENCE_UNDEFINED:
19644        acamera_metadata_enum_acamera_lens_pose_reference =
19645        acamera_metadata_enum_acamera_lens_pose_reference(2);
19646}
19647impl acamera_metadata_enum_acamera_lens_pose_reference {
19648    pub const ACAMERA_LENS_POSE_REFERENCE_AUTOMOTIVE:
19649        acamera_metadata_enum_acamera_lens_pose_reference =
19650        acamera_metadata_enum_acamera_lens_pose_reference(3);
19651}
19652#[repr(transparent)]
19653#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19654pub struct acamera_metadata_enum_acamera_lens_pose_reference(pub ::std::os::raw::c_uint);
19655pub use self::acamera_metadata_enum_acamera_lens_pose_reference as acamera_metadata_enum_android_lens_pose_reference_t;
19656impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
19657    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
19658        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
19659        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(0);
19660}
19661impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
19662    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
19663        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
19664        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(1);
19665}
19666impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
19667    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
19668        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
19669        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(2);
19670}
19671#[repr(transparent)]
19672#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19673pub struct acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(
19674    pub ::std::os::raw::c_uint,
19675);
19676pub use self::acamera_metadata_enum_acamera_lens_info_focus_distance_calibration as acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
19677impl acamera_metadata_enum_acamera_noise_reduction_mode {
19678    pub const ACAMERA_NOISE_REDUCTION_MODE_OFF: acamera_metadata_enum_acamera_noise_reduction_mode =
19679        acamera_metadata_enum_acamera_noise_reduction_mode(0);
19680}
19681impl acamera_metadata_enum_acamera_noise_reduction_mode {
19682    pub const ACAMERA_NOISE_REDUCTION_MODE_FAST:
19683        acamera_metadata_enum_acamera_noise_reduction_mode =
19684        acamera_metadata_enum_acamera_noise_reduction_mode(1);
19685}
19686impl acamera_metadata_enum_acamera_noise_reduction_mode {
19687    pub const ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY:
19688        acamera_metadata_enum_acamera_noise_reduction_mode =
19689        acamera_metadata_enum_acamera_noise_reduction_mode(2);
19690}
19691impl acamera_metadata_enum_acamera_noise_reduction_mode {
19692    pub const ACAMERA_NOISE_REDUCTION_MODE_MINIMAL:
19693        acamera_metadata_enum_acamera_noise_reduction_mode =
19694        acamera_metadata_enum_acamera_noise_reduction_mode(3);
19695}
19696impl acamera_metadata_enum_acamera_noise_reduction_mode {
19697    pub const ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG:
19698        acamera_metadata_enum_acamera_noise_reduction_mode =
19699        acamera_metadata_enum_acamera_noise_reduction_mode(4);
19700}
19701#[repr(transparent)]
19702#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19703pub struct acamera_metadata_enum_acamera_noise_reduction_mode(pub ::std::os::raw::c_uint);
19704pub use self::acamera_metadata_enum_acamera_noise_reduction_mode as acamera_metadata_enum_android_noise_reduction_mode_t;
19705impl acamera_metadata_enum_acamera_request_available_capabilities {
19706    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE:
19707        acamera_metadata_enum_acamera_request_available_capabilities =
19708        acamera_metadata_enum_acamera_request_available_capabilities(0);
19709}
19710impl acamera_metadata_enum_acamera_request_available_capabilities {
19711    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR:
19712        acamera_metadata_enum_acamera_request_available_capabilities =
19713        acamera_metadata_enum_acamera_request_available_capabilities(1);
19714}
19715impl acamera_metadata_enum_acamera_request_available_capabilities {
19716    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING:
19717        acamera_metadata_enum_acamera_request_available_capabilities =
19718        acamera_metadata_enum_acamera_request_available_capabilities(2);
19719}
19720impl acamera_metadata_enum_acamera_request_available_capabilities {
19721    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW:
19722        acamera_metadata_enum_acamera_request_available_capabilities =
19723        acamera_metadata_enum_acamera_request_available_capabilities(3);
19724}
19725impl acamera_metadata_enum_acamera_request_available_capabilities {
19726    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS:
19727        acamera_metadata_enum_acamera_request_available_capabilities =
19728        acamera_metadata_enum_acamera_request_available_capabilities(5);
19729}
19730impl acamera_metadata_enum_acamera_request_available_capabilities {
19731    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE:
19732        acamera_metadata_enum_acamera_request_available_capabilities =
19733        acamera_metadata_enum_acamera_request_available_capabilities(6);
19734}
19735impl acamera_metadata_enum_acamera_request_available_capabilities {
19736    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT:
19737        acamera_metadata_enum_acamera_request_available_capabilities =
19738        acamera_metadata_enum_acamera_request_available_capabilities(8);
19739}
19740impl acamera_metadata_enum_acamera_request_available_capabilities {
19741    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING:
19742        acamera_metadata_enum_acamera_request_available_capabilities =
19743        acamera_metadata_enum_acamera_request_available_capabilities(10);
19744}
19745impl acamera_metadata_enum_acamera_request_available_capabilities {
19746    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA:
19747        acamera_metadata_enum_acamera_request_available_capabilities =
19748        acamera_metadata_enum_acamera_request_available_capabilities(11);
19749}
19750impl acamera_metadata_enum_acamera_request_available_capabilities {
19751    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME:
19752        acamera_metadata_enum_acamera_request_available_capabilities =
19753        acamera_metadata_enum_acamera_request_available_capabilities(12);
19754}
19755impl acamera_metadata_enum_acamera_request_available_capabilities {
19756    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA:
19757        acamera_metadata_enum_acamera_request_available_capabilities =
19758        acamera_metadata_enum_acamera_request_available_capabilities(13);
19759}
19760impl acamera_metadata_enum_acamera_request_available_capabilities {
19761    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA:
19762        acamera_metadata_enum_acamera_request_available_capabilities =
19763        acamera_metadata_enum_acamera_request_available_capabilities(14);
19764}
19765impl acamera_metadata_enum_acamera_request_available_capabilities {
19766    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR:
19767        acamera_metadata_enum_acamera_request_available_capabilities =
19768        acamera_metadata_enum_acamera_request_available_capabilities(16);
19769}
19770impl acamera_metadata_enum_acamera_request_available_capabilities {
19771    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE:
19772        acamera_metadata_enum_acamera_request_available_capabilities =
19773        acamera_metadata_enum_acamera_request_available_capabilities(19);
19774}
19775#[repr(transparent)]
19776#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19777pub struct acamera_metadata_enum_acamera_request_available_capabilities(pub ::std::os::raw::c_uint);
19778pub use self::acamera_metadata_enum_acamera_request_available_capabilities as acamera_metadata_enum_android_request_available_capabilities_t;
19779impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19780    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD:
19781        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19782        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1);
19783}
19784impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19785    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10:
19786        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19787        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2);
19788}
19789impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19790    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10:
19791        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19792        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4);
19793}
19794impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19795    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS:
19796        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19797        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(8);
19798}
19799impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19800    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF:
19801        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19802        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(16);
19803}
19804impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19805    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO:
19806        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19807        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(32);
19808}
19809impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19810    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM:
19811        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19812        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(64);
19813}
19814impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19815    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO:
19816        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19817        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(128);
19818}
19819impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19820    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF:
19821        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19822        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(256);
19823}
19824impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19825    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO:
19826        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19827        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(512);
19828}
19829impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19830    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM:
19831        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19832        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1024);
19833}
19834impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19835    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO:
19836        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19837        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2048);
19838}
19839impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
19840    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX:
19841        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
19842        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4096);
19843}
19844#[repr(transparent)]
19845#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19846pub struct acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(
19847    pub ::std::os::raw::c_uint,
19848);
19849pub use self::acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map as acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t;
19850impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
19851    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED:
19852        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
19853        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(-1);
19854}
19855impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
19856    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB:
19857        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
19858        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(0);
19859}
19860impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
19861    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3:
19862        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
19863        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(7);
19864}
19865impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
19866    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG:
19867        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
19868        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(16);
19869}
19870#[repr(transparent)]
19871#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19872pub struct acamera_metadata_enum_acamera_request_available_color_space_profiles_map(
19873    pub ::std::os::raw::c_int,
19874);
19875pub use self::acamera_metadata_enum_acamera_request_available_color_space_profiles_map as acamera_metadata_enum_android_request_available_color_space_profiles_map_t;
19876impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
19877    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT:
19878        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
19879        acamera_metadata_enum_acamera_scaler_available_stream_configurations(0);
19880}
19881impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
19882    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT:
19883        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
19884        acamera_metadata_enum_acamera_scaler_available_stream_configurations(1);
19885}
19886#[repr(transparent)]
19887#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19888pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations(
19889    pub ::std::os::raw::c_uint,
19890);
19891pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations as acamera_metadata_enum_android_scaler_available_stream_configurations_t;
19892impl acamera_metadata_enum_acamera_scaler_cropping_type {
19893    pub const ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY:
19894        acamera_metadata_enum_acamera_scaler_cropping_type =
19895        acamera_metadata_enum_acamera_scaler_cropping_type(0);
19896}
19897impl acamera_metadata_enum_acamera_scaler_cropping_type {
19898    pub const ACAMERA_SCALER_CROPPING_TYPE_FREEFORM:
19899        acamera_metadata_enum_acamera_scaler_cropping_type =
19900        acamera_metadata_enum_acamera_scaler_cropping_type(1);
19901}
19902#[repr(transparent)]
19903#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19904pub struct acamera_metadata_enum_acamera_scaler_cropping_type(pub ::std::os::raw::c_uint);
19905pub use self::acamera_metadata_enum_acamera_scaler_cropping_type as acamera_metadata_enum_android_scaler_cropping_type_t;
19906impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19907    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW:
19908        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19909        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(0);
19910}
19911impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19912    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD:
19913        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19914        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(1);
19915}
19916impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19917    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT:
19918        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19919        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(2);
19920}
19921impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19922    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT:
19923        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19924        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(3);
19925}
19926impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19927    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL:
19928        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19929        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(4);
19930}
19931impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19932    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW:
19933        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19934        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(5);
19935}
19936impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19937    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT:
19938        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19939        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(6);
19940}
19941impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19942    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END:
19943        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19944        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(7);
19945}
19946impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19947    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT:
19948        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19949        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(8);
19950}
19951impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19952    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END_3_8:
19953        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19954        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(9);
19955}
19956impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
19957    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START:
19958        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
19959        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(24);
19960}
19961#[repr(transparent)]
19962#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19963pub struct acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(
19964    pub ::std::os::raw::c_uint,
19965);
19966pub use self::acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations as acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
19967impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
19968    pub const ACAMERA_SCALER_ROTATE_AND_CROP_NONE:
19969        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
19970        acamera_metadata_enum_acamera_scaler_rotate_and_crop(0);
19971}
19972impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
19973    pub const ACAMERA_SCALER_ROTATE_AND_CROP_90:
19974        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
19975        acamera_metadata_enum_acamera_scaler_rotate_and_crop(1);
19976}
19977impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
19978    pub const ACAMERA_SCALER_ROTATE_AND_CROP_180:
19979        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
19980        acamera_metadata_enum_acamera_scaler_rotate_and_crop(2);
19981}
19982impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
19983    pub const ACAMERA_SCALER_ROTATE_AND_CROP_270:
19984        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
19985        acamera_metadata_enum_acamera_scaler_rotate_and_crop(3);
19986}
19987impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
19988    pub const ACAMERA_SCALER_ROTATE_AND_CROP_AUTO:
19989        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
19990        acamera_metadata_enum_acamera_scaler_rotate_and_crop(4);
19991}
19992#[repr(transparent)]
19993#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19994pub struct acamera_metadata_enum_acamera_scaler_rotate_and_crop(pub ::std::os::raw::c_uint);
19995pub use self::acamera_metadata_enum_acamera_scaler_rotate_and_crop as acamera_metadata_enum_android_scaler_rotate_and_crop_t;
19996impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
19997    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT:
19998        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
19999        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
20000            0,
20001        );
20002}
20003impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
20004    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT:
20005        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
20006        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
20007            1,
20008        );
20009}
20010#[repr(transparent)]
20011#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20012pub struct acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
20013    pub ::std::os::raw::c_uint,
20014);
20015pub 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;
20016impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
20017    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
20018        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
20019        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(0);
20020}
20021impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
20022    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
20023        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
20024        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(1);
20025}
20026#[repr(transparent)]
20027#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20028pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(
20029    pub ::std::os::raw::c_uint,
20030);
20031pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution as acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t;
20032impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
20033    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE:
20034        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
20035        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(0);
20036}
20037impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
20038    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE:
20039        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
20040        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(1);
20041}
20042#[repr(transparent)]
20043#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20044pub struct acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(
20045    pub ::std::os::raw::c_uint,
20046);
20047pub use self::acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported as acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
20048impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20049    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT:
20050        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20051        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(0);
20052}
20053impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20054    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW:
20055        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20056        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(1);
20057}
20058impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20059    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE:
20060        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20061        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(2);
20062}
20063impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20064    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD:
20065        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20066        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(3);
20067}
20068impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20069    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL:
20070        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20071        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(4);
20072}
20073impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20074    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL:
20075        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20076        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(5);
20077}
20078impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
20079    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW:
20080        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
20081        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(6);
20082}
20083#[repr(transparent)]
20084#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20085pub struct acamera_metadata_enum_acamera_scaler_available_stream_use_cases(
20086    pub ::std::os::raw::c_uint,
20087);
20088pub use self::acamera_metadata_enum_acamera_scaler_available_stream_use_cases as acamera_metadata_enum_android_scaler_available_stream_use_cases_t;
20089impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20090    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
20091        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20092        acamera_metadata_enum_acamera_sensor_reference_illuminant1(1);
20093}
20094impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20095    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
20096        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20097        acamera_metadata_enum_acamera_sensor_reference_illuminant1(2);
20098}
20099impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20100    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
20101        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20102        acamera_metadata_enum_acamera_sensor_reference_illuminant1(3);
20103}
20104impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20105    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
20106        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20107        acamera_metadata_enum_acamera_sensor_reference_illuminant1(4);
20108}
20109impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20110    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
20111        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20112        acamera_metadata_enum_acamera_sensor_reference_illuminant1(9);
20113}
20114impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20115    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
20116        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20117        acamera_metadata_enum_acamera_sensor_reference_illuminant1(10);
20118}
20119impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20120    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
20121        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20122        acamera_metadata_enum_acamera_sensor_reference_illuminant1(11);
20123}
20124impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20125    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
20126        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20127        acamera_metadata_enum_acamera_sensor_reference_illuminant1(12);
20128}
20129impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20130    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
20131        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20132        acamera_metadata_enum_acamera_sensor_reference_illuminant1(13);
20133}
20134impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20135    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
20136        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20137        acamera_metadata_enum_acamera_sensor_reference_illuminant1(14);
20138}
20139impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20140    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
20141        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20142        acamera_metadata_enum_acamera_sensor_reference_illuminant1(15);
20143}
20144impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20145    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
20146        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20147        acamera_metadata_enum_acamera_sensor_reference_illuminant1(17);
20148}
20149impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20150    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
20151        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20152        acamera_metadata_enum_acamera_sensor_reference_illuminant1(18);
20153}
20154impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20155    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
20156        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20157        acamera_metadata_enum_acamera_sensor_reference_illuminant1(19);
20158}
20159impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20160    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55:
20161        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20162        acamera_metadata_enum_acamera_sensor_reference_illuminant1(20);
20163}
20164impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20165    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65:
20166        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20167        acamera_metadata_enum_acamera_sensor_reference_illuminant1(21);
20168}
20169impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20170    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75:
20171        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20172        acamera_metadata_enum_acamera_sensor_reference_illuminant1(22);
20173}
20174impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20175    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50:
20176        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20177        acamera_metadata_enum_acamera_sensor_reference_illuminant1(23);
20178}
20179impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
20180    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
20181        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
20182        acamera_metadata_enum_acamera_sensor_reference_illuminant1(24);
20183}
20184#[repr(transparent)]
20185#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20186pub struct acamera_metadata_enum_acamera_sensor_reference_illuminant1(pub ::std::os::raw::c_uint);
20187pub use self::acamera_metadata_enum_acamera_sensor_reference_illuminant1 as acamera_metadata_enum_android_sensor_reference_illuminant1_t;
20188impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20189    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF:
20190        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20191        acamera_metadata_enum_acamera_sensor_test_pattern_mode(0);
20192}
20193impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20194    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
20195        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20196        acamera_metadata_enum_acamera_sensor_test_pattern_mode(1);
20197}
20198impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20199    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
20200        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20201        acamera_metadata_enum_acamera_sensor_test_pattern_mode(2);
20202}
20203impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20204    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
20205        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20206        acamera_metadata_enum_acamera_sensor_test_pattern_mode(3);
20207}
20208impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20209    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9:
20210        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20211        acamera_metadata_enum_acamera_sensor_test_pattern_mode(4);
20212}
20213impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
20214    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
20215        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
20216        acamera_metadata_enum_acamera_sensor_test_pattern_mode(256);
20217}
20218#[repr(transparent)]
20219#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20220pub struct acamera_metadata_enum_acamera_sensor_test_pattern_mode(pub ::std::os::raw::c_uint);
20221pub use self::acamera_metadata_enum_acamera_sensor_test_pattern_mode as acamera_metadata_enum_android_sensor_test_pattern_mode_t;
20222impl acamera_metadata_enum_acamera_sensor_pixel_mode {
20223    pub const ACAMERA_SENSOR_PIXEL_MODE_DEFAULT: acamera_metadata_enum_acamera_sensor_pixel_mode =
20224        acamera_metadata_enum_acamera_sensor_pixel_mode(0);
20225}
20226impl acamera_metadata_enum_acamera_sensor_pixel_mode {
20227    pub const ACAMERA_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION:
20228        acamera_metadata_enum_acamera_sensor_pixel_mode =
20229        acamera_metadata_enum_acamera_sensor_pixel_mode(1);
20230}
20231#[repr(transparent)]
20232#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20233pub struct acamera_metadata_enum_acamera_sensor_pixel_mode(pub ::std::os::raw::c_uint);
20234pub use self::acamera_metadata_enum_acamera_sensor_pixel_mode as acamera_metadata_enum_android_sensor_pixel_mode_t;
20235impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
20236    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_TRUE:
20237        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
20238        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(0);
20239}
20240impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
20241    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_FALSE:
20242        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
20243        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(1);
20244}
20245#[repr(transparent)]
20246#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20247pub struct acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(pub ::std::os::raw::c_uint);
20248pub use self::acamera_metadata_enum_acamera_sensor_raw_binning_factor_used as acamera_metadata_enum_android_sensor_raw_binning_factor_used_t;
20249impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20250    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
20251        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20252        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(0);
20253}
20254impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20255    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
20256        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20257        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(1);
20258}
20259impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20260    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
20261        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20262        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(2);
20263}
20264impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20265    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
20266        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20267        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(3);
20268}
20269impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20270    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
20271        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20272        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(4);
20273}
20274impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20275    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO:
20276        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20277        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(5);
20278}
20279impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
20280    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR:
20281        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
20282        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(6);
20283}
20284#[repr(transparent)]
20285#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20286pub struct acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(
20287    pub ::std::os::raw::c_uint,
20288);
20289pub use self::acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement as acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
20290impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
20291    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN:
20292        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
20293        acamera_metadata_enum_acamera_sensor_info_timestamp_source(0);
20294}
20295impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
20296    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME:
20297        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
20298        acamera_metadata_enum_acamera_sensor_info_timestamp_source(1);
20299}
20300#[repr(transparent)]
20301#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20302pub struct acamera_metadata_enum_acamera_sensor_info_timestamp_source(pub ::std::os::raw::c_uint);
20303pub use self::acamera_metadata_enum_acamera_sensor_info_timestamp_source as acamera_metadata_enum_android_sensor_info_timestamp_source_t;
20304impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
20305    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE:
20306        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
20307        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(0);
20308}
20309impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
20310    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE:
20311        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
20312        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(1);
20313}
20314#[repr(transparent)]
20315#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20316pub struct acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(
20317    pub ::std::os::raw::c_uint,
20318);
20319pub use self::acamera_metadata_enum_acamera_sensor_info_lens_shading_applied as acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
20320impl acamera_metadata_enum_acamera_shading_mode {
20321    pub const ACAMERA_SHADING_MODE_OFF: acamera_metadata_enum_acamera_shading_mode =
20322        acamera_metadata_enum_acamera_shading_mode(0);
20323}
20324impl acamera_metadata_enum_acamera_shading_mode {
20325    pub const ACAMERA_SHADING_MODE_FAST: acamera_metadata_enum_acamera_shading_mode =
20326        acamera_metadata_enum_acamera_shading_mode(1);
20327}
20328impl acamera_metadata_enum_acamera_shading_mode {
20329    pub const ACAMERA_SHADING_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_shading_mode =
20330        acamera_metadata_enum_acamera_shading_mode(2);
20331}
20332#[repr(transparent)]
20333#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20334pub struct acamera_metadata_enum_acamera_shading_mode(pub ::std::os::raw::c_uint);
20335pub use self::acamera_metadata_enum_acamera_shading_mode as acamera_metadata_enum_android_shading_mode_t;
20336impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
20337    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF:
20338        acamera_metadata_enum_acamera_statistics_face_detect_mode =
20339        acamera_metadata_enum_acamera_statistics_face_detect_mode(0);
20340}
20341impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
20342    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE:
20343        acamera_metadata_enum_acamera_statistics_face_detect_mode =
20344        acamera_metadata_enum_acamera_statistics_face_detect_mode(1);
20345}
20346impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
20347    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL:
20348        acamera_metadata_enum_acamera_statistics_face_detect_mode =
20349        acamera_metadata_enum_acamera_statistics_face_detect_mode(2);
20350}
20351#[repr(transparent)]
20352#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20353pub struct acamera_metadata_enum_acamera_statistics_face_detect_mode(pub ::std::os::raw::c_uint);
20354pub use self::acamera_metadata_enum_acamera_statistics_face_detect_mode as acamera_metadata_enum_android_statistics_face_detect_mode_t;
20355impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
20356    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF:
20357        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
20358        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(0);
20359}
20360impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
20361    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON:
20362        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
20363        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(1);
20364}
20365#[repr(transparent)]
20366#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20367pub struct acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(pub ::std::os::raw::c_uint);
20368pub use self::acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode as acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
20369impl acamera_metadata_enum_acamera_statistics_scene_flicker {
20370    pub const ACAMERA_STATISTICS_SCENE_FLICKER_NONE:
20371        acamera_metadata_enum_acamera_statistics_scene_flicker =
20372        acamera_metadata_enum_acamera_statistics_scene_flicker(0);
20373}
20374impl acamera_metadata_enum_acamera_statistics_scene_flicker {
20375    pub const ACAMERA_STATISTICS_SCENE_FLICKER_50HZ:
20376        acamera_metadata_enum_acamera_statistics_scene_flicker =
20377        acamera_metadata_enum_acamera_statistics_scene_flicker(1);
20378}
20379impl acamera_metadata_enum_acamera_statistics_scene_flicker {
20380    pub const ACAMERA_STATISTICS_SCENE_FLICKER_60HZ:
20381        acamera_metadata_enum_acamera_statistics_scene_flicker =
20382        acamera_metadata_enum_acamera_statistics_scene_flicker(2);
20383}
20384#[repr(transparent)]
20385#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20386pub struct acamera_metadata_enum_acamera_statistics_scene_flicker(pub ::std::os::raw::c_uint);
20387pub use self::acamera_metadata_enum_acamera_statistics_scene_flicker as acamera_metadata_enum_android_statistics_scene_flicker_t;
20388impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
20389    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
20390        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
20391        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(0);
20392}
20393impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
20394    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON:
20395        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
20396        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(1);
20397}
20398#[repr(transparent)]
20399#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20400pub struct acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(
20401    pub ::std::os::raw::c_uint,
20402);
20403pub use self::acamera_metadata_enum_acamera_statistics_lens_shading_map_mode as acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
20404impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
20405    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_OFF:
20406        acamera_metadata_enum_acamera_statistics_ois_data_mode =
20407        acamera_metadata_enum_acamera_statistics_ois_data_mode(0);
20408}
20409impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
20410    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_ON:
20411        acamera_metadata_enum_acamera_statistics_ois_data_mode =
20412        acamera_metadata_enum_acamera_statistics_ois_data_mode(1);
20413}
20414#[repr(transparent)]
20415#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20416pub struct acamera_metadata_enum_acamera_statistics_ois_data_mode(pub ::std::os::raw::c_uint);
20417pub use self::acamera_metadata_enum_acamera_statistics_ois_data_mode as acamera_metadata_enum_android_statistics_ois_data_mode_t;
20418impl acamera_metadata_enum_acamera_tonemap_mode {
20419    pub const ACAMERA_TONEMAP_MODE_CONTRAST_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
20420        acamera_metadata_enum_acamera_tonemap_mode(0);
20421}
20422impl acamera_metadata_enum_acamera_tonemap_mode {
20423    pub const ACAMERA_TONEMAP_MODE_FAST: acamera_metadata_enum_acamera_tonemap_mode =
20424        acamera_metadata_enum_acamera_tonemap_mode(1);
20425}
20426impl acamera_metadata_enum_acamera_tonemap_mode {
20427    pub const ACAMERA_TONEMAP_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_tonemap_mode =
20428        acamera_metadata_enum_acamera_tonemap_mode(2);
20429}
20430impl acamera_metadata_enum_acamera_tonemap_mode {
20431    pub const ACAMERA_TONEMAP_MODE_GAMMA_VALUE: acamera_metadata_enum_acamera_tonemap_mode =
20432        acamera_metadata_enum_acamera_tonemap_mode(3);
20433}
20434impl acamera_metadata_enum_acamera_tonemap_mode {
20435    pub const ACAMERA_TONEMAP_MODE_PRESET_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
20436        acamera_metadata_enum_acamera_tonemap_mode(4);
20437}
20438#[repr(transparent)]
20439#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20440pub struct acamera_metadata_enum_acamera_tonemap_mode(pub ::std::os::raw::c_uint);
20441pub use self::acamera_metadata_enum_acamera_tonemap_mode as acamera_metadata_enum_android_tonemap_mode_t;
20442impl acamera_metadata_enum_acamera_tonemap_preset_curve {
20443    pub const ACAMERA_TONEMAP_PRESET_CURVE_SRGB:
20444        acamera_metadata_enum_acamera_tonemap_preset_curve =
20445        acamera_metadata_enum_acamera_tonemap_preset_curve(0);
20446}
20447impl acamera_metadata_enum_acamera_tonemap_preset_curve {
20448    pub const ACAMERA_TONEMAP_PRESET_CURVE_REC709:
20449        acamera_metadata_enum_acamera_tonemap_preset_curve =
20450        acamera_metadata_enum_acamera_tonemap_preset_curve(1);
20451}
20452#[repr(transparent)]
20453#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20454pub struct acamera_metadata_enum_acamera_tonemap_preset_curve(pub ::std::os::raw::c_uint);
20455pub use self::acamera_metadata_enum_acamera_tonemap_preset_curve as acamera_metadata_enum_android_tonemap_preset_curve_t;
20456impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20457    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
20458        acamera_metadata_enum_acamera_info_supported_hardware_level =
20459        acamera_metadata_enum_acamera_info_supported_hardware_level(0);
20460}
20461impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20462    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
20463        acamera_metadata_enum_acamera_info_supported_hardware_level =
20464        acamera_metadata_enum_acamera_info_supported_hardware_level(1);
20465}
20466impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20467    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
20468        acamera_metadata_enum_acamera_info_supported_hardware_level =
20469        acamera_metadata_enum_acamera_info_supported_hardware_level(2);
20470}
20471impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20472    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3:
20473        acamera_metadata_enum_acamera_info_supported_hardware_level =
20474        acamera_metadata_enum_acamera_info_supported_hardware_level(3);
20475}
20476impl acamera_metadata_enum_acamera_info_supported_hardware_level {
20477    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL:
20478        acamera_metadata_enum_acamera_info_supported_hardware_level =
20479        acamera_metadata_enum_acamera_info_supported_hardware_level(4);
20480}
20481#[repr(transparent)]
20482#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20483pub struct acamera_metadata_enum_acamera_info_supported_hardware_level(pub ::std::os::raw::c_uint);
20484pub use self::acamera_metadata_enum_acamera_info_supported_hardware_level as acamera_metadata_enum_android_info_supported_hardware_level_t;
20485impl acamera_metadata_enum_acamera_black_level_lock {
20486    pub const ACAMERA_BLACK_LEVEL_LOCK_OFF: acamera_metadata_enum_acamera_black_level_lock =
20487        acamera_metadata_enum_acamera_black_level_lock(0);
20488}
20489impl acamera_metadata_enum_acamera_black_level_lock {
20490    pub const ACAMERA_BLACK_LEVEL_LOCK_ON: acamera_metadata_enum_acamera_black_level_lock =
20491        acamera_metadata_enum_acamera_black_level_lock(1);
20492}
20493#[repr(transparent)]
20494#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20495pub struct acamera_metadata_enum_acamera_black_level_lock(pub ::std::os::raw::c_uint);
20496pub use self::acamera_metadata_enum_acamera_black_level_lock as acamera_metadata_enum_android_black_level_lock_t;
20497impl acamera_metadata_enum_acamera_sync_frame_number {
20498    pub const ACAMERA_SYNC_FRAME_NUMBER_CONVERGING:
20499        acamera_metadata_enum_acamera_sync_frame_number =
20500        acamera_metadata_enum_acamera_sync_frame_number(-1);
20501}
20502impl acamera_metadata_enum_acamera_sync_frame_number {
20503    pub const ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN: acamera_metadata_enum_acamera_sync_frame_number =
20504        acamera_metadata_enum_acamera_sync_frame_number(-2);
20505}
20506#[repr(transparent)]
20507#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20508pub struct acamera_metadata_enum_acamera_sync_frame_number(pub ::std::os::raw::c_int);
20509pub use self::acamera_metadata_enum_acamera_sync_frame_number as acamera_metadata_enum_android_sync_frame_number_t;
20510impl acamera_metadata_enum_acamera_sync_max_latency {
20511    pub const ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
20512        acamera_metadata_enum_acamera_sync_max_latency =
20513        acamera_metadata_enum_acamera_sync_max_latency(0);
20514}
20515impl acamera_metadata_enum_acamera_sync_max_latency {
20516    pub const ACAMERA_SYNC_MAX_LATENCY_UNKNOWN: acamera_metadata_enum_acamera_sync_max_latency =
20517        acamera_metadata_enum_acamera_sync_max_latency(-1);
20518}
20519#[repr(transparent)]
20520#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20521pub struct acamera_metadata_enum_acamera_sync_max_latency(pub ::std::os::raw::c_int);
20522pub use self::acamera_metadata_enum_acamera_sync_max_latency as acamera_metadata_enum_android_sync_max_latency_t;
20523impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
20524    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
20525        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
20526        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(0);
20527}
20528impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
20529    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT:
20530        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
20531        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(1);
20532}
20533#[repr(transparent)]
20534#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20535pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(
20536    pub ::std::os::raw::c_uint,
20537);
20538pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations as acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
20539impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
20540    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE:
20541        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
20542        acamera_metadata_enum_acamera_depth_depth_is_exclusive(0);
20543}
20544impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
20545    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE:
20546        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
20547        acamera_metadata_enum_acamera_depth_depth_is_exclusive(1);
20548}
20549#[repr(transparent)]
20550#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20551pub struct acamera_metadata_enum_acamera_depth_depth_is_exclusive(pub ::std::os::raw::c_uint);
20552pub use self::acamera_metadata_enum_acamera_depth_depth_is_exclusive as acamera_metadata_enum_android_depth_depth_is_exclusive_t;
20553impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
20554    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
20555        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
20556        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(0);
20557}
20558impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
20559    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT:
20560        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
20561        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(1);
20562}
20563#[repr(transparent)]
20564#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20565pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(
20566    pub ::std::os::raw::c_uint,
20567);
20568pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t;
20569impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
20570    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
20571        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
20572        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
20573            0,
20574        );
20575}
20576impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
20577    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
20578        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
20579        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
20580            1,
20581        );
20582}
20583#[repr(transparent)]
20584#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20585pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
20586    pub ::std::os::raw::c_uint,
20587);
20588pub 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;
20589impl 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) ; }
20590impl 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) ; }
20591#[repr(transparent)]
20592#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20593pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution(
20594    pub ::std::os::raw::c_uint,
20595);
20596pub 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;
20597impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
20598    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE:
20599        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
20600        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(0);
20601}
20602impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
20603    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED:
20604        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
20605        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(1);
20606}
20607#[repr(transparent)]
20608#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20609pub struct acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(
20610    pub ::std::os::raw::c_uint,
20611);
20612pub use self::acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type as acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
20613impl acamera_metadata_enum_acamera_distortion_correction_mode {
20614    pub const ACAMERA_DISTORTION_CORRECTION_MODE_OFF:
20615        acamera_metadata_enum_acamera_distortion_correction_mode =
20616        acamera_metadata_enum_acamera_distortion_correction_mode(0);
20617}
20618impl acamera_metadata_enum_acamera_distortion_correction_mode {
20619    pub const ACAMERA_DISTORTION_CORRECTION_MODE_FAST:
20620        acamera_metadata_enum_acamera_distortion_correction_mode =
20621        acamera_metadata_enum_acamera_distortion_correction_mode(1);
20622}
20623impl acamera_metadata_enum_acamera_distortion_correction_mode {
20624    pub const ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY:
20625        acamera_metadata_enum_acamera_distortion_correction_mode =
20626        acamera_metadata_enum_acamera_distortion_correction_mode(2);
20627}
20628#[repr(transparent)]
20629#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20630pub struct acamera_metadata_enum_acamera_distortion_correction_mode(pub ::std::os::raw::c_uint);
20631pub use self::acamera_metadata_enum_acamera_distortion_correction_mode as acamera_metadata_enum_android_distortion_correction_mode_t;
20632impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
20633    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT:
20634        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
20635        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(0);
20636}
20637impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
20638    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT:
20639        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
20640        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(1);
20641}
20642#[repr(transparent)]
20643#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20644pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(
20645    pub ::std::os::raw::c_uint,
20646);
20647pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations as acamera_metadata_enum_android_heic_available_heic_stream_configurations_t;
20648impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
20649    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
20650        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
20651        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
20652            0,
20653        );
20654}
20655impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
20656    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
20657        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
20658        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
20659            1,
20660        );
20661}
20662#[repr(transparent)]
20663#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20664pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
20665    pub ::std::os::raw::c_uint,
20666);
20667pub 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;
20668impl acamera_metadata_enum_acamera_automotive_location {
20669    pub const ACAMERA_AUTOMOTIVE_LOCATION_INTERIOR:
20670        acamera_metadata_enum_acamera_automotive_location =
20671        acamera_metadata_enum_acamera_automotive_location(0);
20672}
20673impl acamera_metadata_enum_acamera_automotive_location {
20674    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER:
20675        acamera_metadata_enum_acamera_automotive_location =
20676        acamera_metadata_enum_acamera_automotive_location(1);
20677}
20678impl acamera_metadata_enum_acamera_automotive_location {
20679    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT:
20680        acamera_metadata_enum_acamera_automotive_location =
20681        acamera_metadata_enum_acamera_automotive_location(2);
20682}
20683impl acamera_metadata_enum_acamera_automotive_location {
20684    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_REAR:
20685        acamera_metadata_enum_acamera_automotive_location =
20686        acamera_metadata_enum_acamera_automotive_location(3);
20687}
20688impl acamera_metadata_enum_acamera_automotive_location {
20689    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT:
20690        acamera_metadata_enum_acamera_automotive_location =
20691        acamera_metadata_enum_acamera_automotive_location(4);
20692}
20693impl acamera_metadata_enum_acamera_automotive_location {
20694    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT:
20695        acamera_metadata_enum_acamera_automotive_location =
20696        acamera_metadata_enum_acamera_automotive_location(5);
20697}
20698impl acamera_metadata_enum_acamera_automotive_location {
20699    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_OTHER:
20700        acamera_metadata_enum_acamera_automotive_location =
20701        acamera_metadata_enum_acamera_automotive_location(6);
20702}
20703impl acamera_metadata_enum_acamera_automotive_location {
20704    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_FRONT:
20705        acamera_metadata_enum_acamera_automotive_location =
20706        acamera_metadata_enum_acamera_automotive_location(7);
20707}
20708impl acamera_metadata_enum_acamera_automotive_location {
20709    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_REAR:
20710        acamera_metadata_enum_acamera_automotive_location =
20711        acamera_metadata_enum_acamera_automotive_location(8);
20712}
20713impl acamera_metadata_enum_acamera_automotive_location {
20714    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_LEFT:
20715        acamera_metadata_enum_acamera_automotive_location =
20716        acamera_metadata_enum_acamera_automotive_location(9);
20717}
20718impl acamera_metadata_enum_acamera_automotive_location {
20719    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_RIGHT:
20720        acamera_metadata_enum_acamera_automotive_location =
20721        acamera_metadata_enum_acamera_automotive_location(10);
20722}
20723#[repr(transparent)]
20724#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20725pub struct acamera_metadata_enum_acamera_automotive_location(pub ::std::os::raw::c_uint);
20726pub use self::acamera_metadata_enum_acamera_automotive_location as acamera_metadata_enum_android_automotive_location_t;
20727impl acamera_metadata_enum_acamera_automotive_lens_facing {
20728    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER:
20729        acamera_metadata_enum_acamera_automotive_lens_facing =
20730        acamera_metadata_enum_acamera_automotive_lens_facing(0);
20731}
20732impl acamera_metadata_enum_acamera_automotive_lens_facing {
20733    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT:
20734        acamera_metadata_enum_acamera_automotive_lens_facing =
20735        acamera_metadata_enum_acamera_automotive_lens_facing(1);
20736}
20737impl acamera_metadata_enum_acamera_automotive_lens_facing {
20738    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR:
20739        acamera_metadata_enum_acamera_automotive_lens_facing =
20740        acamera_metadata_enum_acamera_automotive_lens_facing(2);
20741}
20742impl acamera_metadata_enum_acamera_automotive_lens_facing {
20743    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT:
20744        acamera_metadata_enum_acamera_automotive_lens_facing =
20745        acamera_metadata_enum_acamera_automotive_lens_facing(3);
20746}
20747impl acamera_metadata_enum_acamera_automotive_lens_facing {
20748    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT:
20749        acamera_metadata_enum_acamera_automotive_lens_facing =
20750        acamera_metadata_enum_acamera_automotive_lens_facing(4);
20751}
20752impl acamera_metadata_enum_acamera_automotive_lens_facing {
20753    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER:
20754        acamera_metadata_enum_acamera_automotive_lens_facing =
20755        acamera_metadata_enum_acamera_automotive_lens_facing(5);
20756}
20757impl acamera_metadata_enum_acamera_automotive_lens_facing {
20758    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT:
20759        acamera_metadata_enum_acamera_automotive_lens_facing =
20760        acamera_metadata_enum_acamera_automotive_lens_facing(6);
20761}
20762impl acamera_metadata_enum_acamera_automotive_lens_facing {
20763    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER:
20764        acamera_metadata_enum_acamera_automotive_lens_facing =
20765        acamera_metadata_enum_acamera_automotive_lens_facing(7);
20766}
20767impl acamera_metadata_enum_acamera_automotive_lens_facing {
20768    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT:
20769        acamera_metadata_enum_acamera_automotive_lens_facing =
20770        acamera_metadata_enum_acamera_automotive_lens_facing(8);
20771}
20772impl acamera_metadata_enum_acamera_automotive_lens_facing {
20773    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT:
20774        acamera_metadata_enum_acamera_automotive_lens_facing =
20775        acamera_metadata_enum_acamera_automotive_lens_facing(9);
20776}
20777impl acamera_metadata_enum_acamera_automotive_lens_facing {
20778    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER:
20779        acamera_metadata_enum_acamera_automotive_lens_facing =
20780        acamera_metadata_enum_acamera_automotive_lens_facing(10);
20781}
20782impl acamera_metadata_enum_acamera_automotive_lens_facing {
20783    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT:
20784        acamera_metadata_enum_acamera_automotive_lens_facing =
20785        acamera_metadata_enum_acamera_automotive_lens_facing(11);
20786}
20787impl acamera_metadata_enum_acamera_automotive_lens_facing {
20788    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT:
20789        acamera_metadata_enum_acamera_automotive_lens_facing =
20790        acamera_metadata_enum_acamera_automotive_lens_facing(12);
20791}
20792impl acamera_metadata_enum_acamera_automotive_lens_facing {
20793    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER:
20794        acamera_metadata_enum_acamera_automotive_lens_facing =
20795        acamera_metadata_enum_acamera_automotive_lens_facing(13);
20796}
20797impl acamera_metadata_enum_acamera_automotive_lens_facing {
20798    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT:
20799        acamera_metadata_enum_acamera_automotive_lens_facing =
20800        acamera_metadata_enum_acamera_automotive_lens_facing(14);
20801}
20802#[repr(transparent)]
20803#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20804pub struct acamera_metadata_enum_acamera_automotive_lens_facing(pub ::std::os::raw::c_uint);
20805pub use self::acamera_metadata_enum_acamera_automotive_lens_facing as acamera_metadata_enum_android_automotive_lens_facing_t;
20806impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
20807    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_OUTPUT:
20808        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
20809        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(0);
20810}
20811impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
20812    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_INPUT:
20813        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
20814        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(1);
20815}
20816#[repr(transparent)]
20817#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20818pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(
20819    pub ::std::os::raw::c_uint,
20820);
20821pub use self::acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations as acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_t;
20822impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
20823    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) ;
20824}
20825impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
20826    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) ;
20827}
20828#[repr(transparent)]
20829#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20830pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution(
20831    pub ::std::os::raw::c_uint,
20832);
20833pub 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;
20834#[repr(C)]
20835#[derive(Debug, Copy, Clone)]
20836pub struct ACameraMetadata {
20837    _unused: [u8; 0],
20838}
20839pub const ACAMERA_TYPE_BYTE: _bindgen_ty_64 = 0;
20840pub const ACAMERA_TYPE_INT32: _bindgen_ty_64 = 1;
20841pub const ACAMERA_TYPE_FLOAT: _bindgen_ty_64 = 2;
20842pub const ACAMERA_TYPE_INT64: _bindgen_ty_64 = 3;
20843pub const ACAMERA_TYPE_DOUBLE: _bindgen_ty_64 = 4;
20844pub const ACAMERA_TYPE_RATIONAL: _bindgen_ty_64 = 5;
20845pub const ACAMERA_NUM_TYPES: _bindgen_ty_64 = 6;
20846pub type _bindgen_ty_64 = ::std::os::raw::c_uint;
20847#[repr(C)]
20848#[derive(Debug, Copy, Clone)]
20849pub struct ACameraMetadata_rational {
20850    pub numerator: i32,
20851    pub denominator: i32,
20852}
20853#[test]
20854fn bindgen_test_layout_ACameraMetadata_rational() {
20855    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_rational> =
20856        ::std::mem::MaybeUninit::uninit();
20857    let ptr = UNINIT.as_ptr();
20858    assert_eq!(
20859        ::std::mem::size_of::<ACameraMetadata_rational>(),
20860        8usize,
20861        concat!("Size of: ", stringify!(ACameraMetadata_rational))
20862    );
20863    assert_eq!(
20864        ::std::mem::align_of::<ACameraMetadata_rational>(),
20865        4usize,
20866        concat!("Alignment of ", stringify!(ACameraMetadata_rational))
20867    );
20868    assert_eq!(
20869        unsafe { ::std::ptr::addr_of!((*ptr).numerator) as usize - ptr as usize },
20870        0usize,
20871        concat!(
20872            "Offset of field: ",
20873            stringify!(ACameraMetadata_rational),
20874            "::",
20875            stringify!(numerator)
20876        )
20877    );
20878    assert_eq!(
20879        unsafe { ::std::ptr::addr_of!((*ptr).denominator) as usize - ptr as usize },
20880        4usize,
20881        concat!(
20882            "Offset of field: ",
20883            stringify!(ACameraMetadata_rational),
20884            "::",
20885            stringify!(denominator)
20886        )
20887    );
20888}
20889#[repr(C)]
20890#[derive(Copy, Clone)]
20891pub struct ACameraMetadata_entry {
20892    pub tag: u32,
20893    pub type_: u8,
20894    pub count: u32,
20895    pub data: ACameraMetadata_entry__bindgen_ty_1,
20896}
20897#[repr(C)]
20898#[derive(Copy, Clone)]
20899pub union ACameraMetadata_entry__bindgen_ty_1 {
20900    pub u8_: *mut u8,
20901    pub i32_: *mut i32,
20902    pub f: *mut f32,
20903    pub i64_: *mut i64,
20904    pub d: *mut f64,
20905    pub r: *mut ACameraMetadata_rational,
20906}
20907#[test]
20908fn bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1() {
20909    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry__bindgen_ty_1> =
20910        ::std::mem::MaybeUninit::uninit();
20911    let ptr = UNINIT.as_ptr();
20912    assert_eq!(
20913        ::std::mem::size_of::<ACameraMetadata_entry__bindgen_ty_1>(),
20914        8usize,
20915        concat!("Size of: ", stringify!(ACameraMetadata_entry__bindgen_ty_1))
20916    );
20917    assert_eq!(
20918        ::std::mem::align_of::<ACameraMetadata_entry__bindgen_ty_1>(),
20919        8usize,
20920        concat!(
20921            "Alignment of ",
20922            stringify!(ACameraMetadata_entry__bindgen_ty_1)
20923        )
20924    );
20925    assert_eq!(
20926        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
20927        0usize,
20928        concat!(
20929            "Offset of field: ",
20930            stringify!(ACameraMetadata_entry__bindgen_ty_1),
20931            "::",
20932            stringify!(u8_)
20933        )
20934    );
20935    assert_eq!(
20936        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
20937        0usize,
20938        concat!(
20939            "Offset of field: ",
20940            stringify!(ACameraMetadata_entry__bindgen_ty_1),
20941            "::",
20942            stringify!(i32_)
20943        )
20944    );
20945    assert_eq!(
20946        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
20947        0usize,
20948        concat!(
20949            "Offset of field: ",
20950            stringify!(ACameraMetadata_entry__bindgen_ty_1),
20951            "::",
20952            stringify!(f)
20953        )
20954    );
20955    assert_eq!(
20956        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
20957        0usize,
20958        concat!(
20959            "Offset of field: ",
20960            stringify!(ACameraMetadata_entry__bindgen_ty_1),
20961            "::",
20962            stringify!(i64_)
20963        )
20964    );
20965    assert_eq!(
20966        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
20967        0usize,
20968        concat!(
20969            "Offset of field: ",
20970            stringify!(ACameraMetadata_entry__bindgen_ty_1),
20971            "::",
20972            stringify!(d)
20973        )
20974    );
20975    assert_eq!(
20976        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
20977        0usize,
20978        concat!(
20979            "Offset of field: ",
20980            stringify!(ACameraMetadata_entry__bindgen_ty_1),
20981            "::",
20982            stringify!(r)
20983        )
20984    );
20985}
20986#[test]
20987fn bindgen_test_layout_ACameraMetadata_entry() {
20988    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry> =
20989        ::std::mem::MaybeUninit::uninit();
20990    let ptr = UNINIT.as_ptr();
20991    assert_eq!(
20992        ::std::mem::size_of::<ACameraMetadata_entry>(),
20993        24usize,
20994        concat!("Size of: ", stringify!(ACameraMetadata_entry))
20995    );
20996    assert_eq!(
20997        ::std::mem::align_of::<ACameraMetadata_entry>(),
20998        8usize,
20999        concat!("Alignment of ", stringify!(ACameraMetadata_entry))
21000    );
21001    assert_eq!(
21002        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
21003        0usize,
21004        concat!(
21005            "Offset of field: ",
21006            stringify!(ACameraMetadata_entry),
21007            "::",
21008            stringify!(tag)
21009        )
21010    );
21011    assert_eq!(
21012        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
21013        4usize,
21014        concat!(
21015            "Offset of field: ",
21016            stringify!(ACameraMetadata_entry),
21017            "::",
21018            stringify!(type_)
21019        )
21020    );
21021    assert_eq!(
21022        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
21023        8usize,
21024        concat!(
21025            "Offset of field: ",
21026            stringify!(ACameraMetadata_entry),
21027            "::",
21028            stringify!(count)
21029        )
21030    );
21031    assert_eq!(
21032        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
21033        16usize,
21034        concat!(
21035            "Offset of field: ",
21036            stringify!(ACameraMetadata_entry),
21037            "::",
21038            stringify!(data)
21039        )
21040    );
21041}
21042#[repr(C)]
21043#[derive(Copy, Clone)]
21044pub struct ACameraMetadata_const_entry {
21045    pub tag: u32,
21046    pub type_: u8,
21047    pub count: u32,
21048    pub data: ACameraMetadata_const_entry__bindgen_ty_1,
21049}
21050#[repr(C)]
21051#[derive(Copy, Clone)]
21052pub union ACameraMetadata_const_entry__bindgen_ty_1 {
21053    pub u8_: *const u8,
21054    pub i32_: *const i32,
21055    pub f: *const f32,
21056    pub i64_: *const i64,
21057    pub d: *const f64,
21058    pub r: *const ACameraMetadata_rational,
21059}
21060#[test]
21061fn bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1() {
21062    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry__bindgen_ty_1> =
21063        ::std::mem::MaybeUninit::uninit();
21064    let ptr = UNINIT.as_ptr();
21065    assert_eq!(
21066        ::std::mem::size_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
21067        8usize,
21068        concat!(
21069            "Size of: ",
21070            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
21071        )
21072    );
21073    assert_eq!(
21074        ::std::mem::align_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
21075        8usize,
21076        concat!(
21077            "Alignment of ",
21078            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
21079        )
21080    );
21081    assert_eq!(
21082        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
21083        0usize,
21084        concat!(
21085            "Offset of field: ",
21086            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21087            "::",
21088            stringify!(u8_)
21089        )
21090    );
21091    assert_eq!(
21092        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
21093        0usize,
21094        concat!(
21095            "Offset of field: ",
21096            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21097            "::",
21098            stringify!(i32_)
21099        )
21100    );
21101    assert_eq!(
21102        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
21103        0usize,
21104        concat!(
21105            "Offset of field: ",
21106            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21107            "::",
21108            stringify!(f)
21109        )
21110    );
21111    assert_eq!(
21112        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
21113        0usize,
21114        concat!(
21115            "Offset of field: ",
21116            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21117            "::",
21118            stringify!(i64_)
21119        )
21120    );
21121    assert_eq!(
21122        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
21123        0usize,
21124        concat!(
21125            "Offset of field: ",
21126            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21127            "::",
21128            stringify!(d)
21129        )
21130    );
21131    assert_eq!(
21132        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
21133        0usize,
21134        concat!(
21135            "Offset of field: ",
21136            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
21137            "::",
21138            stringify!(r)
21139        )
21140    );
21141}
21142#[test]
21143fn bindgen_test_layout_ACameraMetadata_const_entry() {
21144    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry> =
21145        ::std::mem::MaybeUninit::uninit();
21146    let ptr = UNINIT.as_ptr();
21147    assert_eq!(
21148        ::std::mem::size_of::<ACameraMetadata_const_entry>(),
21149        24usize,
21150        concat!("Size of: ", stringify!(ACameraMetadata_const_entry))
21151    );
21152    assert_eq!(
21153        ::std::mem::align_of::<ACameraMetadata_const_entry>(),
21154        8usize,
21155        concat!("Alignment of ", stringify!(ACameraMetadata_const_entry))
21156    );
21157    assert_eq!(
21158        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
21159        0usize,
21160        concat!(
21161            "Offset of field: ",
21162            stringify!(ACameraMetadata_const_entry),
21163            "::",
21164            stringify!(tag)
21165        )
21166    );
21167    assert_eq!(
21168        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
21169        4usize,
21170        concat!(
21171            "Offset of field: ",
21172            stringify!(ACameraMetadata_const_entry),
21173            "::",
21174            stringify!(type_)
21175        )
21176    );
21177    assert_eq!(
21178        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
21179        8usize,
21180        concat!(
21181            "Offset of field: ",
21182            stringify!(ACameraMetadata_const_entry),
21183            "::",
21184            stringify!(count)
21185        )
21186    );
21187    assert_eq!(
21188        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
21189        16usize,
21190        concat!(
21191            "Offset of field: ",
21192            stringify!(ACameraMetadata_const_entry),
21193            "::",
21194            stringify!(data)
21195        )
21196    );
21197}
21198extern "C" {
21199    pub fn ACameraMetadata_getConstEntry(
21200        metadata: *const ACameraMetadata,
21201        tag: u32,
21202        entry: *mut ACameraMetadata_const_entry,
21203    ) -> camera_status_t;
21204}
21205extern "C" {
21206    pub fn ACameraMetadata_getAllTags(
21207        metadata: *const ACameraMetadata,
21208        numEntries: *mut i32,
21209        tags: *mut *const u32,
21210    ) -> camera_status_t;
21211}
21212extern "C" {
21213    pub fn ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata;
21214}
21215extern "C" {
21216    pub fn ACameraMetadata_free(metadata: *mut ACameraMetadata);
21217}
21218extern "C" {
21219    pub fn ACameraMetadata_isLogicalMultiCamera(
21220        staticMetadata: *const ACameraMetadata,
21221        numPhysicalCameras: *mut usize,
21222        physicalCameraIds: *mut *const *const ::std::os::raw::c_char,
21223    ) -> bool;
21224}
21225extern "C" {
21226    pub fn ACameraMetadata_fromCameraMetadata(
21227        env: *mut JNIEnv,
21228        cameraMetadata: jobject,
21229    ) -> *mut ACameraMetadata;
21230}
21231pub type ACameraWindowType = ANativeWindow;
21232#[repr(C)]
21233#[derive(Debug, Copy, Clone)]
21234pub struct ACameraOutputTargets {
21235    _unused: [u8; 0],
21236}
21237#[repr(C)]
21238#[derive(Debug, Copy, Clone)]
21239pub struct ACameraOutputTarget {
21240    _unused: [u8; 0],
21241}
21242#[repr(C)]
21243#[derive(Debug, Copy, Clone)]
21244pub struct ACaptureRequest {
21245    _unused: [u8; 0],
21246}
21247extern "C" {
21248    pub fn ACameraOutputTarget_create(
21249        window: *mut ACameraWindowType,
21250        output: *mut *mut ACameraOutputTarget,
21251    ) -> camera_status_t;
21252}
21253extern "C" {
21254    pub fn ACameraOutputTarget_free(output: *mut ACameraOutputTarget);
21255}
21256extern "C" {
21257    pub fn ACaptureRequest_addTarget(
21258        request: *mut ACaptureRequest,
21259        output: *const ACameraOutputTarget,
21260    ) -> camera_status_t;
21261}
21262extern "C" {
21263    pub fn ACaptureRequest_removeTarget(
21264        request: *mut ACaptureRequest,
21265        output: *const ACameraOutputTarget,
21266    ) -> camera_status_t;
21267}
21268extern "C" {
21269    pub fn ACaptureRequest_getConstEntry(
21270        request: *const ACaptureRequest,
21271        tag: u32,
21272        entry: *mut ACameraMetadata_const_entry,
21273    ) -> camera_status_t;
21274}
21275extern "C" {
21276    pub fn ACaptureRequest_getAllTags(
21277        request: *const ACaptureRequest,
21278        numTags: *mut i32,
21279        tags: *mut *const u32,
21280    ) -> camera_status_t;
21281}
21282extern "C" {
21283    pub fn ACaptureRequest_setEntry_u8(
21284        request: *mut ACaptureRequest,
21285        tag: u32,
21286        count: u32,
21287        data: *const u8,
21288    ) -> camera_status_t;
21289}
21290extern "C" {
21291    pub fn ACaptureRequest_setEntry_i32(
21292        request: *mut ACaptureRequest,
21293        tag: u32,
21294        count: u32,
21295        data: *const i32,
21296    ) -> camera_status_t;
21297}
21298extern "C" {
21299    pub fn ACaptureRequest_setEntry_float(
21300        request: *mut ACaptureRequest,
21301        tag: u32,
21302        count: u32,
21303        data: *const f32,
21304    ) -> camera_status_t;
21305}
21306extern "C" {
21307    pub fn ACaptureRequest_setEntry_i64(
21308        request: *mut ACaptureRequest,
21309        tag: u32,
21310        count: u32,
21311        data: *const i64,
21312    ) -> camera_status_t;
21313}
21314extern "C" {
21315    pub fn ACaptureRequest_setEntry_double(
21316        request: *mut ACaptureRequest,
21317        tag: u32,
21318        count: u32,
21319        data: *const f64,
21320    ) -> camera_status_t;
21321}
21322extern "C" {
21323    pub fn ACaptureRequest_setEntry_rational(
21324        request: *mut ACaptureRequest,
21325        tag: u32,
21326        count: u32,
21327        data: *const ACameraMetadata_rational,
21328    ) -> camera_status_t;
21329}
21330extern "C" {
21331    pub fn ACaptureRequest_free(request: *mut ACaptureRequest);
21332}
21333extern "C" {
21334    pub fn ACaptureRequest_setUserContext(
21335        request: *mut ACaptureRequest,
21336        context: *mut ::std::os::raw::c_void,
21337    ) -> camera_status_t;
21338}
21339extern "C" {
21340    pub fn ACaptureRequest_getUserContext(
21341        request: *const ACaptureRequest,
21342        context: *mut *mut ::std::os::raw::c_void,
21343    ) -> camera_status_t;
21344}
21345extern "C" {
21346    pub fn ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest;
21347}
21348extern "C" {
21349    pub fn ACaptureRequest_getConstEntry_physicalCamera(
21350        request: *const ACaptureRequest,
21351        physicalId: *const ::std::os::raw::c_char,
21352        tag: u32,
21353        entry: *mut ACameraMetadata_const_entry,
21354    ) -> camera_status_t;
21355}
21356extern "C" {
21357    pub fn ACaptureRequest_setEntry_physicalCamera_u8(
21358        request: *mut ACaptureRequest,
21359        physicalId: *const ::std::os::raw::c_char,
21360        tag: u32,
21361        count: u32,
21362        data: *const u8,
21363    ) -> camera_status_t;
21364}
21365extern "C" {
21366    pub fn ACaptureRequest_setEntry_physicalCamera_i32(
21367        request: *mut ACaptureRequest,
21368        physicalId: *const ::std::os::raw::c_char,
21369        tag: u32,
21370        count: u32,
21371        data: *const i32,
21372    ) -> camera_status_t;
21373}
21374extern "C" {
21375    pub fn ACaptureRequest_setEntry_physicalCamera_float(
21376        request: *mut ACaptureRequest,
21377        physicalId: *const ::std::os::raw::c_char,
21378        tag: u32,
21379        count: u32,
21380        data: *const f32,
21381    ) -> camera_status_t;
21382}
21383extern "C" {
21384    pub fn ACaptureRequest_setEntry_physicalCamera_i64(
21385        request: *mut ACaptureRequest,
21386        physicalId: *const ::std::os::raw::c_char,
21387        tag: u32,
21388        count: u32,
21389        data: *const i64,
21390    ) -> camera_status_t;
21391}
21392extern "C" {
21393    pub fn ACaptureRequest_setEntry_physicalCamera_double(
21394        request: *mut ACaptureRequest,
21395        physicalId: *const ::std::os::raw::c_char,
21396        tag: u32,
21397        count: u32,
21398        data: *const f64,
21399    ) -> camera_status_t;
21400}
21401extern "C" {
21402    pub fn ACaptureRequest_setEntry_physicalCamera_rational(
21403        request: *mut ACaptureRequest,
21404        physicalId: *const ::std::os::raw::c_char,
21405        tag: u32,
21406        count: u32,
21407        data: *const ACameraMetadata_rational,
21408    ) -> camera_status_t;
21409}
21410#[repr(C)]
21411#[derive(Debug, Copy, Clone)]
21412pub struct ACameraCaptureSession {
21413    _unused: [u8; 0],
21414}
21415pub type ACameraCaptureSession_stateCallback = ::std::option::Option<
21416    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, session: *mut ACameraCaptureSession),
21417>;
21418#[repr(C)]
21419#[derive(Debug, Copy, Clone)]
21420pub struct ACameraCaptureSession_stateCallbacks {
21421    pub context: *mut ::std::os::raw::c_void,
21422    pub onClosed: ACameraCaptureSession_stateCallback,
21423    pub onReady: ACameraCaptureSession_stateCallback,
21424    pub onActive: ACameraCaptureSession_stateCallback,
21425}
21426#[test]
21427fn bindgen_test_layout_ACameraCaptureSession_stateCallbacks() {
21428    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_stateCallbacks> =
21429        ::std::mem::MaybeUninit::uninit();
21430    let ptr = UNINIT.as_ptr();
21431    assert_eq!(
21432        ::std::mem::size_of::<ACameraCaptureSession_stateCallbacks>(),
21433        32usize,
21434        concat!(
21435            "Size of: ",
21436            stringify!(ACameraCaptureSession_stateCallbacks)
21437        )
21438    );
21439    assert_eq!(
21440        ::std::mem::align_of::<ACameraCaptureSession_stateCallbacks>(),
21441        8usize,
21442        concat!(
21443            "Alignment of ",
21444            stringify!(ACameraCaptureSession_stateCallbacks)
21445        )
21446    );
21447    assert_eq!(
21448        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
21449        0usize,
21450        concat!(
21451            "Offset of field: ",
21452            stringify!(ACameraCaptureSession_stateCallbacks),
21453            "::",
21454            stringify!(context)
21455        )
21456    );
21457    assert_eq!(
21458        unsafe { ::std::ptr::addr_of!((*ptr).onClosed) as usize - ptr as usize },
21459        8usize,
21460        concat!(
21461            "Offset of field: ",
21462            stringify!(ACameraCaptureSession_stateCallbacks),
21463            "::",
21464            stringify!(onClosed)
21465        )
21466    );
21467    assert_eq!(
21468        unsafe { ::std::ptr::addr_of!((*ptr).onReady) as usize - ptr as usize },
21469        16usize,
21470        concat!(
21471            "Offset of field: ",
21472            stringify!(ACameraCaptureSession_stateCallbacks),
21473            "::",
21474            stringify!(onReady)
21475        )
21476    );
21477    assert_eq!(
21478        unsafe { ::std::ptr::addr_of!((*ptr).onActive) as usize - ptr as usize },
21479        24usize,
21480        concat!(
21481            "Offset of field: ",
21482            stringify!(ACameraCaptureSession_stateCallbacks),
21483            "::",
21484            stringify!(onActive)
21485        )
21486    );
21487}
21488pub type ACameraCaptureSession_prepareCallback = ::std::option::Option<
21489    unsafe extern "C" fn(
21490        context: *mut ::std::os::raw::c_void,
21491        window: *mut ACameraWindowType,
21492        session: *mut ACameraCaptureSession,
21493    ),
21494>;
21495pub const CAPTURE_FAILURE_REASON_FLUSHED: _bindgen_ty_65 = 0;
21496pub const CAPTURE_FAILURE_REASON_ERROR: _bindgen_ty_65 = 1;
21497pub type _bindgen_ty_65 = ::std::os::raw::c_uint;
21498#[repr(C)]
21499#[derive(Debug, Copy, Clone)]
21500pub struct ACameraCaptureFailure {
21501    pub frameNumber: i64,
21502    pub reason: ::std::os::raw::c_int,
21503    pub sequenceId: ::std::os::raw::c_int,
21504    pub wasImageCaptured: bool,
21505}
21506#[test]
21507fn bindgen_test_layout_ACameraCaptureFailure() {
21508    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureFailure> =
21509        ::std::mem::MaybeUninit::uninit();
21510    let ptr = UNINIT.as_ptr();
21511    assert_eq!(
21512        ::std::mem::size_of::<ACameraCaptureFailure>(),
21513        24usize,
21514        concat!("Size of: ", stringify!(ACameraCaptureFailure))
21515    );
21516    assert_eq!(
21517        ::std::mem::align_of::<ACameraCaptureFailure>(),
21518        8usize,
21519        concat!("Alignment of ", stringify!(ACameraCaptureFailure))
21520    );
21521    assert_eq!(
21522        unsafe { ::std::ptr::addr_of!((*ptr).frameNumber) as usize - ptr as usize },
21523        0usize,
21524        concat!(
21525            "Offset of field: ",
21526            stringify!(ACameraCaptureFailure),
21527            "::",
21528            stringify!(frameNumber)
21529        )
21530    );
21531    assert_eq!(
21532        unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
21533        8usize,
21534        concat!(
21535            "Offset of field: ",
21536            stringify!(ACameraCaptureFailure),
21537            "::",
21538            stringify!(reason)
21539        )
21540    );
21541    assert_eq!(
21542        unsafe { ::std::ptr::addr_of!((*ptr).sequenceId) as usize - ptr as usize },
21543        12usize,
21544        concat!(
21545            "Offset of field: ",
21546            stringify!(ACameraCaptureFailure),
21547            "::",
21548            stringify!(sequenceId)
21549        )
21550    );
21551    assert_eq!(
21552        unsafe { ::std::ptr::addr_of!((*ptr).wasImageCaptured) as usize - ptr as usize },
21553        16usize,
21554        concat!(
21555            "Offset of field: ",
21556            stringify!(ACameraCaptureFailure),
21557            "::",
21558            stringify!(wasImageCaptured)
21559        )
21560    );
21561}
21562pub type ACameraCaptureSession_captureCallback_start = ::std::option::Option<
21563    unsafe extern "C" fn(
21564        context: *mut ::std::os::raw::c_void,
21565        session: *mut ACameraCaptureSession,
21566        request: *const ACaptureRequest,
21567        timestamp: i64,
21568    ),
21569>;
21570pub type ACameraCaptureSession_captureCallback_result = ::std::option::Option<
21571    unsafe extern "C" fn(
21572        context: *mut ::std::os::raw::c_void,
21573        session: *mut ACameraCaptureSession,
21574        request: *mut ACaptureRequest,
21575        result: *const ACameraMetadata,
21576    ),
21577>;
21578pub type ACameraCaptureSession_captureCallback_failed = ::std::option::Option<
21579    unsafe extern "C" fn(
21580        context: *mut ::std::os::raw::c_void,
21581        session: *mut ACameraCaptureSession,
21582        request: *mut ACaptureRequest,
21583        failure: *mut ACameraCaptureFailure,
21584    ),
21585>;
21586pub type ACameraCaptureSession_captureCallback_sequenceEnd = ::std::option::Option<
21587    unsafe extern "C" fn(
21588        context: *mut ::std::os::raw::c_void,
21589        session: *mut ACameraCaptureSession,
21590        sequenceId: ::std::os::raw::c_int,
21591        frameNumber: i64,
21592    ),
21593>;
21594pub type ACameraCaptureSession_captureCallback_sequenceAbort = ::std::option::Option<
21595    unsafe extern "C" fn(
21596        context: *mut ::std::os::raw::c_void,
21597        session: *mut ACameraCaptureSession,
21598        sequenceId: ::std::os::raw::c_int,
21599    ),
21600>;
21601pub type ACameraCaptureSession_captureCallback_bufferLost = ::std::option::Option<
21602    unsafe extern "C" fn(
21603        context: *mut ::std::os::raw::c_void,
21604        session: *mut ACameraCaptureSession,
21605        request: *mut ACaptureRequest,
21606        window: *mut ACameraWindowType,
21607        frameNumber: i64,
21608    ),
21609>;
21610#[repr(C)]
21611#[derive(Debug, Copy, Clone)]
21612pub struct ACameraCaptureSession_captureCallbacks {
21613    pub context: *mut ::std::os::raw::c_void,
21614    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
21615    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
21616    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
21617    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
21618    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
21619    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
21620    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
21621}
21622#[test]
21623fn bindgen_test_layout_ACameraCaptureSession_captureCallbacks() {
21624    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacks> =
21625        ::std::mem::MaybeUninit::uninit();
21626    let ptr = UNINIT.as_ptr();
21627    assert_eq!(
21628        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacks>(),
21629        64usize,
21630        concat!(
21631            "Size of: ",
21632            stringify!(ACameraCaptureSession_captureCallbacks)
21633        )
21634    );
21635    assert_eq!(
21636        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacks>(),
21637        8usize,
21638        concat!(
21639            "Alignment of ",
21640            stringify!(ACameraCaptureSession_captureCallbacks)
21641        )
21642    );
21643    assert_eq!(
21644        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
21645        0usize,
21646        concat!(
21647            "Offset of field: ",
21648            stringify!(ACameraCaptureSession_captureCallbacks),
21649            "::",
21650            stringify!(context)
21651        )
21652    );
21653    assert_eq!(
21654        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
21655        8usize,
21656        concat!(
21657            "Offset of field: ",
21658            stringify!(ACameraCaptureSession_captureCallbacks),
21659            "::",
21660            stringify!(onCaptureStarted)
21661        )
21662    );
21663    assert_eq!(
21664        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
21665        16usize,
21666        concat!(
21667            "Offset of field: ",
21668            stringify!(ACameraCaptureSession_captureCallbacks),
21669            "::",
21670            stringify!(onCaptureProgressed)
21671        )
21672    );
21673    assert_eq!(
21674        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
21675        24usize,
21676        concat!(
21677            "Offset of field: ",
21678            stringify!(ACameraCaptureSession_captureCallbacks),
21679            "::",
21680            stringify!(onCaptureCompleted)
21681        )
21682    );
21683    assert_eq!(
21684        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
21685        32usize,
21686        concat!(
21687            "Offset of field: ",
21688            stringify!(ACameraCaptureSession_captureCallbacks),
21689            "::",
21690            stringify!(onCaptureFailed)
21691        )
21692    );
21693    assert_eq!(
21694        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
21695        40usize,
21696        concat!(
21697            "Offset of field: ",
21698            stringify!(ACameraCaptureSession_captureCallbacks),
21699            "::",
21700            stringify!(onCaptureSequenceCompleted)
21701        )
21702    );
21703    assert_eq!(
21704        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
21705        48usize,
21706        concat!(
21707            "Offset of field: ",
21708            stringify!(ACameraCaptureSession_captureCallbacks),
21709            "::",
21710            stringify!(onCaptureSequenceAborted)
21711        )
21712    );
21713    assert_eq!(
21714        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
21715        56usize,
21716        concat!(
21717            "Offset of field: ",
21718            stringify!(ACameraCaptureSession_captureCallbacks),
21719            "::",
21720            stringify!(onCaptureBufferLost)
21721        )
21722    );
21723}
21724pub const CAPTURE_SEQUENCE_ID_NONE: _bindgen_ty_66 = -1;
21725pub type _bindgen_ty_66 = ::std::os::raw::c_int;
21726extern "C" {
21727    pub fn ACameraCaptureSession_close(session: *mut ACameraCaptureSession);
21728}
21729#[repr(C)]
21730#[derive(Debug, Copy, Clone)]
21731pub struct ACameraDevice {
21732    _unused: [u8; 0],
21733}
21734extern "C" {
21735    pub fn ACameraCaptureSession_getDevice(
21736        session: *mut ACameraCaptureSession,
21737        device: *mut *mut ACameraDevice,
21738    ) -> camera_status_t;
21739}
21740extern "C" {
21741    pub fn ACameraCaptureSession_capture(
21742        session: *mut ACameraCaptureSession,
21743        callbacks: *mut ACameraCaptureSession_captureCallbacks,
21744        numRequests: ::std::os::raw::c_int,
21745        requests: *mut *mut ACaptureRequest,
21746        captureSequenceId: *mut ::std::os::raw::c_int,
21747    ) -> camera_status_t;
21748}
21749extern "C" {
21750    pub fn ACameraCaptureSession_setRepeatingRequest(
21751        session: *mut ACameraCaptureSession,
21752        callbacks: *mut ACameraCaptureSession_captureCallbacks,
21753        numRequests: ::std::os::raw::c_int,
21754        requests: *mut *mut ACaptureRequest,
21755        captureSequenceId: *mut ::std::os::raw::c_int,
21756    ) -> camera_status_t;
21757}
21758extern "C" {
21759    pub fn ACameraCaptureSession_stopRepeating(
21760        session: *mut ACameraCaptureSession,
21761    ) -> camera_status_t;
21762}
21763extern "C" {
21764    pub fn ACameraCaptureSession_abortCaptures(
21765        session: *mut ACameraCaptureSession,
21766    ) -> camera_status_t;
21767}
21768#[repr(C)]
21769#[derive(Debug, Copy, Clone)]
21770pub struct ACaptureSessionOutput {
21771    _unused: [u8; 0],
21772}
21773extern "C" {
21774    pub fn ACameraCaptureSession_updateSharedOutput(
21775        session: *mut ACameraCaptureSession,
21776        output: *mut ACaptureSessionOutput,
21777    ) -> camera_status_t;
21778}
21779pub type ACameraCaptureSession_logicalCamera_captureCallback_result = ::std::option::Option<
21780    unsafe extern "C" fn(
21781        context: *mut ::std::os::raw::c_void,
21782        session: *mut ACameraCaptureSession,
21783        request: *mut ACaptureRequest,
21784        result: *const ACameraMetadata,
21785        physicalResultCount: usize,
21786        physicalCameraIds: *mut *const ::std::os::raw::c_char,
21787        physicalResults: *mut *const ACameraMetadata,
21788    ),
21789>;
21790#[repr(C)]
21791#[derive(Debug, Copy, Clone)]
21792pub struct ALogicalCameraCaptureFailure {
21793    pub captureFailure: ACameraCaptureFailure,
21794    pub physicalCameraId: *const ::std::os::raw::c_char,
21795}
21796#[test]
21797fn bindgen_test_layout_ALogicalCameraCaptureFailure() {
21798    const UNINIT: ::std::mem::MaybeUninit<ALogicalCameraCaptureFailure> =
21799        ::std::mem::MaybeUninit::uninit();
21800    let ptr = UNINIT.as_ptr();
21801    assert_eq!(
21802        ::std::mem::size_of::<ALogicalCameraCaptureFailure>(),
21803        32usize,
21804        concat!("Size of: ", stringify!(ALogicalCameraCaptureFailure))
21805    );
21806    assert_eq!(
21807        ::std::mem::align_of::<ALogicalCameraCaptureFailure>(),
21808        8usize,
21809        concat!("Alignment of ", stringify!(ALogicalCameraCaptureFailure))
21810    );
21811    assert_eq!(
21812        unsafe { ::std::ptr::addr_of!((*ptr).captureFailure) as usize - ptr as usize },
21813        0usize,
21814        concat!(
21815            "Offset of field: ",
21816            stringify!(ALogicalCameraCaptureFailure),
21817            "::",
21818            stringify!(captureFailure)
21819        )
21820    );
21821    assert_eq!(
21822        unsafe { ::std::ptr::addr_of!((*ptr).physicalCameraId) as usize - ptr as usize },
21823        24usize,
21824        concat!(
21825            "Offset of field: ",
21826            stringify!(ALogicalCameraCaptureFailure),
21827            "::",
21828            stringify!(physicalCameraId)
21829        )
21830    );
21831}
21832pub type ACameraCaptureSession_logicalCamera_captureCallback_failed = ::std::option::Option<
21833    unsafe extern "C" fn(
21834        context: *mut ::std::os::raw::c_void,
21835        session: *mut ACameraCaptureSession,
21836        request: *mut ACaptureRequest,
21837        failure: *mut ALogicalCameraCaptureFailure,
21838    ),
21839>;
21840#[repr(C)]
21841#[derive(Debug, Copy, Clone)]
21842pub struct ACameraCaptureSession_logicalCamera_captureCallbacks {
21843    pub context: *mut ::std::os::raw::c_void,
21844    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
21845    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
21846    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
21847    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
21848    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
21849    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
21850    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
21851}
21852#[test]
21853fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks() {
21854    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacks> =
21855        ::std::mem::MaybeUninit::uninit();
21856    let ptr = UNINIT.as_ptr();
21857    assert_eq!(
21858        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
21859        64usize,
21860        concat!(
21861            "Size of: ",
21862            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
21863        )
21864    );
21865    assert_eq!(
21866        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
21867        8usize,
21868        concat!(
21869            "Alignment of ",
21870            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
21871        )
21872    );
21873    assert_eq!(
21874        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
21875        0usize,
21876        concat!(
21877            "Offset of field: ",
21878            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21879            "::",
21880            stringify!(context)
21881        )
21882    );
21883    assert_eq!(
21884        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
21885        8usize,
21886        concat!(
21887            "Offset of field: ",
21888            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21889            "::",
21890            stringify!(onCaptureStarted)
21891        )
21892    );
21893    assert_eq!(
21894        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
21895        16usize,
21896        concat!(
21897            "Offset of field: ",
21898            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21899            "::",
21900            stringify!(onCaptureProgressed)
21901        )
21902    );
21903    assert_eq!(
21904        unsafe {
21905            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
21906        },
21907        24usize,
21908        concat!(
21909            "Offset of field: ",
21910            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21911            "::",
21912            stringify!(onLogicalCameraCaptureCompleted)
21913        )
21914    );
21915    assert_eq!(
21916        unsafe {
21917            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
21918        },
21919        32usize,
21920        concat!(
21921            "Offset of field: ",
21922            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21923            "::",
21924            stringify!(onLogicalCameraCaptureFailed)
21925        )
21926    );
21927    assert_eq!(
21928        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
21929        40usize,
21930        concat!(
21931            "Offset of field: ",
21932            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21933            "::",
21934            stringify!(onCaptureSequenceCompleted)
21935        )
21936    );
21937    assert_eq!(
21938        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
21939        48usize,
21940        concat!(
21941            "Offset of field: ",
21942            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21943            "::",
21944            stringify!(onCaptureSequenceAborted)
21945        )
21946    );
21947    assert_eq!(
21948        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
21949        56usize,
21950        concat!(
21951            "Offset of field: ",
21952            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
21953            "::",
21954            stringify!(onCaptureBufferLost)
21955        )
21956    );
21957}
21958extern "C" {
21959    pub fn ACameraCaptureSession_logicalCamera_capture(
21960        session: *mut ACameraCaptureSession,
21961        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
21962        numRequests: ::std::os::raw::c_int,
21963        requests: *mut *mut ACaptureRequest,
21964        captureSequenceId: *mut ::std::os::raw::c_int,
21965    ) -> camera_status_t;
21966}
21967extern "C" {
21968    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequest(
21969        session: *mut ACameraCaptureSession,
21970        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
21971        numRequests: ::std::os::raw::c_int,
21972        requests: *mut *mut ACaptureRequest,
21973        captureSequenceId: *mut ::std::os::raw::c_int,
21974    ) -> camera_status_t;
21975}
21976pub type ACameraCaptureSession_captureCallback_startV2 = ::std::option::Option<
21977    unsafe extern "C" fn(
21978        context: *mut ::std::os::raw::c_void,
21979        session: *mut ACameraCaptureSession,
21980        request: *const ACaptureRequest,
21981        timestamp: i64,
21982        frameNumber: i64,
21983    ),
21984>;
21985#[repr(C)]
21986#[derive(Debug, Copy, Clone)]
21987pub struct ACameraCaptureSession_captureCallbacksV2 {
21988    pub context: *mut ::std::os::raw::c_void,
21989    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
21990    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
21991    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
21992    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
21993    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
21994    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
21995    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
21996}
21997#[test]
21998fn bindgen_test_layout_ACameraCaptureSession_captureCallbacksV2() {
21999    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacksV2> =
22000        ::std::mem::MaybeUninit::uninit();
22001    let ptr = UNINIT.as_ptr();
22002    assert_eq!(
22003        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacksV2>(),
22004        64usize,
22005        concat!(
22006            "Size of: ",
22007            stringify!(ACameraCaptureSession_captureCallbacksV2)
22008        )
22009    );
22010    assert_eq!(
22011        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacksV2>(),
22012        8usize,
22013        concat!(
22014            "Alignment of ",
22015            stringify!(ACameraCaptureSession_captureCallbacksV2)
22016        )
22017    );
22018    assert_eq!(
22019        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22020        0usize,
22021        concat!(
22022            "Offset of field: ",
22023            stringify!(ACameraCaptureSession_captureCallbacksV2),
22024            "::",
22025            stringify!(context)
22026        )
22027    );
22028    assert_eq!(
22029        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
22030        8usize,
22031        concat!(
22032            "Offset of field: ",
22033            stringify!(ACameraCaptureSession_captureCallbacksV2),
22034            "::",
22035            stringify!(onCaptureStarted)
22036        )
22037    );
22038    assert_eq!(
22039        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
22040        16usize,
22041        concat!(
22042            "Offset of field: ",
22043            stringify!(ACameraCaptureSession_captureCallbacksV2),
22044            "::",
22045            stringify!(onCaptureProgressed)
22046        )
22047    );
22048    assert_eq!(
22049        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
22050        24usize,
22051        concat!(
22052            "Offset of field: ",
22053            stringify!(ACameraCaptureSession_captureCallbacksV2),
22054            "::",
22055            stringify!(onCaptureCompleted)
22056        )
22057    );
22058    assert_eq!(
22059        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
22060        32usize,
22061        concat!(
22062            "Offset of field: ",
22063            stringify!(ACameraCaptureSession_captureCallbacksV2),
22064            "::",
22065            stringify!(onCaptureFailed)
22066        )
22067    );
22068    assert_eq!(
22069        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
22070        40usize,
22071        concat!(
22072            "Offset of field: ",
22073            stringify!(ACameraCaptureSession_captureCallbacksV2),
22074            "::",
22075            stringify!(onCaptureSequenceCompleted)
22076        )
22077    );
22078    assert_eq!(
22079        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
22080        48usize,
22081        concat!(
22082            "Offset of field: ",
22083            stringify!(ACameraCaptureSession_captureCallbacksV2),
22084            "::",
22085            stringify!(onCaptureSequenceAborted)
22086        )
22087    );
22088    assert_eq!(
22089        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
22090        56usize,
22091        concat!(
22092            "Offset of field: ",
22093            stringify!(ACameraCaptureSession_captureCallbacksV2),
22094            "::",
22095            stringify!(onCaptureBufferLost)
22096        )
22097    );
22098}
22099#[repr(C)]
22100#[derive(Debug, Copy, Clone)]
22101pub struct ACameraCaptureSession_logicalCamera_captureCallbacksV2 {
22102    pub context: *mut ::std::os::raw::c_void,
22103    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
22104    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
22105    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
22106    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
22107    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
22108    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
22109    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
22110}
22111#[test]
22112fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacksV2() {
22113    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacksV2> =
22114        ::std::mem::MaybeUninit::uninit();
22115    let ptr = UNINIT.as_ptr();
22116    assert_eq!(
22117        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
22118        64usize,
22119        concat!(
22120            "Size of: ",
22121            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
22122        )
22123    );
22124    assert_eq!(
22125        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
22126        8usize,
22127        concat!(
22128            "Alignment of ",
22129            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
22130        )
22131    );
22132    assert_eq!(
22133        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22134        0usize,
22135        concat!(
22136            "Offset of field: ",
22137            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22138            "::",
22139            stringify!(context)
22140        )
22141    );
22142    assert_eq!(
22143        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
22144        8usize,
22145        concat!(
22146            "Offset of field: ",
22147            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22148            "::",
22149            stringify!(onCaptureStarted)
22150        )
22151    );
22152    assert_eq!(
22153        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
22154        16usize,
22155        concat!(
22156            "Offset of field: ",
22157            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22158            "::",
22159            stringify!(onCaptureProgressed)
22160        )
22161    );
22162    assert_eq!(
22163        unsafe {
22164            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
22165        },
22166        24usize,
22167        concat!(
22168            "Offset of field: ",
22169            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22170            "::",
22171            stringify!(onLogicalCameraCaptureCompleted)
22172        )
22173    );
22174    assert_eq!(
22175        unsafe {
22176            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
22177        },
22178        32usize,
22179        concat!(
22180            "Offset of field: ",
22181            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22182            "::",
22183            stringify!(onLogicalCameraCaptureFailed)
22184        )
22185    );
22186    assert_eq!(
22187        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
22188        40usize,
22189        concat!(
22190            "Offset of field: ",
22191            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22192            "::",
22193            stringify!(onCaptureSequenceCompleted)
22194        )
22195    );
22196    assert_eq!(
22197        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
22198        48usize,
22199        concat!(
22200            "Offset of field: ",
22201            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22202            "::",
22203            stringify!(onCaptureSequenceAborted)
22204        )
22205    );
22206    assert_eq!(
22207        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
22208        56usize,
22209        concat!(
22210            "Offset of field: ",
22211            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
22212            "::",
22213            stringify!(onCaptureBufferLost)
22214        )
22215    );
22216}
22217extern "C" {
22218    pub fn ACameraCaptureSession_captureV2(
22219        session: *mut ACameraCaptureSession,
22220        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
22221        numRequests: ::std::os::raw::c_int,
22222        requests: *mut *mut ACaptureRequest,
22223        captureSequenceId: *mut ::std::os::raw::c_int,
22224    ) -> camera_status_t;
22225}
22226extern "C" {
22227    pub fn ACameraCaptureSession_setRepeatingRequestV2(
22228        session: *mut ACameraCaptureSession,
22229        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
22230        numRequests: ::std::os::raw::c_int,
22231        requests: *mut *mut ACaptureRequest,
22232        captureSequenceId: *mut ::std::os::raw::c_int,
22233    ) -> camera_status_t;
22234}
22235extern "C" {
22236    pub fn ACameraCaptureSession_logicalCamera_captureV2(
22237        session: *mut ACameraCaptureSession,
22238        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
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_setRepeatingRequestV2(
22246        session: *mut ACameraCaptureSession,
22247        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
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}
22253extern "C" {
22254    pub fn ACameraCaptureSession_setWindowPreparedCallback(
22255        session: *mut ACameraCaptureSession,
22256        context: *mut ::std::os::raw::c_void,
22257        callback: ACameraCaptureSession_prepareCallback,
22258    ) -> camera_status_t;
22259}
22260extern "C" {
22261    pub fn ACameraCaptureSession_prepareWindow(
22262        session: *mut ACameraCaptureSession,
22263        window: *mut ACameraWindowType,
22264    ) -> camera_status_t;
22265}
22266#[repr(C)]
22267#[derive(Debug, Copy, Clone)]
22268pub struct ACameraIdList {
22269    pub numCameras: ::std::os::raw::c_int,
22270    pub cameraIds: *mut *const ::std::os::raw::c_char,
22271}
22272#[test]
22273fn bindgen_test_layout_ACameraIdList() {
22274    const UNINIT: ::std::mem::MaybeUninit<ACameraIdList> = ::std::mem::MaybeUninit::uninit();
22275    let ptr = UNINIT.as_ptr();
22276    assert_eq!(
22277        ::std::mem::size_of::<ACameraIdList>(),
22278        16usize,
22279        concat!("Size of: ", stringify!(ACameraIdList))
22280    );
22281    assert_eq!(
22282        ::std::mem::align_of::<ACameraIdList>(),
22283        8usize,
22284        concat!("Alignment of ", stringify!(ACameraIdList))
22285    );
22286    assert_eq!(
22287        unsafe { ::std::ptr::addr_of!((*ptr).numCameras) as usize - ptr as usize },
22288        0usize,
22289        concat!(
22290            "Offset of field: ",
22291            stringify!(ACameraIdList),
22292            "::",
22293            stringify!(numCameras)
22294        )
22295    );
22296    assert_eq!(
22297        unsafe { ::std::ptr::addr_of!((*ptr).cameraIds) as usize - ptr as usize },
22298        8usize,
22299        concat!(
22300            "Offset of field: ",
22301            stringify!(ACameraIdList),
22302            "::",
22303            stringify!(cameraIds)
22304        )
22305    );
22306}
22307pub const ERROR_CAMERA_IN_USE: _bindgen_ty_67 = 1;
22308pub const ERROR_MAX_CAMERAS_IN_USE: _bindgen_ty_67 = 2;
22309pub const ERROR_CAMERA_DISABLED: _bindgen_ty_67 = 3;
22310pub const ERROR_CAMERA_DEVICE: _bindgen_ty_67 = 4;
22311pub const ERROR_CAMERA_SERVICE: _bindgen_ty_67 = 5;
22312pub type _bindgen_ty_67 = ::std::os::raw::c_uint;
22313pub type ACameraDevice_StateCallback = ::std::option::Option<
22314    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, device: *mut ACameraDevice),
22315>;
22316pub type ACameraDevice_ErrorStateCallback = ::std::option::Option<
22317    unsafe extern "C" fn(
22318        context: *mut ::std::os::raw::c_void,
22319        device: *mut ACameraDevice,
22320        error: ::std::os::raw::c_int,
22321    ),
22322>;
22323#[repr(C)]
22324#[derive(Debug, Copy, Clone)]
22325pub struct ACameraDevice_StateCallbacks {
22326    pub context: *mut ::std::os::raw::c_void,
22327    pub onDisconnected: ACameraDevice_StateCallback,
22328    pub onError: ACameraDevice_ErrorStateCallback,
22329}
22330#[test]
22331fn bindgen_test_layout_ACameraDevice_StateCallbacks() {
22332    const UNINIT: ::std::mem::MaybeUninit<ACameraDevice_StateCallbacks> =
22333        ::std::mem::MaybeUninit::uninit();
22334    let ptr = UNINIT.as_ptr();
22335    assert_eq!(
22336        ::std::mem::size_of::<ACameraDevice_StateCallbacks>(),
22337        24usize,
22338        concat!("Size of: ", stringify!(ACameraDevice_StateCallbacks))
22339    );
22340    assert_eq!(
22341        ::std::mem::align_of::<ACameraDevice_StateCallbacks>(),
22342        8usize,
22343        concat!("Alignment of ", stringify!(ACameraDevice_StateCallbacks))
22344    );
22345    assert_eq!(
22346        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22347        0usize,
22348        concat!(
22349            "Offset of field: ",
22350            stringify!(ACameraDevice_StateCallbacks),
22351            "::",
22352            stringify!(context)
22353        )
22354    );
22355    assert_eq!(
22356        unsafe { ::std::ptr::addr_of!((*ptr).onDisconnected) as usize - ptr as usize },
22357        8usize,
22358        concat!(
22359            "Offset of field: ",
22360            stringify!(ACameraDevice_StateCallbacks),
22361            "::",
22362            stringify!(onDisconnected)
22363        )
22364    );
22365    assert_eq!(
22366        unsafe { ::std::ptr::addr_of!((*ptr).onError) as usize - ptr as usize },
22367        16usize,
22368        concat!(
22369            "Offset of field: ",
22370            stringify!(ACameraDevice_StateCallbacks),
22371            "::",
22372            stringify!(onError)
22373        )
22374    );
22375}
22376pub type ACameraDevice_stateCallbacks = ACameraDevice_StateCallbacks;
22377extern "C" {
22378    pub fn ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t;
22379}
22380extern "C" {
22381    pub fn ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char;
22382}
22383impl ACameraDevice_request_template {
22384    pub const TEMPLATE_PREVIEW: ACameraDevice_request_template = ACameraDevice_request_template(1);
22385}
22386impl ACameraDevice_request_template {
22387    pub const TEMPLATE_STILL_CAPTURE: ACameraDevice_request_template =
22388        ACameraDevice_request_template(2);
22389}
22390impl ACameraDevice_request_template {
22391    pub const TEMPLATE_RECORD: ACameraDevice_request_template = ACameraDevice_request_template(3);
22392}
22393impl ACameraDevice_request_template {
22394    pub const TEMPLATE_VIDEO_SNAPSHOT: ACameraDevice_request_template =
22395        ACameraDevice_request_template(4);
22396}
22397impl ACameraDevice_request_template {
22398    pub const TEMPLATE_ZERO_SHUTTER_LAG: ACameraDevice_request_template =
22399        ACameraDevice_request_template(5);
22400}
22401impl ACameraDevice_request_template {
22402    pub const TEMPLATE_MANUAL: ACameraDevice_request_template = ACameraDevice_request_template(6);
22403}
22404#[repr(transparent)]
22405#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22406pub struct ACameraDevice_request_template(pub ::std::os::raw::c_uint);
22407extern "C" {
22408    pub fn ACameraDevice_createCaptureRequest(
22409        device: *const ACameraDevice,
22410        templateId: ACameraDevice_request_template,
22411        request: *mut *mut ACaptureRequest,
22412    ) -> camera_status_t;
22413}
22414#[repr(C)]
22415#[derive(Debug, Copy, Clone)]
22416pub struct ACaptureSessionOutputContainer {
22417    _unused: [u8; 0],
22418}
22419extern "C" {
22420    pub fn ACaptureSessionOutputContainer_create(
22421        container: *mut *mut ACaptureSessionOutputContainer,
22422    ) -> camera_status_t;
22423}
22424extern "C" {
22425    pub fn ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer);
22426}
22427extern "C" {
22428    pub fn ACaptureSessionOutput_create(
22429        anw: *mut ACameraWindowType,
22430        output: *mut *mut ACaptureSessionOutput,
22431    ) -> camera_status_t;
22432}
22433extern "C" {
22434    pub fn ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput);
22435}
22436extern "C" {
22437    pub fn ACaptureSessionOutputContainer_add(
22438        container: *mut ACaptureSessionOutputContainer,
22439        output: *const ACaptureSessionOutput,
22440    ) -> camera_status_t;
22441}
22442extern "C" {
22443    pub fn ACaptureSessionOutputContainer_remove(
22444        container: *mut ACaptureSessionOutputContainer,
22445        output: *const ACaptureSessionOutput,
22446    ) -> camera_status_t;
22447}
22448extern "C" {
22449    pub fn ACameraDevice_createCaptureSession(
22450        device: *mut ACameraDevice,
22451        outputs: *const ACaptureSessionOutputContainer,
22452        callbacks: *const ACameraCaptureSession_stateCallbacks,
22453        session: *mut *mut ACameraCaptureSession,
22454    ) -> camera_status_t;
22455}
22456extern "C" {
22457    pub fn ACaptureSessionSharedOutput_create(
22458        anw: *mut ACameraWindowType,
22459        output: *mut *mut ACaptureSessionOutput,
22460    ) -> camera_status_t;
22461}
22462extern "C" {
22463    pub fn ACaptureSessionSharedOutput_add(
22464        output: *mut ACaptureSessionOutput,
22465        anw: *mut ACameraWindowType,
22466    ) -> camera_status_t;
22467}
22468extern "C" {
22469    pub fn ACaptureSessionSharedOutput_remove(
22470        output: *mut ACaptureSessionOutput,
22471        anw: *mut ACameraWindowType,
22472    ) -> camera_status_t;
22473}
22474extern "C" {
22475    pub fn ACameraDevice_createCaptureSessionWithSessionParameters(
22476        device: *mut ACameraDevice,
22477        outputs: *const ACaptureSessionOutputContainer,
22478        sessionParameters: *const ACaptureRequest,
22479        callbacks: *const ACameraCaptureSession_stateCallbacks,
22480        session: *mut *mut ACameraCaptureSession,
22481    ) -> camera_status_t;
22482}
22483extern "C" {
22484    pub fn ACaptureSessionPhysicalOutput_create(
22485        anw: *mut ACameraWindowType,
22486        physicalId: *const ::std::os::raw::c_char,
22487        output: *mut *mut ACaptureSessionOutput,
22488    ) -> camera_status_t;
22489}
22490extern "C" {
22491    pub fn ACameraDevice_createCaptureRequest_withPhysicalIds(
22492        device: *const ACameraDevice,
22493        templateId: ACameraDevice_request_template,
22494        physicalIdList: *const ACameraIdList,
22495        request: *mut *mut ACaptureRequest,
22496    ) -> camera_status_t;
22497}
22498extern "C" {
22499    pub fn ACameraDevice_isSessionConfigurationSupported(
22500        device: *const ACameraDevice,
22501        sessionOutputContainer: *const ACaptureSessionOutputContainer,
22502    ) -> camera_status_t;
22503}
22504#[repr(C)]
22505#[derive(Debug, Copy, Clone)]
22506pub struct ACameraManager {
22507    _unused: [u8; 0],
22508}
22509extern "C" {
22510    pub fn ACameraManager_create() -> *mut ACameraManager;
22511}
22512extern "C" {
22513    pub fn ACameraManager_delete(manager: *mut ACameraManager);
22514}
22515extern "C" {
22516    pub fn ACameraManager_getCameraIdList(
22517        manager: *mut ACameraManager,
22518        cameraIdList: *mut *mut ACameraIdList,
22519    ) -> camera_status_t;
22520}
22521extern "C" {
22522    pub fn ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList);
22523}
22524pub type ACameraManager_AvailabilityCallback = ::std::option::Option<
22525    unsafe extern "C" fn(
22526        context: *mut ::std::os::raw::c_void,
22527        cameraId: *const ::std::os::raw::c_char,
22528    ),
22529>;
22530pub type ACameraManager_PhysicalCameraAvailabilityCallback = ::std::option::Option<
22531    unsafe extern "C" fn(
22532        context: *mut ::std::os::raw::c_void,
22533        cameraId: *const ::std::os::raw::c_char,
22534        physicalCameraId: *const ::std::os::raw::c_char,
22535    ),
22536>;
22537#[repr(C)]
22538#[derive(Debug, Copy, Clone)]
22539pub struct ACameraManager_AvailabilityListener {
22540    pub context: *mut ::std::os::raw::c_void,
22541    pub onCameraAvailable: ACameraManager_AvailabilityCallback,
22542    pub onCameraUnavailable: ACameraManager_AvailabilityCallback,
22543}
22544#[test]
22545fn bindgen_test_layout_ACameraManager_AvailabilityListener() {
22546    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_AvailabilityListener> =
22547        ::std::mem::MaybeUninit::uninit();
22548    let ptr = UNINIT.as_ptr();
22549    assert_eq!(
22550        ::std::mem::size_of::<ACameraManager_AvailabilityListener>(),
22551        24usize,
22552        concat!("Size of: ", stringify!(ACameraManager_AvailabilityListener))
22553    );
22554    assert_eq!(
22555        ::std::mem::align_of::<ACameraManager_AvailabilityListener>(),
22556        8usize,
22557        concat!(
22558            "Alignment of ",
22559            stringify!(ACameraManager_AvailabilityListener)
22560        )
22561    );
22562    assert_eq!(
22563        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22564        0usize,
22565        concat!(
22566            "Offset of field: ",
22567            stringify!(ACameraManager_AvailabilityListener),
22568            "::",
22569            stringify!(context)
22570        )
22571    );
22572    assert_eq!(
22573        unsafe { ::std::ptr::addr_of!((*ptr).onCameraAvailable) as usize - ptr as usize },
22574        8usize,
22575        concat!(
22576            "Offset of field: ",
22577            stringify!(ACameraManager_AvailabilityListener),
22578            "::",
22579            stringify!(onCameraAvailable)
22580        )
22581    );
22582    assert_eq!(
22583        unsafe { ::std::ptr::addr_of!((*ptr).onCameraUnavailable) as usize - ptr as usize },
22584        16usize,
22585        concat!(
22586            "Offset of field: ",
22587            stringify!(ACameraManager_AvailabilityListener),
22588            "::",
22589            stringify!(onCameraUnavailable)
22590        )
22591    );
22592}
22593pub type ACameraManager_AvailabilityCallbacks = ACameraManager_AvailabilityListener;
22594extern "C" {
22595    pub fn ACameraManager_registerAvailabilityCallback(
22596        manager: *mut ACameraManager,
22597        callback: *const ACameraManager_AvailabilityCallbacks,
22598    ) -> camera_status_t;
22599}
22600extern "C" {
22601    pub fn ACameraManager_unregisterAvailabilityCallback(
22602        manager: *mut ACameraManager,
22603        callback: *const ACameraManager_AvailabilityCallbacks,
22604    ) -> camera_status_t;
22605}
22606extern "C" {
22607    pub fn ACameraManager_getCameraCharacteristics(
22608        manager: *mut ACameraManager,
22609        cameraId: *const ::std::os::raw::c_char,
22610        characteristics: *mut *mut ACameraMetadata,
22611    ) -> camera_status_t;
22612}
22613extern "C" {
22614    pub fn ACameraManager_openCamera(
22615        manager: *mut ACameraManager,
22616        cameraId: *const ::std::os::raw::c_char,
22617        callback: *mut ACameraDevice_StateCallbacks,
22618        device: *mut *mut ACameraDevice,
22619    ) -> camera_status_t;
22620}
22621pub type ACameraManager_AccessPrioritiesChangedCallback =
22622    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
22623#[repr(C)]
22624#[derive(Debug, Copy, Clone)]
22625pub struct ACameraManager_ExtendedAvailabilityListener {
22626    pub availabilityCallbacks: ACameraManager_AvailabilityCallbacks,
22627    pub onCameraAccessPrioritiesChanged: ACameraManager_AccessPrioritiesChangedCallback,
22628    pub onPhysicalCameraAvailable: ACameraManager_PhysicalCameraAvailabilityCallback,
22629    pub onPhysicalCameraUnavailable: ACameraManager_PhysicalCameraAvailabilityCallback,
22630    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
22631}
22632#[test]
22633fn bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener() {
22634    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_ExtendedAvailabilityListener> =
22635        ::std::mem::MaybeUninit::uninit();
22636    let ptr = UNINIT.as_ptr();
22637    assert_eq!(
22638        ::std::mem::size_of::<ACameraManager_ExtendedAvailabilityListener>(),
22639        80usize,
22640        concat!(
22641            "Size of: ",
22642            stringify!(ACameraManager_ExtendedAvailabilityListener)
22643        )
22644    );
22645    assert_eq!(
22646        ::std::mem::align_of::<ACameraManager_ExtendedAvailabilityListener>(),
22647        8usize,
22648        concat!(
22649            "Alignment of ",
22650            stringify!(ACameraManager_ExtendedAvailabilityListener)
22651        )
22652    );
22653    assert_eq!(
22654        unsafe { ::std::ptr::addr_of!((*ptr).availabilityCallbacks) as usize - ptr as usize },
22655        0usize,
22656        concat!(
22657            "Offset of field: ",
22658            stringify!(ACameraManager_ExtendedAvailabilityListener),
22659            "::",
22660            stringify!(availabilityCallbacks)
22661        )
22662    );
22663    assert_eq!(
22664        unsafe {
22665            ::std::ptr::addr_of!((*ptr).onCameraAccessPrioritiesChanged) as usize - ptr as usize
22666        },
22667        24usize,
22668        concat!(
22669            "Offset of field: ",
22670            stringify!(ACameraManager_ExtendedAvailabilityListener),
22671            "::",
22672            stringify!(onCameraAccessPrioritiesChanged)
22673        )
22674    );
22675    assert_eq!(
22676        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraAvailable) as usize - ptr as usize },
22677        32usize,
22678        concat!(
22679            "Offset of field: ",
22680            stringify!(ACameraManager_ExtendedAvailabilityListener),
22681            "::",
22682            stringify!(onPhysicalCameraAvailable)
22683        )
22684    );
22685    assert_eq!(
22686        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraUnavailable) as usize - ptr as usize },
22687        40usize,
22688        concat!(
22689            "Offset of field: ",
22690            stringify!(ACameraManager_ExtendedAvailabilityListener),
22691            "::",
22692            stringify!(onPhysicalCameraUnavailable)
22693        )
22694    );
22695    assert_eq!(
22696        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
22697        48usize,
22698        concat!(
22699            "Offset of field: ",
22700            stringify!(ACameraManager_ExtendedAvailabilityListener),
22701            "::",
22702            stringify!(reserved)
22703        )
22704    );
22705}
22706pub type ACameraManager_ExtendedAvailabilityCallbacks = ACameraManager_ExtendedAvailabilityListener;
22707extern "C" {
22708    pub fn ACameraManager_registerExtendedAvailabilityCallback(
22709        manager: *mut ACameraManager,
22710        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
22711    ) -> camera_status_t;
22712}
22713extern "C" {
22714    pub fn ACameraManager_unregisterExtendedAvailabilityCallback(
22715        manager: *mut ACameraManager,
22716        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
22717    ) -> camera_status_t;
22718}
22719#[repr(C)]
22720#[derive(Debug, Copy, Clone)]
22721pub struct AImage {
22722    _unused: [u8; 0],
22723}
22724impl AIMAGE_FORMATS {
22725    pub const AIMAGE_FORMAT_RGBA_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(1);
22726}
22727impl AIMAGE_FORMATS {
22728    pub const AIMAGE_FORMAT_RGBX_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(2);
22729}
22730impl AIMAGE_FORMATS {
22731    pub const AIMAGE_FORMAT_RGB_888: AIMAGE_FORMATS = AIMAGE_FORMATS(3);
22732}
22733impl AIMAGE_FORMATS {
22734    pub const AIMAGE_FORMAT_RGB_565: AIMAGE_FORMATS = AIMAGE_FORMATS(4);
22735}
22736impl AIMAGE_FORMATS {
22737    pub const AIMAGE_FORMAT_RGBA_FP16: AIMAGE_FORMATS = AIMAGE_FORMATS(22);
22738}
22739impl AIMAGE_FORMATS {
22740    pub const AIMAGE_FORMAT_YUV_420_888: AIMAGE_FORMATS = AIMAGE_FORMATS(35);
22741}
22742impl AIMAGE_FORMATS {
22743    pub const AIMAGE_FORMAT_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(256);
22744}
22745impl AIMAGE_FORMATS {
22746    pub const AIMAGE_FORMAT_RAW16: AIMAGE_FORMATS = AIMAGE_FORMATS(32);
22747}
22748impl AIMAGE_FORMATS {
22749    pub const AIMAGE_FORMAT_RAW_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(36);
22750}
22751impl AIMAGE_FORMATS {
22752    pub const AIMAGE_FORMAT_RAW10: AIMAGE_FORMATS = AIMAGE_FORMATS(37);
22753}
22754impl AIMAGE_FORMATS {
22755    pub const AIMAGE_FORMAT_RAW12: AIMAGE_FORMATS = AIMAGE_FORMATS(38);
22756}
22757impl AIMAGE_FORMATS {
22758    pub const AIMAGE_FORMAT_DEPTH16: AIMAGE_FORMATS = AIMAGE_FORMATS(1144402265);
22759}
22760impl AIMAGE_FORMATS {
22761    pub const AIMAGE_FORMAT_DEPTH_POINT_CLOUD: AIMAGE_FORMATS = AIMAGE_FORMATS(257);
22762}
22763impl AIMAGE_FORMATS {
22764    pub const AIMAGE_FORMAT_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(34);
22765}
22766impl AIMAGE_FORMATS {
22767    pub const AIMAGE_FORMAT_Y8: AIMAGE_FORMATS = AIMAGE_FORMATS(538982489);
22768}
22769impl AIMAGE_FORMATS {
22770    pub const AIMAGE_FORMAT_HEIC: AIMAGE_FORMATS = AIMAGE_FORMATS(1212500294);
22771}
22772impl AIMAGE_FORMATS {
22773    pub const AIMAGE_FORMAT_DEPTH_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(1768253795);
22774}
22775#[repr(transparent)]
22776#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22777pub struct AIMAGE_FORMATS(pub ::std::os::raw::c_uint);
22778#[repr(C)]
22779#[derive(Debug, Copy, Clone)]
22780pub struct AImageCropRect {
22781    pub left: i32,
22782    pub top: i32,
22783    pub right: i32,
22784    pub bottom: i32,
22785}
22786#[test]
22787fn bindgen_test_layout_AImageCropRect() {
22788    const UNINIT: ::std::mem::MaybeUninit<AImageCropRect> = ::std::mem::MaybeUninit::uninit();
22789    let ptr = UNINIT.as_ptr();
22790    assert_eq!(
22791        ::std::mem::size_of::<AImageCropRect>(),
22792        16usize,
22793        concat!("Size of: ", stringify!(AImageCropRect))
22794    );
22795    assert_eq!(
22796        ::std::mem::align_of::<AImageCropRect>(),
22797        4usize,
22798        concat!("Alignment of ", stringify!(AImageCropRect))
22799    );
22800    assert_eq!(
22801        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
22802        0usize,
22803        concat!(
22804            "Offset of field: ",
22805            stringify!(AImageCropRect),
22806            "::",
22807            stringify!(left)
22808        )
22809    );
22810    assert_eq!(
22811        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
22812        4usize,
22813        concat!(
22814            "Offset of field: ",
22815            stringify!(AImageCropRect),
22816            "::",
22817            stringify!(top)
22818        )
22819    );
22820    assert_eq!(
22821        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
22822        8usize,
22823        concat!(
22824            "Offset of field: ",
22825            stringify!(AImageCropRect),
22826            "::",
22827            stringify!(right)
22828        )
22829    );
22830    assert_eq!(
22831        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
22832        12usize,
22833        concat!(
22834            "Offset of field: ",
22835            stringify!(AImageCropRect),
22836            "::",
22837            stringify!(bottom)
22838        )
22839    );
22840}
22841extern "C" {
22842    pub fn AImage_delete(image: *mut AImage);
22843}
22844extern "C" {
22845    pub fn AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t;
22846}
22847extern "C" {
22848    pub fn AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t;
22849}
22850extern "C" {
22851    pub fn AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t;
22852}
22853extern "C" {
22854    pub fn AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t;
22855}
22856extern "C" {
22857    pub fn AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t;
22858}
22859extern "C" {
22860    pub fn AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t;
22861}
22862extern "C" {
22863    pub fn AImage_getPlanePixelStride(
22864        image: *const AImage,
22865        planeIdx: ::std::os::raw::c_int,
22866        pixelStride: *mut i32,
22867    ) -> media_status_t;
22868}
22869extern "C" {
22870    pub fn AImage_getPlaneRowStride(
22871        image: *const AImage,
22872        planeIdx: ::std::os::raw::c_int,
22873        rowStride: *mut i32,
22874    ) -> media_status_t;
22875}
22876extern "C" {
22877    pub fn AImage_getPlaneData(
22878        image: *const AImage,
22879        planeIdx: ::std::os::raw::c_int,
22880        data: *mut *mut u8,
22881        dataLength: *mut ::std::os::raw::c_int,
22882    ) -> media_status_t;
22883}
22884extern "C" {
22885    pub fn AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int);
22886}
22887extern "C" {
22888    pub fn AImage_getHardwareBuffer(
22889        image: *const AImage,
22890        buffer: *mut *mut AHardwareBuffer,
22891    ) -> media_status_t;
22892}
22893extern "C" {
22894    pub fn AImage_getDataSpace(image: *const AImage, dataSpace: *mut i32) -> media_status_t;
22895}
22896#[repr(C)]
22897#[derive(Debug, Copy, Clone)]
22898pub struct AImageReader {
22899    _unused: [u8; 0],
22900}
22901extern "C" {
22902    pub fn AImageReader_new(
22903        width: i32,
22904        height: i32,
22905        format: i32,
22906        maxImages: i32,
22907        reader: *mut *mut AImageReader,
22908    ) -> media_status_t;
22909}
22910extern "C" {
22911    pub fn AImageReader_delete(reader: *mut AImageReader);
22912}
22913extern "C" {
22914    pub fn AImageReader_getWindow(
22915        reader: *mut AImageReader,
22916        window: *mut *mut ANativeWindow,
22917    ) -> media_status_t;
22918}
22919extern "C" {
22920    pub fn AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t;
22921}
22922extern "C" {
22923    pub fn AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t;
22924}
22925extern "C" {
22926    pub fn AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t;
22927}
22928extern "C" {
22929    pub fn AImageReader_getMaxImages(
22930        reader: *const AImageReader,
22931        maxImages: *mut i32,
22932    ) -> media_status_t;
22933}
22934extern "C" {
22935    pub fn AImageReader_acquireNextImage(
22936        reader: *mut AImageReader,
22937        image: *mut *mut AImage,
22938    ) -> media_status_t;
22939}
22940extern "C" {
22941    pub fn AImageReader_acquireLatestImage(
22942        reader: *mut AImageReader,
22943        image: *mut *mut AImage,
22944    ) -> media_status_t;
22945}
22946pub type AImageReader_ImageCallback = ::std::option::Option<
22947    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, reader: *mut AImageReader),
22948>;
22949#[repr(C)]
22950#[derive(Debug, Copy, Clone)]
22951pub struct AImageReader_ImageListener {
22952    pub context: *mut ::std::os::raw::c_void,
22953    pub onImageAvailable: AImageReader_ImageCallback,
22954}
22955#[test]
22956fn bindgen_test_layout_AImageReader_ImageListener() {
22957    const UNINIT: ::std::mem::MaybeUninit<AImageReader_ImageListener> =
22958        ::std::mem::MaybeUninit::uninit();
22959    let ptr = UNINIT.as_ptr();
22960    assert_eq!(
22961        ::std::mem::size_of::<AImageReader_ImageListener>(),
22962        16usize,
22963        concat!("Size of: ", stringify!(AImageReader_ImageListener))
22964    );
22965    assert_eq!(
22966        ::std::mem::align_of::<AImageReader_ImageListener>(),
22967        8usize,
22968        concat!("Alignment of ", stringify!(AImageReader_ImageListener))
22969    );
22970    assert_eq!(
22971        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
22972        0usize,
22973        concat!(
22974            "Offset of field: ",
22975            stringify!(AImageReader_ImageListener),
22976            "::",
22977            stringify!(context)
22978        )
22979    );
22980    assert_eq!(
22981        unsafe { ::std::ptr::addr_of!((*ptr).onImageAvailable) as usize - ptr as usize },
22982        8usize,
22983        concat!(
22984            "Offset of field: ",
22985            stringify!(AImageReader_ImageListener),
22986            "::",
22987            stringify!(onImageAvailable)
22988        )
22989    );
22990}
22991extern "C" {
22992    pub fn AImageReader_setImageListener(
22993        reader: *mut AImageReader,
22994        listener: *mut AImageReader_ImageListener,
22995    ) -> media_status_t;
22996}
22997extern "C" {
22998    pub fn AImageReader_newWithUsage(
22999        width: i32,
23000        height: i32,
23001        format: i32,
23002        usage: u64,
23003        maxImages: i32,
23004        reader: *mut *mut AImageReader,
23005    ) -> media_status_t;
23006}
23007extern "C" {
23008    pub fn AImageReader_newWithDataSpace(
23009        width: i32,
23010        height: i32,
23011        usage: u64,
23012        maxImages: i32,
23013        hardwareBufferFormat: u32,
23014        dataSpace: i32,
23015        reader: *mut *mut AImageReader,
23016    ) -> media_status_t;
23017}
23018extern "C" {
23019    pub fn AImageReader_acquireNextImageAsync(
23020        reader: *mut AImageReader,
23021        image: *mut *mut AImage,
23022        acquireFenceFd: *mut ::std::os::raw::c_int,
23023    ) -> media_status_t;
23024}
23025extern "C" {
23026    pub fn AImageReader_acquireLatestImageAsync(
23027        reader: *mut AImageReader,
23028        image: *mut *mut AImage,
23029        acquireFenceFd: *mut ::std::os::raw::c_int,
23030    ) -> media_status_t;
23031}
23032pub type AImageReader_BufferRemovedCallback = ::std::option::Option<
23033    unsafe extern "C" fn(
23034        context: *mut ::std::os::raw::c_void,
23035        reader: *mut AImageReader,
23036        buffer: *mut AHardwareBuffer,
23037    ),
23038>;
23039#[repr(C)]
23040#[derive(Debug, Copy, Clone)]
23041pub struct AImageReader_BufferRemovedListener {
23042    pub context: *mut ::std::os::raw::c_void,
23043    pub onBufferRemoved: AImageReader_BufferRemovedCallback,
23044}
23045#[test]
23046fn bindgen_test_layout_AImageReader_BufferRemovedListener() {
23047    const UNINIT: ::std::mem::MaybeUninit<AImageReader_BufferRemovedListener> =
23048        ::std::mem::MaybeUninit::uninit();
23049    let ptr = UNINIT.as_ptr();
23050    assert_eq!(
23051        ::std::mem::size_of::<AImageReader_BufferRemovedListener>(),
23052        16usize,
23053        concat!("Size of: ", stringify!(AImageReader_BufferRemovedListener))
23054    );
23055    assert_eq!(
23056        ::std::mem::align_of::<AImageReader_BufferRemovedListener>(),
23057        8usize,
23058        concat!(
23059            "Alignment of ",
23060            stringify!(AImageReader_BufferRemovedListener)
23061        )
23062    );
23063    assert_eq!(
23064        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23065        0usize,
23066        concat!(
23067            "Offset of field: ",
23068            stringify!(AImageReader_BufferRemovedListener),
23069            "::",
23070            stringify!(context)
23071        )
23072    );
23073    assert_eq!(
23074        unsafe { ::std::ptr::addr_of!((*ptr).onBufferRemoved) as usize - ptr as usize },
23075        8usize,
23076        concat!(
23077            "Offset of field: ",
23078            stringify!(AImageReader_BufferRemovedListener),
23079            "::",
23080            stringify!(onBufferRemoved)
23081        )
23082    );
23083}
23084extern "C" {
23085    pub fn AImageReader_setBufferRemovedListener(
23086        reader: *mut AImageReader,
23087        listener: *mut AImageReader_BufferRemovedListener,
23088    ) -> media_status_t;
23089}
23090#[repr(C)]
23091#[derive(Debug, Copy, Clone)]
23092pub struct AMediaCrypto {
23093    _unused: [u8; 0],
23094}
23095pub type AMediaUUID = [u8; 16usize];
23096extern "C" {
23097    pub fn AMediaCrypto_isCryptoSchemeSupported(uuid: *mut u8) -> bool;
23098}
23099extern "C" {
23100    pub fn AMediaCrypto_requiresSecureDecoderComponent(mime: *const ::std::os::raw::c_char)
23101        -> bool;
23102}
23103extern "C" {
23104    pub fn AMediaCrypto_new(
23105        uuid: *mut u8,
23106        initData: *const ::std::os::raw::c_void,
23107        initDataSize: usize,
23108    ) -> *mut AMediaCrypto;
23109}
23110extern "C" {
23111    pub fn AMediaCrypto_delete(crypto: *mut AMediaCrypto);
23112}
23113#[repr(C)]
23114#[derive(Debug, Copy, Clone)]
23115pub struct AMediaFormat {
23116    _unused: [u8; 0],
23117}
23118extern "C" {
23119    pub fn AMediaFormat_new() -> *mut AMediaFormat;
23120}
23121extern "C" {
23122    pub fn AMediaFormat_delete(arg1: *mut AMediaFormat) -> media_status_t;
23123}
23124extern "C" {
23125    pub fn AMediaFormat_toString(arg1: *mut AMediaFormat) -> *const ::std::os::raw::c_char;
23126}
23127extern "C" {
23128    pub fn AMediaFormat_getInt32(
23129        arg1: *mut AMediaFormat,
23130        name: *const ::std::os::raw::c_char,
23131        out: *mut i32,
23132    ) -> bool;
23133}
23134extern "C" {
23135    pub fn AMediaFormat_getInt64(
23136        arg1: *mut AMediaFormat,
23137        name: *const ::std::os::raw::c_char,
23138        out: *mut i64,
23139    ) -> bool;
23140}
23141extern "C" {
23142    pub fn AMediaFormat_getFloat(
23143        arg1: *mut AMediaFormat,
23144        name: *const ::std::os::raw::c_char,
23145        out: *mut f32,
23146    ) -> bool;
23147}
23148extern "C" {
23149    pub fn AMediaFormat_getSize(
23150        arg1: *mut AMediaFormat,
23151        name: *const ::std::os::raw::c_char,
23152        out: *mut usize,
23153    ) -> bool;
23154}
23155extern "C" {
23156    pub fn AMediaFormat_getBuffer(
23157        arg1: *mut AMediaFormat,
23158        name: *const ::std::os::raw::c_char,
23159        data: *mut *mut ::std::os::raw::c_void,
23160        size: *mut usize,
23161    ) -> bool;
23162}
23163extern "C" {
23164    pub fn AMediaFormat_getString(
23165        arg1: *mut AMediaFormat,
23166        name: *const ::std::os::raw::c_char,
23167        out: *mut *const ::std::os::raw::c_char,
23168    ) -> bool;
23169}
23170extern "C" {
23171    pub fn AMediaFormat_setInt32(
23172        arg1: *mut AMediaFormat,
23173        name: *const ::std::os::raw::c_char,
23174        value: i32,
23175    );
23176}
23177extern "C" {
23178    pub fn AMediaFormat_setInt64(
23179        arg1: *mut AMediaFormat,
23180        name: *const ::std::os::raw::c_char,
23181        value: i64,
23182    );
23183}
23184extern "C" {
23185    pub fn AMediaFormat_setFloat(
23186        arg1: *mut AMediaFormat,
23187        name: *const ::std::os::raw::c_char,
23188        value: f32,
23189    );
23190}
23191extern "C" {
23192    pub fn AMediaFormat_setString(
23193        arg1: *mut AMediaFormat,
23194        name: *const ::std::os::raw::c_char,
23195        value: *const ::std::os::raw::c_char,
23196    );
23197}
23198extern "C" {
23199    pub fn AMediaFormat_setBuffer(
23200        arg1: *mut AMediaFormat,
23201        name: *const ::std::os::raw::c_char,
23202        data: *const ::std::os::raw::c_void,
23203        size: usize,
23204    );
23205}
23206extern "C" {
23207    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_ATTENUATION_FACTOR: *const ::std::os::raw::c_char;
23208}
23209extern "C" {
23210    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_BOOST_FACTOR: *const ::std::os::raw::c_char;
23211}
23212extern "C" {
23213    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_HEAVY_COMPRESSION: *const ::std::os::raw::c_char;
23214}
23215extern "C" {
23216    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_TARGET_REFERENCE_LEVEL: *const ::std::os::raw::c_char;
23217}
23218extern "C" {
23219    pub static mut AMEDIAFORMAT_KEY_AAC_ENCODED_TARGET_LEVEL: *const ::std::os::raw::c_char;
23220}
23221extern "C" {
23222    pub static mut AMEDIAFORMAT_KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT: *const ::std::os::raw::c_char;
23223}
23224extern "C" {
23225    pub static mut AMEDIAFORMAT_KEY_AAC_PROFILE: *const ::std::os::raw::c_char;
23226}
23227extern "C" {
23228    pub static mut AMEDIAFORMAT_KEY_AAC_SBR_MODE: *const ::std::os::raw::c_char;
23229}
23230extern "C" {
23231    pub static mut AMEDIAFORMAT_KEY_ALLOW_FRAME_DROP: *const ::std::os::raw::c_char;
23232}
23233extern "C" {
23234    pub static mut AMEDIAFORMAT_KEY_AUDIO_SESSION_ID: *const ::std::os::raw::c_char;
23235}
23236extern "C" {
23237    pub static mut AMEDIAFORMAT_KEY_BITRATE_MODE: *const ::std::os::raw::c_char;
23238}
23239extern "C" {
23240    pub static mut AMEDIAFORMAT_KEY_BIT_RATE: *const ::std::os::raw::c_char;
23241}
23242extern "C" {
23243    pub static mut AMEDIAFORMAT_KEY_CAPTURE_RATE: *const ::std::os::raw::c_char;
23244}
23245extern "C" {
23246    pub static mut AMEDIAFORMAT_KEY_CHANNEL_COUNT: *const ::std::os::raw::c_char;
23247}
23248extern "C" {
23249    pub static mut AMEDIAFORMAT_KEY_CHANNEL_MASK: *const ::std::os::raw::c_char;
23250}
23251extern "C" {
23252    pub static mut AMEDIAFORMAT_KEY_COLOR_FORMAT: *const ::std::os::raw::c_char;
23253}
23254extern "C" {
23255    pub static mut AMEDIAFORMAT_KEY_COLOR_RANGE: *const ::std::os::raw::c_char;
23256}
23257extern "C" {
23258    pub static mut AMEDIAFORMAT_KEY_COLOR_STANDARD: *const ::std::os::raw::c_char;
23259}
23260extern "C" {
23261    pub static mut AMEDIAFORMAT_KEY_COLOR_TRANSFER: *const ::std::os::raw::c_char;
23262}
23263extern "C" {
23264    pub static mut AMEDIAFORMAT_KEY_COMPLEXITY: *const ::std::os::raw::c_char;
23265}
23266extern "C" {
23267    pub static mut AMEDIAFORMAT_KEY_CSD: *const ::std::os::raw::c_char;
23268}
23269extern "C" {
23270    pub static mut AMEDIAFORMAT_KEY_CSD_0: *const ::std::os::raw::c_char;
23271}
23272extern "C" {
23273    pub static mut AMEDIAFORMAT_KEY_CSD_1: *const ::std::os::raw::c_char;
23274}
23275extern "C" {
23276    pub static mut AMEDIAFORMAT_KEY_CSD_2: *const ::std::os::raw::c_char;
23277}
23278extern "C" {
23279    pub static mut AMEDIAFORMAT_KEY_DISPLAY_CROP: *const ::std::os::raw::c_char;
23280}
23281extern "C" {
23282    pub static mut AMEDIAFORMAT_KEY_DISPLAY_HEIGHT: *const ::std::os::raw::c_char;
23283}
23284extern "C" {
23285    pub static mut AMEDIAFORMAT_KEY_DISPLAY_WIDTH: *const ::std::os::raw::c_char;
23286}
23287extern "C" {
23288    pub static mut AMEDIAFORMAT_KEY_DURATION: *const ::std::os::raw::c_char;
23289}
23290extern "C" {
23291    pub static mut AMEDIAFORMAT_KEY_FLAC_COMPRESSION_LEVEL: *const ::std::os::raw::c_char;
23292}
23293extern "C" {
23294    pub static mut AMEDIAFORMAT_KEY_FRAME_RATE: *const ::std::os::raw::c_char;
23295}
23296extern "C" {
23297    pub static mut AMEDIAFORMAT_KEY_GRID_COLUMNS: *const ::std::os::raw::c_char;
23298}
23299extern "C" {
23300    pub static mut AMEDIAFORMAT_KEY_GRID_ROWS: *const ::std::os::raw::c_char;
23301}
23302extern "C" {
23303    pub static mut AMEDIAFORMAT_KEY_HDR_STATIC_INFO: *const ::std::os::raw::c_char;
23304}
23305extern "C" {
23306    pub static mut AMEDIAFORMAT_KEY_HEIGHT: *const ::std::os::raw::c_char;
23307}
23308extern "C" {
23309    pub static mut AMEDIAFORMAT_KEY_IMPORTANCE: *const ::std::os::raw::c_char;
23310}
23311extern "C" {
23312    pub static mut AMEDIAFORMAT_KEY_INTRA_REFRESH_PERIOD: *const ::std::os::raw::c_char;
23313}
23314extern "C" {
23315    pub static mut AMEDIAFORMAT_KEY_IS_ADTS: *const ::std::os::raw::c_char;
23316}
23317extern "C" {
23318    pub static mut AMEDIAFORMAT_KEY_IS_AUTOSELECT: *const ::std::os::raw::c_char;
23319}
23320extern "C" {
23321    pub static mut AMEDIAFORMAT_KEY_IS_DEFAULT: *const ::std::os::raw::c_char;
23322}
23323extern "C" {
23324    pub static mut AMEDIAFORMAT_KEY_IS_FORCED_SUBTITLE: *const ::std::os::raw::c_char;
23325}
23326extern "C" {
23327    pub static mut AMEDIAFORMAT_KEY_I_FRAME_INTERVAL: *const ::std::os::raw::c_char;
23328}
23329extern "C" {
23330    pub static mut AMEDIAFORMAT_KEY_LANGUAGE: *const ::std::os::raw::c_char;
23331}
23332extern "C" {
23333    pub static mut AMEDIAFORMAT_KEY_LATENCY: *const ::std::os::raw::c_char;
23334}
23335extern "C" {
23336    pub static mut AMEDIAFORMAT_KEY_LEVEL: *const ::std::os::raw::c_char;
23337}
23338extern "C" {
23339    pub static mut AMEDIAFORMAT_KEY_MAX_B_FRAMES: *const ::std::os::raw::c_char;
23340}
23341extern "C" {
23342    pub static mut AMEDIAFORMAT_KEY_MAX_HEIGHT: *const ::std::os::raw::c_char;
23343}
23344extern "C" {
23345    pub static mut AMEDIAFORMAT_KEY_MAX_INPUT_SIZE: *const ::std::os::raw::c_char;
23346}
23347extern "C" {
23348    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_MAX_OUTPUT_SIZE: *const ::std::os::raw::c_char;
23349}
23350extern "C" {
23351    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_THRESHOLD_OUTPUT_SIZE:
23352        *const ::std::os::raw::c_char;
23353}
23354extern "C" {
23355    pub static mut AMEDIAFORMAT_KEY_MAX_WIDTH: *const ::std::os::raw::c_char;
23356}
23357extern "C" {
23358    pub static mut AMEDIAFORMAT_KEY_MIME: *const ::std::os::raw::c_char;
23359}
23360extern "C" {
23361    pub static mut AMEDIAFORMAT_KEY_MPEG_USER_DATA: *const ::std::os::raw::c_char;
23362}
23363extern "C" {
23364    pub static mut AMEDIAFORMAT_KEY_OPERATING_RATE: *const ::std::os::raw::c_char;
23365}
23366extern "C" {
23367    pub static mut AMEDIAFORMAT_KEY_PCM_ENCODING: *const ::std::os::raw::c_char;
23368}
23369extern "C" {
23370    pub static mut AMEDIAFORMAT_KEY_PRIORITY: *const ::std::os::raw::c_char;
23371}
23372extern "C" {
23373    pub static mut AMEDIAFORMAT_KEY_PROFILE: *const ::std::os::raw::c_char;
23374}
23375extern "C" {
23376    pub static mut AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP: *const ::std::os::raw::c_char;
23377}
23378extern "C" {
23379    pub static mut AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER: *const ::std::os::raw::c_char;
23380}
23381extern "C" {
23382    pub static mut AMEDIAFORMAT_KEY_ROTATION: *const ::std::os::raw::c_char;
23383}
23384extern "C" {
23385    pub static mut AMEDIAFORMAT_KEY_SAMPLE_RATE: *const ::std::os::raw::c_char;
23386}
23387extern "C" {
23388    pub static mut AMEDIAFORMAT_KEY_SEI: *const ::std::os::raw::c_char;
23389}
23390extern "C" {
23391    pub static mut AMEDIAFORMAT_KEY_SLICE_HEIGHT: *const ::std::os::raw::c_char;
23392}
23393extern "C" {
23394    pub static mut AMEDIAFORMAT_KEY_STRIDE: *const ::std::os::raw::c_char;
23395}
23396extern "C" {
23397    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_ID: *const ::std::os::raw::c_char;
23398}
23399extern "C" {
23400    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYERING: *const ::std::os::raw::c_char;
23401}
23402extern "C" {
23403    pub static mut AMEDIAFORMAT_KEY_TILE_HEIGHT: *const ::std::os::raw::c_char;
23404}
23405extern "C" {
23406    pub static mut AMEDIAFORMAT_KEY_TILE_WIDTH: *const ::std::os::raw::c_char;
23407}
23408extern "C" {
23409    pub static mut AMEDIAFORMAT_KEY_TIME_US: *const ::std::os::raw::c_char;
23410}
23411extern "C" {
23412    pub static mut AMEDIAFORMAT_KEY_TRACK_ID: *const ::std::os::raw::c_char;
23413}
23414extern "C" {
23415    pub static mut AMEDIAFORMAT_KEY_TRACK_INDEX: *const ::std::os::raw::c_char;
23416}
23417extern "C" {
23418    pub static mut AMEDIAFORMAT_KEY_WIDTH: *const ::std::os::raw::c_char;
23419}
23420extern "C" {
23421    pub fn AMediaFormat_getDouble(
23422        arg1: *mut AMediaFormat,
23423        name: *const ::std::os::raw::c_char,
23424        out: *mut f64,
23425    ) -> bool;
23426}
23427extern "C" {
23428    pub fn AMediaFormat_getRect(
23429        arg1: *mut AMediaFormat,
23430        name: *const ::std::os::raw::c_char,
23431        left: *mut i32,
23432        top: *mut i32,
23433        right: *mut i32,
23434        bottom: *mut i32,
23435    ) -> bool;
23436}
23437extern "C" {
23438    pub fn AMediaFormat_setDouble(
23439        arg1: *mut AMediaFormat,
23440        name: *const ::std::os::raw::c_char,
23441        value: f64,
23442    );
23443}
23444extern "C" {
23445    pub fn AMediaFormat_setSize(
23446        arg1: *mut AMediaFormat,
23447        name: *const ::std::os::raw::c_char,
23448        value: usize,
23449    );
23450}
23451extern "C" {
23452    pub fn AMediaFormat_setRect(
23453        arg1: *mut AMediaFormat,
23454        name: *const ::std::os::raw::c_char,
23455        left: i32,
23456        top: i32,
23457        right: i32,
23458        bottom: i32,
23459    );
23460}
23461extern "C" {
23462    pub fn AMediaFormat_clear(arg1: *mut AMediaFormat);
23463}
23464extern "C" {
23465    pub fn AMediaFormat_copy(to: *mut AMediaFormat, from: *mut AMediaFormat) -> media_status_t;
23466}
23467extern "C" {
23468    pub static mut AMEDIAFORMAT_KEY_ALBUM: *const ::std::os::raw::c_char;
23469}
23470extern "C" {
23471    pub static mut AMEDIAFORMAT_KEY_ALBUMART: *const ::std::os::raw::c_char;
23472}
23473extern "C" {
23474    pub static mut AMEDIAFORMAT_KEY_ALBUMARTIST: *const ::std::os::raw::c_char;
23475}
23476extern "C" {
23477    pub static mut AMEDIAFORMAT_KEY_ARTIST: *const ::std::os::raw::c_char;
23478}
23479extern "C" {
23480    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_INFO: *const ::std::os::raw::c_char;
23481}
23482extern "C" {
23483    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PRESENTATION_ID:
23484        *const ::std::os::raw::c_char;
23485}
23486extern "C" {
23487    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PROGRAM_ID: *const ::std::os::raw::c_char;
23488}
23489extern "C" {
23490    pub static mut AMEDIAFORMAT_KEY_AUTHOR: *const ::std::os::raw::c_char;
23491}
23492extern "C" {
23493    pub static mut AMEDIAFORMAT_KEY_BITS_PER_SAMPLE: *const ::std::os::raw::c_char;
23494}
23495extern "C" {
23496    pub static mut AMEDIAFORMAT_KEY_CDTRACKNUMBER: *const ::std::os::raw::c_char;
23497}
23498extern "C" {
23499    pub static mut AMEDIAFORMAT_KEY_COMPILATION: *const ::std::os::raw::c_char;
23500}
23501extern "C" {
23502    pub static mut AMEDIAFORMAT_KEY_COMPOSER: *const ::std::os::raw::c_char;
23503}
23504extern "C" {
23505    pub static mut AMEDIAFORMAT_KEY_CREATE_INPUT_SURFACE_SUSPENDED: *const ::std::os::raw::c_char;
23506}
23507extern "C" {
23508    pub static mut AMEDIAFORMAT_KEY_CRYPTO_DEFAULT_IV_SIZE: *const ::std::os::raw::c_char;
23509}
23510extern "C" {
23511    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_BYTE_BLOCK: *const ::std::os::raw::c_char;
23512}
23513extern "C" {
23514    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_SIZES: *const ::std::os::raw::c_char;
23515}
23516extern "C" {
23517    pub static mut AMEDIAFORMAT_KEY_CRYPTO_IV: *const ::std::os::raw::c_char;
23518}
23519extern "C" {
23520    pub static mut AMEDIAFORMAT_KEY_CRYPTO_KEY: *const ::std::os::raw::c_char;
23521}
23522extern "C" {
23523    pub static mut AMEDIAFORMAT_KEY_CRYPTO_MODE: *const ::std::os::raw::c_char;
23524}
23525extern "C" {
23526    pub static mut AMEDIAFORMAT_KEY_CRYPTO_PLAIN_SIZES: *const ::std::os::raw::c_char;
23527}
23528extern "C" {
23529    pub static mut AMEDIAFORMAT_KEY_CRYPTO_SKIP_BYTE_BLOCK: *const ::std::os::raw::c_char;
23530}
23531extern "C" {
23532    pub static mut AMEDIAFORMAT_KEY_CSD_AVC: *const ::std::os::raw::c_char;
23533}
23534extern "C" {
23535    pub static mut AMEDIAFORMAT_KEY_CSD_HEVC: *const ::std::os::raw::c_char;
23536}
23537extern "C" {
23538    pub static mut AMEDIAFORMAT_KEY_D263: *const ::std::os::raw::c_char;
23539}
23540extern "C" {
23541    pub static mut AMEDIAFORMAT_KEY_DATE: *const ::std::os::raw::c_char;
23542}
23543extern "C" {
23544    pub static mut AMEDIAFORMAT_KEY_DISCNUMBER: *const ::std::os::raw::c_char;
23545}
23546extern "C" {
23547    pub static mut AMEDIAFORMAT_KEY_ENCODER_DELAY: *const ::std::os::raw::c_char;
23548}
23549extern "C" {
23550    pub static mut AMEDIAFORMAT_KEY_ENCODER_PADDING: *const ::std::os::raw::c_char;
23551}
23552extern "C" {
23553    pub static mut AMEDIAFORMAT_KEY_ESDS: *const ::std::os::raw::c_char;
23554}
23555extern "C" {
23556    pub static mut AMEDIAFORMAT_KEY_EXIF_OFFSET: *const ::std::os::raw::c_char;
23557}
23558extern "C" {
23559    pub static mut AMEDIAFORMAT_KEY_EXIF_SIZE: *const ::std::os::raw::c_char;
23560}
23561extern "C" {
23562    pub static mut AMEDIAFORMAT_KEY_FRAME_COUNT: *const ::std::os::raw::c_char;
23563}
23564extern "C" {
23565    pub static mut AMEDIAFORMAT_KEY_GENRE: *const ::std::os::raw::c_char;
23566}
23567extern "C" {
23568    pub static mut AMEDIAFORMAT_KEY_HAPTIC_CHANNEL_COUNT: *const ::std::os::raw::c_char;
23569}
23570extern "C" {
23571    pub static mut AMEDIAFORMAT_KEY_ICC_PROFILE: *const ::std::os::raw::c_char;
23572}
23573extern "C" {
23574    pub static mut AMEDIAFORMAT_KEY_IS_SYNC_FRAME: *const ::std::os::raw::c_char;
23575}
23576extern "C" {
23577    pub static mut AMEDIAFORMAT_KEY_LOCATION: *const ::std::os::raw::c_char;
23578}
23579extern "C" {
23580    pub static mut AMEDIAFORMAT_KEY_LOOP: *const ::std::os::raw::c_char;
23581}
23582extern "C" {
23583    pub static mut AMEDIAFORMAT_KEY_LYRICIST: *const ::std::os::raw::c_char;
23584}
23585extern "C" {
23586    pub static mut AMEDIAFORMAT_KEY_MANUFACTURER: *const ::std::os::raw::c_char;
23587}
23588extern "C" {
23589    pub static mut AMEDIAFORMAT_KEY_MAX_BIT_RATE: *const ::std::os::raw::c_char;
23590}
23591extern "C" {
23592    pub static mut AMEDIAFORMAT_KEY_MAX_FPS_TO_ENCODER: *const ::std::os::raw::c_char;
23593}
23594extern "C" {
23595    pub static mut AMEDIAFORMAT_KEY_MAX_PTS_GAP_TO_ENCODER: *const ::std::os::raw::c_char;
23596}
23597extern "C" {
23598    pub static mut AMEDIAFORMAT_KEY_MPEG2_STREAM_HEADER: *const ::std::os::raw::c_char;
23599}
23600extern "C" {
23601    pub static mut AMEDIAFORMAT_KEY_PCM_BIG_ENDIAN: *const ::std::os::raw::c_char;
23602}
23603extern "C" {
23604    pub static mut AMEDIAFORMAT_KEY_PSSH: *const ::std::os::raw::c_char;
23605}
23606extern "C" {
23607    pub static mut AMEDIAFORMAT_KEY_SAR_HEIGHT: *const ::std::os::raw::c_char;
23608}
23609extern "C" {
23610    pub static mut AMEDIAFORMAT_KEY_SAR_WIDTH: *const ::std::os::raw::c_char;
23611}
23612extern "C" {
23613    pub static mut AMEDIAFORMAT_KEY_TARGET_TIME: *const ::std::os::raw::c_char;
23614}
23615extern "C" {
23616    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_COUNT: *const ::std::os::raw::c_char;
23617}
23618extern "C" {
23619    pub static mut AMEDIAFORMAT_KEY_TEXT_FORMAT_DATA: *const ::std::os::raw::c_char;
23620}
23621extern "C" {
23622    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_HEVC: *const ::std::os::raw::c_char;
23623}
23624extern "C" {
23625    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_HEIGHT: *const ::std::os::raw::c_char;
23626}
23627extern "C" {
23628    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_TIME: *const ::std::os::raw::c_char;
23629}
23630extern "C" {
23631    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_WIDTH: *const ::std::os::raw::c_char;
23632}
23633extern "C" {
23634    pub static mut AMEDIAFORMAT_KEY_TITLE: *const ::std::os::raw::c_char;
23635}
23636extern "C" {
23637    pub static mut AMEDIAFORMAT_KEY_VALID_SAMPLES: *const ::std::os::raw::c_char;
23638}
23639extern "C" {
23640    pub static mut AMEDIAFORMAT_KEY_YEAR: *const ::std::os::raw::c_char;
23641}
23642extern "C" {
23643    pub static mut AMEDIAFORMAT_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
23644}
23645extern "C" {
23646    pub static mut AMEDIAFORMAT_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
23647}
23648extern "C" {
23649    pub static mut AMEDIAFORMAT_KEY_SLOW_MOTION_MARKERS: *const ::std::os::raw::c_char;
23650}
23651extern "C" {
23652    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_AV1C: *const ::std::os::raw::c_char;
23653}
23654extern "C" {
23655    pub static mut AMEDIAFORMAT_KEY_XMP_OFFSET: *const ::std::os::raw::c_char;
23656}
23657extern "C" {
23658    pub static mut AMEDIAFORMAT_KEY_XMP_SIZE: *const ::std::os::raw::c_char;
23659}
23660extern "C" {
23661    pub static mut AMEDIAFORMAT_KEY_SAMPLE_FILE_OFFSET: *const ::std::os::raw::c_char;
23662}
23663extern "C" {
23664    pub static mut AMEDIAFORMAT_KEY_LAST_SAMPLE_INDEX_IN_CHUNK: *const ::std::os::raw::c_char;
23665}
23666extern "C" {
23667    pub static mut AMEDIAFORMAT_KEY_SAMPLE_TIME_BEFORE_APPEND: *const ::std::os::raw::c_char;
23668}
23669extern "C" {
23670    pub static mut AMEDIAFORMAT_KEY_PICTURE_TYPE: *const ::std::os::raw::c_char;
23671}
23672extern "C" {
23673    pub static mut AMEDIAFORMAT_KEY_VIDEO_ENCODING_STATISTICS_LEVEL: *const ::std::os::raw::c_char;
23674}
23675extern "C" {
23676    pub static mut AMEDIAFORMAT_KEY_VIDEO_QP_AVERAGE: *const ::std::os::raw::c_char;
23677}
23678extern "C" {
23679    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MAX: *const ::std::os::raw::c_char;
23680}
23681extern "C" {
23682    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MIN: *const ::std::os::raw::c_char;
23683}
23684extern "C" {
23685    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MAX: *const ::std::os::raw::c_char;
23686}
23687extern "C" {
23688    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MIN: *const ::std::os::raw::c_char;
23689}
23690extern "C" {
23691    pub static mut AMEDIAFORMAT_VIDEO_QP_MAX: *const ::std::os::raw::c_char;
23692}
23693extern "C" {
23694    pub static mut AMEDIAFORMAT_VIDEO_QP_MIN: *const ::std::os::raw::c_char;
23695}
23696extern "C" {
23697    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MAX: *const ::std::os::raw::c_char;
23698}
23699extern "C" {
23700    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MIN: *const ::std::os::raw::c_char;
23701}
23702extern "C" {
23703    pub static mut AMEDIAFORMAT_KEY_MPEGH_COMPATIBLE_SETS: *const ::std::os::raw::c_char;
23704}
23705extern "C" {
23706    pub static mut AMEDIAFORMAT_KEY_MPEGH_PROFILE_LEVEL_INDICATION: *const ::std::os::raw::c_char;
23707}
23708extern "C" {
23709    pub static mut AMEDIAFORMAT_KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT: *const ::std::os::raw::c_char;
23710}
23711#[repr(C)]
23712#[derive(Debug, Copy, Clone)]
23713pub struct AMediaCodec {
23714    _unused: [u8; 0],
23715}
23716#[repr(C)]
23717#[derive(Debug, Copy, Clone)]
23718pub struct AMediaCodecBufferInfo {
23719    pub offset: i32,
23720    pub size: i32,
23721    pub presentationTimeUs: i64,
23722    pub flags: u32,
23723}
23724#[test]
23725fn bindgen_test_layout_AMediaCodecBufferInfo() {
23726    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecBufferInfo> =
23727        ::std::mem::MaybeUninit::uninit();
23728    let ptr = UNINIT.as_ptr();
23729    assert_eq!(
23730        ::std::mem::size_of::<AMediaCodecBufferInfo>(),
23731        24usize,
23732        concat!("Size of: ", stringify!(AMediaCodecBufferInfo))
23733    );
23734    assert_eq!(
23735        ::std::mem::align_of::<AMediaCodecBufferInfo>(),
23736        8usize,
23737        concat!("Alignment of ", stringify!(AMediaCodecBufferInfo))
23738    );
23739    assert_eq!(
23740        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
23741        0usize,
23742        concat!(
23743            "Offset of field: ",
23744            stringify!(AMediaCodecBufferInfo),
23745            "::",
23746            stringify!(offset)
23747        )
23748    );
23749    assert_eq!(
23750        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
23751        4usize,
23752        concat!(
23753            "Offset of field: ",
23754            stringify!(AMediaCodecBufferInfo),
23755            "::",
23756            stringify!(size)
23757        )
23758    );
23759    assert_eq!(
23760        unsafe { ::std::ptr::addr_of!((*ptr).presentationTimeUs) as usize - ptr as usize },
23761        8usize,
23762        concat!(
23763            "Offset of field: ",
23764            stringify!(AMediaCodecBufferInfo),
23765            "::",
23766            stringify!(presentationTimeUs)
23767        )
23768    );
23769    assert_eq!(
23770        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23771        16usize,
23772        concat!(
23773            "Offset of field: ",
23774            stringify!(AMediaCodecBufferInfo),
23775            "::",
23776            stringify!(flags)
23777        )
23778    );
23779}
23780#[repr(C)]
23781#[derive(Debug, Copy, Clone)]
23782pub struct AMediaCodecCryptoInfo {
23783    _unused: [u8; 0],
23784}
23785pub const AMEDIACODEC_BUFFER_FLAG_KEY_FRAME: _bindgen_ty_68 = 1;
23786pub const AMEDIACODEC_BUFFER_FLAG_CODEC_CONFIG: _bindgen_ty_68 = 2;
23787pub const AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM: _bindgen_ty_68 = 4;
23788pub const AMEDIACODEC_BUFFER_FLAG_PARTIAL_FRAME: _bindgen_ty_68 = 8;
23789pub const AMEDIACODEC_BUFFER_FLAG_MUXER_DATA: _bindgen_ty_68 = 16;
23790pub const AMEDIACODEC_BUFFER_FLAG_DECODE_ONLY: _bindgen_ty_68 = 32;
23791pub type _bindgen_ty_68 = ::std::os::raw::c_uint;
23792pub const AMEDIACODEC_CONFIGURE_FLAG_ENCODE: _bindgen_ty_69 = 1;
23793pub const AMEDIACODEC_INFO_OUTPUT_BUFFERS_CHANGED: _bindgen_ty_69 = -3;
23794pub const AMEDIACODEC_INFO_OUTPUT_FORMAT_CHANGED: _bindgen_ty_69 = -2;
23795pub const AMEDIACODEC_INFO_TRY_AGAIN_LATER: _bindgen_ty_69 = -1;
23796pub type _bindgen_ty_69 = ::std::os::raw::c_int;
23797pub type AMediaCodecOnAsyncInputAvailable = ::std::option::Option<
23798    unsafe extern "C" fn(
23799        codec: *mut AMediaCodec,
23800        userdata: *mut ::std::os::raw::c_void,
23801        index: i32,
23802    ),
23803>;
23804pub type AMediaCodecOnAsyncOutputAvailable = ::std::option::Option<
23805    unsafe extern "C" fn(
23806        codec: *mut AMediaCodec,
23807        userdata: *mut ::std::os::raw::c_void,
23808        index: i32,
23809        bufferInfo: *mut AMediaCodecBufferInfo,
23810    ),
23811>;
23812pub type AMediaCodecOnAsyncFormatChanged = ::std::option::Option<
23813    unsafe extern "C" fn(
23814        codec: *mut AMediaCodec,
23815        userdata: *mut ::std::os::raw::c_void,
23816        format: *mut AMediaFormat,
23817    ),
23818>;
23819pub type AMediaCodecOnAsyncError = ::std::option::Option<
23820    unsafe extern "C" fn(
23821        codec: *mut AMediaCodec,
23822        userdata: *mut ::std::os::raw::c_void,
23823        error: media_status_t,
23824        actionCode: i32,
23825        detail: *const ::std::os::raw::c_char,
23826    ),
23827>;
23828#[repr(C)]
23829#[derive(Debug, Copy, Clone)]
23830pub struct AMediaCodecOnAsyncNotifyCallback {
23831    pub onAsyncInputAvailable: AMediaCodecOnAsyncInputAvailable,
23832    pub onAsyncOutputAvailable: AMediaCodecOnAsyncOutputAvailable,
23833    pub onAsyncFormatChanged: AMediaCodecOnAsyncFormatChanged,
23834    pub onAsyncError: AMediaCodecOnAsyncError,
23835}
23836#[test]
23837fn bindgen_test_layout_AMediaCodecOnAsyncNotifyCallback() {
23838    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecOnAsyncNotifyCallback> =
23839        ::std::mem::MaybeUninit::uninit();
23840    let ptr = UNINIT.as_ptr();
23841    assert_eq!(
23842        ::std::mem::size_of::<AMediaCodecOnAsyncNotifyCallback>(),
23843        32usize,
23844        concat!("Size of: ", stringify!(AMediaCodecOnAsyncNotifyCallback))
23845    );
23846    assert_eq!(
23847        ::std::mem::align_of::<AMediaCodecOnAsyncNotifyCallback>(),
23848        8usize,
23849        concat!(
23850            "Alignment of ",
23851            stringify!(AMediaCodecOnAsyncNotifyCallback)
23852        )
23853    );
23854    assert_eq!(
23855        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncInputAvailable) as usize - ptr as usize },
23856        0usize,
23857        concat!(
23858            "Offset of field: ",
23859            stringify!(AMediaCodecOnAsyncNotifyCallback),
23860            "::",
23861            stringify!(onAsyncInputAvailable)
23862        )
23863    );
23864    assert_eq!(
23865        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncOutputAvailable) as usize - ptr as usize },
23866        8usize,
23867        concat!(
23868            "Offset of field: ",
23869            stringify!(AMediaCodecOnAsyncNotifyCallback),
23870            "::",
23871            stringify!(onAsyncOutputAvailable)
23872        )
23873    );
23874    assert_eq!(
23875        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncFormatChanged) as usize - ptr as usize },
23876        16usize,
23877        concat!(
23878            "Offset of field: ",
23879            stringify!(AMediaCodecOnAsyncNotifyCallback),
23880            "::",
23881            stringify!(onAsyncFormatChanged)
23882        )
23883    );
23884    assert_eq!(
23885        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncError) as usize - ptr as usize },
23886        24usize,
23887        concat!(
23888            "Offset of field: ",
23889            stringify!(AMediaCodecOnAsyncNotifyCallback),
23890            "::",
23891            stringify!(onAsyncError)
23892        )
23893    );
23894}
23895pub type AMediaCodecOnFrameRendered = ::std::option::Option<
23896    unsafe extern "C" fn(
23897        codec: *mut AMediaCodec,
23898        userdata: *mut ::std::os::raw::c_void,
23899        mediaTimeUs: i64,
23900        systemNano: i64,
23901    ),
23902>;
23903extern "C" {
23904    pub fn AMediaCodec_createCodecByName(name: *const ::std::os::raw::c_char) -> *mut AMediaCodec;
23905}
23906extern "C" {
23907    pub fn AMediaCodec_createDecoderByType(
23908        mime_type: *const ::std::os::raw::c_char,
23909    ) -> *mut AMediaCodec;
23910}
23911extern "C" {
23912    pub fn AMediaCodec_createEncoderByType(
23913        mime_type: *const ::std::os::raw::c_char,
23914    ) -> *mut AMediaCodec;
23915}
23916extern "C" {
23917    pub fn AMediaCodec_delete(arg1: *mut AMediaCodec) -> media_status_t;
23918}
23919extern "C" {
23920    pub fn AMediaCodec_configure(
23921        arg1: *mut AMediaCodec,
23922        format: *const AMediaFormat,
23923        surface: *mut ANativeWindow,
23924        crypto: *mut AMediaCrypto,
23925        flags: u32,
23926    ) -> media_status_t;
23927}
23928extern "C" {
23929    pub fn AMediaCodec_start(arg1: *mut AMediaCodec) -> media_status_t;
23930}
23931extern "C" {
23932    pub fn AMediaCodec_stop(arg1: *mut AMediaCodec) -> media_status_t;
23933}
23934extern "C" {
23935    pub fn AMediaCodec_flush(arg1: *mut AMediaCodec) -> media_status_t;
23936}
23937extern "C" {
23938    pub fn AMediaCodec_getInputBuffer(
23939        arg1: *mut AMediaCodec,
23940        idx: usize,
23941        out_size: *mut usize,
23942    ) -> *mut u8;
23943}
23944extern "C" {
23945    pub fn AMediaCodec_getOutputBuffer(
23946        arg1: *mut AMediaCodec,
23947        idx: usize,
23948        out_size: *mut usize,
23949    ) -> *mut u8;
23950}
23951extern "C" {
23952    pub fn AMediaCodec_dequeueInputBuffer(arg1: *mut AMediaCodec, timeoutUs: i64) -> isize;
23953}
23954extern "C" {
23955    pub fn __assert(
23956        __file: *const ::std::os::raw::c_char,
23957        __line: ::std::os::raw::c_int,
23958        __msg: *const ::std::os::raw::c_char,
23959    ) -> !;
23960}
23961extern "C" {
23962    pub fn __assert2(
23963        __file: *const ::std::os::raw::c_char,
23964        __line: ::std::os::raw::c_int,
23965        __function: *const ::std::os::raw::c_char,
23966        __msg: *const ::std::os::raw::c_char,
23967    ) -> !;
23968}
23969extern "C" {
23970    pub fn AMediaCodec_queueInputBuffer(
23971        arg1: *mut AMediaCodec,
23972        idx: usize,
23973        offset: off_t,
23974        size: usize,
23975        time: u64,
23976        flags: u32,
23977    ) -> media_status_t;
23978}
23979extern "C" {
23980    pub fn AMediaCodec_queueSecureInputBuffer(
23981        arg1: *mut AMediaCodec,
23982        idx: usize,
23983        offset: off_t,
23984        arg2: *mut AMediaCodecCryptoInfo,
23985        time: u64,
23986        flags: u32,
23987    ) -> media_status_t;
23988}
23989extern "C" {
23990    pub fn AMediaCodec_dequeueOutputBuffer(
23991        arg1: *mut AMediaCodec,
23992        info: *mut AMediaCodecBufferInfo,
23993        timeoutUs: i64,
23994    ) -> isize;
23995}
23996extern "C" {
23997    pub fn AMediaCodec_getOutputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
23998}
23999extern "C" {
24000    pub fn AMediaCodec_releaseOutputBuffer(
24001        arg1: *mut AMediaCodec,
24002        idx: usize,
24003        render: bool,
24004    ) -> media_status_t;
24005}
24006extern "C" {
24007    pub fn AMediaCodec_setOutputSurface(
24008        arg1: *mut AMediaCodec,
24009        surface: *mut ANativeWindow,
24010    ) -> media_status_t;
24011}
24012extern "C" {
24013    pub fn AMediaCodec_releaseOutputBufferAtTime(
24014        mData: *mut AMediaCodec,
24015        idx: usize,
24016        timestampNs: i64,
24017    ) -> media_status_t;
24018}
24019extern "C" {
24020    pub fn AMediaCodec_createInputSurface(
24021        mData: *mut AMediaCodec,
24022        surface: *mut *mut ANativeWindow,
24023    ) -> media_status_t;
24024}
24025extern "C" {
24026    pub fn AMediaCodec_createPersistentInputSurface(
24027        surface: *mut *mut ANativeWindow,
24028    ) -> media_status_t;
24029}
24030extern "C" {
24031    pub fn AMediaCodec_setInputSurface(
24032        mData: *mut AMediaCodec,
24033        surface: *mut ANativeWindow,
24034    ) -> media_status_t;
24035}
24036extern "C" {
24037    pub fn AMediaCodec_setParameters(
24038        mData: *mut AMediaCodec,
24039        params: *const AMediaFormat,
24040    ) -> media_status_t;
24041}
24042extern "C" {
24043    pub fn AMediaCodec_signalEndOfInputStream(mData: *mut AMediaCodec) -> media_status_t;
24044}
24045extern "C" {
24046    pub fn AMediaCodec_getBufferFormat(arg1: *mut AMediaCodec, index: usize) -> *mut AMediaFormat;
24047}
24048extern "C" {
24049    pub fn AMediaCodec_getName(
24050        arg1: *mut AMediaCodec,
24051        out_name: *mut *mut ::std::os::raw::c_char,
24052    ) -> media_status_t;
24053}
24054extern "C" {
24055    pub fn AMediaCodec_releaseName(arg1: *mut AMediaCodec, name: *mut ::std::os::raw::c_char);
24056}
24057extern "C" {
24058    pub fn AMediaCodec_setAsyncNotifyCallback(
24059        arg1: *mut AMediaCodec,
24060        callback: AMediaCodecOnAsyncNotifyCallback,
24061        userdata: *mut ::std::os::raw::c_void,
24062    ) -> media_status_t;
24063}
24064extern "C" {
24065    pub fn AMediaCodec_setOnFrameRenderedCallback(
24066        arg1: *mut AMediaCodec,
24067        callback: AMediaCodecOnFrameRendered,
24068        userdata: *mut ::std::os::raw::c_void,
24069    ) -> media_status_t;
24070}
24071extern "C" {
24072    pub fn AMediaCodec_releaseCrypto(arg1: *mut AMediaCodec) -> media_status_t;
24073}
24074extern "C" {
24075    pub fn AMediaCodec_getInputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
24076}
24077extern "C" {
24078    pub fn AMediaCodecActionCode_isRecoverable(actionCode: i32) -> bool;
24079}
24080extern "C" {
24081    pub fn AMediaCodecActionCode_isTransient(actionCode: i32) -> bool;
24082}
24083impl cryptoinfo_mode_t {
24084    pub const AMEDIACODECRYPTOINFO_MODE_CLEAR: cryptoinfo_mode_t = cryptoinfo_mode_t(0);
24085}
24086impl cryptoinfo_mode_t {
24087    pub const AMEDIACODECRYPTOINFO_MODE_AES_CTR: cryptoinfo_mode_t = cryptoinfo_mode_t(1);
24088}
24089impl cryptoinfo_mode_t {
24090    pub const AMEDIACODECRYPTOINFO_MODE_AES_WV: cryptoinfo_mode_t = cryptoinfo_mode_t(2);
24091}
24092impl cryptoinfo_mode_t {
24093    pub const AMEDIACODECRYPTOINFO_MODE_AES_CBC: cryptoinfo_mode_t = cryptoinfo_mode_t(3);
24094}
24095#[repr(transparent)]
24096#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24097pub struct cryptoinfo_mode_t(pub ::std::os::raw::c_uint);
24098#[repr(C)]
24099#[derive(Debug, Copy, Clone)]
24100pub struct cryptoinfo_pattern_t {
24101    pub encryptBlocks: i32,
24102    pub skipBlocks: i32,
24103}
24104#[test]
24105fn bindgen_test_layout_cryptoinfo_pattern_t() {
24106    const UNINIT: ::std::mem::MaybeUninit<cryptoinfo_pattern_t> = ::std::mem::MaybeUninit::uninit();
24107    let ptr = UNINIT.as_ptr();
24108    assert_eq!(
24109        ::std::mem::size_of::<cryptoinfo_pattern_t>(),
24110        8usize,
24111        concat!("Size of: ", stringify!(cryptoinfo_pattern_t))
24112    );
24113    assert_eq!(
24114        ::std::mem::align_of::<cryptoinfo_pattern_t>(),
24115        4usize,
24116        concat!("Alignment of ", stringify!(cryptoinfo_pattern_t))
24117    );
24118    assert_eq!(
24119        unsafe { ::std::ptr::addr_of!((*ptr).encryptBlocks) as usize - ptr as usize },
24120        0usize,
24121        concat!(
24122            "Offset of field: ",
24123            stringify!(cryptoinfo_pattern_t),
24124            "::",
24125            stringify!(encryptBlocks)
24126        )
24127    );
24128    assert_eq!(
24129        unsafe { ::std::ptr::addr_of!((*ptr).skipBlocks) as usize - ptr as usize },
24130        4usize,
24131        concat!(
24132            "Offset of field: ",
24133            stringify!(cryptoinfo_pattern_t),
24134            "::",
24135            stringify!(skipBlocks)
24136        )
24137    );
24138}
24139extern "C" {
24140    pub fn AMediaCodecCryptoInfo_new(
24141        numsubsamples: ::std::os::raw::c_int,
24142        key: *mut u8,
24143        iv: *mut u8,
24144        mode: cryptoinfo_mode_t,
24145        clearbytes: *mut usize,
24146        encryptedbytes: *mut usize,
24147    ) -> *mut AMediaCodecCryptoInfo;
24148}
24149extern "C" {
24150    pub fn AMediaCodecCryptoInfo_delete(arg1: *mut AMediaCodecCryptoInfo) -> media_status_t;
24151}
24152extern "C" {
24153    pub fn AMediaCodecCryptoInfo_setPattern(
24154        info: *mut AMediaCodecCryptoInfo,
24155        pattern: *mut cryptoinfo_pattern_t,
24156    );
24157}
24158extern "C" {
24159    pub fn AMediaCodecCryptoInfo_getNumSubSamples(arg1: *mut AMediaCodecCryptoInfo) -> usize;
24160}
24161extern "C" {
24162    pub fn AMediaCodecCryptoInfo_getKey(
24163        arg1: *mut AMediaCodecCryptoInfo,
24164        dst: *mut u8,
24165    ) -> media_status_t;
24166}
24167extern "C" {
24168    pub fn AMediaCodecCryptoInfo_getIV(
24169        arg1: *mut AMediaCodecCryptoInfo,
24170        dst: *mut u8,
24171    ) -> media_status_t;
24172}
24173extern "C" {
24174    pub fn AMediaCodecCryptoInfo_getMode(arg1: *mut AMediaCodecCryptoInfo) -> cryptoinfo_mode_t;
24175}
24176extern "C" {
24177    pub fn AMediaCodecCryptoInfo_getClearBytes(
24178        arg1: *mut AMediaCodecCryptoInfo,
24179        dst: *mut usize,
24180    ) -> media_status_t;
24181}
24182extern "C" {
24183    pub fn AMediaCodecCryptoInfo_getEncryptedBytes(
24184        arg1: *mut AMediaCodecCryptoInfo,
24185        dst: *mut usize,
24186    ) -> media_status_t;
24187}
24188extern "C" {
24189    pub static mut AMEDIACODEC_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
24190}
24191extern "C" {
24192    pub static mut AMEDIACODEC_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
24193}
24194extern "C" {
24195    pub static mut AMEDIACODEC_KEY_OFFSET_TIME: *const ::std::os::raw::c_char;
24196}
24197extern "C" {
24198    pub static mut AMEDIACODEC_KEY_REQUEST_SYNC_FRAME: *const ::std::os::raw::c_char;
24199}
24200extern "C" {
24201    pub static mut AMEDIACODEC_KEY_SUSPEND: *const ::std::os::raw::c_char;
24202}
24203extern "C" {
24204    pub static mut AMEDIACODEC_KEY_SUSPEND_TIME: *const ::std::os::raw::c_char;
24205}
24206extern "C" {
24207    pub static mut AMEDIACODEC_KEY_VIDEO_BITRATE: *const ::std::os::raw::c_char;
24208}
24209#[repr(C)]
24210#[derive(Debug, Copy, Clone)]
24211pub struct AMediaDataSource {
24212    _unused: [u8; 0],
24213}
24214pub type AMediaDataSourceReadAt = ::std::option::Option<
24215    unsafe extern "C" fn(
24216        userdata: *mut ::std::os::raw::c_void,
24217        offset: off64_t,
24218        buffer: *mut ::std::os::raw::c_void,
24219        size: usize,
24220    ) -> isize,
24221>;
24222pub type AMediaDataSourceGetSize =
24223    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void) -> isize>;
24224pub type AMediaDataSourceClose =
24225    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void)>;
24226extern "C" {
24227    pub fn AMediaDataSource_new() -> *mut AMediaDataSource;
24228}
24229pub type AMediaDataSourceGetAvailableSize = ::std::option::Option<
24230    unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, offset: off64_t) -> isize,
24231>;
24232extern "C" {
24233    pub fn AMediaDataSource_newUri(
24234        uri: *const ::std::os::raw::c_char,
24235        numheaders: ::std::os::raw::c_int,
24236        key_values: *const *const ::std::os::raw::c_char,
24237    ) -> *mut AMediaDataSource;
24238}
24239extern "C" {
24240    pub fn AMediaDataSource_delete(arg1: *mut AMediaDataSource);
24241}
24242extern "C" {
24243    pub fn AMediaDataSource_setUserdata(
24244        arg1: *mut AMediaDataSource,
24245        userdata: *mut ::std::os::raw::c_void,
24246    );
24247}
24248extern "C" {
24249    pub fn AMediaDataSource_setReadAt(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceReadAt);
24250}
24251extern "C" {
24252    pub fn AMediaDataSource_setGetSize(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceGetSize);
24253}
24254extern "C" {
24255    pub fn AMediaDataSource_setClose(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceClose);
24256}
24257extern "C" {
24258    pub fn AMediaDataSource_close(arg1: *mut AMediaDataSource);
24259}
24260extern "C" {
24261    pub fn AMediaDataSource_setGetAvailableSize(
24262        arg1: *mut AMediaDataSource,
24263        arg2: AMediaDataSourceGetAvailableSize,
24264    );
24265}
24266#[repr(C)]
24267#[derive(Debug, Copy, Clone)]
24268pub struct AMediaDrm {
24269    _unused: [u8; 0],
24270}
24271#[repr(C)]
24272#[derive(Debug, Copy, Clone)]
24273pub struct AMediaDrmByteArray {
24274    pub ptr: *const u8,
24275    pub length: usize,
24276}
24277#[test]
24278fn bindgen_test_layout_AMediaDrmByteArray() {
24279    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmByteArray> = ::std::mem::MaybeUninit::uninit();
24280    let ptr = UNINIT.as_ptr();
24281    assert_eq!(
24282        ::std::mem::size_of::<AMediaDrmByteArray>(),
24283        16usize,
24284        concat!("Size of: ", stringify!(AMediaDrmByteArray))
24285    );
24286    assert_eq!(
24287        ::std::mem::align_of::<AMediaDrmByteArray>(),
24288        8usize,
24289        concat!("Alignment of ", stringify!(AMediaDrmByteArray))
24290    );
24291    assert_eq!(
24292        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
24293        0usize,
24294        concat!(
24295            "Offset of field: ",
24296            stringify!(AMediaDrmByteArray),
24297            "::",
24298            stringify!(ptr)
24299        )
24300    );
24301    assert_eq!(
24302        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
24303        8usize,
24304        concat!(
24305            "Offset of field: ",
24306            stringify!(AMediaDrmByteArray),
24307            "::",
24308            stringify!(length)
24309        )
24310    );
24311}
24312pub type AMediaDrmSessionId = AMediaDrmByteArray;
24313pub type AMediaDrmScope = AMediaDrmByteArray;
24314pub type AMediaDrmKeySetId = AMediaDrmByteArray;
24315pub type AMediaDrmSecureStop = AMediaDrmByteArray;
24316pub type AMediaDrmKeyId = AMediaDrmByteArray;
24317impl AMediaDrmEventType {
24318    pub const EVENT_PROVISION_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(1);
24319}
24320impl AMediaDrmEventType {
24321    pub const EVENT_KEY_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(2);
24322}
24323impl AMediaDrmEventType {
24324    pub const EVENT_KEY_EXPIRED: AMediaDrmEventType = AMediaDrmEventType(3);
24325}
24326impl AMediaDrmEventType {
24327    pub const EVENT_VENDOR_DEFINED: AMediaDrmEventType = AMediaDrmEventType(4);
24328}
24329impl AMediaDrmEventType {
24330    pub const EVENT_SESSION_RECLAIMED: AMediaDrmEventType = AMediaDrmEventType(5);
24331}
24332#[repr(transparent)]
24333#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24334pub struct AMediaDrmEventType(pub ::std::os::raw::c_uint);
24335impl AMediaDrmKeyType {
24336    pub const KEY_TYPE_STREAMING: AMediaDrmKeyType = AMediaDrmKeyType(1);
24337}
24338impl AMediaDrmKeyType {
24339    pub const KEY_TYPE_OFFLINE: AMediaDrmKeyType = AMediaDrmKeyType(2);
24340}
24341impl AMediaDrmKeyType {
24342    pub const KEY_TYPE_RELEASE: AMediaDrmKeyType = AMediaDrmKeyType(3);
24343}
24344#[repr(transparent)]
24345#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24346pub struct AMediaDrmKeyType(pub ::std::os::raw::c_uint);
24347impl AMediaDrmKeyRequestType {
24348    pub const KEY_REQUEST_TYPE_INITIAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(0);
24349}
24350impl AMediaDrmKeyRequestType {
24351    pub const KEY_REQUEST_TYPE_RENEWAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(1);
24352}
24353impl AMediaDrmKeyRequestType {
24354    pub const KEY_REQUEST_TYPE_RELEASE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(2);
24355}
24356impl AMediaDrmKeyRequestType {
24357    pub const KEY_REQUEST_TYPE_NONE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(3);
24358}
24359impl AMediaDrmKeyRequestType {
24360    pub const KEY_REQUEST_TYPE_UPDATE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(4);
24361}
24362#[repr(transparent)]
24363#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24364pub struct AMediaDrmKeyRequestType(pub i32);
24365#[repr(C)]
24366#[derive(Debug, Copy, Clone)]
24367pub struct AMediaDrmKeyValuePair {
24368    pub mKey: *const ::std::os::raw::c_char,
24369    pub mValue: *const ::std::os::raw::c_char,
24370}
24371#[test]
24372fn bindgen_test_layout_AMediaDrmKeyValuePair() {
24373    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyValuePair> =
24374        ::std::mem::MaybeUninit::uninit();
24375    let ptr = UNINIT.as_ptr();
24376    assert_eq!(
24377        ::std::mem::size_of::<AMediaDrmKeyValuePair>(),
24378        16usize,
24379        concat!("Size of: ", stringify!(AMediaDrmKeyValuePair))
24380    );
24381    assert_eq!(
24382        ::std::mem::align_of::<AMediaDrmKeyValuePair>(),
24383        8usize,
24384        concat!("Alignment of ", stringify!(AMediaDrmKeyValuePair))
24385    );
24386    assert_eq!(
24387        unsafe { ::std::ptr::addr_of!((*ptr).mKey) as usize - ptr as usize },
24388        0usize,
24389        concat!(
24390            "Offset of field: ",
24391            stringify!(AMediaDrmKeyValuePair),
24392            "::",
24393            stringify!(mKey)
24394        )
24395    );
24396    assert_eq!(
24397        unsafe { ::std::ptr::addr_of!((*ptr).mValue) as usize - ptr as usize },
24398        8usize,
24399        concat!(
24400            "Offset of field: ",
24401            stringify!(AMediaDrmKeyValuePair),
24402            "::",
24403            stringify!(mValue)
24404        )
24405    );
24406}
24407pub type AMediaDrmKeyValue = AMediaDrmKeyValuePair;
24408impl AMediaKeyStatusType {
24409    pub const KEY_STATUS_TYPE_USABLE: AMediaKeyStatusType = AMediaKeyStatusType(0);
24410}
24411impl AMediaKeyStatusType {
24412    pub const KEY_STATUS_TYPE_EXPIRED: AMediaKeyStatusType = AMediaKeyStatusType(1);
24413}
24414impl AMediaKeyStatusType {
24415    pub const KEY_STATUS_TYPE_OUTPUTNOTALLOWED: AMediaKeyStatusType = AMediaKeyStatusType(2);
24416}
24417impl AMediaKeyStatusType {
24418    pub const KEY_STATUS_TYPE_STATUSPENDING: AMediaKeyStatusType = AMediaKeyStatusType(3);
24419}
24420impl AMediaKeyStatusType {
24421    pub const KEY_STATUS_TYPE_INTERNALERROR: AMediaKeyStatusType = AMediaKeyStatusType(4);
24422}
24423#[repr(transparent)]
24424#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24425pub struct AMediaKeyStatusType(pub ::std::os::raw::c_uint);
24426pub use self::AMediaKeyStatusType as AMediaDrmKeyStatusType;
24427#[repr(C)]
24428#[derive(Debug, Copy, Clone)]
24429pub struct AMediaDrmKeyStatus {
24430    pub keyId: AMediaDrmKeyId,
24431    pub keyType: AMediaDrmKeyStatusType,
24432}
24433#[test]
24434fn bindgen_test_layout_AMediaDrmKeyStatus() {
24435    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyStatus> = ::std::mem::MaybeUninit::uninit();
24436    let ptr = UNINIT.as_ptr();
24437    assert_eq!(
24438        ::std::mem::size_of::<AMediaDrmKeyStatus>(),
24439        24usize,
24440        concat!("Size of: ", stringify!(AMediaDrmKeyStatus))
24441    );
24442    assert_eq!(
24443        ::std::mem::align_of::<AMediaDrmKeyStatus>(),
24444        8usize,
24445        concat!("Alignment of ", stringify!(AMediaDrmKeyStatus))
24446    );
24447    assert_eq!(
24448        unsafe { ::std::ptr::addr_of!((*ptr).keyId) as usize - ptr as usize },
24449        0usize,
24450        concat!(
24451            "Offset of field: ",
24452            stringify!(AMediaDrmKeyStatus),
24453            "::",
24454            stringify!(keyId)
24455        )
24456    );
24457    assert_eq!(
24458        unsafe { ::std::ptr::addr_of!((*ptr).keyType) as usize - ptr as usize },
24459        16usize,
24460        concat!(
24461            "Offset of field: ",
24462            stringify!(AMediaDrmKeyStatus),
24463            "::",
24464            stringify!(keyType)
24465        )
24466    );
24467}
24468pub type AMediaDrmEventListener = ::std::option::Option<
24469    unsafe extern "C" fn(
24470        arg1: *mut AMediaDrm,
24471        sessionId: *const AMediaDrmSessionId,
24472        eventType: AMediaDrmEventType,
24473        extra: ::std::os::raw::c_int,
24474        data: *const u8,
24475        dataSize: usize,
24476    ),
24477>;
24478pub type AMediaDrmExpirationUpdateListener = ::std::option::Option<
24479    unsafe extern "C" fn(
24480        arg1: *mut AMediaDrm,
24481        sessionId: *const AMediaDrmSessionId,
24482        expiryTimeInMS: i64,
24483    ),
24484>;
24485pub type AMediaDrmKeysChangeListener = ::std::option::Option<
24486    unsafe extern "C" fn(
24487        arg1: *mut AMediaDrm,
24488        sessionId: *const AMediaDrmSessionId,
24489        keyStatus: *const AMediaDrmKeyStatus,
24490        numKeys: usize,
24491        hasNewUsableKey: bool,
24492    ),
24493>;
24494extern "C" {
24495    pub fn AMediaDrm_isCryptoSchemeSupported(
24496        uuid: *const u8,
24497        mimeType: *const ::std::os::raw::c_char,
24498    ) -> bool;
24499}
24500extern "C" {
24501    pub fn AMediaDrm_createByUUID(uuid: *const u8) -> *mut AMediaDrm;
24502}
24503extern "C" {
24504    pub fn AMediaDrm_release(arg1: *mut AMediaDrm);
24505}
24506extern "C" {
24507    pub fn AMediaDrm_setOnEventListener(
24508        arg1: *mut AMediaDrm,
24509        listener: AMediaDrmEventListener,
24510    ) -> media_status_t;
24511}
24512extern "C" {
24513    pub fn AMediaDrm_setOnExpirationUpdateListener(
24514        arg1: *mut AMediaDrm,
24515        listener: AMediaDrmExpirationUpdateListener,
24516    ) -> media_status_t;
24517}
24518extern "C" {
24519    pub fn AMediaDrm_setOnKeysChangeListener(
24520        arg1: *mut AMediaDrm,
24521        listener: AMediaDrmKeysChangeListener,
24522    ) -> media_status_t;
24523}
24524extern "C" {
24525    pub fn AMediaDrm_openSession(
24526        arg1: *mut AMediaDrm,
24527        sessionId: *mut AMediaDrmSessionId,
24528    ) -> media_status_t;
24529}
24530extern "C" {
24531    pub fn AMediaDrm_closeSession(
24532        arg1: *mut AMediaDrm,
24533        sessionId: *const AMediaDrmSessionId,
24534    ) -> media_status_t;
24535}
24536extern "C" {
24537    pub fn AMediaDrm_getKeyRequest(
24538        arg1: *mut AMediaDrm,
24539        scope: *const AMediaDrmScope,
24540        init: *const u8,
24541        initSize: usize,
24542        mimeType: *const ::std::os::raw::c_char,
24543        keyType: AMediaDrmKeyType,
24544        optionalParameters: *const AMediaDrmKeyValue,
24545        numOptionalParameters: usize,
24546        keyRequest: *mut *const u8,
24547        keyRequestSize: *mut usize,
24548    ) -> media_status_t;
24549}
24550extern "C" {
24551    pub fn AMediaDrm_getKeyRequestWithDefaultUrlAndType(
24552        arg1: *mut AMediaDrm,
24553        scope: *const AMediaDrmScope,
24554        init: *const u8,
24555        initSize: usize,
24556        mimeType: *const ::std::os::raw::c_char,
24557        keyType: AMediaDrmKeyType,
24558        optionalParameters: *const AMediaDrmKeyValue,
24559        numOptionalParameters: usize,
24560        keyRequest: *mut *const u8,
24561        keyRequestSize: *mut usize,
24562        defaultUrl: *mut *const ::std::os::raw::c_char,
24563        keyRequestType: *mut AMediaDrmKeyRequestType,
24564    ) -> media_status_t;
24565}
24566extern "C" {
24567    pub fn AMediaDrm_provideKeyResponse(
24568        arg1: *mut AMediaDrm,
24569        scope: *const AMediaDrmScope,
24570        response: *const u8,
24571        responseSize: usize,
24572        keySetId: *mut AMediaDrmKeySetId,
24573    ) -> media_status_t;
24574}
24575extern "C" {
24576    pub fn AMediaDrm_restoreKeys(
24577        arg1: *mut AMediaDrm,
24578        sessionId: *const AMediaDrmSessionId,
24579        keySetId: *const AMediaDrmKeySetId,
24580    ) -> media_status_t;
24581}
24582extern "C" {
24583    pub fn AMediaDrm_removeKeys(
24584        arg1: *mut AMediaDrm,
24585        keySetId: *const AMediaDrmSessionId,
24586    ) -> media_status_t;
24587}
24588extern "C" {
24589    pub fn AMediaDrm_queryKeyStatus(
24590        arg1: *mut AMediaDrm,
24591        sessionId: *const AMediaDrmSessionId,
24592        keyValuePairs: *mut AMediaDrmKeyValue,
24593        numPairs: *mut usize,
24594    ) -> media_status_t;
24595}
24596extern "C" {
24597    pub fn AMediaDrm_getProvisionRequest(
24598        arg1: *mut AMediaDrm,
24599        provisionRequest: *mut *const u8,
24600        provisionRequestSize: *mut usize,
24601        serverUrl: *mut *const ::std::os::raw::c_char,
24602    ) -> media_status_t;
24603}
24604extern "C" {
24605    pub fn AMediaDrm_provideProvisionResponse(
24606        arg1: *mut AMediaDrm,
24607        response: *const u8,
24608        responseSize: usize,
24609    ) -> media_status_t;
24610}
24611extern "C" {
24612    pub fn AMediaDrm_getSecureStops(
24613        arg1: *mut AMediaDrm,
24614        secureStops: *mut AMediaDrmSecureStop,
24615        numSecureStops: *mut usize,
24616    ) -> media_status_t;
24617}
24618extern "C" {
24619    pub fn AMediaDrm_releaseSecureStops(
24620        arg1: *mut AMediaDrm,
24621        ssRelease: *const AMediaDrmSecureStop,
24622    ) -> media_status_t;
24623}
24624extern "C" {
24625    pub fn AMediaDrm_getPropertyString(
24626        arg1: *mut AMediaDrm,
24627        propertyName: *const ::std::os::raw::c_char,
24628        propertyValue: *mut *const ::std::os::raw::c_char,
24629    ) -> media_status_t;
24630}
24631extern "C" {
24632    pub fn AMediaDrm_getPropertyByteArray(
24633        arg1: *mut AMediaDrm,
24634        propertyName: *const ::std::os::raw::c_char,
24635        propertyValue: *mut AMediaDrmByteArray,
24636    ) -> media_status_t;
24637}
24638extern "C" {
24639    pub fn AMediaDrm_setPropertyString(
24640        arg1: *mut AMediaDrm,
24641        propertyName: *const ::std::os::raw::c_char,
24642        value: *const ::std::os::raw::c_char,
24643    ) -> media_status_t;
24644}
24645extern "C" {
24646    pub fn AMediaDrm_setPropertyByteArray(
24647        arg1: *mut AMediaDrm,
24648        propertyName: *const ::std::os::raw::c_char,
24649        value: *const u8,
24650        valueSize: usize,
24651    ) -> media_status_t;
24652}
24653extern "C" {
24654    pub fn AMediaDrm_encrypt(
24655        arg1: *mut AMediaDrm,
24656        sessionId: *const AMediaDrmSessionId,
24657        cipherAlgorithm: *const ::std::os::raw::c_char,
24658        keyId: *mut u8,
24659        iv: *mut u8,
24660        input: *const u8,
24661        output: *mut u8,
24662        dataSize: usize,
24663    ) -> media_status_t;
24664}
24665extern "C" {
24666    pub fn AMediaDrm_decrypt(
24667        arg1: *mut AMediaDrm,
24668        sessionId: *const AMediaDrmSessionId,
24669        cipherAlgorithm: *const ::std::os::raw::c_char,
24670        keyId: *mut u8,
24671        iv: *mut u8,
24672        input: *const u8,
24673        output: *mut u8,
24674        dataSize: usize,
24675    ) -> media_status_t;
24676}
24677extern "C" {
24678    pub fn AMediaDrm_sign(
24679        arg1: *mut AMediaDrm,
24680        sessionId: *const AMediaDrmSessionId,
24681        macAlgorithm: *const ::std::os::raw::c_char,
24682        keyId: *mut u8,
24683        message: *mut u8,
24684        messageSize: usize,
24685        signature: *mut u8,
24686        signatureSize: *mut usize,
24687    ) -> media_status_t;
24688}
24689extern "C" {
24690    pub fn AMediaDrm_verify(
24691        arg1: *mut AMediaDrm,
24692        sessionId: *const AMediaDrmSessionId,
24693        macAlgorithm: *const ::std::os::raw::c_char,
24694        keyId: *mut u8,
24695        message: *const u8,
24696        messageSize: usize,
24697        signature: *const u8,
24698        signatureSize: usize,
24699    ) -> media_status_t;
24700}
24701#[repr(C)]
24702#[derive(Debug, Copy, Clone)]
24703pub struct AMediaExtractor {
24704    _unused: [u8; 0],
24705}
24706extern "C" {
24707    pub fn AMediaExtractor_new() -> *mut AMediaExtractor;
24708}
24709extern "C" {
24710    pub fn AMediaExtractor_delete(arg1: *mut AMediaExtractor) -> media_status_t;
24711}
24712extern "C" {
24713    pub fn AMediaExtractor_setDataSourceFd(
24714        arg1: *mut AMediaExtractor,
24715        fd: ::std::os::raw::c_int,
24716        offset: off64_t,
24717        length: off64_t,
24718    ) -> media_status_t;
24719}
24720extern "C" {
24721    pub fn AMediaExtractor_setDataSource(
24722        arg1: *mut AMediaExtractor,
24723        location: *const ::std::os::raw::c_char,
24724    ) -> media_status_t;
24725}
24726extern "C" {
24727    pub fn AMediaExtractor_setDataSourceCustom(
24728        arg1: *mut AMediaExtractor,
24729        src: *mut AMediaDataSource,
24730    ) -> media_status_t;
24731}
24732extern "C" {
24733    pub fn AMediaExtractor_getTrackCount(arg1: *mut AMediaExtractor) -> usize;
24734}
24735extern "C" {
24736    pub fn AMediaExtractor_getTrackFormat(
24737        arg1: *mut AMediaExtractor,
24738        idx: usize,
24739    ) -> *mut AMediaFormat;
24740}
24741extern "C" {
24742    pub fn AMediaExtractor_selectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
24743}
24744extern "C" {
24745    pub fn AMediaExtractor_unselectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
24746}
24747extern "C" {
24748    pub fn AMediaExtractor_readSampleData(
24749        arg1: *mut AMediaExtractor,
24750        buffer: *mut u8,
24751        capacity: usize,
24752    ) -> isize;
24753}
24754extern "C" {
24755    pub fn AMediaExtractor_getSampleFlags(arg1: *mut AMediaExtractor) -> u32;
24756}
24757extern "C" {
24758    pub fn AMediaExtractor_getSampleTrackIndex(arg1: *mut AMediaExtractor)
24759        -> ::std::os::raw::c_int;
24760}
24761extern "C" {
24762    pub fn AMediaExtractor_getSampleTime(arg1: *mut AMediaExtractor) -> i64;
24763}
24764extern "C" {
24765    pub fn AMediaExtractor_advance(arg1: *mut AMediaExtractor) -> bool;
24766}
24767impl SeekMode {
24768    pub const AMEDIAEXTRACTOR_SEEK_PREVIOUS_SYNC: SeekMode = SeekMode(0);
24769}
24770impl SeekMode {
24771    pub const AMEDIAEXTRACTOR_SEEK_NEXT_SYNC: SeekMode = SeekMode(1);
24772}
24773impl SeekMode {
24774    pub const AMEDIAEXTRACTOR_SEEK_CLOSEST_SYNC: SeekMode = SeekMode(2);
24775}
24776#[repr(transparent)]
24777#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24778pub struct SeekMode(pub ::std::os::raw::c_uint);
24779extern "C" {
24780    pub fn AMediaExtractor_seekTo(
24781        arg1: *mut AMediaExtractor,
24782        seekPosUs: i64,
24783        mode: SeekMode,
24784    ) -> media_status_t;
24785}
24786#[repr(C)]
24787#[derive(Debug, Copy, Clone)]
24788pub struct PsshEntry {
24789    pub uuid: AMediaUUID,
24790    pub datalen: usize,
24791    pub data: *mut ::std::os::raw::c_void,
24792}
24793#[test]
24794fn bindgen_test_layout_PsshEntry() {
24795    const UNINIT: ::std::mem::MaybeUninit<PsshEntry> = ::std::mem::MaybeUninit::uninit();
24796    let ptr = UNINIT.as_ptr();
24797    assert_eq!(
24798        ::std::mem::size_of::<PsshEntry>(),
24799        32usize,
24800        concat!("Size of: ", stringify!(PsshEntry))
24801    );
24802    assert_eq!(
24803        ::std::mem::align_of::<PsshEntry>(),
24804        8usize,
24805        concat!("Alignment of ", stringify!(PsshEntry))
24806    );
24807    assert_eq!(
24808        unsafe { ::std::ptr::addr_of!((*ptr).uuid) as usize - ptr as usize },
24809        0usize,
24810        concat!(
24811            "Offset of field: ",
24812            stringify!(PsshEntry),
24813            "::",
24814            stringify!(uuid)
24815        )
24816    );
24817    assert_eq!(
24818        unsafe { ::std::ptr::addr_of!((*ptr).datalen) as usize - ptr as usize },
24819        16usize,
24820        concat!(
24821            "Offset of field: ",
24822            stringify!(PsshEntry),
24823            "::",
24824            stringify!(datalen)
24825        )
24826    );
24827    assert_eq!(
24828        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
24829        24usize,
24830        concat!(
24831            "Offset of field: ",
24832            stringify!(PsshEntry),
24833            "::",
24834            stringify!(data)
24835        )
24836    );
24837}
24838#[repr(C)]
24839#[derive(Debug)]
24840pub struct PsshInfo {
24841    pub numentries: usize,
24842    pub entries: __IncompleteArrayField<PsshEntry>,
24843}
24844#[test]
24845fn bindgen_test_layout_PsshInfo() {
24846    const UNINIT: ::std::mem::MaybeUninit<PsshInfo> = ::std::mem::MaybeUninit::uninit();
24847    let ptr = UNINIT.as_ptr();
24848    assert_eq!(
24849        ::std::mem::size_of::<PsshInfo>(),
24850        8usize,
24851        concat!("Size of: ", stringify!(PsshInfo))
24852    );
24853    assert_eq!(
24854        ::std::mem::align_of::<PsshInfo>(),
24855        8usize,
24856        concat!("Alignment of ", stringify!(PsshInfo))
24857    );
24858    assert_eq!(
24859        unsafe { ::std::ptr::addr_of!((*ptr).numentries) as usize - ptr as usize },
24860        0usize,
24861        concat!(
24862            "Offset of field: ",
24863            stringify!(PsshInfo),
24864            "::",
24865            stringify!(numentries)
24866        )
24867    );
24868    assert_eq!(
24869        unsafe { ::std::ptr::addr_of!((*ptr).entries) as usize - ptr as usize },
24870        8usize,
24871        concat!(
24872            "Offset of field: ",
24873            stringify!(PsshInfo),
24874            "::",
24875            stringify!(entries)
24876        )
24877    );
24878}
24879extern "C" {
24880    pub fn AMediaExtractor_getPsshInfo(arg1: *mut AMediaExtractor) -> *mut PsshInfo;
24881}
24882extern "C" {
24883    pub fn AMediaExtractor_getSampleCryptoInfo(
24884        arg1: *mut AMediaExtractor,
24885    ) -> *mut AMediaCodecCryptoInfo;
24886}
24887pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_SYNC: _bindgen_ty_70 = 1;
24888pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_ENCRYPTED: _bindgen_ty_70 = 2;
24889pub type _bindgen_ty_70 = ::std::os::raw::c_uint;
24890extern "C" {
24891    pub fn AMediaExtractor_getFileFormat(arg1: *mut AMediaExtractor) -> *mut AMediaFormat;
24892}
24893extern "C" {
24894    pub fn AMediaExtractor_getSampleSize(arg1: *mut AMediaExtractor) -> isize;
24895}
24896extern "C" {
24897    pub fn AMediaExtractor_getCachedDuration(arg1: *mut AMediaExtractor) -> i64;
24898}
24899extern "C" {
24900    pub fn AMediaExtractor_getSampleFormat(
24901        ex: *mut AMediaExtractor,
24902        fmt: *mut AMediaFormat,
24903    ) -> media_status_t;
24904}
24905#[repr(C)]
24906#[derive(Debug, Copy, Clone)]
24907pub struct AMediaMuxer {
24908    _unused: [u8; 0],
24909}
24910impl OutputFormat {
24911    pub const AMEDIAMUXER_OUTPUT_FORMAT_MPEG_4: OutputFormat = OutputFormat(0);
24912}
24913impl OutputFormat {
24914    pub const AMEDIAMUXER_OUTPUT_FORMAT_WEBM: OutputFormat = OutputFormat(1);
24915}
24916impl OutputFormat {
24917    pub const AMEDIAMUXER_OUTPUT_FORMAT_THREE_GPP: OutputFormat = OutputFormat(2);
24918}
24919impl OutputFormat {
24920    pub const AMEDIAMUXER_OUTPUT_FORMAT_HEIF: OutputFormat = OutputFormat(3);
24921}
24922impl OutputFormat {
24923    pub const AMEDIAMUXER_OUTPUT_FORMAT_OGG: OutputFormat = OutputFormat(4);
24924}
24925#[repr(transparent)]
24926#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24927pub struct OutputFormat(pub ::std::os::raw::c_uint);
24928impl AppendMode {
24929    pub const AMEDIAMUXER_APPEND_IGNORE_LAST_VIDEO_GOP: AppendMode = AppendMode(0);
24930}
24931impl AppendMode {
24932    pub const AMEDIAMUXER_APPEND_TO_EXISTING_DATA: AppendMode = AppendMode(1);
24933}
24934#[repr(transparent)]
24935#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24936pub struct AppendMode(pub ::std::os::raw::c_uint);
24937extern "C" {
24938    pub fn AMediaMuxer_new(fd: ::std::os::raw::c_int, format: OutputFormat) -> *mut AMediaMuxer;
24939}
24940extern "C" {
24941    pub fn AMediaMuxer_delete(arg1: *mut AMediaMuxer) -> media_status_t;
24942}
24943extern "C" {
24944    pub fn AMediaMuxer_setLocation(
24945        arg1: *mut AMediaMuxer,
24946        latitude: f32,
24947        longitude: f32,
24948    ) -> media_status_t;
24949}
24950extern "C" {
24951    pub fn AMediaMuxer_setOrientationHint(
24952        arg1: *mut AMediaMuxer,
24953        degrees: ::std::os::raw::c_int,
24954    ) -> media_status_t;
24955}
24956extern "C" {
24957    pub fn AMediaMuxer_addTrack(arg1: *mut AMediaMuxer, format: *const AMediaFormat) -> isize;
24958}
24959extern "C" {
24960    pub fn AMediaMuxer_start(arg1: *mut AMediaMuxer) -> media_status_t;
24961}
24962extern "C" {
24963    pub fn AMediaMuxer_stop(arg1: *mut AMediaMuxer) -> media_status_t;
24964}
24965extern "C" {
24966    pub fn AMediaMuxer_writeSampleData(
24967        muxer: *mut AMediaMuxer,
24968        trackIdx: usize,
24969        data: *const u8,
24970        info: *const AMediaCodecBufferInfo,
24971    ) -> media_status_t;
24972}
24973extern "C" {
24974    pub fn AMediaMuxer_append(fd: ::std::os::raw::c_int, mode: AppendMode) -> *mut AMediaMuxer;
24975}
24976extern "C" {
24977    pub fn AMediaMuxer_getTrackCount(arg1: *mut AMediaMuxer) -> isize;
24978}
24979extern "C" {
24980    pub fn AMediaMuxer_getTrackFormat(muxer: *mut AMediaMuxer, idx: usize) -> *mut AMediaFormat;
24981}
24982pub type __uint128_t = u128;