ndk_sys/
ffi_x86_64.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 INT8_MIN: i32 = -128;
59pub const INT8_MAX: u32 = 127;
60pub const INT_LEAST8_MIN: i32 = -128;
61pub const INT_LEAST8_MAX: u32 = 127;
62pub const INT_FAST8_MIN: i32 = -128;
63pub const INT_FAST8_MAX: u32 = 127;
64pub const UINT8_MAX: u32 = 255;
65pub const UINT_LEAST8_MAX: u32 = 255;
66pub const UINT_FAST8_MAX: u32 = 255;
67pub const INT16_MIN: i32 = -32768;
68pub const INT16_MAX: u32 = 32767;
69pub const INT_LEAST16_MIN: i32 = -32768;
70pub const INT_LEAST16_MAX: u32 = 32767;
71pub const UINT16_MAX: u32 = 65535;
72pub const UINT_LEAST16_MAX: u32 = 65535;
73pub const INT32_MIN: i32 = -2147483648;
74pub const INT32_MAX: u32 = 2147483647;
75pub const INT_LEAST32_MIN: i32 = -2147483648;
76pub const INT_LEAST32_MAX: u32 = 2147483647;
77pub const INT_FAST32_MIN: i32 = -2147483648;
78pub const INT_FAST32_MAX: u32 = 2147483647;
79pub const UINT32_MAX: u32 = 4294967295;
80pub const UINT_LEAST32_MAX: u32 = 4294967295;
81pub const UINT_FAST32_MAX: u32 = 4294967295;
82pub const SIG_ATOMIC_MAX: u32 = 2147483647;
83pub const SIG_ATOMIC_MIN: i32 = -2147483648;
84pub const WINT_MAX: u32 = 4294967295;
85pub const WINT_MIN: u32 = 0;
86pub const __BITS_PER_LONG: u32 = 64;
87pub const __FD_SETSIZE: u32 = 1024;
88pub const __bool_true_false_are_defined: u32 = 1;
89pub const true_: u32 = 1;
90pub const false_: u32 = 0;
91pub const __PRI_64_prefix: &[u8; 2] = b"l\0";
92pub const __PRI_PTR_prefix: &[u8; 2] = b"l\0";
93pub const __PRI_FAST_prefix: &[u8; 2] = b"l\0";
94pub const PRId8: &[u8; 2] = b"d\0";
95pub const PRId16: &[u8; 2] = b"d\0";
96pub const PRId32: &[u8; 2] = b"d\0";
97pub const PRId64: &[u8; 3] = b"ld\0";
98pub const PRIdLEAST8: &[u8; 2] = b"d\0";
99pub const PRIdLEAST16: &[u8; 2] = b"d\0";
100pub const PRIdLEAST32: &[u8; 2] = b"d\0";
101pub const PRIdLEAST64: &[u8; 3] = b"ld\0";
102pub const PRIdFAST8: &[u8; 2] = b"d\0";
103pub const PRIdFAST16: &[u8; 3] = b"ld\0";
104pub const PRIdFAST32: &[u8; 3] = b"ld\0";
105pub const PRIdFAST64: &[u8; 3] = b"ld\0";
106pub const PRIdMAX: &[u8; 3] = b"jd\0";
107pub const PRIdPTR: &[u8; 3] = b"ld\0";
108pub const PRIi8: &[u8; 2] = b"i\0";
109pub const PRIi16: &[u8; 2] = b"i\0";
110pub const PRIi32: &[u8; 2] = b"i\0";
111pub const PRIi64: &[u8; 3] = b"li\0";
112pub const PRIiLEAST8: &[u8; 2] = b"i\0";
113pub const PRIiLEAST16: &[u8; 2] = b"i\0";
114pub const PRIiLEAST32: &[u8; 2] = b"i\0";
115pub const PRIiLEAST64: &[u8; 3] = b"li\0";
116pub const PRIiFAST8: &[u8; 2] = b"i\0";
117pub const PRIiFAST16: &[u8; 3] = b"li\0";
118pub const PRIiFAST32: &[u8; 3] = b"li\0";
119pub const PRIiFAST64: &[u8; 3] = b"li\0";
120pub const PRIiMAX: &[u8; 3] = b"ji\0";
121pub const PRIiPTR: &[u8; 3] = b"li\0";
122pub const PRIb8: &[u8; 2] = b"b\0";
123pub const PRIb16: &[u8; 2] = b"b\0";
124pub const PRIb32: &[u8; 2] = b"b\0";
125pub const PRIb64: &[u8; 3] = b"lb\0";
126pub const PRIbLEAST8: &[u8; 2] = b"b\0";
127pub const PRIbLEAST16: &[u8; 2] = b"b\0";
128pub const PRIbLEAST32: &[u8; 2] = b"b\0";
129pub const PRIbLEAST64: &[u8; 3] = b"lb\0";
130pub const PRIbFAST8: &[u8; 2] = b"b\0";
131pub const PRIbFAST16: &[u8; 3] = b"lb\0";
132pub const PRIbFAST32: &[u8; 3] = b"lb\0";
133pub const PRIbFAST64: &[u8; 3] = b"lb\0";
134pub const PRIbMAX: &[u8; 3] = b"jb\0";
135pub const PRIbPTR: &[u8; 3] = b"lb\0";
136pub const PRIB8: &[u8; 2] = b"B\0";
137pub const PRIB16: &[u8; 2] = b"B\0";
138pub const PRIB32: &[u8; 2] = b"B\0";
139pub const PRIB64: &[u8; 3] = b"lB\0";
140pub const PRIBLEAST8: &[u8; 2] = b"B\0";
141pub const PRIBLEAST16: &[u8; 2] = b"B\0";
142pub const PRIBLEAST32: &[u8; 2] = b"B\0";
143pub const PRIBLEAST64: &[u8; 3] = b"lB\0";
144pub const PRIBFAST8: &[u8; 2] = b"B\0";
145pub const PRIBFAST16: &[u8; 3] = b"lB\0";
146pub const PRIBFAST32: &[u8; 3] = b"lB\0";
147pub const PRIBFAST64: &[u8; 3] = b"lB\0";
148pub const PRIBMAX: &[u8; 3] = b"jB\0";
149pub const PRIBPTR: &[u8; 3] = b"lB\0";
150pub const PRIo8: &[u8; 2] = b"o\0";
151pub const PRIo16: &[u8; 2] = b"o\0";
152pub const PRIo32: &[u8; 2] = b"o\0";
153pub const PRIo64: &[u8; 3] = b"lo\0";
154pub const PRIoLEAST8: &[u8; 2] = b"o\0";
155pub const PRIoLEAST16: &[u8; 2] = b"o\0";
156pub const PRIoLEAST32: &[u8; 2] = b"o\0";
157pub const PRIoLEAST64: &[u8; 3] = b"lo\0";
158pub const PRIoFAST8: &[u8; 2] = b"o\0";
159pub const PRIoFAST16: &[u8; 3] = b"lo\0";
160pub const PRIoFAST32: &[u8; 3] = b"lo\0";
161pub const PRIoFAST64: &[u8; 3] = b"lo\0";
162pub const PRIoMAX: &[u8; 3] = b"jo\0";
163pub const PRIoPTR: &[u8; 3] = b"lo\0";
164pub const PRIu8: &[u8; 2] = b"u\0";
165pub const PRIu16: &[u8; 2] = b"u\0";
166pub const PRIu32: &[u8; 2] = b"u\0";
167pub const PRIu64: &[u8; 3] = b"lu\0";
168pub const PRIuLEAST8: &[u8; 2] = b"u\0";
169pub const PRIuLEAST16: &[u8; 2] = b"u\0";
170pub const PRIuLEAST32: &[u8; 2] = b"u\0";
171pub const PRIuLEAST64: &[u8; 3] = b"lu\0";
172pub const PRIuFAST8: &[u8; 2] = b"u\0";
173pub const PRIuFAST16: &[u8; 3] = b"lu\0";
174pub const PRIuFAST32: &[u8; 3] = b"lu\0";
175pub const PRIuFAST64: &[u8; 3] = b"lu\0";
176pub const PRIuMAX: &[u8; 3] = b"ju\0";
177pub const PRIuPTR: &[u8; 3] = b"lu\0";
178pub const PRIx8: &[u8; 2] = b"x\0";
179pub const PRIx16: &[u8; 2] = b"x\0";
180pub const PRIx32: &[u8; 2] = b"x\0";
181pub const PRIx64: &[u8; 3] = b"lx\0";
182pub const PRIxLEAST8: &[u8; 2] = b"x\0";
183pub const PRIxLEAST16: &[u8; 2] = b"x\0";
184pub const PRIxLEAST32: &[u8; 2] = b"x\0";
185pub const PRIxLEAST64: &[u8; 3] = b"lx\0";
186pub const PRIxFAST8: &[u8; 2] = b"x\0";
187pub const PRIxFAST16: &[u8; 3] = b"lx\0";
188pub const PRIxFAST32: &[u8; 3] = b"lx\0";
189pub const PRIxFAST64: &[u8; 3] = b"lx\0";
190pub const PRIxMAX: &[u8; 3] = b"jx\0";
191pub const PRIxPTR: &[u8; 3] = b"lx\0";
192pub const PRIX8: &[u8; 2] = b"X\0";
193pub const PRIX16: &[u8; 2] = b"X\0";
194pub const PRIX32: &[u8; 2] = b"X\0";
195pub const PRIX64: &[u8; 3] = b"lX\0";
196pub const PRIXLEAST8: &[u8; 2] = b"X\0";
197pub const PRIXLEAST16: &[u8; 2] = b"X\0";
198pub const PRIXLEAST32: &[u8; 2] = b"X\0";
199pub const PRIXLEAST64: &[u8; 3] = b"lX\0";
200pub const PRIXFAST8: &[u8; 2] = b"X\0";
201pub const PRIXFAST16: &[u8; 3] = b"lX\0";
202pub const PRIXFAST32: &[u8; 3] = b"lX\0";
203pub const PRIXFAST64: &[u8; 3] = b"lX\0";
204pub const PRIXMAX: &[u8; 3] = b"jX\0";
205pub const PRIXPTR: &[u8; 3] = b"lX\0";
206pub const SCNd8: &[u8; 4] = b"hhd\0";
207pub const SCNd16: &[u8; 3] = b"hd\0";
208pub const SCNd32: &[u8; 2] = b"d\0";
209pub const SCNd64: &[u8; 3] = b"ld\0";
210pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
211pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
212pub const SCNdLEAST32: &[u8; 2] = b"d\0";
213pub const SCNdLEAST64: &[u8; 3] = b"ld\0";
214pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
215pub const SCNdFAST16: &[u8; 3] = b"ld\0";
216pub const SCNdFAST32: &[u8; 3] = b"ld\0";
217pub const SCNdFAST64: &[u8; 3] = b"ld\0";
218pub const SCNdMAX: &[u8; 3] = b"jd\0";
219pub const SCNdPTR: &[u8; 3] = b"ld\0";
220pub const SCNi8: &[u8; 4] = b"hhi\0";
221pub const SCNi16: &[u8; 3] = b"hi\0";
222pub const SCNi32: &[u8; 2] = b"i\0";
223pub const SCNi64: &[u8; 3] = b"li\0";
224pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
225pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
226pub const SCNiLEAST32: &[u8; 2] = b"i\0";
227pub const SCNiLEAST64: &[u8; 3] = b"li\0";
228pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
229pub const SCNiFAST16: &[u8; 3] = b"li\0";
230pub const SCNiFAST32: &[u8; 3] = b"li\0";
231pub const SCNiFAST64: &[u8; 3] = b"li\0";
232pub const SCNiMAX: &[u8; 3] = b"ji\0";
233pub const SCNiPTR: &[u8; 3] = b"li\0";
234pub const SCNb8: &[u8; 4] = b"hhb\0";
235pub const SCNb16: &[u8; 3] = b"hb\0";
236pub const SCNb32: &[u8; 2] = b"b\0";
237pub const SCNb64: &[u8; 3] = b"lb\0";
238pub const SCNbLEAST8: &[u8; 4] = b"hhb\0";
239pub const SCNbLEAST16: &[u8; 3] = b"hb\0";
240pub const SCNbLEAST32: &[u8; 2] = b"b\0";
241pub const SCNbLEAST64: &[u8; 3] = b"lb\0";
242pub const SCNbFAST8: &[u8; 4] = b"hhb\0";
243pub const SCNbFAST16: &[u8; 3] = b"lb\0";
244pub const SCNbFAST32: &[u8; 3] = b"lb\0";
245pub const SCNbFAST64: &[u8; 3] = b"lb\0";
246pub const SCNbMAX: &[u8; 3] = b"jb\0";
247pub const SCNbPTR: &[u8; 3] = b"lb\0";
248pub const SCNB8: &[u8; 4] = b"hhB\0";
249pub const SCNB16: &[u8; 3] = b"hB\0";
250pub const SCNB32: &[u8; 2] = b"B\0";
251pub const SCNB64: &[u8; 3] = b"lB\0";
252pub const SCNBLEAST8: &[u8; 4] = b"hhB\0";
253pub const SCNBLEAST16: &[u8; 3] = b"hB\0";
254pub const SCNBLEAST32: &[u8; 2] = b"B\0";
255pub const SCNBLEAST64: &[u8; 3] = b"lB\0";
256pub const SCNBFAST8: &[u8; 4] = b"hhB\0";
257pub const SCNBFAST16: &[u8; 3] = b"lB\0";
258pub const SCNBFAST32: &[u8; 3] = b"lB\0";
259pub const SCNBFAST64: &[u8; 3] = b"lB\0";
260pub const SCNBMAX: &[u8; 3] = b"jB\0";
261pub const SCNBPTR: &[u8; 3] = b"lB\0";
262pub const SCNo8: &[u8; 4] = b"hho\0";
263pub const SCNo16: &[u8; 3] = b"ho\0";
264pub const SCNo32: &[u8; 2] = b"o\0";
265pub const SCNo64: &[u8; 3] = b"lo\0";
266pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
267pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
268pub const SCNoLEAST32: &[u8; 2] = b"o\0";
269pub const SCNoLEAST64: &[u8; 3] = b"lo\0";
270pub const SCNoFAST8: &[u8; 4] = b"hho\0";
271pub const SCNoFAST16: &[u8; 3] = b"lo\0";
272pub const SCNoFAST32: &[u8; 3] = b"lo\0";
273pub const SCNoFAST64: &[u8; 3] = b"lo\0";
274pub const SCNoMAX: &[u8; 3] = b"jo\0";
275pub const SCNoPTR: &[u8; 3] = b"lo\0";
276pub const SCNu8: &[u8; 4] = b"hhu\0";
277pub const SCNu16: &[u8; 3] = b"hu\0";
278pub const SCNu32: &[u8; 2] = b"u\0";
279pub const SCNu64: &[u8; 3] = b"lu\0";
280pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
281pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
282pub const SCNuLEAST32: &[u8; 2] = b"u\0";
283pub const SCNuLEAST64: &[u8; 3] = b"lu\0";
284pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
285pub const SCNuFAST16: &[u8; 3] = b"lu\0";
286pub const SCNuFAST32: &[u8; 3] = b"lu\0";
287pub const SCNuFAST64: &[u8; 3] = b"lu\0";
288pub const SCNuMAX: &[u8; 3] = b"ju\0";
289pub const SCNuPTR: &[u8; 3] = b"lu\0";
290pub const SCNx8: &[u8; 4] = b"hhx\0";
291pub const SCNx16: &[u8; 3] = b"hx\0";
292pub const SCNx32: &[u8; 2] = b"x\0";
293pub const SCNx64: &[u8; 3] = b"lx\0";
294pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
295pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
296pub const SCNxLEAST32: &[u8; 2] = b"x\0";
297pub const SCNxLEAST64: &[u8; 3] = b"lx\0";
298pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
299pub const SCNxFAST16: &[u8; 3] = b"lx\0";
300pub const SCNxFAST32: &[u8; 3] = b"lx\0";
301pub const SCNxFAST64: &[u8; 3] = b"lx\0";
302pub const SCNxMAX: &[u8; 3] = b"jx\0";
303pub const SCNxPTR: &[u8; 3] = b"lx\0";
304pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
305pub const O_ACCMODE: u32 = 3;
306pub const O_RDONLY: u32 = 0;
307pub const O_WRONLY: u32 = 1;
308pub const O_RDWR: u32 = 2;
309pub const O_CREAT: u32 = 64;
310pub const O_EXCL: u32 = 128;
311pub const O_NOCTTY: u32 = 256;
312pub const O_TRUNC: u32 = 512;
313pub const O_APPEND: u32 = 1024;
314pub const O_NONBLOCK: u32 = 2048;
315pub const O_DSYNC: u32 = 4096;
316pub const FASYNC: u32 = 8192;
317pub const O_DIRECT: u32 = 16384;
318pub const O_LARGEFILE: u32 = 32768;
319pub const O_DIRECTORY: u32 = 65536;
320pub const O_NOFOLLOW: u32 = 131072;
321pub const O_NOATIME: u32 = 262144;
322pub const O_CLOEXEC: u32 = 524288;
323pub const __O_SYNC: u32 = 1048576;
324pub const O_SYNC: u32 = 1052672;
325pub const O_PATH: u32 = 2097152;
326pub const __O_TMPFILE: u32 = 4194304;
327pub const O_TMPFILE: u32 = 4259840;
328pub const O_NDELAY: u32 = 2048;
329pub const F_DUPFD: u32 = 0;
330pub const F_GETFD: u32 = 1;
331pub const F_SETFD: u32 = 2;
332pub const F_GETFL: u32 = 3;
333pub const F_SETFL: u32 = 4;
334pub const F_GETLK: u32 = 5;
335pub const F_SETLK: u32 = 6;
336pub const F_SETLKW: u32 = 7;
337pub const F_SETOWN: u32 = 8;
338pub const F_GETOWN: u32 = 9;
339pub const F_SETSIG: u32 = 10;
340pub const F_GETSIG: u32 = 11;
341pub const F_SETOWN_EX: u32 = 15;
342pub const F_GETOWN_EX: u32 = 16;
343pub const F_GETOWNER_UIDS: u32 = 17;
344pub const F_OFD_GETLK: u32 = 36;
345pub const F_OFD_SETLK: u32 = 37;
346pub const F_OFD_SETLKW: u32 = 38;
347pub const F_OWNER_TID: u32 = 0;
348pub const F_OWNER_PID: u32 = 1;
349pub const F_OWNER_PGRP: u32 = 2;
350pub const FD_CLOEXEC: u32 = 1;
351pub const F_RDLCK: u32 = 0;
352pub const F_WRLCK: u32 = 1;
353pub const F_UNLCK: u32 = 2;
354pub const F_EXLCK: u32 = 4;
355pub const F_SHLCK: u32 = 8;
356pub const LOCK_SH: u32 = 1;
357pub const LOCK_EX: u32 = 2;
358pub const LOCK_NB: u32 = 4;
359pub const LOCK_UN: u32 = 8;
360pub const LOCK_MAND: u32 = 32;
361pub const LOCK_READ: u32 = 64;
362pub const LOCK_WRITE: u32 = 128;
363pub const LOCK_RW: u32 = 192;
364pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
365pub const FIOSETOWN: u32 = 35073;
366pub const SIOCSPGRP: u32 = 35074;
367pub const FIOGETOWN: u32 = 35075;
368pub const SIOCGPGRP: u32 = 35076;
369pub const SIOCATMARK: u32 = 35077;
370pub const SIOCGSTAMP_OLD: u32 = 35078;
371pub const SIOCGSTAMPNS_OLD: u32 = 35079;
372pub const SOL_SOCKET: u32 = 1;
373pub const SO_DEBUG: u32 = 1;
374pub const SO_REUSEADDR: u32 = 2;
375pub const SO_TYPE: u32 = 3;
376pub const SO_ERROR: u32 = 4;
377pub const SO_DONTROUTE: u32 = 5;
378pub const SO_BROADCAST: u32 = 6;
379pub const SO_SNDBUF: u32 = 7;
380pub const SO_RCVBUF: u32 = 8;
381pub const SO_SNDBUFFORCE: u32 = 32;
382pub const SO_RCVBUFFORCE: u32 = 33;
383pub const SO_KEEPALIVE: u32 = 9;
384pub const SO_OOBINLINE: u32 = 10;
385pub const SO_NO_CHECK: u32 = 11;
386pub const SO_PRIORITY: u32 = 12;
387pub const SO_LINGER: u32 = 13;
388pub const SO_BSDCOMPAT: u32 = 14;
389pub const SO_REUSEPORT: u32 = 15;
390pub const SO_PASSCRED: u32 = 16;
391pub const SO_PEERCRED: u32 = 17;
392pub const SO_RCVLOWAT: u32 = 18;
393pub const SO_SNDLOWAT: u32 = 19;
394pub const SO_RCVTIMEO_OLD: u32 = 20;
395pub const SO_SNDTIMEO_OLD: u32 = 21;
396pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
397pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
398pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
399pub const SO_BINDTODEVICE: u32 = 25;
400pub const SO_ATTACH_FILTER: u32 = 26;
401pub const SO_DETACH_FILTER: u32 = 27;
402pub const SO_GET_FILTER: u32 = 26;
403pub const SO_PEERNAME: u32 = 28;
404pub const SO_ACCEPTCONN: u32 = 30;
405pub const SO_PEERSEC: u32 = 31;
406pub const SO_PASSSEC: u32 = 34;
407pub const SO_MARK: u32 = 36;
408pub const SO_PROTOCOL: u32 = 38;
409pub const SO_DOMAIN: u32 = 39;
410pub const SO_RXQ_OVFL: u32 = 40;
411pub const SO_WIFI_STATUS: u32 = 41;
412pub const SCM_WIFI_STATUS: u32 = 41;
413pub const SO_PEEK_OFF: u32 = 42;
414pub const SO_NOFCS: u32 = 43;
415pub const SO_LOCK_FILTER: u32 = 44;
416pub const SO_SELECT_ERR_QUEUE: u32 = 45;
417pub const SO_BUSY_POLL: u32 = 46;
418pub const SO_MAX_PACING_RATE: u32 = 47;
419pub const SO_BPF_EXTENSIONS: u32 = 48;
420pub const SO_INCOMING_CPU: u32 = 49;
421pub const SO_ATTACH_BPF: u32 = 50;
422pub const SO_DETACH_BPF: u32 = 27;
423pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
424pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
425pub const SO_CNX_ADVICE: u32 = 53;
426pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
427pub const SO_MEMINFO: u32 = 55;
428pub const SO_INCOMING_NAPI_ID: u32 = 56;
429pub const SO_COOKIE: u32 = 57;
430pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
431pub const SO_PEERGROUPS: u32 = 59;
432pub const SO_ZEROCOPY: u32 = 60;
433pub const SO_TXTIME: u32 = 61;
434pub const SCM_TXTIME: u32 = 61;
435pub const SO_BINDTOIFINDEX: u32 = 62;
436pub const SO_TIMESTAMP_OLD: u32 = 29;
437pub const SO_TIMESTAMPNS_OLD: u32 = 35;
438pub const SO_TIMESTAMPING_OLD: u32 = 37;
439pub const SO_TIMESTAMP_NEW: u32 = 63;
440pub const SO_TIMESTAMPNS_NEW: u32 = 64;
441pub const SO_TIMESTAMPING_NEW: u32 = 65;
442pub const SO_RCVTIMEO_NEW: u32 = 66;
443pub const SO_SNDTIMEO_NEW: u32 = 67;
444pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
445pub const SO_PREFER_BUSY_POLL: u32 = 69;
446pub const SO_BUSY_POLL_BUDGET: u32 = 70;
447pub const SO_NETNS_COOKIE: u32 = 71;
448pub const SO_BUF_LOCK: u32 = 72;
449pub const SO_RESERVE_MEM: u32 = 73;
450pub const SO_TXREHASH: u32 = 74;
451pub const SO_RCVMARK: u32 = 75;
452pub const SO_PASSPIDFD: u32 = 76;
453pub const SO_PEERPIDFD: u32 = 77;
454pub const SO_TIMESTAMP: u32 = 29;
455pub const SO_TIMESTAMPNS: u32 = 35;
456pub const SO_TIMESTAMPING: u32 = 37;
457pub const SO_RCVTIMEO: u32 = 20;
458pub const SO_SNDTIMEO: u32 = 21;
459pub const SCM_TIMESTAMP: u32 = 29;
460pub const SCM_TIMESTAMPNS: u32 = 35;
461pub const SCM_TIMESTAMPING: u32 = 37;
462pub const SOCK_IOC_TYPE: u32 = 137;
463pub const SIOCGSTAMP: u32 = 35078;
464pub const SIOCGSTAMPNS: u32 = 35079;
465pub const SIOCADDRT: u32 = 35083;
466pub const SIOCDELRT: u32 = 35084;
467pub const SIOCRTMSG: u32 = 35085;
468pub const SIOCGIFNAME: u32 = 35088;
469pub const SIOCSIFLINK: u32 = 35089;
470pub const SIOCGIFCONF: u32 = 35090;
471pub const SIOCGIFFLAGS: u32 = 35091;
472pub const SIOCSIFFLAGS: u32 = 35092;
473pub const SIOCGIFADDR: u32 = 35093;
474pub const SIOCSIFADDR: u32 = 35094;
475pub const SIOCGIFDSTADDR: u32 = 35095;
476pub const SIOCSIFDSTADDR: u32 = 35096;
477pub const SIOCGIFBRDADDR: u32 = 35097;
478pub const SIOCSIFBRDADDR: u32 = 35098;
479pub const SIOCGIFNETMASK: u32 = 35099;
480pub const SIOCSIFNETMASK: u32 = 35100;
481pub const SIOCGIFMETRIC: u32 = 35101;
482pub const SIOCSIFMETRIC: u32 = 35102;
483pub const SIOCGIFMEM: u32 = 35103;
484pub const SIOCSIFMEM: u32 = 35104;
485pub const SIOCGIFMTU: u32 = 35105;
486pub const SIOCSIFMTU: u32 = 35106;
487pub const SIOCSIFNAME: u32 = 35107;
488pub const SIOCSIFHWADDR: u32 = 35108;
489pub const SIOCGIFENCAP: u32 = 35109;
490pub const SIOCSIFENCAP: u32 = 35110;
491pub const SIOCGIFHWADDR: u32 = 35111;
492pub const SIOCGIFSLAVE: u32 = 35113;
493pub const SIOCSIFSLAVE: u32 = 35120;
494pub const SIOCADDMULTI: u32 = 35121;
495pub const SIOCDELMULTI: u32 = 35122;
496pub const SIOCGIFINDEX: u32 = 35123;
497pub const SIOGIFINDEX: u32 = 35123;
498pub const SIOCSIFPFLAGS: u32 = 35124;
499pub const SIOCGIFPFLAGS: u32 = 35125;
500pub const SIOCDIFADDR: u32 = 35126;
501pub const SIOCSIFHWBROADCAST: u32 = 35127;
502pub const SIOCGIFCOUNT: u32 = 35128;
503pub const SIOCGIFBR: u32 = 35136;
504pub const SIOCSIFBR: u32 = 35137;
505pub const SIOCGIFTXQLEN: u32 = 35138;
506pub const SIOCSIFTXQLEN: u32 = 35139;
507pub const SIOCETHTOOL: u32 = 35142;
508pub const SIOCGMIIPHY: u32 = 35143;
509pub const SIOCGMIIREG: u32 = 35144;
510pub const SIOCSMIIREG: u32 = 35145;
511pub const SIOCWANDEV: u32 = 35146;
512pub const SIOCOUTQNSD: u32 = 35147;
513pub const SIOCGSKNS: u32 = 35148;
514pub const SIOCDARP: u32 = 35155;
515pub const SIOCGARP: u32 = 35156;
516pub const SIOCSARP: u32 = 35157;
517pub const SIOCDRARP: u32 = 35168;
518pub const SIOCGRARP: u32 = 35169;
519pub const SIOCSRARP: u32 = 35170;
520pub const SIOCGIFMAP: u32 = 35184;
521pub const SIOCSIFMAP: u32 = 35185;
522pub const SIOCADDDLCI: u32 = 35200;
523pub const SIOCDELDLCI: u32 = 35201;
524pub const SIOCGIFVLAN: u32 = 35202;
525pub const SIOCSIFVLAN: u32 = 35203;
526pub const SIOCBONDENSLAVE: u32 = 35216;
527pub const SIOCBONDRELEASE: u32 = 35217;
528pub const SIOCBONDSETHWADDR: u32 = 35218;
529pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
530pub const SIOCBONDINFOQUERY: u32 = 35220;
531pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
532pub const SIOCBRADDBR: u32 = 35232;
533pub const SIOCBRDELBR: u32 = 35233;
534pub const SIOCBRADDIF: u32 = 35234;
535pub const SIOCBRDELIF: u32 = 35235;
536pub const SIOCSHWTSTAMP: u32 = 35248;
537pub const SIOCGHWTSTAMP: u32 = 35249;
538pub const SIOCDEVPRIVATE: u32 = 35312;
539pub const SIOCPROTOPRIVATE: u32 = 35296;
540pub const UIO_FASTIOV: u32 = 8;
541pub const UIO_MAXIOV: u32 = 1024;
542pub const SOCK_STREAM: u32 = 1;
543pub const SOCK_DGRAM: u32 = 2;
544pub const SOCK_RAW: u32 = 3;
545pub const SOCK_RDM: u32 = 4;
546pub const SOCK_SEQPACKET: u32 = 5;
547pub const SOCK_DCCP: u32 = 6;
548pub const SOCK_PACKET: u32 = 10;
549pub const SOCK_CLOEXEC: u32 = 524288;
550pub const SOCK_NONBLOCK: u32 = 2048;
551pub const SCM_RIGHTS: u32 = 1;
552pub const SCM_CREDENTIALS: u32 = 2;
553pub const SCM_SECURITY: u32 = 3;
554pub const AF_UNSPEC: u32 = 0;
555pub const AF_UNIX: u32 = 1;
556pub const AF_LOCAL: u32 = 1;
557pub const AF_INET: u32 = 2;
558pub const AF_AX25: u32 = 3;
559pub const AF_IPX: u32 = 4;
560pub const AF_APPLETALK: u32 = 5;
561pub const AF_NETROM: u32 = 6;
562pub const AF_BRIDGE: u32 = 7;
563pub const AF_ATMPVC: u32 = 8;
564pub const AF_X25: u32 = 9;
565pub const AF_INET6: u32 = 10;
566pub const AF_ROSE: u32 = 11;
567pub const AF_DECnet: u32 = 12;
568pub const AF_NETBEUI: u32 = 13;
569pub const AF_SECURITY: u32 = 14;
570pub const AF_KEY: u32 = 15;
571pub const AF_NETLINK: u32 = 16;
572pub const AF_ROUTE: u32 = 16;
573pub const AF_PACKET: u32 = 17;
574pub const AF_ASH: u32 = 18;
575pub const AF_ECONET: u32 = 19;
576pub const AF_ATMSVC: u32 = 20;
577pub const AF_RDS: u32 = 21;
578pub const AF_SNA: u32 = 22;
579pub const AF_IRDA: u32 = 23;
580pub const AF_PPPOX: u32 = 24;
581pub const AF_WANPIPE: u32 = 25;
582pub const AF_LLC: u32 = 26;
583pub const AF_CAN: u32 = 29;
584pub const AF_TIPC: u32 = 30;
585pub const AF_BLUETOOTH: u32 = 31;
586pub const AF_IUCV: u32 = 32;
587pub const AF_RXRPC: u32 = 33;
588pub const AF_ISDN: u32 = 34;
589pub const AF_PHONET: u32 = 35;
590pub const AF_IEEE802154: u32 = 36;
591pub const AF_CAIF: u32 = 37;
592pub const AF_ALG: u32 = 38;
593pub const AF_NFC: u32 = 39;
594pub const AF_VSOCK: u32 = 40;
595pub const AF_KCM: u32 = 41;
596pub const AF_QIPCRTR: u32 = 42;
597pub const AF_MAX: u32 = 43;
598pub const PF_UNSPEC: u32 = 0;
599pub const PF_UNIX: u32 = 1;
600pub const PF_LOCAL: u32 = 1;
601pub const PF_INET: u32 = 2;
602pub const PF_AX25: u32 = 3;
603pub const PF_IPX: u32 = 4;
604pub const PF_APPLETALK: u32 = 5;
605pub const PF_NETROM: u32 = 6;
606pub const PF_BRIDGE: u32 = 7;
607pub const PF_ATMPVC: u32 = 8;
608pub const PF_X25: u32 = 9;
609pub const PF_INET6: u32 = 10;
610pub const PF_ROSE: u32 = 11;
611pub const PF_DECnet: u32 = 12;
612pub const PF_NETBEUI: u32 = 13;
613pub const PF_SECURITY: u32 = 14;
614pub const PF_KEY: u32 = 15;
615pub const PF_NETLINK: u32 = 16;
616pub const PF_ROUTE: u32 = 16;
617pub const PF_PACKET: u32 = 17;
618pub const PF_ASH: u32 = 18;
619pub const PF_ECONET: u32 = 19;
620pub const PF_ATMSVC: u32 = 20;
621pub const PF_RDS: u32 = 21;
622pub const PF_SNA: u32 = 22;
623pub const PF_IRDA: u32 = 23;
624pub const PF_PPPOX: u32 = 24;
625pub const PF_WANPIPE: u32 = 25;
626pub const PF_LLC: u32 = 26;
627pub const PF_CAN: u32 = 29;
628pub const PF_TIPC: u32 = 30;
629pub const PF_BLUETOOTH: u32 = 31;
630pub const PF_IUCV: u32 = 32;
631pub const PF_RXRPC: u32 = 33;
632pub const PF_ISDN: u32 = 34;
633pub const PF_PHONET: u32 = 35;
634pub const PF_IEEE802154: u32 = 36;
635pub const PF_CAIF: u32 = 37;
636pub const PF_ALG: u32 = 38;
637pub const PF_NFC: u32 = 39;
638pub const PF_VSOCK: u32 = 40;
639pub const PF_KCM: u32 = 41;
640pub const PF_QIPCRTR: u32 = 42;
641pub const PF_MAX: u32 = 43;
642pub const SOMAXCONN: u32 = 128;
643pub const MSG_OOB: u32 = 1;
644pub const MSG_PEEK: u32 = 2;
645pub const MSG_DONTROUTE: u32 = 4;
646pub const MSG_TRYHARD: u32 = 4;
647pub const MSG_CTRUNC: u32 = 8;
648pub const MSG_PROBE: u32 = 16;
649pub const MSG_TRUNC: u32 = 32;
650pub const MSG_DONTWAIT: u32 = 64;
651pub const MSG_EOR: u32 = 128;
652pub const MSG_WAITALL: u32 = 256;
653pub const MSG_FIN: u32 = 512;
654pub const MSG_SYN: u32 = 1024;
655pub const MSG_CONFIRM: u32 = 2048;
656pub const MSG_RST: u32 = 4096;
657pub const MSG_ERRQUEUE: u32 = 8192;
658pub const MSG_NOSIGNAL: u32 = 16384;
659pub const MSG_MORE: u32 = 32768;
660pub const MSG_WAITFORONE: u32 = 65536;
661pub const MSG_BATCH: u32 = 262144;
662pub const MSG_FASTOPEN: u32 = 536870912;
663pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
664pub const MSG_EOF: u32 = 512;
665pub const MSG_CMSG_COMPAT: u32 = 0;
666pub const SOL_IP: u32 = 0;
667pub const SOL_TCP: u32 = 6;
668pub const SOL_UDP: u32 = 17;
669pub const SOL_IPV6: u32 = 41;
670pub const SOL_ICMPV6: u32 = 58;
671pub const SOL_SCTP: u32 = 132;
672pub const SOL_RAW: u32 = 255;
673pub const SOL_IPX: u32 = 256;
674pub const SOL_AX25: u32 = 257;
675pub const SOL_ATALK: u32 = 258;
676pub const SOL_NETROM: u32 = 259;
677pub const SOL_ROSE: u32 = 260;
678pub const SOL_DECNET: u32 = 261;
679pub const SOL_X25: u32 = 262;
680pub const SOL_PACKET: u32 = 263;
681pub const SOL_ATM: u32 = 264;
682pub const SOL_AAL: u32 = 265;
683pub const SOL_IRDA: u32 = 266;
684pub const SOL_NETBEUI: u32 = 267;
685pub const SOL_LLC: u32 = 268;
686pub const SOL_DCCP: u32 = 269;
687pub const SOL_NETLINK: u32 = 270;
688pub const SOL_TIPC: u32 = 271;
689pub const SOL_RXRPC: u32 = 272;
690pub const SOL_PPPOL2TP: u32 = 273;
691pub const SOL_BLUETOOTH: u32 = 274;
692pub const SOL_PNPIPE: u32 = 275;
693pub const SOL_RDS: u32 = 276;
694pub const SOL_IUCV: u32 = 277;
695pub const SOL_CAIF: u32 = 278;
696pub const SOL_ALG: u32 = 279;
697pub const SOL_NFC: u32 = 280;
698pub const SOL_KCM: u32 = 281;
699pub const SOL_TLS: u32 = 282;
700pub const IPX_TYPE: u32 = 1;
701pub const _PATH_HEQUIV: &[u8; 24] = b"/system/etc/hosts.equiv\0";
702pub const _PATH_HOSTS: &[u8; 18] = b"/system/etc/hosts\0";
703pub const _PATH_NETWORKS: &[u8; 21] = b"/system/etc/networks\0";
704pub const _PATH_PROTOCOLS: &[u8; 22] = b"/system/etc/protocols\0";
705pub const _PATH_SERVICES: &[u8; 21] = b"/system/etc/services\0";
706pub const NETDB_INTERNAL: i32 = -1;
707pub const NETDB_SUCCESS: u32 = 0;
708pub const HOST_NOT_FOUND: u32 = 1;
709pub const TRY_AGAIN: u32 = 2;
710pub const NO_RECOVERY: u32 = 3;
711pub const NO_DATA: u32 = 4;
712pub const NO_ADDRESS: u32 = 4;
713pub const EAI_ADDRFAMILY: u32 = 1;
714pub const EAI_AGAIN: u32 = 2;
715pub const EAI_BADFLAGS: u32 = 3;
716pub const EAI_FAIL: u32 = 4;
717pub const EAI_FAMILY: u32 = 5;
718pub const EAI_MEMORY: u32 = 6;
719pub const EAI_NODATA: u32 = 7;
720pub const EAI_NONAME: u32 = 8;
721pub const EAI_SERVICE: u32 = 9;
722pub const EAI_SOCKTYPE: u32 = 10;
723pub const EAI_SYSTEM: u32 = 11;
724pub const EAI_BADHINTS: u32 = 12;
725pub const EAI_PROTOCOL: u32 = 13;
726pub const EAI_OVERFLOW: u32 = 14;
727pub const EAI_MAX: u32 = 15;
728pub const AI_PASSIVE: u32 = 1;
729pub const AI_CANONNAME: u32 = 2;
730pub const AI_NUMERICHOST: u32 = 4;
731pub const AI_NUMERICSERV: u32 = 8;
732pub const AI_ALL: u32 = 256;
733pub const AI_V4MAPPED_CFG: u32 = 512;
734pub const AI_ADDRCONFIG: u32 = 1024;
735pub const AI_V4MAPPED: u32 = 2048;
736pub const AI_DEFAULT: u32 = 1536;
737pub const NI_MAXHOST: u32 = 1025;
738pub const NI_MAXSERV: u32 = 32;
739pub const NI_NOFQDN: u32 = 1;
740pub const NI_NUMERICHOST: u32 = 2;
741pub const NI_NAMEREQD: u32 = 4;
742pub const NI_NUMERICSERV: u32 = 8;
743pub const NI_DGRAM: u32 = 16;
744pub const SCOPE_DELIMITER: u8 = 37u8;
745pub const IPPORT_RESERVED: u32 = 1024;
746pub const WNOHANG: u32 = 1;
747pub const WUNTRACED: u32 = 2;
748pub const WSTOPPED: u32 = 2;
749pub const WEXITED: u32 = 4;
750pub const WCONTINUED: u32 = 8;
751pub const WNOWAIT: u32 = 16777216;
752pub const __WNOTHREAD: u32 = 536870912;
753pub const __WALL: u32 = 1073741824;
754pub const __WCLONE: u32 = 2147483648;
755pub const P_ALL: u32 = 0;
756pub const P_PID: u32 = 1;
757pub const P_PGID: u32 = 2;
758pub const P_PIDFD: u32 = 3;
759pub const SEEK_SET: u32 = 0;
760pub const SEEK_CUR: u32 = 1;
761pub const SEEK_END: u32 = 2;
762pub const _IOFBF: u32 = 0;
763pub const _IOLBF: u32 = 1;
764pub const _IONBF: u32 = 2;
765pub const BUFSIZ: u32 = 1024;
766pub const EOF: i32 = -1;
767pub const FOPEN_MAX: u32 = 20;
768pub const FILENAME_MAX: u32 = 4096;
769pub const L_tmpnam: u32 = 4096;
770pub const TMP_MAX: u32 = 308915776;
771pub const P_tmpdir: &[u8; 6] = b"/tmp/\0";
772pub const L_ctermid: u32 = 1024;
773pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
774pub const M_DECAY_TIME: i32 = -100;
775pub const M_PURGE: i32 = -101;
776pub const M_PURGE_ALL: i32 = -104;
777pub const M_MEMTAG_TUNING: i32 = -102;
778pub const M_MEMTAG_TUNING_BUFFER_OVERFLOW: u32 = 0;
779pub const M_MEMTAG_TUNING_UAF: u32 = 1;
780pub const M_THREAD_DISABLE_MEM_INIT: i32 = -103;
781pub const M_CACHE_COUNT_MAX: i32 = -200;
782pub const M_CACHE_SIZE_MAX: i32 = -201;
783pub const M_TSDS_COUNT_MAX: i32 = -202;
784pub const M_BIONIC_ZERO_INIT: i32 = -203;
785pub const M_BIONIC_SET_HEAP_TAGGING_LEVEL: i32 = -204;
786pub const M_LOG_STATS: i32 = -205;
787pub const EXIT_FAILURE: u32 = 1;
788pub const EXIT_SUCCESS: u32 = 0;
789pub const RAND_MAX: u32 = 2147483647;
790pub const __NNAPI_FL5_MIN_ANDROID_API__: u32 = 31;
791pub const ITIMER_REAL: u32 = 0;
792pub const ITIMER_VIRTUAL: u32 = 1;
793pub const ITIMER_PROF: u32 = 2;
794pub const CLOCK_REALTIME: u32 = 0;
795pub const CLOCK_MONOTONIC: u32 = 1;
796pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
797pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
798pub const CLOCK_MONOTONIC_RAW: u32 = 4;
799pub const CLOCK_REALTIME_COARSE: u32 = 5;
800pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
801pub const CLOCK_BOOTTIME: u32 = 7;
802pub const CLOCK_REALTIME_ALARM: u32 = 8;
803pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
804pub const CLOCK_SGI_CYCLE: u32 = 10;
805pub const CLOCK_TAI: u32 = 11;
806pub const MAX_CLOCKS: u32 = 16;
807pub const CLOCKS_MASK: u32 = 1;
808pub const CLOCKS_MONO: u32 = 1;
809pub const TIMER_ABSTIME: u32 = 1;
810pub const FP_XSTATE_MAGIC1: u32 = 1179670611;
811pub const FP_XSTATE_MAGIC2: u32 = 1179670597;
812pub const X86_FXSR_MAGIC: u32 = 0;
813pub const NR_OPEN: u32 = 1024;
814pub const NGROUPS_MAX: u32 = 65536;
815pub const ARG_MAX: u32 = 131072;
816pub const LINK_MAX: u32 = 127;
817pub const MAX_CANON: u32 = 255;
818pub const MAX_INPUT: u32 = 255;
819pub const NAME_MAX: u32 = 255;
820pub const PATH_MAX: u32 = 4096;
821pub const PIPE_BUF: u32 = 4096;
822pub const XATTR_NAME_MAX: u32 = 255;
823pub const XATTR_SIZE_MAX: u32 = 65536;
824pub const XATTR_LIST_MAX: u32 = 65536;
825pub const RTSIG_MAX: u32 = 32;
826pub const PASS_MAX: u32 = 128;
827pub const NL_ARGMAX: u32 = 9;
828pub const NL_LANGMAX: u32 = 14;
829pub const NL_MSGMAX: u32 = 32767;
830pub const NL_NMAX: u32 = 1;
831pub const NL_SETMAX: u32 = 255;
832pub const NL_TEXTMAX: u32 = 255;
833pub const CHAR_BIT: u32 = 8;
834pub const LONG_BIT: u32 = 64;
835pub const WORD_BIT: u32 = 32;
836pub const SCHAR_MAX: u32 = 127;
837pub const SCHAR_MIN: i32 = -128;
838pub const UCHAR_MAX: u32 = 255;
839pub const CHAR_MAX: u32 = 127;
840pub const CHAR_MIN: i32 = -128;
841pub const USHRT_MAX: u32 = 65535;
842pub const SHRT_MAX: u32 = 32767;
843pub const SHRT_MIN: i32 = -32768;
844pub const UINT_MAX: u32 = 4294967295;
845pub const INT_MAX: u32 = 2147483647;
846pub const INT_MIN: i32 = -2147483648;
847pub const ULONG_MAX: i32 = -1;
848pub const LONG_MAX: u64 = 9223372036854775807;
849pub const LONG_MIN: i64 = -9223372036854775808;
850pub const ULLONG_MAX: i32 = -1;
851pub const LLONG_MAX: u64 = 9223372036854775807;
852pub const LLONG_MIN: i64 = -9223372036854775808;
853pub const LONG_LONG_MIN: i64 = -9223372036854775808;
854pub const LONG_LONG_MAX: u64 = 9223372036854775807;
855pub const ULONG_LONG_MAX: i32 = -1;
856pub const UID_MAX: u32 = 4294967295;
857pub const GID_MAX: u32 = 4294967295;
858pub const SIZE_T_MAX: i32 = -1;
859pub const SSIZE_MAX: u64 = 9223372036854775807;
860pub const MB_LEN_MAX: u32 = 4;
861pub const NZERO: u32 = 20;
862pub const IOV_MAX: u32 = 1024;
863pub const SEM_VALUE_MAX: u32 = 1073741823;
864pub const _POSIX_VERSION: u32 = 200809;
865pub const _POSIX2_VERSION: u32 = 200809;
866pub const _XOPEN_VERSION: u32 = 700;
867pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
868pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
869pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
870pub const _POSIX_CPUTIME: u32 = 200809;
871pub const _POSIX_FSYNC: u32 = 200809;
872pub const _POSIX_IPV6: u32 = 200809;
873pub const _POSIX_MAPPED_FILES: u32 = 200809;
874pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
875pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
876pub const _POSIX_MESSAGE_PASSING: i32 = -1;
877pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
878pub const _POSIX_NO_TRUNC: u32 = 1;
879pub const _POSIX_PRIORITIZED_IO: i32 = -1;
880pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
881pub const _POSIX_RAW_SOCKETS: u32 = 200809;
882pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
883pub const _POSIX_REGEXP: u32 = 1;
884pub const _POSIX_SAVED_IDS: u32 = 1;
885pub const _POSIX_SEMAPHORES: u32 = 200809;
886pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
887pub const _POSIX_SHELL: u32 = 1;
888pub const _POSIX_SPORADIC_SERVER: i32 = -1;
889pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
890pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
891pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
892pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
893pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
894pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
895pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
896pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
897pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
898pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
899pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
900pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
901pub const _POSIX_THREADS: u32 = 200809;
902pub const _POSIX_TIMERS: u32 = 200809;
903pub const _POSIX_TRACE: i32 = -1;
904pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
905pub const _POSIX_TRACE_INHERIT: i32 = -1;
906pub const _POSIX_TRACE_LOG: i32 = -1;
907pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
908pub const _POSIX_VDISABLE: u8 = 0u8;
909pub const _POSIX2_C_BIND: u32 = 200809;
910pub const _POSIX2_C_DEV: i32 = -1;
911pub const _POSIX2_CHAR_TERM: u32 = 200809;
912pub const _POSIX2_FORT_DEV: i32 = -1;
913pub const _POSIX2_FORT_RUN: i32 = -1;
914pub const _POSIX2_LOCALEDEF: i32 = -1;
915pub const _POSIX2_SW_DEV: i32 = -1;
916pub const _POSIX2_UPE: i32 = -1;
917pub const _POSIX_V7_ILP32_OFF32: i32 = -1;
918pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
919pub const _POSIX_V7_LP64_OFF64: u32 = 1;
920pub const _POSIX_V7_LPBIG_OFFBIG: u32 = 1;
921pub const _XOPEN_CRYPT: i32 = -1;
922pub const _XOPEN_ENH_I18N: u32 = 1;
923pub const _XOPEN_LEGACY: i32 = -1;
924pub const _XOPEN_REALTIME: u32 = 1;
925pub const _XOPEN_REALTIME_THREADS: u32 = 1;
926pub const _XOPEN_SHM: u32 = 1;
927pub const _XOPEN_STREAMS: i32 = -1;
928pub const _XOPEN_UNIX: u32 = 1;
929pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
930pub const _POSIX_AIO_MAX: u32 = 1;
931pub const _POSIX_ARG_MAX: u32 = 4096;
932pub const _POSIX_CHILD_MAX: u32 = 25;
933pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
934pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
935pub const _POSIX_HOST_NAME_MAX: u32 = 255;
936pub const _POSIX_LINK_MAX: u32 = 8;
937pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
938pub const _POSIX_MAX_CANON: u32 = 255;
939pub const _POSIX_MAX_INPUT: u32 = 255;
940pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
941pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
942pub const _POSIX_NAME_MAX: u32 = 14;
943pub const _POSIX_NGROUPS_MAX: u32 = 8;
944pub const _POSIX_OPEN_MAX: u32 = 20;
945pub const _POSIX_PATH_MAX: u32 = 256;
946pub const _POSIX_PIPE_BUF: u32 = 512;
947pub const _POSIX_RE_DUP_MAX: u32 = 255;
948pub const _POSIX_RTSIG_MAX: u32 = 8;
949pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
950pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
951pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
952pub const _POSIX_SSIZE_MAX: u32 = 32767;
953pub const _POSIX_STREAM_MAX: u32 = 8;
954pub const _POSIX_SS_REPL_MAX: u32 = 4;
955pub const _POSIX_SYMLINK_MAX: u32 = 255;
956pub const _POSIX_SYMLOOP_MAX: u32 = 8;
957pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
958pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
959pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
960pub const _POSIX_TIMER_MAX: u32 = 32;
961pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
962pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
963pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
964pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
965pub const _POSIX_TTY_NAME_MAX: u32 = 9;
966pub const _POSIX_TZNAME_MAX: u32 = 6;
967pub const _POSIX2_BC_BASE_MAX: u32 = 99;
968pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
969pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
970pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
971pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
972pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
973pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
974pub const _POSIX2_LINE_MAX: u32 = 2048;
975pub const _POSIX2_RE_DUP_MAX: u32 = 255;
976pub const _XOPEN_IOV_MAX: u32 = 16;
977pub const _XOPEN_NAME_MAX: u32 = 255;
978pub const _XOPEN_PATH_MAX: u32 = 1024;
979pub const HOST_NAME_MAX: u32 = 255;
980pub const LOGIN_NAME_MAX: u32 = 256;
981pub const TTY_NAME_MAX: u32 = 32;
982pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
983pub const PTHREAD_KEYS_MAX: u32 = 128;
984pub const _KERNEL_NSIG: u32 = 32;
985pub const SIGHUP: u32 = 1;
986pub const SIGINT: u32 = 2;
987pub const SIGQUIT: u32 = 3;
988pub const SIGILL: u32 = 4;
989pub const SIGTRAP: u32 = 5;
990pub const SIGABRT: u32 = 6;
991pub const SIGIOT: u32 = 6;
992pub const SIGBUS: u32 = 7;
993pub const SIGFPE: u32 = 8;
994pub const SIGKILL: u32 = 9;
995pub const SIGUSR1: u32 = 10;
996pub const SIGSEGV: u32 = 11;
997pub const SIGUSR2: u32 = 12;
998pub const SIGPIPE: u32 = 13;
999pub const SIGALRM: u32 = 14;
1000pub const SIGTERM: u32 = 15;
1001pub const SIGSTKFLT: u32 = 16;
1002pub const SIGCHLD: u32 = 17;
1003pub const SIGCONT: u32 = 18;
1004pub const SIGSTOP: u32 = 19;
1005pub const SIGTSTP: u32 = 20;
1006pub const SIGTTIN: u32 = 21;
1007pub const SIGTTOU: u32 = 22;
1008pub const SIGURG: u32 = 23;
1009pub const SIGXCPU: u32 = 24;
1010pub const SIGXFSZ: u32 = 25;
1011pub const SIGVTALRM: u32 = 26;
1012pub const SIGPROF: u32 = 27;
1013pub const SIGWINCH: u32 = 28;
1014pub const SIGIO: u32 = 29;
1015pub const SIGPOLL: u32 = 29;
1016pub const SIGPWR: u32 = 30;
1017pub const SIGSYS: u32 = 31;
1018pub const SIGUNUSED: u32 = 31;
1019pub const __SIGRTMIN: u32 = 32;
1020pub const SA_RESTORER: u32 = 67108864;
1021pub const MINSIGSTKSZ: u32 = 2048;
1022pub const SIGSTKSZ: u32 = 8192;
1023pub const SA_NOCLDSTOP: u32 = 1;
1024pub const SA_NOCLDWAIT: u32 = 2;
1025pub const SA_SIGINFO: u32 = 4;
1026pub const SA_UNSUPPORTED: u32 = 1024;
1027pub const SA_EXPOSE_TAGBITS: u32 = 2048;
1028pub const SA_ONSTACK: u32 = 134217728;
1029pub const SA_RESTART: u32 = 268435456;
1030pub const SA_NODEFER: u32 = 1073741824;
1031pub const SA_RESETHAND: u32 = 2147483648;
1032pub const SA_NOMASK: u32 = 1073741824;
1033pub const SA_ONESHOT: u32 = 2147483648;
1034pub const SIG_BLOCK: u32 = 0;
1035pub const SIG_UNBLOCK: u32 = 1;
1036pub const SIG_SETMASK: u32 = 2;
1037pub const SI_MAX_SIZE: u32 = 128;
1038pub const SI_USER: u32 = 0;
1039pub const SI_KERNEL: u32 = 128;
1040pub const SI_QUEUE: i32 = -1;
1041pub const SI_TIMER: i32 = -2;
1042pub const SI_MESGQ: i32 = -3;
1043pub const SI_ASYNCIO: i32 = -4;
1044pub const SI_SIGIO: i32 = -5;
1045pub const SI_TKILL: i32 = -6;
1046pub const SI_DETHREAD: i32 = -7;
1047pub const SI_ASYNCNL: i32 = -60;
1048pub const ILL_ILLOPC: u32 = 1;
1049pub const ILL_ILLOPN: u32 = 2;
1050pub const ILL_ILLADR: u32 = 3;
1051pub const ILL_ILLTRP: u32 = 4;
1052pub const ILL_PRVOPC: u32 = 5;
1053pub const ILL_PRVREG: u32 = 6;
1054pub const ILL_COPROC: u32 = 7;
1055pub const ILL_BADSTK: u32 = 8;
1056pub const ILL_BADIADDR: u32 = 9;
1057pub const __ILL_BREAK: u32 = 10;
1058pub const __ILL_BNDMOD: u32 = 11;
1059pub const NSIGILL: u32 = 11;
1060pub const FPE_INTDIV: u32 = 1;
1061pub const FPE_INTOVF: u32 = 2;
1062pub const FPE_FLTDIV: u32 = 3;
1063pub const FPE_FLTOVF: u32 = 4;
1064pub const FPE_FLTUND: u32 = 5;
1065pub const FPE_FLTRES: u32 = 6;
1066pub const FPE_FLTINV: u32 = 7;
1067pub const FPE_FLTSUB: u32 = 8;
1068pub const __FPE_DECOVF: u32 = 9;
1069pub const __FPE_DECDIV: u32 = 10;
1070pub const __FPE_DECERR: u32 = 11;
1071pub const __FPE_INVASC: u32 = 12;
1072pub const __FPE_INVDEC: u32 = 13;
1073pub const FPE_FLTUNK: u32 = 14;
1074pub const FPE_CONDTRAP: u32 = 15;
1075pub const NSIGFPE: u32 = 15;
1076pub const SEGV_MAPERR: u32 = 1;
1077pub const SEGV_ACCERR: u32 = 2;
1078pub const SEGV_BNDERR: u32 = 3;
1079pub const SEGV_PKUERR: u32 = 4;
1080pub const SEGV_ACCADI: u32 = 5;
1081pub const SEGV_ADIDERR: u32 = 6;
1082pub const SEGV_ADIPERR: u32 = 7;
1083pub const SEGV_MTEAERR: u32 = 8;
1084pub const SEGV_MTESERR: u32 = 9;
1085pub const SEGV_CPERR: u32 = 10;
1086pub const NSIGSEGV: u32 = 10;
1087pub const BUS_ADRALN: u32 = 1;
1088pub const BUS_ADRERR: u32 = 2;
1089pub const BUS_OBJERR: u32 = 3;
1090pub const BUS_MCEERR_AR: u32 = 4;
1091pub const BUS_MCEERR_AO: u32 = 5;
1092pub const NSIGBUS: u32 = 5;
1093pub const TRAP_BRKPT: u32 = 1;
1094pub const TRAP_TRACE: u32 = 2;
1095pub const TRAP_BRANCH: u32 = 3;
1096pub const TRAP_HWBKPT: u32 = 4;
1097pub const TRAP_UNK: u32 = 5;
1098pub const TRAP_PERF: u32 = 6;
1099pub const NSIGTRAP: u32 = 6;
1100pub const TRAP_PERF_FLAG_ASYNC: u32 = 1;
1101pub const CLD_EXITED: u32 = 1;
1102pub const CLD_KILLED: u32 = 2;
1103pub const CLD_DUMPED: u32 = 3;
1104pub const CLD_TRAPPED: u32 = 4;
1105pub const CLD_STOPPED: u32 = 5;
1106pub const CLD_CONTINUED: u32 = 6;
1107pub const NSIGCHLD: u32 = 6;
1108pub const POLL_IN: u32 = 1;
1109pub const POLL_OUT: u32 = 2;
1110pub const POLL_MSG: u32 = 3;
1111pub const POLL_ERR: u32 = 4;
1112pub const POLL_PRI: u32 = 5;
1113pub const POLL_HUP: u32 = 6;
1114pub const NSIGPOLL: u32 = 6;
1115pub const SYS_SECCOMP: u32 = 1;
1116pub const SYS_USER_DISPATCH: u32 = 2;
1117pub const NSIGSYS: u32 = 2;
1118pub const EMT_TAGOVF: u32 = 1;
1119pub const NSIGEMT: u32 = 1;
1120pub const SIGEV_SIGNAL: u32 = 0;
1121pub const SIGEV_NONE: u32 = 1;
1122pub const SIGEV_THREAD: u32 = 2;
1123pub const SIGEV_THREAD_ID: u32 = 4;
1124pub const SIGEV_MAX_SIZE: u32 = 64;
1125pub const SS_ONSTACK: u32 = 1;
1126pub const SS_DISABLE: u32 = 2;
1127pub const SS_AUTODISARM: u32 = 2147483648;
1128pub const SS_FLAG_BITS: u32 = 2147483648;
1129pub const _KERNEL__NSIG: u32 = 64;
1130pub const _NSIG: u32 = 65;
1131pub const NSIG: u32 = 65;
1132pub const FD_SETSIZE: u32 = 1024;
1133pub const F_ULOCK: u32 = 0;
1134pub const F_LOCK: u32 = 1;
1135pub const F_TLOCK: u32 = 2;
1136pub const F_TEST: u32 = 3;
1137pub const _SC_ARG_MAX: u32 = 0;
1138pub const _SC_BC_BASE_MAX: u32 = 1;
1139pub const _SC_BC_DIM_MAX: u32 = 2;
1140pub const _SC_BC_SCALE_MAX: u32 = 3;
1141pub const _SC_BC_STRING_MAX: u32 = 4;
1142pub const _SC_CHILD_MAX: u32 = 5;
1143pub const _SC_CLK_TCK: u32 = 6;
1144pub const _SC_COLL_WEIGHTS_MAX: u32 = 7;
1145pub const _SC_EXPR_NEST_MAX: u32 = 8;
1146pub const _SC_LINE_MAX: u32 = 9;
1147pub const _SC_NGROUPS_MAX: u32 = 10;
1148pub const _SC_OPEN_MAX: u32 = 11;
1149pub const _SC_PASS_MAX: u32 = 12;
1150pub const _SC_2_C_BIND: u32 = 13;
1151pub const _SC_2_C_DEV: u32 = 14;
1152pub const _SC_2_C_VERSION: u32 = 15;
1153pub const _SC_2_CHAR_TERM: u32 = 16;
1154pub const _SC_2_FORT_DEV: u32 = 17;
1155pub const _SC_2_FORT_RUN: u32 = 18;
1156pub const _SC_2_LOCALEDEF: u32 = 19;
1157pub const _SC_2_SW_DEV: u32 = 20;
1158pub const _SC_2_UPE: u32 = 21;
1159pub const _SC_2_VERSION: u32 = 22;
1160pub const _SC_JOB_CONTROL: u32 = 23;
1161pub const _SC_SAVED_IDS: u32 = 24;
1162pub const _SC_VERSION: u32 = 25;
1163pub const _SC_RE_DUP_MAX: u32 = 26;
1164pub const _SC_STREAM_MAX: u32 = 27;
1165pub const _SC_TZNAME_MAX: u32 = 28;
1166pub const _SC_XOPEN_CRYPT: u32 = 29;
1167pub const _SC_XOPEN_ENH_I18N: u32 = 30;
1168pub const _SC_XOPEN_SHM: u32 = 31;
1169pub const _SC_XOPEN_VERSION: u32 = 32;
1170pub const _SC_XOPEN_XCU_VERSION: u32 = 33;
1171pub const _SC_XOPEN_REALTIME: u32 = 34;
1172pub const _SC_XOPEN_REALTIME_THREADS: u32 = 35;
1173pub const _SC_XOPEN_LEGACY: u32 = 36;
1174pub const _SC_ATEXIT_MAX: u32 = 37;
1175pub const _SC_IOV_MAX: u32 = 38;
1176pub const _SC_UIO_MAXIOV: u32 = 38;
1177pub const _SC_PAGESIZE: u32 = 39;
1178pub const _SC_PAGE_SIZE: u32 = 40;
1179pub const _SC_XOPEN_UNIX: u32 = 41;
1180pub const _SC_XBS5_ILP32_OFF32: u32 = 42;
1181pub const _SC_XBS5_ILP32_OFFBIG: u32 = 43;
1182pub const _SC_XBS5_LP64_OFF64: u32 = 44;
1183pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 45;
1184pub const _SC_AIO_LISTIO_MAX: u32 = 46;
1185pub const _SC_AIO_MAX: u32 = 47;
1186pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 48;
1187pub const _SC_DELAYTIMER_MAX: u32 = 49;
1188pub const _SC_MQ_OPEN_MAX: u32 = 50;
1189pub const _SC_MQ_PRIO_MAX: u32 = 51;
1190pub const _SC_RTSIG_MAX: u32 = 52;
1191pub const _SC_SEM_NSEMS_MAX: u32 = 53;
1192pub const _SC_SEM_VALUE_MAX: u32 = 54;
1193pub const _SC_SIGQUEUE_MAX: u32 = 55;
1194pub const _SC_TIMER_MAX: u32 = 56;
1195pub const _SC_ASYNCHRONOUS_IO: u32 = 57;
1196pub const _SC_FSYNC: u32 = 58;
1197pub const _SC_MAPPED_FILES: u32 = 59;
1198pub const _SC_MEMLOCK: u32 = 60;
1199pub const _SC_MEMLOCK_RANGE: u32 = 61;
1200pub const _SC_MEMORY_PROTECTION: u32 = 62;
1201pub const _SC_MESSAGE_PASSING: u32 = 63;
1202pub const _SC_PRIORITIZED_IO: u32 = 64;
1203pub const _SC_PRIORITY_SCHEDULING: u32 = 65;
1204pub const _SC_REALTIME_SIGNALS: u32 = 66;
1205pub const _SC_SEMAPHORES: u32 = 67;
1206pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 68;
1207pub const _SC_SYNCHRONIZED_IO: u32 = 69;
1208pub const _SC_TIMERS: u32 = 70;
1209pub const _SC_GETGR_R_SIZE_MAX: u32 = 71;
1210pub const _SC_GETPW_R_SIZE_MAX: u32 = 72;
1211pub const _SC_LOGIN_NAME_MAX: u32 = 73;
1212pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 74;
1213pub const _SC_THREAD_KEYS_MAX: u32 = 75;
1214pub const _SC_THREAD_STACK_MIN: u32 = 76;
1215pub const _SC_THREAD_THREADS_MAX: u32 = 77;
1216pub const _SC_TTY_NAME_MAX: u32 = 78;
1217pub const _SC_THREADS: u32 = 79;
1218pub const _SC_THREAD_ATTR_STACKADDR: u32 = 80;
1219pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 81;
1220pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 82;
1221pub const _SC_THREAD_PRIO_INHERIT: u32 = 83;
1222pub const _SC_THREAD_PRIO_PROTECT: u32 = 84;
1223pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 85;
1224pub const _SC_NPROCESSORS_CONF: u32 = 96;
1225pub const _SC_NPROCESSORS_ONLN: u32 = 97;
1226pub const _SC_PHYS_PAGES: u32 = 98;
1227pub const _SC_AVPHYS_PAGES: u32 = 99;
1228pub const _SC_MONOTONIC_CLOCK: u32 = 100;
1229pub const _SC_2_PBS: u32 = 101;
1230pub const _SC_2_PBS_ACCOUNTING: u32 = 102;
1231pub const _SC_2_PBS_CHECKPOINT: u32 = 103;
1232pub const _SC_2_PBS_LOCATE: u32 = 104;
1233pub const _SC_2_PBS_MESSAGE: u32 = 105;
1234pub const _SC_2_PBS_TRACK: u32 = 106;
1235pub const _SC_ADVISORY_INFO: u32 = 107;
1236pub const _SC_BARRIERS: u32 = 108;
1237pub const _SC_CLOCK_SELECTION: u32 = 109;
1238pub const _SC_CPUTIME: u32 = 110;
1239pub const _SC_HOST_NAME_MAX: u32 = 111;
1240pub const _SC_IPV6: u32 = 112;
1241pub const _SC_RAW_SOCKETS: u32 = 113;
1242pub const _SC_READER_WRITER_LOCKS: u32 = 114;
1243pub const _SC_REGEXP: u32 = 115;
1244pub const _SC_SHELL: u32 = 116;
1245pub const _SC_SPAWN: u32 = 117;
1246pub const _SC_SPIN_LOCKS: u32 = 118;
1247pub const _SC_SPORADIC_SERVER: u32 = 119;
1248pub const _SC_SS_REPL_MAX: u32 = 120;
1249pub const _SC_SYMLOOP_MAX: u32 = 121;
1250pub const _SC_THREAD_CPUTIME: u32 = 122;
1251pub const _SC_THREAD_PROCESS_SHARED: u32 = 123;
1252pub const _SC_THREAD_ROBUST_PRIO_INHERIT: u32 = 124;
1253pub const _SC_THREAD_ROBUST_PRIO_PROTECT: u32 = 125;
1254pub const _SC_THREAD_SPORADIC_SERVER: u32 = 126;
1255pub const _SC_TIMEOUTS: u32 = 127;
1256pub const _SC_TRACE: u32 = 128;
1257pub const _SC_TRACE_EVENT_FILTER: u32 = 129;
1258pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 130;
1259pub const _SC_TRACE_INHERIT: u32 = 131;
1260pub const _SC_TRACE_LOG: u32 = 132;
1261pub const _SC_TRACE_NAME_MAX: u32 = 133;
1262pub const _SC_TRACE_SYS_MAX: u32 = 134;
1263pub const _SC_TRACE_USER_EVENT_MAX: u32 = 135;
1264pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 136;
1265pub const _SC_V7_ILP32_OFF32: u32 = 137;
1266pub const _SC_V7_ILP32_OFFBIG: u32 = 138;
1267pub const _SC_V7_LP64_OFF64: u32 = 139;
1268pub const _SC_V7_LPBIG_OFFBIG: u32 = 140;
1269pub const _SC_XOPEN_STREAMS: u32 = 141;
1270pub const _SC_XOPEN_UUCP: u32 = 142;
1271pub const _SC_LEVEL1_ICACHE_SIZE: u32 = 143;
1272pub const _SC_LEVEL1_ICACHE_ASSOC: u32 = 144;
1273pub const _SC_LEVEL1_ICACHE_LINESIZE: u32 = 145;
1274pub const _SC_LEVEL1_DCACHE_SIZE: u32 = 146;
1275pub const _SC_LEVEL1_DCACHE_ASSOC: u32 = 147;
1276pub const _SC_LEVEL1_DCACHE_LINESIZE: u32 = 148;
1277pub const _SC_LEVEL2_CACHE_SIZE: u32 = 149;
1278pub const _SC_LEVEL2_CACHE_ASSOC: u32 = 150;
1279pub const _SC_LEVEL2_CACHE_LINESIZE: u32 = 151;
1280pub const _SC_LEVEL3_CACHE_SIZE: u32 = 152;
1281pub const _SC_LEVEL3_CACHE_ASSOC: u32 = 153;
1282pub const _SC_LEVEL3_CACHE_LINESIZE: u32 = 154;
1283pub const _SC_LEVEL4_CACHE_SIZE: u32 = 155;
1284pub const _SC_LEVEL4_CACHE_ASSOC: u32 = 156;
1285pub const _SC_LEVEL4_CACHE_LINESIZE: u32 = 157;
1286pub const STDIN_FILENO: u32 = 0;
1287pub const STDOUT_FILENO: u32 = 1;
1288pub const STDERR_FILENO: u32 = 2;
1289pub const F_OK: u32 = 0;
1290pub const X_OK: u32 = 1;
1291pub const W_OK: u32 = 2;
1292pub const R_OK: u32 = 4;
1293pub const _PC_FILESIZEBITS: u32 = 0;
1294pub const _PC_LINK_MAX: u32 = 1;
1295pub const _PC_MAX_CANON: u32 = 2;
1296pub const _PC_MAX_INPUT: u32 = 3;
1297pub const _PC_NAME_MAX: u32 = 4;
1298pub const _PC_PATH_MAX: u32 = 5;
1299pub const _PC_PIPE_BUF: u32 = 6;
1300pub const _PC_2_SYMLINKS: u32 = 7;
1301pub const _PC_ALLOC_SIZE_MIN: u32 = 8;
1302pub const _PC_REC_INCR_XFER_SIZE: u32 = 9;
1303pub const _PC_REC_MAX_XFER_SIZE: u32 = 10;
1304pub const _PC_REC_MIN_XFER_SIZE: u32 = 11;
1305pub const _PC_REC_XFER_ALIGN: u32 = 12;
1306pub const _PC_SYMLINK_MAX: u32 = 13;
1307pub const _PC_CHOWN_RESTRICTED: u32 = 14;
1308pub const _PC_NO_TRUNC: u32 = 15;
1309pub const _PC_VDISABLE: u32 = 16;
1310pub const _PC_ASYNC_IO: u32 = 17;
1311pub const _PC_PRIO_IO: u32 = 18;
1312pub const _PC_SYNC_IO: u32 = 19;
1313pub const FP_INFINITE: u32 = 1;
1314pub const FP_NAN: u32 = 2;
1315pub const FP_NORMAL: u32 = 4;
1316pub const FP_SUBNORMAL: u32 = 8;
1317pub const FP_ZERO: u32 = 16;
1318pub const FP_ILOGB0: i32 = -2147483647;
1319pub const FP_ILOGBNAN: u32 = 2147483647;
1320pub const MATH_ERRNO: u32 = 1;
1321pub const MATH_ERREXCEPT: u32 = 2;
1322pub const math_errhandling: u32 = 2;
1323pub const M_E: f64 = 2.718281828459045;
1324pub const M_LOG2E: f64 = 1.4426950408889634;
1325pub const M_LOG10E: f64 = 0.4342944819032518;
1326pub const M_LN2: f64 = 0.6931471805599453;
1327pub const M_LN10: f64 = 2.302585092994046;
1328pub const M_PI: f64 = 3.141592653589793;
1329pub const M_PI_2: f64 = 1.5707963267948966;
1330pub const M_PI_4: f64 = 0.7853981633974483;
1331pub const M_1_PI: f64 = 0.3183098861837907;
1332pub const M_2_PI: f64 = 0.6366197723675814;
1333pub const M_2_SQRTPI: f64 = 1.1283791670955126;
1334pub const M_SQRT2: f64 = 1.4142135623730951;
1335pub const M_SQRT1_2: f64 = 0.7071067811865476;
1336pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
1337pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
1338pub const ASENSOR_INVALID: i32 = -1;
1339pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
1340pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
1341pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
1342pub const _IOC_NRBITS: u32 = 8;
1343pub const _IOC_TYPEBITS: u32 = 8;
1344pub const _IOC_SIZEBITS: u32 = 14;
1345pub const _IOC_DIRBITS: u32 = 2;
1346pub const _IOC_NRMASK: u32 = 255;
1347pub const _IOC_TYPEMASK: u32 = 255;
1348pub const _IOC_SIZEMASK: u32 = 16383;
1349pub const _IOC_DIRMASK: u32 = 3;
1350pub const _IOC_NRSHIFT: u32 = 0;
1351pub const _IOC_TYPESHIFT: u32 = 8;
1352pub const _IOC_SIZESHIFT: u32 = 16;
1353pub const _IOC_DIRSHIFT: u32 = 30;
1354pub const _IOC_NONE: u32 = 0;
1355pub const _IOC_WRITE: u32 = 1;
1356pub const _IOC_READ: u32 = 2;
1357pub const IOC_IN: u32 = 1073741824;
1358pub const IOC_OUT: u32 = 2147483648;
1359pub const IOC_INOUT: u32 = 3221225472;
1360pub const IOCSIZE_MASK: u32 = 1073676288;
1361pub const IOCSIZE_SHIFT: u32 = 16;
1362pub const SYNC_IOC_MAGIC: u8 = 62u8;
1363pub const CLOCKS_PER_SEC: u32 = 1000000;
1364pub const TIME_UTC: u32 = 1;
1365pub const TIME_MONOTONIC: u32 = 2;
1366pub const TIME_ACTIVE: u32 = 3;
1367pub const TIME_THREAD_ACTIVE: u32 = 4;
1368pub const AAUDIO_UNSPECIFIED: u32 = 0;
1369pub const AAUDIO_SYSTEM_USAGE_OFFSET: u32 = 1000;
1370pub const PROPERTY_VENDOR: &[u8; 7] = b"vendor\0";
1371pub const PROPERTY_VERSION: &[u8; 8] = b"version\0";
1372pub const PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
1373pub const PROPERTY_ALGORITHMS: &[u8; 11] = b"algorithms\0";
1374pub const PROPERTY_DEVICE_UNIQUE_ID: &[u8; 15] = b"deviceUniqueId\0";
1375extern "C" {
1376    pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
1377}
1378extern "C" {
1379    pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
1380}
1381pub type wchar_t = ::std::os::raw::c_int;
1382#[repr(C)]
1383#[repr(align(16))]
1384#[derive(Debug, Copy, Clone)]
1385pub struct max_align_t {
1386    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
1387    pub __bindgen_padding_0: u64,
1388    pub __clang_max_align_nonce2: u128,
1389}
1390#[test]
1391fn bindgen_test_layout_max_align_t() {
1392    const UNINIT: ::std::mem::MaybeUninit<max_align_t> = ::std::mem::MaybeUninit::uninit();
1393    let ptr = UNINIT.as_ptr();
1394    assert_eq!(
1395        ::std::mem::size_of::<max_align_t>(),
1396        32usize,
1397        concat!("Size of: ", stringify!(max_align_t))
1398    );
1399    assert_eq!(
1400        ::std::mem::align_of::<max_align_t>(),
1401        16usize,
1402        concat!("Alignment of ", stringify!(max_align_t))
1403    );
1404    assert_eq!(
1405        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
1406        0usize,
1407        concat!(
1408            "Offset of field: ",
1409            stringify!(max_align_t),
1410            "::",
1411            stringify!(__clang_max_align_nonce1)
1412        )
1413    );
1414    assert_eq!(
1415        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
1416        16usize,
1417        concat!(
1418            "Offset of field: ",
1419            stringify!(max_align_t),
1420            "::",
1421            stringify!(__clang_max_align_nonce2)
1422        )
1423    );
1424}
1425pub type __int8_t = ::std::os::raw::c_schar;
1426pub type __uint8_t = ::std::os::raw::c_uchar;
1427pub type __int16_t = ::std::os::raw::c_short;
1428pub type __uint16_t = ::std::os::raw::c_ushort;
1429pub type __int32_t = ::std::os::raw::c_int;
1430pub type __uint32_t = ::std::os::raw::c_uint;
1431pub type __int64_t = ::std::os::raw::c_long;
1432pub type __uint64_t = ::std::os::raw::c_ulong;
1433pub type __intptr_t = ::std::os::raw::c_long;
1434pub type __uintptr_t = ::std::os::raw::c_ulong;
1435pub type int_least8_t = i8;
1436pub type uint_least8_t = u8;
1437pub type int_least16_t = i16;
1438pub type uint_least16_t = u16;
1439pub type int_least32_t = i32;
1440pub type uint_least32_t = u32;
1441pub type int_least64_t = i64;
1442pub type uint_least64_t = u64;
1443pub type int_fast8_t = i8;
1444pub type uint_fast8_t = u8;
1445pub type int_fast64_t = i64;
1446pub type uint_fast64_t = u64;
1447pub type int_fast16_t = i64;
1448pub type uint_fast16_t = u64;
1449pub type int_fast32_t = i64;
1450pub type uint_fast32_t = u64;
1451pub type uintmax_t = u64;
1452pub type intmax_t = i64;
1453pub type __s8 = ::std::os::raw::c_schar;
1454pub type __u8 = ::std::os::raw::c_uchar;
1455pub type __s16 = ::std::os::raw::c_short;
1456pub type __u16 = ::std::os::raw::c_ushort;
1457pub type __s32 = ::std::os::raw::c_int;
1458pub type __u32 = ::std::os::raw::c_uint;
1459pub type __s64 = ::std::os::raw::c_longlong;
1460pub type __u64 = ::std::os::raw::c_ulonglong;
1461#[repr(C)]
1462#[derive(Debug, Copy, Clone)]
1463pub struct __kernel_fd_set {
1464    pub fds_bits: [::std::os::raw::c_ulong; 16usize],
1465}
1466#[test]
1467fn bindgen_test_layout___kernel_fd_set() {
1468    const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
1469    let ptr = UNINIT.as_ptr();
1470    assert_eq!(
1471        ::std::mem::size_of::<__kernel_fd_set>(),
1472        128usize,
1473        concat!("Size of: ", stringify!(__kernel_fd_set))
1474    );
1475    assert_eq!(
1476        ::std::mem::align_of::<__kernel_fd_set>(),
1477        8usize,
1478        concat!("Alignment of ", stringify!(__kernel_fd_set))
1479    );
1480    assert_eq!(
1481        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
1482        0usize,
1483        concat!(
1484            "Offset of field: ",
1485            stringify!(__kernel_fd_set),
1486            "::",
1487            stringify!(fds_bits)
1488        )
1489    );
1490}
1491pub type __kernel_sighandler_t =
1492    ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1493pub type __kernel_key_t = ::std::os::raw::c_int;
1494pub type __kernel_mqd_t = ::std::os::raw::c_int;
1495pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
1496pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
1497pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
1498pub type __kernel_long_t = ::std::os::raw::c_long;
1499pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1500pub type __kernel_ino_t = __kernel_ulong_t;
1501pub type __kernel_mode_t = ::std::os::raw::c_uint;
1502pub type __kernel_pid_t = ::std::os::raw::c_int;
1503pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
1504pub type __kernel_uid_t = ::std::os::raw::c_uint;
1505pub type __kernel_gid_t = ::std::os::raw::c_uint;
1506pub type __kernel_suseconds_t = __kernel_long_t;
1507pub type __kernel_daddr_t = ::std::os::raw::c_int;
1508pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1509pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1510pub type __kernel_size_t = __kernel_ulong_t;
1511pub type __kernel_ssize_t = __kernel_long_t;
1512pub type __kernel_ptrdiff_t = __kernel_long_t;
1513#[repr(C)]
1514#[derive(Debug, Copy, Clone)]
1515pub struct __kernel_fsid_t {
1516    pub val: [::std::os::raw::c_int; 2usize],
1517}
1518#[test]
1519fn bindgen_test_layout___kernel_fsid_t() {
1520    const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
1521    let ptr = UNINIT.as_ptr();
1522    assert_eq!(
1523        ::std::mem::size_of::<__kernel_fsid_t>(),
1524        8usize,
1525        concat!("Size of: ", stringify!(__kernel_fsid_t))
1526    );
1527    assert_eq!(
1528        ::std::mem::align_of::<__kernel_fsid_t>(),
1529        4usize,
1530        concat!("Alignment of ", stringify!(__kernel_fsid_t))
1531    );
1532    assert_eq!(
1533        unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
1534        0usize,
1535        concat!(
1536            "Offset of field: ",
1537            stringify!(__kernel_fsid_t),
1538            "::",
1539            stringify!(val)
1540        )
1541    );
1542}
1543pub type __kernel_off_t = __kernel_long_t;
1544pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1545pub type __kernel_old_time_t = __kernel_long_t;
1546pub type __kernel_time_t = __kernel_long_t;
1547pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1548pub type __kernel_clock_t = __kernel_long_t;
1549pub type __kernel_timer_t = ::std::os::raw::c_int;
1550pub type __kernel_clockid_t = ::std::os::raw::c_int;
1551pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1552pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1553pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1554pub type __s128 = i128;
1555pub type __u128 = u128;
1556pub type __le16 = __u16;
1557pub type __be16 = __u16;
1558pub type __le32 = __u32;
1559pub type __be32 = __u32;
1560pub type __le64 = __u64;
1561pub type __be64 = __u64;
1562pub type __sum16 = __u16;
1563pub type __wsum = __u32;
1564pub type __poll_t = ::std::os::raw::c_uint;
1565#[repr(C)]
1566#[derive(Debug, Copy, Clone)]
1567pub struct pthread_attr_t {
1568    pub flags: u32,
1569    pub stack_base: *mut ::std::os::raw::c_void,
1570    pub stack_size: usize,
1571    pub guard_size: usize,
1572    pub sched_policy: i32,
1573    pub sched_priority: i32,
1574    pub __reserved: [::std::os::raw::c_char; 16usize],
1575}
1576#[test]
1577fn bindgen_test_layout_pthread_attr_t() {
1578    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
1579    let ptr = UNINIT.as_ptr();
1580    assert_eq!(
1581        ::std::mem::size_of::<pthread_attr_t>(),
1582        56usize,
1583        concat!("Size of: ", stringify!(pthread_attr_t))
1584    );
1585    assert_eq!(
1586        ::std::mem::align_of::<pthread_attr_t>(),
1587        8usize,
1588        concat!("Alignment of ", stringify!(pthread_attr_t))
1589    );
1590    assert_eq!(
1591        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1592        0usize,
1593        concat!(
1594            "Offset of field: ",
1595            stringify!(pthread_attr_t),
1596            "::",
1597            stringify!(flags)
1598        )
1599    );
1600    assert_eq!(
1601        unsafe { ::std::ptr::addr_of!((*ptr).stack_base) as usize - ptr as usize },
1602        8usize,
1603        concat!(
1604            "Offset of field: ",
1605            stringify!(pthread_attr_t),
1606            "::",
1607            stringify!(stack_base)
1608        )
1609    );
1610    assert_eq!(
1611        unsafe { ::std::ptr::addr_of!((*ptr).stack_size) as usize - ptr as usize },
1612        16usize,
1613        concat!(
1614            "Offset of field: ",
1615            stringify!(pthread_attr_t),
1616            "::",
1617            stringify!(stack_size)
1618        )
1619    );
1620    assert_eq!(
1621        unsafe { ::std::ptr::addr_of!((*ptr).guard_size) as usize - ptr as usize },
1622        24usize,
1623        concat!(
1624            "Offset of field: ",
1625            stringify!(pthread_attr_t),
1626            "::",
1627            stringify!(guard_size)
1628        )
1629    );
1630    assert_eq!(
1631        unsafe { ::std::ptr::addr_of!((*ptr).sched_policy) as usize - ptr as usize },
1632        32usize,
1633        concat!(
1634            "Offset of field: ",
1635            stringify!(pthread_attr_t),
1636            "::",
1637            stringify!(sched_policy)
1638        )
1639    );
1640    assert_eq!(
1641        unsafe { ::std::ptr::addr_of!((*ptr).sched_priority) as usize - ptr as usize },
1642        36usize,
1643        concat!(
1644            "Offset of field: ",
1645            stringify!(pthread_attr_t),
1646            "::",
1647            stringify!(sched_priority)
1648        )
1649    );
1650    assert_eq!(
1651        unsafe { ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
1652        40usize,
1653        concat!(
1654            "Offset of field: ",
1655            stringify!(pthread_attr_t),
1656            "::",
1657            stringify!(__reserved)
1658        )
1659    );
1660}
1661#[repr(C)]
1662#[derive(Debug, Copy, Clone)]
1663pub struct pthread_barrier_t {
1664    pub __private: [i64; 4usize],
1665}
1666#[test]
1667fn bindgen_test_layout_pthread_barrier_t() {
1668    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
1669    let ptr = UNINIT.as_ptr();
1670    assert_eq!(
1671        ::std::mem::size_of::<pthread_barrier_t>(),
1672        32usize,
1673        concat!("Size of: ", stringify!(pthread_barrier_t))
1674    );
1675    assert_eq!(
1676        ::std::mem::align_of::<pthread_barrier_t>(),
1677        8usize,
1678        concat!("Alignment of ", stringify!(pthread_barrier_t))
1679    );
1680    assert_eq!(
1681        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1682        0usize,
1683        concat!(
1684            "Offset of field: ",
1685            stringify!(pthread_barrier_t),
1686            "::",
1687            stringify!(__private)
1688        )
1689    );
1690}
1691pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1692#[repr(C)]
1693#[derive(Debug, Copy, Clone)]
1694pub struct pthread_cond_t {
1695    pub __private: [i32; 12usize],
1696}
1697#[test]
1698fn bindgen_test_layout_pthread_cond_t() {
1699    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
1700    let ptr = UNINIT.as_ptr();
1701    assert_eq!(
1702        ::std::mem::size_of::<pthread_cond_t>(),
1703        48usize,
1704        concat!("Size of: ", stringify!(pthread_cond_t))
1705    );
1706    assert_eq!(
1707        ::std::mem::align_of::<pthread_cond_t>(),
1708        4usize,
1709        concat!("Alignment of ", stringify!(pthread_cond_t))
1710    );
1711    assert_eq!(
1712        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1713        0usize,
1714        concat!(
1715            "Offset of field: ",
1716            stringify!(pthread_cond_t),
1717            "::",
1718            stringify!(__private)
1719        )
1720    );
1721}
1722pub type pthread_condattr_t = ::std::os::raw::c_long;
1723pub type pthread_key_t = ::std::os::raw::c_int;
1724#[repr(C)]
1725#[derive(Debug, Copy, Clone)]
1726pub struct pthread_mutex_t {
1727    pub __private: [i32; 10usize],
1728}
1729#[test]
1730fn bindgen_test_layout_pthread_mutex_t() {
1731    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
1732    let ptr = UNINIT.as_ptr();
1733    assert_eq!(
1734        ::std::mem::size_of::<pthread_mutex_t>(),
1735        40usize,
1736        concat!("Size of: ", stringify!(pthread_mutex_t))
1737    );
1738    assert_eq!(
1739        ::std::mem::align_of::<pthread_mutex_t>(),
1740        4usize,
1741        concat!("Alignment of ", stringify!(pthread_mutex_t))
1742    );
1743    assert_eq!(
1744        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1745        0usize,
1746        concat!(
1747            "Offset of field: ",
1748            stringify!(pthread_mutex_t),
1749            "::",
1750            stringify!(__private)
1751        )
1752    );
1753}
1754pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1755pub type pthread_once_t = ::std::os::raw::c_int;
1756#[repr(C)]
1757#[derive(Debug, Copy, Clone)]
1758pub struct pthread_rwlock_t {
1759    pub __private: [i32; 14usize],
1760}
1761#[test]
1762fn bindgen_test_layout_pthread_rwlock_t() {
1763    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
1764    let ptr = UNINIT.as_ptr();
1765    assert_eq!(
1766        ::std::mem::size_of::<pthread_rwlock_t>(),
1767        56usize,
1768        concat!("Size of: ", stringify!(pthread_rwlock_t))
1769    );
1770    assert_eq!(
1771        ::std::mem::align_of::<pthread_rwlock_t>(),
1772        4usize,
1773        concat!("Alignment of ", stringify!(pthread_rwlock_t))
1774    );
1775    assert_eq!(
1776        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1777        0usize,
1778        concat!(
1779            "Offset of field: ",
1780            stringify!(pthread_rwlock_t),
1781            "::",
1782            stringify!(__private)
1783        )
1784    );
1785}
1786pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1787#[repr(C)]
1788#[derive(Debug, Copy, Clone)]
1789pub struct pthread_spinlock_t {
1790    pub __private: i64,
1791}
1792#[test]
1793fn bindgen_test_layout_pthread_spinlock_t() {
1794    const UNINIT: ::std::mem::MaybeUninit<pthread_spinlock_t> = ::std::mem::MaybeUninit::uninit();
1795    let ptr = UNINIT.as_ptr();
1796    assert_eq!(
1797        ::std::mem::size_of::<pthread_spinlock_t>(),
1798        8usize,
1799        concat!("Size of: ", stringify!(pthread_spinlock_t))
1800    );
1801    assert_eq!(
1802        ::std::mem::align_of::<pthread_spinlock_t>(),
1803        8usize,
1804        concat!("Alignment of ", stringify!(pthread_spinlock_t))
1805    );
1806    assert_eq!(
1807        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1808        0usize,
1809        concat!(
1810            "Offset of field: ",
1811            stringify!(pthread_spinlock_t),
1812            "::",
1813            stringify!(__private)
1814        )
1815    );
1816}
1817pub type pthread_t = ::std::os::raw::c_long;
1818pub type __gid_t = __kernel_gid32_t;
1819pub type gid_t = __gid_t;
1820pub type __uid_t = __kernel_uid32_t;
1821pub type uid_t = __uid_t;
1822pub type __pid_t = __kernel_pid_t;
1823pub type pid_t = __pid_t;
1824pub type __id_t = u32;
1825pub type id_t = __id_t;
1826pub type blkcnt_t = ::std::os::raw::c_ulong;
1827pub type blksize_t = ::std::os::raw::c_ulong;
1828pub type caddr_t = __kernel_caddr_t;
1829pub type clock_t = __kernel_clock_t;
1830pub type __clockid_t = __kernel_clockid_t;
1831pub type clockid_t = __clockid_t;
1832pub type daddr_t = __kernel_daddr_t;
1833pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1834pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1835pub type __mode_t = __kernel_mode_t;
1836pub type mode_t = __mode_t;
1837pub type __key_t = __kernel_key_t;
1838pub type key_t = __key_t;
1839pub type __ino_t = __kernel_ino_t;
1840pub type ino_t = __ino_t;
1841pub type ino64_t = u64;
1842pub type __nlink_t = u32;
1843pub type nlink_t = __nlink_t;
1844pub type __timer_t = *mut ::std::os::raw::c_void;
1845pub type timer_t = __timer_t;
1846pub type __suseconds_t = __kernel_suseconds_t;
1847pub type suseconds_t = __suseconds_t;
1848pub type __useconds_t = u32;
1849pub type useconds_t = __useconds_t;
1850pub type dev_t = u64;
1851pub type __time_t = __kernel_time_t;
1852pub type time_t = __time_t;
1853pub type off_t = i64;
1854pub type loff_t = off_t;
1855pub type off64_t = loff_t;
1856pub type __socklen_t = u32;
1857pub type socklen_t = __socklen_t;
1858pub type __va_list = __builtin_va_list;
1859pub type uint_t = ::std::os::raw::c_uint;
1860pub type uint = ::std::os::raw::c_uint;
1861pub type u_char = ::std::os::raw::c_uchar;
1862pub type u_short = ::std::os::raw::c_ushort;
1863pub type u_int = ::std::os::raw::c_uint;
1864pub type u_long = ::std::os::raw::c_ulong;
1865pub type u_int32_t = u32;
1866pub type u_int16_t = u16;
1867pub type u_int8_t = u8;
1868pub type u_int64_t = u64;
1869#[repr(C)]
1870#[derive(Debug, Copy, Clone)]
1871pub struct AAssetManager {
1872    _unused: [u8; 0],
1873}
1874#[repr(C)]
1875#[derive(Debug, Copy, Clone)]
1876pub struct AAssetDir {
1877    _unused: [u8; 0],
1878}
1879#[repr(C)]
1880#[derive(Debug, Copy, Clone)]
1881pub struct AAsset {
1882    _unused: [u8; 0],
1883}
1884pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1885pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1886pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1887pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1888pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
1889extern "C" {
1890    pub fn AAssetManager_openDir(
1891        mgr: *mut AAssetManager,
1892        dirName: *const ::std::os::raw::c_char,
1893    ) -> *mut AAssetDir;
1894}
1895extern "C" {
1896    pub fn AAssetManager_open(
1897        mgr: *mut AAssetManager,
1898        filename: *const ::std::os::raw::c_char,
1899        mode: ::std::os::raw::c_int,
1900    ) -> *mut AAsset;
1901}
1902extern "C" {
1903    pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1904}
1905extern "C" {
1906    pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1907}
1908extern "C" {
1909    pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1910}
1911extern "C" {
1912    pub fn AAsset_read(
1913        asset: *mut AAsset,
1914        buf: *mut ::std::os::raw::c_void,
1915        count: usize,
1916    ) -> ::std::os::raw::c_int;
1917}
1918extern "C" {
1919    pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1920}
1921extern "C" {
1922    pub fn AAsset_seek64(
1923        asset: *mut AAsset,
1924        offset: off64_t,
1925        whence: ::std::os::raw::c_int,
1926    ) -> off64_t;
1927}
1928extern "C" {
1929    pub fn AAsset_close(asset: *mut AAsset);
1930}
1931extern "C" {
1932    pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1933}
1934extern "C" {
1935    pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1936}
1937extern "C" {
1938    pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1939}
1940extern "C" {
1941    pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1942}
1943extern "C" {
1944    pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1945}
1946extern "C" {
1947    pub fn AAsset_openFileDescriptor(
1948        asset: *mut AAsset,
1949        outStart: *mut off_t,
1950        outLength: *mut off_t,
1951    ) -> ::std::os::raw::c_int;
1952}
1953extern "C" {
1954    pub fn AAsset_openFileDescriptor64(
1955        asset: *mut AAsset,
1956        outStart: *mut off64_t,
1957        outLength: *mut off64_t,
1958    ) -> ::std::os::raw::c_int;
1959}
1960extern "C" {
1961    pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1962}
1963pub type __gnuc_va_list = __builtin_va_list;
1964pub type va_list = __builtin_va_list;
1965#[repr(C)]
1966pub struct JavaVMAttachArgs {
1967    pub version: jint,
1968    pub name: *const ::std::os::raw::c_char,
1969    pub group: jobject,
1970}
1971#[test]
1972fn bindgen_test_layout_JavaVMAttachArgs() {
1973    const UNINIT: ::std::mem::MaybeUninit<JavaVMAttachArgs> = ::std::mem::MaybeUninit::uninit();
1974    let ptr = UNINIT.as_ptr();
1975    assert_eq!(
1976        ::std::mem::size_of::<JavaVMAttachArgs>(),
1977        24usize,
1978        concat!("Size of: ", stringify!(JavaVMAttachArgs))
1979    );
1980    assert_eq!(
1981        ::std::mem::align_of::<JavaVMAttachArgs>(),
1982        8usize,
1983        concat!("Alignment of ", stringify!(JavaVMAttachArgs))
1984    );
1985    assert_eq!(
1986        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1987        0usize,
1988        concat!(
1989            "Offset of field: ",
1990            stringify!(JavaVMAttachArgs),
1991            "::",
1992            stringify!(version)
1993        )
1994    );
1995    assert_eq!(
1996        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1997        8usize,
1998        concat!(
1999            "Offset of field: ",
2000            stringify!(JavaVMAttachArgs),
2001            "::",
2002            stringify!(name)
2003        )
2004    );
2005    assert_eq!(
2006        unsafe { ::std::ptr::addr_of!((*ptr).group) as usize - ptr as usize },
2007        16usize,
2008        concat!(
2009            "Offset of field: ",
2010            stringify!(JavaVMAttachArgs),
2011            "::",
2012            stringify!(group)
2013        )
2014    );
2015}
2016#[repr(C)]
2017#[derive(Debug, Copy, Clone)]
2018pub struct JavaVMOption {
2019    pub optionString: *const ::std::os::raw::c_char,
2020    pub extraInfo: *mut ::std::os::raw::c_void,
2021}
2022#[test]
2023fn bindgen_test_layout_JavaVMOption() {
2024    const UNINIT: ::std::mem::MaybeUninit<JavaVMOption> = ::std::mem::MaybeUninit::uninit();
2025    let ptr = UNINIT.as_ptr();
2026    assert_eq!(
2027        ::std::mem::size_of::<JavaVMOption>(),
2028        16usize,
2029        concat!("Size of: ", stringify!(JavaVMOption))
2030    );
2031    assert_eq!(
2032        ::std::mem::align_of::<JavaVMOption>(),
2033        8usize,
2034        concat!("Alignment of ", stringify!(JavaVMOption))
2035    );
2036    assert_eq!(
2037        unsafe { ::std::ptr::addr_of!((*ptr).optionString) as usize - ptr as usize },
2038        0usize,
2039        concat!(
2040            "Offset of field: ",
2041            stringify!(JavaVMOption),
2042            "::",
2043            stringify!(optionString)
2044        )
2045    );
2046    assert_eq!(
2047        unsafe { ::std::ptr::addr_of!((*ptr).extraInfo) as usize - ptr as usize },
2048        8usize,
2049        concat!(
2050            "Offset of field: ",
2051            stringify!(JavaVMOption),
2052            "::",
2053            stringify!(extraInfo)
2054        )
2055    );
2056}
2057#[repr(C)]
2058pub struct JavaVMInitArgs {
2059    pub version: jint,
2060    pub nOptions: jint,
2061    pub options: *mut JavaVMOption,
2062    pub ignoreUnrecognized: jboolean,
2063}
2064#[test]
2065fn bindgen_test_layout_JavaVMInitArgs() {
2066    const UNINIT: ::std::mem::MaybeUninit<JavaVMInitArgs> = ::std::mem::MaybeUninit::uninit();
2067    let ptr = UNINIT.as_ptr();
2068    assert_eq!(
2069        ::std::mem::size_of::<JavaVMInitArgs>(),
2070        24usize,
2071        concat!("Size of: ", stringify!(JavaVMInitArgs))
2072    );
2073    assert_eq!(
2074        ::std::mem::align_of::<JavaVMInitArgs>(),
2075        8usize,
2076        concat!("Alignment of ", stringify!(JavaVMInitArgs))
2077    );
2078    assert_eq!(
2079        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2080        0usize,
2081        concat!(
2082            "Offset of field: ",
2083            stringify!(JavaVMInitArgs),
2084            "::",
2085            stringify!(version)
2086        )
2087    );
2088    assert_eq!(
2089        unsafe { ::std::ptr::addr_of!((*ptr).nOptions) as usize - ptr as usize },
2090        4usize,
2091        concat!(
2092            "Offset of field: ",
2093            stringify!(JavaVMInitArgs),
2094            "::",
2095            stringify!(nOptions)
2096        )
2097    );
2098    assert_eq!(
2099        unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
2100        8usize,
2101        concat!(
2102            "Offset of field: ",
2103            stringify!(JavaVMInitArgs),
2104            "::",
2105            stringify!(options)
2106        )
2107    );
2108    assert_eq!(
2109        unsafe { ::std::ptr::addr_of!((*ptr).ignoreUnrecognized) as usize - ptr as usize },
2110        16usize,
2111        concat!(
2112            "Offset of field: ",
2113            stringify!(JavaVMInitArgs),
2114            "::",
2115            stringify!(ignoreUnrecognized)
2116        )
2117    );
2118}
2119extern "C" {
2120    pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
2121}
2122pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
2123pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
2124pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
2125pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
2126pub type _bindgen_ty_2 = ::std::os::raw::c_int;
2127impl AndroidBitmapFormat {
2128    pub const ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = AndroidBitmapFormat(0);
2129}
2130impl AndroidBitmapFormat {
2131    pub const ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = AndroidBitmapFormat(1);
2132}
2133impl AndroidBitmapFormat {
2134    pub const ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = AndroidBitmapFormat(4);
2135}
2136impl AndroidBitmapFormat {
2137    pub const ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = AndroidBitmapFormat(7);
2138}
2139impl AndroidBitmapFormat {
2140    pub const ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = AndroidBitmapFormat(8);
2141}
2142impl AndroidBitmapFormat {
2143    pub const ANDROID_BITMAP_FORMAT_RGBA_F16: AndroidBitmapFormat = AndroidBitmapFormat(9);
2144}
2145impl AndroidBitmapFormat {
2146    pub const ANDROID_BITMAP_FORMAT_RGBA_1010102: AndroidBitmapFormat = AndroidBitmapFormat(10);
2147}
2148#[repr(transparent)]
2149#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2150pub struct AndroidBitmapFormat(pub ::std::os::raw::c_uint);
2151pub const ANDROID_BITMAP_FLAGS_ALPHA_PREMUL: _bindgen_ty_3 = 0;
2152pub const ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE: _bindgen_ty_3 = 1;
2153pub const ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL: _bindgen_ty_3 = 2;
2154pub const ANDROID_BITMAP_FLAGS_ALPHA_MASK: _bindgen_ty_3 = 3;
2155pub const ANDROID_BITMAP_FLAGS_ALPHA_SHIFT: _bindgen_ty_3 = 0;
2156pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
2157pub const ANDROID_BITMAP_FLAGS_IS_HARDWARE: _bindgen_ty_4 = -2147483648;
2158pub type _bindgen_ty_4 = ::std::os::raw::c_int;
2159#[repr(C)]
2160#[derive(Debug, Copy, Clone)]
2161pub struct AndroidBitmapInfo {
2162    pub width: u32,
2163    pub height: u32,
2164    pub stride: u32,
2165    pub format: i32,
2166    pub flags: u32,
2167}
2168#[test]
2169fn bindgen_test_layout_AndroidBitmapInfo() {
2170    const UNINIT: ::std::mem::MaybeUninit<AndroidBitmapInfo> = ::std::mem::MaybeUninit::uninit();
2171    let ptr = UNINIT.as_ptr();
2172    assert_eq!(
2173        ::std::mem::size_of::<AndroidBitmapInfo>(),
2174        20usize,
2175        concat!("Size of: ", stringify!(AndroidBitmapInfo))
2176    );
2177    assert_eq!(
2178        ::std::mem::align_of::<AndroidBitmapInfo>(),
2179        4usize,
2180        concat!("Alignment of ", stringify!(AndroidBitmapInfo))
2181    );
2182    assert_eq!(
2183        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
2184        0usize,
2185        concat!(
2186            "Offset of field: ",
2187            stringify!(AndroidBitmapInfo),
2188            "::",
2189            stringify!(width)
2190        )
2191    );
2192    assert_eq!(
2193        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
2194        4usize,
2195        concat!(
2196            "Offset of field: ",
2197            stringify!(AndroidBitmapInfo),
2198            "::",
2199            stringify!(height)
2200        )
2201    );
2202    assert_eq!(
2203        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
2204        8usize,
2205        concat!(
2206            "Offset of field: ",
2207            stringify!(AndroidBitmapInfo),
2208            "::",
2209            stringify!(stride)
2210        )
2211    );
2212    assert_eq!(
2213        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
2214        12usize,
2215        concat!(
2216            "Offset of field: ",
2217            stringify!(AndroidBitmapInfo),
2218            "::",
2219            stringify!(format)
2220        )
2221    );
2222    assert_eq!(
2223        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2224        16usize,
2225        concat!(
2226            "Offset of field: ",
2227            stringify!(AndroidBitmapInfo),
2228            "::",
2229            stringify!(flags)
2230        )
2231    );
2232}
2233extern "C" {
2234    pub fn AndroidBitmap_getInfo(
2235        env: *mut JNIEnv,
2236        jbitmap: jobject,
2237        info: *mut AndroidBitmapInfo,
2238    ) -> ::std::os::raw::c_int;
2239}
2240extern "C" {
2241    pub fn AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i32;
2242}
2243extern "C" {
2244    pub fn AndroidBitmap_lockPixels(
2245        env: *mut JNIEnv,
2246        jbitmap: jobject,
2247        addrPtr: *mut *mut ::std::os::raw::c_void,
2248    ) -> ::std::os::raw::c_int;
2249}
2250extern "C" {
2251    pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
2252}
2253impl AndroidBitmapCompressFormat {
2254    pub const ANDROID_BITMAP_COMPRESS_FORMAT_JPEG: AndroidBitmapCompressFormat =
2255        AndroidBitmapCompressFormat(0);
2256}
2257impl AndroidBitmapCompressFormat {
2258    pub const ANDROID_BITMAP_COMPRESS_FORMAT_PNG: AndroidBitmapCompressFormat =
2259        AndroidBitmapCompressFormat(1);
2260}
2261impl AndroidBitmapCompressFormat {
2262    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSY: AndroidBitmapCompressFormat =
2263        AndroidBitmapCompressFormat(3);
2264}
2265impl AndroidBitmapCompressFormat {
2266    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSLESS: AndroidBitmapCompressFormat =
2267        AndroidBitmapCompressFormat(4);
2268}
2269#[repr(transparent)]
2270#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2271pub struct AndroidBitmapCompressFormat(pub ::std::os::raw::c_uint);
2272pub type AndroidBitmap_CompressWriteFunc = ::std::option::Option<
2273    unsafe extern "C" fn(
2274        userContext: *mut ::std::os::raw::c_void,
2275        data: *const ::std::os::raw::c_void,
2276        size: usize,
2277    ) -> bool,
2278>;
2279extern "C" {
2280    pub fn AndroidBitmap_compress(
2281        info: *const AndroidBitmapInfo,
2282        dataspace: i32,
2283        pixels: *const ::std::os::raw::c_void,
2284        format: i32,
2285        quality: i32,
2286        userContext: *mut ::std::os::raw::c_void,
2287        fn_: AndroidBitmap_CompressWriteFunc,
2288    ) -> ::std::os::raw::c_int;
2289}
2290#[repr(C)]
2291#[derive(Debug, Copy, Clone)]
2292pub struct AHardwareBuffer {
2293    _unused: [u8; 0],
2294}
2295extern "C" {
2296    pub fn AndroidBitmap_getHardwareBuffer(
2297        env: *mut JNIEnv,
2298        bitmap: jobject,
2299        outBuffer: *mut *mut AHardwareBuffer,
2300    ) -> ::std::os::raw::c_int;
2301}
2302#[repr(C)]
2303#[derive(Debug, Copy, Clone)]
2304pub struct AChoreographer {
2305    _unused: [u8; 0],
2306}
2307pub type AVsyncId = i64;
2308#[repr(C)]
2309#[derive(Debug, Copy, Clone)]
2310pub struct AChoreographerFrameCallbackData {
2311    _unused: [u8; 0],
2312}
2313pub type AChoreographer_frameCallback = ::std::option::Option<
2314    unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
2315>;
2316pub type AChoreographer_frameCallback64 = ::std::option::Option<
2317    unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
2318>;
2319pub type AChoreographer_vsyncCallback = ::std::option::Option<
2320    unsafe extern "C" fn(
2321        callbackData: *const AChoreographerFrameCallbackData,
2322        data: *mut ::std::os::raw::c_void,
2323    ),
2324>;
2325pub type AChoreographer_refreshRateCallback = ::std::option::Option<
2326    unsafe extern "C" fn(vsyncPeriodNanos: i64, data: *mut ::std::os::raw::c_void),
2327>;
2328extern "C" {
2329    pub fn AChoreographer_getInstance() -> *mut AChoreographer;
2330}
2331extern "C" {
2332    pub fn AChoreographer_postFrameCallback(
2333        choreographer: *mut AChoreographer,
2334        callback: AChoreographer_frameCallback,
2335        data: *mut ::std::os::raw::c_void,
2336    );
2337}
2338extern "C" {
2339    pub fn AChoreographer_postFrameCallbackDelayed(
2340        choreographer: *mut AChoreographer,
2341        callback: AChoreographer_frameCallback,
2342        data: *mut ::std::os::raw::c_void,
2343        delayMillis: ::std::os::raw::c_long,
2344    );
2345}
2346extern "C" {
2347    pub fn AChoreographer_postFrameCallback64(
2348        choreographer: *mut AChoreographer,
2349        callback: AChoreographer_frameCallback64,
2350        data: *mut ::std::os::raw::c_void,
2351    );
2352}
2353extern "C" {
2354    pub fn AChoreographer_postFrameCallbackDelayed64(
2355        choreographer: *mut AChoreographer,
2356        callback: AChoreographer_frameCallback64,
2357        data: *mut ::std::os::raw::c_void,
2358        delayMillis: u32,
2359    );
2360}
2361extern "C" {
2362    pub fn AChoreographer_postVsyncCallback(
2363        choreographer: *mut AChoreographer,
2364        callback: AChoreographer_vsyncCallback,
2365        data: *mut ::std::os::raw::c_void,
2366    );
2367}
2368extern "C" {
2369    pub fn AChoreographer_registerRefreshRateCallback(
2370        choreographer: *mut AChoreographer,
2371        arg1: AChoreographer_refreshRateCallback,
2372        data: *mut ::std::os::raw::c_void,
2373    );
2374}
2375extern "C" {
2376    pub fn AChoreographer_unregisterRefreshRateCallback(
2377        choreographer: *mut AChoreographer,
2378        arg1: AChoreographer_refreshRateCallback,
2379        data: *mut ::std::os::raw::c_void,
2380    );
2381}
2382extern "C" {
2383    pub fn AChoreographerFrameCallbackData_getFrameTimeNanos(
2384        data: *const AChoreographerFrameCallbackData,
2385    ) -> i64;
2386}
2387extern "C" {
2388    pub fn AChoreographerFrameCallbackData_getFrameTimelinesLength(
2389        data: *const AChoreographerFrameCallbackData,
2390    ) -> usize;
2391}
2392extern "C" {
2393    pub fn AChoreographerFrameCallbackData_getPreferredFrameTimelineIndex(
2394        data: *const AChoreographerFrameCallbackData,
2395    ) -> usize;
2396}
2397extern "C" {
2398    pub fn AChoreographerFrameCallbackData_getFrameTimelineVsyncId(
2399        data: *const AChoreographerFrameCallbackData,
2400        index: usize,
2401    ) -> AVsyncId;
2402}
2403extern "C" {
2404    pub fn AChoreographerFrameCallbackData_getFrameTimelineExpectedPresentationTimeNanos(
2405        data: *const AChoreographerFrameCallbackData,
2406        index: usize,
2407    ) -> i64;
2408}
2409extern "C" {
2410    pub fn AChoreographerFrameCallbackData_getFrameTimelineDeadlineNanos(
2411        data: *const AChoreographerFrameCallbackData,
2412        index: usize,
2413    ) -> i64;
2414}
2415#[repr(C)]
2416#[derive(Debug, Copy, Clone)]
2417pub struct AConfiguration {
2418    _unused: [u8; 0],
2419}
2420pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_5 = 0;
2421pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_5 = 1;
2422pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_5 = 2;
2423pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_5 = 3;
2424pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_5 = 0;
2425pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_5 = 1;
2426pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_5 = 2;
2427pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_5 = 3;
2428pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_5 = 0;
2429pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_5 = 120;
2430pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_5 = 160;
2431pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_5 = 213;
2432pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_5 = 240;
2433pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_5 = 320;
2434pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_5 = 480;
2435pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_5 = 640;
2436pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_5 = 65534;
2437pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_5 = 65535;
2438pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_5 = 0;
2439pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_5 = 1;
2440pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_5 = 2;
2441pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_5 = 3;
2442pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_5 = 0;
2443pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_5 = 1;
2444pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_5 = 2;
2445pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_5 = 3;
2446pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_5 = 4;
2447pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_5 = 0;
2448pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_5 = 1;
2449pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_5 = 2;
2450pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_5 = 3;
2451pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_5 = 0;
2452pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_5 = 1;
2453pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_5 = 2;
2454pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_5 = 0;
2455pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_5 = 1;
2456pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_5 = 2;
2457pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_5 = 3;
2458pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_5 = 4;
2459pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_5 = 0;
2460pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_5 = 1;
2461pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_5 = 2;
2462pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_5 = 0;
2463pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_5 = 1;
2464pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_5 = 2;
2465pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_5 = 0;
2466pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_5 = 1;
2467pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_5 = 2;
2468pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_5 = 0;
2469pub const ACONFIGURATION_HDR_NO: _bindgen_ty_5 = 1;
2470pub const ACONFIGURATION_HDR_YES: _bindgen_ty_5 = 2;
2471pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_5 = 0;
2472pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_5 = 1;
2473pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_5 = 2;
2474pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_5 = 3;
2475pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_5 = 4;
2476pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_5 = 5;
2477pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_5 = 6;
2478pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_5 = 7;
2479pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_5 = 0;
2480pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_5 = 1;
2481pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_5 = 2;
2482pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2483pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_5 = 0;
2484pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2485pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_5 = 0;
2486pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_5 = 1;
2487pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_5 = 2;
2488pub const ACONFIGURATION_MCC: _bindgen_ty_5 = 1;
2489pub const ACONFIGURATION_MNC: _bindgen_ty_5 = 2;
2490pub const ACONFIGURATION_LOCALE: _bindgen_ty_5 = 4;
2491pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_5 = 8;
2492pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_5 = 16;
2493pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_5 = 32;
2494pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_5 = 64;
2495pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_5 = 128;
2496pub const ACONFIGURATION_DENSITY: _bindgen_ty_5 = 256;
2497pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_5 = 512;
2498pub const ACONFIGURATION_VERSION: _bindgen_ty_5 = 1024;
2499pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_5 = 2048;
2500pub const ACONFIGURATION_UI_MODE: _bindgen_ty_5 = 4096;
2501pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_5 = 8192;
2502pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_5 = 16384;
2503pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_5 = 32768;
2504pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_5 = 65536;
2505pub const ACONFIGURATION_GRAMMATICAL_GENDER: _bindgen_ty_5 = 131072;
2506pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_5 = 65535;
2507pub const ACONFIGURATION_GRAMMATICAL_GENDER_ANY: _bindgen_ty_5 = 0;
2508pub const ACONFIGURATION_GRAMMATICAL_GENDER_NEUTER: _bindgen_ty_5 = 1;
2509pub const ACONFIGURATION_GRAMMATICAL_GENDER_FEMININE: _bindgen_ty_5 = 2;
2510pub const ACONFIGURATION_GRAMMATICAL_GENDER_MASCULINE: _bindgen_ty_5 = 3;
2511pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
2512extern "C" {
2513    pub fn AConfiguration_new() -> *mut AConfiguration;
2514}
2515extern "C" {
2516    pub fn AConfiguration_delete(config: *mut AConfiguration);
2517}
2518extern "C" {
2519    pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
2520}
2521extern "C" {
2522    pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
2523}
2524extern "C" {
2525    pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
2526}
2527extern "C" {
2528    pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
2529}
2530extern "C" {
2531    pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
2532}
2533extern "C" {
2534    pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
2535}
2536extern "C" {
2537    pub fn AConfiguration_getLanguage(
2538        config: *mut AConfiguration,
2539        outLanguage: *mut ::std::os::raw::c_char,
2540    );
2541}
2542extern "C" {
2543    pub fn AConfiguration_setLanguage(
2544        config: *mut AConfiguration,
2545        language: *const ::std::os::raw::c_char,
2546    );
2547}
2548extern "C" {
2549    pub fn AConfiguration_getCountry(
2550        config: *mut AConfiguration,
2551        outCountry: *mut ::std::os::raw::c_char,
2552    );
2553}
2554extern "C" {
2555    pub fn AConfiguration_setCountry(
2556        config: *mut AConfiguration,
2557        country: *const ::std::os::raw::c_char,
2558    );
2559}
2560extern "C" {
2561    pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
2562}
2563extern "C" {
2564    pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
2565}
2566extern "C" {
2567    pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
2568}
2569extern "C" {
2570    pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
2571}
2572extern "C" {
2573    pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
2574}
2575extern "C" {
2576    pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
2577}
2578extern "C" {
2579    pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
2580}
2581extern "C" {
2582    pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
2583}
2584extern "C" {
2585    pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
2586}
2587extern "C" {
2588    pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
2589}
2590extern "C" {
2591    pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
2592}
2593extern "C" {
2594    pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
2595}
2596extern "C" {
2597    pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
2598}
2599extern "C" {
2600    pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
2601}
2602extern "C" {
2603    pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
2604}
2605extern "C" {
2606    pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
2607}
2608extern "C" {
2609    pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
2610}
2611extern "C" {
2612    pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
2613}
2614extern "C" {
2615    pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
2616}
2617extern "C" {
2618    pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
2619}
2620extern "C" {
2621    pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
2622}
2623extern "C" {
2624    pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
2625}
2626extern "C" {
2627    pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
2628}
2629extern "C" {
2630    pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
2631}
2632extern "C" {
2633    pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
2634}
2635extern "C" {
2636    pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
2637}
2638extern "C" {
2639    pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
2640}
2641extern "C" {
2642    pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
2643}
2644extern "C" {
2645    pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
2646}
2647extern "C" {
2648    pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
2649}
2650extern "C" {
2651    pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
2652}
2653extern "C" {
2654    pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
2655}
2656extern "C" {
2657    pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
2658}
2659extern "C" {
2660    pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
2661}
2662extern "C" {
2663    pub fn AConfiguration_getGrammaticalGender(config: *mut AConfiguration) -> i32;
2664}
2665extern "C" {
2666    pub fn AConfiguration_setGrammaticalGender(config: *mut AConfiguration, value: i32);
2667}
2668extern "C" {
2669    pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
2670}
2671extern "C" {
2672    pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
2673}
2674extern "C" {
2675    pub fn AConfiguration_isBetterThan(
2676        base: *mut AConfiguration,
2677        test: *mut AConfiguration,
2678        requested: *mut AConfiguration,
2679    ) -> i32;
2680}
2681#[repr(C)]
2682#[derive(Debug, Copy, Clone)]
2683pub struct imaxdiv_t {
2684    pub quot: intmax_t,
2685    pub rem: intmax_t,
2686}
2687#[test]
2688fn bindgen_test_layout_imaxdiv_t() {
2689    const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
2690    let ptr = UNINIT.as_ptr();
2691    assert_eq!(
2692        ::std::mem::size_of::<imaxdiv_t>(),
2693        16usize,
2694        concat!("Size of: ", stringify!(imaxdiv_t))
2695    );
2696    assert_eq!(
2697        ::std::mem::align_of::<imaxdiv_t>(),
2698        8usize,
2699        concat!("Alignment of ", stringify!(imaxdiv_t))
2700    );
2701    assert_eq!(
2702        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
2703        0usize,
2704        concat!(
2705            "Offset of field: ",
2706            stringify!(imaxdiv_t),
2707            "::",
2708            stringify!(quot)
2709        )
2710    );
2711    assert_eq!(
2712        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
2713        8usize,
2714        concat!(
2715            "Offset of field: ",
2716            stringify!(imaxdiv_t),
2717            "::",
2718            stringify!(rem)
2719        )
2720    );
2721}
2722extern "C" {
2723    pub fn imaxabs(__i: intmax_t) -> intmax_t;
2724}
2725extern "C" {
2726    pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
2727}
2728extern "C" {
2729    pub fn strtoimax(
2730        __s: *const ::std::os::raw::c_char,
2731        __end_ptr: *mut *mut ::std::os::raw::c_char,
2732        __base: ::std::os::raw::c_int,
2733    ) -> intmax_t;
2734}
2735extern "C" {
2736    pub fn strtoumax(
2737        __s: *const ::std::os::raw::c_char,
2738        __end_ptr: *mut *mut ::std::os::raw::c_char,
2739        __base: ::std::os::raw::c_int,
2740    ) -> uintmax_t;
2741}
2742extern "C" {
2743    pub fn wcstoimax(
2744        __s: *const wchar_t,
2745        __end_ptr: *mut *mut wchar_t,
2746        __base: ::std::os::raw::c_int,
2747    ) -> intmax_t;
2748}
2749extern "C" {
2750    pub fn wcstoumax(
2751        __s: *const wchar_t,
2752        __end_ptr: *mut *mut wchar_t,
2753        __base: ::std::os::raw::c_int,
2754    ) -> uintmax_t;
2755}
2756impl ADataSpace {
2757    pub const ADATASPACE_UNKNOWN: ADataSpace = ADataSpace(0);
2758}
2759impl ADataSpace {
2760    pub const STANDARD_MASK: ADataSpace = ADataSpace(4128768);
2761}
2762impl ADataSpace {
2763    pub const STANDARD_UNSPECIFIED: ADataSpace = ADataSpace(0);
2764}
2765impl ADataSpace {
2766    pub const STANDARD_BT709: ADataSpace = ADataSpace(65536);
2767}
2768impl ADataSpace {
2769    pub const STANDARD_BT601_625: ADataSpace = ADataSpace(131072);
2770}
2771impl ADataSpace {
2772    pub const STANDARD_BT601_625_UNADJUSTED: ADataSpace = ADataSpace(196608);
2773}
2774impl ADataSpace {
2775    pub const STANDARD_BT601_525: ADataSpace = ADataSpace(262144);
2776}
2777impl ADataSpace {
2778    pub const STANDARD_BT601_525_UNADJUSTED: ADataSpace = ADataSpace(327680);
2779}
2780impl ADataSpace {
2781    pub const STANDARD_BT2020: ADataSpace = ADataSpace(393216);
2782}
2783impl ADataSpace {
2784    pub const STANDARD_BT2020_CONSTANT_LUMINANCE: ADataSpace = ADataSpace(458752);
2785}
2786impl ADataSpace {
2787    pub const STANDARD_BT470M: ADataSpace = ADataSpace(524288);
2788}
2789impl ADataSpace {
2790    pub const STANDARD_FILM: ADataSpace = ADataSpace(589824);
2791}
2792impl ADataSpace {
2793    pub const STANDARD_DCI_P3: ADataSpace = ADataSpace(655360);
2794}
2795impl ADataSpace {
2796    pub const STANDARD_ADOBE_RGB: ADataSpace = ADataSpace(720896);
2797}
2798impl ADataSpace {
2799    pub const TRANSFER_MASK: ADataSpace = ADataSpace(130023424);
2800}
2801impl ADataSpace {
2802    pub const TRANSFER_UNSPECIFIED: ADataSpace = ADataSpace(0);
2803}
2804impl ADataSpace {
2805    pub const TRANSFER_LINEAR: ADataSpace = ADataSpace(4194304);
2806}
2807impl ADataSpace {
2808    pub const TRANSFER_SRGB: ADataSpace = ADataSpace(8388608);
2809}
2810impl ADataSpace {
2811    pub const TRANSFER_SMPTE_170M: ADataSpace = ADataSpace(12582912);
2812}
2813impl ADataSpace {
2814    pub const TRANSFER_GAMMA2_2: ADataSpace = ADataSpace(16777216);
2815}
2816impl ADataSpace {
2817    pub const TRANSFER_GAMMA2_6: ADataSpace = ADataSpace(20971520);
2818}
2819impl ADataSpace {
2820    pub const TRANSFER_GAMMA2_8: ADataSpace = ADataSpace(25165824);
2821}
2822impl ADataSpace {
2823    pub const TRANSFER_ST2084: ADataSpace = ADataSpace(29360128);
2824}
2825impl ADataSpace {
2826    pub const TRANSFER_HLG: ADataSpace = ADataSpace(33554432);
2827}
2828impl ADataSpace {
2829    pub const RANGE_MASK: ADataSpace = ADataSpace(939524096);
2830}
2831impl ADataSpace {
2832    pub const RANGE_UNSPECIFIED: ADataSpace = ADataSpace(0);
2833}
2834impl ADataSpace {
2835    pub const RANGE_FULL: ADataSpace = ADataSpace(134217728);
2836}
2837impl ADataSpace {
2838    pub const RANGE_LIMITED: ADataSpace = ADataSpace(268435456);
2839}
2840impl ADataSpace {
2841    pub const RANGE_EXTENDED: ADataSpace = ADataSpace(402653184);
2842}
2843impl ADataSpace {
2844    pub const ADATASPACE_SCRGB_LINEAR: ADataSpace = ADataSpace(406913024);
2845}
2846impl ADataSpace {
2847    pub const ADATASPACE_SRGB: ADataSpace = ADataSpace(142671872);
2848}
2849impl ADataSpace {
2850    pub const ADATASPACE_SCRGB: ADataSpace = ADataSpace(411107328);
2851}
2852impl ADataSpace {
2853    pub const ADATASPACE_DISPLAY_P3: ADataSpace = ADataSpace(143261696);
2854}
2855impl ADataSpace {
2856    pub const ADATASPACE_BT2020_PQ: ADataSpace = ADataSpace(163971072);
2857}
2858impl ADataSpace {
2859    pub const ADATASPACE_BT2020_ITU_PQ: ADataSpace = ADataSpace(298188800);
2860}
2861impl ADataSpace {
2862    pub const ADATASPACE_ADOBE_RGB: ADataSpace = ADataSpace(151715840);
2863}
2864impl ADataSpace {
2865    pub const ADATASPACE_JFIF: ADataSpace = ADataSpace(146931712);
2866}
2867impl ADataSpace {
2868    pub const ADATASPACE_BT601_625: ADataSpace = ADataSpace(281149440);
2869}
2870impl ADataSpace {
2871    pub const ADATASPACE_BT601_525: ADataSpace = ADataSpace(281280512);
2872}
2873impl ADataSpace {
2874    pub const ADATASPACE_BT2020: ADataSpace = ADataSpace(147193856);
2875}
2876impl ADataSpace {
2877    pub const ADATASPACE_BT709: ADataSpace = ADataSpace(281083904);
2878}
2879impl ADataSpace {
2880    pub const ADATASPACE_DCI_P3: ADataSpace = ADataSpace(155844608);
2881}
2882impl ADataSpace {
2883    pub const ADATASPACE_SRGB_LINEAR: ADataSpace = ADataSpace(138477568);
2884}
2885impl ADataSpace {
2886    pub const ADATASPACE_BT2020_HLG: ADataSpace = ADataSpace(168165376);
2887}
2888impl ADataSpace {
2889    pub const ADATASPACE_BT2020_ITU_HLG: ADataSpace = ADataSpace(302383104);
2890}
2891impl ADataSpace {
2892    pub const ADATASPACE_DEPTH: ADataSpace = ADataSpace(4096);
2893}
2894impl ADataSpace {
2895    pub const ADATASPACE_DYNAMIC_DEPTH: ADataSpace = ADataSpace(4098);
2896}
2897#[repr(transparent)]
2898#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2899pub struct ADataSpace(pub i32);
2900pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_6 = 1;
2901pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_6 = 2;
2902pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_6 = 4;
2903pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_6 = 8;
2904pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_6 = 16;
2905pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_6 = 32;
2906pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_6 = 64;
2907pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_6 = 512;
2908pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_6 = 1024;
2909pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_6 = 1663;
2910pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
2911#[repr(C)]
2912#[derive(Debug, Copy, Clone)]
2913pub struct android_namespace_t {
2914    _unused: [u8; 0],
2915}
2916#[repr(C)]
2917#[derive(Debug, Copy, Clone)]
2918pub struct android_dlextinfo {
2919    pub flags: u64,
2920    pub reserved_addr: *mut ::std::os::raw::c_void,
2921    pub reserved_size: usize,
2922    pub relro_fd: ::std::os::raw::c_int,
2923    pub library_fd: ::std::os::raw::c_int,
2924    pub library_fd_offset: off64_t,
2925    pub library_namespace: *mut android_namespace_t,
2926}
2927#[test]
2928fn bindgen_test_layout_android_dlextinfo() {
2929    const UNINIT: ::std::mem::MaybeUninit<android_dlextinfo> = ::std::mem::MaybeUninit::uninit();
2930    let ptr = UNINIT.as_ptr();
2931    assert_eq!(
2932        ::std::mem::size_of::<android_dlextinfo>(),
2933        48usize,
2934        concat!("Size of: ", stringify!(android_dlextinfo))
2935    );
2936    assert_eq!(
2937        ::std::mem::align_of::<android_dlextinfo>(),
2938        8usize,
2939        concat!("Alignment of ", stringify!(android_dlextinfo))
2940    );
2941    assert_eq!(
2942        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2943        0usize,
2944        concat!(
2945            "Offset of field: ",
2946            stringify!(android_dlextinfo),
2947            "::",
2948            stringify!(flags)
2949        )
2950    );
2951    assert_eq!(
2952        unsafe { ::std::ptr::addr_of!((*ptr).reserved_addr) as usize - ptr as usize },
2953        8usize,
2954        concat!(
2955            "Offset of field: ",
2956            stringify!(android_dlextinfo),
2957            "::",
2958            stringify!(reserved_addr)
2959        )
2960    );
2961    assert_eq!(
2962        unsafe { ::std::ptr::addr_of!((*ptr).reserved_size) as usize - ptr as usize },
2963        16usize,
2964        concat!(
2965            "Offset of field: ",
2966            stringify!(android_dlextinfo),
2967            "::",
2968            stringify!(reserved_size)
2969        )
2970    );
2971    assert_eq!(
2972        unsafe { ::std::ptr::addr_of!((*ptr).relro_fd) as usize - ptr as usize },
2973        24usize,
2974        concat!(
2975            "Offset of field: ",
2976            stringify!(android_dlextinfo),
2977            "::",
2978            stringify!(relro_fd)
2979        )
2980    );
2981    assert_eq!(
2982        unsafe { ::std::ptr::addr_of!((*ptr).library_fd) as usize - ptr as usize },
2983        28usize,
2984        concat!(
2985            "Offset of field: ",
2986            stringify!(android_dlextinfo),
2987            "::",
2988            stringify!(library_fd)
2989        )
2990    );
2991    assert_eq!(
2992        unsafe { ::std::ptr::addr_of!((*ptr).library_fd_offset) as usize - ptr as usize },
2993        32usize,
2994        concat!(
2995            "Offset of field: ",
2996            stringify!(android_dlextinfo),
2997            "::",
2998            stringify!(library_fd_offset)
2999        )
3000    );
3001    assert_eq!(
3002        unsafe { ::std::ptr::addr_of!((*ptr).library_namespace) as usize - ptr as usize },
3003        40usize,
3004        concat!(
3005            "Offset of field: ",
3006            stringify!(android_dlextinfo),
3007            "::",
3008            stringify!(library_namespace)
3009        )
3010    );
3011}
3012extern "C" {
3013    pub fn android_dlopen_ext(
3014        __filename: *const ::std::os::raw::c_char,
3015        __flags: ::std::os::raw::c_int,
3016        __info: *const android_dlextinfo,
3017    ) -> *mut ::std::os::raw::c_void;
3018}
3019impl android_fdsan_owner_type {
3020    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_00: android_fdsan_owner_type =
3021        android_fdsan_owner_type(0);
3022}
3023impl android_fdsan_owner_type {
3024    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_FF: android_fdsan_owner_type =
3025        android_fdsan_owner_type(255);
3026}
3027impl android_fdsan_owner_type {
3028    pub const ANDROID_FDSAN_OWNER_TYPE_FILE: android_fdsan_owner_type = android_fdsan_owner_type(1);
3029}
3030impl android_fdsan_owner_type {
3031    pub const ANDROID_FDSAN_OWNER_TYPE_DIR: android_fdsan_owner_type = android_fdsan_owner_type(2);
3032}
3033impl android_fdsan_owner_type {
3034    pub const ANDROID_FDSAN_OWNER_TYPE_UNIQUE_FD: android_fdsan_owner_type =
3035        android_fdsan_owner_type(3);
3036}
3037impl android_fdsan_owner_type {
3038    pub const ANDROID_FDSAN_OWNER_TYPE_SQLITE: android_fdsan_owner_type =
3039        android_fdsan_owner_type(4);
3040}
3041impl android_fdsan_owner_type {
3042    pub const ANDROID_FDSAN_OWNER_TYPE_FILEINPUTSTREAM: android_fdsan_owner_type =
3043        android_fdsan_owner_type(5);
3044}
3045impl android_fdsan_owner_type {
3046    pub const ANDROID_FDSAN_OWNER_TYPE_FILEOUTPUTSTREAM: android_fdsan_owner_type =
3047        android_fdsan_owner_type(6);
3048}
3049impl android_fdsan_owner_type {
3050    pub const ANDROID_FDSAN_OWNER_TYPE_RANDOMACCESSFILE: android_fdsan_owner_type =
3051        android_fdsan_owner_type(7);
3052}
3053impl android_fdsan_owner_type {
3054    pub const ANDROID_FDSAN_OWNER_TYPE_PARCELFILEDESCRIPTOR: android_fdsan_owner_type =
3055        android_fdsan_owner_type(8);
3056}
3057impl android_fdsan_owner_type {
3058    pub const ANDROID_FDSAN_OWNER_TYPE_ART_FDFILE: android_fdsan_owner_type =
3059        android_fdsan_owner_type(9);
3060}
3061impl android_fdsan_owner_type {
3062    pub const ANDROID_FDSAN_OWNER_TYPE_DATAGRAMSOCKETIMPL: android_fdsan_owner_type =
3063        android_fdsan_owner_type(10);
3064}
3065impl android_fdsan_owner_type {
3066    pub const ANDROID_FDSAN_OWNER_TYPE_SOCKETIMPL: android_fdsan_owner_type =
3067        android_fdsan_owner_type(11);
3068}
3069impl android_fdsan_owner_type {
3070    pub const ANDROID_FDSAN_OWNER_TYPE_ZIPARCHIVE: android_fdsan_owner_type =
3071        android_fdsan_owner_type(12);
3072}
3073impl android_fdsan_owner_type {
3074    pub const ANDROID_FDSAN_OWNER_TYPE_NATIVE_HANDLE: android_fdsan_owner_type =
3075        android_fdsan_owner_type(13);
3076}
3077impl android_fdsan_owner_type {
3078    pub const ANDROID_FDSAN_OWNER_TYPE_PARCEL: android_fdsan_owner_type =
3079        android_fdsan_owner_type(14);
3080}
3081#[repr(transparent)]
3082#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3083pub struct android_fdsan_owner_type(pub ::std::os::raw::c_uint);
3084extern "C" {
3085    pub fn android_fdsan_create_owner_tag(type_: android_fdsan_owner_type, tag: u64) -> u64;
3086}
3087extern "C" {
3088    pub fn android_fdsan_exchange_owner_tag(
3089        fd: ::std::os::raw::c_int,
3090        expected_tag: u64,
3091        new_tag: u64,
3092    );
3093}
3094extern "C" {
3095    pub fn android_fdsan_close_with_tag(
3096        fd: ::std::os::raw::c_int,
3097        tag: u64,
3098    ) -> ::std::os::raw::c_int;
3099}
3100extern "C" {
3101    pub fn android_fdsan_get_owner_tag(fd: ::std::os::raw::c_int) -> u64;
3102}
3103extern "C" {
3104    pub fn android_fdsan_get_tag_type(tag: u64) -> *const ::std::os::raw::c_char;
3105}
3106extern "C" {
3107    pub fn android_fdsan_get_tag_value(tag: u64) -> u64;
3108}
3109impl android_fdsan_error_level {
3110    pub const ANDROID_FDSAN_ERROR_LEVEL_DISABLED: android_fdsan_error_level =
3111        android_fdsan_error_level(0);
3112}
3113impl android_fdsan_error_level {
3114    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ONCE: android_fdsan_error_level =
3115        android_fdsan_error_level(1);
3116}
3117impl android_fdsan_error_level {
3118    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ALWAYS: android_fdsan_error_level =
3119        android_fdsan_error_level(2);
3120}
3121impl android_fdsan_error_level {
3122    pub const ANDROID_FDSAN_ERROR_LEVEL_FATAL: android_fdsan_error_level =
3123        android_fdsan_error_level(3);
3124}
3125#[repr(transparent)]
3126#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3127pub struct android_fdsan_error_level(pub ::std::os::raw::c_uint);
3128extern "C" {
3129    pub fn android_fdsan_get_error_level() -> android_fdsan_error_level;
3130}
3131extern "C" {
3132    pub fn android_fdsan_set_error_level(
3133        new_level: android_fdsan_error_level,
3134    ) -> android_fdsan_error_level;
3135}
3136extern "C" {
3137    pub fn android_fdsan_set_error_level_from_property(
3138        default_level: android_fdsan_error_level,
3139    ) -> android_fdsan_error_level;
3140}
3141extern "C" {
3142    pub fn AFileDescriptor_create(env: *mut JNIEnv) -> jobject;
3143}
3144extern "C" {
3145    pub fn AFileDescriptor_getFd(
3146        env: *mut JNIEnv,
3147        fileDescriptor: jobject,
3148    ) -> ::std::os::raw::c_int;
3149}
3150extern "C" {
3151    pub fn AFileDescriptor_setFd(
3152        env: *mut JNIEnv,
3153        fileDescriptor: jobject,
3154        fd: ::std::os::raw::c_int,
3155    );
3156}
3157pub const AFONT_WEIGHT_MIN: _bindgen_ty_7 = 0;
3158pub const AFONT_WEIGHT_THIN: _bindgen_ty_7 = 100;
3159pub const AFONT_WEIGHT_EXTRA_LIGHT: _bindgen_ty_7 = 200;
3160pub const AFONT_WEIGHT_LIGHT: _bindgen_ty_7 = 300;
3161pub const AFONT_WEIGHT_NORMAL: _bindgen_ty_7 = 400;
3162pub const AFONT_WEIGHT_MEDIUM: _bindgen_ty_7 = 500;
3163pub const AFONT_WEIGHT_SEMI_BOLD: _bindgen_ty_7 = 600;
3164pub const AFONT_WEIGHT_BOLD: _bindgen_ty_7 = 700;
3165pub const AFONT_WEIGHT_EXTRA_BOLD: _bindgen_ty_7 = 800;
3166pub const AFONT_WEIGHT_BLACK: _bindgen_ty_7 = 900;
3167pub const AFONT_WEIGHT_MAX: _bindgen_ty_7 = 1000;
3168pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
3169#[repr(C)]
3170#[derive(Debug, Copy, Clone)]
3171pub struct AFont {
3172    _unused: [u8; 0],
3173}
3174extern "C" {
3175    pub fn AFont_close(font: *mut AFont);
3176}
3177extern "C" {
3178    pub fn AFont_getFontFilePath(font: *const AFont) -> *const ::std::os::raw::c_char;
3179}
3180extern "C" {
3181    pub fn AFont_getWeight(font: *const AFont) -> u16;
3182}
3183extern "C" {
3184    pub fn AFont_isItalic(font: *const AFont) -> bool;
3185}
3186extern "C" {
3187    pub fn AFont_getLocale(font: *const AFont) -> *const ::std::os::raw::c_char;
3188}
3189extern "C" {
3190    pub fn AFont_getCollectionIndex(font: *const AFont) -> usize;
3191}
3192extern "C" {
3193    pub fn AFont_getAxisCount(font: *const AFont) -> usize;
3194}
3195extern "C" {
3196    pub fn AFont_getAxisTag(font: *const AFont, axisIndex: u32) -> u32;
3197}
3198extern "C" {
3199    pub fn AFont_getAxisValue(font: *const AFont, axisIndex: u32) -> f32;
3200}
3201pub const AFAMILY_VARIANT_DEFAULT: _bindgen_ty_8 = 0;
3202pub const AFAMILY_VARIANT_COMPACT: _bindgen_ty_8 = 1;
3203pub const AFAMILY_VARIANT_ELEGANT: _bindgen_ty_8 = 2;
3204pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
3205#[repr(C)]
3206#[derive(Debug, Copy, Clone)]
3207pub struct AFontMatcher {
3208    _unused: [u8; 0],
3209}
3210extern "C" {
3211    pub fn AFontMatcher_create() -> *mut AFontMatcher;
3212}
3213extern "C" {
3214    pub fn AFontMatcher_destroy(matcher: *mut AFontMatcher);
3215}
3216extern "C" {
3217    pub fn AFontMatcher_setStyle(matcher: *mut AFontMatcher, weight: u16, italic: bool);
3218}
3219extern "C" {
3220    pub fn AFontMatcher_setLocales(
3221        matcher: *mut AFontMatcher,
3222        languageTags: *const ::std::os::raw::c_char,
3223    );
3224}
3225extern "C" {
3226    pub fn AFontMatcher_setFamilyVariant(matcher: *mut AFontMatcher, familyVariant: u32);
3227}
3228extern "C" {
3229    pub fn AFontMatcher_match(
3230        matcher: *const AFontMatcher,
3231        familyName: *const ::std::os::raw::c_char,
3232        text: *const u16,
3233        textLength: u32,
3234        runLengthOut: *mut u32,
3235    ) -> *mut AFont;
3236}
3237#[repr(C)]
3238#[derive(Debug, Copy, Clone)]
3239pub struct ARect {
3240    pub left: i32,
3241    pub top: i32,
3242    pub right: i32,
3243    pub bottom: i32,
3244}
3245#[test]
3246fn bindgen_test_layout_ARect() {
3247    const UNINIT: ::std::mem::MaybeUninit<ARect> = ::std::mem::MaybeUninit::uninit();
3248    let ptr = UNINIT.as_ptr();
3249    assert_eq!(
3250        ::std::mem::size_of::<ARect>(),
3251        16usize,
3252        concat!("Size of: ", stringify!(ARect))
3253    );
3254    assert_eq!(
3255        ::std::mem::align_of::<ARect>(),
3256        4usize,
3257        concat!("Alignment of ", stringify!(ARect))
3258    );
3259    assert_eq!(
3260        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
3261        0usize,
3262        concat!(
3263            "Offset of field: ",
3264            stringify!(ARect),
3265            "::",
3266            stringify!(left)
3267        )
3268    );
3269    assert_eq!(
3270        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
3271        4usize,
3272        concat!(
3273            "Offset of field: ",
3274            stringify!(ARect),
3275            "::",
3276            stringify!(top)
3277        )
3278    );
3279    assert_eq!(
3280        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
3281        8usize,
3282        concat!(
3283            "Offset of field: ",
3284            stringify!(ARect),
3285            "::",
3286            stringify!(right)
3287        )
3288    );
3289    assert_eq!(
3290        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
3291        12usize,
3292        concat!(
3293            "Offset of field: ",
3294            stringify!(ARect),
3295            "::",
3296            stringify!(bottom)
3297        )
3298    );
3299}
3300impl AHardwareBuffer_Format {
3301    pub const AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format =
3302        AHardwareBuffer_Format(1);
3303}
3304impl AHardwareBuffer_Format {
3305    pub const AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format =
3306        AHardwareBuffer_Format(2);
3307}
3308impl AHardwareBuffer_Format {
3309    pub const AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format =
3310        AHardwareBuffer_Format(3);
3311}
3312impl AHardwareBuffer_Format {
3313    pub const AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format =
3314        AHardwareBuffer_Format(4);
3315}
3316impl AHardwareBuffer_Format {
3317    pub const AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
3318        AHardwareBuffer_Format(22);
3319}
3320impl AHardwareBuffer_Format {
3321    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
3322        AHardwareBuffer_Format(43);
3323}
3324impl AHardwareBuffer_Format {
3325    pub const AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = AHardwareBuffer_Format(33);
3326}
3327impl AHardwareBuffer_Format {
3328    pub const AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(48);
3329}
3330impl AHardwareBuffer_Format {
3331    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(49);
3332}
3333impl AHardwareBuffer_Format {
3334    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
3335        AHardwareBuffer_Format(50);
3336}
3337impl AHardwareBuffer_Format {
3338    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = AHardwareBuffer_Format(51);
3339}
3340impl AHardwareBuffer_Format {
3341    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
3342        AHardwareBuffer_Format(52);
3343}
3344impl AHardwareBuffer_Format {
3345    pub const AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(53);
3346}
3347impl AHardwareBuffer_Format {
3348    pub const AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format =
3349        AHardwareBuffer_Format(35);
3350}
3351impl AHardwareBuffer_Format {
3352    pub const AHARDWAREBUFFER_FORMAT_YCbCr_P010: AHardwareBuffer_Format =
3353        AHardwareBuffer_Format(54);
3354}
3355impl AHardwareBuffer_Format {
3356    pub const AHARDWAREBUFFER_FORMAT_R8_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(56);
3357}
3358impl AHardwareBuffer_Format {
3359    pub const AHARDWAREBUFFER_FORMAT_R16_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(57);
3360}
3361impl AHardwareBuffer_Format {
3362    pub const AHARDWAREBUFFER_FORMAT_R16G16_UINT: AHardwareBuffer_Format =
3363        AHardwareBuffer_Format(58);
3364}
3365impl AHardwareBuffer_Format {
3366    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM: AHardwareBuffer_Format =
3367        AHardwareBuffer_Format(59);
3368}
3369#[repr(transparent)]
3370#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3371pub struct AHardwareBuffer_Format(pub ::std::os::raw::c_uint);
3372impl AHardwareBuffer_UsageFlags {
3373    pub const AHARDWAREBUFFER_USAGE_CPU_READ_NEVER: AHardwareBuffer_UsageFlags =
3374        AHardwareBuffer_UsageFlags(0);
3375}
3376impl AHardwareBuffer_UsageFlags {
3377    pub const AHARDWAREBUFFER_USAGE_CPU_READ_RARELY: AHardwareBuffer_UsageFlags =
3378        AHardwareBuffer_UsageFlags(2);
3379}
3380impl AHardwareBuffer_UsageFlags {
3381    pub const AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN: AHardwareBuffer_UsageFlags =
3382        AHardwareBuffer_UsageFlags(3);
3383}
3384impl AHardwareBuffer_UsageFlags {
3385    pub const AHARDWAREBUFFER_USAGE_CPU_READ_MASK: AHardwareBuffer_UsageFlags =
3386        AHardwareBuffer_UsageFlags(15);
3387}
3388impl AHardwareBuffer_UsageFlags {
3389    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER: AHardwareBuffer_UsageFlags =
3390        AHardwareBuffer_UsageFlags(0);
3391}
3392impl AHardwareBuffer_UsageFlags {
3393    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY: AHardwareBuffer_UsageFlags =
3394        AHardwareBuffer_UsageFlags(32);
3395}
3396impl AHardwareBuffer_UsageFlags {
3397    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN: AHardwareBuffer_UsageFlags =
3398        AHardwareBuffer_UsageFlags(48);
3399}
3400impl AHardwareBuffer_UsageFlags {
3401    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK: AHardwareBuffer_UsageFlags =
3402        AHardwareBuffer_UsageFlags(240);
3403}
3404impl AHardwareBuffer_UsageFlags {
3405    pub const AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE: AHardwareBuffer_UsageFlags =
3406        AHardwareBuffer_UsageFlags(256);
3407}
3408impl AHardwareBuffer_UsageFlags {
3409    pub const AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER: AHardwareBuffer_UsageFlags =
3410        AHardwareBuffer_UsageFlags(512);
3411}
3412impl AHardwareBuffer_UsageFlags {
3413    pub const AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT: AHardwareBuffer_UsageFlags =
3414        AHardwareBuffer_UsageFlags(512);
3415}
3416impl AHardwareBuffer_UsageFlags {
3417    pub const AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY: AHardwareBuffer_UsageFlags =
3418        AHardwareBuffer_UsageFlags(2048);
3419}
3420impl AHardwareBuffer_UsageFlags {
3421    pub const AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT: AHardwareBuffer_UsageFlags =
3422        AHardwareBuffer_UsageFlags(16384);
3423}
3424impl AHardwareBuffer_UsageFlags {
3425    pub const AHARDWAREBUFFER_USAGE_VIDEO_ENCODE: AHardwareBuffer_UsageFlags =
3426        AHardwareBuffer_UsageFlags(65536);
3427}
3428impl AHardwareBuffer_UsageFlags {
3429    pub const AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA: AHardwareBuffer_UsageFlags =
3430        AHardwareBuffer_UsageFlags(8388608);
3431}
3432impl AHardwareBuffer_UsageFlags {
3433    pub const AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER: AHardwareBuffer_UsageFlags =
3434        AHardwareBuffer_UsageFlags(16777216);
3435}
3436impl AHardwareBuffer_UsageFlags {
3437    pub const AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP: AHardwareBuffer_UsageFlags =
3438        AHardwareBuffer_UsageFlags(33554432);
3439}
3440impl AHardwareBuffer_UsageFlags {
3441    pub const AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE: AHardwareBuffer_UsageFlags =
3442        AHardwareBuffer_UsageFlags(67108864);
3443}
3444impl AHardwareBuffer_UsageFlags {
3445    pub const AHARDWAREBUFFER_USAGE_FRONT_BUFFER: AHardwareBuffer_UsageFlags =
3446        AHardwareBuffer_UsageFlags(4294967296);
3447}
3448impl AHardwareBuffer_UsageFlags {
3449    pub const AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
3450        AHardwareBuffer_UsageFlags(268435456);
3451}
3452impl AHardwareBuffer_UsageFlags {
3453    pub const AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
3454        AHardwareBuffer_UsageFlags(536870912);
3455}
3456impl AHardwareBuffer_UsageFlags {
3457    pub const AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
3458        AHardwareBuffer_UsageFlags(1073741824);
3459}
3460impl AHardwareBuffer_UsageFlags {
3461    pub const AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
3462        AHardwareBuffer_UsageFlags(2147483648);
3463}
3464impl AHardwareBuffer_UsageFlags {
3465    pub const AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
3466        AHardwareBuffer_UsageFlags(281474976710656);
3467}
3468impl AHardwareBuffer_UsageFlags {
3469    pub const AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
3470        AHardwareBuffer_UsageFlags(562949953421312);
3471}
3472impl AHardwareBuffer_UsageFlags {
3473    pub const AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
3474        AHardwareBuffer_UsageFlags(1125899906842624);
3475}
3476impl AHardwareBuffer_UsageFlags {
3477    pub const AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
3478        AHardwareBuffer_UsageFlags(2251799813685248);
3479}
3480impl AHardwareBuffer_UsageFlags {
3481    pub const AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
3482        AHardwareBuffer_UsageFlags(4503599627370496);
3483}
3484impl AHardwareBuffer_UsageFlags {
3485    pub const AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
3486        AHardwareBuffer_UsageFlags(9007199254740992);
3487}
3488impl AHardwareBuffer_UsageFlags {
3489    pub const AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
3490        AHardwareBuffer_UsageFlags(18014398509481984);
3491}
3492impl AHardwareBuffer_UsageFlags {
3493    pub const AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
3494        AHardwareBuffer_UsageFlags(36028797018963968);
3495}
3496impl AHardwareBuffer_UsageFlags {
3497    pub const AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
3498        AHardwareBuffer_UsageFlags(72057594037927936);
3499}
3500impl AHardwareBuffer_UsageFlags {
3501    pub const AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
3502        AHardwareBuffer_UsageFlags(144115188075855872);
3503}
3504impl AHardwareBuffer_UsageFlags {
3505    pub const AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
3506        AHardwareBuffer_UsageFlags(288230376151711744);
3507}
3508impl AHardwareBuffer_UsageFlags {
3509    pub const AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
3510        AHardwareBuffer_UsageFlags(576460752303423488);
3511}
3512impl AHardwareBuffer_UsageFlags {
3513    pub const AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
3514        AHardwareBuffer_UsageFlags(1152921504606846976);
3515}
3516impl AHardwareBuffer_UsageFlags {
3517    pub const AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
3518        AHardwareBuffer_UsageFlags(2305843009213693952);
3519}
3520impl AHardwareBuffer_UsageFlags {
3521    pub const AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
3522        AHardwareBuffer_UsageFlags(4611686018427387904);
3523}
3524impl AHardwareBuffer_UsageFlags {
3525    pub const AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
3526        AHardwareBuffer_UsageFlags(9223372036854775808);
3527}
3528#[repr(transparent)]
3529#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3530pub struct AHardwareBuffer_UsageFlags(pub ::std::os::raw::c_ulong);
3531#[repr(C)]
3532#[derive(Debug, Copy, Clone)]
3533pub struct AHardwareBuffer_Desc {
3534    pub width: u32,
3535    pub height: u32,
3536    pub layers: u32,
3537    pub format: u32,
3538    pub usage: u64,
3539    pub stride: u32,
3540    pub rfu0: u32,
3541    pub rfu1: u64,
3542}
3543#[test]
3544fn bindgen_test_layout_AHardwareBuffer_Desc() {
3545    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Desc> = ::std::mem::MaybeUninit::uninit();
3546    let ptr = UNINIT.as_ptr();
3547    assert_eq!(
3548        ::std::mem::size_of::<AHardwareBuffer_Desc>(),
3549        40usize,
3550        concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
3551    );
3552    assert_eq!(
3553        ::std::mem::align_of::<AHardwareBuffer_Desc>(),
3554        8usize,
3555        concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
3556    );
3557    assert_eq!(
3558        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
3559        0usize,
3560        concat!(
3561            "Offset of field: ",
3562            stringify!(AHardwareBuffer_Desc),
3563            "::",
3564            stringify!(width)
3565        )
3566    );
3567    assert_eq!(
3568        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
3569        4usize,
3570        concat!(
3571            "Offset of field: ",
3572            stringify!(AHardwareBuffer_Desc),
3573            "::",
3574            stringify!(height)
3575        )
3576    );
3577    assert_eq!(
3578        unsafe { ::std::ptr::addr_of!((*ptr).layers) as usize - ptr as usize },
3579        8usize,
3580        concat!(
3581            "Offset of field: ",
3582            stringify!(AHardwareBuffer_Desc),
3583            "::",
3584            stringify!(layers)
3585        )
3586    );
3587    assert_eq!(
3588        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
3589        12usize,
3590        concat!(
3591            "Offset of field: ",
3592            stringify!(AHardwareBuffer_Desc),
3593            "::",
3594            stringify!(format)
3595        )
3596    );
3597    assert_eq!(
3598        unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize },
3599        16usize,
3600        concat!(
3601            "Offset of field: ",
3602            stringify!(AHardwareBuffer_Desc),
3603            "::",
3604            stringify!(usage)
3605        )
3606    );
3607    assert_eq!(
3608        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
3609        24usize,
3610        concat!(
3611            "Offset of field: ",
3612            stringify!(AHardwareBuffer_Desc),
3613            "::",
3614            stringify!(stride)
3615        )
3616    );
3617    assert_eq!(
3618        unsafe { ::std::ptr::addr_of!((*ptr).rfu0) as usize - ptr as usize },
3619        28usize,
3620        concat!(
3621            "Offset of field: ",
3622            stringify!(AHardwareBuffer_Desc),
3623            "::",
3624            stringify!(rfu0)
3625        )
3626    );
3627    assert_eq!(
3628        unsafe { ::std::ptr::addr_of!((*ptr).rfu1) as usize - ptr as usize },
3629        32usize,
3630        concat!(
3631            "Offset of field: ",
3632            stringify!(AHardwareBuffer_Desc),
3633            "::",
3634            stringify!(rfu1)
3635        )
3636    );
3637}
3638#[repr(C)]
3639#[derive(Debug, Copy, Clone)]
3640pub struct AHardwareBuffer_Plane {
3641    pub data: *mut ::std::os::raw::c_void,
3642    pub pixelStride: u32,
3643    pub rowStride: u32,
3644}
3645#[test]
3646fn bindgen_test_layout_AHardwareBuffer_Plane() {
3647    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Plane> =
3648        ::std::mem::MaybeUninit::uninit();
3649    let ptr = UNINIT.as_ptr();
3650    assert_eq!(
3651        ::std::mem::size_of::<AHardwareBuffer_Plane>(),
3652        16usize,
3653        concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
3654    );
3655    assert_eq!(
3656        ::std::mem::align_of::<AHardwareBuffer_Plane>(),
3657        8usize,
3658        concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
3659    );
3660    assert_eq!(
3661        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3662        0usize,
3663        concat!(
3664            "Offset of field: ",
3665            stringify!(AHardwareBuffer_Plane),
3666            "::",
3667            stringify!(data)
3668        )
3669    );
3670    assert_eq!(
3671        unsafe { ::std::ptr::addr_of!((*ptr).pixelStride) as usize - ptr as usize },
3672        8usize,
3673        concat!(
3674            "Offset of field: ",
3675            stringify!(AHardwareBuffer_Plane),
3676            "::",
3677            stringify!(pixelStride)
3678        )
3679    );
3680    assert_eq!(
3681        unsafe { ::std::ptr::addr_of!((*ptr).rowStride) as usize - ptr as usize },
3682        12usize,
3683        concat!(
3684            "Offset of field: ",
3685            stringify!(AHardwareBuffer_Plane),
3686            "::",
3687            stringify!(rowStride)
3688        )
3689    );
3690}
3691#[repr(C)]
3692#[derive(Debug, Copy, Clone)]
3693pub struct AHardwareBuffer_Planes {
3694    pub planeCount: u32,
3695    pub planes: [AHardwareBuffer_Plane; 4usize],
3696}
3697#[test]
3698fn bindgen_test_layout_AHardwareBuffer_Planes() {
3699    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Planes> =
3700        ::std::mem::MaybeUninit::uninit();
3701    let ptr = UNINIT.as_ptr();
3702    assert_eq!(
3703        ::std::mem::size_of::<AHardwareBuffer_Planes>(),
3704        72usize,
3705        concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
3706    );
3707    assert_eq!(
3708        ::std::mem::align_of::<AHardwareBuffer_Planes>(),
3709        8usize,
3710        concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
3711    );
3712    assert_eq!(
3713        unsafe { ::std::ptr::addr_of!((*ptr).planeCount) as usize - ptr as usize },
3714        0usize,
3715        concat!(
3716            "Offset of field: ",
3717            stringify!(AHardwareBuffer_Planes),
3718            "::",
3719            stringify!(planeCount)
3720        )
3721    );
3722    assert_eq!(
3723        unsafe { ::std::ptr::addr_of!((*ptr).planes) as usize - ptr as usize },
3724        8usize,
3725        concat!(
3726            "Offset of field: ",
3727            stringify!(AHardwareBuffer_Planes),
3728            "::",
3729            stringify!(planes)
3730        )
3731    );
3732}
3733extern "C" {
3734    pub fn AHardwareBuffer_allocate(
3735        desc: *const AHardwareBuffer_Desc,
3736        outBuffer: *mut *mut AHardwareBuffer,
3737    ) -> ::std::os::raw::c_int;
3738}
3739extern "C" {
3740    pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
3741}
3742extern "C" {
3743    pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
3744}
3745extern "C" {
3746    pub fn AHardwareBuffer_describe(
3747        buffer: *const AHardwareBuffer,
3748        outDesc: *mut AHardwareBuffer_Desc,
3749    );
3750}
3751extern "C" {
3752    pub fn AHardwareBuffer_lock(
3753        buffer: *mut AHardwareBuffer,
3754        usage: u64,
3755        fence: i32,
3756        rect: *const ARect,
3757        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3758    ) -> ::std::os::raw::c_int;
3759}
3760extern "C" {
3761    pub fn AHardwareBuffer_unlock(
3762        buffer: *mut AHardwareBuffer,
3763        fence: *mut i32,
3764    ) -> ::std::os::raw::c_int;
3765}
3766extern "C" {
3767    pub fn AHardwareBuffer_sendHandleToUnixSocket(
3768        buffer: *const AHardwareBuffer,
3769        socketFd: ::std::os::raw::c_int,
3770    ) -> ::std::os::raw::c_int;
3771}
3772extern "C" {
3773    pub fn AHardwareBuffer_recvHandleFromUnixSocket(
3774        socketFd: ::std::os::raw::c_int,
3775        outBuffer: *mut *mut AHardwareBuffer,
3776    ) -> ::std::os::raw::c_int;
3777}
3778extern "C" {
3779    pub fn AHardwareBuffer_lockPlanes(
3780        buffer: *mut AHardwareBuffer,
3781        usage: u64,
3782        fence: i32,
3783        rect: *const ARect,
3784        outPlanes: *mut AHardwareBuffer_Planes,
3785    ) -> ::std::os::raw::c_int;
3786}
3787extern "C" {
3788    pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
3789}
3790extern "C" {
3791    pub fn AHardwareBuffer_lockAndGetInfo(
3792        buffer: *mut AHardwareBuffer,
3793        usage: u64,
3794        fence: i32,
3795        rect: *const ARect,
3796        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3797        outBytesPerPixel: *mut i32,
3798        outBytesPerStride: *mut i32,
3799    ) -> ::std::os::raw::c_int;
3800}
3801extern "C" {
3802    pub fn AHardwareBuffer_getId(
3803        buffer: *const AHardwareBuffer,
3804        outId: *mut u64,
3805    ) -> ::std::os::raw::c_int;
3806}
3807extern "C" {
3808    pub fn AHardwareBuffer_fromHardwareBuffer(
3809        env: *mut JNIEnv,
3810        hardwareBufferObj: jobject,
3811    ) -> *mut AHardwareBuffer;
3812}
3813extern "C" {
3814    pub fn AHardwareBuffer_toHardwareBuffer(
3815        env: *mut JNIEnv,
3816        hardwareBuffer: *mut AHardwareBuffer,
3817    ) -> jobject;
3818}
3819impl AHdrMetadataType {
3820    pub const HDR10_SMPTE2086: AHdrMetadataType = AHdrMetadataType(1);
3821}
3822impl AHdrMetadataType {
3823    pub const HDR10_CTA861_3: AHdrMetadataType = AHdrMetadataType(2);
3824}
3825impl AHdrMetadataType {
3826    pub const HDR10PLUS_SEI: AHdrMetadataType = AHdrMetadataType(3);
3827}
3828#[repr(transparent)]
3829#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3830pub struct AHdrMetadataType(pub u32);
3831#[repr(C)]
3832#[derive(Debug, Copy, Clone)]
3833pub struct AColor_xy {
3834    pub x: f32,
3835    pub y: f32,
3836}
3837#[test]
3838fn bindgen_test_layout_AColor_xy() {
3839    const UNINIT: ::std::mem::MaybeUninit<AColor_xy> = ::std::mem::MaybeUninit::uninit();
3840    let ptr = UNINIT.as_ptr();
3841    assert_eq!(
3842        ::std::mem::size_of::<AColor_xy>(),
3843        8usize,
3844        concat!("Size of: ", stringify!(AColor_xy))
3845    );
3846    assert_eq!(
3847        ::std::mem::align_of::<AColor_xy>(),
3848        4usize,
3849        concat!("Alignment of ", stringify!(AColor_xy))
3850    );
3851    assert_eq!(
3852        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
3853        0usize,
3854        concat!(
3855            "Offset of field: ",
3856            stringify!(AColor_xy),
3857            "::",
3858            stringify!(x)
3859        )
3860    );
3861    assert_eq!(
3862        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
3863        4usize,
3864        concat!(
3865            "Offset of field: ",
3866            stringify!(AColor_xy),
3867            "::",
3868            stringify!(y)
3869        )
3870    );
3871}
3872#[repr(C)]
3873#[derive(Debug, Copy, Clone)]
3874pub struct AHdrMetadata_smpte2086 {
3875    pub displayPrimaryRed: AColor_xy,
3876    pub displayPrimaryGreen: AColor_xy,
3877    pub displayPrimaryBlue: AColor_xy,
3878    pub whitePoint: AColor_xy,
3879    pub maxLuminance: f32,
3880    pub minLuminance: f32,
3881}
3882#[test]
3883fn bindgen_test_layout_AHdrMetadata_smpte2086() {
3884    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_smpte2086> =
3885        ::std::mem::MaybeUninit::uninit();
3886    let ptr = UNINIT.as_ptr();
3887    assert_eq!(
3888        ::std::mem::size_of::<AHdrMetadata_smpte2086>(),
3889        40usize,
3890        concat!("Size of: ", stringify!(AHdrMetadata_smpte2086))
3891    );
3892    assert_eq!(
3893        ::std::mem::align_of::<AHdrMetadata_smpte2086>(),
3894        4usize,
3895        concat!("Alignment of ", stringify!(AHdrMetadata_smpte2086))
3896    );
3897    assert_eq!(
3898        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryRed) as usize - ptr as usize },
3899        0usize,
3900        concat!(
3901            "Offset of field: ",
3902            stringify!(AHdrMetadata_smpte2086),
3903            "::",
3904            stringify!(displayPrimaryRed)
3905        )
3906    );
3907    assert_eq!(
3908        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryGreen) as usize - ptr as usize },
3909        8usize,
3910        concat!(
3911            "Offset of field: ",
3912            stringify!(AHdrMetadata_smpte2086),
3913            "::",
3914            stringify!(displayPrimaryGreen)
3915        )
3916    );
3917    assert_eq!(
3918        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryBlue) as usize - ptr as usize },
3919        16usize,
3920        concat!(
3921            "Offset of field: ",
3922            stringify!(AHdrMetadata_smpte2086),
3923            "::",
3924            stringify!(displayPrimaryBlue)
3925        )
3926    );
3927    assert_eq!(
3928        unsafe { ::std::ptr::addr_of!((*ptr).whitePoint) as usize - ptr as usize },
3929        24usize,
3930        concat!(
3931            "Offset of field: ",
3932            stringify!(AHdrMetadata_smpte2086),
3933            "::",
3934            stringify!(whitePoint)
3935        )
3936    );
3937    assert_eq!(
3938        unsafe { ::std::ptr::addr_of!((*ptr).maxLuminance) as usize - ptr as usize },
3939        32usize,
3940        concat!(
3941            "Offset of field: ",
3942            stringify!(AHdrMetadata_smpte2086),
3943            "::",
3944            stringify!(maxLuminance)
3945        )
3946    );
3947    assert_eq!(
3948        unsafe { ::std::ptr::addr_of!((*ptr).minLuminance) as usize - ptr as usize },
3949        36usize,
3950        concat!(
3951            "Offset of field: ",
3952            stringify!(AHdrMetadata_smpte2086),
3953            "::",
3954            stringify!(minLuminance)
3955        )
3956    );
3957}
3958#[repr(C)]
3959#[derive(Debug, Copy, Clone)]
3960pub struct AHdrMetadata_cta861_3 {
3961    pub maxContentLightLevel: f32,
3962    pub maxFrameAverageLightLevel: f32,
3963}
3964#[test]
3965fn bindgen_test_layout_AHdrMetadata_cta861_3() {
3966    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_cta861_3> =
3967        ::std::mem::MaybeUninit::uninit();
3968    let ptr = UNINIT.as_ptr();
3969    assert_eq!(
3970        ::std::mem::size_of::<AHdrMetadata_cta861_3>(),
3971        8usize,
3972        concat!("Size of: ", stringify!(AHdrMetadata_cta861_3))
3973    );
3974    assert_eq!(
3975        ::std::mem::align_of::<AHdrMetadata_cta861_3>(),
3976        4usize,
3977        concat!("Alignment of ", stringify!(AHdrMetadata_cta861_3))
3978    );
3979    assert_eq!(
3980        unsafe { ::std::ptr::addr_of!((*ptr).maxContentLightLevel) as usize - ptr as usize },
3981        0usize,
3982        concat!(
3983            "Offset of field: ",
3984            stringify!(AHdrMetadata_cta861_3),
3985            "::",
3986            stringify!(maxContentLightLevel)
3987        )
3988    );
3989    assert_eq!(
3990        unsafe { ::std::ptr::addr_of!((*ptr).maxFrameAverageLightLevel) as usize - ptr as usize },
3991        4usize,
3992        concat!(
3993            "Offset of field: ",
3994            stringify!(AHdrMetadata_cta861_3),
3995            "::",
3996            stringify!(maxFrameAverageLightLevel)
3997        )
3998    );
3999}
4000pub const ANDROID_IMAGE_DECODER_SUCCESS: _bindgen_ty_9 = 0;
4001pub const ANDROID_IMAGE_DECODER_INCOMPLETE: _bindgen_ty_9 = -1;
4002pub const ANDROID_IMAGE_DECODER_ERROR: _bindgen_ty_9 = -2;
4003pub const ANDROID_IMAGE_DECODER_INVALID_CONVERSION: _bindgen_ty_9 = -3;
4004pub const ANDROID_IMAGE_DECODER_INVALID_SCALE: _bindgen_ty_9 = -4;
4005pub const ANDROID_IMAGE_DECODER_BAD_PARAMETER: _bindgen_ty_9 = -5;
4006pub const ANDROID_IMAGE_DECODER_INVALID_INPUT: _bindgen_ty_9 = -6;
4007pub const ANDROID_IMAGE_DECODER_SEEK_ERROR: _bindgen_ty_9 = -7;
4008pub const ANDROID_IMAGE_DECODER_INTERNAL_ERROR: _bindgen_ty_9 = -8;
4009pub const ANDROID_IMAGE_DECODER_UNSUPPORTED_FORMAT: _bindgen_ty_9 = -9;
4010pub const ANDROID_IMAGE_DECODER_FINISHED: _bindgen_ty_9 = -10;
4011pub const ANDROID_IMAGE_DECODER_INVALID_STATE: _bindgen_ty_9 = -11;
4012pub type _bindgen_ty_9 = ::std::os::raw::c_int;
4013extern "C" {
4014    pub fn AImageDecoder_resultToString(
4015        arg1: ::std::os::raw::c_int,
4016    ) -> *const ::std::os::raw::c_char;
4017}
4018#[repr(C)]
4019#[derive(Debug, Copy, Clone)]
4020pub struct AImageDecoder {
4021    _unused: [u8; 0],
4022}
4023extern "C" {
4024    pub fn AImageDecoder_createFromAAsset(
4025        asset: *mut AAsset,
4026        outDecoder: *mut *mut AImageDecoder,
4027    ) -> ::std::os::raw::c_int;
4028}
4029extern "C" {
4030    pub fn AImageDecoder_createFromFd(
4031        fd: ::std::os::raw::c_int,
4032        outDecoder: *mut *mut AImageDecoder,
4033    ) -> ::std::os::raw::c_int;
4034}
4035extern "C" {
4036    pub fn AImageDecoder_createFromBuffer(
4037        buffer: *const ::std::os::raw::c_void,
4038        length: usize,
4039        outDecoder: *mut *mut AImageDecoder,
4040    ) -> ::std::os::raw::c_int;
4041}
4042extern "C" {
4043    pub fn AImageDecoder_delete(decoder: *mut AImageDecoder);
4044}
4045extern "C" {
4046    pub fn AImageDecoder_setAndroidBitmapFormat(
4047        decoder: *mut AImageDecoder,
4048        format: i32,
4049    ) -> ::std::os::raw::c_int;
4050}
4051extern "C" {
4052    pub fn AImageDecoder_setUnpremultipliedRequired(
4053        decoder: *mut AImageDecoder,
4054        unpremultipliedRequired: bool,
4055    ) -> ::std::os::raw::c_int;
4056}
4057extern "C" {
4058    pub fn AImageDecoder_setDataSpace(
4059        decoder: *mut AImageDecoder,
4060        dataspace: i32,
4061    ) -> ::std::os::raw::c_int;
4062}
4063extern "C" {
4064    pub fn AImageDecoder_setTargetSize(
4065        decoder: *mut AImageDecoder,
4066        width: i32,
4067        height: i32,
4068    ) -> ::std::os::raw::c_int;
4069}
4070extern "C" {
4071    pub fn AImageDecoder_computeSampledSize(
4072        decoder: *const AImageDecoder,
4073        sampleSize: ::std::os::raw::c_int,
4074        width: *mut i32,
4075        height: *mut i32,
4076    ) -> ::std::os::raw::c_int;
4077}
4078extern "C" {
4079    pub fn AImageDecoder_setCrop(decoder: *mut AImageDecoder, crop: ARect)
4080        -> ::std::os::raw::c_int;
4081}
4082#[repr(C)]
4083#[derive(Debug, Copy, Clone)]
4084pub struct AImageDecoderHeaderInfo {
4085    _unused: [u8; 0],
4086}
4087extern "C" {
4088    pub fn AImageDecoder_getHeaderInfo(
4089        decoder: *const AImageDecoder,
4090    ) -> *const AImageDecoderHeaderInfo;
4091}
4092extern "C" {
4093    pub fn AImageDecoderHeaderInfo_getWidth(arg1: *const AImageDecoderHeaderInfo) -> i32;
4094}
4095extern "C" {
4096    pub fn AImageDecoderHeaderInfo_getHeight(arg1: *const AImageDecoderHeaderInfo) -> i32;
4097}
4098extern "C" {
4099    pub fn AImageDecoderHeaderInfo_getMimeType(
4100        arg1: *const AImageDecoderHeaderInfo,
4101    ) -> *const ::std::os::raw::c_char;
4102}
4103extern "C" {
4104    pub fn AImageDecoderHeaderInfo_getAndroidBitmapFormat(
4105        arg1: *const AImageDecoderHeaderInfo,
4106    ) -> i32;
4107}
4108extern "C" {
4109    pub fn AImageDecoderHeaderInfo_getAlphaFlags(
4110        arg1: *const AImageDecoderHeaderInfo,
4111    ) -> ::std::os::raw::c_int;
4112}
4113extern "C" {
4114    pub fn AImageDecoderHeaderInfo_getDataSpace(arg1: *const AImageDecoderHeaderInfo) -> i32;
4115}
4116extern "C" {
4117    pub fn AImageDecoder_getMinimumStride(decoder: *mut AImageDecoder) -> usize;
4118}
4119extern "C" {
4120    pub fn AImageDecoder_decodeImage(
4121        decoder: *mut AImageDecoder,
4122        pixels: *mut ::std::os::raw::c_void,
4123        stride: usize,
4124        size: usize,
4125    ) -> ::std::os::raw::c_int;
4126}
4127extern "C" {
4128    pub fn AImageDecoder_isAnimated(decoder: *mut AImageDecoder) -> bool;
4129}
4130pub const ANDROID_IMAGE_DECODER_INFINITE: _bindgen_ty_10 = 2147483647;
4131pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
4132extern "C" {
4133    pub fn AImageDecoder_getRepeatCount(decoder: *mut AImageDecoder) -> i32;
4134}
4135extern "C" {
4136    pub fn AImageDecoder_advanceFrame(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4137}
4138extern "C" {
4139    pub fn AImageDecoder_rewind(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4140}
4141#[repr(C)]
4142#[derive(Debug, Copy, Clone)]
4143pub struct AImageDecoderFrameInfo {
4144    _unused: [u8; 0],
4145}
4146extern "C" {
4147    pub fn AImageDecoderFrameInfo_create() -> *mut AImageDecoderFrameInfo;
4148}
4149extern "C" {
4150    pub fn AImageDecoderFrameInfo_delete(info: *mut AImageDecoderFrameInfo);
4151}
4152extern "C" {
4153    pub fn AImageDecoder_getFrameInfo(
4154        decoder: *mut AImageDecoder,
4155        info: *mut AImageDecoderFrameInfo,
4156    ) -> ::std::os::raw::c_int;
4157}
4158extern "C" {
4159    pub fn AImageDecoderFrameInfo_getDuration(info: *const AImageDecoderFrameInfo) -> i64;
4160}
4161extern "C" {
4162    pub fn AImageDecoderFrameInfo_getFrameRect(info: *const AImageDecoderFrameInfo) -> ARect;
4163}
4164extern "C" {
4165    pub fn AImageDecoderFrameInfo_hasAlphaWithinBounds(info: *const AImageDecoderFrameInfo)
4166        -> bool;
4167}
4168pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_NONE: _bindgen_ty_11 = 1;
4169pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_BACKGROUND: _bindgen_ty_11 = 2;
4170pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_PREVIOUS: _bindgen_ty_11 = 3;
4171pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
4172extern "C" {
4173    pub fn AImageDecoderFrameInfo_getDisposeOp(info: *const AImageDecoderFrameInfo) -> i32;
4174}
4175pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC: _bindgen_ty_12 = 1;
4176pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC_OVER: _bindgen_ty_12 = 2;
4177pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
4178extern "C" {
4179    pub fn AImageDecoderFrameInfo_getBlendOp(info: *const AImageDecoderFrameInfo) -> i32;
4180}
4181extern "C" {
4182    pub fn AImageDecoder_setInternallyHandleDisposePrevious(
4183        decoder: *mut AImageDecoder,
4184        handleInternally: bool,
4185    );
4186}
4187pub const AKEYCODE_UNKNOWN: _bindgen_ty_13 = 0;
4188pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_13 = 1;
4189pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_13 = 2;
4190pub const AKEYCODE_HOME: _bindgen_ty_13 = 3;
4191pub const AKEYCODE_BACK: _bindgen_ty_13 = 4;
4192pub const AKEYCODE_CALL: _bindgen_ty_13 = 5;
4193pub const AKEYCODE_ENDCALL: _bindgen_ty_13 = 6;
4194pub const AKEYCODE_0: _bindgen_ty_13 = 7;
4195pub const AKEYCODE_1: _bindgen_ty_13 = 8;
4196pub const AKEYCODE_2: _bindgen_ty_13 = 9;
4197pub const AKEYCODE_3: _bindgen_ty_13 = 10;
4198pub const AKEYCODE_4: _bindgen_ty_13 = 11;
4199pub const AKEYCODE_5: _bindgen_ty_13 = 12;
4200pub const AKEYCODE_6: _bindgen_ty_13 = 13;
4201pub const AKEYCODE_7: _bindgen_ty_13 = 14;
4202pub const AKEYCODE_8: _bindgen_ty_13 = 15;
4203pub const AKEYCODE_9: _bindgen_ty_13 = 16;
4204pub const AKEYCODE_STAR: _bindgen_ty_13 = 17;
4205pub const AKEYCODE_POUND: _bindgen_ty_13 = 18;
4206pub const AKEYCODE_DPAD_UP: _bindgen_ty_13 = 19;
4207pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_13 = 20;
4208pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_13 = 21;
4209pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_13 = 22;
4210pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_13 = 23;
4211pub const AKEYCODE_VOLUME_UP: _bindgen_ty_13 = 24;
4212pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_13 = 25;
4213pub const AKEYCODE_POWER: _bindgen_ty_13 = 26;
4214pub const AKEYCODE_CAMERA: _bindgen_ty_13 = 27;
4215pub const AKEYCODE_CLEAR: _bindgen_ty_13 = 28;
4216pub const AKEYCODE_A: _bindgen_ty_13 = 29;
4217pub const AKEYCODE_B: _bindgen_ty_13 = 30;
4218pub const AKEYCODE_C: _bindgen_ty_13 = 31;
4219pub const AKEYCODE_D: _bindgen_ty_13 = 32;
4220pub const AKEYCODE_E: _bindgen_ty_13 = 33;
4221pub const AKEYCODE_F: _bindgen_ty_13 = 34;
4222pub const AKEYCODE_G: _bindgen_ty_13 = 35;
4223pub const AKEYCODE_H: _bindgen_ty_13 = 36;
4224pub const AKEYCODE_I: _bindgen_ty_13 = 37;
4225pub const AKEYCODE_J: _bindgen_ty_13 = 38;
4226pub const AKEYCODE_K: _bindgen_ty_13 = 39;
4227pub const AKEYCODE_L: _bindgen_ty_13 = 40;
4228pub const AKEYCODE_M: _bindgen_ty_13 = 41;
4229pub const AKEYCODE_N: _bindgen_ty_13 = 42;
4230pub const AKEYCODE_O: _bindgen_ty_13 = 43;
4231pub const AKEYCODE_P: _bindgen_ty_13 = 44;
4232pub const AKEYCODE_Q: _bindgen_ty_13 = 45;
4233pub const AKEYCODE_R: _bindgen_ty_13 = 46;
4234pub const AKEYCODE_S: _bindgen_ty_13 = 47;
4235pub const AKEYCODE_T: _bindgen_ty_13 = 48;
4236pub const AKEYCODE_U: _bindgen_ty_13 = 49;
4237pub const AKEYCODE_V: _bindgen_ty_13 = 50;
4238pub const AKEYCODE_W: _bindgen_ty_13 = 51;
4239pub const AKEYCODE_X: _bindgen_ty_13 = 52;
4240pub const AKEYCODE_Y: _bindgen_ty_13 = 53;
4241pub const AKEYCODE_Z: _bindgen_ty_13 = 54;
4242pub const AKEYCODE_COMMA: _bindgen_ty_13 = 55;
4243pub const AKEYCODE_PERIOD: _bindgen_ty_13 = 56;
4244pub const AKEYCODE_ALT_LEFT: _bindgen_ty_13 = 57;
4245pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_13 = 58;
4246pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_13 = 59;
4247pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_13 = 60;
4248pub const AKEYCODE_TAB: _bindgen_ty_13 = 61;
4249pub const AKEYCODE_SPACE: _bindgen_ty_13 = 62;
4250pub const AKEYCODE_SYM: _bindgen_ty_13 = 63;
4251pub const AKEYCODE_EXPLORER: _bindgen_ty_13 = 64;
4252pub const AKEYCODE_ENVELOPE: _bindgen_ty_13 = 65;
4253pub const AKEYCODE_ENTER: _bindgen_ty_13 = 66;
4254pub const AKEYCODE_DEL: _bindgen_ty_13 = 67;
4255pub const AKEYCODE_GRAVE: _bindgen_ty_13 = 68;
4256pub const AKEYCODE_MINUS: _bindgen_ty_13 = 69;
4257pub const AKEYCODE_EQUALS: _bindgen_ty_13 = 70;
4258pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_13 = 71;
4259pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_13 = 72;
4260pub const AKEYCODE_BACKSLASH: _bindgen_ty_13 = 73;
4261pub const AKEYCODE_SEMICOLON: _bindgen_ty_13 = 74;
4262pub const AKEYCODE_APOSTROPHE: _bindgen_ty_13 = 75;
4263pub const AKEYCODE_SLASH: _bindgen_ty_13 = 76;
4264pub const AKEYCODE_AT: _bindgen_ty_13 = 77;
4265pub const AKEYCODE_NUM: _bindgen_ty_13 = 78;
4266pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_13 = 79;
4267pub const AKEYCODE_FOCUS: _bindgen_ty_13 = 80;
4268pub const AKEYCODE_PLUS: _bindgen_ty_13 = 81;
4269pub const AKEYCODE_MENU: _bindgen_ty_13 = 82;
4270pub const AKEYCODE_NOTIFICATION: _bindgen_ty_13 = 83;
4271pub const AKEYCODE_SEARCH: _bindgen_ty_13 = 84;
4272pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_13 = 85;
4273pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_13 = 86;
4274pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_13 = 87;
4275pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_13 = 88;
4276pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_13 = 89;
4277pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_13 = 90;
4278pub const AKEYCODE_MUTE: _bindgen_ty_13 = 91;
4279pub const AKEYCODE_PAGE_UP: _bindgen_ty_13 = 92;
4280pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_13 = 93;
4281pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_13 = 94;
4282pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_13 = 95;
4283pub const AKEYCODE_BUTTON_A: _bindgen_ty_13 = 96;
4284pub const AKEYCODE_BUTTON_B: _bindgen_ty_13 = 97;
4285pub const AKEYCODE_BUTTON_C: _bindgen_ty_13 = 98;
4286pub const AKEYCODE_BUTTON_X: _bindgen_ty_13 = 99;
4287pub const AKEYCODE_BUTTON_Y: _bindgen_ty_13 = 100;
4288pub const AKEYCODE_BUTTON_Z: _bindgen_ty_13 = 101;
4289pub const AKEYCODE_BUTTON_L1: _bindgen_ty_13 = 102;
4290pub const AKEYCODE_BUTTON_R1: _bindgen_ty_13 = 103;
4291pub const AKEYCODE_BUTTON_L2: _bindgen_ty_13 = 104;
4292pub const AKEYCODE_BUTTON_R2: _bindgen_ty_13 = 105;
4293pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_13 = 106;
4294pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_13 = 107;
4295pub const AKEYCODE_BUTTON_START: _bindgen_ty_13 = 108;
4296pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_13 = 109;
4297pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_13 = 110;
4298pub const AKEYCODE_ESCAPE: _bindgen_ty_13 = 111;
4299pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_13 = 112;
4300pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_13 = 113;
4301pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_13 = 114;
4302pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_13 = 115;
4303pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_13 = 116;
4304pub const AKEYCODE_META_LEFT: _bindgen_ty_13 = 117;
4305pub const AKEYCODE_META_RIGHT: _bindgen_ty_13 = 118;
4306pub const AKEYCODE_FUNCTION: _bindgen_ty_13 = 119;
4307pub const AKEYCODE_SYSRQ: _bindgen_ty_13 = 120;
4308pub const AKEYCODE_BREAK: _bindgen_ty_13 = 121;
4309pub const AKEYCODE_MOVE_HOME: _bindgen_ty_13 = 122;
4310pub const AKEYCODE_MOVE_END: _bindgen_ty_13 = 123;
4311pub const AKEYCODE_INSERT: _bindgen_ty_13 = 124;
4312pub const AKEYCODE_FORWARD: _bindgen_ty_13 = 125;
4313pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_13 = 126;
4314pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_13 = 127;
4315pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_13 = 128;
4316pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_13 = 129;
4317pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_13 = 130;
4318pub const AKEYCODE_F1: _bindgen_ty_13 = 131;
4319pub const AKEYCODE_F2: _bindgen_ty_13 = 132;
4320pub const AKEYCODE_F3: _bindgen_ty_13 = 133;
4321pub const AKEYCODE_F4: _bindgen_ty_13 = 134;
4322pub const AKEYCODE_F5: _bindgen_ty_13 = 135;
4323pub const AKEYCODE_F6: _bindgen_ty_13 = 136;
4324pub const AKEYCODE_F7: _bindgen_ty_13 = 137;
4325pub const AKEYCODE_F8: _bindgen_ty_13 = 138;
4326pub const AKEYCODE_F9: _bindgen_ty_13 = 139;
4327pub const AKEYCODE_F10: _bindgen_ty_13 = 140;
4328pub const AKEYCODE_F11: _bindgen_ty_13 = 141;
4329pub const AKEYCODE_F12: _bindgen_ty_13 = 142;
4330pub const AKEYCODE_NUM_LOCK: _bindgen_ty_13 = 143;
4331pub const AKEYCODE_NUMPAD_0: _bindgen_ty_13 = 144;
4332pub const AKEYCODE_NUMPAD_1: _bindgen_ty_13 = 145;
4333pub const AKEYCODE_NUMPAD_2: _bindgen_ty_13 = 146;
4334pub const AKEYCODE_NUMPAD_3: _bindgen_ty_13 = 147;
4335pub const AKEYCODE_NUMPAD_4: _bindgen_ty_13 = 148;
4336pub const AKEYCODE_NUMPAD_5: _bindgen_ty_13 = 149;
4337pub const AKEYCODE_NUMPAD_6: _bindgen_ty_13 = 150;
4338pub const AKEYCODE_NUMPAD_7: _bindgen_ty_13 = 151;
4339pub const AKEYCODE_NUMPAD_8: _bindgen_ty_13 = 152;
4340pub const AKEYCODE_NUMPAD_9: _bindgen_ty_13 = 153;
4341pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_13 = 154;
4342pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_13 = 155;
4343pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_13 = 156;
4344pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_13 = 157;
4345pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_13 = 158;
4346pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_13 = 159;
4347pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_13 = 160;
4348pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_13 = 161;
4349pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_13 = 162;
4350pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_13 = 163;
4351pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_13 = 164;
4352pub const AKEYCODE_INFO: _bindgen_ty_13 = 165;
4353pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_13 = 166;
4354pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_13 = 167;
4355pub const AKEYCODE_ZOOM_IN: _bindgen_ty_13 = 168;
4356pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_13 = 169;
4357pub const AKEYCODE_TV: _bindgen_ty_13 = 170;
4358pub const AKEYCODE_WINDOW: _bindgen_ty_13 = 171;
4359pub const AKEYCODE_GUIDE: _bindgen_ty_13 = 172;
4360pub const AKEYCODE_DVR: _bindgen_ty_13 = 173;
4361pub const AKEYCODE_BOOKMARK: _bindgen_ty_13 = 174;
4362pub const AKEYCODE_CAPTIONS: _bindgen_ty_13 = 175;
4363pub const AKEYCODE_SETTINGS: _bindgen_ty_13 = 176;
4364pub const AKEYCODE_TV_POWER: _bindgen_ty_13 = 177;
4365pub const AKEYCODE_TV_INPUT: _bindgen_ty_13 = 178;
4366pub const AKEYCODE_STB_POWER: _bindgen_ty_13 = 179;
4367pub const AKEYCODE_STB_INPUT: _bindgen_ty_13 = 180;
4368pub const AKEYCODE_AVR_POWER: _bindgen_ty_13 = 181;
4369pub const AKEYCODE_AVR_INPUT: _bindgen_ty_13 = 182;
4370pub const AKEYCODE_PROG_RED: _bindgen_ty_13 = 183;
4371pub const AKEYCODE_PROG_GREEN: _bindgen_ty_13 = 184;
4372pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_13 = 185;
4373pub const AKEYCODE_PROG_BLUE: _bindgen_ty_13 = 186;
4374pub const AKEYCODE_APP_SWITCH: _bindgen_ty_13 = 187;
4375pub const AKEYCODE_BUTTON_1: _bindgen_ty_13 = 188;
4376pub const AKEYCODE_BUTTON_2: _bindgen_ty_13 = 189;
4377pub const AKEYCODE_BUTTON_3: _bindgen_ty_13 = 190;
4378pub const AKEYCODE_BUTTON_4: _bindgen_ty_13 = 191;
4379pub const AKEYCODE_BUTTON_5: _bindgen_ty_13 = 192;
4380pub const AKEYCODE_BUTTON_6: _bindgen_ty_13 = 193;
4381pub const AKEYCODE_BUTTON_7: _bindgen_ty_13 = 194;
4382pub const AKEYCODE_BUTTON_8: _bindgen_ty_13 = 195;
4383pub const AKEYCODE_BUTTON_9: _bindgen_ty_13 = 196;
4384pub const AKEYCODE_BUTTON_10: _bindgen_ty_13 = 197;
4385pub const AKEYCODE_BUTTON_11: _bindgen_ty_13 = 198;
4386pub const AKEYCODE_BUTTON_12: _bindgen_ty_13 = 199;
4387pub const AKEYCODE_BUTTON_13: _bindgen_ty_13 = 200;
4388pub const AKEYCODE_BUTTON_14: _bindgen_ty_13 = 201;
4389pub const AKEYCODE_BUTTON_15: _bindgen_ty_13 = 202;
4390pub const AKEYCODE_BUTTON_16: _bindgen_ty_13 = 203;
4391pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_13 = 204;
4392pub const AKEYCODE_MANNER_MODE: _bindgen_ty_13 = 205;
4393pub const AKEYCODE_3D_MODE: _bindgen_ty_13 = 206;
4394pub const AKEYCODE_CONTACTS: _bindgen_ty_13 = 207;
4395pub const AKEYCODE_CALENDAR: _bindgen_ty_13 = 208;
4396pub const AKEYCODE_MUSIC: _bindgen_ty_13 = 209;
4397pub const AKEYCODE_CALCULATOR: _bindgen_ty_13 = 210;
4398pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_13 = 211;
4399pub const AKEYCODE_EISU: _bindgen_ty_13 = 212;
4400pub const AKEYCODE_MUHENKAN: _bindgen_ty_13 = 213;
4401pub const AKEYCODE_HENKAN: _bindgen_ty_13 = 214;
4402pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_13 = 215;
4403pub const AKEYCODE_YEN: _bindgen_ty_13 = 216;
4404pub const AKEYCODE_RO: _bindgen_ty_13 = 217;
4405pub const AKEYCODE_KANA: _bindgen_ty_13 = 218;
4406pub const AKEYCODE_ASSIST: _bindgen_ty_13 = 219;
4407pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_13 = 220;
4408pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_13 = 221;
4409pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_13 = 222;
4410pub const AKEYCODE_SLEEP: _bindgen_ty_13 = 223;
4411pub const AKEYCODE_WAKEUP: _bindgen_ty_13 = 224;
4412pub const AKEYCODE_PAIRING: _bindgen_ty_13 = 225;
4413pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_13 = 226;
4414pub const AKEYCODE_11: _bindgen_ty_13 = 227;
4415pub const AKEYCODE_12: _bindgen_ty_13 = 228;
4416pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_13 = 229;
4417pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_13 = 230;
4418pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_13 = 231;
4419pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_13 = 232;
4420pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_13 = 233;
4421pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_13 = 234;
4422pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_13 = 235;
4423pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_13 = 236;
4424pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_13 = 237;
4425pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_13 = 238;
4426pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_13 = 239;
4427pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_13 = 240;
4428pub const AKEYCODE_TV_NETWORK: _bindgen_ty_13 = 241;
4429pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_13 = 242;
4430pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_13 = 243;
4431pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_13 = 244;
4432pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_13 = 245;
4433pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_13 = 246;
4434pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_13 = 247;
4435pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_13 = 248;
4436pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_13 = 249;
4437pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_13 = 250;
4438pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_13 = 251;
4439pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_13 = 252;
4440pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_13 = 253;
4441pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_13 = 254;
4442pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_13 = 255;
4443pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_13 = 256;
4444pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_13 = 257;
4445pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_13 = 258;
4446pub const AKEYCODE_HELP: _bindgen_ty_13 = 259;
4447pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_13 = 260;
4448pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_13 = 261;
4449pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_13 = 262;
4450pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_13 = 263;
4451pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_13 = 264;
4452pub const AKEYCODE_STEM_1: _bindgen_ty_13 = 265;
4453pub const AKEYCODE_STEM_2: _bindgen_ty_13 = 266;
4454pub const AKEYCODE_STEM_3: _bindgen_ty_13 = 267;
4455pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_13 = 268;
4456pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_13 = 269;
4457pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_13 = 270;
4458pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_13 = 271;
4459pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_13 = 272;
4460pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_13 = 273;
4461pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_13 = 274;
4462pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_13 = 275;
4463pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_13 = 276;
4464pub const AKEYCODE_CUT: _bindgen_ty_13 = 277;
4465pub const AKEYCODE_COPY: _bindgen_ty_13 = 278;
4466pub const AKEYCODE_PASTE: _bindgen_ty_13 = 279;
4467pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_13 = 280;
4468pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_13 = 281;
4469pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_13 = 282;
4470pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_13 = 283;
4471pub const AKEYCODE_ALL_APPS: _bindgen_ty_13 = 284;
4472pub const AKEYCODE_REFRESH: _bindgen_ty_13 = 285;
4473pub const AKEYCODE_THUMBS_UP: _bindgen_ty_13 = 286;
4474pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_13 = 287;
4475pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_13 = 288;
4476pub const AKEYCODE_VIDEO_APP_1: _bindgen_ty_13 = 289;
4477pub const AKEYCODE_VIDEO_APP_2: _bindgen_ty_13 = 290;
4478pub const AKEYCODE_VIDEO_APP_3: _bindgen_ty_13 = 291;
4479pub const AKEYCODE_VIDEO_APP_4: _bindgen_ty_13 = 292;
4480pub const AKEYCODE_VIDEO_APP_5: _bindgen_ty_13 = 293;
4481pub const AKEYCODE_VIDEO_APP_6: _bindgen_ty_13 = 294;
4482pub const AKEYCODE_VIDEO_APP_7: _bindgen_ty_13 = 295;
4483pub const AKEYCODE_VIDEO_APP_8: _bindgen_ty_13 = 296;
4484pub const AKEYCODE_FEATURED_APP_1: _bindgen_ty_13 = 297;
4485pub const AKEYCODE_FEATURED_APP_2: _bindgen_ty_13 = 298;
4486pub const AKEYCODE_FEATURED_APP_3: _bindgen_ty_13 = 299;
4487pub const AKEYCODE_FEATURED_APP_4: _bindgen_ty_13 = 300;
4488pub const AKEYCODE_DEMO_APP_1: _bindgen_ty_13 = 301;
4489pub const AKEYCODE_DEMO_APP_2: _bindgen_ty_13 = 302;
4490pub const AKEYCODE_DEMO_APP_3: _bindgen_ty_13 = 303;
4491pub const AKEYCODE_DEMO_APP_4: _bindgen_ty_13 = 304;
4492pub const AKEYCODE_KEYBOARD_BACKLIGHT_DOWN: _bindgen_ty_13 = 305;
4493pub const AKEYCODE_KEYBOARD_BACKLIGHT_UP: _bindgen_ty_13 = 306;
4494pub const AKEYCODE_KEYBOARD_BACKLIGHT_TOGGLE: _bindgen_ty_13 = 307;
4495pub const AKEYCODE_STYLUS_BUTTON_PRIMARY: _bindgen_ty_13 = 308;
4496pub const AKEYCODE_STYLUS_BUTTON_SECONDARY: _bindgen_ty_13 = 309;
4497pub const AKEYCODE_STYLUS_BUTTON_TERTIARY: _bindgen_ty_13 = 310;
4498pub const AKEYCODE_STYLUS_BUTTON_TAIL: _bindgen_ty_13 = 311;
4499pub const AKEYCODE_RECENT_APPS: _bindgen_ty_13 = 312;
4500pub const AKEYCODE_MACRO_1: _bindgen_ty_13 = 313;
4501pub const AKEYCODE_MACRO_2: _bindgen_ty_13 = 314;
4502pub const AKEYCODE_MACRO_3: _bindgen_ty_13 = 315;
4503pub const AKEYCODE_MACRO_4: _bindgen_ty_13 = 316;
4504pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
4505#[repr(C)]
4506#[derive(Debug, Copy, Clone)]
4507pub struct ALooper {
4508    _unused: [u8; 0],
4509}
4510extern "C" {
4511    pub fn ALooper_forThread() -> *mut ALooper;
4512}
4513pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_14 = 1;
4514pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
4515extern "C" {
4516    pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
4517}
4518pub const ALOOPER_POLL_WAKE: _bindgen_ty_15 = -1;
4519pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_15 = -2;
4520pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_15 = -3;
4521pub const ALOOPER_POLL_ERROR: _bindgen_ty_15 = -4;
4522pub type _bindgen_ty_15 = ::std::os::raw::c_int;
4523extern "C" {
4524    pub fn ALooper_acquire(looper: *mut ALooper);
4525}
4526extern "C" {
4527    pub fn ALooper_release(looper: *mut ALooper);
4528}
4529pub const ALOOPER_EVENT_INPUT: _bindgen_ty_16 = 1;
4530pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_16 = 2;
4531pub const ALOOPER_EVENT_ERROR: _bindgen_ty_16 = 4;
4532pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_16 = 8;
4533pub const ALOOPER_EVENT_INVALID: _bindgen_ty_16 = 16;
4534pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
4535pub type ALooper_callbackFunc = ::std::option::Option<
4536    unsafe extern "C" fn(
4537        fd: ::std::os::raw::c_int,
4538        events: ::std::os::raw::c_int,
4539        data: *mut ::std::os::raw::c_void,
4540    ) -> ::std::os::raw::c_int,
4541>;
4542extern "C" {
4543    pub fn ALooper_pollOnce(
4544        timeoutMillis: ::std::os::raw::c_int,
4545        outFd: *mut ::std::os::raw::c_int,
4546        outEvents: *mut ::std::os::raw::c_int,
4547        outData: *mut *mut ::std::os::raw::c_void,
4548    ) -> ::std::os::raw::c_int;
4549}
4550extern "C" {
4551    pub fn ALooper_pollAll(
4552        timeoutMillis: ::std::os::raw::c_int,
4553        outFd: *mut ::std::os::raw::c_int,
4554        outEvents: *mut ::std::os::raw::c_int,
4555        outData: *mut *mut ::std::os::raw::c_void,
4556    ) -> ::std::os::raw::c_int;
4557}
4558extern "C" {
4559    pub fn ALooper_wake(looper: *mut ALooper);
4560}
4561extern "C" {
4562    pub fn ALooper_addFd(
4563        looper: *mut ALooper,
4564        fd: ::std::os::raw::c_int,
4565        ident: ::std::os::raw::c_int,
4566        events: ::std::os::raw::c_int,
4567        callback: ALooper_callbackFunc,
4568        data: *mut ::std::os::raw::c_void,
4569    ) -> ::std::os::raw::c_int;
4570}
4571extern "C" {
4572    pub fn ALooper_removeFd(
4573        looper: *mut ALooper,
4574        fd: ::std::os::raw::c_int,
4575    ) -> ::std::os::raw::c_int;
4576}
4577pub const AKEY_STATE_UNKNOWN: _bindgen_ty_17 = -1;
4578pub const AKEY_STATE_UP: _bindgen_ty_17 = 0;
4579pub const AKEY_STATE_DOWN: _bindgen_ty_17 = 1;
4580pub const AKEY_STATE_VIRTUAL: _bindgen_ty_17 = 2;
4581pub type _bindgen_ty_17 = ::std::os::raw::c_int;
4582pub const AMETA_NONE: _bindgen_ty_18 = 0;
4583pub const AMETA_ALT_ON: _bindgen_ty_18 = 2;
4584pub const AMETA_ALT_LEFT_ON: _bindgen_ty_18 = 16;
4585pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_18 = 32;
4586pub const AMETA_SHIFT_ON: _bindgen_ty_18 = 1;
4587pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_18 = 64;
4588pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_18 = 128;
4589pub const AMETA_SYM_ON: _bindgen_ty_18 = 4;
4590pub const AMETA_FUNCTION_ON: _bindgen_ty_18 = 8;
4591pub const AMETA_CTRL_ON: _bindgen_ty_18 = 4096;
4592pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_18 = 8192;
4593pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_18 = 16384;
4594pub const AMETA_META_ON: _bindgen_ty_18 = 65536;
4595pub const AMETA_META_LEFT_ON: _bindgen_ty_18 = 131072;
4596pub const AMETA_META_RIGHT_ON: _bindgen_ty_18 = 262144;
4597pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_18 = 1048576;
4598pub const AMETA_NUM_LOCK_ON: _bindgen_ty_18 = 2097152;
4599pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_18 = 4194304;
4600pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
4601#[repr(C)]
4602#[derive(Debug, Copy, Clone)]
4603pub struct AInputEvent {
4604    _unused: [u8; 0],
4605}
4606pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_19 = 1;
4607pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_19 = 2;
4608pub const AINPUT_EVENT_TYPE_FOCUS: _bindgen_ty_19 = 3;
4609pub const AINPUT_EVENT_TYPE_CAPTURE: _bindgen_ty_19 = 4;
4610pub const AINPUT_EVENT_TYPE_DRAG: _bindgen_ty_19 = 5;
4611pub const AINPUT_EVENT_TYPE_TOUCH_MODE: _bindgen_ty_19 = 6;
4612pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
4613pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_20 = 0;
4614pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_20 = 1;
4615pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_20 = 2;
4616pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
4617pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_21 = 1;
4618pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_21 = 2;
4619pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_21 = 4;
4620pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_21 = 8;
4621pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_21 = 16;
4622pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_21 = 32;
4623pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_21 = 64;
4624pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_21 = 128;
4625pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_21 = 256;
4626pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_21 = 512;
4627pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_21 = 1024;
4628pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
4629pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_22 = 255;
4630pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_22 = 65280;
4631pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_22 = 0;
4632pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_22 = 1;
4633pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_22 = 2;
4634pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_22 = 3;
4635pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_22 = 4;
4636pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_22 = 5;
4637pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_22 = 6;
4638pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_22 = 7;
4639pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_22 = 8;
4640pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_22 = 9;
4641pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_22 = 10;
4642pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_22 = 11;
4643pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_22 = 12;
4644pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
4645pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_23 = 1;
4646pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
4647pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_24 = 0;
4648pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_24 = 1;
4649pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_24 = 2;
4650pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_24 = 4;
4651pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_24 = 8;
4652pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
4653pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_25 = 0;
4654pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_25 = 1;
4655pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_25 = 2;
4656pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_25 = 3;
4657pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_25 = 4;
4658pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_25 = 5;
4659pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_25 = 6;
4660pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_25 = 7;
4661pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_25 = 8;
4662pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_25 = 9;
4663pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_25 = 10;
4664pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_25 = 11;
4665pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_25 = 12;
4666pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_25 = 13;
4667pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_25 = 14;
4668pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_25 = 15;
4669pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_25 = 16;
4670pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_25 = 17;
4671pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_25 = 18;
4672pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_25 = 19;
4673pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_25 = 20;
4674pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_25 = 21;
4675pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_25 = 22;
4676pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_25 = 23;
4677pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_25 = 24;
4678pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_25 = 25;
4679pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_25 = 26;
4680pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_25 = 27;
4681pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_25 = 28;
4682pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_25 = 32;
4683pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_25 = 33;
4684pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_25 = 34;
4685pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_25 = 35;
4686pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_25 = 36;
4687pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_25 = 37;
4688pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_25 = 38;
4689pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_25 = 39;
4690pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_25 = 40;
4691pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_25 = 41;
4692pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_25 = 42;
4693pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_25 = 43;
4694pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_25 = 44;
4695pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_25 = 45;
4696pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_25 = 46;
4697pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_25 = 47;
4698pub const AMOTION_EVENT_AXIS_GESTURE_X_OFFSET: _bindgen_ty_25 = 48;
4699pub const AMOTION_EVENT_AXIS_GESTURE_Y_OFFSET: _bindgen_ty_25 = 49;
4700pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_X_DISTANCE: _bindgen_ty_25 = 50;
4701pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_Y_DISTANCE: _bindgen_ty_25 = 51;
4702pub const AMOTION_EVENT_AXIS_GESTURE_PINCH_SCALE_FACTOR: _bindgen_ty_25 = 52;
4703pub const AMOTION_EVENT_AXIS_GESTURE_SWIPE_FINGER_COUNT: _bindgen_ty_25 = 53;
4704pub const AMOTION_EVENT_MAXIMUM_VALID_AXIS_VALUE: _bindgen_ty_25 = 53;
4705pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
4706pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_26 = 1;
4707pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_26 = 2;
4708pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_26 = 4;
4709pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_26 = 8;
4710pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_26 = 16;
4711pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_26 = 32;
4712pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_26 = 64;
4713pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
4714pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_27 = 0;
4715pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_27 = 1;
4716pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_27 = 2;
4717pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_27 = 3;
4718pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_27 = 4;
4719pub const AMOTION_EVENT_TOOL_TYPE_PALM: _bindgen_ty_27 = 5;
4720pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
4721impl AMotionClassification {
4722    pub const AMOTION_EVENT_CLASSIFICATION_NONE: AMotionClassification = AMotionClassification(0);
4723}
4724impl AMotionClassification {
4725    pub const AMOTION_EVENT_CLASSIFICATION_AMBIGUOUS_GESTURE: AMotionClassification =
4726        AMotionClassification(1);
4727}
4728impl AMotionClassification {
4729    pub const AMOTION_EVENT_CLASSIFICATION_DEEP_PRESS: AMotionClassification =
4730        AMotionClassification(2);
4731}
4732impl AMotionClassification {
4733    pub const AMOTION_EVENT_CLASSIFICATION_TWO_FINGER_SWIPE: AMotionClassification =
4734        AMotionClassification(3);
4735}
4736impl AMotionClassification {
4737    pub const AMOTION_EVENT_CLASSIFICATION_MULTI_FINGER_SWIPE: AMotionClassification =
4738        AMotionClassification(4);
4739}
4740impl AMotionClassification {
4741    pub const AMOTION_EVENT_CLASSIFICATION_PINCH: AMotionClassification = AMotionClassification(5);
4742}
4743#[repr(transparent)]
4744#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4745pub struct AMotionClassification(pub u32);
4746pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_28 = 255;
4747pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_28 = 0;
4748pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_28 = 1;
4749pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_28 = 2;
4750pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_28 = 4;
4751pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_28 = 8;
4752pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_28 = 16;
4753pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
4754pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_29 = 0;
4755pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_29 = 257;
4756pub const AINPUT_SOURCE_DPAD: _bindgen_ty_29 = 513;
4757pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_29 = 1025;
4758pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_29 = 4098;
4759pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_29 = 8194;
4760pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_29 = 16386;
4761pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_29 = 49154;
4762pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_29 = 65540;
4763pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_29 = 131076;
4764pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_29 = 1048584;
4765pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_29 = 2097152;
4766pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_29 = 16777232;
4767pub const AINPUT_SOURCE_HDMI: _bindgen_ty_29 = 33554433;
4768pub const AINPUT_SOURCE_SENSOR: _bindgen_ty_29 = 67108864;
4769pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_29 = 4194304;
4770pub const AINPUT_SOURCE_ANY: _bindgen_ty_29 = 4294967040;
4771pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
4772pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_30 = 0;
4773pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_30 = 1;
4774pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_30 = 2;
4775pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
4776pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_31 = 0;
4777pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_31 = 1;
4778pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_31 = 2;
4779pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_31 = 3;
4780pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_31 = 4;
4781pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_31 = 5;
4782pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_31 = 6;
4783pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_31 = 7;
4784pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_31 = 8;
4785pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
4786extern "C" {
4787    pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
4788}
4789extern "C" {
4790    pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
4791}
4792extern "C" {
4793    pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
4794}
4795extern "C" {
4796    pub fn AInputEvent_release(event: *const AInputEvent);
4797}
4798extern "C" {
4799    pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
4800}
4801extern "C" {
4802    pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
4803}
4804extern "C" {
4805    pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
4806}
4807extern "C" {
4808    pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
4809}
4810extern "C" {
4811    pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
4812}
4813extern "C" {
4814    pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
4815}
4816extern "C" {
4817    pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
4818}
4819extern "C" {
4820    pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
4821}
4822extern "C" {
4823    pub fn AKeyEvent_fromJava(env: *mut JNIEnv, keyEvent: jobject) -> *const AInputEvent;
4824}
4825extern "C" {
4826    pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
4827}
4828extern "C" {
4829    pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
4830}
4831extern "C" {
4832    pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
4833}
4834extern "C" {
4835    pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
4836}
4837extern "C" {
4838    pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
4839}
4840extern "C" {
4841    pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
4842}
4843extern "C" {
4844    pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
4845}
4846extern "C" {
4847    pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
4848}
4849extern "C" {
4850    pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
4851}
4852extern "C" {
4853    pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
4854}
4855extern "C" {
4856    pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
4857}
4858extern "C" {
4859    pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize;
4860}
4861extern "C" {
4862    pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize)
4863        -> i32;
4864}
4865extern "C" {
4866    pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32;
4867}
4868extern "C" {
4869    pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4870}
4871extern "C" {
4872    pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4873}
4874extern "C" {
4875    pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4876}
4877extern "C" {
4878    pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4879}
4880extern "C" {
4881    pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4882}
4883extern "C" {
4884    pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4885}
4886extern "C" {
4887    pub fn AMotionEvent_getTouchMajor(
4888        motion_event: *const AInputEvent,
4889        pointer_index: usize,
4890    ) -> f32;
4891}
4892extern "C" {
4893    pub fn AMotionEvent_getTouchMinor(
4894        motion_event: *const AInputEvent,
4895        pointer_index: usize,
4896    ) -> f32;
4897}
4898extern "C" {
4899    pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize)
4900        -> f32;
4901}
4902extern "C" {
4903    pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize)
4904        -> f32;
4905}
4906extern "C" {
4907    pub fn AMotionEvent_getOrientation(
4908        motion_event: *const AInputEvent,
4909        pointer_index: usize,
4910    ) -> f32;
4911}
4912extern "C" {
4913    pub fn AMotionEvent_getAxisValue(
4914        motion_event: *const AInputEvent,
4915        axis: i32,
4916        pointer_index: usize,
4917    ) -> f32;
4918}
4919extern "C" {
4920    pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize;
4921}
4922extern "C" {
4923    pub fn AMotionEvent_getHistoricalEventTime(
4924        motion_event: *const AInputEvent,
4925        history_index: usize,
4926    ) -> i64;
4927}
4928extern "C" {
4929    pub fn AMotionEvent_getHistoricalRawX(
4930        motion_event: *const AInputEvent,
4931        pointer_index: usize,
4932        history_index: usize,
4933    ) -> f32;
4934}
4935extern "C" {
4936    pub fn AMotionEvent_getHistoricalRawY(
4937        motion_event: *const AInputEvent,
4938        pointer_index: usize,
4939        history_index: usize,
4940    ) -> f32;
4941}
4942extern "C" {
4943    pub fn AMotionEvent_getHistoricalX(
4944        motion_event: *const AInputEvent,
4945        pointer_index: usize,
4946        history_index: usize,
4947    ) -> f32;
4948}
4949extern "C" {
4950    pub fn AMotionEvent_getHistoricalY(
4951        motion_event: *const AInputEvent,
4952        pointer_index: usize,
4953        history_index: usize,
4954    ) -> f32;
4955}
4956extern "C" {
4957    pub fn AMotionEvent_getHistoricalPressure(
4958        motion_event: *const AInputEvent,
4959        pointer_index: usize,
4960        history_index: usize,
4961    ) -> f32;
4962}
4963extern "C" {
4964    pub fn AMotionEvent_getHistoricalSize(
4965        motion_event: *const AInputEvent,
4966        pointer_index: usize,
4967        history_index: usize,
4968    ) -> f32;
4969}
4970extern "C" {
4971    pub fn AMotionEvent_getHistoricalTouchMajor(
4972        motion_event: *const AInputEvent,
4973        pointer_index: usize,
4974        history_index: usize,
4975    ) -> f32;
4976}
4977extern "C" {
4978    pub fn AMotionEvent_getHistoricalTouchMinor(
4979        motion_event: *const AInputEvent,
4980        pointer_index: usize,
4981        history_index: usize,
4982    ) -> f32;
4983}
4984extern "C" {
4985    pub fn AMotionEvent_getHistoricalToolMajor(
4986        motion_event: *const AInputEvent,
4987        pointer_index: usize,
4988        history_index: usize,
4989    ) -> f32;
4990}
4991extern "C" {
4992    pub fn AMotionEvent_getHistoricalToolMinor(
4993        motion_event: *const AInputEvent,
4994        pointer_index: usize,
4995        history_index: usize,
4996    ) -> f32;
4997}
4998extern "C" {
4999    pub fn AMotionEvent_getHistoricalOrientation(
5000        motion_event: *const AInputEvent,
5001        pointer_index: usize,
5002        history_index: usize,
5003    ) -> f32;
5004}
5005extern "C" {
5006    pub fn AMotionEvent_getHistoricalAxisValue(
5007        motion_event: *const AInputEvent,
5008        axis: i32,
5009        pointer_index: usize,
5010        history_index: usize,
5011    ) -> f32;
5012}
5013extern "C" {
5014    pub fn AMotionEvent_getActionButton(motion_event: *const AInputEvent) -> i32;
5015}
5016extern "C" {
5017    pub fn AMotionEvent_getClassification(motion_event: *const AInputEvent) -> i32;
5018}
5019extern "C" {
5020    pub fn AMotionEvent_fromJava(env: *mut JNIEnv, motionEvent: jobject) -> *const AInputEvent;
5021}
5022#[repr(C)]
5023#[derive(Debug, Copy, Clone)]
5024pub struct AInputQueue {
5025    _unused: [u8; 0],
5026}
5027extern "C" {
5028    pub fn AInputQueue_attachLooper(
5029        queue: *mut AInputQueue,
5030        looper: *mut ALooper,
5031        ident: ::std::os::raw::c_int,
5032        callback: ALooper_callbackFunc,
5033        data: *mut ::std::os::raw::c_void,
5034    );
5035}
5036extern "C" {
5037    pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
5038}
5039extern "C" {
5040    pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
5041}
5042extern "C" {
5043    pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
5044}
5045extern "C" {
5046    pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
5047}
5048extern "C" {
5049    pub fn AInputQueue_finishEvent(
5050        queue: *mut AInputQueue,
5051        event: *mut AInputEvent,
5052        handled: ::std::os::raw::c_int,
5053    );
5054}
5055extern "C" {
5056    pub fn AInputQueue_fromJava(env: *mut JNIEnv, inputQueue: jobject) -> *mut AInputQueue;
5057}
5058impl android_LogPriority {
5059    pub const ANDROID_LOG_UNKNOWN: android_LogPriority = android_LogPriority(0);
5060}
5061impl android_LogPriority {
5062    pub const ANDROID_LOG_DEFAULT: android_LogPriority = android_LogPriority(1);
5063}
5064impl android_LogPriority {
5065    pub const ANDROID_LOG_VERBOSE: android_LogPriority = android_LogPriority(2);
5066}
5067impl android_LogPriority {
5068    pub const ANDROID_LOG_DEBUG: android_LogPriority = android_LogPriority(3);
5069}
5070impl android_LogPriority {
5071    pub const ANDROID_LOG_INFO: android_LogPriority = android_LogPriority(4);
5072}
5073impl android_LogPriority {
5074    pub const ANDROID_LOG_WARN: android_LogPriority = android_LogPriority(5);
5075}
5076impl android_LogPriority {
5077    pub const ANDROID_LOG_ERROR: android_LogPriority = android_LogPriority(6);
5078}
5079impl android_LogPriority {
5080    pub const ANDROID_LOG_FATAL: android_LogPriority = android_LogPriority(7);
5081}
5082impl android_LogPriority {
5083    pub const ANDROID_LOG_SILENT: android_LogPriority = android_LogPriority(8);
5084}
5085#[repr(transparent)]
5086#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5087pub struct android_LogPriority(pub ::std::os::raw::c_uint);
5088extern "C" {
5089    pub fn __android_log_write(
5090        prio: ::std::os::raw::c_int,
5091        tag: *const ::std::os::raw::c_char,
5092        text: *const ::std::os::raw::c_char,
5093    ) -> ::std::os::raw::c_int;
5094}
5095extern "C" {
5096    pub fn __android_log_print(
5097        prio: ::std::os::raw::c_int,
5098        tag: *const ::std::os::raw::c_char,
5099        fmt: *const ::std::os::raw::c_char,
5100        ...
5101    ) -> ::std::os::raw::c_int;
5102}
5103extern "C" {
5104    pub fn __android_log_vprint(
5105        prio: ::std::os::raw::c_int,
5106        tag: *const ::std::os::raw::c_char,
5107        fmt: *const ::std::os::raw::c_char,
5108        ap: *mut __va_list_tag,
5109    ) -> ::std::os::raw::c_int;
5110}
5111extern "C" {
5112    pub fn __android_log_assert(
5113        cond: *const ::std::os::raw::c_char,
5114        tag: *const ::std::os::raw::c_char,
5115        fmt: *const ::std::os::raw::c_char,
5116        ...
5117    ) -> !;
5118}
5119impl log_id {
5120    pub const LOG_ID_MIN: log_id = log_id(0);
5121}
5122impl log_id {
5123    pub const LOG_ID_MAIN: log_id = log_id(0);
5124}
5125impl log_id {
5126    pub const LOG_ID_RADIO: log_id = log_id(1);
5127}
5128impl log_id {
5129    pub const LOG_ID_EVENTS: log_id = log_id(2);
5130}
5131impl log_id {
5132    pub const LOG_ID_SYSTEM: log_id = log_id(3);
5133}
5134impl log_id {
5135    pub const LOG_ID_CRASH: log_id = log_id(4);
5136}
5137impl log_id {
5138    pub const LOG_ID_STATS: log_id = log_id(5);
5139}
5140impl log_id {
5141    pub const LOG_ID_SECURITY: log_id = log_id(6);
5142}
5143impl log_id {
5144    pub const LOG_ID_KERNEL: log_id = log_id(7);
5145}
5146impl log_id {
5147    pub const LOG_ID_MAX: log_id = log_id(8);
5148}
5149impl log_id {
5150    pub const LOG_ID_DEFAULT: log_id = log_id(2147483647);
5151}
5152#[repr(transparent)]
5153#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5154pub struct log_id(pub ::std::os::raw::c_uint);
5155pub use self::log_id as log_id_t;
5156extern "C" {
5157    pub fn __android_log_buf_write(
5158        bufID: ::std::os::raw::c_int,
5159        prio: ::std::os::raw::c_int,
5160        tag: *const ::std::os::raw::c_char,
5161        text: *const ::std::os::raw::c_char,
5162    ) -> ::std::os::raw::c_int;
5163}
5164extern "C" {
5165    pub fn __android_log_buf_print(
5166        bufID: ::std::os::raw::c_int,
5167        prio: ::std::os::raw::c_int,
5168        tag: *const ::std::os::raw::c_char,
5169        fmt: *const ::std::os::raw::c_char,
5170        ...
5171    ) -> ::std::os::raw::c_int;
5172}
5173#[repr(C)]
5174#[derive(Debug, Copy, Clone)]
5175pub struct __android_log_message {
5176    pub struct_size: usize,
5177    pub buffer_id: i32,
5178    pub priority: i32,
5179    pub tag: *const ::std::os::raw::c_char,
5180    pub file: *const ::std::os::raw::c_char,
5181    pub line: u32,
5182    pub message: *const ::std::os::raw::c_char,
5183}
5184#[test]
5185fn bindgen_test_layout___android_log_message() {
5186    const UNINIT: ::std::mem::MaybeUninit<__android_log_message> =
5187        ::std::mem::MaybeUninit::uninit();
5188    let ptr = UNINIT.as_ptr();
5189    assert_eq!(
5190        ::std::mem::size_of::<__android_log_message>(),
5191        48usize,
5192        concat!("Size of: ", stringify!(__android_log_message))
5193    );
5194    assert_eq!(
5195        ::std::mem::align_of::<__android_log_message>(),
5196        8usize,
5197        concat!("Alignment of ", stringify!(__android_log_message))
5198    );
5199    assert_eq!(
5200        unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize },
5201        0usize,
5202        concat!(
5203            "Offset of field: ",
5204            stringify!(__android_log_message),
5205            "::",
5206            stringify!(struct_size)
5207        )
5208    );
5209    assert_eq!(
5210        unsafe { ::std::ptr::addr_of!((*ptr).buffer_id) as usize - ptr as usize },
5211        8usize,
5212        concat!(
5213            "Offset of field: ",
5214            stringify!(__android_log_message),
5215            "::",
5216            stringify!(buffer_id)
5217        )
5218    );
5219    assert_eq!(
5220        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
5221        12usize,
5222        concat!(
5223            "Offset of field: ",
5224            stringify!(__android_log_message),
5225            "::",
5226            stringify!(priority)
5227        )
5228    );
5229    assert_eq!(
5230        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
5231        16usize,
5232        concat!(
5233            "Offset of field: ",
5234            stringify!(__android_log_message),
5235            "::",
5236            stringify!(tag)
5237        )
5238    );
5239    assert_eq!(
5240        unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
5241        24usize,
5242        concat!(
5243            "Offset of field: ",
5244            stringify!(__android_log_message),
5245            "::",
5246            stringify!(file)
5247        )
5248    );
5249    assert_eq!(
5250        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
5251        32usize,
5252        concat!(
5253            "Offset of field: ",
5254            stringify!(__android_log_message),
5255            "::",
5256            stringify!(line)
5257        )
5258    );
5259    assert_eq!(
5260        unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
5261        40usize,
5262        concat!(
5263            "Offset of field: ",
5264            stringify!(__android_log_message),
5265            "::",
5266            stringify!(message)
5267        )
5268    );
5269}
5270pub type __android_logger_function =
5271    ::std::option::Option<unsafe extern "C" fn(log_message: *const __android_log_message)>;
5272pub type __android_aborter_function =
5273    ::std::option::Option<unsafe extern "C" fn(abort_message: *const ::std::os::raw::c_char)>;
5274extern "C" {
5275    pub fn __android_log_write_log_message(log_message: *mut __android_log_message);
5276}
5277extern "C" {
5278    pub fn __android_log_set_logger(logger: __android_logger_function);
5279}
5280extern "C" {
5281    pub fn __android_log_logd_logger(log_message: *const __android_log_message);
5282}
5283extern "C" {
5284    pub fn __android_log_stderr_logger(log_message: *const __android_log_message);
5285}
5286extern "C" {
5287    pub fn __android_log_set_aborter(aborter: __android_aborter_function);
5288}
5289extern "C" {
5290    pub fn __android_log_call_aborter(abort_message: *const ::std::os::raw::c_char);
5291}
5292extern "C" {
5293    pub fn __android_log_default_aborter(abort_message: *const ::std::os::raw::c_char) -> !;
5294}
5295extern "C" {
5296    pub fn __android_log_is_loggable(
5297        prio: ::std::os::raw::c_int,
5298        tag: *const ::std::os::raw::c_char,
5299        default_prio: ::std::os::raw::c_int,
5300    ) -> ::std::os::raw::c_int;
5301}
5302extern "C" {
5303    pub fn __android_log_is_loggable_len(
5304        prio: ::std::os::raw::c_int,
5305        tag: *const ::std::os::raw::c_char,
5306        len: usize,
5307        default_prio: ::std::os::raw::c_int,
5308    ) -> ::std::os::raw::c_int;
5309}
5310extern "C" {
5311    pub fn __android_log_set_minimum_priority(priority: i32) -> i32;
5312}
5313extern "C" {
5314    pub fn __android_log_get_minimum_priority() -> i32;
5315}
5316extern "C" {
5317    pub fn __android_log_set_default_tag(tag: *const ::std::os::raw::c_char);
5318}
5319#[repr(C)]
5320#[derive(Debug, Copy, Clone)]
5321pub struct flock {
5322    pub l_type: ::std::os::raw::c_short,
5323    pub l_whence: ::std::os::raw::c_short,
5324    pub l_start: off64_t,
5325    pub l_len: off64_t,
5326    pub l_pid: pid_t,
5327}
5328#[test]
5329fn bindgen_test_layout_flock() {
5330    const UNINIT: ::std::mem::MaybeUninit<flock> = ::std::mem::MaybeUninit::uninit();
5331    let ptr = UNINIT.as_ptr();
5332    assert_eq!(
5333        ::std::mem::size_of::<flock>(),
5334        32usize,
5335        concat!("Size of: ", stringify!(flock))
5336    );
5337    assert_eq!(
5338        ::std::mem::align_of::<flock>(),
5339        8usize,
5340        concat!("Alignment of ", stringify!(flock))
5341    );
5342    assert_eq!(
5343        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5344        0usize,
5345        concat!(
5346            "Offset of field: ",
5347            stringify!(flock),
5348            "::",
5349            stringify!(l_type)
5350        )
5351    );
5352    assert_eq!(
5353        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5354        2usize,
5355        concat!(
5356            "Offset of field: ",
5357            stringify!(flock),
5358            "::",
5359            stringify!(l_whence)
5360        )
5361    );
5362    assert_eq!(
5363        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5364        8usize,
5365        concat!(
5366            "Offset of field: ",
5367            stringify!(flock),
5368            "::",
5369            stringify!(l_start)
5370        )
5371    );
5372    assert_eq!(
5373        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5374        16usize,
5375        concat!(
5376            "Offset of field: ",
5377            stringify!(flock),
5378            "::",
5379            stringify!(l_len)
5380        )
5381    );
5382    assert_eq!(
5383        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5384        24usize,
5385        concat!(
5386            "Offset of field: ",
5387            stringify!(flock),
5388            "::",
5389            stringify!(l_pid)
5390        )
5391    );
5392}
5393#[repr(C)]
5394#[derive(Debug, Copy, Clone)]
5395pub struct flock64 {
5396    pub l_type: ::std::os::raw::c_short,
5397    pub l_whence: ::std::os::raw::c_short,
5398    pub l_start: off64_t,
5399    pub l_len: off64_t,
5400    pub l_pid: pid_t,
5401}
5402#[test]
5403fn bindgen_test_layout_flock64() {
5404    const UNINIT: ::std::mem::MaybeUninit<flock64> = ::std::mem::MaybeUninit::uninit();
5405    let ptr = UNINIT.as_ptr();
5406    assert_eq!(
5407        ::std::mem::size_of::<flock64>(),
5408        32usize,
5409        concat!("Size of: ", stringify!(flock64))
5410    );
5411    assert_eq!(
5412        ::std::mem::align_of::<flock64>(),
5413        8usize,
5414        concat!("Alignment of ", stringify!(flock64))
5415    );
5416    assert_eq!(
5417        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5418        0usize,
5419        concat!(
5420            "Offset of field: ",
5421            stringify!(flock64),
5422            "::",
5423            stringify!(l_type)
5424        )
5425    );
5426    assert_eq!(
5427        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5428        2usize,
5429        concat!(
5430            "Offset of field: ",
5431            stringify!(flock64),
5432            "::",
5433            stringify!(l_whence)
5434        )
5435    );
5436    assert_eq!(
5437        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5438        8usize,
5439        concat!(
5440            "Offset of field: ",
5441            stringify!(flock64),
5442            "::",
5443            stringify!(l_start)
5444        )
5445    );
5446    assert_eq!(
5447        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5448        16usize,
5449        concat!(
5450            "Offset of field: ",
5451            stringify!(flock64),
5452            "::",
5453            stringify!(l_len)
5454        )
5455    );
5456    assert_eq!(
5457        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5458        24usize,
5459        concat!(
5460            "Offset of field: ",
5461            stringify!(flock64),
5462            "::",
5463            stringify!(l_pid)
5464        )
5465    );
5466}
5467#[repr(C)]
5468#[derive(Debug, Copy, Clone)]
5469pub struct f_owner_ex {
5470    pub type_: ::std::os::raw::c_int,
5471    pub pid: __kernel_pid_t,
5472}
5473#[test]
5474fn bindgen_test_layout_f_owner_ex() {
5475    const UNINIT: ::std::mem::MaybeUninit<f_owner_ex> = ::std::mem::MaybeUninit::uninit();
5476    let ptr = UNINIT.as_ptr();
5477    assert_eq!(
5478        ::std::mem::size_of::<f_owner_ex>(),
5479        8usize,
5480        concat!("Size of: ", stringify!(f_owner_ex))
5481    );
5482    assert_eq!(
5483        ::std::mem::align_of::<f_owner_ex>(),
5484        4usize,
5485        concat!("Alignment of ", stringify!(f_owner_ex))
5486    );
5487    assert_eq!(
5488        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5489        0usize,
5490        concat!(
5491            "Offset of field: ",
5492            stringify!(f_owner_ex),
5493            "::",
5494            stringify!(type_)
5495        )
5496    );
5497    assert_eq!(
5498        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5499        4usize,
5500        concat!(
5501            "Offset of field: ",
5502            stringify!(f_owner_ex),
5503            "::",
5504            stringify!(pid)
5505        )
5506    );
5507}
5508#[repr(C)]
5509#[derive(Debug, Copy, Clone)]
5510pub struct iovec {
5511    pub iov_base: *mut ::std::os::raw::c_void,
5512    pub iov_len: __kernel_size_t,
5513}
5514#[test]
5515fn bindgen_test_layout_iovec() {
5516    const UNINIT: ::std::mem::MaybeUninit<iovec> = ::std::mem::MaybeUninit::uninit();
5517    let ptr = UNINIT.as_ptr();
5518    assert_eq!(
5519        ::std::mem::size_of::<iovec>(),
5520        16usize,
5521        concat!("Size of: ", stringify!(iovec))
5522    );
5523    assert_eq!(
5524        ::std::mem::align_of::<iovec>(),
5525        8usize,
5526        concat!("Alignment of ", stringify!(iovec))
5527    );
5528    assert_eq!(
5529        unsafe { ::std::ptr::addr_of!((*ptr).iov_base) as usize - ptr as usize },
5530        0usize,
5531        concat!(
5532            "Offset of field: ",
5533            stringify!(iovec),
5534            "::",
5535            stringify!(iov_base)
5536        )
5537    );
5538    assert_eq!(
5539        unsafe { ::std::ptr::addr_of!((*ptr).iov_len) as usize - ptr as usize },
5540        8usize,
5541        concat!(
5542            "Offset of field: ",
5543            stringify!(iovec),
5544            "::",
5545            stringify!(iov_len)
5546        )
5547    );
5548}
5549pub type sa_family_t = ::std::os::raw::c_ushort;
5550#[repr(C)]
5551#[derive(Copy, Clone)]
5552pub struct sockaddr_storage {
5553    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1,
5554}
5555#[repr(C)]
5556#[derive(Copy, Clone)]
5557pub union sockaddr_storage__bindgen_ty_1 {
5558    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
5559    pub __align: *mut ::std::os::raw::c_void,
5560}
5561#[repr(C)]
5562#[derive(Debug, Copy, Clone)]
5563pub struct sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
5564    pub ss_family: sa_family_t,
5565    pub __data: [::std::os::raw::c_char; 126usize],
5566}
5567#[test]
5568fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
5569    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1__bindgen_ty_1> =
5570        ::std::mem::MaybeUninit::uninit();
5571    let ptr = UNINIT.as_ptr();
5572    assert_eq!(
5573        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5574        128usize,
5575        concat!(
5576            "Size of: ",
5577            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5578        )
5579    );
5580    assert_eq!(
5581        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5582        2usize,
5583        concat!(
5584            "Alignment of ",
5585            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5586        )
5587    );
5588    assert_eq!(
5589        unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize },
5590        0usize,
5591        concat!(
5592            "Offset of field: ",
5593            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5594            "::",
5595            stringify!(ss_family)
5596        )
5597    );
5598    assert_eq!(
5599        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
5600        2usize,
5601        concat!(
5602            "Offset of field: ",
5603            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5604            "::",
5605            stringify!(__data)
5606        )
5607    );
5608}
5609#[test]
5610fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1() {
5611    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1> =
5612        ::std::mem::MaybeUninit::uninit();
5613    let ptr = UNINIT.as_ptr();
5614    assert_eq!(
5615        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1>(),
5616        128usize,
5617        concat!("Size of: ", stringify!(sockaddr_storage__bindgen_ty_1))
5618    );
5619    assert_eq!(
5620        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1>(),
5621        8usize,
5622        concat!("Alignment of ", stringify!(sockaddr_storage__bindgen_ty_1))
5623    );
5624    assert_eq!(
5625        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5626        0usize,
5627        concat!(
5628            "Offset of field: ",
5629            stringify!(sockaddr_storage__bindgen_ty_1),
5630            "::",
5631            stringify!(__align)
5632        )
5633    );
5634}
5635#[test]
5636fn bindgen_test_layout_sockaddr_storage() {
5637    assert_eq!(
5638        ::std::mem::size_of::<sockaddr_storage>(),
5639        128usize,
5640        concat!("Size of: ", stringify!(sockaddr_storage))
5641    );
5642    assert_eq!(
5643        ::std::mem::align_of::<sockaddr_storage>(),
5644        8usize,
5645        concat!("Alignment of ", stringify!(sockaddr_storage))
5646    );
5647}
5648pub const SHUT_RD: _bindgen_ty_32 = 0;
5649pub const SHUT_WR: _bindgen_ty_32 = 1;
5650pub const SHUT_RDWR: _bindgen_ty_32 = 2;
5651pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
5652#[repr(C)]
5653#[derive(Debug, Copy, Clone)]
5654pub struct sockaddr {
5655    pub sa_family: sa_family_t,
5656    pub sa_data: [::std::os::raw::c_char; 14usize],
5657}
5658#[test]
5659fn bindgen_test_layout_sockaddr() {
5660    const UNINIT: ::std::mem::MaybeUninit<sockaddr> = ::std::mem::MaybeUninit::uninit();
5661    let ptr = UNINIT.as_ptr();
5662    assert_eq!(
5663        ::std::mem::size_of::<sockaddr>(),
5664        16usize,
5665        concat!("Size of: ", stringify!(sockaddr))
5666    );
5667    assert_eq!(
5668        ::std::mem::align_of::<sockaddr>(),
5669        2usize,
5670        concat!("Alignment of ", stringify!(sockaddr))
5671    );
5672    assert_eq!(
5673        unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
5674        0usize,
5675        concat!(
5676            "Offset of field: ",
5677            stringify!(sockaddr),
5678            "::",
5679            stringify!(sa_family)
5680        )
5681    );
5682    assert_eq!(
5683        unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
5684        2usize,
5685        concat!(
5686            "Offset of field: ",
5687            stringify!(sockaddr),
5688            "::",
5689            stringify!(sa_data)
5690        )
5691    );
5692}
5693#[repr(C)]
5694#[derive(Debug, Copy, Clone)]
5695pub struct linger {
5696    pub l_onoff: ::std::os::raw::c_int,
5697    pub l_linger: ::std::os::raw::c_int,
5698}
5699#[test]
5700fn bindgen_test_layout_linger() {
5701    const UNINIT: ::std::mem::MaybeUninit<linger> = ::std::mem::MaybeUninit::uninit();
5702    let ptr = UNINIT.as_ptr();
5703    assert_eq!(
5704        ::std::mem::size_of::<linger>(),
5705        8usize,
5706        concat!("Size of: ", stringify!(linger))
5707    );
5708    assert_eq!(
5709        ::std::mem::align_of::<linger>(),
5710        4usize,
5711        concat!("Alignment of ", stringify!(linger))
5712    );
5713    assert_eq!(
5714        unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize },
5715        0usize,
5716        concat!(
5717            "Offset of field: ",
5718            stringify!(linger),
5719            "::",
5720            stringify!(l_onoff)
5721        )
5722    );
5723    assert_eq!(
5724        unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize },
5725        4usize,
5726        concat!(
5727            "Offset of field: ",
5728            stringify!(linger),
5729            "::",
5730            stringify!(l_linger)
5731        )
5732    );
5733}
5734#[repr(C)]
5735#[derive(Debug, Copy, Clone)]
5736pub struct msghdr {
5737    pub msg_name: *mut ::std::os::raw::c_void,
5738    pub msg_namelen: socklen_t,
5739    pub msg_iov: *mut iovec,
5740    pub msg_iovlen: usize,
5741    pub msg_control: *mut ::std::os::raw::c_void,
5742    pub msg_controllen: usize,
5743    pub msg_flags: ::std::os::raw::c_int,
5744}
5745#[test]
5746fn bindgen_test_layout_msghdr() {
5747    const UNINIT: ::std::mem::MaybeUninit<msghdr> = ::std::mem::MaybeUninit::uninit();
5748    let ptr = UNINIT.as_ptr();
5749    assert_eq!(
5750        ::std::mem::size_of::<msghdr>(),
5751        56usize,
5752        concat!("Size of: ", stringify!(msghdr))
5753    );
5754    assert_eq!(
5755        ::std::mem::align_of::<msghdr>(),
5756        8usize,
5757        concat!("Alignment of ", stringify!(msghdr))
5758    );
5759    assert_eq!(
5760        unsafe { ::std::ptr::addr_of!((*ptr).msg_name) as usize - ptr as usize },
5761        0usize,
5762        concat!(
5763            "Offset of field: ",
5764            stringify!(msghdr),
5765            "::",
5766            stringify!(msg_name)
5767        )
5768    );
5769    assert_eq!(
5770        unsafe { ::std::ptr::addr_of!((*ptr).msg_namelen) as usize - ptr as usize },
5771        8usize,
5772        concat!(
5773            "Offset of field: ",
5774            stringify!(msghdr),
5775            "::",
5776            stringify!(msg_namelen)
5777        )
5778    );
5779    assert_eq!(
5780        unsafe { ::std::ptr::addr_of!((*ptr).msg_iov) as usize - ptr as usize },
5781        16usize,
5782        concat!(
5783            "Offset of field: ",
5784            stringify!(msghdr),
5785            "::",
5786            stringify!(msg_iov)
5787        )
5788    );
5789    assert_eq!(
5790        unsafe { ::std::ptr::addr_of!((*ptr).msg_iovlen) as usize - ptr as usize },
5791        24usize,
5792        concat!(
5793            "Offset of field: ",
5794            stringify!(msghdr),
5795            "::",
5796            stringify!(msg_iovlen)
5797        )
5798    );
5799    assert_eq!(
5800        unsafe { ::std::ptr::addr_of!((*ptr).msg_control) as usize - ptr as usize },
5801        32usize,
5802        concat!(
5803            "Offset of field: ",
5804            stringify!(msghdr),
5805            "::",
5806            stringify!(msg_control)
5807        )
5808    );
5809    assert_eq!(
5810        unsafe { ::std::ptr::addr_of!((*ptr).msg_controllen) as usize - ptr as usize },
5811        40usize,
5812        concat!(
5813            "Offset of field: ",
5814            stringify!(msghdr),
5815            "::",
5816            stringify!(msg_controllen)
5817        )
5818    );
5819    assert_eq!(
5820        unsafe { ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
5821        48usize,
5822        concat!(
5823            "Offset of field: ",
5824            stringify!(msghdr),
5825            "::",
5826            stringify!(msg_flags)
5827        )
5828    );
5829}
5830#[repr(C)]
5831#[derive(Debug, Copy, Clone)]
5832pub struct mmsghdr {
5833    pub msg_hdr: msghdr,
5834    pub msg_len: ::std::os::raw::c_uint,
5835}
5836#[test]
5837fn bindgen_test_layout_mmsghdr() {
5838    const UNINIT: ::std::mem::MaybeUninit<mmsghdr> = ::std::mem::MaybeUninit::uninit();
5839    let ptr = UNINIT.as_ptr();
5840    assert_eq!(
5841        ::std::mem::size_of::<mmsghdr>(),
5842        64usize,
5843        concat!("Size of: ", stringify!(mmsghdr))
5844    );
5845    assert_eq!(
5846        ::std::mem::align_of::<mmsghdr>(),
5847        8usize,
5848        concat!("Alignment of ", stringify!(mmsghdr))
5849    );
5850    assert_eq!(
5851        unsafe { ::std::ptr::addr_of!((*ptr).msg_hdr) as usize - ptr as usize },
5852        0usize,
5853        concat!(
5854            "Offset of field: ",
5855            stringify!(mmsghdr),
5856            "::",
5857            stringify!(msg_hdr)
5858        )
5859    );
5860    assert_eq!(
5861        unsafe { ::std::ptr::addr_of!((*ptr).msg_len) as usize - ptr as usize },
5862        56usize,
5863        concat!(
5864            "Offset of field: ",
5865            stringify!(mmsghdr),
5866            "::",
5867            stringify!(msg_len)
5868        )
5869    );
5870}
5871#[repr(C)]
5872#[derive(Debug, Copy, Clone)]
5873pub struct cmsghdr {
5874    pub cmsg_len: usize,
5875    pub cmsg_level: ::std::os::raw::c_int,
5876    pub cmsg_type: ::std::os::raw::c_int,
5877}
5878#[test]
5879fn bindgen_test_layout_cmsghdr() {
5880    const UNINIT: ::std::mem::MaybeUninit<cmsghdr> = ::std::mem::MaybeUninit::uninit();
5881    let ptr = UNINIT.as_ptr();
5882    assert_eq!(
5883        ::std::mem::size_of::<cmsghdr>(),
5884        16usize,
5885        concat!("Size of: ", stringify!(cmsghdr))
5886    );
5887    assert_eq!(
5888        ::std::mem::align_of::<cmsghdr>(),
5889        8usize,
5890        concat!("Alignment of ", stringify!(cmsghdr))
5891    );
5892    assert_eq!(
5893        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize },
5894        0usize,
5895        concat!(
5896            "Offset of field: ",
5897            stringify!(cmsghdr),
5898            "::",
5899            stringify!(cmsg_len)
5900        )
5901    );
5902    assert_eq!(
5903        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize },
5904        8usize,
5905        concat!(
5906            "Offset of field: ",
5907            stringify!(cmsghdr),
5908            "::",
5909            stringify!(cmsg_level)
5910        )
5911    );
5912    assert_eq!(
5913        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize },
5914        12usize,
5915        concat!(
5916            "Offset of field: ",
5917            stringify!(cmsghdr),
5918            "::",
5919            stringify!(cmsg_type)
5920        )
5921    );
5922}
5923extern "C" {
5924    pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
5925}
5926#[repr(C)]
5927#[derive(Debug, Copy, Clone)]
5928pub struct ucred {
5929    pub pid: pid_t,
5930    pub uid: uid_t,
5931    pub gid: gid_t,
5932}
5933#[test]
5934fn bindgen_test_layout_ucred() {
5935    const UNINIT: ::std::mem::MaybeUninit<ucred> = ::std::mem::MaybeUninit::uninit();
5936    let ptr = UNINIT.as_ptr();
5937    assert_eq!(
5938        ::std::mem::size_of::<ucred>(),
5939        12usize,
5940        concat!("Size of: ", stringify!(ucred))
5941    );
5942    assert_eq!(
5943        ::std::mem::align_of::<ucred>(),
5944        4usize,
5945        concat!("Alignment of ", stringify!(ucred))
5946    );
5947    assert_eq!(
5948        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5949        0usize,
5950        concat!(
5951            "Offset of field: ",
5952            stringify!(ucred),
5953            "::",
5954            stringify!(pid)
5955        )
5956    );
5957    assert_eq!(
5958        unsafe { ::std::ptr::addr_of!((*ptr).uid) as usize - ptr as usize },
5959        4usize,
5960        concat!(
5961            "Offset of field: ",
5962            stringify!(ucred),
5963            "::",
5964            stringify!(uid)
5965        )
5966    );
5967    assert_eq!(
5968        unsafe { ::std::ptr::addr_of!((*ptr).gid) as usize - ptr as usize },
5969        8usize,
5970        concat!(
5971            "Offset of field: ",
5972            stringify!(ucred),
5973            "::",
5974            stringify!(gid)
5975        )
5976    );
5977}
5978extern "C" {
5979    pub fn accept(
5980        __fd: ::std::os::raw::c_int,
5981        __addr: *mut sockaddr,
5982        __addr_length: *mut socklen_t,
5983    ) -> ::std::os::raw::c_int;
5984}
5985extern "C" {
5986    pub fn accept4(
5987        __fd: ::std::os::raw::c_int,
5988        __addr: *mut sockaddr,
5989        __addr_length: *mut socklen_t,
5990        __flags: ::std::os::raw::c_int,
5991    ) -> ::std::os::raw::c_int;
5992}
5993extern "C" {
5994    pub fn bind(
5995        __fd: ::std::os::raw::c_int,
5996        __addr: *const sockaddr,
5997        __addr_length: socklen_t,
5998    ) -> ::std::os::raw::c_int;
5999}
6000extern "C" {
6001    pub fn connect(
6002        __fd: ::std::os::raw::c_int,
6003        __addr: *const sockaddr,
6004        __addr_length: socklen_t,
6005    ) -> ::std::os::raw::c_int;
6006}
6007extern "C" {
6008    pub fn getpeername(
6009        __fd: ::std::os::raw::c_int,
6010        __addr: *mut sockaddr,
6011        __addr_length: *mut socklen_t,
6012    ) -> ::std::os::raw::c_int;
6013}
6014extern "C" {
6015    pub fn getsockname(
6016        __fd: ::std::os::raw::c_int,
6017        __addr: *mut sockaddr,
6018        __addr_length: *mut socklen_t,
6019    ) -> ::std::os::raw::c_int;
6020}
6021extern "C" {
6022    pub fn getsockopt(
6023        __fd: ::std::os::raw::c_int,
6024        __level: ::std::os::raw::c_int,
6025        __option: ::std::os::raw::c_int,
6026        __value: *mut ::std::os::raw::c_void,
6027        __value_length: *mut socklen_t,
6028    ) -> ::std::os::raw::c_int;
6029}
6030extern "C" {
6031    pub fn listen(
6032        __fd: ::std::os::raw::c_int,
6033        __backlog: ::std::os::raw::c_int,
6034    ) -> ::std::os::raw::c_int;
6035}
6036extern "C" {
6037    pub fn recvmmsg(
6038        __fd: ::std::os::raw::c_int,
6039        __msgs: *mut mmsghdr,
6040        __msg_count: ::std::os::raw::c_uint,
6041        __flags: ::std::os::raw::c_int,
6042        __timeout: *const timespec,
6043    ) -> ::std::os::raw::c_int;
6044}
6045extern "C" {
6046    pub fn recvmsg(
6047        __fd: ::std::os::raw::c_int,
6048        __msg: *mut msghdr,
6049        __flags: ::std::os::raw::c_int,
6050    ) -> isize;
6051}
6052extern "C" {
6053    pub fn sendmmsg(
6054        __fd: ::std::os::raw::c_int,
6055        __msgs: *const mmsghdr,
6056        __msg_count: ::std::os::raw::c_uint,
6057        __flags: ::std::os::raw::c_int,
6058    ) -> ::std::os::raw::c_int;
6059}
6060extern "C" {
6061    pub fn sendmsg(
6062        __fd: ::std::os::raw::c_int,
6063        __msg: *const msghdr,
6064        __flags: ::std::os::raw::c_int,
6065    ) -> isize;
6066}
6067extern "C" {
6068    pub fn setsockopt(
6069        __fd: ::std::os::raw::c_int,
6070        __level: ::std::os::raw::c_int,
6071        __option: ::std::os::raw::c_int,
6072        __value: *const ::std::os::raw::c_void,
6073        __value_length: socklen_t,
6074    ) -> ::std::os::raw::c_int;
6075}
6076extern "C" {
6077    pub fn shutdown(
6078        __fd: ::std::os::raw::c_int,
6079        __how: ::std::os::raw::c_int,
6080    ) -> ::std::os::raw::c_int;
6081}
6082extern "C" {
6083    pub fn socket(
6084        __af: ::std::os::raw::c_int,
6085        __type: ::std::os::raw::c_int,
6086        __protocol: ::std::os::raw::c_int,
6087    ) -> ::std::os::raw::c_int;
6088}
6089extern "C" {
6090    pub fn socketpair(
6091        __af: ::std::os::raw::c_int,
6092        __type: ::std::os::raw::c_int,
6093        __protocol: ::std::os::raw::c_int,
6094        __fds: *mut ::std::os::raw::c_int,
6095    ) -> ::std::os::raw::c_int;
6096}
6097extern "C" {
6098    pub fn recv(
6099        __fd: ::std::os::raw::c_int,
6100        __buf: *mut ::std::os::raw::c_void,
6101        __n: usize,
6102        __flags: ::std::os::raw::c_int,
6103    ) -> isize;
6104}
6105extern "C" {
6106    pub fn send(
6107        __fd: ::std::os::raw::c_int,
6108        __buf: *const ::std::os::raw::c_void,
6109        __n: usize,
6110        __flags: ::std::os::raw::c_int,
6111    ) -> isize;
6112}
6113extern "C" {
6114    pub fn sendto(
6115        __fd: ::std::os::raw::c_int,
6116        __buf: *const ::std::os::raw::c_void,
6117        __n: usize,
6118        __flags: ::std::os::raw::c_int,
6119        __dst_addr: *const sockaddr,
6120        __dst_addr_length: socklen_t,
6121    ) -> isize;
6122}
6123extern "C" {
6124    pub fn recvfrom(
6125        __fd: ::std::os::raw::c_int,
6126        __buf: *mut ::std::os::raw::c_void,
6127        __n: usize,
6128        __flags: ::std::os::raw::c_int,
6129        __src_addr: *mut sockaddr,
6130        __src_addr_length: *mut socklen_t,
6131    ) -> isize;
6132}
6133#[repr(C)]
6134#[derive(Debug, Copy, Clone)]
6135pub struct hostent {
6136    pub h_name: *mut ::std::os::raw::c_char,
6137    pub h_aliases: *mut *mut ::std::os::raw::c_char,
6138    pub h_addrtype: ::std::os::raw::c_int,
6139    pub h_length: ::std::os::raw::c_int,
6140    pub h_addr_list: *mut *mut ::std::os::raw::c_char,
6141}
6142#[test]
6143fn bindgen_test_layout_hostent() {
6144    const UNINIT: ::std::mem::MaybeUninit<hostent> = ::std::mem::MaybeUninit::uninit();
6145    let ptr = UNINIT.as_ptr();
6146    assert_eq!(
6147        ::std::mem::size_of::<hostent>(),
6148        32usize,
6149        concat!("Size of: ", stringify!(hostent))
6150    );
6151    assert_eq!(
6152        ::std::mem::align_of::<hostent>(),
6153        8usize,
6154        concat!("Alignment of ", stringify!(hostent))
6155    );
6156    assert_eq!(
6157        unsafe { ::std::ptr::addr_of!((*ptr).h_name) as usize - ptr as usize },
6158        0usize,
6159        concat!(
6160            "Offset of field: ",
6161            stringify!(hostent),
6162            "::",
6163            stringify!(h_name)
6164        )
6165    );
6166    assert_eq!(
6167        unsafe { ::std::ptr::addr_of!((*ptr).h_aliases) as usize - ptr as usize },
6168        8usize,
6169        concat!(
6170            "Offset of field: ",
6171            stringify!(hostent),
6172            "::",
6173            stringify!(h_aliases)
6174        )
6175    );
6176    assert_eq!(
6177        unsafe { ::std::ptr::addr_of!((*ptr).h_addrtype) as usize - ptr as usize },
6178        16usize,
6179        concat!(
6180            "Offset of field: ",
6181            stringify!(hostent),
6182            "::",
6183            stringify!(h_addrtype)
6184        )
6185    );
6186    assert_eq!(
6187        unsafe { ::std::ptr::addr_of!((*ptr).h_length) as usize - ptr as usize },
6188        20usize,
6189        concat!(
6190            "Offset of field: ",
6191            stringify!(hostent),
6192            "::",
6193            stringify!(h_length)
6194        )
6195    );
6196    assert_eq!(
6197        unsafe { ::std::ptr::addr_of!((*ptr).h_addr_list) as usize - ptr as usize },
6198        24usize,
6199        concat!(
6200            "Offset of field: ",
6201            stringify!(hostent),
6202            "::",
6203            stringify!(h_addr_list)
6204        )
6205    );
6206}
6207#[repr(C)]
6208#[derive(Debug, Copy, Clone)]
6209pub struct netent {
6210    pub n_name: *mut ::std::os::raw::c_char,
6211    pub n_aliases: *mut *mut ::std::os::raw::c_char,
6212    pub n_addrtype: ::std::os::raw::c_int,
6213    pub n_net: u32,
6214}
6215#[test]
6216fn bindgen_test_layout_netent() {
6217    const UNINIT: ::std::mem::MaybeUninit<netent> = ::std::mem::MaybeUninit::uninit();
6218    let ptr = UNINIT.as_ptr();
6219    assert_eq!(
6220        ::std::mem::size_of::<netent>(),
6221        24usize,
6222        concat!("Size of: ", stringify!(netent))
6223    );
6224    assert_eq!(
6225        ::std::mem::align_of::<netent>(),
6226        8usize,
6227        concat!("Alignment of ", stringify!(netent))
6228    );
6229    assert_eq!(
6230        unsafe { ::std::ptr::addr_of!((*ptr).n_name) as usize - ptr as usize },
6231        0usize,
6232        concat!(
6233            "Offset of field: ",
6234            stringify!(netent),
6235            "::",
6236            stringify!(n_name)
6237        )
6238    );
6239    assert_eq!(
6240        unsafe { ::std::ptr::addr_of!((*ptr).n_aliases) as usize - ptr as usize },
6241        8usize,
6242        concat!(
6243            "Offset of field: ",
6244            stringify!(netent),
6245            "::",
6246            stringify!(n_aliases)
6247        )
6248    );
6249    assert_eq!(
6250        unsafe { ::std::ptr::addr_of!((*ptr).n_addrtype) as usize - ptr as usize },
6251        16usize,
6252        concat!(
6253            "Offset of field: ",
6254            stringify!(netent),
6255            "::",
6256            stringify!(n_addrtype)
6257        )
6258    );
6259    assert_eq!(
6260        unsafe { ::std::ptr::addr_of!((*ptr).n_net) as usize - ptr as usize },
6261        20usize,
6262        concat!(
6263            "Offset of field: ",
6264            stringify!(netent),
6265            "::",
6266            stringify!(n_net)
6267        )
6268    );
6269}
6270#[repr(C)]
6271#[derive(Debug, Copy, Clone)]
6272pub struct servent {
6273    pub s_name: *mut ::std::os::raw::c_char,
6274    pub s_aliases: *mut *mut ::std::os::raw::c_char,
6275    pub s_port: ::std::os::raw::c_int,
6276    pub s_proto: *mut ::std::os::raw::c_char,
6277}
6278#[test]
6279fn bindgen_test_layout_servent() {
6280    const UNINIT: ::std::mem::MaybeUninit<servent> = ::std::mem::MaybeUninit::uninit();
6281    let ptr = UNINIT.as_ptr();
6282    assert_eq!(
6283        ::std::mem::size_of::<servent>(),
6284        32usize,
6285        concat!("Size of: ", stringify!(servent))
6286    );
6287    assert_eq!(
6288        ::std::mem::align_of::<servent>(),
6289        8usize,
6290        concat!("Alignment of ", stringify!(servent))
6291    );
6292    assert_eq!(
6293        unsafe { ::std::ptr::addr_of!((*ptr).s_name) as usize - ptr as usize },
6294        0usize,
6295        concat!(
6296            "Offset of field: ",
6297            stringify!(servent),
6298            "::",
6299            stringify!(s_name)
6300        )
6301    );
6302    assert_eq!(
6303        unsafe { ::std::ptr::addr_of!((*ptr).s_aliases) as usize - ptr as usize },
6304        8usize,
6305        concat!(
6306            "Offset of field: ",
6307            stringify!(servent),
6308            "::",
6309            stringify!(s_aliases)
6310        )
6311    );
6312    assert_eq!(
6313        unsafe { ::std::ptr::addr_of!((*ptr).s_port) as usize - ptr as usize },
6314        16usize,
6315        concat!(
6316            "Offset of field: ",
6317            stringify!(servent),
6318            "::",
6319            stringify!(s_port)
6320        )
6321    );
6322    assert_eq!(
6323        unsafe { ::std::ptr::addr_of!((*ptr).s_proto) as usize - ptr as usize },
6324        24usize,
6325        concat!(
6326            "Offset of field: ",
6327            stringify!(servent),
6328            "::",
6329            stringify!(s_proto)
6330        )
6331    );
6332}
6333#[repr(C)]
6334#[derive(Debug, Copy, Clone)]
6335pub struct protoent {
6336    pub p_name: *mut ::std::os::raw::c_char,
6337    pub p_aliases: *mut *mut ::std::os::raw::c_char,
6338    pub p_proto: ::std::os::raw::c_int,
6339}
6340#[test]
6341fn bindgen_test_layout_protoent() {
6342    const UNINIT: ::std::mem::MaybeUninit<protoent> = ::std::mem::MaybeUninit::uninit();
6343    let ptr = UNINIT.as_ptr();
6344    assert_eq!(
6345        ::std::mem::size_of::<protoent>(),
6346        24usize,
6347        concat!("Size of: ", stringify!(protoent))
6348    );
6349    assert_eq!(
6350        ::std::mem::align_of::<protoent>(),
6351        8usize,
6352        concat!("Alignment of ", stringify!(protoent))
6353    );
6354    assert_eq!(
6355        unsafe { ::std::ptr::addr_of!((*ptr).p_name) as usize - ptr as usize },
6356        0usize,
6357        concat!(
6358            "Offset of field: ",
6359            stringify!(protoent),
6360            "::",
6361            stringify!(p_name)
6362        )
6363    );
6364    assert_eq!(
6365        unsafe { ::std::ptr::addr_of!((*ptr).p_aliases) as usize - ptr as usize },
6366        8usize,
6367        concat!(
6368            "Offset of field: ",
6369            stringify!(protoent),
6370            "::",
6371            stringify!(p_aliases)
6372        )
6373    );
6374    assert_eq!(
6375        unsafe { ::std::ptr::addr_of!((*ptr).p_proto) as usize - ptr as usize },
6376        16usize,
6377        concat!(
6378            "Offset of field: ",
6379            stringify!(protoent),
6380            "::",
6381            stringify!(p_proto)
6382        )
6383    );
6384}
6385#[repr(C)]
6386#[derive(Debug, Copy, Clone)]
6387pub struct addrinfo {
6388    pub ai_flags: ::std::os::raw::c_int,
6389    pub ai_family: ::std::os::raw::c_int,
6390    pub ai_socktype: ::std::os::raw::c_int,
6391    pub ai_protocol: ::std::os::raw::c_int,
6392    pub ai_addrlen: socklen_t,
6393    pub ai_canonname: *mut ::std::os::raw::c_char,
6394    pub ai_addr: *mut sockaddr,
6395    pub ai_next: *mut addrinfo,
6396}
6397#[test]
6398fn bindgen_test_layout_addrinfo() {
6399    const UNINIT: ::std::mem::MaybeUninit<addrinfo> = ::std::mem::MaybeUninit::uninit();
6400    let ptr = UNINIT.as_ptr();
6401    assert_eq!(
6402        ::std::mem::size_of::<addrinfo>(),
6403        48usize,
6404        concat!("Size of: ", stringify!(addrinfo))
6405    );
6406    assert_eq!(
6407        ::std::mem::align_of::<addrinfo>(),
6408        8usize,
6409        concat!("Alignment of ", stringify!(addrinfo))
6410    );
6411    assert_eq!(
6412        unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize },
6413        0usize,
6414        concat!(
6415            "Offset of field: ",
6416            stringify!(addrinfo),
6417            "::",
6418            stringify!(ai_flags)
6419        )
6420    );
6421    assert_eq!(
6422        unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize },
6423        4usize,
6424        concat!(
6425            "Offset of field: ",
6426            stringify!(addrinfo),
6427            "::",
6428            stringify!(ai_family)
6429        )
6430    );
6431    assert_eq!(
6432        unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize },
6433        8usize,
6434        concat!(
6435            "Offset of field: ",
6436            stringify!(addrinfo),
6437            "::",
6438            stringify!(ai_socktype)
6439        )
6440    );
6441    assert_eq!(
6442        unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize },
6443        12usize,
6444        concat!(
6445            "Offset of field: ",
6446            stringify!(addrinfo),
6447            "::",
6448            stringify!(ai_protocol)
6449        )
6450    );
6451    assert_eq!(
6452        unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize },
6453        16usize,
6454        concat!(
6455            "Offset of field: ",
6456            stringify!(addrinfo),
6457            "::",
6458            stringify!(ai_addrlen)
6459        )
6460    );
6461    assert_eq!(
6462        unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize },
6463        24usize,
6464        concat!(
6465            "Offset of field: ",
6466            stringify!(addrinfo),
6467            "::",
6468            stringify!(ai_canonname)
6469        )
6470    );
6471    assert_eq!(
6472        unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize },
6473        32usize,
6474        concat!(
6475            "Offset of field: ",
6476            stringify!(addrinfo),
6477            "::",
6478            stringify!(ai_addr)
6479        )
6480    );
6481    assert_eq!(
6482        unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize },
6483        40usize,
6484        concat!(
6485            "Offset of field: ",
6486            stringify!(addrinfo),
6487            "::",
6488            stringify!(ai_next)
6489        )
6490    );
6491}
6492extern "C" {
6493    pub fn getaddrinfo(
6494        __node: *const ::std::os::raw::c_char,
6495        __service: *const ::std::os::raw::c_char,
6496        __hints: *const addrinfo,
6497        __result: *mut *mut addrinfo,
6498    ) -> ::std::os::raw::c_int;
6499}
6500extern "C" {
6501    pub fn freeaddrinfo(__ptr: *mut addrinfo);
6502}
6503extern "C" {
6504    pub fn getnameinfo(
6505        __sa: *const sockaddr,
6506        __sa_length: socklen_t,
6507        __host: *mut ::std::os::raw::c_char,
6508        __host_length: usize,
6509        __service: *mut ::std::os::raw::c_char,
6510        __service_length: usize,
6511        __flags: ::std::os::raw::c_int,
6512    ) -> ::std::os::raw::c_int;
6513}
6514extern "C" {
6515    pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6516}
6517extern "C" {
6518    pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
6519}
6520extern "C" {
6521    pub fn herror(__s: *const ::std::os::raw::c_char);
6522}
6523extern "C" {
6524    pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6525}
6526extern "C" {
6527    pub fn gethostbyaddr(
6528        __addr: *const ::std::os::raw::c_void,
6529        __length: socklen_t,
6530        __type: ::std::os::raw::c_int,
6531    ) -> *mut hostent;
6532}
6533extern "C" {
6534    pub fn gethostbyaddr_r(
6535        __addr: *const ::std::os::raw::c_void,
6536        __length: socklen_t,
6537        __type: ::std::os::raw::c_int,
6538        __ret: *mut hostent,
6539        __buf: *mut ::std::os::raw::c_char,
6540        __buf_size: usize,
6541        __result: *mut *mut hostent,
6542        __h_errno_ptr: *mut ::std::os::raw::c_int,
6543    ) -> ::std::os::raw::c_int;
6544}
6545extern "C" {
6546    pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
6547}
6548extern "C" {
6549    pub fn gethostbyname_r(
6550        __name: *const ::std::os::raw::c_char,
6551        __ret: *mut hostent,
6552        __buf: *mut ::std::os::raw::c_char,
6553        __buf_size: usize,
6554        __result: *mut *mut hostent,
6555        __h_errno_ptr: *mut ::std::os::raw::c_int,
6556    ) -> ::std::os::raw::c_int;
6557}
6558extern "C" {
6559    pub fn gethostbyname2(
6560        __name: *const ::std::os::raw::c_char,
6561        __af: ::std::os::raw::c_int,
6562    ) -> *mut hostent;
6563}
6564extern "C" {
6565    pub fn gethostbyname2_r(
6566        __name: *const ::std::os::raw::c_char,
6567        __af: ::std::os::raw::c_int,
6568        __ret: *mut hostent,
6569        __buf: *mut ::std::os::raw::c_char,
6570        __buf_size: usize,
6571        __result: *mut *mut hostent,
6572        __h_errno_ptr: *mut ::std::os::raw::c_int,
6573    ) -> ::std::os::raw::c_int;
6574}
6575extern "C" {
6576    pub fn endhostent();
6577}
6578extern "C" {
6579    pub fn gethostent() -> *mut hostent;
6580}
6581extern "C" {
6582    pub fn sethostent(__stay_open: ::std::os::raw::c_int);
6583}
6584extern "C" {
6585    pub fn endnetent();
6586}
6587extern "C" {
6588    pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
6589}
6590extern "C" {
6591    pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
6592}
6593extern "C" {
6594    pub fn getnetent() -> *mut netent;
6595}
6596extern "C" {
6597    pub fn setnetent(__stay_open: ::std::os::raw::c_int);
6598}
6599extern "C" {
6600    pub fn endprotoent();
6601}
6602extern "C" {
6603    pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
6604}
6605extern "C" {
6606    pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
6607}
6608extern "C" {
6609    pub fn getprotoent() -> *mut protoent;
6610}
6611extern "C" {
6612    pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
6613}
6614extern "C" {
6615    pub fn endservent();
6616}
6617extern "C" {
6618    pub fn getservbyname(
6619        __name: *const ::std::os::raw::c_char,
6620        __proto: *const ::std::os::raw::c_char,
6621    ) -> *mut servent;
6622}
6623extern "C" {
6624    pub fn getservbyport(
6625        __port_in_network_order: ::std::os::raw::c_int,
6626        __proto: *const ::std::os::raw::c_char,
6627    ) -> *mut servent;
6628}
6629extern "C" {
6630    pub fn getservent() -> *mut servent;
6631}
6632extern "C" {
6633    pub fn setservent(__stay_open: ::std::os::raw::c_int);
6634}
6635pub type fpos_t = off_t;
6636pub type fpos64_t = off64_t;
6637#[repr(C)]
6638#[derive(Debug, Copy, Clone)]
6639pub struct __sFILE {
6640    _unused: [u8; 0],
6641}
6642pub type FILE = __sFILE;
6643extern "C" {
6644    pub static mut stdin: *mut FILE;
6645}
6646extern "C" {
6647    pub static mut stdout: *mut FILE;
6648}
6649extern "C" {
6650    pub static mut stderr: *mut FILE;
6651}
6652extern "C" {
6653    pub fn clearerr(__fp: *mut FILE);
6654}
6655extern "C" {
6656    pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6657}
6658extern "C" {
6659    pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
6660}
6661extern "C" {
6662    pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
6663}
6664extern "C" {
6665    pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
6666}
6667extern "C" {
6668    pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6669}
6670extern "C" {
6671    pub fn fgets(
6672        __buf: *mut ::std::os::raw::c_char,
6673        __size: ::std::os::raw::c_int,
6674        __fp: *mut FILE,
6675    ) -> *mut ::std::os::raw::c_char;
6676}
6677extern "C" {
6678    pub fn fprintf(
6679        __fp: *mut FILE,
6680        __fmt: *const ::std::os::raw::c_char,
6681        ...
6682    ) -> ::std::os::raw::c_int;
6683}
6684extern "C" {
6685    pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6686}
6687extern "C" {
6688    pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
6689}
6690extern "C" {
6691    pub fn fread(
6692        __buf: *mut ::std::os::raw::c_void,
6693        __size: ::std::os::raw::c_ulong,
6694        __count: ::std::os::raw::c_ulong,
6695        __fp: *mut FILE,
6696    ) -> ::std::os::raw::c_ulong;
6697}
6698extern "C" {
6699    pub fn fscanf(
6700        __fp: *mut FILE,
6701        __fmt: *const ::std::os::raw::c_char,
6702        ...
6703    ) -> ::std::os::raw::c_int;
6704}
6705extern "C" {
6706    pub fn fwrite(
6707        __buf: *const ::std::os::raw::c_void,
6708        __size: ::std::os::raw::c_ulong,
6709        __count: ::std::os::raw::c_ulong,
6710        __fp: *mut FILE,
6711    ) -> ::std::os::raw::c_ulong;
6712}
6713extern "C" {
6714    pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6715}
6716extern "C" {
6717    pub fn getchar() -> ::std::os::raw::c_int;
6718}
6719extern "C" {
6720    pub fn getdelim(
6721        __line_ptr: *mut *mut ::std::os::raw::c_char,
6722        __line_length_ptr: *mut usize,
6723        __delimiter: ::std::os::raw::c_int,
6724        __fp: *mut FILE,
6725    ) -> isize;
6726}
6727extern "C" {
6728    pub fn getline(
6729        __line_ptr: *mut *mut ::std::os::raw::c_char,
6730        __line_length_ptr: *mut usize,
6731        __fp: *mut FILE,
6732    ) -> isize;
6733}
6734extern "C" {
6735    pub fn perror(__msg: *const ::std::os::raw::c_char);
6736}
6737extern "C" {
6738    pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6739}
6740extern "C" {
6741    pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6742}
6743extern "C" {
6744    pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6745}
6746extern "C" {
6747    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6748}
6749extern "C" {
6750    pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6751}
6752extern "C" {
6753    pub fn rewind(__fp: *mut FILE);
6754}
6755extern "C" {
6756    pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6757}
6758extern "C" {
6759    pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
6760}
6761extern "C" {
6762    pub fn setvbuf(
6763        __fp: *mut FILE,
6764        __buf: *mut ::std::os::raw::c_char,
6765        __mode: ::std::os::raw::c_int,
6766        __size: usize,
6767    ) -> ::std::os::raw::c_int;
6768}
6769extern "C" {
6770    pub fn sscanf(
6771        __s: *const ::std::os::raw::c_char,
6772        __fmt: *const ::std::os::raw::c_char,
6773        ...
6774    ) -> ::std::os::raw::c_int;
6775}
6776extern "C" {
6777    pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6778}
6779extern "C" {
6780    pub fn vfprintf(
6781        __fp: *mut FILE,
6782        __fmt: *const ::std::os::raw::c_char,
6783        __args: *mut __va_list_tag,
6784    ) -> ::std::os::raw::c_int;
6785}
6786extern "C" {
6787    pub fn vprintf(
6788        __fp: *const ::std::os::raw::c_char,
6789        __args: *mut __va_list_tag,
6790    ) -> ::std::os::raw::c_int;
6791}
6792extern "C" {
6793    pub fn dprintf(
6794        __fd: ::std::os::raw::c_int,
6795        __fmt: *const ::std::os::raw::c_char,
6796        ...
6797    ) -> ::std::os::raw::c_int;
6798}
6799extern "C" {
6800    pub fn vdprintf(
6801        __fd: ::std::os::raw::c_int,
6802        __fmt: *const ::std::os::raw::c_char,
6803        __args: *mut __va_list_tag,
6804    ) -> ::std::os::raw::c_int;
6805}
6806extern "C" {
6807    pub fn sprintf(
6808        __s: *mut ::std::os::raw::c_char,
6809        __fmt: *const ::std::os::raw::c_char,
6810        ...
6811    ) -> ::std::os::raw::c_int;
6812}
6813extern "C" {
6814    pub fn vsprintf(
6815        __s: *mut ::std::os::raw::c_char,
6816        __fmt: *const ::std::os::raw::c_char,
6817        __args: *mut __va_list_tag,
6818    ) -> ::std::os::raw::c_int;
6819}
6820extern "C" {
6821    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6822}
6823extern "C" {
6824    pub fn tempnam(
6825        __dir: *const ::std::os::raw::c_char,
6826        __prefix: *const ::std::os::raw::c_char,
6827    ) -> *mut ::std::os::raw::c_char;
6828}
6829extern "C" {
6830    pub fn rename(
6831        __old_path: *const ::std::os::raw::c_char,
6832        __new_path: *const ::std::os::raw::c_char,
6833    ) -> ::std::os::raw::c_int;
6834}
6835extern "C" {
6836    pub fn renameat(
6837        __old_dir_fd: ::std::os::raw::c_int,
6838        __old_path: *const ::std::os::raw::c_char,
6839        __new_dir_fd: ::std::os::raw::c_int,
6840        __new_path: *const ::std::os::raw::c_char,
6841    ) -> ::std::os::raw::c_int;
6842}
6843extern "C" {
6844    pub fn fseek(
6845        __fp: *mut FILE,
6846        __offset: ::std::os::raw::c_long,
6847        __whence: ::std::os::raw::c_int,
6848    ) -> ::std::os::raw::c_int;
6849}
6850extern "C" {
6851    pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
6852}
6853extern "C" {
6854    pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
6855}
6856extern "C" {
6857    pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
6858}
6859extern "C" {
6860    pub fn fseeko(
6861        __fp: *mut FILE,
6862        __offset: off_t,
6863        __whence: ::std::os::raw::c_int,
6864    ) -> ::std::os::raw::c_int;
6865}
6866extern "C" {
6867    pub fn ftello(__fp: *mut FILE) -> off_t;
6868}
6869extern "C" {
6870    pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
6871}
6872extern "C" {
6873    pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
6874}
6875extern "C" {
6876    pub fn fseeko64(
6877        __fp: *mut FILE,
6878        __offset: off64_t,
6879        __whence: ::std::os::raw::c_int,
6880    ) -> ::std::os::raw::c_int;
6881}
6882extern "C" {
6883    pub fn ftello64(__fp: *mut FILE) -> off64_t;
6884}
6885extern "C" {
6886    pub fn fopen(
6887        __path: *const ::std::os::raw::c_char,
6888        __mode: *const ::std::os::raw::c_char,
6889    ) -> *mut FILE;
6890}
6891extern "C" {
6892    pub fn fopen64(
6893        __path: *const ::std::os::raw::c_char,
6894        __mode: *const ::std::os::raw::c_char,
6895    ) -> *mut FILE;
6896}
6897extern "C" {
6898    pub fn freopen(
6899        __path: *const ::std::os::raw::c_char,
6900        __mode: *const ::std::os::raw::c_char,
6901        __fp: *mut FILE,
6902    ) -> *mut FILE;
6903}
6904extern "C" {
6905    pub fn freopen64(
6906        __path: *const ::std::os::raw::c_char,
6907        __mode: *const ::std::os::raw::c_char,
6908        __fp: *mut FILE,
6909    ) -> *mut FILE;
6910}
6911extern "C" {
6912    pub fn tmpfile() -> *mut FILE;
6913}
6914extern "C" {
6915    pub fn tmpfile64() -> *mut FILE;
6916}
6917extern "C" {
6918    pub fn snprintf(
6919        __buf: *mut ::std::os::raw::c_char,
6920        __size: ::std::os::raw::c_ulong,
6921        __fmt: *const ::std::os::raw::c_char,
6922        ...
6923    ) -> ::std::os::raw::c_int;
6924}
6925extern "C" {
6926    pub fn vfscanf(
6927        __fp: *mut FILE,
6928        __fmt: *const ::std::os::raw::c_char,
6929        __args: *mut __va_list_tag,
6930    ) -> ::std::os::raw::c_int;
6931}
6932extern "C" {
6933    pub fn vscanf(
6934        __fmt: *const ::std::os::raw::c_char,
6935        __args: *mut __va_list_tag,
6936    ) -> ::std::os::raw::c_int;
6937}
6938extern "C" {
6939    pub fn vsnprintf(
6940        __buf: *mut ::std::os::raw::c_char,
6941        __size: ::std::os::raw::c_ulong,
6942        __fmt: *const ::std::os::raw::c_char,
6943        __args: *mut __va_list_tag,
6944    ) -> ::std::os::raw::c_int;
6945}
6946extern "C" {
6947    pub fn vsscanf(
6948        __s: *const ::std::os::raw::c_char,
6949        __fmt: *const ::std::os::raw::c_char,
6950        __args: *mut __va_list_tag,
6951    ) -> ::std::os::raw::c_int;
6952}
6953extern "C" {
6954    pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6955}
6956extern "C" {
6957    pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
6958}
6959extern "C" {
6960    pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
6961}
6962extern "C" {
6963    pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6964}
6965extern "C" {
6966    pub fn popen(
6967        __command: *const ::std::os::raw::c_char,
6968        __mode: *const ::std::os::raw::c_char,
6969    ) -> *mut FILE;
6970}
6971extern "C" {
6972    pub fn flockfile(__fp: *mut FILE);
6973}
6974extern "C" {
6975    pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
6976}
6977extern "C" {
6978    pub fn funlockfile(__fp: *mut FILE);
6979}
6980extern "C" {
6981    pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
6982}
6983extern "C" {
6984    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
6985}
6986extern "C" {
6987    pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6988}
6989extern "C" {
6990    pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6991}
6992extern "C" {
6993    pub fn fmemopen(
6994        __buf: *mut ::std::os::raw::c_void,
6995        __size: usize,
6996        __mode: *const ::std::os::raw::c_char,
6997    ) -> *mut FILE;
6998}
6999extern "C" {
7000    pub fn open_memstream(
7001        __ptr: *mut *mut ::std::os::raw::c_char,
7002        __size_ptr: *mut usize,
7003    ) -> *mut FILE;
7004}
7005extern "C" {
7006    pub fn asprintf(
7007        __s_ptr: *mut *mut ::std::os::raw::c_char,
7008        __fmt: *const ::std::os::raw::c_char,
7009        ...
7010    ) -> ::std::os::raw::c_int;
7011}
7012extern "C" {
7013    pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char;
7014}
7015extern "C" {
7016    pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
7017}
7018extern "C" {
7019    pub fn setbuffer(
7020        __fp: *mut FILE,
7021        __buf: *mut ::std::os::raw::c_char,
7022        __size: ::std::os::raw::c_int,
7023    );
7024}
7025extern "C" {
7026    pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
7027}
7028extern "C" {
7029    pub fn vasprintf(
7030        __s_ptr: *mut *mut ::std::os::raw::c_char,
7031        __fmt: *const ::std::os::raw::c_char,
7032        __args: *mut __va_list_tag,
7033    ) -> ::std::os::raw::c_int;
7034}
7035extern "C" {
7036    pub fn clearerr_unlocked(__fp: *mut FILE);
7037}
7038extern "C" {
7039    pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7040}
7041extern "C" {
7042    pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7043}
7044extern "C" {
7045    pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
7046}
7047extern "C" {
7048    pub fn malloc(__byte_count: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
7049}
7050extern "C" {
7051    pub fn calloc(
7052        __item_count: ::std::os::raw::c_ulong,
7053        __item_size: ::std::os::raw::c_ulong,
7054    ) -> *mut ::std::os::raw::c_void;
7055}
7056extern "C" {
7057    pub fn realloc(
7058        __ptr: *mut ::std::os::raw::c_void,
7059        __byte_count: ::std::os::raw::c_ulong,
7060    ) -> *mut ::std::os::raw::c_void;
7061}
7062extern "C" {
7063    pub fn reallocarray(
7064        __ptr: *mut ::std::os::raw::c_void,
7065        __item_count: usize,
7066        __item_size: usize,
7067    ) -> *mut ::std::os::raw::c_void;
7068}
7069extern "C" {
7070    pub fn free(__ptr: *mut ::std::os::raw::c_void);
7071}
7072extern "C" {
7073    pub fn memalign(
7074        __alignment: ::std::os::raw::c_ulong,
7075        __byte_count: ::std::os::raw::c_ulong,
7076    ) -> *mut ::std::os::raw::c_void;
7077}
7078extern "C" {
7079    pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize;
7080}
7081#[repr(C)]
7082#[derive(Debug, Copy, Clone)]
7083pub struct mallinfo {
7084    pub arena: usize,
7085    pub ordblks: usize,
7086    pub smblks: usize,
7087    pub hblks: usize,
7088    pub hblkhd: usize,
7089    pub usmblks: usize,
7090    pub fsmblks: usize,
7091    pub uordblks: usize,
7092    pub fordblks: usize,
7093    pub keepcost: usize,
7094}
7095#[test]
7096fn bindgen_test_layout_mallinfo() {
7097    const UNINIT: ::std::mem::MaybeUninit<mallinfo> = ::std::mem::MaybeUninit::uninit();
7098    let ptr = UNINIT.as_ptr();
7099    assert_eq!(
7100        ::std::mem::size_of::<mallinfo>(),
7101        80usize,
7102        concat!("Size of: ", stringify!(mallinfo))
7103    );
7104    assert_eq!(
7105        ::std::mem::align_of::<mallinfo>(),
7106        8usize,
7107        concat!("Alignment of ", stringify!(mallinfo))
7108    );
7109    assert_eq!(
7110        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7111        0usize,
7112        concat!(
7113            "Offset of field: ",
7114            stringify!(mallinfo),
7115            "::",
7116            stringify!(arena)
7117        )
7118    );
7119    assert_eq!(
7120        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7121        8usize,
7122        concat!(
7123            "Offset of field: ",
7124            stringify!(mallinfo),
7125            "::",
7126            stringify!(ordblks)
7127        )
7128    );
7129    assert_eq!(
7130        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7131        16usize,
7132        concat!(
7133            "Offset of field: ",
7134            stringify!(mallinfo),
7135            "::",
7136            stringify!(smblks)
7137        )
7138    );
7139    assert_eq!(
7140        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7141        24usize,
7142        concat!(
7143            "Offset of field: ",
7144            stringify!(mallinfo),
7145            "::",
7146            stringify!(hblks)
7147        )
7148    );
7149    assert_eq!(
7150        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7151        32usize,
7152        concat!(
7153            "Offset of field: ",
7154            stringify!(mallinfo),
7155            "::",
7156            stringify!(hblkhd)
7157        )
7158    );
7159    assert_eq!(
7160        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7161        40usize,
7162        concat!(
7163            "Offset of field: ",
7164            stringify!(mallinfo),
7165            "::",
7166            stringify!(usmblks)
7167        )
7168    );
7169    assert_eq!(
7170        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7171        48usize,
7172        concat!(
7173            "Offset of field: ",
7174            stringify!(mallinfo),
7175            "::",
7176            stringify!(fsmblks)
7177        )
7178    );
7179    assert_eq!(
7180        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7181        56usize,
7182        concat!(
7183            "Offset of field: ",
7184            stringify!(mallinfo),
7185            "::",
7186            stringify!(uordblks)
7187        )
7188    );
7189    assert_eq!(
7190        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7191        64usize,
7192        concat!(
7193            "Offset of field: ",
7194            stringify!(mallinfo),
7195            "::",
7196            stringify!(fordblks)
7197        )
7198    );
7199    assert_eq!(
7200        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7201        72usize,
7202        concat!(
7203            "Offset of field: ",
7204            stringify!(mallinfo),
7205            "::",
7206            stringify!(keepcost)
7207        )
7208    );
7209}
7210extern "C" {
7211    pub fn mallinfo() -> mallinfo;
7212}
7213#[repr(C)]
7214#[derive(Debug, Copy, Clone)]
7215pub struct mallinfo2 {
7216    pub arena: usize,
7217    pub ordblks: usize,
7218    pub smblks: usize,
7219    pub hblks: usize,
7220    pub hblkhd: usize,
7221    pub usmblks: usize,
7222    pub fsmblks: usize,
7223    pub uordblks: usize,
7224    pub fordblks: usize,
7225    pub keepcost: usize,
7226}
7227#[test]
7228fn bindgen_test_layout_mallinfo2() {
7229    const UNINIT: ::std::mem::MaybeUninit<mallinfo2> = ::std::mem::MaybeUninit::uninit();
7230    let ptr = UNINIT.as_ptr();
7231    assert_eq!(
7232        ::std::mem::size_of::<mallinfo2>(),
7233        80usize,
7234        concat!("Size of: ", stringify!(mallinfo2))
7235    );
7236    assert_eq!(
7237        ::std::mem::align_of::<mallinfo2>(),
7238        8usize,
7239        concat!("Alignment of ", stringify!(mallinfo2))
7240    );
7241    assert_eq!(
7242        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7243        0usize,
7244        concat!(
7245            "Offset of field: ",
7246            stringify!(mallinfo2),
7247            "::",
7248            stringify!(arena)
7249        )
7250    );
7251    assert_eq!(
7252        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7253        8usize,
7254        concat!(
7255            "Offset of field: ",
7256            stringify!(mallinfo2),
7257            "::",
7258            stringify!(ordblks)
7259        )
7260    );
7261    assert_eq!(
7262        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7263        16usize,
7264        concat!(
7265            "Offset of field: ",
7266            stringify!(mallinfo2),
7267            "::",
7268            stringify!(smblks)
7269        )
7270    );
7271    assert_eq!(
7272        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7273        24usize,
7274        concat!(
7275            "Offset of field: ",
7276            stringify!(mallinfo2),
7277            "::",
7278            stringify!(hblks)
7279        )
7280    );
7281    assert_eq!(
7282        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7283        32usize,
7284        concat!(
7285            "Offset of field: ",
7286            stringify!(mallinfo2),
7287            "::",
7288            stringify!(hblkhd)
7289        )
7290    );
7291    assert_eq!(
7292        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7293        40usize,
7294        concat!(
7295            "Offset of field: ",
7296            stringify!(mallinfo2),
7297            "::",
7298            stringify!(usmblks)
7299        )
7300    );
7301    assert_eq!(
7302        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7303        48usize,
7304        concat!(
7305            "Offset of field: ",
7306            stringify!(mallinfo2),
7307            "::",
7308            stringify!(fsmblks)
7309        )
7310    );
7311    assert_eq!(
7312        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7313        56usize,
7314        concat!(
7315            "Offset of field: ",
7316            stringify!(mallinfo2),
7317            "::",
7318            stringify!(uordblks)
7319        )
7320    );
7321    assert_eq!(
7322        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7323        64usize,
7324        concat!(
7325            "Offset of field: ",
7326            stringify!(mallinfo2),
7327            "::",
7328            stringify!(fordblks)
7329        )
7330    );
7331    assert_eq!(
7332        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7333        72usize,
7334        concat!(
7335            "Offset of field: ",
7336            stringify!(mallinfo2),
7337            "::",
7338            stringify!(keepcost)
7339        )
7340    );
7341}
7342extern "C" {
7343    pub fn malloc_info(
7344        __must_be_zero: ::std::os::raw::c_int,
7345        __fp: *mut FILE,
7346    ) -> ::std::os::raw::c_int;
7347}
7348impl HeapTaggingLevel {
7349    pub const M_HEAP_TAGGING_LEVEL_NONE: HeapTaggingLevel = HeapTaggingLevel(0);
7350}
7351impl HeapTaggingLevel {
7352    pub const M_HEAP_TAGGING_LEVEL_TBI: HeapTaggingLevel = HeapTaggingLevel(1);
7353}
7354impl HeapTaggingLevel {
7355    pub const M_HEAP_TAGGING_LEVEL_ASYNC: HeapTaggingLevel = HeapTaggingLevel(2);
7356}
7357impl HeapTaggingLevel {
7358    pub const M_HEAP_TAGGING_LEVEL_SYNC: HeapTaggingLevel = HeapTaggingLevel(3);
7359}
7360#[repr(transparent)]
7361#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7362pub struct HeapTaggingLevel(pub ::std::os::raw::c_uint);
7363extern "C" {
7364    pub fn mallopt(
7365        __option: ::std::os::raw::c_int,
7366        __value: ::std::os::raw::c_int,
7367    ) -> ::std::os::raw::c_int;
7368}
7369extern "C" {
7370    pub static mut __malloc_hook: ::std::option::Option<
7371        unsafe extern "C" fn(
7372            __byte_count: usize,
7373            __caller: *const ::std::os::raw::c_void,
7374        ) -> *mut ::std::os::raw::c_void,
7375    >;
7376}
7377extern "C" {
7378    pub static mut __realloc_hook: ::std::option::Option<
7379        unsafe extern "C" fn(
7380            __ptr: *mut ::std::os::raw::c_void,
7381            __byte_count: usize,
7382            __caller: *const ::std::os::raw::c_void,
7383        ) -> *mut ::std::os::raw::c_void,
7384    >;
7385}
7386extern "C" {
7387    pub static mut __free_hook: ::std::option::Option<
7388        unsafe extern "C" fn(
7389            __ptr: *mut ::std::os::raw::c_void,
7390            __caller: *const ::std::os::raw::c_void,
7391        ),
7392    >;
7393}
7394extern "C" {
7395    pub static mut __memalign_hook: ::std::option::Option<
7396        unsafe extern "C" fn(
7397            __alignment: usize,
7398            __byte_count: usize,
7399            __caller: *const ::std::os::raw::c_void,
7400        ) -> *mut ::std::os::raw::c_void,
7401    >;
7402}
7403#[repr(C)]
7404#[derive(Debug, Copy, Clone)]
7405pub struct __locale_t {
7406    _unused: [u8; 0],
7407}
7408pub type locale_t = *mut __locale_t;
7409extern "C" {
7410    pub fn abort() -> !;
7411}
7412extern "C" {
7413    pub fn exit(__status: ::std::os::raw::c_int) -> !;
7414}
7415extern "C" {
7416    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
7417}
7418extern "C" {
7419    pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
7420}
7421extern "C" {
7422    pub fn at_quick_exit(
7423        __fn: ::std::option::Option<unsafe extern "C" fn()>,
7424    ) -> ::std::os::raw::c_int;
7425}
7426extern "C" {
7427    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
7428}
7429extern "C" {
7430    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7431}
7432extern "C" {
7433    pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7434}
7435extern "C" {
7436    pub fn setenv(
7437        __name: *const ::std::os::raw::c_char,
7438        __value: *const ::std::os::raw::c_char,
7439        __overwrite: ::std::os::raw::c_int,
7440    ) -> ::std::os::raw::c_int;
7441}
7442extern "C" {
7443    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7444}
7445extern "C" {
7446    pub fn clearenv() -> ::std::os::raw::c_int;
7447}
7448extern "C" {
7449    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7450}
7451extern "C" {
7452    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7453}
7454extern "C" {
7455    pub fn mkostemp64(
7456        __template: *mut ::std::os::raw::c_char,
7457        __flags: ::std::os::raw::c_int,
7458    ) -> ::std::os::raw::c_int;
7459}
7460extern "C" {
7461    pub fn mkostemp(
7462        __template: *mut ::std::os::raw::c_char,
7463        __flags: ::std::os::raw::c_int,
7464    ) -> ::std::os::raw::c_int;
7465}
7466extern "C" {
7467    pub fn mkostemps64(
7468        __template: *mut ::std::os::raw::c_char,
7469        __suffix_length: ::std::os::raw::c_int,
7470        __flags: ::std::os::raw::c_int,
7471    ) -> ::std::os::raw::c_int;
7472}
7473extern "C" {
7474    pub fn mkostemps(
7475        __template: *mut ::std::os::raw::c_char,
7476        __suffix_length: ::std::os::raw::c_int,
7477        __flags: ::std::os::raw::c_int,
7478    ) -> ::std::os::raw::c_int;
7479}
7480extern "C" {
7481    pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7482}
7483extern "C" {
7484    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7485}
7486extern "C" {
7487    pub fn mkstemps64(
7488        __template: *mut ::std::os::raw::c_char,
7489        __flags: ::std::os::raw::c_int,
7490    ) -> ::std::os::raw::c_int;
7491}
7492extern "C" {
7493    pub fn mkstemps(
7494        __template: *mut ::std::os::raw::c_char,
7495        __flags: ::std::os::raw::c_int,
7496    ) -> ::std::os::raw::c_int;
7497}
7498extern "C" {
7499    pub fn strtol(
7500        __s: *const ::std::os::raw::c_char,
7501        __end_ptr: *mut *mut ::std::os::raw::c_char,
7502        __base: ::std::os::raw::c_int,
7503    ) -> ::std::os::raw::c_long;
7504}
7505extern "C" {
7506    pub fn strtoll(
7507        __s: *const ::std::os::raw::c_char,
7508        __end_ptr: *mut *mut ::std::os::raw::c_char,
7509        __base: ::std::os::raw::c_int,
7510    ) -> ::std::os::raw::c_longlong;
7511}
7512extern "C" {
7513    pub fn strtoul(
7514        __s: *const ::std::os::raw::c_char,
7515        __end_ptr: *mut *mut ::std::os::raw::c_char,
7516        __base: ::std::os::raw::c_int,
7517    ) -> ::std::os::raw::c_ulong;
7518}
7519extern "C" {
7520    pub fn strtoull(
7521        __s: *const ::std::os::raw::c_char,
7522        __end_ptr: *mut *mut ::std::os::raw::c_char,
7523        __base: ::std::os::raw::c_int,
7524    ) -> ::std::os::raw::c_ulonglong;
7525}
7526extern "C" {
7527    pub fn posix_memalign(
7528        __memptr: *mut *mut ::std::os::raw::c_void,
7529        __alignment: usize,
7530        __size: usize,
7531    ) -> ::std::os::raw::c_int;
7532}
7533extern "C" {
7534    pub fn aligned_alloc(
7535        __alignment: ::std::os::raw::c_ulong,
7536        __size: ::std::os::raw::c_ulong,
7537    ) -> *mut ::std::os::raw::c_void;
7538}
7539extern "C" {
7540    pub fn strtod(
7541        __s: *const ::std::os::raw::c_char,
7542        __end_ptr: *mut *mut ::std::os::raw::c_char,
7543    ) -> f64;
7544}
7545extern "C" {
7546    pub fn strtold(
7547        __s: *const ::std::os::raw::c_char,
7548        __end_ptr: *mut *mut ::std::os::raw::c_char,
7549    ) -> u128;
7550}
7551extern "C" {
7552    pub fn strtoul_l(
7553        __s: *const ::std::os::raw::c_char,
7554        __end_ptr: *mut *mut ::std::os::raw::c_char,
7555        __base: ::std::os::raw::c_int,
7556        __l: locale_t,
7557    ) -> ::std::os::raw::c_ulong;
7558}
7559extern "C" {
7560    pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7561}
7562extern "C" {
7563    pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
7564}
7565extern "C" {
7566    pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
7567}
7568extern "C" {
7569    pub fn realpath(
7570        __path: *const ::std::os::raw::c_char,
7571        __resolved: *mut ::std::os::raw::c_char,
7572    ) -> *mut ::std::os::raw::c_char;
7573}
7574extern "C" {
7575    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7576}
7577extern "C" {
7578    pub fn bsearch(
7579        __key: *const ::std::os::raw::c_void,
7580        __base: *const ::std::os::raw::c_void,
7581        __nmemb: usize,
7582        __size: usize,
7583        __comparator: ::std::option::Option<
7584            unsafe extern "C" fn(
7585                __lhs: *const ::std::os::raw::c_void,
7586                __rhs: *const ::std::os::raw::c_void,
7587            ) -> ::std::os::raw::c_int,
7588        >,
7589    ) -> *mut ::std::os::raw::c_void;
7590}
7591extern "C" {
7592    pub fn qsort(
7593        __base: *mut ::std::os::raw::c_void,
7594        __nmemb: usize,
7595        __size: usize,
7596        __comparator: ::std::option::Option<
7597            unsafe extern "C" fn(
7598                __lhs: *const ::std::os::raw::c_void,
7599                __rhs: *const ::std::os::raw::c_void,
7600            ) -> ::std::os::raw::c_int,
7601        >,
7602    );
7603}
7604extern "C" {
7605    pub fn arc4random() -> u32;
7606}
7607extern "C" {
7608    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
7609}
7610extern "C" {
7611    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize);
7612}
7613extern "C" {
7614    pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
7615}
7616extern "C" {
7617    pub fn drand48() -> f64;
7618}
7619extern "C" {
7620    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
7621}
7622extern "C" {
7623    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
7624}
7625extern "C" {
7626    pub fn lrand48() -> ::std::os::raw::c_long;
7627}
7628extern "C" {
7629    pub fn mrand48() -> ::std::os::raw::c_long;
7630}
7631extern "C" {
7632    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
7633}
7634extern "C" {
7635    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
7636}
7637extern "C" {
7638    pub fn srand48(__seed: ::std::os::raw::c_long);
7639}
7640extern "C" {
7641    pub fn initstate(
7642        __seed: ::std::os::raw::c_uint,
7643        __state: *mut ::std::os::raw::c_char,
7644        __n: usize,
7645    ) -> *mut ::std::os::raw::c_char;
7646}
7647extern "C" {
7648    pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7649}
7650extern "C" {
7651    pub fn getpt() -> ::std::os::raw::c_int;
7652}
7653extern "C" {
7654    pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7655}
7656extern "C" {
7657    pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
7658}
7659extern "C" {
7660    pub fn ptsname_r(
7661        __fd: ::std::os::raw::c_int,
7662        __buf: *mut ::std::os::raw::c_char,
7663        __n: usize,
7664    ) -> ::std::os::raw::c_int;
7665}
7666extern "C" {
7667    pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7668}
7669extern "C" {
7670    pub fn getsubopt(
7671        __option: *mut *mut ::std::os::raw::c_char,
7672        __tokens: *const *mut ::std::os::raw::c_char,
7673        __value_ptr: *mut *mut ::std::os::raw::c_char,
7674    ) -> ::std::os::raw::c_int;
7675}
7676#[repr(C)]
7677#[derive(Debug, Copy, Clone)]
7678pub struct div_t {
7679    pub quot: ::std::os::raw::c_int,
7680    pub rem: ::std::os::raw::c_int,
7681}
7682#[test]
7683fn bindgen_test_layout_div_t() {
7684    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
7685    let ptr = UNINIT.as_ptr();
7686    assert_eq!(
7687        ::std::mem::size_of::<div_t>(),
7688        8usize,
7689        concat!("Size of: ", stringify!(div_t))
7690    );
7691    assert_eq!(
7692        ::std::mem::align_of::<div_t>(),
7693        4usize,
7694        concat!("Alignment of ", stringify!(div_t))
7695    );
7696    assert_eq!(
7697        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7698        0usize,
7699        concat!(
7700            "Offset of field: ",
7701            stringify!(div_t),
7702            "::",
7703            stringify!(quot)
7704        )
7705    );
7706    assert_eq!(
7707        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7708        4usize,
7709        concat!(
7710            "Offset of field: ",
7711            stringify!(div_t),
7712            "::",
7713            stringify!(rem)
7714        )
7715    );
7716}
7717extern "C" {
7718    pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
7719}
7720#[repr(C)]
7721#[derive(Debug, Copy, Clone)]
7722pub struct ldiv_t {
7723    pub quot: ::std::os::raw::c_long,
7724    pub rem: ::std::os::raw::c_long,
7725}
7726#[test]
7727fn bindgen_test_layout_ldiv_t() {
7728    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
7729    let ptr = UNINIT.as_ptr();
7730    assert_eq!(
7731        ::std::mem::size_of::<ldiv_t>(),
7732        16usize,
7733        concat!("Size of: ", stringify!(ldiv_t))
7734    );
7735    assert_eq!(
7736        ::std::mem::align_of::<ldiv_t>(),
7737        8usize,
7738        concat!("Alignment of ", stringify!(ldiv_t))
7739    );
7740    assert_eq!(
7741        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7742        0usize,
7743        concat!(
7744            "Offset of field: ",
7745            stringify!(ldiv_t),
7746            "::",
7747            stringify!(quot)
7748        )
7749    );
7750    assert_eq!(
7751        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7752        8usize,
7753        concat!(
7754            "Offset of field: ",
7755            stringify!(ldiv_t),
7756            "::",
7757            stringify!(rem)
7758        )
7759    );
7760}
7761extern "C" {
7762    pub fn ldiv(
7763        __numerator: ::std::os::raw::c_long,
7764        __denominator: ::std::os::raw::c_long,
7765    ) -> ldiv_t;
7766}
7767#[repr(C)]
7768#[derive(Debug, Copy, Clone)]
7769pub struct lldiv_t {
7770    pub quot: ::std::os::raw::c_longlong,
7771    pub rem: ::std::os::raw::c_longlong,
7772}
7773#[test]
7774fn bindgen_test_layout_lldiv_t() {
7775    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
7776    let ptr = UNINIT.as_ptr();
7777    assert_eq!(
7778        ::std::mem::size_of::<lldiv_t>(),
7779        16usize,
7780        concat!("Size of: ", stringify!(lldiv_t))
7781    );
7782    assert_eq!(
7783        ::std::mem::align_of::<lldiv_t>(),
7784        8usize,
7785        concat!("Alignment of ", stringify!(lldiv_t))
7786    );
7787    assert_eq!(
7788        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7789        0usize,
7790        concat!(
7791            "Offset of field: ",
7792            stringify!(lldiv_t),
7793            "::",
7794            stringify!(quot)
7795        )
7796    );
7797    assert_eq!(
7798        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7799        8usize,
7800        concat!(
7801            "Offset of field: ",
7802            stringify!(lldiv_t),
7803            "::",
7804            stringify!(rem)
7805        )
7806    );
7807}
7808extern "C" {
7809    pub fn lldiv(
7810        __numerator: ::std::os::raw::c_longlong,
7811        __denominator: ::std::os::raw::c_longlong,
7812    ) -> lldiv_t;
7813}
7814extern "C" {
7815    pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7816}
7817extern "C" {
7818    pub fn getprogname() -> *const ::std::os::raw::c_char;
7819}
7820extern "C" {
7821    pub fn setprogname(__name: *const ::std::os::raw::c_char);
7822}
7823extern "C" {
7824    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
7825}
7826extern "C" {
7827    pub fn mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize)
7828        -> usize;
7829}
7830extern "C" {
7831    pub fn mbtowc(
7832        __wc_ptr: *mut wchar_t,
7833        __s: *const ::std::os::raw::c_char,
7834        __n: usize,
7835    ) -> ::std::os::raw::c_int;
7836}
7837extern "C" {
7838    pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
7839}
7840extern "C" {
7841    pub fn wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize)
7842        -> usize;
7843}
7844extern "C" {
7845    pub fn __ctype_get_mb_cur_max() -> usize;
7846}
7847extern "C" {
7848    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7849}
7850extern "C" {
7851    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7852}
7853extern "C" {
7854    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
7855}
7856extern "C" {
7857    pub fn strtof(
7858        __s: *const ::std::os::raw::c_char,
7859        __end_ptr: *mut *mut ::std::os::raw::c_char,
7860    ) -> f32;
7861}
7862extern "C" {
7863    pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
7864}
7865extern "C" {
7866    pub fn rand() -> ::std::os::raw::c_int;
7867}
7868extern "C" {
7869    pub fn srand(__seed: ::std::os::raw::c_uint);
7870}
7871extern "C" {
7872    pub fn random() -> ::std::os::raw::c_long;
7873}
7874extern "C" {
7875    pub fn srandom(__seed: ::std::os::raw::c_uint);
7876}
7877extern "C" {
7878    pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7879}
7880extern "C" {
7881    pub fn strtoll_l(
7882        __s: *const ::std::os::raw::c_char,
7883        __end_ptr: *mut *mut ::std::os::raw::c_char,
7884        __base: ::std::os::raw::c_int,
7885        __l: locale_t,
7886    ) -> ::std::os::raw::c_longlong;
7887}
7888extern "C" {
7889    pub fn strtoull_l(
7890        __s: *const ::std::os::raw::c_char,
7891        __end_ptr: *mut *mut ::std::os::raw::c_char,
7892        __base: ::std::os::raw::c_int,
7893        __l: locale_t,
7894    ) -> ::std::os::raw::c_ulonglong;
7895}
7896extern "C" {
7897    pub fn strtold_l(
7898        __s: *const ::std::os::raw::c_char,
7899        __end_ptr: *mut *mut ::std::os::raw::c_char,
7900        __l: locale_t,
7901    ) -> u128;
7902}
7903extern "C" {
7904    pub fn strtod_l(
7905        __s: *const ::std::os::raw::c_char,
7906        __end_ptr: *mut *mut ::std::os::raw::c_char,
7907        __l: locale_t,
7908    ) -> f64;
7909}
7910extern "C" {
7911    pub fn strtof_l(
7912        __s: *const ::std::os::raw::c_char,
7913        __end_ptr: *mut *mut ::std::os::raw::c_char,
7914        __l: locale_t,
7915    ) -> f32;
7916}
7917extern "C" {
7918    pub fn strtol_l(
7919        __s: *const ::std::os::raw::c_char,
7920        __end_ptr: *mut *mut ::std::os::raw::c_char,
7921        arg1: ::std::os::raw::c_int,
7922        __l: locale_t,
7923    ) -> ::std::os::raw::c_long;
7924}
7925pub type net_handle_t = u64;
7926extern "C" {
7927    pub fn android_setsocknetwork(
7928        network: net_handle_t,
7929        fd: ::std::os::raw::c_int,
7930    ) -> ::std::os::raw::c_int;
7931}
7932extern "C" {
7933    pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
7934}
7935extern "C" {
7936    pub fn android_getprocnetwork(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7937}
7938extern "C" {
7939    pub fn android_setprocdns(network: net_handle_t) -> ::std::os::raw::c_int;
7940}
7941extern "C" {
7942    pub fn android_getprocdns(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7943}
7944extern "C" {
7945    pub fn android_getaddrinfofornetwork(
7946        network: net_handle_t,
7947        node: *const ::std::os::raw::c_char,
7948        service: *const ::std::os::raw::c_char,
7949        hints: *const addrinfo,
7950        res: *mut *mut addrinfo,
7951    ) -> ::std::os::raw::c_int;
7952}
7953impl ResNsendFlags {
7954    pub const ANDROID_RESOLV_NO_RETRY: ResNsendFlags = ResNsendFlags(1);
7955}
7956impl ResNsendFlags {
7957    pub const ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = ResNsendFlags(2);
7958}
7959impl ResNsendFlags {
7960    pub const ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = ResNsendFlags(4);
7961}
7962#[repr(transparent)]
7963#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7964pub struct ResNsendFlags(pub u32);
7965extern "C" {
7966    pub fn android_res_nquery(
7967        network: net_handle_t,
7968        dname: *const ::std::os::raw::c_char,
7969        ns_class: ::std::os::raw::c_int,
7970        ns_type: ::std::os::raw::c_int,
7971        flags: u32,
7972    ) -> ::std::os::raw::c_int;
7973}
7974extern "C" {
7975    pub fn android_res_nsend(
7976        network: net_handle_t,
7977        msg: *const u8,
7978        msglen: usize,
7979        flags: u32,
7980    ) -> ::std::os::raw::c_int;
7981}
7982extern "C" {
7983    pub fn android_res_nresult(
7984        fd: ::std::os::raw::c_int,
7985        rcode: *mut ::std::os::raw::c_int,
7986        answer: *mut u8,
7987        anslen: usize,
7988    ) -> ::std::os::raw::c_int;
7989}
7990extern "C" {
7991    pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
7992}
7993extern "C" {
7994    pub fn android_tag_socket_with_uid(
7995        sockfd: ::std::os::raw::c_int,
7996        tag: u32,
7997        uid: uid_t,
7998    ) -> ::std::os::raw::c_int;
7999}
8000extern "C" {
8001    pub fn android_tag_socket(sockfd: ::std::os::raw::c_int, tag: u32) -> ::std::os::raw::c_int;
8002}
8003extern "C" {
8004    pub fn android_untag_socket(sockfd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8005}
8006impl ANativeWindow_LegacyFormat {
8007    pub const WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(1);
8008}
8009impl ANativeWindow_LegacyFormat {
8010    pub const WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(2);
8011}
8012impl ANativeWindow_LegacyFormat {
8013    pub const WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(4);
8014}
8015#[repr(transparent)]
8016#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8017pub struct ANativeWindow_LegacyFormat(pub ::std::os::raw::c_uint);
8018impl ANativeWindowTransform {
8019    pub const ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = ANativeWindowTransform(0);
8020}
8021impl ANativeWindowTransform {
8022    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
8023        ANativeWindowTransform(1);
8024}
8025impl ANativeWindowTransform {
8026    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
8027        ANativeWindowTransform(2);
8028}
8029impl ANativeWindowTransform {
8030    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = ANativeWindowTransform(4);
8031}
8032impl ANativeWindowTransform {
8033    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform =
8034        ANativeWindowTransform(3);
8035}
8036impl ANativeWindowTransform {
8037    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform =
8038        ANativeWindowTransform(7);
8039}
8040#[repr(transparent)]
8041#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8042pub struct ANativeWindowTransform(pub ::std::os::raw::c_uint);
8043#[repr(C)]
8044#[derive(Debug, Copy, Clone)]
8045pub struct ANativeWindow {
8046    _unused: [u8; 0],
8047}
8048#[repr(C)]
8049#[derive(Debug, Copy, Clone)]
8050pub struct ANativeWindow_Buffer {
8051    pub width: i32,
8052    pub height: i32,
8053    pub stride: i32,
8054    pub format: i32,
8055    pub bits: *mut ::std::os::raw::c_void,
8056    pub reserved: [u32; 6usize],
8057}
8058#[test]
8059fn bindgen_test_layout_ANativeWindow_Buffer() {
8060    const UNINIT: ::std::mem::MaybeUninit<ANativeWindow_Buffer> = ::std::mem::MaybeUninit::uninit();
8061    let ptr = UNINIT.as_ptr();
8062    assert_eq!(
8063        ::std::mem::size_of::<ANativeWindow_Buffer>(),
8064        48usize,
8065        concat!("Size of: ", stringify!(ANativeWindow_Buffer))
8066    );
8067    assert_eq!(
8068        ::std::mem::align_of::<ANativeWindow_Buffer>(),
8069        8usize,
8070        concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
8071    );
8072    assert_eq!(
8073        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8074        0usize,
8075        concat!(
8076            "Offset of field: ",
8077            stringify!(ANativeWindow_Buffer),
8078            "::",
8079            stringify!(width)
8080        )
8081    );
8082    assert_eq!(
8083        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
8084        4usize,
8085        concat!(
8086            "Offset of field: ",
8087            stringify!(ANativeWindow_Buffer),
8088            "::",
8089            stringify!(height)
8090        )
8091    );
8092    assert_eq!(
8093        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
8094        8usize,
8095        concat!(
8096            "Offset of field: ",
8097            stringify!(ANativeWindow_Buffer),
8098            "::",
8099            stringify!(stride)
8100        )
8101    );
8102    assert_eq!(
8103        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
8104        12usize,
8105        concat!(
8106            "Offset of field: ",
8107            stringify!(ANativeWindow_Buffer),
8108            "::",
8109            stringify!(format)
8110        )
8111    );
8112    assert_eq!(
8113        unsafe { ::std::ptr::addr_of!((*ptr).bits) as usize - ptr as usize },
8114        16usize,
8115        concat!(
8116            "Offset of field: ",
8117            stringify!(ANativeWindow_Buffer),
8118            "::",
8119            stringify!(bits)
8120        )
8121    );
8122    assert_eq!(
8123        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8124        24usize,
8125        concat!(
8126            "Offset of field: ",
8127            stringify!(ANativeWindow_Buffer),
8128            "::",
8129            stringify!(reserved)
8130        )
8131    );
8132}
8133extern "C" {
8134    pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
8135}
8136extern "C" {
8137    pub fn ANativeWindow_release(window: *mut ANativeWindow);
8138}
8139extern "C" {
8140    pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
8141}
8142extern "C" {
8143    pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
8144}
8145extern "C" {
8146    pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
8147}
8148extern "C" {
8149    pub fn ANativeWindow_setBuffersGeometry(
8150        window: *mut ANativeWindow,
8151        width: i32,
8152        height: i32,
8153        format: i32,
8154    ) -> i32;
8155}
8156extern "C" {
8157    pub fn ANativeWindow_lock(
8158        window: *mut ANativeWindow,
8159        outBuffer: *mut ANativeWindow_Buffer,
8160        inOutDirtyBounds: *mut ARect,
8161    ) -> i32;
8162}
8163extern "C" {
8164    pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
8165}
8166extern "C" {
8167    pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
8168}
8169extern "C" {
8170    pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
8171}
8172extern "C" {
8173    pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
8174}
8175extern "C" {
8176    pub fn ANativeWindow_getBuffersDefaultDataSpace(window: *mut ANativeWindow) -> i32;
8177}
8178impl ANativeWindow_FrameRateCompatibility {
8179    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT: ANativeWindow_FrameRateCompatibility =
8180        ANativeWindow_FrameRateCompatibility(0);
8181}
8182impl ANativeWindow_FrameRateCompatibility {
8183    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_FIXED_SOURCE:
8184        ANativeWindow_FrameRateCompatibility = ANativeWindow_FrameRateCompatibility(1);
8185}
8186#[repr(transparent)]
8187#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8188pub struct ANativeWindow_FrameRateCompatibility(pub ::std::os::raw::c_uint);
8189extern "C" {
8190    pub fn ANativeWindow_setFrameRate(
8191        window: *mut ANativeWindow,
8192        frameRate: f32,
8193        compatibility: i8,
8194    ) -> i32;
8195}
8196extern "C" {
8197    pub fn ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow);
8198}
8199impl ANativeWindow_ChangeFrameRateStrategy {
8200    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS:
8201        ANativeWindow_ChangeFrameRateStrategy = ANativeWindow_ChangeFrameRateStrategy(0);
8202}
8203impl ANativeWindow_ChangeFrameRateStrategy {
8204    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ALWAYS: ANativeWindow_ChangeFrameRateStrategy =
8205        ANativeWindow_ChangeFrameRateStrategy(1);
8206}
8207#[repr(transparent)]
8208#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8209pub struct ANativeWindow_ChangeFrameRateStrategy(pub ::std::os::raw::c_uint);
8210extern "C" {
8211    pub fn ANativeWindow_setFrameRateWithChangeStrategy(
8212        window: *mut ANativeWindow,
8213        frameRate: f32,
8214        compatibility: i8,
8215        changeFrameRateStrategy: i8,
8216    ) -> i32;
8217}
8218#[repr(C)]
8219pub struct ANativeActivity {
8220    pub callbacks: *mut ANativeActivityCallbacks,
8221    pub vm: *mut JavaVM,
8222    pub env: *mut JNIEnv,
8223    pub clazz: jobject,
8224    pub internalDataPath: *const ::std::os::raw::c_char,
8225    pub externalDataPath: *const ::std::os::raw::c_char,
8226    pub sdkVersion: i32,
8227    pub instance: *mut ::std::os::raw::c_void,
8228    pub assetManager: *mut AAssetManager,
8229    pub obbPath: *const ::std::os::raw::c_char,
8230}
8231#[test]
8232fn bindgen_test_layout_ANativeActivity() {
8233    const UNINIT: ::std::mem::MaybeUninit<ANativeActivity> = ::std::mem::MaybeUninit::uninit();
8234    let ptr = UNINIT.as_ptr();
8235    assert_eq!(
8236        ::std::mem::size_of::<ANativeActivity>(),
8237        80usize,
8238        concat!("Size of: ", stringify!(ANativeActivity))
8239    );
8240    assert_eq!(
8241        ::std::mem::align_of::<ANativeActivity>(),
8242        8usize,
8243        concat!("Alignment of ", stringify!(ANativeActivity))
8244    );
8245    assert_eq!(
8246        unsafe { ::std::ptr::addr_of!((*ptr).callbacks) as usize - ptr as usize },
8247        0usize,
8248        concat!(
8249            "Offset of field: ",
8250            stringify!(ANativeActivity),
8251            "::",
8252            stringify!(callbacks)
8253        )
8254    );
8255    assert_eq!(
8256        unsafe { ::std::ptr::addr_of!((*ptr).vm) as usize - ptr as usize },
8257        8usize,
8258        concat!(
8259            "Offset of field: ",
8260            stringify!(ANativeActivity),
8261            "::",
8262            stringify!(vm)
8263        )
8264    );
8265    assert_eq!(
8266        unsafe { ::std::ptr::addr_of!((*ptr).env) as usize - ptr as usize },
8267        16usize,
8268        concat!(
8269            "Offset of field: ",
8270            stringify!(ANativeActivity),
8271            "::",
8272            stringify!(env)
8273        )
8274    );
8275    assert_eq!(
8276        unsafe { ::std::ptr::addr_of!((*ptr).clazz) as usize - ptr as usize },
8277        24usize,
8278        concat!(
8279            "Offset of field: ",
8280            stringify!(ANativeActivity),
8281            "::",
8282            stringify!(clazz)
8283        )
8284    );
8285    assert_eq!(
8286        unsafe { ::std::ptr::addr_of!((*ptr).internalDataPath) as usize - ptr as usize },
8287        32usize,
8288        concat!(
8289            "Offset of field: ",
8290            stringify!(ANativeActivity),
8291            "::",
8292            stringify!(internalDataPath)
8293        )
8294    );
8295    assert_eq!(
8296        unsafe { ::std::ptr::addr_of!((*ptr).externalDataPath) as usize - ptr as usize },
8297        40usize,
8298        concat!(
8299            "Offset of field: ",
8300            stringify!(ANativeActivity),
8301            "::",
8302            stringify!(externalDataPath)
8303        )
8304    );
8305    assert_eq!(
8306        unsafe { ::std::ptr::addr_of!((*ptr).sdkVersion) as usize - ptr as usize },
8307        48usize,
8308        concat!(
8309            "Offset of field: ",
8310            stringify!(ANativeActivity),
8311            "::",
8312            stringify!(sdkVersion)
8313        )
8314    );
8315    assert_eq!(
8316        unsafe { ::std::ptr::addr_of!((*ptr).instance) as usize - ptr as usize },
8317        56usize,
8318        concat!(
8319            "Offset of field: ",
8320            stringify!(ANativeActivity),
8321            "::",
8322            stringify!(instance)
8323        )
8324    );
8325    assert_eq!(
8326        unsafe { ::std::ptr::addr_of!((*ptr).assetManager) as usize - ptr as usize },
8327        64usize,
8328        concat!(
8329            "Offset of field: ",
8330            stringify!(ANativeActivity),
8331            "::",
8332            stringify!(assetManager)
8333        )
8334    );
8335    assert_eq!(
8336        unsafe { ::std::ptr::addr_of!((*ptr).obbPath) as usize - ptr as usize },
8337        72usize,
8338        concat!(
8339            "Offset of field: ",
8340            stringify!(ANativeActivity),
8341            "::",
8342            stringify!(obbPath)
8343        )
8344    );
8345}
8346#[repr(C)]
8347#[derive(Debug, Copy, Clone)]
8348pub struct ANativeActivityCallbacks {
8349    pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8350    pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8351    pub onSaveInstanceState: ::std::option::Option<
8352        unsafe extern "C" fn(
8353            activity: *mut ANativeActivity,
8354            outSize: *mut usize,
8355        ) -> *mut ::std::os::raw::c_void,
8356    >,
8357    pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8358    pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8359    pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8360    pub onWindowFocusChanged: ::std::option::Option<
8361        unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
8362    >,
8363    pub onNativeWindowCreated: ::std::option::Option<
8364        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8365    >,
8366    pub onNativeWindowResized: ::std::option::Option<
8367        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8368    >,
8369    pub onNativeWindowRedrawNeeded: ::std::option::Option<
8370        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8371    >,
8372    pub onNativeWindowDestroyed: ::std::option::Option<
8373        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8374    >,
8375    pub onInputQueueCreated: ::std::option::Option<
8376        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8377    >,
8378    pub onInputQueueDestroyed: ::std::option::Option<
8379        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8380    >,
8381    pub onContentRectChanged: ::std::option::Option<
8382        unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
8383    >,
8384    pub onConfigurationChanged:
8385        ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8386    pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8387}
8388#[test]
8389fn bindgen_test_layout_ANativeActivityCallbacks() {
8390    const UNINIT: ::std::mem::MaybeUninit<ANativeActivityCallbacks> =
8391        ::std::mem::MaybeUninit::uninit();
8392    let ptr = UNINIT.as_ptr();
8393    assert_eq!(
8394        ::std::mem::size_of::<ANativeActivityCallbacks>(),
8395        128usize,
8396        concat!("Size of: ", stringify!(ANativeActivityCallbacks))
8397    );
8398    assert_eq!(
8399        ::std::mem::align_of::<ANativeActivityCallbacks>(),
8400        8usize,
8401        concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
8402    );
8403    assert_eq!(
8404        unsafe { ::std::ptr::addr_of!((*ptr).onStart) as usize - ptr as usize },
8405        0usize,
8406        concat!(
8407            "Offset of field: ",
8408            stringify!(ANativeActivityCallbacks),
8409            "::",
8410            stringify!(onStart)
8411        )
8412    );
8413    assert_eq!(
8414        unsafe { ::std::ptr::addr_of!((*ptr).onResume) as usize - ptr as usize },
8415        8usize,
8416        concat!(
8417            "Offset of field: ",
8418            stringify!(ANativeActivityCallbacks),
8419            "::",
8420            stringify!(onResume)
8421        )
8422    );
8423    assert_eq!(
8424        unsafe { ::std::ptr::addr_of!((*ptr).onSaveInstanceState) as usize - ptr as usize },
8425        16usize,
8426        concat!(
8427            "Offset of field: ",
8428            stringify!(ANativeActivityCallbacks),
8429            "::",
8430            stringify!(onSaveInstanceState)
8431        )
8432    );
8433    assert_eq!(
8434        unsafe { ::std::ptr::addr_of!((*ptr).onPause) as usize - ptr as usize },
8435        24usize,
8436        concat!(
8437            "Offset of field: ",
8438            stringify!(ANativeActivityCallbacks),
8439            "::",
8440            stringify!(onPause)
8441        )
8442    );
8443    assert_eq!(
8444        unsafe { ::std::ptr::addr_of!((*ptr).onStop) as usize - ptr as usize },
8445        32usize,
8446        concat!(
8447            "Offset of field: ",
8448            stringify!(ANativeActivityCallbacks),
8449            "::",
8450            stringify!(onStop)
8451        )
8452    );
8453    assert_eq!(
8454        unsafe { ::std::ptr::addr_of!((*ptr).onDestroy) as usize - ptr as usize },
8455        40usize,
8456        concat!(
8457            "Offset of field: ",
8458            stringify!(ANativeActivityCallbacks),
8459            "::",
8460            stringify!(onDestroy)
8461        )
8462    );
8463    assert_eq!(
8464        unsafe { ::std::ptr::addr_of!((*ptr).onWindowFocusChanged) as usize - ptr as usize },
8465        48usize,
8466        concat!(
8467            "Offset of field: ",
8468            stringify!(ANativeActivityCallbacks),
8469            "::",
8470            stringify!(onWindowFocusChanged)
8471        )
8472    );
8473    assert_eq!(
8474        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowCreated) as usize - ptr as usize },
8475        56usize,
8476        concat!(
8477            "Offset of field: ",
8478            stringify!(ANativeActivityCallbacks),
8479            "::",
8480            stringify!(onNativeWindowCreated)
8481        )
8482    );
8483    assert_eq!(
8484        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowResized) as usize - ptr as usize },
8485        64usize,
8486        concat!(
8487            "Offset of field: ",
8488            stringify!(ANativeActivityCallbacks),
8489            "::",
8490            stringify!(onNativeWindowResized)
8491        )
8492    );
8493    assert_eq!(
8494        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowRedrawNeeded) as usize - ptr as usize },
8495        72usize,
8496        concat!(
8497            "Offset of field: ",
8498            stringify!(ANativeActivityCallbacks),
8499            "::",
8500            stringify!(onNativeWindowRedrawNeeded)
8501        )
8502    );
8503    assert_eq!(
8504        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowDestroyed) as usize - ptr as usize },
8505        80usize,
8506        concat!(
8507            "Offset of field: ",
8508            stringify!(ANativeActivityCallbacks),
8509            "::",
8510            stringify!(onNativeWindowDestroyed)
8511        )
8512    );
8513    assert_eq!(
8514        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueCreated) as usize - ptr as usize },
8515        88usize,
8516        concat!(
8517            "Offset of field: ",
8518            stringify!(ANativeActivityCallbacks),
8519            "::",
8520            stringify!(onInputQueueCreated)
8521        )
8522    );
8523    assert_eq!(
8524        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueDestroyed) as usize - ptr as usize },
8525        96usize,
8526        concat!(
8527            "Offset of field: ",
8528            stringify!(ANativeActivityCallbacks),
8529            "::",
8530            stringify!(onInputQueueDestroyed)
8531        )
8532    );
8533    assert_eq!(
8534        unsafe { ::std::ptr::addr_of!((*ptr).onContentRectChanged) as usize - ptr as usize },
8535        104usize,
8536        concat!(
8537            "Offset of field: ",
8538            stringify!(ANativeActivityCallbacks),
8539            "::",
8540            stringify!(onContentRectChanged)
8541        )
8542    );
8543    assert_eq!(
8544        unsafe { ::std::ptr::addr_of!((*ptr).onConfigurationChanged) as usize - ptr as usize },
8545        112usize,
8546        concat!(
8547            "Offset of field: ",
8548            stringify!(ANativeActivityCallbacks),
8549            "::",
8550            stringify!(onConfigurationChanged)
8551        )
8552    );
8553    assert_eq!(
8554        unsafe { ::std::ptr::addr_of!((*ptr).onLowMemory) as usize - ptr as usize },
8555        120usize,
8556        concat!(
8557            "Offset of field: ",
8558            stringify!(ANativeActivityCallbacks),
8559            "::",
8560            stringify!(onLowMemory)
8561        )
8562    );
8563}
8564pub type ANativeActivity_createFunc = ::std::option::Option<
8565    unsafe extern "C" fn(
8566        activity: *mut ANativeActivity,
8567        savedState: *mut ::std::os::raw::c_void,
8568        savedStateSize: usize,
8569    ),
8570>;
8571extern "C" {
8572    pub fn ANativeActivity_onCreate(
8573        activity: *mut ANativeActivity,
8574        savedState: *mut ::std::os::raw::c_void,
8575        savedStateSize: usize,
8576    );
8577}
8578extern "C" {
8579    pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
8580}
8581extern "C" {
8582    pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
8583}
8584extern "C" {
8585    pub fn ANativeActivity_setWindowFlags(
8586        activity: *mut ANativeActivity,
8587        addFlags: u32,
8588        removeFlags: u32,
8589    );
8590}
8591pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_33 = 1;
8592pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_33 = 2;
8593pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
8594extern "C" {
8595    pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
8596}
8597pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_34 = 1;
8598pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_34 = 2;
8599pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
8600extern "C" {
8601    pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
8602}
8603extern "C" {
8604    pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
8605}
8606extern "C" {
8607    pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
8608}
8609impl OperandCode {
8610    pub const ANEURALNETWORKS_FLOAT32: OperandCode = OperandCode(0);
8611}
8612impl OperandCode {
8613    pub const ANEURALNETWORKS_INT32: OperandCode = OperandCode(1);
8614}
8615impl OperandCode {
8616    pub const ANEURALNETWORKS_UINT32: OperandCode = OperandCode(2);
8617}
8618impl OperandCode {
8619    pub const ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = OperandCode(3);
8620}
8621impl OperandCode {
8622    pub const ANEURALNETWORKS_TENSOR_INT32: OperandCode = OperandCode(4);
8623}
8624impl OperandCode {
8625    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = OperandCode(5);
8626}
8627impl OperandCode {
8628    pub const ANEURALNETWORKS_BOOL: OperandCode = OperandCode(6);
8629}
8630impl OperandCode {
8631    pub const ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = OperandCode(7);
8632}
8633impl OperandCode {
8634    pub const ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = OperandCode(8);
8635}
8636impl OperandCode {
8637    pub const ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = OperandCode(9);
8638}
8639impl OperandCode {
8640    pub const ANEURALNETWORKS_FLOAT16: OperandCode = OperandCode(10);
8641}
8642impl OperandCode {
8643    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = OperandCode(11);
8644}
8645impl OperandCode {
8646    pub const ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = OperandCode(12);
8647}
8648impl OperandCode {
8649    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = OperandCode(13);
8650}
8651impl OperandCode {
8652    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED: OperandCode = OperandCode(14);
8653}
8654impl OperandCode {
8655    pub const ANEURALNETWORKS_MODEL: OperandCode = OperandCode(15);
8656}
8657#[repr(transparent)]
8658#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8659pub struct OperandCode(pub ::std::os::raw::c_uint);
8660impl OperationCode {
8661    pub const ANEURALNETWORKS_ADD: OperationCode = OperationCode(0);
8662}
8663impl OperationCode {
8664    pub const ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = OperationCode(1);
8665}
8666impl OperationCode {
8667    pub const ANEURALNETWORKS_CONCATENATION: OperationCode = OperationCode(2);
8668}
8669impl OperationCode {
8670    pub const ANEURALNETWORKS_CONV_2D: OperationCode = OperationCode(3);
8671}
8672impl OperationCode {
8673    pub const ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = OperationCode(4);
8674}
8675impl OperationCode {
8676    pub const ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = OperationCode(5);
8677}
8678impl OperationCode {
8679    pub const ANEURALNETWORKS_DEQUANTIZE: OperationCode = OperationCode(6);
8680}
8681impl OperationCode {
8682    pub const ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = OperationCode(7);
8683}
8684impl OperationCode {
8685    pub const ANEURALNETWORKS_FLOOR: OperationCode = OperationCode(8);
8686}
8687impl OperationCode {
8688    pub const ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = OperationCode(9);
8689}
8690impl OperationCode {
8691    pub const ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = OperationCode(10);
8692}
8693impl OperationCode {
8694    pub const ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = OperationCode(11);
8695}
8696impl OperationCode {
8697    pub const ANEURALNETWORKS_L2_POOL_2D: OperationCode = OperationCode(12);
8698}
8699impl OperationCode {
8700    pub const ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = OperationCode(13);
8701}
8702impl OperationCode {
8703    pub const ANEURALNETWORKS_LOGISTIC: OperationCode = OperationCode(14);
8704}
8705impl OperationCode {
8706    pub const ANEURALNETWORKS_LSH_PROJECTION: OperationCode = OperationCode(15);
8707}
8708impl OperationCode {
8709    pub const ANEURALNETWORKS_LSTM: OperationCode = OperationCode(16);
8710}
8711impl OperationCode {
8712    pub const ANEURALNETWORKS_MAX_POOL_2D: OperationCode = OperationCode(17);
8713}
8714impl OperationCode {
8715    pub const ANEURALNETWORKS_MUL: OperationCode = OperationCode(18);
8716}
8717impl OperationCode {
8718    pub const ANEURALNETWORKS_RELU: OperationCode = OperationCode(19);
8719}
8720impl OperationCode {
8721    pub const ANEURALNETWORKS_RELU1: OperationCode = OperationCode(20);
8722}
8723impl OperationCode {
8724    pub const ANEURALNETWORKS_RELU6: OperationCode = OperationCode(21);
8725}
8726impl OperationCode {
8727    pub const ANEURALNETWORKS_RESHAPE: OperationCode = OperationCode(22);
8728}
8729impl OperationCode {
8730    pub const ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = OperationCode(23);
8731}
8732impl OperationCode {
8733    pub const ANEURALNETWORKS_RNN: OperationCode = OperationCode(24);
8734}
8735impl OperationCode {
8736    pub const ANEURALNETWORKS_SOFTMAX: OperationCode = OperationCode(25);
8737}
8738impl OperationCode {
8739    pub const ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = OperationCode(26);
8740}
8741impl OperationCode {
8742    pub const ANEURALNETWORKS_SVDF: OperationCode = OperationCode(27);
8743}
8744impl OperationCode {
8745    pub const ANEURALNETWORKS_TANH: OperationCode = OperationCode(28);
8746}
8747impl OperationCode {
8748    pub const ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = OperationCode(29);
8749}
8750impl OperationCode {
8751    pub const ANEURALNETWORKS_DIV: OperationCode = OperationCode(30);
8752}
8753impl OperationCode {
8754    pub const ANEURALNETWORKS_MEAN: OperationCode = OperationCode(31);
8755}
8756impl OperationCode {
8757    pub const ANEURALNETWORKS_PAD: OperationCode = OperationCode(32);
8758}
8759impl OperationCode {
8760    pub const ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = OperationCode(33);
8761}
8762impl OperationCode {
8763    pub const ANEURALNETWORKS_SQUEEZE: OperationCode = OperationCode(34);
8764}
8765impl OperationCode {
8766    pub const ANEURALNETWORKS_STRIDED_SLICE: OperationCode = OperationCode(35);
8767}
8768impl OperationCode {
8769    pub const ANEURALNETWORKS_SUB: OperationCode = OperationCode(36);
8770}
8771impl OperationCode {
8772    pub const ANEURALNETWORKS_TRANSPOSE: OperationCode = OperationCode(37);
8773}
8774impl OperationCode {
8775    pub const ANEURALNETWORKS_ABS: OperationCode = OperationCode(38);
8776}
8777impl OperationCode {
8778    pub const ANEURALNETWORKS_ARGMAX: OperationCode = OperationCode(39);
8779}
8780impl OperationCode {
8781    pub const ANEURALNETWORKS_ARGMIN: OperationCode = OperationCode(40);
8782}
8783impl OperationCode {
8784    pub const ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = OperationCode(41);
8785}
8786impl OperationCode {
8787    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(42);
8788}
8789impl OperationCode {
8790    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(43);
8791}
8792impl OperationCode {
8793    pub const ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = OperationCode(44);
8794}
8795impl OperationCode {
8796    pub const ANEURALNETWORKS_CAST: OperationCode = OperationCode(45);
8797}
8798impl OperationCode {
8799    pub const ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = OperationCode(46);
8800}
8801impl OperationCode {
8802    pub const ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = OperationCode(47);
8803}
8804impl OperationCode {
8805    pub const ANEURALNETWORKS_EQUAL: OperationCode = OperationCode(48);
8806}
8807impl OperationCode {
8808    pub const ANEURALNETWORKS_EXP: OperationCode = OperationCode(49);
8809}
8810impl OperationCode {
8811    pub const ANEURALNETWORKS_EXPAND_DIMS: OperationCode = OperationCode(50);
8812}
8813impl OperationCode {
8814    pub const ANEURALNETWORKS_GATHER: OperationCode = OperationCode(51);
8815}
8816impl OperationCode {
8817    pub const ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = OperationCode(52);
8818}
8819impl OperationCode {
8820    pub const ANEURALNETWORKS_GREATER: OperationCode = OperationCode(53);
8821}
8822impl OperationCode {
8823    pub const ANEURALNETWORKS_GREATER_EQUAL: OperationCode = OperationCode(54);
8824}
8825impl OperationCode {
8826    pub const ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = OperationCode(55);
8827}
8828impl OperationCode {
8829    pub const ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = OperationCode(56);
8830}
8831impl OperationCode {
8832    pub const ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = OperationCode(57);
8833}
8834impl OperationCode {
8835    pub const ANEURALNETWORKS_LESS: OperationCode = OperationCode(58);
8836}
8837impl OperationCode {
8838    pub const ANEURALNETWORKS_LESS_EQUAL: OperationCode = OperationCode(59);
8839}
8840impl OperationCode {
8841    pub const ANEURALNETWORKS_LOG: OperationCode = OperationCode(60);
8842}
8843impl OperationCode {
8844    pub const ANEURALNETWORKS_LOGICAL_AND: OperationCode = OperationCode(61);
8845}
8846impl OperationCode {
8847    pub const ANEURALNETWORKS_LOGICAL_NOT: OperationCode = OperationCode(62);
8848}
8849impl OperationCode {
8850    pub const ANEURALNETWORKS_LOGICAL_OR: OperationCode = OperationCode(63);
8851}
8852impl OperationCode {
8853    pub const ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = OperationCode(64);
8854}
8855impl OperationCode {
8856    pub const ANEURALNETWORKS_MAXIMUM: OperationCode = OperationCode(65);
8857}
8858impl OperationCode {
8859    pub const ANEURALNETWORKS_MINIMUM: OperationCode = OperationCode(66);
8860}
8861impl OperationCode {
8862    pub const ANEURALNETWORKS_NEG: OperationCode = OperationCode(67);
8863}
8864impl OperationCode {
8865    pub const ANEURALNETWORKS_NOT_EQUAL: OperationCode = OperationCode(68);
8866}
8867impl OperationCode {
8868    pub const ANEURALNETWORKS_PAD_V2: OperationCode = OperationCode(69);
8869}
8870impl OperationCode {
8871    pub const ANEURALNETWORKS_POW: OperationCode = OperationCode(70);
8872}
8873impl OperationCode {
8874    pub const ANEURALNETWORKS_PRELU: OperationCode = OperationCode(71);
8875}
8876impl OperationCode {
8877    pub const ANEURALNETWORKS_QUANTIZE: OperationCode = OperationCode(72);
8878}
8879impl OperationCode {
8880    pub const ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = OperationCode(73);
8881}
8882impl OperationCode {
8883    pub const ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = OperationCode(74);
8884}
8885impl OperationCode {
8886    pub const ANEURALNETWORKS_REDUCE_ALL: OperationCode = OperationCode(75);
8887}
8888impl OperationCode {
8889    pub const ANEURALNETWORKS_REDUCE_ANY: OperationCode = OperationCode(76);
8890}
8891impl OperationCode {
8892    pub const ANEURALNETWORKS_REDUCE_MAX: OperationCode = OperationCode(77);
8893}
8894impl OperationCode {
8895    pub const ANEURALNETWORKS_REDUCE_MIN: OperationCode = OperationCode(78);
8896}
8897impl OperationCode {
8898    pub const ANEURALNETWORKS_REDUCE_PROD: OperationCode = OperationCode(79);
8899}
8900impl OperationCode {
8901    pub const ANEURALNETWORKS_REDUCE_SUM: OperationCode = OperationCode(80);
8902}
8903impl OperationCode {
8904    pub const ANEURALNETWORKS_ROI_ALIGN: OperationCode = OperationCode(81);
8905}
8906impl OperationCode {
8907    pub const ANEURALNETWORKS_ROI_POOLING: OperationCode = OperationCode(82);
8908}
8909impl OperationCode {
8910    pub const ANEURALNETWORKS_RSQRT: OperationCode = OperationCode(83);
8911}
8912impl OperationCode {
8913    pub const ANEURALNETWORKS_SELECT: OperationCode = OperationCode(84);
8914}
8915impl OperationCode {
8916    pub const ANEURALNETWORKS_SIN: OperationCode = OperationCode(85);
8917}
8918impl OperationCode {
8919    pub const ANEURALNETWORKS_SLICE: OperationCode = OperationCode(86);
8920}
8921impl OperationCode {
8922    pub const ANEURALNETWORKS_SPLIT: OperationCode = OperationCode(87);
8923}
8924impl OperationCode {
8925    pub const ANEURALNETWORKS_SQRT: OperationCode = OperationCode(88);
8926}
8927impl OperationCode {
8928    pub const ANEURALNETWORKS_TILE: OperationCode = OperationCode(89);
8929}
8930impl OperationCode {
8931    pub const ANEURALNETWORKS_TOPK_V2: OperationCode = OperationCode(90);
8932}
8933impl OperationCode {
8934    pub const ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = OperationCode(91);
8935}
8936impl OperationCode {
8937    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(92);
8938}
8939impl OperationCode {
8940    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(93);
8941}
8942impl OperationCode {
8943    pub const ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = OperationCode(94);
8944}
8945impl OperationCode {
8946    pub const ANEURALNETWORKS_QUANTIZED_LSTM: OperationCode = OperationCode(95);
8947}
8948impl OperationCode {
8949    pub const ANEURALNETWORKS_IF: OperationCode = OperationCode(96);
8950}
8951impl OperationCode {
8952    pub const ANEURALNETWORKS_WHILE: OperationCode = OperationCode(97);
8953}
8954impl OperationCode {
8955    pub const ANEURALNETWORKS_ELU: OperationCode = OperationCode(98);
8956}
8957impl OperationCode {
8958    pub const ANEURALNETWORKS_HARD_SWISH: OperationCode = OperationCode(99);
8959}
8960impl OperationCode {
8961    pub const ANEURALNETWORKS_FILL: OperationCode = OperationCode(100);
8962}
8963impl OperationCode {
8964    pub const ANEURALNETWORKS_RANK: OperationCode = OperationCode(101);
8965}
8966impl OperationCode {
8967    pub const ANEURALNETWORKS_BATCH_MATMUL: OperationCode = OperationCode(102);
8968}
8969impl OperationCode {
8970    pub const ANEURALNETWORKS_PACK: OperationCode = OperationCode(103);
8971}
8972impl OperationCode {
8973    pub const ANEURALNETWORKS_MIRROR_PAD: OperationCode = OperationCode(104);
8974}
8975impl OperationCode {
8976    pub const ANEURALNETWORKS_REVERSE: OperationCode = OperationCode(105);
8977}
8978#[repr(transparent)]
8979#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8980pub struct OperationCode(pub ::std::os::raw::c_uint);
8981impl FuseCode {
8982    pub const ANEURALNETWORKS_FUSED_NONE: FuseCode = FuseCode(0);
8983}
8984impl FuseCode {
8985    pub const ANEURALNETWORKS_FUSED_RELU: FuseCode = FuseCode(1);
8986}
8987impl FuseCode {
8988    pub const ANEURALNETWORKS_FUSED_RELU1: FuseCode = FuseCode(2);
8989}
8990impl FuseCode {
8991    pub const ANEURALNETWORKS_FUSED_RELU6: FuseCode = FuseCode(3);
8992}
8993#[repr(transparent)]
8994#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8995pub struct FuseCode(pub ::std::os::raw::c_uint);
8996impl PaddingCode {
8997    pub const ANEURALNETWORKS_PADDING_SAME: PaddingCode = PaddingCode(1);
8998}
8999impl PaddingCode {
9000    pub const ANEURALNETWORKS_PADDING_VALID: PaddingCode = PaddingCode(2);
9001}
9002#[repr(transparent)]
9003#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9004pub struct PaddingCode(pub ::std::os::raw::c_uint);
9005impl PreferenceCode {
9006    pub const ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = PreferenceCode(0);
9007}
9008impl PreferenceCode {
9009    pub const ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = PreferenceCode(1);
9010}
9011impl PreferenceCode {
9012    pub const ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = PreferenceCode(2);
9013}
9014#[repr(transparent)]
9015#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9016pub struct PreferenceCode(pub ::std::os::raw::c_uint);
9017impl DeviceTypeCode {
9018    pub const ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = DeviceTypeCode(0);
9019}
9020impl DeviceTypeCode {
9021    pub const ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = DeviceTypeCode(1);
9022}
9023impl DeviceTypeCode {
9024    pub const ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = DeviceTypeCode(2);
9025}
9026impl DeviceTypeCode {
9027    pub const ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = DeviceTypeCode(3);
9028}
9029impl DeviceTypeCode {
9030    pub const ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = DeviceTypeCode(4);
9031}
9032#[repr(transparent)]
9033#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9034pub struct DeviceTypeCode(pub ::std::os::raw::c_uint);
9035impl FeatureLevelCode {
9036    pub const ANEURALNETWORKS_FEATURE_LEVEL_1: FeatureLevelCode = FeatureLevelCode(27);
9037}
9038impl FeatureLevelCode {
9039    pub const ANEURALNETWORKS_FEATURE_LEVEL_2: FeatureLevelCode = FeatureLevelCode(28);
9040}
9041impl FeatureLevelCode {
9042    pub const ANEURALNETWORKS_FEATURE_LEVEL_3: FeatureLevelCode = FeatureLevelCode(29);
9043}
9044impl FeatureLevelCode {
9045    pub const ANEURALNETWORKS_FEATURE_LEVEL_4: FeatureLevelCode = FeatureLevelCode(30);
9046}
9047impl FeatureLevelCode {
9048    pub const ANEURALNETWORKS_FEATURE_LEVEL_5: FeatureLevelCode = FeatureLevelCode(31);
9049}
9050impl FeatureLevelCode {
9051    pub const ANEURALNETWORKS_FEATURE_LEVEL_6: FeatureLevelCode = FeatureLevelCode(1000006);
9052}
9053impl FeatureLevelCode {
9054    pub const ANEURALNETWORKS_FEATURE_LEVEL_7: FeatureLevelCode = FeatureLevelCode(1000007);
9055}
9056impl FeatureLevelCode {
9057    pub const ANEURALNETWORKS_FEATURE_LEVEL_8: FeatureLevelCode = FeatureLevelCode(1000008);
9058}
9059#[repr(transparent)]
9060#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9061pub struct FeatureLevelCode(pub ::std::os::raw::c_uint);
9062impl ResultCode {
9063    pub const ANEURALNETWORKS_NO_ERROR: ResultCode = ResultCode(0);
9064}
9065impl ResultCode {
9066    pub const ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = ResultCode(1);
9067}
9068impl ResultCode {
9069    pub const ANEURALNETWORKS_INCOMPLETE: ResultCode = ResultCode(2);
9070}
9071impl ResultCode {
9072    pub const ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = ResultCode(3);
9073}
9074impl ResultCode {
9075    pub const ANEURALNETWORKS_BAD_DATA: ResultCode = ResultCode(4);
9076}
9077impl ResultCode {
9078    pub const ANEURALNETWORKS_OP_FAILED: ResultCode = ResultCode(5);
9079}
9080impl ResultCode {
9081    pub const ANEURALNETWORKS_BAD_STATE: ResultCode = ResultCode(6);
9082}
9083impl ResultCode {
9084    pub const ANEURALNETWORKS_UNMAPPABLE: ResultCode = ResultCode(7);
9085}
9086impl ResultCode {
9087    pub const ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = ResultCode(8);
9088}
9089impl ResultCode {
9090    pub const ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = ResultCode(9);
9091}
9092impl ResultCode {
9093    pub const ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT: ResultCode = ResultCode(10);
9094}
9095impl ResultCode {
9096    pub const ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT: ResultCode = ResultCode(11);
9097}
9098impl ResultCode {
9099    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT: ResultCode = ResultCode(12);
9100}
9101impl ResultCode {
9102    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT: ResultCode = ResultCode(13);
9103}
9104impl ResultCode {
9105    pub const ANEURALNETWORKS_DEAD_OBJECT: ResultCode = ResultCode(14);
9106}
9107#[repr(transparent)]
9108#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9109pub struct ResultCode(pub ::std::os::raw::c_uint);
9110pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_35 = 128;
9111pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
9112pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_36 = 32;
9113pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
9114impl DurationCode {
9115    pub const ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = DurationCode(0);
9116}
9117impl DurationCode {
9118    pub const ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = DurationCode(1);
9119}
9120impl DurationCode {
9121    pub const ANEURALNETWORKS_FENCED_DURATION_ON_HARDWARE: DurationCode = DurationCode(2);
9122}
9123impl DurationCode {
9124    pub const ANEURALNETWORKS_FENCED_DURATION_IN_DRIVER: DurationCode = DurationCode(3);
9125}
9126#[repr(transparent)]
9127#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9128pub struct DurationCode(pub ::std::os::raw::c_uint);
9129impl PriorityCode {
9130    pub const ANEURALNETWORKS_PRIORITY_LOW: PriorityCode = PriorityCode(90);
9131}
9132impl PriorityCode {
9133    pub const ANEURALNETWORKS_PRIORITY_MEDIUM: PriorityCode = PriorityCode(100);
9134}
9135impl PriorityCode {
9136    pub const ANEURALNETWORKS_PRIORITY_HIGH: PriorityCode = PriorityCode(110);
9137}
9138impl PriorityCode {
9139    pub const ANEURALNETWORKS_PRIORITY_DEFAULT: PriorityCode = PriorityCode(100);
9140}
9141#[repr(transparent)]
9142#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9143pub struct PriorityCode(pub ::std::os::raw::c_uint);
9144#[repr(C)]
9145#[derive(Debug, Copy, Clone)]
9146pub struct ANeuralNetworksMemory {
9147    _unused: [u8; 0],
9148}
9149#[repr(C)]
9150#[derive(Debug, Copy, Clone)]
9151pub struct ANeuralNetworksModel {
9152    _unused: [u8; 0],
9153}
9154#[repr(C)]
9155#[derive(Debug, Copy, Clone)]
9156pub struct ANeuralNetworksCompilation {
9157    _unused: [u8; 0],
9158}
9159#[repr(C)]
9160#[derive(Debug, Copy, Clone)]
9161pub struct ANeuralNetworksExecution {
9162    _unused: [u8; 0],
9163}
9164#[repr(C)]
9165#[derive(Debug, Copy, Clone)]
9166pub struct ANeuralNetworksSymmPerChannelQuantParams {
9167    pub channelDim: u32,
9168    pub scaleCount: u32,
9169    pub scales: *const f32,
9170}
9171#[test]
9172fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
9173    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksSymmPerChannelQuantParams> =
9174        ::std::mem::MaybeUninit::uninit();
9175    let ptr = UNINIT.as_ptr();
9176    assert_eq!(
9177        ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9178        16usize,
9179        concat!(
9180            "Size of: ",
9181            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9182        )
9183    );
9184    assert_eq!(
9185        ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9186        8usize,
9187        concat!(
9188            "Alignment of ",
9189            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9190        )
9191    );
9192    assert_eq!(
9193        unsafe { ::std::ptr::addr_of!((*ptr).channelDim) as usize - ptr as usize },
9194        0usize,
9195        concat!(
9196            "Offset of field: ",
9197            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9198            "::",
9199            stringify!(channelDim)
9200        )
9201    );
9202    assert_eq!(
9203        unsafe { ::std::ptr::addr_of!((*ptr).scaleCount) as usize - ptr as usize },
9204        4usize,
9205        concat!(
9206            "Offset of field: ",
9207            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9208            "::",
9209            stringify!(scaleCount)
9210        )
9211    );
9212    assert_eq!(
9213        unsafe { ::std::ptr::addr_of!((*ptr).scales) as usize - ptr as usize },
9214        8usize,
9215        concat!(
9216            "Offset of field: ",
9217            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9218            "::",
9219            stringify!(scales)
9220        )
9221    );
9222}
9223#[repr(C)]
9224#[derive(Debug, Copy, Clone)]
9225pub struct ANeuralNetworksBurst {
9226    _unused: [u8; 0],
9227}
9228#[repr(C)]
9229#[derive(Debug, Copy, Clone)]
9230pub struct ANeuralNetworksOperandType {
9231    pub type_: i32,
9232    pub dimensionCount: u32,
9233    pub dimensions: *const u32,
9234    pub scale: f32,
9235    pub zeroPoint: i32,
9236}
9237#[test]
9238fn bindgen_test_layout_ANeuralNetworksOperandType() {
9239    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksOperandType> =
9240        ::std::mem::MaybeUninit::uninit();
9241    let ptr = UNINIT.as_ptr();
9242    assert_eq!(
9243        ::std::mem::size_of::<ANeuralNetworksOperandType>(),
9244        24usize,
9245        concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
9246    );
9247    assert_eq!(
9248        ::std::mem::align_of::<ANeuralNetworksOperandType>(),
9249        8usize,
9250        concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
9251    );
9252    assert_eq!(
9253        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9254        0usize,
9255        concat!(
9256            "Offset of field: ",
9257            stringify!(ANeuralNetworksOperandType),
9258            "::",
9259            stringify!(type_)
9260        )
9261    );
9262    assert_eq!(
9263        unsafe { ::std::ptr::addr_of!((*ptr).dimensionCount) as usize - ptr as usize },
9264        4usize,
9265        concat!(
9266            "Offset of field: ",
9267            stringify!(ANeuralNetworksOperandType),
9268            "::",
9269            stringify!(dimensionCount)
9270        )
9271    );
9272    assert_eq!(
9273        unsafe { ::std::ptr::addr_of!((*ptr).dimensions) as usize - ptr as usize },
9274        8usize,
9275        concat!(
9276            "Offset of field: ",
9277            stringify!(ANeuralNetworksOperandType),
9278            "::",
9279            stringify!(dimensions)
9280        )
9281    );
9282    assert_eq!(
9283        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
9284        16usize,
9285        concat!(
9286            "Offset of field: ",
9287            stringify!(ANeuralNetworksOperandType),
9288            "::",
9289            stringify!(scale)
9290        )
9291    );
9292    assert_eq!(
9293        unsafe { ::std::ptr::addr_of!((*ptr).zeroPoint) as usize - ptr as usize },
9294        20usize,
9295        concat!(
9296            "Offset of field: ",
9297            stringify!(ANeuralNetworksOperandType),
9298            "::",
9299            stringify!(zeroPoint)
9300        )
9301    );
9302}
9303pub type ANeuralNetworksOperationType = i32;
9304#[repr(C)]
9305#[derive(Debug, Copy, Clone)]
9306pub struct ANeuralNetworksEvent {
9307    _unused: [u8; 0],
9308}
9309#[repr(C)]
9310#[derive(Debug, Copy, Clone)]
9311pub struct ANeuralNetworksDevice {
9312    _unused: [u8; 0],
9313}
9314#[repr(C)]
9315#[derive(Debug, Copy, Clone)]
9316pub struct ANeuralNetworksMemoryDesc {
9317    _unused: [u8; 0],
9318}
9319extern "C" {
9320    pub fn ANeuralNetworksMemoryDesc_create(
9321        desc: *mut *mut ANeuralNetworksMemoryDesc,
9322    ) -> ::std::os::raw::c_int;
9323}
9324extern "C" {
9325    pub fn ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc);
9326}
9327extern "C" {
9328    pub fn ANeuralNetworksMemoryDesc_addInputRole(
9329        desc: *mut ANeuralNetworksMemoryDesc,
9330        compilation: *const ANeuralNetworksCompilation,
9331        index: u32,
9332        frequency: f32,
9333    ) -> ::std::os::raw::c_int;
9334}
9335extern "C" {
9336    pub fn ANeuralNetworksMemoryDesc_addOutputRole(
9337        desc: *mut ANeuralNetworksMemoryDesc,
9338        compilation: *const ANeuralNetworksCompilation,
9339        index: u32,
9340        frequency: f32,
9341    ) -> ::std::os::raw::c_int;
9342}
9343extern "C" {
9344    pub fn ANeuralNetworksMemoryDesc_setDimensions(
9345        desc: *mut ANeuralNetworksMemoryDesc,
9346        rank: u32,
9347        dimensions: *const u32,
9348    ) -> ::std::os::raw::c_int;
9349}
9350extern "C" {
9351    pub fn ANeuralNetworksMemoryDesc_finish(
9352        desc: *mut ANeuralNetworksMemoryDesc,
9353    ) -> ::std::os::raw::c_int;
9354}
9355extern "C" {
9356    pub fn ANeuralNetworksMemory_createFromDesc(
9357        desc: *const ANeuralNetworksMemoryDesc,
9358        memory: *mut *mut ANeuralNetworksMemory,
9359    ) -> ::std::os::raw::c_int;
9360}
9361extern "C" {
9362    pub fn ANeuralNetworksMemory_copy(
9363        src: *const ANeuralNetworksMemory,
9364        dst: *const ANeuralNetworksMemory,
9365    ) -> ::std::os::raw::c_int;
9366}
9367extern "C" {
9368    pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
9369}
9370extern "C" {
9371    pub fn ANeuralNetworks_getDevice(
9372        devIndex: u32,
9373        device: *mut *mut ANeuralNetworksDevice,
9374    ) -> ::std::os::raw::c_int;
9375}
9376extern "C" {
9377    pub fn ANeuralNetworksDevice_getName(
9378        device: *const ANeuralNetworksDevice,
9379        name: *mut *const ::std::os::raw::c_char,
9380    ) -> ::std::os::raw::c_int;
9381}
9382extern "C" {
9383    pub fn ANeuralNetworksDevice_getType(
9384        device: *const ANeuralNetworksDevice,
9385        type_: *mut i32,
9386    ) -> ::std::os::raw::c_int;
9387}
9388extern "C" {
9389    pub fn ANeuralNetworksDevice_getVersion(
9390        device: *const ANeuralNetworksDevice,
9391        version: *mut *const ::std::os::raw::c_char,
9392    ) -> ::std::os::raw::c_int;
9393}
9394extern "C" {
9395    pub fn ANeuralNetworksDevice_getFeatureLevel(
9396        device: *const ANeuralNetworksDevice,
9397        featureLevel: *mut i64,
9398    ) -> ::std::os::raw::c_int;
9399}
9400extern "C" {
9401    pub fn ANeuralNetworksDevice_wait(
9402        device: *const ANeuralNetworksDevice,
9403    ) -> ::std::os::raw::c_int;
9404}
9405extern "C" {
9406    pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
9407        model: *const ANeuralNetworksModel,
9408        devices: *const *const ANeuralNetworksDevice,
9409        numDevices: u32,
9410        supportedOps: *mut bool,
9411    ) -> ::std::os::raw::c_int;
9412}
9413extern "C" {
9414    pub fn ANeuralNetworksCompilation_createForDevices(
9415        model: *mut ANeuralNetworksModel,
9416        devices: *const *const ANeuralNetworksDevice,
9417        numDevices: u32,
9418        compilation: *mut *mut ANeuralNetworksCompilation,
9419    ) -> ::std::os::raw::c_int;
9420}
9421extern "C" {
9422    pub fn ANeuralNetworksCompilation_setCaching(
9423        compilation: *mut ANeuralNetworksCompilation,
9424        cacheDir: *const ::std::os::raw::c_char,
9425        token: *const u8,
9426    ) -> ::std::os::raw::c_int;
9427}
9428extern "C" {
9429    pub fn ANeuralNetworksExecution_compute(
9430        execution: *mut ANeuralNetworksExecution,
9431    ) -> ::std::os::raw::c_int;
9432}
9433extern "C" {
9434    pub fn ANeuralNetworksExecution_getOutputOperandRank(
9435        execution: *mut ANeuralNetworksExecution,
9436        index: i32,
9437        rank: *mut u32,
9438    ) -> ::std::os::raw::c_int;
9439}
9440extern "C" {
9441    pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
9442        execution: *mut ANeuralNetworksExecution,
9443        index: i32,
9444        dimensions: *mut u32,
9445    ) -> ::std::os::raw::c_int;
9446}
9447extern "C" {
9448    pub fn ANeuralNetworksBurst_create(
9449        compilation: *mut ANeuralNetworksCompilation,
9450        burst: *mut *mut ANeuralNetworksBurst,
9451    ) -> ::std::os::raw::c_int;
9452}
9453extern "C" {
9454    pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
9455}
9456extern "C" {
9457    pub fn ANeuralNetworksExecution_burstCompute(
9458        execution: *mut ANeuralNetworksExecution,
9459        burst: *mut ANeuralNetworksBurst,
9460    ) -> ::std::os::raw::c_int;
9461}
9462extern "C" {
9463    pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
9464        ahwb: *const AHardwareBuffer,
9465        memory: *mut *mut ANeuralNetworksMemory,
9466    ) -> ::std::os::raw::c_int;
9467}
9468extern "C" {
9469    pub fn ANeuralNetworksExecution_setMeasureTiming(
9470        execution: *mut ANeuralNetworksExecution,
9471        measure: bool,
9472    ) -> ::std::os::raw::c_int;
9473}
9474extern "C" {
9475    pub fn ANeuralNetworksExecution_getDuration(
9476        execution: *const ANeuralNetworksExecution,
9477        durationCode: i32,
9478        duration: *mut u64,
9479    ) -> ::std::os::raw::c_int;
9480}
9481extern "C" {
9482    pub fn ANeuralNetworksMemory_createFromFd(
9483        size: usize,
9484        protect: ::std::os::raw::c_int,
9485        fd: ::std::os::raw::c_int,
9486        offset: usize,
9487        memory: *mut *mut ANeuralNetworksMemory,
9488    ) -> ::std::os::raw::c_int;
9489}
9490extern "C" {
9491    pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
9492}
9493extern "C" {
9494    pub fn ANeuralNetworksModel_create(
9495        model: *mut *mut ANeuralNetworksModel,
9496    ) -> ::std::os::raw::c_int;
9497}
9498extern "C" {
9499    pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
9500}
9501extern "C" {
9502    pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
9503}
9504extern "C" {
9505    pub fn ANeuralNetworksModel_addOperand(
9506        model: *mut ANeuralNetworksModel,
9507        type_: *const ANeuralNetworksOperandType,
9508    ) -> ::std::os::raw::c_int;
9509}
9510extern "C" {
9511    pub fn ANeuralNetworksModel_setOperandValue(
9512        model: *mut ANeuralNetworksModel,
9513        index: i32,
9514        buffer: *const ::std::os::raw::c_void,
9515        length: usize,
9516    ) -> ::std::os::raw::c_int;
9517}
9518extern "C" {
9519    pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
9520        model: *mut ANeuralNetworksModel,
9521        index: i32,
9522        channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
9523    ) -> ::std::os::raw::c_int;
9524}
9525extern "C" {
9526    pub fn ANeuralNetworksModel_setOperandValueFromMemory(
9527        model: *mut ANeuralNetworksModel,
9528        index: i32,
9529        memory: *const ANeuralNetworksMemory,
9530        offset: usize,
9531        length: usize,
9532    ) -> ::std::os::raw::c_int;
9533}
9534extern "C" {
9535    pub fn ANeuralNetworksModel_setOperandValueFromModel(
9536        model: *mut ANeuralNetworksModel,
9537        index: i32,
9538        value: *const ANeuralNetworksModel,
9539    ) -> ::std::os::raw::c_int;
9540}
9541extern "C" {
9542    pub fn ANeuralNetworksModel_addOperation(
9543        model: *mut ANeuralNetworksModel,
9544        type_: ANeuralNetworksOperationType,
9545        inputCount: u32,
9546        inputs: *const u32,
9547        outputCount: u32,
9548        outputs: *const u32,
9549    ) -> ::std::os::raw::c_int;
9550}
9551extern "C" {
9552    pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
9553        model: *mut ANeuralNetworksModel,
9554        inputCount: u32,
9555        inputs: *const u32,
9556        outputCount: u32,
9557        outputs: *const u32,
9558    ) -> ::std::os::raw::c_int;
9559}
9560extern "C" {
9561    pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
9562        model: *mut ANeuralNetworksModel,
9563        allow: bool,
9564    ) -> ::std::os::raw::c_int;
9565}
9566extern "C" {
9567    pub fn ANeuralNetworksCompilation_create(
9568        model: *mut ANeuralNetworksModel,
9569        compilation: *mut *mut ANeuralNetworksCompilation,
9570    ) -> ::std::os::raw::c_int;
9571}
9572extern "C" {
9573    pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
9574}
9575extern "C" {
9576    pub fn ANeuralNetworksCompilation_setPreference(
9577        compilation: *mut ANeuralNetworksCompilation,
9578        preference: i32,
9579    ) -> ::std::os::raw::c_int;
9580}
9581extern "C" {
9582    pub fn ANeuralNetworksCompilation_finish(
9583        compilation: *mut ANeuralNetworksCompilation,
9584    ) -> ::std::os::raw::c_int;
9585}
9586extern "C" {
9587    pub fn ANeuralNetworksCompilation_setPriority(
9588        compilation: *mut ANeuralNetworksCompilation,
9589        priority: ::std::os::raw::c_int,
9590    ) -> ::std::os::raw::c_int;
9591}
9592extern "C" {
9593    pub fn ANeuralNetworksCompilation_setTimeout(
9594        compilation: *mut ANeuralNetworksCompilation,
9595        duration: u64,
9596    ) -> ::std::os::raw::c_int;
9597}
9598extern "C" {
9599    pub fn ANeuralNetworksExecution_create(
9600        compilation: *mut ANeuralNetworksCompilation,
9601        execution: *mut *mut ANeuralNetworksExecution,
9602    ) -> ::std::os::raw::c_int;
9603}
9604extern "C" {
9605    pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
9606}
9607extern "C" {
9608    pub fn ANeuralNetworksExecution_setInput(
9609        execution: *mut ANeuralNetworksExecution,
9610        index: i32,
9611        type_: *const ANeuralNetworksOperandType,
9612        buffer: *const ::std::os::raw::c_void,
9613        length: usize,
9614    ) -> ::std::os::raw::c_int;
9615}
9616extern "C" {
9617    pub fn ANeuralNetworksExecution_setInputFromMemory(
9618        execution: *mut ANeuralNetworksExecution,
9619        index: i32,
9620        type_: *const ANeuralNetworksOperandType,
9621        memory: *const ANeuralNetworksMemory,
9622        offset: usize,
9623        length: usize,
9624    ) -> ::std::os::raw::c_int;
9625}
9626extern "C" {
9627    pub fn ANeuralNetworksExecution_setOutput(
9628        execution: *mut ANeuralNetworksExecution,
9629        index: i32,
9630        type_: *const ANeuralNetworksOperandType,
9631        buffer: *mut ::std::os::raw::c_void,
9632        length: usize,
9633    ) -> ::std::os::raw::c_int;
9634}
9635extern "C" {
9636    pub fn ANeuralNetworksExecution_setOutputFromMemory(
9637        execution: *mut ANeuralNetworksExecution,
9638        index: i32,
9639        type_: *const ANeuralNetworksOperandType,
9640        memory: *const ANeuralNetworksMemory,
9641        offset: usize,
9642        length: usize,
9643    ) -> ::std::os::raw::c_int;
9644}
9645extern "C" {
9646    pub fn ANeuralNetworksExecution_startCompute(
9647        execution: *mut ANeuralNetworksExecution,
9648        event: *mut *mut ANeuralNetworksEvent,
9649    ) -> ::std::os::raw::c_int;
9650}
9651extern "C" {
9652    pub fn ANeuralNetworksExecution_setTimeout(
9653        execution: *mut ANeuralNetworksExecution,
9654        duration: u64,
9655    ) -> ::std::os::raw::c_int;
9656}
9657extern "C" {
9658    pub fn ANeuralNetworksExecution_setLoopTimeout(
9659        execution: *mut ANeuralNetworksExecution,
9660        duration: u64,
9661    ) -> ::std::os::raw::c_int;
9662}
9663extern "C" {
9664    pub fn ANeuralNetworks_getDefaultLoopTimeout() -> u64;
9665}
9666extern "C" {
9667    pub fn ANeuralNetworks_getMaximumLoopTimeout() -> u64;
9668}
9669extern "C" {
9670    pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
9671}
9672extern "C" {
9673    pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
9674}
9675extern "C" {
9676    pub fn ANeuralNetworksEvent_createFromSyncFenceFd(
9677        sync_fence_fd: ::std::os::raw::c_int,
9678        event: *mut *mut ANeuralNetworksEvent,
9679    ) -> ::std::os::raw::c_int;
9680}
9681extern "C" {
9682    pub fn ANeuralNetworksEvent_getSyncFenceFd(
9683        event: *const ANeuralNetworksEvent,
9684        sync_fence_fd: *mut ::std::os::raw::c_int,
9685    ) -> ::std::os::raw::c_int;
9686}
9687extern "C" {
9688    pub fn ANeuralNetworksExecution_startComputeWithDependencies(
9689        execution: *mut ANeuralNetworksExecution,
9690        dependencies: *const *const ANeuralNetworksEvent,
9691        num_dependencies: u32,
9692        duration: u64,
9693        event: *mut *mut ANeuralNetworksEvent,
9694    ) -> ::std::os::raw::c_int;
9695}
9696extern "C" {
9697    pub fn ANeuralNetworks_getRuntimeFeatureLevel() -> i64;
9698}
9699extern "C" {
9700    pub fn ANeuralNetworksExecution_enableInputAndOutputPadding(
9701        execution: *mut ANeuralNetworksExecution,
9702        enable: bool,
9703    ) -> ::std::os::raw::c_int;
9704}
9705extern "C" {
9706    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput(
9707        compilation: *const ANeuralNetworksCompilation,
9708        index: u32,
9709        alignment: *mut u32,
9710    ) -> ::std::os::raw::c_int;
9711}
9712extern "C" {
9713    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput(
9714        compilation: *const ANeuralNetworksCompilation,
9715        index: u32,
9716        padding: *mut u32,
9717    ) -> ::std::os::raw::c_int;
9718}
9719extern "C" {
9720    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput(
9721        compilation: *const ANeuralNetworksCompilation,
9722        index: u32,
9723        alignment: *mut u32,
9724    ) -> ::std::os::raw::c_int;
9725}
9726extern "C" {
9727    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput(
9728        compilation: *const ANeuralNetworksCompilation,
9729        index: u32,
9730        padding: *mut u32,
9731    ) -> ::std::os::raw::c_int;
9732}
9733extern "C" {
9734    pub fn ANeuralNetworksExecution_setReusable(
9735        execution: *mut ANeuralNetworksExecution,
9736        reusable: bool,
9737    ) -> ::std::os::raw::c_int;
9738}
9739#[repr(C)]
9740#[derive(Debug, Copy, Clone)]
9741pub struct AObbInfo {
9742    _unused: [u8; 0],
9743}
9744pub const AOBBINFO_OVERLAY: _bindgen_ty_37 = 1;
9745pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
9746extern "C" {
9747    pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
9748}
9749extern "C" {
9750    pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
9751}
9752extern "C" {
9753    pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
9754}
9755extern "C" {
9756    pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
9757}
9758extern "C" {
9759    pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
9760}
9761#[repr(C)]
9762#[derive(Debug, Copy, Clone)]
9763pub struct timespec {
9764    pub tv_sec: time_t,
9765    pub tv_nsec: ::std::os::raw::c_long,
9766}
9767#[test]
9768fn bindgen_test_layout_timespec() {
9769    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
9770    let ptr = UNINIT.as_ptr();
9771    assert_eq!(
9772        ::std::mem::size_of::<timespec>(),
9773        16usize,
9774        concat!("Size of: ", stringify!(timespec))
9775    );
9776    assert_eq!(
9777        ::std::mem::align_of::<timespec>(),
9778        8usize,
9779        concat!("Alignment of ", stringify!(timespec))
9780    );
9781    assert_eq!(
9782        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9783        0usize,
9784        concat!(
9785            "Offset of field: ",
9786            stringify!(timespec),
9787            "::",
9788            stringify!(tv_sec)
9789        )
9790    );
9791    assert_eq!(
9792        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9793        8usize,
9794        concat!(
9795            "Offset of field: ",
9796            stringify!(timespec),
9797            "::",
9798            stringify!(tv_nsec)
9799        )
9800    );
9801}
9802#[repr(C)]
9803#[derive(Debug, Copy, Clone)]
9804pub struct __kernel_timespec {
9805    pub tv_sec: __kernel_time64_t,
9806    pub tv_nsec: ::std::os::raw::c_longlong,
9807}
9808#[test]
9809fn bindgen_test_layout___kernel_timespec() {
9810    const UNINIT: ::std::mem::MaybeUninit<__kernel_timespec> = ::std::mem::MaybeUninit::uninit();
9811    let ptr = UNINIT.as_ptr();
9812    assert_eq!(
9813        ::std::mem::size_of::<__kernel_timespec>(),
9814        16usize,
9815        concat!("Size of: ", stringify!(__kernel_timespec))
9816    );
9817    assert_eq!(
9818        ::std::mem::align_of::<__kernel_timespec>(),
9819        8usize,
9820        concat!("Alignment of ", stringify!(__kernel_timespec))
9821    );
9822    assert_eq!(
9823        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9824        0usize,
9825        concat!(
9826            "Offset of field: ",
9827            stringify!(__kernel_timespec),
9828            "::",
9829            stringify!(tv_sec)
9830        )
9831    );
9832    assert_eq!(
9833        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9834        8usize,
9835        concat!(
9836            "Offset of field: ",
9837            stringify!(__kernel_timespec),
9838            "::",
9839            stringify!(tv_nsec)
9840        )
9841    );
9842}
9843#[repr(C)]
9844#[derive(Debug, Copy, Clone)]
9845pub struct __kernel_itimerspec {
9846    pub it_interval: __kernel_timespec,
9847    pub it_value: __kernel_timespec,
9848}
9849#[test]
9850fn bindgen_test_layout___kernel_itimerspec() {
9851    const UNINIT: ::std::mem::MaybeUninit<__kernel_itimerspec> = ::std::mem::MaybeUninit::uninit();
9852    let ptr = UNINIT.as_ptr();
9853    assert_eq!(
9854        ::std::mem::size_of::<__kernel_itimerspec>(),
9855        32usize,
9856        concat!("Size of: ", stringify!(__kernel_itimerspec))
9857    );
9858    assert_eq!(
9859        ::std::mem::align_of::<__kernel_itimerspec>(),
9860        8usize,
9861        concat!("Alignment of ", stringify!(__kernel_itimerspec))
9862    );
9863    assert_eq!(
9864        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
9865        0usize,
9866        concat!(
9867            "Offset of field: ",
9868            stringify!(__kernel_itimerspec),
9869            "::",
9870            stringify!(it_interval)
9871        )
9872    );
9873    assert_eq!(
9874        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
9875        16usize,
9876        concat!(
9877            "Offset of field: ",
9878            stringify!(__kernel_itimerspec),
9879            "::",
9880            stringify!(it_value)
9881        )
9882    );
9883}
9884#[repr(C)]
9885#[derive(Debug, Copy, Clone)]
9886pub struct __kernel_old_timespec {
9887    pub tv_sec: __kernel_old_time_t,
9888    pub tv_nsec: ::std::os::raw::c_long,
9889}
9890#[test]
9891fn bindgen_test_layout___kernel_old_timespec() {
9892    const UNINIT: ::std::mem::MaybeUninit<__kernel_old_timespec> =
9893        ::std::mem::MaybeUninit::uninit();
9894    let ptr = UNINIT.as_ptr();
9895    assert_eq!(
9896        ::std::mem::size_of::<__kernel_old_timespec>(),
9897        16usize,
9898        concat!("Size of: ", stringify!(__kernel_old_timespec))
9899    );
9900    assert_eq!(
9901        ::std::mem::align_of::<__kernel_old_timespec>(),
9902        8usize,
9903        concat!("Alignment of ", stringify!(__kernel_old_timespec))
9904    );
9905    assert_eq!(
9906        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9907        0usize,
9908        concat!(
9909            "Offset of field: ",
9910            stringify!(__kernel_old_timespec),
9911            "::",
9912            stringify!(tv_sec)
9913        )
9914    );
9915    assert_eq!(
9916        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9917        8usize,
9918        concat!(
9919            "Offset of field: ",
9920            stringify!(__kernel_old_timespec),
9921            "::",
9922            stringify!(tv_nsec)
9923        )
9924    );
9925}
9926#[repr(C)]
9927#[derive(Debug, Copy, Clone)]
9928pub struct __kernel_sock_timeval {
9929    pub tv_sec: __s64,
9930    pub tv_usec: __s64,
9931}
9932#[test]
9933fn bindgen_test_layout___kernel_sock_timeval() {
9934    const UNINIT: ::std::mem::MaybeUninit<__kernel_sock_timeval> =
9935        ::std::mem::MaybeUninit::uninit();
9936    let ptr = UNINIT.as_ptr();
9937    assert_eq!(
9938        ::std::mem::size_of::<__kernel_sock_timeval>(),
9939        16usize,
9940        concat!("Size of: ", stringify!(__kernel_sock_timeval))
9941    );
9942    assert_eq!(
9943        ::std::mem::align_of::<__kernel_sock_timeval>(),
9944        8usize,
9945        concat!("Alignment of ", stringify!(__kernel_sock_timeval))
9946    );
9947    assert_eq!(
9948        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9949        0usize,
9950        concat!(
9951            "Offset of field: ",
9952            stringify!(__kernel_sock_timeval),
9953            "::",
9954            stringify!(tv_sec)
9955        )
9956    );
9957    assert_eq!(
9958        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
9959        8usize,
9960        concat!(
9961            "Offset of field: ",
9962            stringify!(__kernel_sock_timeval),
9963            "::",
9964            stringify!(tv_usec)
9965        )
9966    );
9967}
9968#[repr(C)]
9969#[derive(Debug, Copy, Clone)]
9970pub struct timeval {
9971    pub tv_sec: __kernel_old_time_t,
9972    pub tv_usec: __kernel_suseconds_t,
9973}
9974#[test]
9975fn bindgen_test_layout_timeval() {
9976    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
9977    let ptr = UNINIT.as_ptr();
9978    assert_eq!(
9979        ::std::mem::size_of::<timeval>(),
9980        16usize,
9981        concat!("Size of: ", stringify!(timeval))
9982    );
9983    assert_eq!(
9984        ::std::mem::align_of::<timeval>(),
9985        8usize,
9986        concat!("Alignment of ", stringify!(timeval))
9987    );
9988    assert_eq!(
9989        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9990        0usize,
9991        concat!(
9992            "Offset of field: ",
9993            stringify!(timeval),
9994            "::",
9995            stringify!(tv_sec)
9996        )
9997    );
9998    assert_eq!(
9999        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
10000        8usize,
10001        concat!(
10002            "Offset of field: ",
10003            stringify!(timeval),
10004            "::",
10005            stringify!(tv_usec)
10006        )
10007    );
10008}
10009#[repr(C)]
10010#[derive(Debug, Copy, Clone)]
10011pub struct itimerspec {
10012    pub it_interval: timespec,
10013    pub it_value: timespec,
10014}
10015#[test]
10016fn bindgen_test_layout_itimerspec() {
10017    const UNINIT: ::std::mem::MaybeUninit<itimerspec> = ::std::mem::MaybeUninit::uninit();
10018    let ptr = UNINIT.as_ptr();
10019    assert_eq!(
10020        ::std::mem::size_of::<itimerspec>(),
10021        32usize,
10022        concat!("Size of: ", stringify!(itimerspec))
10023    );
10024    assert_eq!(
10025        ::std::mem::align_of::<itimerspec>(),
10026        8usize,
10027        concat!("Alignment of ", stringify!(itimerspec))
10028    );
10029    assert_eq!(
10030        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
10031        0usize,
10032        concat!(
10033            "Offset of field: ",
10034            stringify!(itimerspec),
10035            "::",
10036            stringify!(it_interval)
10037        )
10038    );
10039    assert_eq!(
10040        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
10041        16usize,
10042        concat!(
10043            "Offset of field: ",
10044            stringify!(itimerspec),
10045            "::",
10046            stringify!(it_value)
10047        )
10048    );
10049}
10050#[repr(C)]
10051#[derive(Debug, Copy, Clone)]
10052pub struct itimerval {
10053    pub it_interval: timeval,
10054    pub it_value: timeval,
10055}
10056#[test]
10057fn bindgen_test_layout_itimerval() {
10058    const UNINIT: ::std::mem::MaybeUninit<itimerval> = ::std::mem::MaybeUninit::uninit();
10059    let ptr = UNINIT.as_ptr();
10060    assert_eq!(
10061        ::std::mem::size_of::<itimerval>(),
10062        32usize,
10063        concat!("Size of: ", stringify!(itimerval))
10064    );
10065    assert_eq!(
10066        ::std::mem::align_of::<itimerval>(),
10067        8usize,
10068        concat!("Alignment of ", stringify!(itimerval))
10069    );
10070    assert_eq!(
10071        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
10072        0usize,
10073        concat!(
10074            "Offset of field: ",
10075            stringify!(itimerval),
10076            "::",
10077            stringify!(it_interval)
10078        )
10079    );
10080    assert_eq!(
10081        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
10082        16usize,
10083        concat!(
10084            "Offset of field: ",
10085            stringify!(itimerval),
10086            "::",
10087            stringify!(it_value)
10088        )
10089    );
10090}
10091#[repr(C)]
10092#[derive(Debug, Copy, Clone)]
10093pub struct timezone {
10094    pub tz_minuteswest: ::std::os::raw::c_int,
10095    pub tz_dsttime: ::std::os::raw::c_int,
10096}
10097#[test]
10098fn bindgen_test_layout_timezone() {
10099    const UNINIT: ::std::mem::MaybeUninit<timezone> = ::std::mem::MaybeUninit::uninit();
10100    let ptr = UNINIT.as_ptr();
10101    assert_eq!(
10102        ::std::mem::size_of::<timezone>(),
10103        8usize,
10104        concat!("Size of: ", stringify!(timezone))
10105    );
10106    assert_eq!(
10107        ::std::mem::align_of::<timezone>(),
10108        4usize,
10109        concat!("Alignment of ", stringify!(timezone))
10110    );
10111    assert_eq!(
10112        unsafe { ::std::ptr::addr_of!((*ptr).tz_minuteswest) as usize - ptr as usize },
10113        0usize,
10114        concat!(
10115            "Offset of field: ",
10116            stringify!(timezone),
10117            "::",
10118            stringify!(tz_minuteswest)
10119        )
10120    );
10121    assert_eq!(
10122        unsafe { ::std::ptr::addr_of!((*ptr).tz_dsttime) as usize - ptr as usize },
10123        4usize,
10124        concat!(
10125            "Offset of field: ",
10126            stringify!(timezone),
10127            "::",
10128            stringify!(tz_dsttime)
10129        )
10130    );
10131}
10132#[repr(C)]
10133#[derive(Debug, Copy, Clone)]
10134pub struct _fpx_sw_bytes {
10135    pub magic1: __u32,
10136    pub extended_size: __u32,
10137    pub xfeatures: __u64,
10138    pub xstate_size: __u32,
10139    pub padding: [__u32; 7usize],
10140}
10141#[test]
10142fn bindgen_test_layout__fpx_sw_bytes() {
10143    const UNINIT: ::std::mem::MaybeUninit<_fpx_sw_bytes> = ::std::mem::MaybeUninit::uninit();
10144    let ptr = UNINIT.as_ptr();
10145    assert_eq!(
10146        ::std::mem::size_of::<_fpx_sw_bytes>(),
10147        48usize,
10148        concat!("Size of: ", stringify!(_fpx_sw_bytes))
10149    );
10150    assert_eq!(
10151        ::std::mem::align_of::<_fpx_sw_bytes>(),
10152        8usize,
10153        concat!("Alignment of ", stringify!(_fpx_sw_bytes))
10154    );
10155    assert_eq!(
10156        unsafe { ::std::ptr::addr_of!((*ptr).magic1) as usize - ptr as usize },
10157        0usize,
10158        concat!(
10159            "Offset of field: ",
10160            stringify!(_fpx_sw_bytes),
10161            "::",
10162            stringify!(magic1)
10163        )
10164    );
10165    assert_eq!(
10166        unsafe { ::std::ptr::addr_of!((*ptr).extended_size) as usize - ptr as usize },
10167        4usize,
10168        concat!(
10169            "Offset of field: ",
10170            stringify!(_fpx_sw_bytes),
10171            "::",
10172            stringify!(extended_size)
10173        )
10174    );
10175    assert_eq!(
10176        unsafe { ::std::ptr::addr_of!((*ptr).xfeatures) as usize - ptr as usize },
10177        8usize,
10178        concat!(
10179            "Offset of field: ",
10180            stringify!(_fpx_sw_bytes),
10181            "::",
10182            stringify!(xfeatures)
10183        )
10184    );
10185    assert_eq!(
10186        unsafe { ::std::ptr::addr_of!((*ptr).xstate_size) as usize - ptr as usize },
10187        16usize,
10188        concat!(
10189            "Offset of field: ",
10190            stringify!(_fpx_sw_bytes),
10191            "::",
10192            stringify!(xstate_size)
10193        )
10194    );
10195    assert_eq!(
10196        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
10197        20usize,
10198        concat!(
10199            "Offset of field: ",
10200            stringify!(_fpx_sw_bytes),
10201            "::",
10202            stringify!(padding)
10203        )
10204    );
10205}
10206#[repr(C)]
10207#[derive(Debug, Copy, Clone)]
10208pub struct _fpreg {
10209    pub significand: [__u16; 4usize],
10210    pub exponent: __u16,
10211}
10212#[test]
10213fn bindgen_test_layout__fpreg() {
10214    const UNINIT: ::std::mem::MaybeUninit<_fpreg> = ::std::mem::MaybeUninit::uninit();
10215    let ptr = UNINIT.as_ptr();
10216    assert_eq!(
10217        ::std::mem::size_of::<_fpreg>(),
10218        10usize,
10219        concat!("Size of: ", stringify!(_fpreg))
10220    );
10221    assert_eq!(
10222        ::std::mem::align_of::<_fpreg>(),
10223        2usize,
10224        concat!("Alignment of ", stringify!(_fpreg))
10225    );
10226    assert_eq!(
10227        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
10228        0usize,
10229        concat!(
10230            "Offset of field: ",
10231            stringify!(_fpreg),
10232            "::",
10233            stringify!(significand)
10234        )
10235    );
10236    assert_eq!(
10237        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
10238        8usize,
10239        concat!(
10240            "Offset of field: ",
10241            stringify!(_fpreg),
10242            "::",
10243            stringify!(exponent)
10244        )
10245    );
10246}
10247#[repr(C)]
10248#[derive(Debug, Copy, Clone)]
10249pub struct _fpxreg {
10250    pub significand: [__u16; 4usize],
10251    pub exponent: __u16,
10252    pub padding: [__u16; 3usize],
10253}
10254#[test]
10255fn bindgen_test_layout__fpxreg() {
10256    const UNINIT: ::std::mem::MaybeUninit<_fpxreg> = ::std::mem::MaybeUninit::uninit();
10257    let ptr = UNINIT.as_ptr();
10258    assert_eq!(
10259        ::std::mem::size_of::<_fpxreg>(),
10260        16usize,
10261        concat!("Size of: ", stringify!(_fpxreg))
10262    );
10263    assert_eq!(
10264        ::std::mem::align_of::<_fpxreg>(),
10265        2usize,
10266        concat!("Alignment of ", stringify!(_fpxreg))
10267    );
10268    assert_eq!(
10269        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
10270        0usize,
10271        concat!(
10272            "Offset of field: ",
10273            stringify!(_fpxreg),
10274            "::",
10275            stringify!(significand)
10276        )
10277    );
10278    assert_eq!(
10279        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
10280        8usize,
10281        concat!(
10282            "Offset of field: ",
10283            stringify!(_fpxreg),
10284            "::",
10285            stringify!(exponent)
10286        )
10287    );
10288    assert_eq!(
10289        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
10290        10usize,
10291        concat!(
10292            "Offset of field: ",
10293            stringify!(_fpxreg),
10294            "::",
10295            stringify!(padding)
10296        )
10297    );
10298}
10299#[repr(C)]
10300#[derive(Debug, Copy, Clone)]
10301pub struct _xmmreg {
10302    pub element: [__u32; 4usize],
10303}
10304#[test]
10305fn bindgen_test_layout__xmmreg() {
10306    const UNINIT: ::std::mem::MaybeUninit<_xmmreg> = ::std::mem::MaybeUninit::uninit();
10307    let ptr = UNINIT.as_ptr();
10308    assert_eq!(
10309        ::std::mem::size_of::<_xmmreg>(),
10310        16usize,
10311        concat!("Size of: ", stringify!(_xmmreg))
10312    );
10313    assert_eq!(
10314        ::std::mem::align_of::<_xmmreg>(),
10315        4usize,
10316        concat!("Alignment of ", stringify!(_xmmreg))
10317    );
10318    assert_eq!(
10319        unsafe { ::std::ptr::addr_of!((*ptr).element) as usize - ptr as usize },
10320        0usize,
10321        concat!(
10322            "Offset of field: ",
10323            stringify!(_xmmreg),
10324            "::",
10325            stringify!(element)
10326        )
10327    );
10328}
10329#[repr(C)]
10330#[derive(Copy, Clone)]
10331pub struct _fpstate_32 {
10332    pub cw: __u32,
10333    pub sw: __u32,
10334    pub tag: __u32,
10335    pub ipoff: __u32,
10336    pub cssel: __u32,
10337    pub dataoff: __u32,
10338    pub datasel: __u32,
10339    pub _st: [_fpreg; 8usize],
10340    pub status: __u16,
10341    pub magic: __u16,
10342    pub _fxsr_env: [__u32; 6usize],
10343    pub mxcsr: __u32,
10344    pub reserved: __u32,
10345    pub _fxsr_st: [_fpxreg; 8usize],
10346    pub _xmm: [_xmmreg; 8usize],
10347    pub __bindgen_anon_1: _fpstate_32__bindgen_ty_1,
10348    pub __bindgen_anon_2: _fpstate_32__bindgen_ty_2,
10349}
10350#[repr(C)]
10351#[derive(Copy, Clone)]
10352pub union _fpstate_32__bindgen_ty_1 {
10353    pub padding1: [__u32; 44usize],
10354    pub padding: [__u32; 44usize],
10355}
10356#[test]
10357fn bindgen_test_layout__fpstate_32__bindgen_ty_1() {
10358    const UNINIT: ::std::mem::MaybeUninit<_fpstate_32__bindgen_ty_1> =
10359        ::std::mem::MaybeUninit::uninit();
10360    let ptr = UNINIT.as_ptr();
10361    assert_eq!(
10362        ::std::mem::size_of::<_fpstate_32__bindgen_ty_1>(),
10363        176usize,
10364        concat!("Size of: ", stringify!(_fpstate_32__bindgen_ty_1))
10365    );
10366    assert_eq!(
10367        ::std::mem::align_of::<_fpstate_32__bindgen_ty_1>(),
10368        4usize,
10369        concat!("Alignment of ", stringify!(_fpstate_32__bindgen_ty_1))
10370    );
10371    assert_eq!(
10372        unsafe { ::std::ptr::addr_of!((*ptr).padding1) as usize - ptr as usize },
10373        0usize,
10374        concat!(
10375            "Offset of field: ",
10376            stringify!(_fpstate_32__bindgen_ty_1),
10377            "::",
10378            stringify!(padding1)
10379        )
10380    );
10381    assert_eq!(
10382        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
10383        0usize,
10384        concat!(
10385            "Offset of field: ",
10386            stringify!(_fpstate_32__bindgen_ty_1),
10387            "::",
10388            stringify!(padding)
10389        )
10390    );
10391}
10392#[repr(C)]
10393#[derive(Copy, Clone)]
10394pub union _fpstate_32__bindgen_ty_2 {
10395    pub padding2: [__u32; 12usize],
10396    pub sw_reserved: _fpx_sw_bytes,
10397}
10398#[test]
10399fn bindgen_test_layout__fpstate_32__bindgen_ty_2() {
10400    const UNINIT: ::std::mem::MaybeUninit<_fpstate_32__bindgen_ty_2> =
10401        ::std::mem::MaybeUninit::uninit();
10402    let ptr = UNINIT.as_ptr();
10403    assert_eq!(
10404        ::std::mem::size_of::<_fpstate_32__bindgen_ty_2>(),
10405        48usize,
10406        concat!("Size of: ", stringify!(_fpstate_32__bindgen_ty_2))
10407    );
10408    assert_eq!(
10409        ::std::mem::align_of::<_fpstate_32__bindgen_ty_2>(),
10410        8usize,
10411        concat!("Alignment of ", stringify!(_fpstate_32__bindgen_ty_2))
10412    );
10413    assert_eq!(
10414        unsafe { ::std::ptr::addr_of!((*ptr).padding2) as usize - ptr as usize },
10415        0usize,
10416        concat!(
10417            "Offset of field: ",
10418            stringify!(_fpstate_32__bindgen_ty_2),
10419            "::",
10420            stringify!(padding2)
10421        )
10422    );
10423    assert_eq!(
10424        unsafe { ::std::ptr::addr_of!((*ptr).sw_reserved) as usize - ptr as usize },
10425        0usize,
10426        concat!(
10427            "Offset of field: ",
10428            stringify!(_fpstate_32__bindgen_ty_2),
10429            "::",
10430            stringify!(sw_reserved)
10431        )
10432    );
10433}
10434#[test]
10435fn bindgen_test_layout__fpstate_32() {
10436    const UNINIT: ::std::mem::MaybeUninit<_fpstate_32> = ::std::mem::MaybeUninit::uninit();
10437    let ptr = UNINIT.as_ptr();
10438    assert_eq!(
10439        ::std::mem::size_of::<_fpstate_32>(),
10440        624usize,
10441        concat!("Size of: ", stringify!(_fpstate_32))
10442    );
10443    assert_eq!(
10444        ::std::mem::align_of::<_fpstate_32>(),
10445        8usize,
10446        concat!("Alignment of ", stringify!(_fpstate_32))
10447    );
10448    assert_eq!(
10449        unsafe { ::std::ptr::addr_of!((*ptr).cw) as usize - ptr as usize },
10450        0usize,
10451        concat!(
10452            "Offset of field: ",
10453            stringify!(_fpstate_32),
10454            "::",
10455            stringify!(cw)
10456        )
10457    );
10458    assert_eq!(
10459        unsafe { ::std::ptr::addr_of!((*ptr).sw) as usize - ptr as usize },
10460        4usize,
10461        concat!(
10462            "Offset of field: ",
10463            stringify!(_fpstate_32),
10464            "::",
10465            stringify!(sw)
10466        )
10467    );
10468    assert_eq!(
10469        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10470        8usize,
10471        concat!(
10472            "Offset of field: ",
10473            stringify!(_fpstate_32),
10474            "::",
10475            stringify!(tag)
10476        )
10477    );
10478    assert_eq!(
10479        unsafe { ::std::ptr::addr_of!((*ptr).ipoff) as usize - ptr as usize },
10480        12usize,
10481        concat!(
10482            "Offset of field: ",
10483            stringify!(_fpstate_32),
10484            "::",
10485            stringify!(ipoff)
10486        )
10487    );
10488    assert_eq!(
10489        unsafe { ::std::ptr::addr_of!((*ptr).cssel) as usize - ptr as usize },
10490        16usize,
10491        concat!(
10492            "Offset of field: ",
10493            stringify!(_fpstate_32),
10494            "::",
10495            stringify!(cssel)
10496        )
10497    );
10498    assert_eq!(
10499        unsafe { ::std::ptr::addr_of!((*ptr).dataoff) as usize - ptr as usize },
10500        20usize,
10501        concat!(
10502            "Offset of field: ",
10503            stringify!(_fpstate_32),
10504            "::",
10505            stringify!(dataoff)
10506        )
10507    );
10508    assert_eq!(
10509        unsafe { ::std::ptr::addr_of!((*ptr).datasel) as usize - ptr as usize },
10510        24usize,
10511        concat!(
10512            "Offset of field: ",
10513            stringify!(_fpstate_32),
10514            "::",
10515            stringify!(datasel)
10516        )
10517    );
10518    assert_eq!(
10519        unsafe { ::std::ptr::addr_of!((*ptr)._st) as usize - ptr as usize },
10520        28usize,
10521        concat!(
10522            "Offset of field: ",
10523            stringify!(_fpstate_32),
10524            "::",
10525            stringify!(_st)
10526        )
10527    );
10528    assert_eq!(
10529        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
10530        108usize,
10531        concat!(
10532            "Offset of field: ",
10533            stringify!(_fpstate_32),
10534            "::",
10535            stringify!(status)
10536        )
10537    );
10538    assert_eq!(
10539        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
10540        110usize,
10541        concat!(
10542            "Offset of field: ",
10543            stringify!(_fpstate_32),
10544            "::",
10545            stringify!(magic)
10546        )
10547    );
10548    assert_eq!(
10549        unsafe { ::std::ptr::addr_of!((*ptr)._fxsr_env) as usize - ptr as usize },
10550        112usize,
10551        concat!(
10552            "Offset of field: ",
10553            stringify!(_fpstate_32),
10554            "::",
10555            stringify!(_fxsr_env)
10556        )
10557    );
10558    assert_eq!(
10559        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
10560        136usize,
10561        concat!(
10562            "Offset of field: ",
10563            stringify!(_fpstate_32),
10564            "::",
10565            stringify!(mxcsr)
10566        )
10567    );
10568    assert_eq!(
10569        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
10570        140usize,
10571        concat!(
10572            "Offset of field: ",
10573            stringify!(_fpstate_32),
10574            "::",
10575            stringify!(reserved)
10576        )
10577    );
10578    assert_eq!(
10579        unsafe { ::std::ptr::addr_of!((*ptr)._fxsr_st) as usize - ptr as usize },
10580        144usize,
10581        concat!(
10582            "Offset of field: ",
10583            stringify!(_fpstate_32),
10584            "::",
10585            stringify!(_fxsr_st)
10586        )
10587    );
10588    assert_eq!(
10589        unsafe { ::std::ptr::addr_of!((*ptr)._xmm) as usize - ptr as usize },
10590        272usize,
10591        concat!(
10592            "Offset of field: ",
10593            stringify!(_fpstate_32),
10594            "::",
10595            stringify!(_xmm)
10596        )
10597    );
10598}
10599#[repr(C)]
10600#[derive(Copy, Clone)]
10601pub struct _fpstate_64 {
10602    pub cwd: __u16,
10603    pub swd: __u16,
10604    pub twd: __u16,
10605    pub fop: __u16,
10606    pub rip: __u64,
10607    pub rdp: __u64,
10608    pub mxcsr: __u32,
10609    pub mxcsr_mask: __u32,
10610    pub st_space: [__u32; 32usize],
10611    pub xmm_space: [__u32; 64usize],
10612    pub reserved2: [__u32; 12usize],
10613    pub __bindgen_anon_1: _fpstate_64__bindgen_ty_1,
10614}
10615#[repr(C)]
10616#[derive(Copy, Clone)]
10617pub union _fpstate_64__bindgen_ty_1 {
10618    pub reserved3: [__u32; 12usize],
10619    pub sw_reserved: _fpx_sw_bytes,
10620}
10621#[test]
10622fn bindgen_test_layout__fpstate_64__bindgen_ty_1() {
10623    const UNINIT: ::std::mem::MaybeUninit<_fpstate_64__bindgen_ty_1> =
10624        ::std::mem::MaybeUninit::uninit();
10625    let ptr = UNINIT.as_ptr();
10626    assert_eq!(
10627        ::std::mem::size_of::<_fpstate_64__bindgen_ty_1>(),
10628        48usize,
10629        concat!("Size of: ", stringify!(_fpstate_64__bindgen_ty_1))
10630    );
10631    assert_eq!(
10632        ::std::mem::align_of::<_fpstate_64__bindgen_ty_1>(),
10633        8usize,
10634        concat!("Alignment of ", stringify!(_fpstate_64__bindgen_ty_1))
10635    );
10636    assert_eq!(
10637        unsafe { ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
10638        0usize,
10639        concat!(
10640            "Offset of field: ",
10641            stringify!(_fpstate_64__bindgen_ty_1),
10642            "::",
10643            stringify!(reserved3)
10644        )
10645    );
10646    assert_eq!(
10647        unsafe { ::std::ptr::addr_of!((*ptr).sw_reserved) as usize - ptr as usize },
10648        0usize,
10649        concat!(
10650            "Offset of field: ",
10651            stringify!(_fpstate_64__bindgen_ty_1),
10652            "::",
10653            stringify!(sw_reserved)
10654        )
10655    );
10656}
10657#[test]
10658fn bindgen_test_layout__fpstate_64() {
10659    const UNINIT: ::std::mem::MaybeUninit<_fpstate_64> = ::std::mem::MaybeUninit::uninit();
10660    let ptr = UNINIT.as_ptr();
10661    assert_eq!(
10662        ::std::mem::size_of::<_fpstate_64>(),
10663        512usize,
10664        concat!("Size of: ", stringify!(_fpstate_64))
10665    );
10666    assert_eq!(
10667        ::std::mem::align_of::<_fpstate_64>(),
10668        8usize,
10669        concat!("Alignment of ", stringify!(_fpstate_64))
10670    );
10671    assert_eq!(
10672        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
10673        0usize,
10674        concat!(
10675            "Offset of field: ",
10676            stringify!(_fpstate_64),
10677            "::",
10678            stringify!(cwd)
10679        )
10680    );
10681    assert_eq!(
10682        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
10683        2usize,
10684        concat!(
10685            "Offset of field: ",
10686            stringify!(_fpstate_64),
10687            "::",
10688            stringify!(swd)
10689        )
10690    );
10691    assert_eq!(
10692        unsafe { ::std::ptr::addr_of!((*ptr).twd) as usize - ptr as usize },
10693        4usize,
10694        concat!(
10695            "Offset of field: ",
10696            stringify!(_fpstate_64),
10697            "::",
10698            stringify!(twd)
10699        )
10700    );
10701    assert_eq!(
10702        unsafe { ::std::ptr::addr_of!((*ptr).fop) as usize - ptr as usize },
10703        6usize,
10704        concat!(
10705            "Offset of field: ",
10706            stringify!(_fpstate_64),
10707            "::",
10708            stringify!(fop)
10709        )
10710    );
10711    assert_eq!(
10712        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
10713        8usize,
10714        concat!(
10715            "Offset of field: ",
10716            stringify!(_fpstate_64),
10717            "::",
10718            stringify!(rip)
10719        )
10720    );
10721    assert_eq!(
10722        unsafe { ::std::ptr::addr_of!((*ptr).rdp) as usize - ptr as usize },
10723        16usize,
10724        concat!(
10725            "Offset of field: ",
10726            stringify!(_fpstate_64),
10727            "::",
10728            stringify!(rdp)
10729        )
10730    );
10731    assert_eq!(
10732        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
10733        24usize,
10734        concat!(
10735            "Offset of field: ",
10736            stringify!(_fpstate_64),
10737            "::",
10738            stringify!(mxcsr)
10739        )
10740    );
10741    assert_eq!(
10742        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr_mask) as usize - ptr as usize },
10743        28usize,
10744        concat!(
10745            "Offset of field: ",
10746            stringify!(_fpstate_64),
10747            "::",
10748            stringify!(mxcsr_mask)
10749        )
10750    );
10751    assert_eq!(
10752        unsafe { ::std::ptr::addr_of!((*ptr).st_space) as usize - ptr as usize },
10753        32usize,
10754        concat!(
10755            "Offset of field: ",
10756            stringify!(_fpstate_64),
10757            "::",
10758            stringify!(st_space)
10759        )
10760    );
10761    assert_eq!(
10762        unsafe { ::std::ptr::addr_of!((*ptr).xmm_space) as usize - ptr as usize },
10763        160usize,
10764        concat!(
10765            "Offset of field: ",
10766            stringify!(_fpstate_64),
10767            "::",
10768            stringify!(xmm_space)
10769        )
10770    );
10771    assert_eq!(
10772        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
10773        416usize,
10774        concat!(
10775            "Offset of field: ",
10776            stringify!(_fpstate_64),
10777            "::",
10778            stringify!(reserved2)
10779        )
10780    );
10781}
10782#[repr(C)]
10783#[derive(Debug, Copy, Clone)]
10784pub struct _header {
10785    pub xfeatures: __u64,
10786    pub reserved1: [__u64; 2usize],
10787    pub reserved2: [__u64; 5usize],
10788}
10789#[test]
10790fn bindgen_test_layout__header() {
10791    const UNINIT: ::std::mem::MaybeUninit<_header> = ::std::mem::MaybeUninit::uninit();
10792    let ptr = UNINIT.as_ptr();
10793    assert_eq!(
10794        ::std::mem::size_of::<_header>(),
10795        64usize,
10796        concat!("Size of: ", stringify!(_header))
10797    );
10798    assert_eq!(
10799        ::std::mem::align_of::<_header>(),
10800        8usize,
10801        concat!("Alignment of ", stringify!(_header))
10802    );
10803    assert_eq!(
10804        unsafe { ::std::ptr::addr_of!((*ptr).xfeatures) as usize - ptr as usize },
10805        0usize,
10806        concat!(
10807            "Offset of field: ",
10808            stringify!(_header),
10809            "::",
10810            stringify!(xfeatures)
10811        )
10812    );
10813    assert_eq!(
10814        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
10815        8usize,
10816        concat!(
10817            "Offset of field: ",
10818            stringify!(_header),
10819            "::",
10820            stringify!(reserved1)
10821        )
10822    );
10823    assert_eq!(
10824        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
10825        24usize,
10826        concat!(
10827            "Offset of field: ",
10828            stringify!(_header),
10829            "::",
10830            stringify!(reserved2)
10831        )
10832    );
10833}
10834#[repr(C)]
10835#[derive(Debug, Copy, Clone)]
10836pub struct _ymmh_state {
10837    pub ymmh_space: [__u32; 64usize],
10838}
10839#[test]
10840fn bindgen_test_layout__ymmh_state() {
10841    const UNINIT: ::std::mem::MaybeUninit<_ymmh_state> = ::std::mem::MaybeUninit::uninit();
10842    let ptr = UNINIT.as_ptr();
10843    assert_eq!(
10844        ::std::mem::size_of::<_ymmh_state>(),
10845        256usize,
10846        concat!("Size of: ", stringify!(_ymmh_state))
10847    );
10848    assert_eq!(
10849        ::std::mem::align_of::<_ymmh_state>(),
10850        4usize,
10851        concat!("Alignment of ", stringify!(_ymmh_state))
10852    );
10853    assert_eq!(
10854        unsafe { ::std::ptr::addr_of!((*ptr).ymmh_space) as usize - ptr as usize },
10855        0usize,
10856        concat!(
10857            "Offset of field: ",
10858            stringify!(_ymmh_state),
10859            "::",
10860            stringify!(ymmh_space)
10861        )
10862    );
10863}
10864#[repr(C)]
10865#[derive(Copy, Clone)]
10866pub struct _xstate {
10867    pub fpstate: _fpstate_64,
10868    pub xstate_hdr: _header,
10869    pub ymmh: _ymmh_state,
10870}
10871#[test]
10872fn bindgen_test_layout__xstate() {
10873    const UNINIT: ::std::mem::MaybeUninit<_xstate> = ::std::mem::MaybeUninit::uninit();
10874    let ptr = UNINIT.as_ptr();
10875    assert_eq!(
10876        ::std::mem::size_of::<_xstate>(),
10877        832usize,
10878        concat!("Size of: ", stringify!(_xstate))
10879    );
10880    assert_eq!(
10881        ::std::mem::align_of::<_xstate>(),
10882        8usize,
10883        concat!("Alignment of ", stringify!(_xstate))
10884    );
10885    assert_eq!(
10886        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
10887        0usize,
10888        concat!(
10889            "Offset of field: ",
10890            stringify!(_xstate),
10891            "::",
10892            stringify!(fpstate)
10893        )
10894    );
10895    assert_eq!(
10896        unsafe { ::std::ptr::addr_of!((*ptr).xstate_hdr) as usize - ptr as usize },
10897        512usize,
10898        concat!(
10899            "Offset of field: ",
10900            stringify!(_xstate),
10901            "::",
10902            stringify!(xstate_hdr)
10903        )
10904    );
10905    assert_eq!(
10906        unsafe { ::std::ptr::addr_of!((*ptr).ymmh) as usize - ptr as usize },
10907        576usize,
10908        concat!(
10909            "Offset of field: ",
10910            stringify!(_xstate),
10911            "::",
10912            stringify!(ymmh)
10913        )
10914    );
10915}
10916#[repr(C)]
10917#[derive(Debug, Copy, Clone)]
10918pub struct sigcontext_32 {
10919    pub gs: __u16,
10920    pub __gsh: __u16,
10921    pub fs: __u16,
10922    pub __fsh: __u16,
10923    pub es: __u16,
10924    pub __esh: __u16,
10925    pub ds: __u16,
10926    pub __dsh: __u16,
10927    pub di: __u32,
10928    pub si: __u32,
10929    pub bp: __u32,
10930    pub sp: __u32,
10931    pub bx: __u32,
10932    pub dx: __u32,
10933    pub cx: __u32,
10934    pub ax: __u32,
10935    pub trapno: __u32,
10936    pub err: __u32,
10937    pub ip: __u32,
10938    pub cs: __u16,
10939    pub __csh: __u16,
10940    pub flags: __u32,
10941    pub sp_at_signal: __u32,
10942    pub ss: __u16,
10943    pub __ssh: __u16,
10944    pub fpstate: __u32,
10945    pub oldmask: __u32,
10946    pub cr2: __u32,
10947}
10948#[test]
10949fn bindgen_test_layout_sigcontext_32() {
10950    const UNINIT: ::std::mem::MaybeUninit<sigcontext_32> = ::std::mem::MaybeUninit::uninit();
10951    let ptr = UNINIT.as_ptr();
10952    assert_eq!(
10953        ::std::mem::size_of::<sigcontext_32>(),
10954        88usize,
10955        concat!("Size of: ", stringify!(sigcontext_32))
10956    );
10957    assert_eq!(
10958        ::std::mem::align_of::<sigcontext_32>(),
10959        4usize,
10960        concat!("Alignment of ", stringify!(sigcontext_32))
10961    );
10962    assert_eq!(
10963        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
10964        0usize,
10965        concat!(
10966            "Offset of field: ",
10967            stringify!(sigcontext_32),
10968            "::",
10969            stringify!(gs)
10970        )
10971    );
10972    assert_eq!(
10973        unsafe { ::std::ptr::addr_of!((*ptr).__gsh) as usize - ptr as usize },
10974        2usize,
10975        concat!(
10976            "Offset of field: ",
10977            stringify!(sigcontext_32),
10978            "::",
10979            stringify!(__gsh)
10980        )
10981    );
10982    assert_eq!(
10983        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
10984        4usize,
10985        concat!(
10986            "Offset of field: ",
10987            stringify!(sigcontext_32),
10988            "::",
10989            stringify!(fs)
10990        )
10991    );
10992    assert_eq!(
10993        unsafe { ::std::ptr::addr_of!((*ptr).__fsh) as usize - ptr as usize },
10994        6usize,
10995        concat!(
10996            "Offset of field: ",
10997            stringify!(sigcontext_32),
10998            "::",
10999            stringify!(__fsh)
11000        )
11001    );
11002    assert_eq!(
11003        unsafe { ::std::ptr::addr_of!((*ptr).es) as usize - ptr as usize },
11004        8usize,
11005        concat!(
11006            "Offset of field: ",
11007            stringify!(sigcontext_32),
11008            "::",
11009            stringify!(es)
11010        )
11011    );
11012    assert_eq!(
11013        unsafe { ::std::ptr::addr_of!((*ptr).__esh) as usize - ptr as usize },
11014        10usize,
11015        concat!(
11016            "Offset of field: ",
11017            stringify!(sigcontext_32),
11018            "::",
11019            stringify!(__esh)
11020        )
11021    );
11022    assert_eq!(
11023        unsafe { ::std::ptr::addr_of!((*ptr).ds) as usize - ptr as usize },
11024        12usize,
11025        concat!(
11026            "Offset of field: ",
11027            stringify!(sigcontext_32),
11028            "::",
11029            stringify!(ds)
11030        )
11031    );
11032    assert_eq!(
11033        unsafe { ::std::ptr::addr_of!((*ptr).__dsh) as usize - ptr as usize },
11034        14usize,
11035        concat!(
11036            "Offset of field: ",
11037            stringify!(sigcontext_32),
11038            "::",
11039            stringify!(__dsh)
11040        )
11041    );
11042    assert_eq!(
11043        unsafe { ::std::ptr::addr_of!((*ptr).di) as usize - ptr as usize },
11044        16usize,
11045        concat!(
11046            "Offset of field: ",
11047            stringify!(sigcontext_32),
11048            "::",
11049            stringify!(di)
11050        )
11051    );
11052    assert_eq!(
11053        unsafe { ::std::ptr::addr_of!((*ptr).si) as usize - ptr as usize },
11054        20usize,
11055        concat!(
11056            "Offset of field: ",
11057            stringify!(sigcontext_32),
11058            "::",
11059            stringify!(si)
11060        )
11061    );
11062    assert_eq!(
11063        unsafe { ::std::ptr::addr_of!((*ptr).bp) as usize - ptr as usize },
11064        24usize,
11065        concat!(
11066            "Offset of field: ",
11067            stringify!(sigcontext_32),
11068            "::",
11069            stringify!(bp)
11070        )
11071    );
11072    assert_eq!(
11073        unsafe { ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize },
11074        28usize,
11075        concat!(
11076            "Offset of field: ",
11077            stringify!(sigcontext_32),
11078            "::",
11079            stringify!(sp)
11080        )
11081    );
11082    assert_eq!(
11083        unsafe { ::std::ptr::addr_of!((*ptr).bx) as usize - ptr as usize },
11084        32usize,
11085        concat!(
11086            "Offset of field: ",
11087            stringify!(sigcontext_32),
11088            "::",
11089            stringify!(bx)
11090        )
11091    );
11092    assert_eq!(
11093        unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize },
11094        36usize,
11095        concat!(
11096            "Offset of field: ",
11097            stringify!(sigcontext_32),
11098            "::",
11099            stringify!(dx)
11100        )
11101    );
11102    assert_eq!(
11103        unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize },
11104        40usize,
11105        concat!(
11106            "Offset of field: ",
11107            stringify!(sigcontext_32),
11108            "::",
11109            stringify!(cx)
11110        )
11111    );
11112    assert_eq!(
11113        unsafe { ::std::ptr::addr_of!((*ptr).ax) as usize - ptr as usize },
11114        44usize,
11115        concat!(
11116            "Offset of field: ",
11117            stringify!(sigcontext_32),
11118            "::",
11119            stringify!(ax)
11120        )
11121    );
11122    assert_eq!(
11123        unsafe { ::std::ptr::addr_of!((*ptr).trapno) as usize - ptr as usize },
11124        48usize,
11125        concat!(
11126            "Offset of field: ",
11127            stringify!(sigcontext_32),
11128            "::",
11129            stringify!(trapno)
11130        )
11131    );
11132    assert_eq!(
11133        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
11134        52usize,
11135        concat!(
11136            "Offset of field: ",
11137            stringify!(sigcontext_32),
11138            "::",
11139            stringify!(err)
11140        )
11141    );
11142    assert_eq!(
11143        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
11144        56usize,
11145        concat!(
11146            "Offset of field: ",
11147            stringify!(sigcontext_32),
11148            "::",
11149            stringify!(ip)
11150        )
11151    );
11152    assert_eq!(
11153        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
11154        60usize,
11155        concat!(
11156            "Offset of field: ",
11157            stringify!(sigcontext_32),
11158            "::",
11159            stringify!(cs)
11160        )
11161    );
11162    assert_eq!(
11163        unsafe { ::std::ptr::addr_of!((*ptr).__csh) as usize - ptr as usize },
11164        62usize,
11165        concat!(
11166            "Offset of field: ",
11167            stringify!(sigcontext_32),
11168            "::",
11169            stringify!(__csh)
11170        )
11171    );
11172    assert_eq!(
11173        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11174        64usize,
11175        concat!(
11176            "Offset of field: ",
11177            stringify!(sigcontext_32),
11178            "::",
11179            stringify!(flags)
11180        )
11181    );
11182    assert_eq!(
11183        unsafe { ::std::ptr::addr_of!((*ptr).sp_at_signal) as usize - ptr as usize },
11184        68usize,
11185        concat!(
11186            "Offset of field: ",
11187            stringify!(sigcontext_32),
11188            "::",
11189            stringify!(sp_at_signal)
11190        )
11191    );
11192    assert_eq!(
11193        unsafe { ::std::ptr::addr_of!((*ptr).ss) as usize - ptr as usize },
11194        72usize,
11195        concat!(
11196            "Offset of field: ",
11197            stringify!(sigcontext_32),
11198            "::",
11199            stringify!(ss)
11200        )
11201    );
11202    assert_eq!(
11203        unsafe { ::std::ptr::addr_of!((*ptr).__ssh) as usize - ptr as usize },
11204        74usize,
11205        concat!(
11206            "Offset of field: ",
11207            stringify!(sigcontext_32),
11208            "::",
11209            stringify!(__ssh)
11210        )
11211    );
11212    assert_eq!(
11213        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
11214        76usize,
11215        concat!(
11216            "Offset of field: ",
11217            stringify!(sigcontext_32),
11218            "::",
11219            stringify!(fpstate)
11220        )
11221    );
11222    assert_eq!(
11223        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
11224        80usize,
11225        concat!(
11226            "Offset of field: ",
11227            stringify!(sigcontext_32),
11228            "::",
11229            stringify!(oldmask)
11230        )
11231    );
11232    assert_eq!(
11233        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
11234        84usize,
11235        concat!(
11236            "Offset of field: ",
11237            stringify!(sigcontext_32),
11238            "::",
11239            stringify!(cr2)
11240        )
11241    );
11242}
11243#[repr(C)]
11244#[derive(Debug, Copy, Clone)]
11245pub struct sigcontext_64 {
11246    pub r8: __u64,
11247    pub r9: __u64,
11248    pub r10: __u64,
11249    pub r11: __u64,
11250    pub r12: __u64,
11251    pub r13: __u64,
11252    pub r14: __u64,
11253    pub r15: __u64,
11254    pub di: __u64,
11255    pub si: __u64,
11256    pub bp: __u64,
11257    pub bx: __u64,
11258    pub dx: __u64,
11259    pub ax: __u64,
11260    pub cx: __u64,
11261    pub sp: __u64,
11262    pub ip: __u64,
11263    pub flags: __u64,
11264    pub cs: __u16,
11265    pub gs: __u16,
11266    pub fs: __u16,
11267    pub ss: __u16,
11268    pub err: __u64,
11269    pub trapno: __u64,
11270    pub oldmask: __u64,
11271    pub cr2: __u64,
11272    pub fpstate: __u64,
11273    pub reserved1: [__u64; 8usize],
11274}
11275#[test]
11276fn bindgen_test_layout_sigcontext_64() {
11277    const UNINIT: ::std::mem::MaybeUninit<sigcontext_64> = ::std::mem::MaybeUninit::uninit();
11278    let ptr = UNINIT.as_ptr();
11279    assert_eq!(
11280        ::std::mem::size_of::<sigcontext_64>(),
11281        256usize,
11282        concat!("Size of: ", stringify!(sigcontext_64))
11283    );
11284    assert_eq!(
11285        ::std::mem::align_of::<sigcontext_64>(),
11286        8usize,
11287        concat!("Alignment of ", stringify!(sigcontext_64))
11288    );
11289    assert_eq!(
11290        unsafe { ::std::ptr::addr_of!((*ptr).r8) as usize - ptr as usize },
11291        0usize,
11292        concat!(
11293            "Offset of field: ",
11294            stringify!(sigcontext_64),
11295            "::",
11296            stringify!(r8)
11297        )
11298    );
11299    assert_eq!(
11300        unsafe { ::std::ptr::addr_of!((*ptr).r9) as usize - ptr as usize },
11301        8usize,
11302        concat!(
11303            "Offset of field: ",
11304            stringify!(sigcontext_64),
11305            "::",
11306            stringify!(r9)
11307        )
11308    );
11309    assert_eq!(
11310        unsafe { ::std::ptr::addr_of!((*ptr).r10) as usize - ptr as usize },
11311        16usize,
11312        concat!(
11313            "Offset of field: ",
11314            stringify!(sigcontext_64),
11315            "::",
11316            stringify!(r10)
11317        )
11318    );
11319    assert_eq!(
11320        unsafe { ::std::ptr::addr_of!((*ptr).r11) as usize - ptr as usize },
11321        24usize,
11322        concat!(
11323            "Offset of field: ",
11324            stringify!(sigcontext_64),
11325            "::",
11326            stringify!(r11)
11327        )
11328    );
11329    assert_eq!(
11330        unsafe { ::std::ptr::addr_of!((*ptr).r12) as usize - ptr as usize },
11331        32usize,
11332        concat!(
11333            "Offset of field: ",
11334            stringify!(sigcontext_64),
11335            "::",
11336            stringify!(r12)
11337        )
11338    );
11339    assert_eq!(
11340        unsafe { ::std::ptr::addr_of!((*ptr).r13) as usize - ptr as usize },
11341        40usize,
11342        concat!(
11343            "Offset of field: ",
11344            stringify!(sigcontext_64),
11345            "::",
11346            stringify!(r13)
11347        )
11348    );
11349    assert_eq!(
11350        unsafe { ::std::ptr::addr_of!((*ptr).r14) as usize - ptr as usize },
11351        48usize,
11352        concat!(
11353            "Offset of field: ",
11354            stringify!(sigcontext_64),
11355            "::",
11356            stringify!(r14)
11357        )
11358    );
11359    assert_eq!(
11360        unsafe { ::std::ptr::addr_of!((*ptr).r15) as usize - ptr as usize },
11361        56usize,
11362        concat!(
11363            "Offset of field: ",
11364            stringify!(sigcontext_64),
11365            "::",
11366            stringify!(r15)
11367        )
11368    );
11369    assert_eq!(
11370        unsafe { ::std::ptr::addr_of!((*ptr).di) as usize - ptr as usize },
11371        64usize,
11372        concat!(
11373            "Offset of field: ",
11374            stringify!(sigcontext_64),
11375            "::",
11376            stringify!(di)
11377        )
11378    );
11379    assert_eq!(
11380        unsafe { ::std::ptr::addr_of!((*ptr).si) as usize - ptr as usize },
11381        72usize,
11382        concat!(
11383            "Offset of field: ",
11384            stringify!(sigcontext_64),
11385            "::",
11386            stringify!(si)
11387        )
11388    );
11389    assert_eq!(
11390        unsafe { ::std::ptr::addr_of!((*ptr).bp) as usize - ptr as usize },
11391        80usize,
11392        concat!(
11393            "Offset of field: ",
11394            stringify!(sigcontext_64),
11395            "::",
11396            stringify!(bp)
11397        )
11398    );
11399    assert_eq!(
11400        unsafe { ::std::ptr::addr_of!((*ptr).bx) as usize - ptr as usize },
11401        88usize,
11402        concat!(
11403            "Offset of field: ",
11404            stringify!(sigcontext_64),
11405            "::",
11406            stringify!(bx)
11407        )
11408    );
11409    assert_eq!(
11410        unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize },
11411        96usize,
11412        concat!(
11413            "Offset of field: ",
11414            stringify!(sigcontext_64),
11415            "::",
11416            stringify!(dx)
11417        )
11418    );
11419    assert_eq!(
11420        unsafe { ::std::ptr::addr_of!((*ptr).ax) as usize - ptr as usize },
11421        104usize,
11422        concat!(
11423            "Offset of field: ",
11424            stringify!(sigcontext_64),
11425            "::",
11426            stringify!(ax)
11427        )
11428    );
11429    assert_eq!(
11430        unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize },
11431        112usize,
11432        concat!(
11433            "Offset of field: ",
11434            stringify!(sigcontext_64),
11435            "::",
11436            stringify!(cx)
11437        )
11438    );
11439    assert_eq!(
11440        unsafe { ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize },
11441        120usize,
11442        concat!(
11443            "Offset of field: ",
11444            stringify!(sigcontext_64),
11445            "::",
11446            stringify!(sp)
11447        )
11448    );
11449    assert_eq!(
11450        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
11451        128usize,
11452        concat!(
11453            "Offset of field: ",
11454            stringify!(sigcontext_64),
11455            "::",
11456            stringify!(ip)
11457        )
11458    );
11459    assert_eq!(
11460        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11461        136usize,
11462        concat!(
11463            "Offset of field: ",
11464            stringify!(sigcontext_64),
11465            "::",
11466            stringify!(flags)
11467        )
11468    );
11469    assert_eq!(
11470        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
11471        144usize,
11472        concat!(
11473            "Offset of field: ",
11474            stringify!(sigcontext_64),
11475            "::",
11476            stringify!(cs)
11477        )
11478    );
11479    assert_eq!(
11480        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
11481        146usize,
11482        concat!(
11483            "Offset of field: ",
11484            stringify!(sigcontext_64),
11485            "::",
11486            stringify!(gs)
11487        )
11488    );
11489    assert_eq!(
11490        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
11491        148usize,
11492        concat!(
11493            "Offset of field: ",
11494            stringify!(sigcontext_64),
11495            "::",
11496            stringify!(fs)
11497        )
11498    );
11499    assert_eq!(
11500        unsafe { ::std::ptr::addr_of!((*ptr).ss) as usize - ptr as usize },
11501        150usize,
11502        concat!(
11503            "Offset of field: ",
11504            stringify!(sigcontext_64),
11505            "::",
11506            stringify!(ss)
11507        )
11508    );
11509    assert_eq!(
11510        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
11511        152usize,
11512        concat!(
11513            "Offset of field: ",
11514            stringify!(sigcontext_64),
11515            "::",
11516            stringify!(err)
11517        )
11518    );
11519    assert_eq!(
11520        unsafe { ::std::ptr::addr_of!((*ptr).trapno) as usize - ptr as usize },
11521        160usize,
11522        concat!(
11523            "Offset of field: ",
11524            stringify!(sigcontext_64),
11525            "::",
11526            stringify!(trapno)
11527        )
11528    );
11529    assert_eq!(
11530        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
11531        168usize,
11532        concat!(
11533            "Offset of field: ",
11534            stringify!(sigcontext_64),
11535            "::",
11536            stringify!(oldmask)
11537        )
11538    );
11539    assert_eq!(
11540        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
11541        176usize,
11542        concat!(
11543            "Offset of field: ",
11544            stringify!(sigcontext_64),
11545            "::",
11546            stringify!(cr2)
11547        )
11548    );
11549    assert_eq!(
11550        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
11551        184usize,
11552        concat!(
11553            "Offset of field: ",
11554            stringify!(sigcontext_64),
11555            "::",
11556            stringify!(fpstate)
11557        )
11558    );
11559    assert_eq!(
11560        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
11561        192usize,
11562        concat!(
11563            "Offset of field: ",
11564            stringify!(sigcontext_64),
11565            "::",
11566            stringify!(reserved1)
11567        )
11568    );
11569}
11570#[repr(C)]
11571#[derive(Copy, Clone)]
11572pub struct sigcontext {
11573    pub r8: __u64,
11574    pub r9: __u64,
11575    pub r10: __u64,
11576    pub r11: __u64,
11577    pub r12: __u64,
11578    pub r13: __u64,
11579    pub r14: __u64,
11580    pub r15: __u64,
11581    pub rdi: __u64,
11582    pub rsi: __u64,
11583    pub rbp: __u64,
11584    pub rbx: __u64,
11585    pub rdx: __u64,
11586    pub rax: __u64,
11587    pub rcx: __u64,
11588    pub rsp: __u64,
11589    pub rip: __u64,
11590    pub eflags: __u64,
11591    pub cs: __u16,
11592    pub gs: __u16,
11593    pub fs: __u16,
11594    pub __bindgen_anon_1: sigcontext__bindgen_ty_1,
11595    pub err: __u64,
11596    pub trapno: __u64,
11597    pub oldmask: __u64,
11598    pub cr2: __u64,
11599    pub fpstate: *mut _fpstate_64,
11600    pub reserved1: [__u64; 8usize],
11601}
11602#[repr(C)]
11603#[derive(Copy, Clone)]
11604pub union sigcontext__bindgen_ty_1 {
11605    pub ss: __u16,
11606    pub __pad0: __u16,
11607}
11608#[test]
11609fn bindgen_test_layout_sigcontext__bindgen_ty_1() {
11610    const UNINIT: ::std::mem::MaybeUninit<sigcontext__bindgen_ty_1> =
11611        ::std::mem::MaybeUninit::uninit();
11612    let ptr = UNINIT.as_ptr();
11613    assert_eq!(
11614        ::std::mem::size_of::<sigcontext__bindgen_ty_1>(),
11615        2usize,
11616        concat!("Size of: ", stringify!(sigcontext__bindgen_ty_1))
11617    );
11618    assert_eq!(
11619        ::std::mem::align_of::<sigcontext__bindgen_ty_1>(),
11620        2usize,
11621        concat!("Alignment of ", stringify!(sigcontext__bindgen_ty_1))
11622    );
11623    assert_eq!(
11624        unsafe { ::std::ptr::addr_of!((*ptr).ss) as usize - ptr as usize },
11625        0usize,
11626        concat!(
11627            "Offset of field: ",
11628            stringify!(sigcontext__bindgen_ty_1),
11629            "::",
11630            stringify!(ss)
11631        )
11632    );
11633    assert_eq!(
11634        unsafe { ::std::ptr::addr_of!((*ptr).__pad0) as usize - ptr as usize },
11635        0usize,
11636        concat!(
11637            "Offset of field: ",
11638            stringify!(sigcontext__bindgen_ty_1),
11639            "::",
11640            stringify!(__pad0)
11641        )
11642    );
11643}
11644#[test]
11645fn bindgen_test_layout_sigcontext() {
11646    const UNINIT: ::std::mem::MaybeUninit<sigcontext> = ::std::mem::MaybeUninit::uninit();
11647    let ptr = UNINIT.as_ptr();
11648    assert_eq!(
11649        ::std::mem::size_of::<sigcontext>(),
11650        256usize,
11651        concat!("Size of: ", stringify!(sigcontext))
11652    );
11653    assert_eq!(
11654        ::std::mem::align_of::<sigcontext>(),
11655        8usize,
11656        concat!("Alignment of ", stringify!(sigcontext))
11657    );
11658    assert_eq!(
11659        unsafe { ::std::ptr::addr_of!((*ptr).r8) as usize - ptr as usize },
11660        0usize,
11661        concat!(
11662            "Offset of field: ",
11663            stringify!(sigcontext),
11664            "::",
11665            stringify!(r8)
11666        )
11667    );
11668    assert_eq!(
11669        unsafe { ::std::ptr::addr_of!((*ptr).r9) as usize - ptr as usize },
11670        8usize,
11671        concat!(
11672            "Offset of field: ",
11673            stringify!(sigcontext),
11674            "::",
11675            stringify!(r9)
11676        )
11677    );
11678    assert_eq!(
11679        unsafe { ::std::ptr::addr_of!((*ptr).r10) as usize - ptr as usize },
11680        16usize,
11681        concat!(
11682            "Offset of field: ",
11683            stringify!(sigcontext),
11684            "::",
11685            stringify!(r10)
11686        )
11687    );
11688    assert_eq!(
11689        unsafe { ::std::ptr::addr_of!((*ptr).r11) as usize - ptr as usize },
11690        24usize,
11691        concat!(
11692            "Offset of field: ",
11693            stringify!(sigcontext),
11694            "::",
11695            stringify!(r11)
11696        )
11697    );
11698    assert_eq!(
11699        unsafe { ::std::ptr::addr_of!((*ptr).r12) as usize - ptr as usize },
11700        32usize,
11701        concat!(
11702            "Offset of field: ",
11703            stringify!(sigcontext),
11704            "::",
11705            stringify!(r12)
11706        )
11707    );
11708    assert_eq!(
11709        unsafe { ::std::ptr::addr_of!((*ptr).r13) as usize - ptr as usize },
11710        40usize,
11711        concat!(
11712            "Offset of field: ",
11713            stringify!(sigcontext),
11714            "::",
11715            stringify!(r13)
11716        )
11717    );
11718    assert_eq!(
11719        unsafe { ::std::ptr::addr_of!((*ptr).r14) as usize - ptr as usize },
11720        48usize,
11721        concat!(
11722            "Offset of field: ",
11723            stringify!(sigcontext),
11724            "::",
11725            stringify!(r14)
11726        )
11727    );
11728    assert_eq!(
11729        unsafe { ::std::ptr::addr_of!((*ptr).r15) as usize - ptr as usize },
11730        56usize,
11731        concat!(
11732            "Offset of field: ",
11733            stringify!(sigcontext),
11734            "::",
11735            stringify!(r15)
11736        )
11737    );
11738    assert_eq!(
11739        unsafe { ::std::ptr::addr_of!((*ptr).rdi) as usize - ptr as usize },
11740        64usize,
11741        concat!(
11742            "Offset of field: ",
11743            stringify!(sigcontext),
11744            "::",
11745            stringify!(rdi)
11746        )
11747    );
11748    assert_eq!(
11749        unsafe { ::std::ptr::addr_of!((*ptr).rsi) as usize - ptr as usize },
11750        72usize,
11751        concat!(
11752            "Offset of field: ",
11753            stringify!(sigcontext),
11754            "::",
11755            stringify!(rsi)
11756        )
11757    );
11758    assert_eq!(
11759        unsafe { ::std::ptr::addr_of!((*ptr).rbp) as usize - ptr as usize },
11760        80usize,
11761        concat!(
11762            "Offset of field: ",
11763            stringify!(sigcontext),
11764            "::",
11765            stringify!(rbp)
11766        )
11767    );
11768    assert_eq!(
11769        unsafe { ::std::ptr::addr_of!((*ptr).rbx) as usize - ptr as usize },
11770        88usize,
11771        concat!(
11772            "Offset of field: ",
11773            stringify!(sigcontext),
11774            "::",
11775            stringify!(rbx)
11776        )
11777    );
11778    assert_eq!(
11779        unsafe { ::std::ptr::addr_of!((*ptr).rdx) as usize - ptr as usize },
11780        96usize,
11781        concat!(
11782            "Offset of field: ",
11783            stringify!(sigcontext),
11784            "::",
11785            stringify!(rdx)
11786        )
11787    );
11788    assert_eq!(
11789        unsafe { ::std::ptr::addr_of!((*ptr).rax) as usize - ptr as usize },
11790        104usize,
11791        concat!(
11792            "Offset of field: ",
11793            stringify!(sigcontext),
11794            "::",
11795            stringify!(rax)
11796        )
11797    );
11798    assert_eq!(
11799        unsafe { ::std::ptr::addr_of!((*ptr).rcx) as usize - ptr as usize },
11800        112usize,
11801        concat!(
11802            "Offset of field: ",
11803            stringify!(sigcontext),
11804            "::",
11805            stringify!(rcx)
11806        )
11807    );
11808    assert_eq!(
11809        unsafe { ::std::ptr::addr_of!((*ptr).rsp) as usize - ptr as usize },
11810        120usize,
11811        concat!(
11812            "Offset of field: ",
11813            stringify!(sigcontext),
11814            "::",
11815            stringify!(rsp)
11816        )
11817    );
11818    assert_eq!(
11819        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
11820        128usize,
11821        concat!(
11822            "Offset of field: ",
11823            stringify!(sigcontext),
11824            "::",
11825            stringify!(rip)
11826        )
11827    );
11828    assert_eq!(
11829        unsafe { ::std::ptr::addr_of!((*ptr).eflags) as usize - ptr as usize },
11830        136usize,
11831        concat!(
11832            "Offset of field: ",
11833            stringify!(sigcontext),
11834            "::",
11835            stringify!(eflags)
11836        )
11837    );
11838    assert_eq!(
11839        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
11840        144usize,
11841        concat!(
11842            "Offset of field: ",
11843            stringify!(sigcontext),
11844            "::",
11845            stringify!(cs)
11846        )
11847    );
11848    assert_eq!(
11849        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
11850        146usize,
11851        concat!(
11852            "Offset of field: ",
11853            stringify!(sigcontext),
11854            "::",
11855            stringify!(gs)
11856        )
11857    );
11858    assert_eq!(
11859        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
11860        148usize,
11861        concat!(
11862            "Offset of field: ",
11863            stringify!(sigcontext),
11864            "::",
11865            stringify!(fs)
11866        )
11867    );
11868    assert_eq!(
11869        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
11870        152usize,
11871        concat!(
11872            "Offset of field: ",
11873            stringify!(sigcontext),
11874            "::",
11875            stringify!(err)
11876        )
11877    );
11878    assert_eq!(
11879        unsafe { ::std::ptr::addr_of!((*ptr).trapno) as usize - ptr as usize },
11880        160usize,
11881        concat!(
11882            "Offset of field: ",
11883            stringify!(sigcontext),
11884            "::",
11885            stringify!(trapno)
11886        )
11887    );
11888    assert_eq!(
11889        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
11890        168usize,
11891        concat!(
11892            "Offset of field: ",
11893            stringify!(sigcontext),
11894            "::",
11895            stringify!(oldmask)
11896        )
11897    );
11898    assert_eq!(
11899        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
11900        176usize,
11901        concat!(
11902            "Offset of field: ",
11903            stringify!(sigcontext),
11904            "::",
11905            stringify!(cr2)
11906        )
11907    );
11908    assert_eq!(
11909        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
11910        184usize,
11911        concat!(
11912            "Offset of field: ",
11913            stringify!(sigcontext),
11914            "::",
11915            stringify!(fpstate)
11916        )
11917    );
11918    assert_eq!(
11919        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
11920        192usize,
11921        concat!(
11922            "Offset of field: ",
11923            stringify!(sigcontext),
11924            "::",
11925            stringify!(reserved1)
11926        )
11927    );
11928}
11929pub type sigset_t = ::std::os::raw::c_ulong;
11930pub type __signalfn_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
11931pub type __sighandler_t = __signalfn_t;
11932pub type __restorefn_t = ::std::option::Option<unsafe extern "C" fn()>;
11933pub type __sigrestore_t = __restorefn_t;
11934#[repr(C)]
11935#[derive(Debug, Copy, Clone)]
11936pub struct __kernel_sigaction {
11937    pub sa_handler: __sighandler_t,
11938    pub sa_flags: ::std::os::raw::c_ulong,
11939    pub sa_restorer: __sigrestore_t,
11940    pub sa_mask: sigset_t,
11941}
11942#[test]
11943fn bindgen_test_layout___kernel_sigaction() {
11944    const UNINIT: ::std::mem::MaybeUninit<__kernel_sigaction> = ::std::mem::MaybeUninit::uninit();
11945    let ptr = UNINIT.as_ptr();
11946    assert_eq!(
11947        ::std::mem::size_of::<__kernel_sigaction>(),
11948        32usize,
11949        concat!("Size of: ", stringify!(__kernel_sigaction))
11950    );
11951    assert_eq!(
11952        ::std::mem::align_of::<__kernel_sigaction>(),
11953        8usize,
11954        concat!("Alignment of ", stringify!(__kernel_sigaction))
11955    );
11956    assert_eq!(
11957        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
11958        0usize,
11959        concat!(
11960            "Offset of field: ",
11961            stringify!(__kernel_sigaction),
11962            "::",
11963            stringify!(sa_handler)
11964        )
11965    );
11966    assert_eq!(
11967        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
11968        8usize,
11969        concat!(
11970            "Offset of field: ",
11971            stringify!(__kernel_sigaction),
11972            "::",
11973            stringify!(sa_flags)
11974        )
11975    );
11976    assert_eq!(
11977        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
11978        16usize,
11979        concat!(
11980            "Offset of field: ",
11981            stringify!(__kernel_sigaction),
11982            "::",
11983            stringify!(sa_restorer)
11984        )
11985    );
11986    assert_eq!(
11987        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
11988        24usize,
11989        concat!(
11990            "Offset of field: ",
11991            stringify!(__kernel_sigaction),
11992            "::",
11993            stringify!(sa_mask)
11994        )
11995    );
11996}
11997#[repr(C)]
11998#[derive(Debug, Copy, Clone)]
11999pub struct sigaltstack {
12000    pub ss_sp: *mut ::std::os::raw::c_void,
12001    pub ss_flags: ::std::os::raw::c_int,
12002    pub ss_size: __kernel_size_t,
12003}
12004#[test]
12005fn bindgen_test_layout_sigaltstack() {
12006    const UNINIT: ::std::mem::MaybeUninit<sigaltstack> = ::std::mem::MaybeUninit::uninit();
12007    let ptr = UNINIT.as_ptr();
12008    assert_eq!(
12009        ::std::mem::size_of::<sigaltstack>(),
12010        24usize,
12011        concat!("Size of: ", stringify!(sigaltstack))
12012    );
12013    assert_eq!(
12014        ::std::mem::align_of::<sigaltstack>(),
12015        8usize,
12016        concat!("Alignment of ", stringify!(sigaltstack))
12017    );
12018    assert_eq!(
12019        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
12020        0usize,
12021        concat!(
12022            "Offset of field: ",
12023            stringify!(sigaltstack),
12024            "::",
12025            stringify!(ss_sp)
12026        )
12027    );
12028    assert_eq!(
12029        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
12030        8usize,
12031        concat!(
12032            "Offset of field: ",
12033            stringify!(sigaltstack),
12034            "::",
12035            stringify!(ss_flags)
12036        )
12037    );
12038    assert_eq!(
12039        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
12040        16usize,
12041        concat!(
12042            "Offset of field: ",
12043            stringify!(sigaltstack),
12044            "::",
12045            stringify!(ss_size)
12046        )
12047    );
12048}
12049pub type stack_t = sigaltstack;
12050#[repr(C)]
12051#[derive(Copy, Clone)]
12052pub union sigval {
12053    pub sival_int: ::std::os::raw::c_int,
12054    pub sival_ptr: *mut ::std::os::raw::c_void,
12055}
12056#[test]
12057fn bindgen_test_layout_sigval() {
12058    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
12059    let ptr = UNINIT.as_ptr();
12060    assert_eq!(
12061        ::std::mem::size_of::<sigval>(),
12062        8usize,
12063        concat!("Size of: ", stringify!(sigval))
12064    );
12065    assert_eq!(
12066        ::std::mem::align_of::<sigval>(),
12067        8usize,
12068        concat!("Alignment of ", stringify!(sigval))
12069    );
12070    assert_eq!(
12071        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
12072        0usize,
12073        concat!(
12074            "Offset of field: ",
12075            stringify!(sigval),
12076            "::",
12077            stringify!(sival_int)
12078        )
12079    );
12080    assert_eq!(
12081        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
12082        0usize,
12083        concat!(
12084            "Offset of field: ",
12085            stringify!(sigval),
12086            "::",
12087            stringify!(sival_ptr)
12088        )
12089    );
12090}
12091pub type sigval_t = sigval;
12092#[repr(C)]
12093#[derive(Copy, Clone)]
12094pub union __sifields {
12095    pub _kill: __sifields__bindgen_ty_1,
12096    pub _timer: __sifields__bindgen_ty_2,
12097    pub _rt: __sifields__bindgen_ty_3,
12098    pub _sigchld: __sifields__bindgen_ty_4,
12099    pub _sigfault: __sifields__bindgen_ty_5,
12100    pub _sigpoll: __sifields__bindgen_ty_6,
12101    pub _sigsys: __sifields__bindgen_ty_7,
12102}
12103#[repr(C)]
12104#[derive(Debug, Copy, Clone)]
12105pub struct __sifields__bindgen_ty_1 {
12106    pub _pid: __kernel_pid_t,
12107    pub _uid: __kernel_uid32_t,
12108}
12109#[test]
12110fn bindgen_test_layout___sifields__bindgen_ty_1() {
12111    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_1> =
12112        ::std::mem::MaybeUninit::uninit();
12113    let ptr = UNINIT.as_ptr();
12114    assert_eq!(
12115        ::std::mem::size_of::<__sifields__bindgen_ty_1>(),
12116        8usize,
12117        concat!("Size of: ", stringify!(__sifields__bindgen_ty_1))
12118    );
12119    assert_eq!(
12120        ::std::mem::align_of::<__sifields__bindgen_ty_1>(),
12121        4usize,
12122        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_1))
12123    );
12124    assert_eq!(
12125        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
12126        0usize,
12127        concat!(
12128            "Offset of field: ",
12129            stringify!(__sifields__bindgen_ty_1),
12130            "::",
12131            stringify!(_pid)
12132        )
12133    );
12134    assert_eq!(
12135        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
12136        4usize,
12137        concat!(
12138            "Offset of field: ",
12139            stringify!(__sifields__bindgen_ty_1),
12140            "::",
12141            stringify!(_uid)
12142        )
12143    );
12144}
12145#[repr(C)]
12146#[derive(Copy, Clone)]
12147pub struct __sifields__bindgen_ty_2 {
12148    pub _tid: __kernel_timer_t,
12149    pub _overrun: ::std::os::raw::c_int,
12150    pub _sigval: sigval_t,
12151    pub _sys_private: ::std::os::raw::c_int,
12152}
12153#[test]
12154fn bindgen_test_layout___sifields__bindgen_ty_2() {
12155    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_2> =
12156        ::std::mem::MaybeUninit::uninit();
12157    let ptr = UNINIT.as_ptr();
12158    assert_eq!(
12159        ::std::mem::size_of::<__sifields__bindgen_ty_2>(),
12160        24usize,
12161        concat!("Size of: ", stringify!(__sifields__bindgen_ty_2))
12162    );
12163    assert_eq!(
12164        ::std::mem::align_of::<__sifields__bindgen_ty_2>(),
12165        8usize,
12166        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_2))
12167    );
12168    assert_eq!(
12169        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
12170        0usize,
12171        concat!(
12172            "Offset of field: ",
12173            stringify!(__sifields__bindgen_ty_2),
12174            "::",
12175            stringify!(_tid)
12176        )
12177    );
12178    assert_eq!(
12179        unsafe { ::std::ptr::addr_of!((*ptr)._overrun) as usize - ptr as usize },
12180        4usize,
12181        concat!(
12182            "Offset of field: ",
12183            stringify!(__sifields__bindgen_ty_2),
12184            "::",
12185            stringify!(_overrun)
12186        )
12187    );
12188    assert_eq!(
12189        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
12190        8usize,
12191        concat!(
12192            "Offset of field: ",
12193            stringify!(__sifields__bindgen_ty_2),
12194            "::",
12195            stringify!(_sigval)
12196        )
12197    );
12198    assert_eq!(
12199        unsafe { ::std::ptr::addr_of!((*ptr)._sys_private) as usize - ptr as usize },
12200        16usize,
12201        concat!(
12202            "Offset of field: ",
12203            stringify!(__sifields__bindgen_ty_2),
12204            "::",
12205            stringify!(_sys_private)
12206        )
12207    );
12208}
12209#[repr(C)]
12210#[derive(Copy, Clone)]
12211pub struct __sifields__bindgen_ty_3 {
12212    pub _pid: __kernel_pid_t,
12213    pub _uid: __kernel_uid32_t,
12214    pub _sigval: sigval_t,
12215}
12216#[test]
12217fn bindgen_test_layout___sifields__bindgen_ty_3() {
12218    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_3> =
12219        ::std::mem::MaybeUninit::uninit();
12220    let ptr = UNINIT.as_ptr();
12221    assert_eq!(
12222        ::std::mem::size_of::<__sifields__bindgen_ty_3>(),
12223        16usize,
12224        concat!("Size of: ", stringify!(__sifields__bindgen_ty_3))
12225    );
12226    assert_eq!(
12227        ::std::mem::align_of::<__sifields__bindgen_ty_3>(),
12228        8usize,
12229        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_3))
12230    );
12231    assert_eq!(
12232        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
12233        0usize,
12234        concat!(
12235            "Offset of field: ",
12236            stringify!(__sifields__bindgen_ty_3),
12237            "::",
12238            stringify!(_pid)
12239        )
12240    );
12241    assert_eq!(
12242        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
12243        4usize,
12244        concat!(
12245            "Offset of field: ",
12246            stringify!(__sifields__bindgen_ty_3),
12247            "::",
12248            stringify!(_uid)
12249        )
12250    );
12251    assert_eq!(
12252        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
12253        8usize,
12254        concat!(
12255            "Offset of field: ",
12256            stringify!(__sifields__bindgen_ty_3),
12257            "::",
12258            stringify!(_sigval)
12259        )
12260    );
12261}
12262#[repr(C)]
12263#[derive(Debug, Copy, Clone)]
12264pub struct __sifields__bindgen_ty_4 {
12265    pub _pid: __kernel_pid_t,
12266    pub _uid: __kernel_uid32_t,
12267    pub _status: ::std::os::raw::c_int,
12268    pub _utime: __kernel_clock_t,
12269    pub _stime: __kernel_clock_t,
12270}
12271#[test]
12272fn bindgen_test_layout___sifields__bindgen_ty_4() {
12273    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_4> =
12274        ::std::mem::MaybeUninit::uninit();
12275    let ptr = UNINIT.as_ptr();
12276    assert_eq!(
12277        ::std::mem::size_of::<__sifields__bindgen_ty_4>(),
12278        32usize,
12279        concat!("Size of: ", stringify!(__sifields__bindgen_ty_4))
12280    );
12281    assert_eq!(
12282        ::std::mem::align_of::<__sifields__bindgen_ty_4>(),
12283        8usize,
12284        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_4))
12285    );
12286    assert_eq!(
12287        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
12288        0usize,
12289        concat!(
12290            "Offset of field: ",
12291            stringify!(__sifields__bindgen_ty_4),
12292            "::",
12293            stringify!(_pid)
12294        )
12295    );
12296    assert_eq!(
12297        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
12298        4usize,
12299        concat!(
12300            "Offset of field: ",
12301            stringify!(__sifields__bindgen_ty_4),
12302            "::",
12303            stringify!(_uid)
12304        )
12305    );
12306    assert_eq!(
12307        unsafe { ::std::ptr::addr_of!((*ptr)._status) as usize - ptr as usize },
12308        8usize,
12309        concat!(
12310            "Offset of field: ",
12311            stringify!(__sifields__bindgen_ty_4),
12312            "::",
12313            stringify!(_status)
12314        )
12315    );
12316    assert_eq!(
12317        unsafe { ::std::ptr::addr_of!((*ptr)._utime) as usize - ptr as usize },
12318        16usize,
12319        concat!(
12320            "Offset of field: ",
12321            stringify!(__sifields__bindgen_ty_4),
12322            "::",
12323            stringify!(_utime)
12324        )
12325    );
12326    assert_eq!(
12327        unsafe { ::std::ptr::addr_of!((*ptr)._stime) as usize - ptr as usize },
12328        24usize,
12329        concat!(
12330            "Offset of field: ",
12331            stringify!(__sifields__bindgen_ty_4),
12332            "::",
12333            stringify!(_stime)
12334        )
12335    );
12336}
12337#[repr(C)]
12338#[derive(Copy, Clone)]
12339pub struct __sifields__bindgen_ty_5 {
12340    pub _addr: *mut ::std::os::raw::c_void,
12341    pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
12342}
12343#[repr(C)]
12344#[derive(Copy, Clone)]
12345pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
12346    pub _trapno: ::std::os::raw::c_int,
12347    pub _addr_lsb: ::std::os::raw::c_short,
12348    pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
12349    pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
12350    pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
12351}
12352#[repr(C)]
12353#[derive(Debug, Copy, Clone)]
12354pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
12355    pub _dummy_bnd: [::std::os::raw::c_char; 8usize],
12356    pub _lower: *mut ::std::os::raw::c_void,
12357    pub _upper: *mut ::std::os::raw::c_void,
12358}
12359#[test]
12360fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
12361    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1> =
12362        ::std::mem::MaybeUninit::uninit();
12363    let ptr = UNINIT.as_ptr();
12364    assert_eq!(
12365        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
12366        24usize,
12367        concat!(
12368            "Size of: ",
12369            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
12370        )
12371    );
12372    assert_eq!(
12373        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
12374        8usize,
12375        concat!(
12376            "Alignment of ",
12377            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
12378        )
12379    );
12380    assert_eq!(
12381        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_bnd) as usize - ptr as usize },
12382        0usize,
12383        concat!(
12384            "Offset of field: ",
12385            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
12386            "::",
12387            stringify!(_dummy_bnd)
12388        )
12389    );
12390    assert_eq!(
12391        unsafe { ::std::ptr::addr_of!((*ptr)._lower) as usize - ptr as usize },
12392        8usize,
12393        concat!(
12394            "Offset of field: ",
12395            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
12396            "::",
12397            stringify!(_lower)
12398        )
12399    );
12400    assert_eq!(
12401        unsafe { ::std::ptr::addr_of!((*ptr)._upper) as usize - ptr as usize },
12402        16usize,
12403        concat!(
12404            "Offset of field: ",
12405            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
12406            "::",
12407            stringify!(_upper)
12408        )
12409    );
12410}
12411#[repr(C)]
12412#[derive(Debug, Copy, Clone)]
12413pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
12414    pub _dummy_pkey: [::std::os::raw::c_char; 8usize],
12415    pub _pkey: __u32,
12416}
12417#[test]
12418fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2() {
12419    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2> =
12420        ::std::mem::MaybeUninit::uninit();
12421    let ptr = UNINIT.as_ptr();
12422    assert_eq!(
12423        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
12424        12usize,
12425        concat!(
12426            "Size of: ",
12427            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
12428        )
12429    );
12430    assert_eq!(
12431        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
12432        4usize,
12433        concat!(
12434            "Alignment of ",
12435            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
12436        )
12437    );
12438    assert_eq!(
12439        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_pkey) as usize - ptr as usize },
12440        0usize,
12441        concat!(
12442            "Offset of field: ",
12443            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
12444            "::",
12445            stringify!(_dummy_pkey)
12446        )
12447    );
12448    assert_eq!(
12449        unsafe { ::std::ptr::addr_of!((*ptr)._pkey) as usize - ptr as usize },
12450        8usize,
12451        concat!(
12452            "Offset of field: ",
12453            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
12454            "::",
12455            stringify!(_pkey)
12456        )
12457    );
12458}
12459#[repr(C)]
12460#[derive(Debug, Copy, Clone)]
12461pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
12462    pub _data: ::std::os::raw::c_ulong,
12463    pub _type: __u32,
12464    pub _flags: __u32,
12465}
12466#[test]
12467fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3() {
12468    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3> =
12469        ::std::mem::MaybeUninit::uninit();
12470    let ptr = UNINIT.as_ptr();
12471    assert_eq!(
12472        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
12473        16usize,
12474        concat!(
12475            "Size of: ",
12476            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
12477        )
12478    );
12479    assert_eq!(
12480        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
12481        8usize,
12482        concat!(
12483            "Alignment of ",
12484            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
12485        )
12486    );
12487    assert_eq!(
12488        unsafe { ::std::ptr::addr_of!((*ptr)._data) as usize - ptr as usize },
12489        0usize,
12490        concat!(
12491            "Offset of field: ",
12492            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
12493            "::",
12494            stringify!(_data)
12495        )
12496    );
12497    assert_eq!(
12498        unsafe { ::std::ptr::addr_of!((*ptr)._type) as usize - ptr as usize },
12499        8usize,
12500        concat!(
12501            "Offset of field: ",
12502            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
12503            "::",
12504            stringify!(_type)
12505        )
12506    );
12507    assert_eq!(
12508        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
12509        12usize,
12510        concat!(
12511            "Offset of field: ",
12512            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
12513            "::",
12514            stringify!(_flags)
12515        )
12516    );
12517}
12518#[test]
12519fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1() {
12520    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1> =
12521        ::std::mem::MaybeUninit::uninit();
12522    let ptr = UNINIT.as_ptr();
12523    assert_eq!(
12524        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
12525        24usize,
12526        concat!(
12527            "Size of: ",
12528            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
12529        )
12530    );
12531    assert_eq!(
12532        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
12533        8usize,
12534        concat!(
12535            "Alignment of ",
12536            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
12537        )
12538    );
12539    assert_eq!(
12540        unsafe { ::std::ptr::addr_of!((*ptr)._trapno) as usize - ptr as usize },
12541        0usize,
12542        concat!(
12543            "Offset of field: ",
12544            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12545            "::",
12546            stringify!(_trapno)
12547        )
12548    );
12549    assert_eq!(
12550        unsafe { ::std::ptr::addr_of!((*ptr)._addr_lsb) as usize - ptr as usize },
12551        0usize,
12552        concat!(
12553            "Offset of field: ",
12554            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12555            "::",
12556            stringify!(_addr_lsb)
12557        )
12558    );
12559    assert_eq!(
12560        unsafe { ::std::ptr::addr_of!((*ptr)._addr_bnd) as usize - ptr as usize },
12561        0usize,
12562        concat!(
12563            "Offset of field: ",
12564            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12565            "::",
12566            stringify!(_addr_bnd)
12567        )
12568    );
12569    assert_eq!(
12570        unsafe { ::std::ptr::addr_of!((*ptr)._addr_pkey) as usize - ptr as usize },
12571        0usize,
12572        concat!(
12573            "Offset of field: ",
12574            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12575            "::",
12576            stringify!(_addr_pkey)
12577        )
12578    );
12579    assert_eq!(
12580        unsafe { ::std::ptr::addr_of!((*ptr)._perf) as usize - ptr as usize },
12581        0usize,
12582        concat!(
12583            "Offset of field: ",
12584            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12585            "::",
12586            stringify!(_perf)
12587        )
12588    );
12589}
12590#[test]
12591fn bindgen_test_layout___sifields__bindgen_ty_5() {
12592    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5> =
12593        ::std::mem::MaybeUninit::uninit();
12594    let ptr = UNINIT.as_ptr();
12595    assert_eq!(
12596        ::std::mem::size_of::<__sifields__bindgen_ty_5>(),
12597        32usize,
12598        concat!("Size of: ", stringify!(__sifields__bindgen_ty_5))
12599    );
12600    assert_eq!(
12601        ::std::mem::align_of::<__sifields__bindgen_ty_5>(),
12602        8usize,
12603        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_5))
12604    );
12605    assert_eq!(
12606        unsafe { ::std::ptr::addr_of!((*ptr)._addr) as usize - ptr as usize },
12607        0usize,
12608        concat!(
12609            "Offset of field: ",
12610            stringify!(__sifields__bindgen_ty_5),
12611            "::",
12612            stringify!(_addr)
12613        )
12614    );
12615}
12616#[repr(C)]
12617#[derive(Debug, Copy, Clone)]
12618pub struct __sifields__bindgen_ty_6 {
12619    pub _band: ::std::os::raw::c_long,
12620    pub _fd: ::std::os::raw::c_int,
12621}
12622#[test]
12623fn bindgen_test_layout___sifields__bindgen_ty_6() {
12624    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_6> =
12625        ::std::mem::MaybeUninit::uninit();
12626    let ptr = UNINIT.as_ptr();
12627    assert_eq!(
12628        ::std::mem::size_of::<__sifields__bindgen_ty_6>(),
12629        16usize,
12630        concat!("Size of: ", stringify!(__sifields__bindgen_ty_6))
12631    );
12632    assert_eq!(
12633        ::std::mem::align_of::<__sifields__bindgen_ty_6>(),
12634        8usize,
12635        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_6))
12636    );
12637    assert_eq!(
12638        unsafe { ::std::ptr::addr_of!((*ptr)._band) as usize - ptr as usize },
12639        0usize,
12640        concat!(
12641            "Offset of field: ",
12642            stringify!(__sifields__bindgen_ty_6),
12643            "::",
12644            stringify!(_band)
12645        )
12646    );
12647    assert_eq!(
12648        unsafe { ::std::ptr::addr_of!((*ptr)._fd) as usize - ptr as usize },
12649        8usize,
12650        concat!(
12651            "Offset of field: ",
12652            stringify!(__sifields__bindgen_ty_6),
12653            "::",
12654            stringify!(_fd)
12655        )
12656    );
12657}
12658#[repr(C)]
12659#[derive(Debug, Copy, Clone)]
12660pub struct __sifields__bindgen_ty_7 {
12661    pub _call_addr: *mut ::std::os::raw::c_void,
12662    pub _syscall: ::std::os::raw::c_int,
12663    pub _arch: ::std::os::raw::c_uint,
12664}
12665#[test]
12666fn bindgen_test_layout___sifields__bindgen_ty_7() {
12667    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_7> =
12668        ::std::mem::MaybeUninit::uninit();
12669    let ptr = UNINIT.as_ptr();
12670    assert_eq!(
12671        ::std::mem::size_of::<__sifields__bindgen_ty_7>(),
12672        16usize,
12673        concat!("Size of: ", stringify!(__sifields__bindgen_ty_7))
12674    );
12675    assert_eq!(
12676        ::std::mem::align_of::<__sifields__bindgen_ty_7>(),
12677        8usize,
12678        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_7))
12679    );
12680    assert_eq!(
12681        unsafe { ::std::ptr::addr_of!((*ptr)._call_addr) as usize - ptr as usize },
12682        0usize,
12683        concat!(
12684            "Offset of field: ",
12685            stringify!(__sifields__bindgen_ty_7),
12686            "::",
12687            stringify!(_call_addr)
12688        )
12689    );
12690    assert_eq!(
12691        unsafe { ::std::ptr::addr_of!((*ptr)._syscall) as usize - ptr as usize },
12692        8usize,
12693        concat!(
12694            "Offset of field: ",
12695            stringify!(__sifields__bindgen_ty_7),
12696            "::",
12697            stringify!(_syscall)
12698        )
12699    );
12700    assert_eq!(
12701        unsafe { ::std::ptr::addr_of!((*ptr)._arch) as usize - ptr as usize },
12702        12usize,
12703        concat!(
12704            "Offset of field: ",
12705            stringify!(__sifields__bindgen_ty_7),
12706            "::",
12707            stringify!(_arch)
12708        )
12709    );
12710}
12711#[test]
12712fn bindgen_test_layout___sifields() {
12713    const UNINIT: ::std::mem::MaybeUninit<__sifields> = ::std::mem::MaybeUninit::uninit();
12714    let ptr = UNINIT.as_ptr();
12715    assert_eq!(
12716        ::std::mem::size_of::<__sifields>(),
12717        32usize,
12718        concat!("Size of: ", stringify!(__sifields))
12719    );
12720    assert_eq!(
12721        ::std::mem::align_of::<__sifields>(),
12722        8usize,
12723        concat!("Alignment of ", stringify!(__sifields))
12724    );
12725    assert_eq!(
12726        unsafe { ::std::ptr::addr_of!((*ptr)._kill) as usize - ptr as usize },
12727        0usize,
12728        concat!(
12729            "Offset of field: ",
12730            stringify!(__sifields),
12731            "::",
12732            stringify!(_kill)
12733        )
12734    );
12735    assert_eq!(
12736        unsafe { ::std::ptr::addr_of!((*ptr)._timer) as usize - ptr as usize },
12737        0usize,
12738        concat!(
12739            "Offset of field: ",
12740            stringify!(__sifields),
12741            "::",
12742            stringify!(_timer)
12743        )
12744    );
12745    assert_eq!(
12746        unsafe { ::std::ptr::addr_of!((*ptr)._rt) as usize - ptr as usize },
12747        0usize,
12748        concat!(
12749            "Offset of field: ",
12750            stringify!(__sifields),
12751            "::",
12752            stringify!(_rt)
12753        )
12754    );
12755    assert_eq!(
12756        unsafe { ::std::ptr::addr_of!((*ptr)._sigchld) as usize - ptr as usize },
12757        0usize,
12758        concat!(
12759            "Offset of field: ",
12760            stringify!(__sifields),
12761            "::",
12762            stringify!(_sigchld)
12763        )
12764    );
12765    assert_eq!(
12766        unsafe { ::std::ptr::addr_of!((*ptr)._sigfault) as usize - ptr as usize },
12767        0usize,
12768        concat!(
12769            "Offset of field: ",
12770            stringify!(__sifields),
12771            "::",
12772            stringify!(_sigfault)
12773        )
12774    );
12775    assert_eq!(
12776        unsafe { ::std::ptr::addr_of!((*ptr)._sigpoll) as usize - ptr as usize },
12777        0usize,
12778        concat!(
12779            "Offset of field: ",
12780            stringify!(__sifields),
12781            "::",
12782            stringify!(_sigpoll)
12783        )
12784    );
12785    assert_eq!(
12786        unsafe { ::std::ptr::addr_of!((*ptr)._sigsys) as usize - ptr as usize },
12787        0usize,
12788        concat!(
12789            "Offset of field: ",
12790            stringify!(__sifields),
12791            "::",
12792            stringify!(_sigsys)
12793        )
12794    );
12795}
12796#[repr(C)]
12797#[derive(Copy, Clone)]
12798pub struct siginfo {
12799    pub __bindgen_anon_1: siginfo__bindgen_ty_1,
12800}
12801#[repr(C)]
12802#[derive(Copy, Clone)]
12803pub union siginfo__bindgen_ty_1 {
12804    pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
12805    pub _si_pad: [::std::os::raw::c_int; 32usize],
12806}
12807#[repr(C)]
12808#[derive(Copy, Clone)]
12809pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
12810    pub si_signo: ::std::os::raw::c_int,
12811    pub si_errno: ::std::os::raw::c_int,
12812    pub si_code: ::std::os::raw::c_int,
12813    pub _sifields: __sifields,
12814}
12815#[test]
12816fn bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1() {
12817    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1__bindgen_ty_1> =
12818        ::std::mem::MaybeUninit::uninit();
12819    let ptr = UNINIT.as_ptr();
12820    assert_eq!(
12821        ::std::mem::size_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
12822        48usize,
12823        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1__bindgen_ty_1))
12824    );
12825    assert_eq!(
12826        ::std::mem::align_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
12827        8usize,
12828        concat!(
12829            "Alignment of ",
12830            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1)
12831        )
12832    );
12833    assert_eq!(
12834        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
12835        0usize,
12836        concat!(
12837            "Offset of field: ",
12838            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12839            "::",
12840            stringify!(si_signo)
12841        )
12842    );
12843    assert_eq!(
12844        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
12845        4usize,
12846        concat!(
12847            "Offset of field: ",
12848            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12849            "::",
12850            stringify!(si_errno)
12851        )
12852    );
12853    assert_eq!(
12854        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
12855        8usize,
12856        concat!(
12857            "Offset of field: ",
12858            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12859            "::",
12860            stringify!(si_code)
12861        )
12862    );
12863    assert_eq!(
12864        unsafe { ::std::ptr::addr_of!((*ptr)._sifields) as usize - ptr as usize },
12865        16usize,
12866        concat!(
12867            "Offset of field: ",
12868            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12869            "::",
12870            stringify!(_sifields)
12871        )
12872    );
12873}
12874#[test]
12875fn bindgen_test_layout_siginfo__bindgen_ty_1() {
12876    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1> =
12877        ::std::mem::MaybeUninit::uninit();
12878    let ptr = UNINIT.as_ptr();
12879    assert_eq!(
12880        ::std::mem::size_of::<siginfo__bindgen_ty_1>(),
12881        128usize,
12882        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1))
12883    );
12884    assert_eq!(
12885        ::std::mem::align_of::<siginfo__bindgen_ty_1>(),
12886        8usize,
12887        concat!("Alignment of ", stringify!(siginfo__bindgen_ty_1))
12888    );
12889    assert_eq!(
12890        unsafe { ::std::ptr::addr_of!((*ptr)._si_pad) as usize - ptr as usize },
12891        0usize,
12892        concat!(
12893            "Offset of field: ",
12894            stringify!(siginfo__bindgen_ty_1),
12895            "::",
12896            stringify!(_si_pad)
12897        )
12898    );
12899}
12900#[test]
12901fn bindgen_test_layout_siginfo() {
12902    assert_eq!(
12903        ::std::mem::size_of::<siginfo>(),
12904        128usize,
12905        concat!("Size of: ", stringify!(siginfo))
12906    );
12907    assert_eq!(
12908        ::std::mem::align_of::<siginfo>(),
12909        8usize,
12910        concat!("Alignment of ", stringify!(siginfo))
12911    );
12912}
12913pub type siginfo_t = siginfo;
12914#[repr(C)]
12915#[derive(Copy, Clone)]
12916pub struct sigevent {
12917    pub sigev_value: sigval_t,
12918    pub sigev_signo: ::std::os::raw::c_int,
12919    pub sigev_notify: ::std::os::raw::c_int,
12920    pub _sigev_un: sigevent__bindgen_ty_1,
12921}
12922#[repr(C)]
12923#[derive(Copy, Clone)]
12924pub union sigevent__bindgen_ty_1 {
12925    pub _pad: [::std::os::raw::c_int; 12usize],
12926    pub _tid: ::std::os::raw::c_int,
12927    pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
12928}
12929#[repr(C)]
12930#[derive(Debug, Copy, Clone)]
12931pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
12932    pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
12933    pub _attribute: *mut ::std::os::raw::c_void,
12934}
12935#[test]
12936fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
12937    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1__bindgen_ty_1> =
12938        ::std::mem::MaybeUninit::uninit();
12939    let ptr = UNINIT.as_ptr();
12940    assert_eq!(
12941        ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
12942        16usize,
12943        concat!(
12944            "Size of: ",
12945            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
12946        )
12947    );
12948    assert_eq!(
12949        ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
12950        8usize,
12951        concat!(
12952            "Alignment of ",
12953            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
12954        )
12955    );
12956    assert_eq!(
12957        unsafe { ::std::ptr::addr_of!((*ptr)._function) as usize - ptr as usize },
12958        0usize,
12959        concat!(
12960            "Offset of field: ",
12961            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
12962            "::",
12963            stringify!(_function)
12964        )
12965    );
12966    assert_eq!(
12967        unsafe { ::std::ptr::addr_of!((*ptr)._attribute) as usize - ptr as usize },
12968        8usize,
12969        concat!(
12970            "Offset of field: ",
12971            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
12972            "::",
12973            stringify!(_attribute)
12974        )
12975    );
12976}
12977#[test]
12978fn bindgen_test_layout_sigevent__bindgen_ty_1() {
12979    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1> =
12980        ::std::mem::MaybeUninit::uninit();
12981    let ptr = UNINIT.as_ptr();
12982    assert_eq!(
12983        ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
12984        48usize,
12985        concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
12986    );
12987    assert_eq!(
12988        ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
12989        8usize,
12990        concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
12991    );
12992    assert_eq!(
12993        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
12994        0usize,
12995        concat!(
12996            "Offset of field: ",
12997            stringify!(sigevent__bindgen_ty_1),
12998            "::",
12999            stringify!(_pad)
13000        )
13001    );
13002    assert_eq!(
13003        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
13004        0usize,
13005        concat!(
13006            "Offset of field: ",
13007            stringify!(sigevent__bindgen_ty_1),
13008            "::",
13009            stringify!(_tid)
13010        )
13011    );
13012    assert_eq!(
13013        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_thread) as usize - ptr as usize },
13014        0usize,
13015        concat!(
13016            "Offset of field: ",
13017            stringify!(sigevent__bindgen_ty_1),
13018            "::",
13019            stringify!(_sigev_thread)
13020        )
13021    );
13022}
13023#[test]
13024fn bindgen_test_layout_sigevent() {
13025    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
13026    let ptr = UNINIT.as_ptr();
13027    assert_eq!(
13028        ::std::mem::size_of::<sigevent>(),
13029        64usize,
13030        concat!("Size of: ", stringify!(sigevent))
13031    );
13032    assert_eq!(
13033        ::std::mem::align_of::<sigevent>(),
13034        8usize,
13035        concat!("Alignment of ", stringify!(sigevent))
13036    );
13037    assert_eq!(
13038        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
13039        0usize,
13040        concat!(
13041            "Offset of field: ",
13042            stringify!(sigevent),
13043            "::",
13044            stringify!(sigev_value)
13045        )
13046    );
13047    assert_eq!(
13048        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
13049        8usize,
13050        concat!(
13051            "Offset of field: ",
13052            stringify!(sigevent),
13053            "::",
13054            stringify!(sigev_signo)
13055        )
13056    );
13057    assert_eq!(
13058        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
13059        12usize,
13060        concat!(
13061            "Offset of field: ",
13062            stringify!(sigevent),
13063            "::",
13064            stringify!(sigev_notify)
13065        )
13066    );
13067    assert_eq!(
13068        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_un) as usize - ptr as usize },
13069        16usize,
13070        concat!(
13071            "Offset of field: ",
13072            stringify!(sigevent),
13073            "::",
13074            stringify!(_sigev_un)
13075        )
13076    );
13077}
13078pub type sigevent_t = sigevent;
13079pub type sig_atomic_t = ::std::os::raw::c_int;
13080pub type sig_t = __sighandler_t;
13081pub type sighandler_t = __sighandler_t;
13082pub type sigset64_t = sigset_t;
13083#[repr(C)]
13084#[derive(Copy, Clone)]
13085pub struct sigaction {
13086    pub sa_flags: ::std::os::raw::c_int,
13087    pub __bindgen_anon_1: sigaction__bindgen_ty_1,
13088    pub sa_mask: sigset_t,
13089    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
13090}
13091#[repr(C)]
13092#[derive(Copy, Clone)]
13093pub union sigaction__bindgen_ty_1 {
13094    pub sa_handler: sighandler_t,
13095    pub sa_sigaction: ::std::option::Option<
13096        unsafe extern "C" fn(
13097            arg1: ::std::os::raw::c_int,
13098            arg2: *mut siginfo,
13099            arg3: *mut ::std::os::raw::c_void,
13100        ),
13101    >,
13102}
13103#[test]
13104fn bindgen_test_layout_sigaction__bindgen_ty_1() {
13105    const UNINIT: ::std::mem::MaybeUninit<sigaction__bindgen_ty_1> =
13106        ::std::mem::MaybeUninit::uninit();
13107    let ptr = UNINIT.as_ptr();
13108    assert_eq!(
13109        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
13110        8usize,
13111        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
13112    );
13113    assert_eq!(
13114        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
13115        8usize,
13116        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
13117    );
13118    assert_eq!(
13119        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
13120        0usize,
13121        concat!(
13122            "Offset of field: ",
13123            stringify!(sigaction__bindgen_ty_1),
13124            "::",
13125            stringify!(sa_handler)
13126        )
13127    );
13128    assert_eq!(
13129        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
13130        0usize,
13131        concat!(
13132            "Offset of field: ",
13133            stringify!(sigaction__bindgen_ty_1),
13134            "::",
13135            stringify!(sa_sigaction)
13136        )
13137    );
13138}
13139#[test]
13140fn bindgen_test_layout_sigaction() {
13141    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
13142    let ptr = UNINIT.as_ptr();
13143    assert_eq!(
13144        ::std::mem::size_of::<sigaction>(),
13145        32usize,
13146        concat!("Size of: ", stringify!(sigaction))
13147    );
13148    assert_eq!(
13149        ::std::mem::align_of::<sigaction>(),
13150        8usize,
13151        concat!("Alignment of ", stringify!(sigaction))
13152    );
13153    assert_eq!(
13154        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
13155        0usize,
13156        concat!(
13157            "Offset of field: ",
13158            stringify!(sigaction),
13159            "::",
13160            stringify!(sa_flags)
13161        )
13162    );
13163    assert_eq!(
13164        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
13165        16usize,
13166        concat!(
13167            "Offset of field: ",
13168            stringify!(sigaction),
13169            "::",
13170            stringify!(sa_mask)
13171        )
13172    );
13173    assert_eq!(
13174        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
13175        24usize,
13176        concat!(
13177            "Offset of field: ",
13178            stringify!(sigaction),
13179            "::",
13180            stringify!(sa_restorer)
13181        )
13182    );
13183}
13184#[repr(C)]
13185#[derive(Copy, Clone)]
13186pub struct sigaction64 {
13187    pub sa_flags: ::std::os::raw::c_int,
13188    pub __bindgen_anon_1: sigaction64__bindgen_ty_1,
13189    pub sa_mask: sigset_t,
13190    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
13191}
13192#[repr(C)]
13193#[derive(Copy, Clone)]
13194pub union sigaction64__bindgen_ty_1 {
13195    pub sa_handler: sighandler_t,
13196    pub sa_sigaction: ::std::option::Option<
13197        unsafe extern "C" fn(
13198            arg1: ::std::os::raw::c_int,
13199            arg2: *mut siginfo,
13200            arg3: *mut ::std::os::raw::c_void,
13201        ),
13202    >,
13203}
13204#[test]
13205fn bindgen_test_layout_sigaction64__bindgen_ty_1() {
13206    const UNINIT: ::std::mem::MaybeUninit<sigaction64__bindgen_ty_1> =
13207        ::std::mem::MaybeUninit::uninit();
13208    let ptr = UNINIT.as_ptr();
13209    assert_eq!(
13210        ::std::mem::size_of::<sigaction64__bindgen_ty_1>(),
13211        8usize,
13212        concat!("Size of: ", stringify!(sigaction64__bindgen_ty_1))
13213    );
13214    assert_eq!(
13215        ::std::mem::align_of::<sigaction64__bindgen_ty_1>(),
13216        8usize,
13217        concat!("Alignment of ", stringify!(sigaction64__bindgen_ty_1))
13218    );
13219    assert_eq!(
13220        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
13221        0usize,
13222        concat!(
13223            "Offset of field: ",
13224            stringify!(sigaction64__bindgen_ty_1),
13225            "::",
13226            stringify!(sa_handler)
13227        )
13228    );
13229    assert_eq!(
13230        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
13231        0usize,
13232        concat!(
13233            "Offset of field: ",
13234            stringify!(sigaction64__bindgen_ty_1),
13235            "::",
13236            stringify!(sa_sigaction)
13237        )
13238    );
13239}
13240#[test]
13241fn bindgen_test_layout_sigaction64() {
13242    const UNINIT: ::std::mem::MaybeUninit<sigaction64> = ::std::mem::MaybeUninit::uninit();
13243    let ptr = UNINIT.as_ptr();
13244    assert_eq!(
13245        ::std::mem::size_of::<sigaction64>(),
13246        32usize,
13247        concat!("Size of: ", stringify!(sigaction64))
13248    );
13249    assert_eq!(
13250        ::std::mem::align_of::<sigaction64>(),
13251        8usize,
13252        concat!("Alignment of ", stringify!(sigaction64))
13253    );
13254    assert_eq!(
13255        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
13256        0usize,
13257        concat!(
13258            "Offset of field: ",
13259            stringify!(sigaction64),
13260            "::",
13261            stringify!(sa_flags)
13262        )
13263    );
13264    assert_eq!(
13265        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
13266        16usize,
13267        concat!(
13268            "Offset of field: ",
13269            stringify!(sigaction64),
13270            "::",
13271            stringify!(sa_mask)
13272        )
13273    );
13274    assert_eq!(
13275        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
13276        24usize,
13277        concat!(
13278            "Offset of field: ",
13279            stringify!(sigaction64),
13280            "::",
13281            stringify!(sa_restorer)
13282        )
13283    );
13284}
13285#[repr(C)]
13286#[derive(Debug, Copy, Clone)]
13287pub struct user_fpregs_struct {
13288    pub cwd: ::std::os::raw::c_ushort,
13289    pub swd: ::std::os::raw::c_ushort,
13290    pub ftw: ::std::os::raw::c_ushort,
13291    pub fop: ::std::os::raw::c_ushort,
13292    pub rip: ::std::os::raw::c_ulong,
13293    pub rdp: ::std::os::raw::c_ulong,
13294    pub mxcsr: ::std::os::raw::c_uint,
13295    pub mxcr_mask: ::std::os::raw::c_uint,
13296    pub st_space: [::std::os::raw::c_uint; 32usize],
13297    pub xmm_space: [::std::os::raw::c_uint; 64usize],
13298    pub padding: [::std::os::raw::c_uint; 24usize],
13299}
13300#[test]
13301fn bindgen_test_layout_user_fpregs_struct() {
13302    const UNINIT: ::std::mem::MaybeUninit<user_fpregs_struct> = ::std::mem::MaybeUninit::uninit();
13303    let ptr = UNINIT.as_ptr();
13304    assert_eq!(
13305        ::std::mem::size_of::<user_fpregs_struct>(),
13306        512usize,
13307        concat!("Size of: ", stringify!(user_fpregs_struct))
13308    );
13309    assert_eq!(
13310        ::std::mem::align_of::<user_fpregs_struct>(),
13311        8usize,
13312        concat!("Alignment of ", stringify!(user_fpregs_struct))
13313    );
13314    assert_eq!(
13315        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
13316        0usize,
13317        concat!(
13318            "Offset of field: ",
13319            stringify!(user_fpregs_struct),
13320            "::",
13321            stringify!(cwd)
13322        )
13323    );
13324    assert_eq!(
13325        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
13326        2usize,
13327        concat!(
13328            "Offset of field: ",
13329            stringify!(user_fpregs_struct),
13330            "::",
13331            stringify!(swd)
13332        )
13333    );
13334    assert_eq!(
13335        unsafe { ::std::ptr::addr_of!((*ptr).ftw) as usize - ptr as usize },
13336        4usize,
13337        concat!(
13338            "Offset of field: ",
13339            stringify!(user_fpregs_struct),
13340            "::",
13341            stringify!(ftw)
13342        )
13343    );
13344    assert_eq!(
13345        unsafe { ::std::ptr::addr_of!((*ptr).fop) as usize - ptr as usize },
13346        6usize,
13347        concat!(
13348            "Offset of field: ",
13349            stringify!(user_fpregs_struct),
13350            "::",
13351            stringify!(fop)
13352        )
13353    );
13354    assert_eq!(
13355        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
13356        8usize,
13357        concat!(
13358            "Offset of field: ",
13359            stringify!(user_fpregs_struct),
13360            "::",
13361            stringify!(rip)
13362        )
13363    );
13364    assert_eq!(
13365        unsafe { ::std::ptr::addr_of!((*ptr).rdp) as usize - ptr as usize },
13366        16usize,
13367        concat!(
13368            "Offset of field: ",
13369            stringify!(user_fpregs_struct),
13370            "::",
13371            stringify!(rdp)
13372        )
13373    );
13374    assert_eq!(
13375        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
13376        24usize,
13377        concat!(
13378            "Offset of field: ",
13379            stringify!(user_fpregs_struct),
13380            "::",
13381            stringify!(mxcsr)
13382        )
13383    );
13384    assert_eq!(
13385        unsafe { ::std::ptr::addr_of!((*ptr).mxcr_mask) as usize - ptr as usize },
13386        28usize,
13387        concat!(
13388            "Offset of field: ",
13389            stringify!(user_fpregs_struct),
13390            "::",
13391            stringify!(mxcr_mask)
13392        )
13393    );
13394    assert_eq!(
13395        unsafe { ::std::ptr::addr_of!((*ptr).st_space) as usize - ptr as usize },
13396        32usize,
13397        concat!(
13398            "Offset of field: ",
13399            stringify!(user_fpregs_struct),
13400            "::",
13401            stringify!(st_space)
13402        )
13403    );
13404    assert_eq!(
13405        unsafe { ::std::ptr::addr_of!((*ptr).xmm_space) as usize - ptr as usize },
13406        160usize,
13407        concat!(
13408            "Offset of field: ",
13409            stringify!(user_fpregs_struct),
13410            "::",
13411            stringify!(xmm_space)
13412        )
13413    );
13414    assert_eq!(
13415        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
13416        416usize,
13417        concat!(
13418            "Offset of field: ",
13419            stringify!(user_fpregs_struct),
13420            "::",
13421            stringify!(padding)
13422        )
13423    );
13424}
13425#[repr(C)]
13426#[derive(Debug, Copy, Clone)]
13427pub struct user_regs_struct {
13428    pub r15: ::std::os::raw::c_ulong,
13429    pub r14: ::std::os::raw::c_ulong,
13430    pub r13: ::std::os::raw::c_ulong,
13431    pub r12: ::std::os::raw::c_ulong,
13432    pub rbp: ::std::os::raw::c_ulong,
13433    pub rbx: ::std::os::raw::c_ulong,
13434    pub r11: ::std::os::raw::c_ulong,
13435    pub r10: ::std::os::raw::c_ulong,
13436    pub r9: ::std::os::raw::c_ulong,
13437    pub r8: ::std::os::raw::c_ulong,
13438    pub rax: ::std::os::raw::c_ulong,
13439    pub rcx: ::std::os::raw::c_ulong,
13440    pub rdx: ::std::os::raw::c_ulong,
13441    pub rsi: ::std::os::raw::c_ulong,
13442    pub rdi: ::std::os::raw::c_ulong,
13443    pub orig_rax: ::std::os::raw::c_ulong,
13444    pub rip: ::std::os::raw::c_ulong,
13445    pub cs: ::std::os::raw::c_ulong,
13446    pub eflags: ::std::os::raw::c_ulong,
13447    pub rsp: ::std::os::raw::c_ulong,
13448    pub ss: ::std::os::raw::c_ulong,
13449    pub fs_base: ::std::os::raw::c_ulong,
13450    pub gs_base: ::std::os::raw::c_ulong,
13451    pub ds: ::std::os::raw::c_ulong,
13452    pub es: ::std::os::raw::c_ulong,
13453    pub fs: ::std::os::raw::c_ulong,
13454    pub gs: ::std::os::raw::c_ulong,
13455}
13456#[test]
13457fn bindgen_test_layout_user_regs_struct() {
13458    const UNINIT: ::std::mem::MaybeUninit<user_regs_struct> = ::std::mem::MaybeUninit::uninit();
13459    let ptr = UNINIT.as_ptr();
13460    assert_eq!(
13461        ::std::mem::size_of::<user_regs_struct>(),
13462        216usize,
13463        concat!("Size of: ", stringify!(user_regs_struct))
13464    );
13465    assert_eq!(
13466        ::std::mem::align_of::<user_regs_struct>(),
13467        8usize,
13468        concat!("Alignment of ", stringify!(user_regs_struct))
13469    );
13470    assert_eq!(
13471        unsafe { ::std::ptr::addr_of!((*ptr).r15) as usize - ptr as usize },
13472        0usize,
13473        concat!(
13474            "Offset of field: ",
13475            stringify!(user_regs_struct),
13476            "::",
13477            stringify!(r15)
13478        )
13479    );
13480    assert_eq!(
13481        unsafe { ::std::ptr::addr_of!((*ptr).r14) as usize - ptr as usize },
13482        8usize,
13483        concat!(
13484            "Offset of field: ",
13485            stringify!(user_regs_struct),
13486            "::",
13487            stringify!(r14)
13488        )
13489    );
13490    assert_eq!(
13491        unsafe { ::std::ptr::addr_of!((*ptr).r13) as usize - ptr as usize },
13492        16usize,
13493        concat!(
13494            "Offset of field: ",
13495            stringify!(user_regs_struct),
13496            "::",
13497            stringify!(r13)
13498        )
13499    );
13500    assert_eq!(
13501        unsafe { ::std::ptr::addr_of!((*ptr).r12) as usize - ptr as usize },
13502        24usize,
13503        concat!(
13504            "Offset of field: ",
13505            stringify!(user_regs_struct),
13506            "::",
13507            stringify!(r12)
13508        )
13509    );
13510    assert_eq!(
13511        unsafe { ::std::ptr::addr_of!((*ptr).rbp) as usize - ptr as usize },
13512        32usize,
13513        concat!(
13514            "Offset of field: ",
13515            stringify!(user_regs_struct),
13516            "::",
13517            stringify!(rbp)
13518        )
13519    );
13520    assert_eq!(
13521        unsafe { ::std::ptr::addr_of!((*ptr).rbx) as usize - ptr as usize },
13522        40usize,
13523        concat!(
13524            "Offset of field: ",
13525            stringify!(user_regs_struct),
13526            "::",
13527            stringify!(rbx)
13528        )
13529    );
13530    assert_eq!(
13531        unsafe { ::std::ptr::addr_of!((*ptr).r11) as usize - ptr as usize },
13532        48usize,
13533        concat!(
13534            "Offset of field: ",
13535            stringify!(user_regs_struct),
13536            "::",
13537            stringify!(r11)
13538        )
13539    );
13540    assert_eq!(
13541        unsafe { ::std::ptr::addr_of!((*ptr).r10) as usize - ptr as usize },
13542        56usize,
13543        concat!(
13544            "Offset of field: ",
13545            stringify!(user_regs_struct),
13546            "::",
13547            stringify!(r10)
13548        )
13549    );
13550    assert_eq!(
13551        unsafe { ::std::ptr::addr_of!((*ptr).r9) as usize - ptr as usize },
13552        64usize,
13553        concat!(
13554            "Offset of field: ",
13555            stringify!(user_regs_struct),
13556            "::",
13557            stringify!(r9)
13558        )
13559    );
13560    assert_eq!(
13561        unsafe { ::std::ptr::addr_of!((*ptr).r8) as usize - ptr as usize },
13562        72usize,
13563        concat!(
13564            "Offset of field: ",
13565            stringify!(user_regs_struct),
13566            "::",
13567            stringify!(r8)
13568        )
13569    );
13570    assert_eq!(
13571        unsafe { ::std::ptr::addr_of!((*ptr).rax) as usize - ptr as usize },
13572        80usize,
13573        concat!(
13574            "Offset of field: ",
13575            stringify!(user_regs_struct),
13576            "::",
13577            stringify!(rax)
13578        )
13579    );
13580    assert_eq!(
13581        unsafe { ::std::ptr::addr_of!((*ptr).rcx) as usize - ptr as usize },
13582        88usize,
13583        concat!(
13584            "Offset of field: ",
13585            stringify!(user_regs_struct),
13586            "::",
13587            stringify!(rcx)
13588        )
13589    );
13590    assert_eq!(
13591        unsafe { ::std::ptr::addr_of!((*ptr).rdx) as usize - ptr as usize },
13592        96usize,
13593        concat!(
13594            "Offset of field: ",
13595            stringify!(user_regs_struct),
13596            "::",
13597            stringify!(rdx)
13598        )
13599    );
13600    assert_eq!(
13601        unsafe { ::std::ptr::addr_of!((*ptr).rsi) as usize - ptr as usize },
13602        104usize,
13603        concat!(
13604            "Offset of field: ",
13605            stringify!(user_regs_struct),
13606            "::",
13607            stringify!(rsi)
13608        )
13609    );
13610    assert_eq!(
13611        unsafe { ::std::ptr::addr_of!((*ptr).rdi) as usize - ptr as usize },
13612        112usize,
13613        concat!(
13614            "Offset of field: ",
13615            stringify!(user_regs_struct),
13616            "::",
13617            stringify!(rdi)
13618        )
13619    );
13620    assert_eq!(
13621        unsafe { ::std::ptr::addr_of!((*ptr).orig_rax) as usize - ptr as usize },
13622        120usize,
13623        concat!(
13624            "Offset of field: ",
13625            stringify!(user_regs_struct),
13626            "::",
13627            stringify!(orig_rax)
13628        )
13629    );
13630    assert_eq!(
13631        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
13632        128usize,
13633        concat!(
13634            "Offset of field: ",
13635            stringify!(user_regs_struct),
13636            "::",
13637            stringify!(rip)
13638        )
13639    );
13640    assert_eq!(
13641        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
13642        136usize,
13643        concat!(
13644            "Offset of field: ",
13645            stringify!(user_regs_struct),
13646            "::",
13647            stringify!(cs)
13648        )
13649    );
13650    assert_eq!(
13651        unsafe { ::std::ptr::addr_of!((*ptr).eflags) as usize - ptr as usize },
13652        144usize,
13653        concat!(
13654            "Offset of field: ",
13655            stringify!(user_regs_struct),
13656            "::",
13657            stringify!(eflags)
13658        )
13659    );
13660    assert_eq!(
13661        unsafe { ::std::ptr::addr_of!((*ptr).rsp) as usize - ptr as usize },
13662        152usize,
13663        concat!(
13664            "Offset of field: ",
13665            stringify!(user_regs_struct),
13666            "::",
13667            stringify!(rsp)
13668        )
13669    );
13670    assert_eq!(
13671        unsafe { ::std::ptr::addr_of!((*ptr).ss) as usize - ptr as usize },
13672        160usize,
13673        concat!(
13674            "Offset of field: ",
13675            stringify!(user_regs_struct),
13676            "::",
13677            stringify!(ss)
13678        )
13679    );
13680    assert_eq!(
13681        unsafe { ::std::ptr::addr_of!((*ptr).fs_base) as usize - ptr as usize },
13682        168usize,
13683        concat!(
13684            "Offset of field: ",
13685            stringify!(user_regs_struct),
13686            "::",
13687            stringify!(fs_base)
13688        )
13689    );
13690    assert_eq!(
13691        unsafe { ::std::ptr::addr_of!((*ptr).gs_base) as usize - ptr as usize },
13692        176usize,
13693        concat!(
13694            "Offset of field: ",
13695            stringify!(user_regs_struct),
13696            "::",
13697            stringify!(gs_base)
13698        )
13699    );
13700    assert_eq!(
13701        unsafe { ::std::ptr::addr_of!((*ptr).ds) as usize - ptr as usize },
13702        184usize,
13703        concat!(
13704            "Offset of field: ",
13705            stringify!(user_regs_struct),
13706            "::",
13707            stringify!(ds)
13708        )
13709    );
13710    assert_eq!(
13711        unsafe { ::std::ptr::addr_of!((*ptr).es) as usize - ptr as usize },
13712        192usize,
13713        concat!(
13714            "Offset of field: ",
13715            stringify!(user_regs_struct),
13716            "::",
13717            stringify!(es)
13718        )
13719    );
13720    assert_eq!(
13721        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
13722        200usize,
13723        concat!(
13724            "Offset of field: ",
13725            stringify!(user_regs_struct),
13726            "::",
13727            stringify!(fs)
13728        )
13729    );
13730    assert_eq!(
13731        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
13732        208usize,
13733        concat!(
13734            "Offset of field: ",
13735            stringify!(user_regs_struct),
13736            "::",
13737            stringify!(gs)
13738        )
13739    );
13740}
13741#[repr(C)]
13742#[derive(Debug, Copy, Clone)]
13743pub struct user {
13744    pub regs: user_regs_struct,
13745    pub u_fpvalid: ::std::os::raw::c_int,
13746    pub pad0: ::std::os::raw::c_int,
13747    pub i387: user_fpregs_struct,
13748    pub u_tsize: ::std::os::raw::c_ulong,
13749    pub u_dsize: ::std::os::raw::c_ulong,
13750    pub u_ssize: ::std::os::raw::c_ulong,
13751    pub start_code: ::std::os::raw::c_ulong,
13752    pub start_stack: ::std::os::raw::c_ulong,
13753    pub signal: ::std::os::raw::c_long,
13754    pub reserved: ::std::os::raw::c_int,
13755    pub pad1: ::std::os::raw::c_int,
13756    pub u_ar0: *mut user_regs_struct,
13757    pub u_fpstate: *mut user_fpregs_struct,
13758    pub magic: ::std::os::raw::c_ulong,
13759    pub u_comm: [::std::os::raw::c_char; 32usize],
13760    pub u_debugreg: [::std::os::raw::c_ulong; 8usize],
13761    pub error_code: ::std::os::raw::c_ulong,
13762    pub fault_address: ::std::os::raw::c_ulong,
13763}
13764#[test]
13765fn bindgen_test_layout_user() {
13766    const UNINIT: ::std::mem::MaybeUninit<user> = ::std::mem::MaybeUninit::uninit();
13767    let ptr = UNINIT.as_ptr();
13768    assert_eq!(
13769        ::std::mem::size_of::<user>(),
13770        928usize,
13771        concat!("Size of: ", stringify!(user))
13772    );
13773    assert_eq!(
13774        ::std::mem::align_of::<user>(),
13775        8usize,
13776        concat!("Alignment of ", stringify!(user))
13777    );
13778    assert_eq!(
13779        unsafe { ::std::ptr::addr_of!((*ptr).regs) as usize - ptr as usize },
13780        0usize,
13781        concat!(
13782            "Offset of field: ",
13783            stringify!(user),
13784            "::",
13785            stringify!(regs)
13786        )
13787    );
13788    assert_eq!(
13789        unsafe { ::std::ptr::addr_of!((*ptr).u_fpvalid) as usize - ptr as usize },
13790        216usize,
13791        concat!(
13792            "Offset of field: ",
13793            stringify!(user),
13794            "::",
13795            stringify!(u_fpvalid)
13796        )
13797    );
13798    assert_eq!(
13799        unsafe { ::std::ptr::addr_of!((*ptr).pad0) as usize - ptr as usize },
13800        220usize,
13801        concat!(
13802            "Offset of field: ",
13803            stringify!(user),
13804            "::",
13805            stringify!(pad0)
13806        )
13807    );
13808    assert_eq!(
13809        unsafe { ::std::ptr::addr_of!((*ptr).i387) as usize - ptr as usize },
13810        224usize,
13811        concat!(
13812            "Offset of field: ",
13813            stringify!(user),
13814            "::",
13815            stringify!(i387)
13816        )
13817    );
13818    assert_eq!(
13819        unsafe { ::std::ptr::addr_of!((*ptr).u_tsize) as usize - ptr as usize },
13820        736usize,
13821        concat!(
13822            "Offset of field: ",
13823            stringify!(user),
13824            "::",
13825            stringify!(u_tsize)
13826        )
13827    );
13828    assert_eq!(
13829        unsafe { ::std::ptr::addr_of!((*ptr).u_dsize) as usize - ptr as usize },
13830        744usize,
13831        concat!(
13832            "Offset of field: ",
13833            stringify!(user),
13834            "::",
13835            stringify!(u_dsize)
13836        )
13837    );
13838    assert_eq!(
13839        unsafe { ::std::ptr::addr_of!((*ptr).u_ssize) as usize - ptr as usize },
13840        752usize,
13841        concat!(
13842            "Offset of field: ",
13843            stringify!(user),
13844            "::",
13845            stringify!(u_ssize)
13846        )
13847    );
13848    assert_eq!(
13849        unsafe { ::std::ptr::addr_of!((*ptr).start_code) as usize - ptr as usize },
13850        760usize,
13851        concat!(
13852            "Offset of field: ",
13853            stringify!(user),
13854            "::",
13855            stringify!(start_code)
13856        )
13857    );
13858    assert_eq!(
13859        unsafe { ::std::ptr::addr_of!((*ptr).start_stack) as usize - ptr as usize },
13860        768usize,
13861        concat!(
13862            "Offset of field: ",
13863            stringify!(user),
13864            "::",
13865            stringify!(start_stack)
13866        )
13867    );
13868    assert_eq!(
13869        unsafe { ::std::ptr::addr_of!((*ptr).signal) as usize - ptr as usize },
13870        776usize,
13871        concat!(
13872            "Offset of field: ",
13873            stringify!(user),
13874            "::",
13875            stringify!(signal)
13876        )
13877    );
13878    assert_eq!(
13879        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
13880        784usize,
13881        concat!(
13882            "Offset of field: ",
13883            stringify!(user),
13884            "::",
13885            stringify!(reserved)
13886        )
13887    );
13888    assert_eq!(
13889        unsafe { ::std::ptr::addr_of!((*ptr).pad1) as usize - ptr as usize },
13890        788usize,
13891        concat!(
13892            "Offset of field: ",
13893            stringify!(user),
13894            "::",
13895            stringify!(pad1)
13896        )
13897    );
13898    assert_eq!(
13899        unsafe { ::std::ptr::addr_of!((*ptr).u_ar0) as usize - ptr as usize },
13900        792usize,
13901        concat!(
13902            "Offset of field: ",
13903            stringify!(user),
13904            "::",
13905            stringify!(u_ar0)
13906        )
13907    );
13908    assert_eq!(
13909        unsafe { ::std::ptr::addr_of!((*ptr).u_fpstate) as usize - ptr as usize },
13910        800usize,
13911        concat!(
13912            "Offset of field: ",
13913            stringify!(user),
13914            "::",
13915            stringify!(u_fpstate)
13916        )
13917    );
13918    assert_eq!(
13919        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
13920        808usize,
13921        concat!(
13922            "Offset of field: ",
13923            stringify!(user),
13924            "::",
13925            stringify!(magic)
13926        )
13927    );
13928    assert_eq!(
13929        unsafe { ::std::ptr::addr_of!((*ptr).u_comm) as usize - ptr as usize },
13930        816usize,
13931        concat!(
13932            "Offset of field: ",
13933            stringify!(user),
13934            "::",
13935            stringify!(u_comm)
13936        )
13937    );
13938    assert_eq!(
13939        unsafe { ::std::ptr::addr_of!((*ptr).u_debugreg) as usize - ptr as usize },
13940        848usize,
13941        concat!(
13942            "Offset of field: ",
13943            stringify!(user),
13944            "::",
13945            stringify!(u_debugreg)
13946        )
13947    );
13948    assert_eq!(
13949        unsafe { ::std::ptr::addr_of!((*ptr).error_code) as usize - ptr as usize },
13950        912usize,
13951        concat!(
13952            "Offset of field: ",
13953            stringify!(user),
13954            "::",
13955            stringify!(error_code)
13956        )
13957    );
13958    assert_eq!(
13959        unsafe { ::std::ptr::addr_of!((*ptr).fault_address) as usize - ptr as usize },
13960        920usize,
13961        concat!(
13962            "Offset of field: ",
13963            stringify!(user),
13964            "::",
13965            stringify!(fault_address)
13966        )
13967    );
13968}
13969pub const REG_R8: _bindgen_ty_38 = 0;
13970pub const REG_R9: _bindgen_ty_38 = 1;
13971pub const REG_R10: _bindgen_ty_38 = 2;
13972pub const REG_R11: _bindgen_ty_38 = 3;
13973pub const REG_R12: _bindgen_ty_38 = 4;
13974pub const REG_R13: _bindgen_ty_38 = 5;
13975pub const REG_R14: _bindgen_ty_38 = 6;
13976pub const REG_R15: _bindgen_ty_38 = 7;
13977pub const REG_RDI: _bindgen_ty_38 = 8;
13978pub const REG_RSI: _bindgen_ty_38 = 9;
13979pub const REG_RBP: _bindgen_ty_38 = 10;
13980pub const REG_RBX: _bindgen_ty_38 = 11;
13981pub const REG_RDX: _bindgen_ty_38 = 12;
13982pub const REG_RAX: _bindgen_ty_38 = 13;
13983pub const REG_RCX: _bindgen_ty_38 = 14;
13984pub const REG_RSP: _bindgen_ty_38 = 15;
13985pub const REG_RIP: _bindgen_ty_38 = 16;
13986pub const REG_EFL: _bindgen_ty_38 = 17;
13987pub const REG_CSGSFS: _bindgen_ty_38 = 18;
13988pub const REG_ERR: _bindgen_ty_38 = 19;
13989pub const REG_TRAPNO: _bindgen_ty_38 = 20;
13990pub const REG_OLDMASK: _bindgen_ty_38 = 21;
13991pub const REG_CR2: _bindgen_ty_38 = 22;
13992pub const NGREG: _bindgen_ty_38 = 23;
13993pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
13994pub type greg_t = ::std::os::raw::c_long;
13995pub type gregset_t = [greg_t; 23usize];
13996#[repr(C)]
13997#[derive(Debug, Copy, Clone)]
13998pub struct _libc_fpxreg {
13999    pub significand: [::std::os::raw::c_ushort; 4usize],
14000    pub exponent: ::std::os::raw::c_ushort,
14001    pub padding: [::std::os::raw::c_ushort; 3usize],
14002}
14003#[test]
14004fn bindgen_test_layout__libc_fpxreg() {
14005    const UNINIT: ::std::mem::MaybeUninit<_libc_fpxreg> = ::std::mem::MaybeUninit::uninit();
14006    let ptr = UNINIT.as_ptr();
14007    assert_eq!(
14008        ::std::mem::size_of::<_libc_fpxreg>(),
14009        16usize,
14010        concat!("Size of: ", stringify!(_libc_fpxreg))
14011    );
14012    assert_eq!(
14013        ::std::mem::align_of::<_libc_fpxreg>(),
14014        2usize,
14015        concat!("Alignment of ", stringify!(_libc_fpxreg))
14016    );
14017    assert_eq!(
14018        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
14019        0usize,
14020        concat!(
14021            "Offset of field: ",
14022            stringify!(_libc_fpxreg),
14023            "::",
14024            stringify!(significand)
14025        )
14026    );
14027    assert_eq!(
14028        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
14029        8usize,
14030        concat!(
14031            "Offset of field: ",
14032            stringify!(_libc_fpxreg),
14033            "::",
14034            stringify!(exponent)
14035        )
14036    );
14037    assert_eq!(
14038        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
14039        10usize,
14040        concat!(
14041            "Offset of field: ",
14042            stringify!(_libc_fpxreg),
14043            "::",
14044            stringify!(padding)
14045        )
14046    );
14047}
14048#[repr(C)]
14049#[derive(Debug, Copy, Clone)]
14050pub struct _libc_xmmreg {
14051    pub element: [u32; 4usize],
14052}
14053#[test]
14054fn bindgen_test_layout__libc_xmmreg() {
14055    const UNINIT: ::std::mem::MaybeUninit<_libc_xmmreg> = ::std::mem::MaybeUninit::uninit();
14056    let ptr = UNINIT.as_ptr();
14057    assert_eq!(
14058        ::std::mem::size_of::<_libc_xmmreg>(),
14059        16usize,
14060        concat!("Size of: ", stringify!(_libc_xmmreg))
14061    );
14062    assert_eq!(
14063        ::std::mem::align_of::<_libc_xmmreg>(),
14064        4usize,
14065        concat!("Alignment of ", stringify!(_libc_xmmreg))
14066    );
14067    assert_eq!(
14068        unsafe { ::std::ptr::addr_of!((*ptr).element) as usize - ptr as usize },
14069        0usize,
14070        concat!(
14071            "Offset of field: ",
14072            stringify!(_libc_xmmreg),
14073            "::",
14074            stringify!(element)
14075        )
14076    );
14077}
14078#[repr(C)]
14079#[derive(Debug, Copy, Clone)]
14080pub struct _libc_fpstate {
14081    pub cwd: u16,
14082    pub swd: u16,
14083    pub ftw: u16,
14084    pub fop: u16,
14085    pub rip: u64,
14086    pub rdp: u64,
14087    pub mxcsr: u32,
14088    pub mxcr_mask: u32,
14089    pub _st: [_libc_fpxreg; 8usize],
14090    pub _xmm: [_libc_xmmreg; 16usize],
14091    pub padding: [u32; 24usize],
14092}
14093#[test]
14094fn bindgen_test_layout__libc_fpstate() {
14095    const UNINIT: ::std::mem::MaybeUninit<_libc_fpstate> = ::std::mem::MaybeUninit::uninit();
14096    let ptr = UNINIT.as_ptr();
14097    assert_eq!(
14098        ::std::mem::size_of::<_libc_fpstate>(),
14099        512usize,
14100        concat!("Size of: ", stringify!(_libc_fpstate))
14101    );
14102    assert_eq!(
14103        ::std::mem::align_of::<_libc_fpstate>(),
14104        8usize,
14105        concat!("Alignment of ", stringify!(_libc_fpstate))
14106    );
14107    assert_eq!(
14108        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
14109        0usize,
14110        concat!(
14111            "Offset of field: ",
14112            stringify!(_libc_fpstate),
14113            "::",
14114            stringify!(cwd)
14115        )
14116    );
14117    assert_eq!(
14118        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
14119        2usize,
14120        concat!(
14121            "Offset of field: ",
14122            stringify!(_libc_fpstate),
14123            "::",
14124            stringify!(swd)
14125        )
14126    );
14127    assert_eq!(
14128        unsafe { ::std::ptr::addr_of!((*ptr).ftw) as usize - ptr as usize },
14129        4usize,
14130        concat!(
14131            "Offset of field: ",
14132            stringify!(_libc_fpstate),
14133            "::",
14134            stringify!(ftw)
14135        )
14136    );
14137    assert_eq!(
14138        unsafe { ::std::ptr::addr_of!((*ptr).fop) as usize - ptr as usize },
14139        6usize,
14140        concat!(
14141            "Offset of field: ",
14142            stringify!(_libc_fpstate),
14143            "::",
14144            stringify!(fop)
14145        )
14146    );
14147    assert_eq!(
14148        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
14149        8usize,
14150        concat!(
14151            "Offset of field: ",
14152            stringify!(_libc_fpstate),
14153            "::",
14154            stringify!(rip)
14155        )
14156    );
14157    assert_eq!(
14158        unsafe { ::std::ptr::addr_of!((*ptr).rdp) as usize - ptr as usize },
14159        16usize,
14160        concat!(
14161            "Offset of field: ",
14162            stringify!(_libc_fpstate),
14163            "::",
14164            stringify!(rdp)
14165        )
14166    );
14167    assert_eq!(
14168        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
14169        24usize,
14170        concat!(
14171            "Offset of field: ",
14172            stringify!(_libc_fpstate),
14173            "::",
14174            stringify!(mxcsr)
14175        )
14176    );
14177    assert_eq!(
14178        unsafe { ::std::ptr::addr_of!((*ptr).mxcr_mask) as usize - ptr as usize },
14179        28usize,
14180        concat!(
14181            "Offset of field: ",
14182            stringify!(_libc_fpstate),
14183            "::",
14184            stringify!(mxcr_mask)
14185        )
14186    );
14187    assert_eq!(
14188        unsafe { ::std::ptr::addr_of!((*ptr)._st) as usize - ptr as usize },
14189        32usize,
14190        concat!(
14191            "Offset of field: ",
14192            stringify!(_libc_fpstate),
14193            "::",
14194            stringify!(_st)
14195        )
14196    );
14197    assert_eq!(
14198        unsafe { ::std::ptr::addr_of!((*ptr)._xmm) as usize - ptr as usize },
14199        160usize,
14200        concat!(
14201            "Offset of field: ",
14202            stringify!(_libc_fpstate),
14203            "::",
14204            stringify!(_xmm)
14205        )
14206    );
14207    assert_eq!(
14208        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
14209        416usize,
14210        concat!(
14211            "Offset of field: ",
14212            stringify!(_libc_fpstate),
14213            "::",
14214            stringify!(padding)
14215        )
14216    );
14217}
14218pub type fpregset_t = *mut _libc_fpstate;
14219#[repr(C)]
14220#[derive(Debug, Copy, Clone)]
14221pub struct mcontext_t {
14222    pub gregs: gregset_t,
14223    pub fpregs: fpregset_t,
14224    pub __reserved1: [::std::os::raw::c_ulong; 8usize],
14225}
14226#[test]
14227fn bindgen_test_layout_mcontext_t() {
14228    const UNINIT: ::std::mem::MaybeUninit<mcontext_t> = ::std::mem::MaybeUninit::uninit();
14229    let ptr = UNINIT.as_ptr();
14230    assert_eq!(
14231        ::std::mem::size_of::<mcontext_t>(),
14232        256usize,
14233        concat!("Size of: ", stringify!(mcontext_t))
14234    );
14235    assert_eq!(
14236        ::std::mem::align_of::<mcontext_t>(),
14237        8usize,
14238        concat!("Alignment of ", stringify!(mcontext_t))
14239    );
14240    assert_eq!(
14241        unsafe { ::std::ptr::addr_of!((*ptr).gregs) as usize - ptr as usize },
14242        0usize,
14243        concat!(
14244            "Offset of field: ",
14245            stringify!(mcontext_t),
14246            "::",
14247            stringify!(gregs)
14248        )
14249    );
14250    assert_eq!(
14251        unsafe { ::std::ptr::addr_of!((*ptr).fpregs) as usize - ptr as usize },
14252        184usize,
14253        concat!(
14254            "Offset of field: ",
14255            stringify!(mcontext_t),
14256            "::",
14257            stringify!(fpregs)
14258        )
14259    );
14260    assert_eq!(
14261        unsafe { ::std::ptr::addr_of!((*ptr).__reserved1) as usize - ptr as usize },
14262        192usize,
14263        concat!(
14264            "Offset of field: ",
14265            stringify!(mcontext_t),
14266            "::",
14267            stringify!(__reserved1)
14268        )
14269    );
14270}
14271#[repr(C)]
14272#[derive(Copy, Clone)]
14273pub struct ucontext {
14274    pub uc_flags: ::std::os::raw::c_ulong,
14275    pub uc_link: *mut ucontext,
14276    pub uc_stack: stack_t,
14277    pub uc_mcontext: mcontext_t,
14278    pub __bindgen_anon_1: ucontext__bindgen_ty_1,
14279    pub __fpregs_mem: _libc_fpstate,
14280}
14281#[repr(C)]
14282#[derive(Copy, Clone)]
14283pub union ucontext__bindgen_ty_1 {
14284    pub uc_sigmask: sigset_t,
14285    pub uc_sigmask64: sigset64_t,
14286}
14287#[test]
14288fn bindgen_test_layout_ucontext__bindgen_ty_1() {
14289    const UNINIT: ::std::mem::MaybeUninit<ucontext__bindgen_ty_1> =
14290        ::std::mem::MaybeUninit::uninit();
14291    let ptr = UNINIT.as_ptr();
14292    assert_eq!(
14293        ::std::mem::size_of::<ucontext__bindgen_ty_1>(),
14294        8usize,
14295        concat!("Size of: ", stringify!(ucontext__bindgen_ty_1))
14296    );
14297    assert_eq!(
14298        ::std::mem::align_of::<ucontext__bindgen_ty_1>(),
14299        8usize,
14300        concat!("Alignment of ", stringify!(ucontext__bindgen_ty_1))
14301    );
14302    assert_eq!(
14303        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
14304        0usize,
14305        concat!(
14306            "Offset of field: ",
14307            stringify!(ucontext__bindgen_ty_1),
14308            "::",
14309            stringify!(uc_sigmask)
14310        )
14311    );
14312    assert_eq!(
14313        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask64) as usize - ptr as usize },
14314        0usize,
14315        concat!(
14316            "Offset of field: ",
14317            stringify!(ucontext__bindgen_ty_1),
14318            "::",
14319            stringify!(uc_sigmask64)
14320        )
14321    );
14322}
14323#[test]
14324fn bindgen_test_layout_ucontext() {
14325    const UNINIT: ::std::mem::MaybeUninit<ucontext> = ::std::mem::MaybeUninit::uninit();
14326    let ptr = UNINIT.as_ptr();
14327    assert_eq!(
14328        ::std::mem::size_of::<ucontext>(),
14329        816usize,
14330        concat!("Size of: ", stringify!(ucontext))
14331    );
14332    assert_eq!(
14333        ::std::mem::align_of::<ucontext>(),
14334        8usize,
14335        concat!("Alignment of ", stringify!(ucontext))
14336    );
14337    assert_eq!(
14338        unsafe { ::std::ptr::addr_of!((*ptr).uc_flags) as usize - ptr as usize },
14339        0usize,
14340        concat!(
14341            "Offset of field: ",
14342            stringify!(ucontext),
14343            "::",
14344            stringify!(uc_flags)
14345        )
14346    );
14347    assert_eq!(
14348        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
14349        8usize,
14350        concat!(
14351            "Offset of field: ",
14352            stringify!(ucontext),
14353            "::",
14354            stringify!(uc_link)
14355        )
14356    );
14357    assert_eq!(
14358        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
14359        16usize,
14360        concat!(
14361            "Offset of field: ",
14362            stringify!(ucontext),
14363            "::",
14364            stringify!(uc_stack)
14365        )
14366    );
14367    assert_eq!(
14368        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
14369        40usize,
14370        concat!(
14371            "Offset of field: ",
14372            stringify!(ucontext),
14373            "::",
14374            stringify!(uc_mcontext)
14375        )
14376    );
14377    assert_eq!(
14378        unsafe { ::std::ptr::addr_of!((*ptr).__fpregs_mem) as usize - ptr as usize },
14379        304usize,
14380        concat!(
14381            "Offset of field: ",
14382            stringify!(ucontext),
14383            "::",
14384            stringify!(__fpregs_mem)
14385        )
14386    );
14387}
14388pub type ucontext_t = ucontext;
14389extern "C" {
14390    pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
14391}
14392extern "C" {
14393    pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
14394}
14395extern "C" {
14396    pub static sys_siglist: [*const ::std::os::raw::c_char; 65usize];
14397}
14398extern "C" {
14399    pub static sys_signame: [*const ::std::os::raw::c_char; 65usize];
14400}
14401extern "C" {
14402    pub fn sigaction(
14403        __signal: ::std::os::raw::c_int,
14404        __new_action: *const sigaction,
14405        __old_action: *mut sigaction,
14406    ) -> ::std::os::raw::c_int;
14407}
14408extern "C" {
14409    pub fn sigaction64(
14410        __signal: ::std::os::raw::c_int,
14411        __new_action: *const sigaction64,
14412        __old_action: *mut sigaction64,
14413    ) -> ::std::os::raw::c_int;
14414}
14415extern "C" {
14416    pub fn siginterrupt(
14417        __signal: ::std::os::raw::c_int,
14418        __flag: ::std::os::raw::c_int,
14419    ) -> ::std::os::raw::c_int;
14420}
14421extern "C" {
14422    pub fn signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
14423}
14424extern "C" {
14425    pub fn sigaddset(
14426        __set: *mut sigset_t,
14427        __signal: ::std::os::raw::c_int,
14428    ) -> ::std::os::raw::c_int;
14429}
14430extern "C" {
14431    pub fn sigaddset64(
14432        __set: *mut sigset64_t,
14433        __signal: ::std::os::raw::c_int,
14434    ) -> ::std::os::raw::c_int;
14435}
14436extern "C" {
14437    pub fn sigdelset(
14438        __set: *mut sigset_t,
14439        __signal: ::std::os::raw::c_int,
14440    ) -> ::std::os::raw::c_int;
14441}
14442extern "C" {
14443    pub fn sigdelset64(
14444        __set: *mut sigset64_t,
14445        __signal: ::std::os::raw::c_int,
14446    ) -> ::std::os::raw::c_int;
14447}
14448extern "C" {
14449    pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
14450}
14451extern "C" {
14452    pub fn sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
14453}
14454extern "C" {
14455    pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
14456}
14457extern "C" {
14458    pub fn sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
14459}
14460extern "C" {
14461    pub fn sigismember(
14462        __set: *const sigset_t,
14463        __signal: ::std::os::raw::c_int,
14464    ) -> ::std::os::raw::c_int;
14465}
14466extern "C" {
14467    pub fn sigismember64(
14468        __set: *const sigset64_t,
14469        __signal: ::std::os::raw::c_int,
14470    ) -> ::std::os::raw::c_int;
14471}
14472extern "C" {
14473    pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
14474}
14475extern "C" {
14476    pub fn sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
14477}
14478extern "C" {
14479    pub fn sigprocmask(
14480        __how: ::std::os::raw::c_int,
14481        __new_set: *const sigset_t,
14482        __old_set: *mut sigset_t,
14483    ) -> ::std::os::raw::c_int;
14484}
14485extern "C" {
14486    pub fn sigprocmask64(
14487        __how: ::std::os::raw::c_int,
14488        __new_set: *const sigset64_t,
14489        __old_set: *mut sigset64_t,
14490    ) -> ::std::os::raw::c_int;
14491}
14492extern "C" {
14493    pub fn sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int;
14494}
14495extern "C" {
14496    pub fn sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int;
14497}
14498extern "C" {
14499    pub fn sigwait(
14500        __set: *const sigset_t,
14501        __signal: *mut ::std::os::raw::c_int,
14502    ) -> ::std::os::raw::c_int;
14503}
14504extern "C" {
14505    pub fn sigwait64(
14506        __set: *const sigset64_t,
14507        __signal: *mut ::std::os::raw::c_int,
14508    ) -> ::std::os::raw::c_int;
14509}
14510extern "C" {
14511    pub fn sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14512}
14513extern "C" {
14514    pub fn sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14515}
14516extern "C" {
14517    pub fn sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14518}
14519extern "C" {
14520    pub fn sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14521}
14522extern "C" {
14523    pub fn sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
14524}
14525extern "C" {
14526    pub fn raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14527}
14528extern "C" {
14529    pub fn kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14530}
14531extern "C" {
14532    pub fn killpg(
14533        __pgrp: ::std::os::raw::c_int,
14534        __signal: ::std::os::raw::c_int,
14535    ) -> ::std::os::raw::c_int;
14536}
14537extern "C" {
14538    pub fn tgkill(
14539        __tgid: ::std::os::raw::c_int,
14540        __tid: ::std::os::raw::c_int,
14541        __signal: ::std::os::raw::c_int,
14542    ) -> ::std::os::raw::c_int;
14543}
14544extern "C" {
14545    pub fn sigaltstack(
14546        __new_signal_stack: *const stack_t,
14547        __old_signal_stack: *mut stack_t,
14548    ) -> ::std::os::raw::c_int;
14549}
14550extern "C" {
14551    pub fn psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char);
14552}
14553extern "C" {
14554    pub fn psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char);
14555}
14556extern "C" {
14557    pub fn pthread_kill(
14558        __pthread: pthread_t,
14559        __signal: ::std::os::raw::c_int,
14560    ) -> ::std::os::raw::c_int;
14561}
14562extern "C" {
14563    pub fn pthread_sigmask(
14564        __how: ::std::os::raw::c_int,
14565        __new_set: *const sigset_t,
14566        __old_set: *mut sigset_t,
14567    ) -> ::std::os::raw::c_int;
14568}
14569extern "C" {
14570    pub fn pthread_sigmask64(
14571        __how: ::std::os::raw::c_int,
14572        __new_set: *const sigset64_t,
14573        __old_set: *mut sigset64_t,
14574    ) -> ::std::os::raw::c_int;
14575}
14576extern "C" {
14577    pub fn sigqueue(
14578        __pid: pid_t,
14579        __signal: ::std::os::raw::c_int,
14580        __value: sigval,
14581    ) -> ::std::os::raw::c_int;
14582}
14583extern "C" {
14584    pub fn sigtimedwait(
14585        __set: *const sigset_t,
14586        __info: *mut siginfo_t,
14587        __timeout: *const timespec,
14588    ) -> ::std::os::raw::c_int;
14589}
14590extern "C" {
14591    pub fn sigtimedwait64(
14592        __set: *const sigset64_t,
14593        __info: *mut siginfo_t,
14594        __timeout: *const timespec,
14595    ) -> ::std::os::raw::c_int;
14596}
14597extern "C" {
14598    pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
14599}
14600extern "C" {
14601    pub fn sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t)
14602        -> ::std::os::raw::c_int;
14603}
14604pub type fd_mask = ::std::os::raw::c_ulong;
14605#[repr(C)]
14606#[derive(Debug, Copy, Clone)]
14607pub struct fd_set {
14608    pub fds_bits: [fd_mask; 16usize],
14609}
14610#[test]
14611fn bindgen_test_layout_fd_set() {
14612    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
14613    let ptr = UNINIT.as_ptr();
14614    assert_eq!(
14615        ::std::mem::size_of::<fd_set>(),
14616        128usize,
14617        concat!("Size of: ", stringify!(fd_set))
14618    );
14619    assert_eq!(
14620        ::std::mem::align_of::<fd_set>(),
14621        8usize,
14622        concat!("Alignment of ", stringify!(fd_set))
14623    );
14624    assert_eq!(
14625        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
14626        0usize,
14627        concat!(
14628            "Offset of field: ",
14629            stringify!(fd_set),
14630            "::",
14631            stringify!(fds_bits)
14632        )
14633    );
14634}
14635extern "C" {
14636    pub fn __FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
14637}
14638extern "C" {
14639    pub fn __FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
14640}
14641extern "C" {
14642    pub fn __FD_ISSET_chk(
14643        arg1: ::std::os::raw::c_int,
14644        arg2: *const fd_set,
14645        arg3: usize,
14646    ) -> ::std::os::raw::c_int;
14647}
14648extern "C" {
14649    pub fn select(
14650        __max_fd_plus_one: ::std::os::raw::c_int,
14651        __read_fds: *mut fd_set,
14652        __write_fds: *mut fd_set,
14653        __exception_fds: *mut fd_set,
14654        __timeout: *mut timeval,
14655    ) -> ::std::os::raw::c_int;
14656}
14657extern "C" {
14658    pub fn pselect(
14659        __max_fd_plus_one: ::std::os::raw::c_int,
14660        __read_fds: *mut fd_set,
14661        __write_fds: *mut fd_set,
14662        __exception_fds: *mut fd_set,
14663        __timeout: *const timespec,
14664        __mask: *const sigset_t,
14665    ) -> ::std::os::raw::c_int;
14666}
14667extern "C" {
14668    pub fn pselect64(
14669        __max_fd_plus_one: ::std::os::raw::c_int,
14670        __read_fds: *mut fd_set,
14671        __write_fds: *mut fd_set,
14672        __exception_fds: *mut fd_set,
14673        __timeout: *const timespec,
14674        __mask: *const sigset64_t,
14675    ) -> ::std::os::raw::c_int;
14676}
14677extern "C" {
14678    pub fn fcntl(
14679        __fd: ::std::os::raw::c_int,
14680        __op: ::std::os::raw::c_int,
14681        ...
14682    ) -> ::std::os::raw::c_int;
14683}
14684extern "C" {
14685    pub fn getentropy(
14686        __buffer: *mut ::std::os::raw::c_void,
14687        __buffer_size: usize,
14688    ) -> ::std::os::raw::c_int;
14689}
14690extern "C" {
14691    pub fn getopt(
14692        __argc: ::std::os::raw::c_int,
14693        __argv: *const *mut ::std::os::raw::c_char,
14694        __options: *const ::std::os::raw::c_char,
14695    ) -> ::std::os::raw::c_int;
14696}
14697extern "C" {
14698    pub static mut optarg: *mut ::std::os::raw::c_char;
14699}
14700extern "C" {
14701    pub static mut optind: ::std::os::raw::c_int;
14702}
14703extern "C" {
14704    pub static mut opterr: ::std::os::raw::c_int;
14705}
14706extern "C" {
14707    pub static mut optopt: ::std::os::raw::c_int;
14708}
14709extern "C" {
14710    pub fn ioctl(
14711        __fd: ::std::os::raw::c_int,
14712        __op: ::std::os::raw::c_int,
14713        ...
14714    ) -> ::std::os::raw::c_int;
14715}
14716extern "C" {
14717    pub fn lockf(
14718        __fd: ::std::os::raw::c_int,
14719        __op: ::std::os::raw::c_int,
14720        __length: off_t,
14721    ) -> ::std::os::raw::c_int;
14722}
14723extern "C" {
14724    pub fn lockf64(
14725        __fd: ::std::os::raw::c_int,
14726        __op: ::std::os::raw::c_int,
14727        __length: off64_t,
14728    ) -> ::std::os::raw::c_int;
14729}
14730extern "C" {
14731    pub fn sysconf(__name: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
14732}
14733extern "C" {
14734    pub static mut environ: *mut *mut ::std::os::raw::c_char;
14735}
14736extern "C" {
14737    pub fn _exit(__status: ::std::os::raw::c_int) -> !;
14738}
14739extern "C" {
14740    pub fn fork() -> pid_t;
14741}
14742extern "C" {
14743    pub fn _Fork() -> pid_t;
14744}
14745extern "C" {
14746    pub fn vfork() -> ::std::os::raw::c_int;
14747}
14748extern "C" {
14749    pub fn getpid() -> pid_t;
14750}
14751extern "C" {
14752    pub fn gettid() -> pid_t;
14753}
14754extern "C" {
14755    pub fn getpgid(__pid: pid_t) -> pid_t;
14756}
14757extern "C" {
14758    pub fn setpgid(__pid: pid_t, __pgid: pid_t) -> ::std::os::raw::c_int;
14759}
14760extern "C" {
14761    pub fn getppid() -> pid_t;
14762}
14763extern "C" {
14764    pub fn getpgrp() -> pid_t;
14765}
14766extern "C" {
14767    pub fn setpgrp() -> ::std::os::raw::c_int;
14768}
14769extern "C" {
14770    pub fn getsid(__pid: pid_t) -> pid_t;
14771}
14772extern "C" {
14773    pub fn setsid() -> pid_t;
14774}
14775extern "C" {
14776    pub fn execv(
14777        __path: *const ::std::os::raw::c_char,
14778        __argv: *const *mut ::std::os::raw::c_char,
14779    ) -> ::std::os::raw::c_int;
14780}
14781extern "C" {
14782    pub fn execvp(
14783        __file: *const ::std::os::raw::c_char,
14784        __argv: *const *mut ::std::os::raw::c_char,
14785    ) -> ::std::os::raw::c_int;
14786}
14787extern "C" {
14788    pub fn execvpe(
14789        __file: *const ::std::os::raw::c_char,
14790        __argv: *const *mut ::std::os::raw::c_char,
14791        __envp: *const *mut ::std::os::raw::c_char,
14792    ) -> ::std::os::raw::c_int;
14793}
14794extern "C" {
14795    pub fn execve(
14796        __file: *const ::std::os::raw::c_char,
14797        __argv: *const *mut ::std::os::raw::c_char,
14798        __envp: *const *mut ::std::os::raw::c_char,
14799    ) -> ::std::os::raw::c_int;
14800}
14801extern "C" {
14802    pub fn execl(
14803        __path: *const ::std::os::raw::c_char,
14804        __arg0: *const ::std::os::raw::c_char,
14805        ...
14806    ) -> ::std::os::raw::c_int;
14807}
14808extern "C" {
14809    pub fn execlp(
14810        __file: *const ::std::os::raw::c_char,
14811        __arg0: *const ::std::os::raw::c_char,
14812        ...
14813    ) -> ::std::os::raw::c_int;
14814}
14815extern "C" {
14816    pub fn execle(
14817        __path: *const ::std::os::raw::c_char,
14818        __arg0: *const ::std::os::raw::c_char,
14819        ...
14820    ) -> ::std::os::raw::c_int;
14821}
14822extern "C" {
14823    pub fn fexecve(
14824        __fd: ::std::os::raw::c_int,
14825        __argv: *const *mut ::std::os::raw::c_char,
14826        __envp: *const *mut ::std::os::raw::c_char,
14827    ) -> ::std::os::raw::c_int;
14828}
14829extern "C" {
14830    pub fn nice(__incr: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14831}
14832extern "C" {
14833    pub fn setegid(__gid: gid_t) -> ::std::os::raw::c_int;
14834}
14835extern "C" {
14836    pub fn seteuid(__uid: uid_t) -> ::std::os::raw::c_int;
14837}
14838extern "C" {
14839    pub fn setgid(__gid: gid_t) -> ::std::os::raw::c_int;
14840}
14841extern "C" {
14842    pub fn setregid(__rgid: gid_t, __egid: gid_t) -> ::std::os::raw::c_int;
14843}
14844extern "C" {
14845    pub fn setresgid(__rgid: gid_t, __egid: gid_t, __sgid: gid_t) -> ::std::os::raw::c_int;
14846}
14847extern "C" {
14848    pub fn setresuid(__ruid: uid_t, __euid: uid_t, __suid: uid_t) -> ::std::os::raw::c_int;
14849}
14850extern "C" {
14851    pub fn setreuid(__ruid: uid_t, __euid: uid_t) -> ::std::os::raw::c_int;
14852}
14853extern "C" {
14854    pub fn setuid(__uid: uid_t) -> ::std::os::raw::c_int;
14855}
14856extern "C" {
14857    pub fn getuid() -> uid_t;
14858}
14859extern "C" {
14860    pub fn geteuid() -> uid_t;
14861}
14862extern "C" {
14863    pub fn getgid() -> gid_t;
14864}
14865extern "C" {
14866    pub fn getegid() -> gid_t;
14867}
14868extern "C" {
14869    pub fn getgroups(__size: ::std::os::raw::c_int, __list: *mut gid_t) -> ::std::os::raw::c_int;
14870}
14871extern "C" {
14872    pub fn setgroups(__size: usize, __list: *const gid_t) -> ::std::os::raw::c_int;
14873}
14874extern "C" {
14875    pub fn getresuid(
14876        __ruid: *mut uid_t,
14877        __euid: *mut uid_t,
14878        __suid: *mut uid_t,
14879    ) -> ::std::os::raw::c_int;
14880}
14881extern "C" {
14882    pub fn getresgid(
14883        __rgid: *mut gid_t,
14884        __egid: *mut gid_t,
14885        __sgid: *mut gid_t,
14886    ) -> ::std::os::raw::c_int;
14887}
14888extern "C" {
14889    pub fn getlogin() -> *mut ::std::os::raw::c_char;
14890}
14891extern "C" {
14892    pub fn getlogin_r(
14893        __buffer: *mut ::std::os::raw::c_char,
14894        __buffer_size: usize,
14895    ) -> ::std::os::raw::c_int;
14896}
14897extern "C" {
14898    pub fn fpathconf(
14899        __fd: ::std::os::raw::c_int,
14900        __name: ::std::os::raw::c_int,
14901    ) -> ::std::os::raw::c_long;
14902}
14903extern "C" {
14904    pub fn pathconf(
14905        __path: *const ::std::os::raw::c_char,
14906        __name: ::std::os::raw::c_int,
14907    ) -> ::std::os::raw::c_long;
14908}
14909extern "C" {
14910    pub fn access(
14911        __path: *const ::std::os::raw::c_char,
14912        __mode: ::std::os::raw::c_int,
14913    ) -> ::std::os::raw::c_int;
14914}
14915extern "C" {
14916    pub fn faccessat(
14917        __dirfd: ::std::os::raw::c_int,
14918        __path: *const ::std::os::raw::c_char,
14919        __mode: ::std::os::raw::c_int,
14920        __flags: ::std::os::raw::c_int,
14921    ) -> ::std::os::raw::c_int;
14922}
14923extern "C" {
14924    pub fn link(
14925        __old_path: *const ::std::os::raw::c_char,
14926        __new_path: *const ::std::os::raw::c_char,
14927    ) -> ::std::os::raw::c_int;
14928}
14929extern "C" {
14930    pub fn linkat(
14931        __old_dir_fd: ::std::os::raw::c_int,
14932        __old_path: *const ::std::os::raw::c_char,
14933        __new_dir_fd: ::std::os::raw::c_int,
14934        __new_path: *const ::std::os::raw::c_char,
14935        __flags: ::std::os::raw::c_int,
14936    ) -> ::std::os::raw::c_int;
14937}
14938extern "C" {
14939    pub fn unlink(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14940}
14941extern "C" {
14942    pub fn unlinkat(
14943        __dirfd: ::std::os::raw::c_int,
14944        __path: *const ::std::os::raw::c_char,
14945        __flags: ::std::os::raw::c_int,
14946    ) -> ::std::os::raw::c_int;
14947}
14948extern "C" {
14949    pub fn chdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14950}
14951extern "C" {
14952    pub fn fchdir(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14953}
14954extern "C" {
14955    pub fn rmdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14956}
14957extern "C" {
14958    pub fn pipe(__fds: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14959}
14960extern "C" {
14961    pub fn chroot(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14962}
14963extern "C" {
14964    pub fn symlink(
14965        __old_path: *const ::std::os::raw::c_char,
14966        __new_path: *const ::std::os::raw::c_char,
14967    ) -> ::std::os::raw::c_int;
14968}
14969extern "C" {
14970    pub fn symlinkat(
14971        __old_path: *const ::std::os::raw::c_char,
14972        __new_dir_fd: ::std::os::raw::c_int,
14973        __new_path: *const ::std::os::raw::c_char,
14974    ) -> ::std::os::raw::c_int;
14975}
14976extern "C" {
14977    pub fn readlink(
14978        __path: *const ::std::os::raw::c_char,
14979        __buf: *mut ::std::os::raw::c_char,
14980        __buf_size: usize,
14981    ) -> isize;
14982}
14983extern "C" {
14984    pub fn readlinkat(
14985        __dir_fd: ::std::os::raw::c_int,
14986        __path: *const ::std::os::raw::c_char,
14987        __buf: *mut ::std::os::raw::c_char,
14988        __buf_size: usize,
14989    ) -> isize;
14990}
14991extern "C" {
14992    pub fn chown(
14993        __path: *const ::std::os::raw::c_char,
14994        __owner: uid_t,
14995        __group: gid_t,
14996    ) -> ::std::os::raw::c_int;
14997}
14998extern "C" {
14999    pub fn fchown(
15000        __fd: ::std::os::raw::c_int,
15001        __owner: uid_t,
15002        __group: gid_t,
15003    ) -> ::std::os::raw::c_int;
15004}
15005extern "C" {
15006    pub fn fchownat(
15007        __dir_fd: ::std::os::raw::c_int,
15008        __path: *const ::std::os::raw::c_char,
15009        __owner: uid_t,
15010        __group: gid_t,
15011        __flags: ::std::os::raw::c_int,
15012    ) -> ::std::os::raw::c_int;
15013}
15014extern "C" {
15015    pub fn lchown(
15016        __path: *const ::std::os::raw::c_char,
15017        __owner: uid_t,
15018        __group: gid_t,
15019    ) -> ::std::os::raw::c_int;
15020}
15021extern "C" {
15022    pub fn getcwd(__buf: *mut ::std::os::raw::c_char, __size: usize)
15023        -> *mut ::std::os::raw::c_char;
15024}
15025extern "C" {
15026    pub fn sync();
15027}
15028extern "C" {
15029    pub fn close(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15030}
15031extern "C" {
15032    pub fn read(
15033        __fd: ::std::os::raw::c_int,
15034        __buf: *mut ::std::os::raw::c_void,
15035        __count: usize,
15036    ) -> isize;
15037}
15038extern "C" {
15039    pub fn write(
15040        __fd: ::std::os::raw::c_int,
15041        __buf: *const ::std::os::raw::c_void,
15042        __count: usize,
15043    ) -> isize;
15044}
15045extern "C" {
15046    pub fn dup(__old_fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15047}
15048extern "C" {
15049    pub fn dup2(
15050        __old_fd: ::std::os::raw::c_int,
15051        __new_fd: ::std::os::raw::c_int,
15052    ) -> ::std::os::raw::c_int;
15053}
15054extern "C" {
15055    pub fn dup3(
15056        __old_fd: ::std::os::raw::c_int,
15057        __new_fd: ::std::os::raw::c_int,
15058        __flags: ::std::os::raw::c_int,
15059    ) -> ::std::os::raw::c_int;
15060}
15061extern "C" {
15062    pub fn fsync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15063}
15064extern "C" {
15065    pub fn fdatasync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15066}
15067extern "C" {
15068    pub fn truncate(
15069        __path: *const ::std::os::raw::c_char,
15070        __length: off_t,
15071    ) -> ::std::os::raw::c_int;
15072}
15073extern "C" {
15074    pub fn lseek(
15075        __fd: ::std::os::raw::c_int,
15076        __offset: off_t,
15077        __whence: ::std::os::raw::c_int,
15078    ) -> off_t;
15079}
15080extern "C" {
15081    pub fn pread(
15082        __fd: ::std::os::raw::c_int,
15083        __buf: *mut ::std::os::raw::c_void,
15084        __count: usize,
15085        __offset: off_t,
15086    ) -> isize;
15087}
15088extern "C" {
15089    pub fn pwrite(
15090        __fd: ::std::os::raw::c_int,
15091        __buf: *const ::std::os::raw::c_void,
15092        __count: usize,
15093        __offset: off_t,
15094    ) -> isize;
15095}
15096extern "C" {
15097    pub fn ftruncate(__fd: ::std::os::raw::c_int, __length: off_t) -> ::std::os::raw::c_int;
15098}
15099extern "C" {
15100    pub fn truncate64(
15101        __path: *const ::std::os::raw::c_char,
15102        __length: off64_t,
15103    ) -> ::std::os::raw::c_int;
15104}
15105extern "C" {
15106    pub fn lseek64(
15107        __fd: ::std::os::raw::c_int,
15108        __offset: off64_t,
15109        __whence: ::std::os::raw::c_int,
15110    ) -> off64_t;
15111}
15112extern "C" {
15113    pub fn pread64(
15114        __fd: ::std::os::raw::c_int,
15115        __buf: *mut ::std::os::raw::c_void,
15116        __count: usize,
15117        __offset: off64_t,
15118    ) -> isize;
15119}
15120extern "C" {
15121    pub fn pwrite64(
15122        __fd: ::std::os::raw::c_int,
15123        __buf: *const ::std::os::raw::c_void,
15124        __count: usize,
15125        __offset: off64_t,
15126    ) -> isize;
15127}
15128extern "C" {
15129    pub fn ftruncate64(__fd: ::std::os::raw::c_int, __length: off64_t) -> ::std::os::raw::c_int;
15130}
15131extern "C" {
15132    pub fn pause() -> ::std::os::raw::c_int;
15133}
15134extern "C" {
15135    pub fn alarm(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
15136}
15137extern "C" {
15138    pub fn sleep(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
15139}
15140extern "C" {
15141    pub fn usleep(__microseconds: useconds_t) -> ::std::os::raw::c_int;
15142}
15143extern "C" {
15144    pub fn gethostname(
15145        _buf: *mut ::std::os::raw::c_char,
15146        __buf_size: usize,
15147    ) -> ::std::os::raw::c_int;
15148}
15149extern "C" {
15150    pub fn sethostname(__name: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
15151}
15152extern "C" {
15153    pub fn brk(__addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
15154}
15155extern "C" {
15156    pub fn sbrk(__increment: isize) -> *mut ::std::os::raw::c_void;
15157}
15158extern "C" {
15159    pub fn isatty(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15160}
15161extern "C" {
15162    pub fn ttyname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
15163}
15164extern "C" {
15165    pub fn ttyname_r(
15166        __fd: ::std::os::raw::c_int,
15167        __buf: *mut ::std::os::raw::c_char,
15168        __buf_size: usize,
15169    ) -> ::std::os::raw::c_int;
15170}
15171extern "C" {
15172    pub fn acct(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15173}
15174extern "C" {
15175    pub fn getpagesize() -> ::std::os::raw::c_int;
15176}
15177extern "C" {
15178    pub fn syscall(__number: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long;
15179}
15180extern "C" {
15181    pub fn daemon(
15182        __no_chdir: ::std::os::raw::c_int,
15183        __no_close: ::std::os::raw::c_int,
15184    ) -> ::std::os::raw::c_int;
15185}
15186extern "C" {
15187    pub fn tcgetpgrp(__fd: ::std::os::raw::c_int) -> pid_t;
15188}
15189extern "C" {
15190    pub fn tcsetpgrp(__fd: ::std::os::raw::c_int, __pid: pid_t) -> ::std::os::raw::c_int;
15191}
15192extern "C" {
15193    pub fn getdomainname(
15194        __buf: *mut ::std::os::raw::c_char,
15195        __buf_size: usize,
15196    ) -> ::std::os::raw::c_int;
15197}
15198extern "C" {
15199    pub fn setdomainname(
15200        __name: *const ::std::os::raw::c_char,
15201        __n: usize,
15202    ) -> ::std::os::raw::c_int;
15203}
15204extern "C" {
15205    pub fn copy_file_range(
15206        __fd_in: ::std::os::raw::c_int,
15207        __off_in: *mut off64_t,
15208        __fd_out: ::std::os::raw::c_int,
15209        __off_out: *mut off64_t,
15210        __length: usize,
15211        __flags: ::std::os::raw::c_uint,
15212    ) -> isize;
15213}
15214extern "C" {
15215    pub fn swab(
15216        __src: *const ::std::os::raw::c_void,
15217        __dst: *mut ::std::os::raw::c_void,
15218        __byte_count: isize,
15219    );
15220}
15221extern "C" {
15222    pub fn close_range(
15223        __min_fd: ::std::os::raw::c_uint,
15224        __max_fd: ::std::os::raw::c_uint,
15225        __flags: ::std::os::raw::c_int,
15226    ) -> ::std::os::raw::c_int;
15227}
15228#[repr(C)]
15229#[derive(Debug, Copy, Clone)]
15230pub struct APerformanceHintManager {
15231    _unused: [u8; 0],
15232}
15233#[repr(C)]
15234#[derive(Debug, Copy, Clone)]
15235pub struct APerformanceHintSession {
15236    _unused: [u8; 0],
15237}
15238#[repr(C)]
15239#[derive(Debug, Copy, Clone)]
15240pub struct AWorkDuration {
15241    _unused: [u8; 0],
15242}
15243extern "C" {
15244    pub fn APerformanceHint_getManager() -> *mut APerformanceHintManager;
15245}
15246extern "C" {
15247    pub fn APerformanceHint_createSession(
15248        manager: *mut APerformanceHintManager,
15249        threadIds: *const i32,
15250        size: usize,
15251        initialTargetWorkDurationNanos: i64,
15252    ) -> *mut APerformanceHintSession;
15253}
15254extern "C" {
15255    pub fn APerformanceHint_getPreferredUpdateRateNanos(
15256        manager: *mut APerformanceHintManager,
15257    ) -> i64;
15258}
15259extern "C" {
15260    pub fn APerformanceHint_updateTargetWorkDuration(
15261        session: *mut APerformanceHintSession,
15262        targetDurationNanos: i64,
15263    ) -> ::std::os::raw::c_int;
15264}
15265extern "C" {
15266    pub fn APerformanceHint_reportActualWorkDuration(
15267        session: *mut APerformanceHintSession,
15268        actualDurationNanos: i64,
15269    ) -> ::std::os::raw::c_int;
15270}
15271extern "C" {
15272    pub fn APerformanceHint_closeSession(session: *mut APerformanceHintSession);
15273}
15274extern "C" {
15275    pub fn APerformanceHint_setThreads(
15276        session: *mut APerformanceHintSession,
15277        threadIds: *const pid_t,
15278        size: usize,
15279    ) -> ::std::os::raw::c_int;
15280}
15281extern "C" {
15282    pub fn APerformanceHint_setPreferPowerEfficiency(
15283        session: *mut APerformanceHintSession,
15284        enabled: bool,
15285    ) -> ::std::os::raw::c_int;
15286}
15287extern "C" {
15288    pub fn APerformanceHint_reportActualWorkDuration2(
15289        session: *mut APerformanceHintSession,
15290        workDuration: *mut AWorkDuration,
15291    ) -> ::std::os::raw::c_int;
15292}
15293extern "C" {
15294    pub fn AWorkDuration_create() -> *mut AWorkDuration;
15295}
15296extern "C" {
15297    pub fn AWorkDuration_release(WorkDuration: *mut AWorkDuration);
15298}
15299extern "C" {
15300    pub fn AWorkDuration_setWorkPeriodStartTimestampNanos(
15301        aWorkDuration: *mut AWorkDuration,
15302        workPeriodStartTimestampNanos: i64,
15303    );
15304}
15305extern "C" {
15306    pub fn AWorkDuration_setActualTotalDurationNanos(
15307        aWorkDuration: *mut AWorkDuration,
15308        actualTotalDurationNanos: i64,
15309    );
15310}
15311extern "C" {
15312    pub fn AWorkDuration_setActualCpuDurationNanos(
15313        aWorkDuration: *mut AWorkDuration,
15314        actualCpuDurationNanos: i64,
15315    );
15316}
15317extern "C" {
15318    pub fn AWorkDuration_setActualGpuDurationNanos(
15319        aWorkDuration: *mut AWorkDuration,
15320        actualGpuDurationNanos: i64,
15321    );
15322}
15323pub const PERMISSION_MANAGER_PERMISSION_GRANTED: _bindgen_ty_39 = 0;
15324pub const PERMISSION_MANAGER_PERMISSION_DENIED: _bindgen_ty_39 = -1;
15325pub type _bindgen_ty_39 = ::std::os::raw::c_int;
15326pub const PERMISSION_MANAGER_STATUS_OK: _bindgen_ty_40 = 0;
15327pub const PERMISSION_MANAGER_STATUS_ERROR_UNKNOWN: _bindgen_ty_40 = -1;
15328pub const PERMISSION_MANAGER_STATUS_SERVICE_UNAVAILABLE: _bindgen_ty_40 = -2;
15329pub type _bindgen_ty_40 = ::std::os::raw::c_int;
15330extern "C" {
15331    pub fn APermissionManager_checkPermission(
15332        permission: *const ::std::os::raw::c_char,
15333        pid: pid_t,
15334        uid: uid_t,
15335        outResult: *mut i32,
15336    ) -> i32;
15337}
15338pub type __double_t = f64;
15339pub type double_t = __double_t;
15340pub type __float_t = f32;
15341pub type float_t = __float_t;
15342extern "C" {
15343    pub fn acos(__x: f64) -> f64;
15344}
15345extern "C" {
15346    pub fn acosf(__x: f32) -> f32;
15347}
15348extern "C" {
15349    pub fn acosl(__x: u128) -> u128;
15350}
15351extern "C" {
15352    pub fn asin(__x: f64) -> f64;
15353}
15354extern "C" {
15355    pub fn asinf(__x: f32) -> f32;
15356}
15357extern "C" {
15358    pub fn asinl(__x: u128) -> u128;
15359}
15360extern "C" {
15361    pub fn atan(__x: f64) -> f64;
15362}
15363extern "C" {
15364    pub fn atanf(__x: f32) -> f32;
15365}
15366extern "C" {
15367    pub fn atanl(__x: u128) -> u128;
15368}
15369extern "C" {
15370    pub fn atan2(__y: f64, __x: f64) -> f64;
15371}
15372extern "C" {
15373    pub fn atan2f(__y: f32, __x: f32) -> f32;
15374}
15375extern "C" {
15376    pub fn atan2l(__y: u128, __x: u128) -> u128;
15377}
15378extern "C" {
15379    pub fn cos(__x: f64) -> f64;
15380}
15381extern "C" {
15382    pub fn cosf(__x: f32) -> f32;
15383}
15384extern "C" {
15385    pub fn cosl(__x: u128) -> u128;
15386}
15387extern "C" {
15388    pub fn sin(__x: f64) -> f64;
15389}
15390extern "C" {
15391    pub fn sinf(__x: f32) -> f32;
15392}
15393extern "C" {
15394    pub fn sinl(__x: u128) -> u128;
15395}
15396extern "C" {
15397    pub fn tan(__x: f64) -> f64;
15398}
15399extern "C" {
15400    pub fn tanf(__x: f32) -> f32;
15401}
15402extern "C" {
15403    pub fn tanl(__x: u128) -> u128;
15404}
15405extern "C" {
15406    pub fn acosh(__x: f64) -> f64;
15407}
15408extern "C" {
15409    pub fn acoshf(__x: f32) -> f32;
15410}
15411extern "C" {
15412    pub fn acoshl(__x: u128) -> u128;
15413}
15414extern "C" {
15415    pub fn asinh(__x: f64) -> f64;
15416}
15417extern "C" {
15418    pub fn asinhf(__x: f32) -> f32;
15419}
15420extern "C" {
15421    pub fn asinhl(__x: u128) -> u128;
15422}
15423extern "C" {
15424    pub fn atanh(__x: f64) -> f64;
15425}
15426extern "C" {
15427    pub fn atanhf(__x: f32) -> f32;
15428}
15429extern "C" {
15430    pub fn atanhl(__x: u128) -> u128;
15431}
15432extern "C" {
15433    pub fn cosh(__x: f64) -> f64;
15434}
15435extern "C" {
15436    pub fn coshf(__x: f32) -> f32;
15437}
15438extern "C" {
15439    pub fn coshl(__x: u128) -> u128;
15440}
15441extern "C" {
15442    pub fn sinh(__x: f64) -> f64;
15443}
15444extern "C" {
15445    pub fn sinhf(__x: f32) -> f32;
15446}
15447extern "C" {
15448    pub fn sinhl(__x: u128) -> u128;
15449}
15450extern "C" {
15451    pub fn tanh(__x: f64) -> f64;
15452}
15453extern "C" {
15454    pub fn tanhf(__x: f32) -> f32;
15455}
15456extern "C" {
15457    pub fn tanhl(__x: u128) -> u128;
15458}
15459extern "C" {
15460    pub fn exp(__x: f64) -> f64;
15461}
15462extern "C" {
15463    pub fn expf(__x: f32) -> f32;
15464}
15465extern "C" {
15466    pub fn expl(__x: u128) -> u128;
15467}
15468extern "C" {
15469    pub fn exp2(__x: f64) -> f64;
15470}
15471extern "C" {
15472    pub fn exp2f(__x: f32) -> f32;
15473}
15474extern "C" {
15475    pub fn exp2l(__x: u128) -> u128;
15476}
15477extern "C" {
15478    pub fn expm1(__x: f64) -> f64;
15479}
15480extern "C" {
15481    pub fn expm1f(__x: f32) -> f32;
15482}
15483extern "C" {
15484    pub fn expm1l(__x: u128) -> u128;
15485}
15486extern "C" {
15487    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
15488}
15489extern "C" {
15490    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
15491}
15492extern "C" {
15493    pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
15494}
15495extern "C" {
15496    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
15497}
15498extern "C" {
15499    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
15500}
15501extern "C" {
15502    pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
15503}
15504extern "C" {
15505    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
15506}
15507extern "C" {
15508    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
15509}
15510extern "C" {
15511    pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
15512}
15513extern "C" {
15514    pub fn log(__x: f64) -> f64;
15515}
15516extern "C" {
15517    pub fn logf(__x: f32) -> f32;
15518}
15519extern "C" {
15520    pub fn logl(__x: u128) -> u128;
15521}
15522extern "C" {
15523    pub fn log10(__x: f64) -> f64;
15524}
15525extern "C" {
15526    pub fn log10f(__x: f32) -> f32;
15527}
15528extern "C" {
15529    pub fn log10l(__x: u128) -> u128;
15530}
15531extern "C" {
15532    pub fn log1p(__x: f64) -> f64;
15533}
15534extern "C" {
15535    pub fn log1pf(__x: f32) -> f32;
15536}
15537extern "C" {
15538    pub fn log1pl(__x: u128) -> u128;
15539}
15540extern "C" {
15541    pub fn log2(__x: f64) -> f64;
15542}
15543extern "C" {
15544    pub fn log2f(__x: f32) -> f32;
15545}
15546extern "C" {
15547    pub fn log2l(__x: u128) -> u128;
15548}
15549extern "C" {
15550    pub fn logb(__x: f64) -> f64;
15551}
15552extern "C" {
15553    pub fn logbf(__x: f32) -> f32;
15554}
15555extern "C" {
15556    pub fn logbl(__x: u128) -> u128;
15557}
15558extern "C" {
15559    pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
15560}
15561extern "C" {
15562    pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
15563}
15564extern "C" {
15565    pub fn modfl(__x: u128, __integral_part: *mut u128) -> u128;
15566}
15567extern "C" {
15568    pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
15569}
15570extern "C" {
15571    pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
15572}
15573extern "C" {
15574    pub fn scalbnl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
15575}
15576extern "C" {
15577    pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
15578}
15579extern "C" {
15580    pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
15581}
15582extern "C" {
15583    pub fn scalblnl(__x: u128, __exponent: ::std::os::raw::c_long) -> u128;
15584}
15585extern "C" {
15586    pub fn cbrt(__x: f64) -> f64;
15587}
15588extern "C" {
15589    pub fn cbrtf(__x: f32) -> f32;
15590}
15591extern "C" {
15592    pub fn cbrtl(__x: u128) -> u128;
15593}
15594extern "C" {
15595    pub fn fabs(__x: f64) -> f64;
15596}
15597extern "C" {
15598    pub fn fabsf(__x: f32) -> f32;
15599}
15600extern "C" {
15601    pub fn fabsl(__x: u128) -> u128;
15602}
15603extern "C" {
15604    pub fn hypot(__x: f64, __y: f64) -> f64;
15605}
15606extern "C" {
15607    pub fn hypotf(__x: f32, __y: f32) -> f32;
15608}
15609extern "C" {
15610    pub fn hypotl(__x: u128, __y: u128) -> u128;
15611}
15612extern "C" {
15613    pub fn pow(__x: f64, __y: f64) -> f64;
15614}
15615extern "C" {
15616    pub fn powf(__x: f32, __y: f32) -> f32;
15617}
15618extern "C" {
15619    pub fn powl(__x: u128, __y: u128) -> u128;
15620}
15621extern "C" {
15622    pub fn sqrt(__x: f64) -> f64;
15623}
15624extern "C" {
15625    pub fn sqrtf(__x: f32) -> f32;
15626}
15627extern "C" {
15628    pub fn sqrtl(__x: u128) -> u128;
15629}
15630extern "C" {
15631    pub fn erf(__x: f64) -> f64;
15632}
15633extern "C" {
15634    pub fn erff(__x: f32) -> f32;
15635}
15636extern "C" {
15637    pub fn erfl(__x: u128) -> u128;
15638}
15639extern "C" {
15640    pub fn erfc(__x: f64) -> f64;
15641}
15642extern "C" {
15643    pub fn erfcf(__x: f32) -> f32;
15644}
15645extern "C" {
15646    pub fn erfcl(__x: u128) -> u128;
15647}
15648extern "C" {
15649    pub fn lgamma(__x: f64) -> f64;
15650}
15651extern "C" {
15652    pub fn lgammaf(__x: f32) -> f32;
15653}
15654extern "C" {
15655    pub fn lgammal(__x: u128) -> u128;
15656}
15657extern "C" {
15658    pub fn tgamma(__x: f64) -> f64;
15659}
15660extern "C" {
15661    pub fn tgammaf(__x: f32) -> f32;
15662}
15663extern "C" {
15664    pub fn tgammal(__x: u128) -> u128;
15665}
15666extern "C" {
15667    pub fn ceil(__x: f64) -> f64;
15668}
15669extern "C" {
15670    pub fn ceilf(__x: f32) -> f32;
15671}
15672extern "C" {
15673    pub fn ceill(__x: u128) -> u128;
15674}
15675extern "C" {
15676    pub fn floor(__x: f64) -> f64;
15677}
15678extern "C" {
15679    pub fn floorf(__x: f32) -> f32;
15680}
15681extern "C" {
15682    pub fn floorl(__x: u128) -> u128;
15683}
15684extern "C" {
15685    pub fn nearbyint(__x: f64) -> f64;
15686}
15687extern "C" {
15688    pub fn nearbyintf(__x: f32) -> f32;
15689}
15690extern "C" {
15691    pub fn nearbyintl(__x: u128) -> u128;
15692}
15693extern "C" {
15694    pub fn rint(__x: f64) -> f64;
15695}
15696extern "C" {
15697    pub fn rintf(__x: f32) -> f32;
15698}
15699extern "C" {
15700    pub fn rintl(__x: u128) -> u128;
15701}
15702extern "C" {
15703    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
15704}
15705extern "C" {
15706    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
15707}
15708extern "C" {
15709    pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
15710}
15711extern "C" {
15712    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
15713}
15714extern "C" {
15715    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
15716}
15717extern "C" {
15718    pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
15719}
15720extern "C" {
15721    pub fn round(__x: f64) -> f64;
15722}
15723extern "C" {
15724    pub fn roundf(__x: f32) -> f32;
15725}
15726extern "C" {
15727    pub fn roundl(__x: u128) -> u128;
15728}
15729extern "C" {
15730    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
15731}
15732extern "C" {
15733    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
15734}
15735extern "C" {
15736    pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
15737}
15738extern "C" {
15739    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
15740}
15741extern "C" {
15742    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
15743}
15744extern "C" {
15745    pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
15746}
15747extern "C" {
15748    pub fn trunc(__x: f64) -> f64;
15749}
15750extern "C" {
15751    pub fn truncf(__x: f32) -> f32;
15752}
15753extern "C" {
15754    pub fn truncl(__x: u128) -> u128;
15755}
15756extern "C" {
15757    pub fn fmod(__x: f64, __y: f64) -> f64;
15758}
15759extern "C" {
15760    pub fn fmodf(__x: f32, __y: f32) -> f32;
15761}
15762extern "C" {
15763    pub fn fmodl(__x: u128, __y: u128) -> u128;
15764}
15765extern "C" {
15766    pub fn remainder(__x: f64, __y: f64) -> f64;
15767}
15768extern "C" {
15769    pub fn remainderf(__x: f32, __y: f32) -> f32;
15770}
15771extern "C" {
15772    pub fn remainderl(__x: u128, __y: u128) -> u128;
15773}
15774extern "C" {
15775    pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
15776}
15777extern "C" {
15778    pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
15779}
15780extern "C" {
15781    pub fn remquol(__x: u128, __y: u128, __quotient_bits: *mut ::std::os::raw::c_int) -> u128;
15782}
15783extern "C" {
15784    pub fn copysign(__value: f64, __sign: f64) -> f64;
15785}
15786extern "C" {
15787    pub fn copysignf(__value: f32, __sign: f32) -> f32;
15788}
15789extern "C" {
15790    pub fn copysignl(__value: u128, __sign: u128) -> u128;
15791}
15792extern "C" {
15793    pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
15794}
15795extern "C" {
15796    pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
15797}
15798extern "C" {
15799    pub fn nanl(__kind: *const ::std::os::raw::c_char) -> u128;
15800}
15801extern "C" {
15802    pub fn nextafter(__x: f64, __y: f64) -> f64;
15803}
15804extern "C" {
15805    pub fn nextafterf(__x: f32, __y: f32) -> f32;
15806}
15807extern "C" {
15808    pub fn nextafterl(__x: u128, __y: u128) -> u128;
15809}
15810extern "C" {
15811    pub fn nexttoward(__x: f64, __y: u128) -> f64;
15812}
15813extern "C" {
15814    pub fn nexttowardf(__x: f32, __y: u128) -> f32;
15815}
15816extern "C" {
15817    pub fn nexttowardl(__x: u128, __y: u128) -> u128;
15818}
15819extern "C" {
15820    pub fn fdim(__x: f64, __y: f64) -> f64;
15821}
15822extern "C" {
15823    pub fn fdimf(__x: f32, __y: f32) -> f32;
15824}
15825extern "C" {
15826    pub fn fdiml(__x: u128, __y: u128) -> u128;
15827}
15828extern "C" {
15829    pub fn fmax(__x: f64, __y: f64) -> f64;
15830}
15831extern "C" {
15832    pub fn fmaxf(__x: f32, __y: f32) -> f32;
15833}
15834extern "C" {
15835    pub fn fmaxl(__x: u128, __y: u128) -> u128;
15836}
15837extern "C" {
15838    pub fn fmin(__x: f64, __y: f64) -> f64;
15839}
15840extern "C" {
15841    pub fn fminf(__x: f32, __y: f32) -> f32;
15842}
15843extern "C" {
15844    pub fn fminl(__x: u128, __y: u128) -> u128;
15845}
15846extern "C" {
15847    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
15848}
15849extern "C" {
15850    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
15851}
15852extern "C" {
15853    pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
15854}
15855extern "C" {
15856    pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
15857}
15858extern "C" {
15859    pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
15860}
15861extern "C" {
15862    pub static mut signgam: ::std::os::raw::c_int;
15863}
15864extern "C" {
15865    pub fn y0(__x: f64) -> f64;
15866}
15867extern "C" {
15868    pub fn y1(__x: f64) -> f64;
15869}
15870extern "C" {
15871    pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
15872}
15873pub const ASENSOR_TYPE_INVALID: _bindgen_ty_41 = -1;
15874pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_41 = 1;
15875pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_41 = 2;
15876pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_41 = 4;
15877pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_41 = 5;
15878pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_41 = 6;
15879pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_41 = 8;
15880pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_41 = 9;
15881pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_41 = 10;
15882pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_41 = 11;
15883pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_41 = 12;
15884pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_41 = 13;
15885pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_41 = 14;
15886pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_41 = 15;
15887pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_41 = 16;
15888pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_41 = 17;
15889pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_41 = 18;
15890pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_41 = 19;
15891pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_41 = 20;
15892pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_41 = 21;
15893pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_41 = 28;
15894pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_41 = 29;
15895pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_41 = 30;
15896pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_41 = 31;
15897pub const ASENSOR_TYPE_DYNAMIC_SENSOR_META: _bindgen_ty_41 = 32;
15898pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_41 = 33;
15899pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_41 = 34;
15900pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_41 = 35;
15901pub const ASENSOR_TYPE_HINGE_ANGLE: _bindgen_ty_41 = 36;
15902pub const ASENSOR_TYPE_HEAD_TRACKER: _bindgen_ty_41 = 37;
15903pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES: _bindgen_ty_41 = 38;
15904pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES: _bindgen_ty_41 = 39;
15905pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_41 = 40;
15906pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_41 = 41;
15907pub const ASENSOR_TYPE_HEADING: _bindgen_ty_41 = 42;
15908pub type _bindgen_ty_41 = ::std::os::raw::c_int;
15909pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_42 = -1;
15910pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_42 = 0;
15911pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_42 = 1;
15912pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_42 = 2;
15913pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_42 = 3;
15914pub type _bindgen_ty_42 = ::std::os::raw::c_int;
15915pub const AREPORTING_MODE_INVALID: _bindgen_ty_43 = -1;
15916pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_43 = 0;
15917pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_43 = 1;
15918pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_43 = 2;
15919pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_43 = 3;
15920pub type _bindgen_ty_43 = ::std::os::raw::c_int;
15921pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_44 = 0;
15922pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_44 = 1;
15923pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_44 = 2;
15924pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_44 = 3;
15925pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
15926pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_45 = 1;
15927pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_45 = 2;
15928pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
15929pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_46 = 0;
15930pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_46 = 1;
15931pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_46 = 65536;
15932pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_46 = 65537;
15933pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_46 = 65538;
15934pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_46 = 65539;
15935pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_46 = 65540;
15936pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
15937#[repr(C)]
15938#[derive(Copy, Clone)]
15939pub struct ASensorVector {
15940    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
15941    pub status: i8,
15942    pub reserved: [u8; 3usize],
15943}
15944#[repr(C)]
15945#[derive(Copy, Clone)]
15946pub union ASensorVector__bindgen_ty_1 {
15947    pub v: [f32; 3usize],
15948    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
15949    pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
15950}
15951#[repr(C)]
15952#[derive(Debug, Copy, Clone)]
15953pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
15954    pub x: f32,
15955    pub y: f32,
15956    pub z: f32,
15957}
15958#[test]
15959fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
15960    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_1> =
15961        ::std::mem::MaybeUninit::uninit();
15962    let ptr = UNINIT.as_ptr();
15963    assert_eq!(
15964        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
15965        12usize,
15966        concat!(
15967            "Size of: ",
15968            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
15969        )
15970    );
15971    assert_eq!(
15972        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
15973        4usize,
15974        concat!(
15975            "Alignment of ",
15976            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
15977        )
15978    );
15979    assert_eq!(
15980        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
15981        0usize,
15982        concat!(
15983            "Offset of field: ",
15984            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
15985            "::",
15986            stringify!(x)
15987        )
15988    );
15989    assert_eq!(
15990        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
15991        4usize,
15992        concat!(
15993            "Offset of field: ",
15994            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
15995            "::",
15996            stringify!(y)
15997        )
15998    );
15999    assert_eq!(
16000        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
16001        8usize,
16002        concat!(
16003            "Offset of field: ",
16004            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
16005            "::",
16006            stringify!(z)
16007        )
16008    );
16009}
16010#[repr(C)]
16011#[derive(Debug, Copy, Clone)]
16012pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
16013    pub azimuth: f32,
16014    pub pitch: f32,
16015    pub roll: f32,
16016}
16017#[test]
16018fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
16019    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_2> =
16020        ::std::mem::MaybeUninit::uninit();
16021    let ptr = UNINIT.as_ptr();
16022    assert_eq!(
16023        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
16024        12usize,
16025        concat!(
16026            "Size of: ",
16027            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
16028        )
16029    );
16030    assert_eq!(
16031        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
16032        4usize,
16033        concat!(
16034            "Alignment of ",
16035            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
16036        )
16037    );
16038    assert_eq!(
16039        unsafe { ::std::ptr::addr_of!((*ptr).azimuth) as usize - ptr as usize },
16040        0usize,
16041        concat!(
16042            "Offset of field: ",
16043            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
16044            "::",
16045            stringify!(azimuth)
16046        )
16047    );
16048    assert_eq!(
16049        unsafe { ::std::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
16050        4usize,
16051        concat!(
16052            "Offset of field: ",
16053            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
16054            "::",
16055            stringify!(pitch)
16056        )
16057    );
16058    assert_eq!(
16059        unsafe { ::std::ptr::addr_of!((*ptr).roll) as usize - ptr as usize },
16060        8usize,
16061        concat!(
16062            "Offset of field: ",
16063            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
16064            "::",
16065            stringify!(roll)
16066        )
16067    );
16068}
16069#[test]
16070fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
16071    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1> =
16072        ::std::mem::MaybeUninit::uninit();
16073    let ptr = UNINIT.as_ptr();
16074    assert_eq!(
16075        ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
16076        12usize,
16077        concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
16078    );
16079    assert_eq!(
16080        ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
16081        4usize,
16082        concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
16083    );
16084    assert_eq!(
16085        unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize },
16086        0usize,
16087        concat!(
16088            "Offset of field: ",
16089            stringify!(ASensorVector__bindgen_ty_1),
16090            "::",
16091            stringify!(v)
16092        )
16093    );
16094}
16095#[test]
16096fn bindgen_test_layout_ASensorVector() {
16097    const UNINIT: ::std::mem::MaybeUninit<ASensorVector> = ::std::mem::MaybeUninit::uninit();
16098    let ptr = UNINIT.as_ptr();
16099    assert_eq!(
16100        ::std::mem::size_of::<ASensorVector>(),
16101        16usize,
16102        concat!("Size of: ", stringify!(ASensorVector))
16103    );
16104    assert_eq!(
16105        ::std::mem::align_of::<ASensorVector>(),
16106        4usize,
16107        concat!("Alignment of ", stringify!(ASensorVector))
16108    );
16109    assert_eq!(
16110        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16111        12usize,
16112        concat!(
16113            "Offset of field: ",
16114            stringify!(ASensorVector),
16115            "::",
16116            stringify!(status)
16117        )
16118    );
16119    assert_eq!(
16120        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
16121        13usize,
16122        concat!(
16123            "Offset of field: ",
16124            stringify!(ASensorVector),
16125            "::",
16126            stringify!(reserved)
16127        )
16128    );
16129}
16130#[repr(C)]
16131#[derive(Debug, Copy, Clone)]
16132pub struct AMetaDataEvent {
16133    pub what: i32,
16134    pub sensor: i32,
16135}
16136#[test]
16137fn bindgen_test_layout_AMetaDataEvent() {
16138    const UNINIT: ::std::mem::MaybeUninit<AMetaDataEvent> = ::std::mem::MaybeUninit::uninit();
16139    let ptr = UNINIT.as_ptr();
16140    assert_eq!(
16141        ::std::mem::size_of::<AMetaDataEvent>(),
16142        8usize,
16143        concat!("Size of: ", stringify!(AMetaDataEvent))
16144    );
16145    assert_eq!(
16146        ::std::mem::align_of::<AMetaDataEvent>(),
16147        4usize,
16148        concat!("Alignment of ", stringify!(AMetaDataEvent))
16149    );
16150    assert_eq!(
16151        unsafe { ::std::ptr::addr_of!((*ptr).what) as usize - ptr as usize },
16152        0usize,
16153        concat!(
16154            "Offset of field: ",
16155            stringify!(AMetaDataEvent),
16156            "::",
16157            stringify!(what)
16158        )
16159    );
16160    assert_eq!(
16161        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
16162        4usize,
16163        concat!(
16164            "Offset of field: ",
16165            stringify!(AMetaDataEvent),
16166            "::",
16167            stringify!(sensor)
16168        )
16169    );
16170}
16171#[repr(C)]
16172#[derive(Copy, Clone)]
16173pub struct AUncalibratedEvent {
16174    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
16175    pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
16176}
16177#[repr(C)]
16178#[derive(Copy, Clone)]
16179pub union AUncalibratedEvent__bindgen_ty_1 {
16180    pub uncalib: [f32; 3usize],
16181    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
16182}
16183#[repr(C)]
16184#[derive(Debug, Copy, Clone)]
16185pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
16186    pub x_uncalib: f32,
16187    pub y_uncalib: f32,
16188    pub z_uncalib: f32,
16189}
16190#[test]
16191fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
16192    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1> =
16193        ::std::mem::MaybeUninit::uninit();
16194    let ptr = UNINIT.as_ptr();
16195    assert_eq!(
16196        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16197        12usize,
16198        concat!(
16199            "Size of: ",
16200            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16201        )
16202    );
16203    assert_eq!(
16204        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16205        4usize,
16206        concat!(
16207            "Alignment of ",
16208            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16209        )
16210    );
16211    assert_eq!(
16212        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
16213        0usize,
16214        concat!(
16215            "Offset of field: ",
16216            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16217            "::",
16218            stringify!(x_uncalib)
16219        )
16220    );
16221    assert_eq!(
16222        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
16223        4usize,
16224        concat!(
16225            "Offset of field: ",
16226            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16227            "::",
16228            stringify!(y_uncalib)
16229        )
16230    );
16231    assert_eq!(
16232        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
16233        8usize,
16234        concat!(
16235            "Offset of field: ",
16236            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16237            "::",
16238            stringify!(z_uncalib)
16239        )
16240    );
16241}
16242#[test]
16243fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
16244    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1> =
16245        ::std::mem::MaybeUninit::uninit();
16246    let ptr = UNINIT.as_ptr();
16247    assert_eq!(
16248        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
16249        12usize,
16250        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
16251    );
16252    assert_eq!(
16253        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
16254        4usize,
16255        concat!(
16256            "Alignment of ",
16257            stringify!(AUncalibratedEvent__bindgen_ty_1)
16258        )
16259    );
16260    assert_eq!(
16261        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
16262        0usize,
16263        concat!(
16264            "Offset of field: ",
16265            stringify!(AUncalibratedEvent__bindgen_ty_1),
16266            "::",
16267            stringify!(uncalib)
16268        )
16269    );
16270}
16271#[repr(C)]
16272#[derive(Copy, Clone)]
16273pub union AUncalibratedEvent__bindgen_ty_2 {
16274    pub bias: [f32; 3usize],
16275    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
16276}
16277#[repr(C)]
16278#[derive(Debug, Copy, Clone)]
16279pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
16280    pub x_bias: f32,
16281    pub y_bias: f32,
16282    pub z_bias: f32,
16283}
16284#[test]
16285fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
16286    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1> =
16287        ::std::mem::MaybeUninit::uninit();
16288    let ptr = UNINIT.as_ptr();
16289    assert_eq!(
16290        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16291        12usize,
16292        concat!(
16293            "Size of: ",
16294            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16295        )
16296    );
16297    assert_eq!(
16298        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16299        4usize,
16300        concat!(
16301            "Alignment of ",
16302            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16303        )
16304    );
16305    assert_eq!(
16306        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
16307        0usize,
16308        concat!(
16309            "Offset of field: ",
16310            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16311            "::",
16312            stringify!(x_bias)
16313        )
16314    );
16315    assert_eq!(
16316        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
16317        4usize,
16318        concat!(
16319            "Offset of field: ",
16320            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16321            "::",
16322            stringify!(y_bias)
16323        )
16324    );
16325    assert_eq!(
16326        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
16327        8usize,
16328        concat!(
16329            "Offset of field: ",
16330            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16331            "::",
16332            stringify!(z_bias)
16333        )
16334    );
16335}
16336#[test]
16337fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
16338    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2> =
16339        ::std::mem::MaybeUninit::uninit();
16340    let ptr = UNINIT.as_ptr();
16341    assert_eq!(
16342        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
16343        12usize,
16344        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
16345    );
16346    assert_eq!(
16347        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
16348        4usize,
16349        concat!(
16350            "Alignment of ",
16351            stringify!(AUncalibratedEvent__bindgen_ty_2)
16352        )
16353    );
16354    assert_eq!(
16355        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
16356        0usize,
16357        concat!(
16358            "Offset of field: ",
16359            stringify!(AUncalibratedEvent__bindgen_ty_2),
16360            "::",
16361            stringify!(bias)
16362        )
16363    );
16364}
16365#[test]
16366fn bindgen_test_layout_AUncalibratedEvent() {
16367    assert_eq!(
16368        ::std::mem::size_of::<AUncalibratedEvent>(),
16369        24usize,
16370        concat!("Size of: ", stringify!(AUncalibratedEvent))
16371    );
16372    assert_eq!(
16373        ::std::mem::align_of::<AUncalibratedEvent>(),
16374        4usize,
16375        concat!("Alignment of ", stringify!(AUncalibratedEvent))
16376    );
16377}
16378#[repr(C)]
16379#[derive(Debug, Copy, Clone)]
16380pub struct AHeartRateEvent {
16381    pub bpm: f32,
16382    pub status: i8,
16383}
16384#[test]
16385fn bindgen_test_layout_AHeartRateEvent() {
16386    const UNINIT: ::std::mem::MaybeUninit<AHeartRateEvent> = ::std::mem::MaybeUninit::uninit();
16387    let ptr = UNINIT.as_ptr();
16388    assert_eq!(
16389        ::std::mem::size_of::<AHeartRateEvent>(),
16390        8usize,
16391        concat!("Size of: ", stringify!(AHeartRateEvent))
16392    );
16393    assert_eq!(
16394        ::std::mem::align_of::<AHeartRateEvent>(),
16395        4usize,
16396        concat!("Alignment of ", stringify!(AHeartRateEvent))
16397    );
16398    assert_eq!(
16399        unsafe { ::std::ptr::addr_of!((*ptr).bpm) as usize - ptr as usize },
16400        0usize,
16401        concat!(
16402            "Offset of field: ",
16403            stringify!(AHeartRateEvent),
16404            "::",
16405            stringify!(bpm)
16406        )
16407    );
16408    assert_eq!(
16409        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16410        4usize,
16411        concat!(
16412            "Offset of field: ",
16413            stringify!(AHeartRateEvent),
16414            "::",
16415            stringify!(status)
16416        )
16417    );
16418}
16419#[repr(C)]
16420#[derive(Debug, Copy, Clone)]
16421pub struct ADynamicSensorEvent {
16422    pub connected: i32,
16423    pub handle: i32,
16424}
16425#[test]
16426fn bindgen_test_layout_ADynamicSensorEvent() {
16427    const UNINIT: ::std::mem::MaybeUninit<ADynamicSensorEvent> = ::std::mem::MaybeUninit::uninit();
16428    let ptr = UNINIT.as_ptr();
16429    assert_eq!(
16430        ::std::mem::size_of::<ADynamicSensorEvent>(),
16431        8usize,
16432        concat!("Size of: ", stringify!(ADynamicSensorEvent))
16433    );
16434    assert_eq!(
16435        ::std::mem::align_of::<ADynamicSensorEvent>(),
16436        4usize,
16437        concat!("Alignment of ", stringify!(ADynamicSensorEvent))
16438    );
16439    assert_eq!(
16440        unsafe { ::std::ptr::addr_of!((*ptr).connected) as usize - ptr as usize },
16441        0usize,
16442        concat!(
16443            "Offset of field: ",
16444            stringify!(ADynamicSensorEvent),
16445            "::",
16446            stringify!(connected)
16447        )
16448    );
16449    assert_eq!(
16450        unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
16451        4usize,
16452        concat!(
16453            "Offset of field: ",
16454            stringify!(ADynamicSensorEvent),
16455            "::",
16456            stringify!(handle)
16457        )
16458    );
16459}
16460#[repr(C)]
16461#[derive(Copy, Clone)]
16462pub struct AAdditionalInfoEvent {
16463    pub type_: i32,
16464    pub serial: i32,
16465    pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
16466}
16467#[repr(C)]
16468#[derive(Copy, Clone)]
16469pub union AAdditionalInfoEvent__bindgen_ty_1 {
16470    pub data_int32: [i32; 14usize],
16471    pub data_float: [f32; 14usize],
16472}
16473#[test]
16474fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
16475    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent__bindgen_ty_1> =
16476        ::std::mem::MaybeUninit::uninit();
16477    let ptr = UNINIT.as_ptr();
16478    assert_eq!(
16479        ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
16480        56usize,
16481        concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
16482    );
16483    assert_eq!(
16484        ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
16485        4usize,
16486        concat!(
16487            "Alignment of ",
16488            stringify!(AAdditionalInfoEvent__bindgen_ty_1)
16489        )
16490    );
16491    assert_eq!(
16492        unsafe { ::std::ptr::addr_of!((*ptr).data_int32) as usize - ptr as usize },
16493        0usize,
16494        concat!(
16495            "Offset of field: ",
16496            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
16497            "::",
16498            stringify!(data_int32)
16499        )
16500    );
16501    assert_eq!(
16502        unsafe { ::std::ptr::addr_of!((*ptr).data_float) as usize - ptr as usize },
16503        0usize,
16504        concat!(
16505            "Offset of field: ",
16506            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
16507            "::",
16508            stringify!(data_float)
16509        )
16510    );
16511}
16512#[test]
16513fn bindgen_test_layout_AAdditionalInfoEvent() {
16514    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent> = ::std::mem::MaybeUninit::uninit();
16515    let ptr = UNINIT.as_ptr();
16516    assert_eq!(
16517        ::std::mem::size_of::<AAdditionalInfoEvent>(),
16518        64usize,
16519        concat!("Size of: ", stringify!(AAdditionalInfoEvent))
16520    );
16521    assert_eq!(
16522        ::std::mem::align_of::<AAdditionalInfoEvent>(),
16523        4usize,
16524        concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
16525    );
16526    assert_eq!(
16527        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16528        0usize,
16529        concat!(
16530            "Offset of field: ",
16531            stringify!(AAdditionalInfoEvent),
16532            "::",
16533            stringify!(type_)
16534        )
16535    );
16536    assert_eq!(
16537        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
16538        4usize,
16539        concat!(
16540            "Offset of field: ",
16541            stringify!(AAdditionalInfoEvent),
16542            "::",
16543            stringify!(serial)
16544        )
16545    );
16546}
16547#[repr(C)]
16548#[derive(Debug, Copy, Clone)]
16549pub struct AHeadTrackerEvent {
16550    pub rx: f32,
16551    pub ry: f32,
16552    pub rz: f32,
16553    pub vx: f32,
16554    pub vy: f32,
16555    pub vz: f32,
16556    pub discontinuity_count: i32,
16557}
16558#[test]
16559fn bindgen_test_layout_AHeadTrackerEvent() {
16560    const UNINIT: ::std::mem::MaybeUninit<AHeadTrackerEvent> = ::std::mem::MaybeUninit::uninit();
16561    let ptr = UNINIT.as_ptr();
16562    assert_eq!(
16563        ::std::mem::size_of::<AHeadTrackerEvent>(),
16564        28usize,
16565        concat!("Size of: ", stringify!(AHeadTrackerEvent))
16566    );
16567    assert_eq!(
16568        ::std::mem::align_of::<AHeadTrackerEvent>(),
16569        4usize,
16570        concat!("Alignment of ", stringify!(AHeadTrackerEvent))
16571    );
16572    assert_eq!(
16573        unsafe { ::std::ptr::addr_of!((*ptr).rx) as usize - ptr as usize },
16574        0usize,
16575        concat!(
16576            "Offset of field: ",
16577            stringify!(AHeadTrackerEvent),
16578            "::",
16579            stringify!(rx)
16580        )
16581    );
16582    assert_eq!(
16583        unsafe { ::std::ptr::addr_of!((*ptr).ry) as usize - ptr as usize },
16584        4usize,
16585        concat!(
16586            "Offset of field: ",
16587            stringify!(AHeadTrackerEvent),
16588            "::",
16589            stringify!(ry)
16590        )
16591    );
16592    assert_eq!(
16593        unsafe { ::std::ptr::addr_of!((*ptr).rz) as usize - ptr as usize },
16594        8usize,
16595        concat!(
16596            "Offset of field: ",
16597            stringify!(AHeadTrackerEvent),
16598            "::",
16599            stringify!(rz)
16600        )
16601    );
16602    assert_eq!(
16603        unsafe { ::std::ptr::addr_of!((*ptr).vx) as usize - ptr as usize },
16604        12usize,
16605        concat!(
16606            "Offset of field: ",
16607            stringify!(AHeadTrackerEvent),
16608            "::",
16609            stringify!(vx)
16610        )
16611    );
16612    assert_eq!(
16613        unsafe { ::std::ptr::addr_of!((*ptr).vy) as usize - ptr as usize },
16614        16usize,
16615        concat!(
16616            "Offset of field: ",
16617            stringify!(AHeadTrackerEvent),
16618            "::",
16619            stringify!(vy)
16620        )
16621    );
16622    assert_eq!(
16623        unsafe { ::std::ptr::addr_of!((*ptr).vz) as usize - ptr as usize },
16624        20usize,
16625        concat!(
16626            "Offset of field: ",
16627            stringify!(AHeadTrackerEvent),
16628            "::",
16629            stringify!(vz)
16630        )
16631    );
16632    assert_eq!(
16633        unsafe { ::std::ptr::addr_of!((*ptr).discontinuity_count) as usize - ptr as usize },
16634        24usize,
16635        concat!(
16636            "Offset of field: ",
16637            stringify!(AHeadTrackerEvent),
16638            "::",
16639            stringify!(discontinuity_count)
16640        )
16641    );
16642}
16643#[repr(C)]
16644#[derive(Copy, Clone)]
16645pub struct ALimitedAxesImuEvent {
16646    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1,
16647    pub __bindgen_anon_2: ALimitedAxesImuEvent__bindgen_ty_2,
16648}
16649#[repr(C)]
16650#[derive(Copy, Clone)]
16651pub union ALimitedAxesImuEvent__bindgen_ty_1 {
16652    pub calib: [f32; 3usize],
16653    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1,
16654}
16655#[repr(C)]
16656#[derive(Debug, Copy, Clone)]
16657pub struct ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1 {
16658    pub x: f32,
16659    pub y: f32,
16660    pub z: f32,
16661}
16662#[test]
16663fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1() {
16664    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1> =
16665        ::std::mem::MaybeUninit::uninit();
16666    let ptr = UNINIT.as_ptr();
16667    assert_eq!(
16668        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
16669        12usize,
16670        concat!(
16671            "Size of: ",
16672            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
16673        )
16674    );
16675    assert_eq!(
16676        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
16677        4usize,
16678        concat!(
16679            "Alignment of ",
16680            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
16681        )
16682    );
16683    assert_eq!(
16684        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
16685        0usize,
16686        concat!(
16687            "Offset of field: ",
16688            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
16689            "::",
16690            stringify!(x)
16691        )
16692    );
16693    assert_eq!(
16694        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
16695        4usize,
16696        concat!(
16697            "Offset of field: ",
16698            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
16699            "::",
16700            stringify!(y)
16701        )
16702    );
16703    assert_eq!(
16704        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
16705        8usize,
16706        concat!(
16707            "Offset of field: ",
16708            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
16709            "::",
16710            stringify!(z)
16711        )
16712    );
16713}
16714#[test]
16715fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1() {
16716    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1> =
16717        ::std::mem::MaybeUninit::uninit();
16718    let ptr = UNINIT.as_ptr();
16719    assert_eq!(
16720        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
16721        12usize,
16722        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_1))
16723    );
16724    assert_eq!(
16725        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
16726        4usize,
16727        concat!(
16728            "Alignment of ",
16729            stringify!(ALimitedAxesImuEvent__bindgen_ty_1)
16730        )
16731    );
16732    assert_eq!(
16733        unsafe { ::std::ptr::addr_of!((*ptr).calib) as usize - ptr as usize },
16734        0usize,
16735        concat!(
16736            "Offset of field: ",
16737            stringify!(ALimitedAxesImuEvent__bindgen_ty_1),
16738            "::",
16739            stringify!(calib)
16740        )
16741    );
16742}
16743#[repr(C)]
16744#[derive(Copy, Clone)]
16745pub union ALimitedAxesImuEvent__bindgen_ty_2 {
16746    pub supported: [f32; 3usize],
16747    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1,
16748}
16749#[repr(C)]
16750#[derive(Debug, Copy, Clone)]
16751pub struct ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1 {
16752    pub x_supported: f32,
16753    pub y_supported: f32,
16754    pub z_supported: f32,
16755}
16756#[test]
16757fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1() {
16758    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1> =
16759        ::std::mem::MaybeUninit::uninit();
16760    let ptr = UNINIT.as_ptr();
16761    assert_eq!(
16762        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
16763        12usize,
16764        concat!(
16765            "Size of: ",
16766            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
16767        )
16768    );
16769    assert_eq!(
16770        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
16771        4usize,
16772        concat!(
16773            "Alignment of ",
16774            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
16775        )
16776    );
16777    assert_eq!(
16778        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
16779        0usize,
16780        concat!(
16781            "Offset of field: ",
16782            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
16783            "::",
16784            stringify!(x_supported)
16785        )
16786    );
16787    assert_eq!(
16788        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
16789        4usize,
16790        concat!(
16791            "Offset of field: ",
16792            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
16793            "::",
16794            stringify!(y_supported)
16795        )
16796    );
16797    assert_eq!(
16798        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
16799        8usize,
16800        concat!(
16801            "Offset of field: ",
16802            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
16803            "::",
16804            stringify!(z_supported)
16805        )
16806    );
16807}
16808#[test]
16809fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2() {
16810    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2> =
16811        ::std::mem::MaybeUninit::uninit();
16812    let ptr = UNINIT.as_ptr();
16813    assert_eq!(
16814        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
16815        12usize,
16816        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_2))
16817    );
16818    assert_eq!(
16819        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
16820        4usize,
16821        concat!(
16822            "Alignment of ",
16823            stringify!(ALimitedAxesImuEvent__bindgen_ty_2)
16824        )
16825    );
16826    assert_eq!(
16827        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
16828        0usize,
16829        concat!(
16830            "Offset of field: ",
16831            stringify!(ALimitedAxesImuEvent__bindgen_ty_2),
16832            "::",
16833            stringify!(supported)
16834        )
16835    );
16836}
16837#[test]
16838fn bindgen_test_layout_ALimitedAxesImuEvent() {
16839    assert_eq!(
16840        ::std::mem::size_of::<ALimitedAxesImuEvent>(),
16841        24usize,
16842        concat!("Size of: ", stringify!(ALimitedAxesImuEvent))
16843    );
16844    assert_eq!(
16845        ::std::mem::align_of::<ALimitedAxesImuEvent>(),
16846        4usize,
16847        concat!("Alignment of ", stringify!(ALimitedAxesImuEvent))
16848    );
16849}
16850#[repr(C)]
16851#[derive(Copy, Clone)]
16852pub struct ALimitedAxesImuUncalibratedEvent {
16853    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1,
16854    pub __bindgen_anon_2: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2,
16855    pub __bindgen_anon_3: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3,
16856}
16857#[repr(C)]
16858#[derive(Copy, Clone)]
16859pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_1 {
16860    pub uncalib: [f32; 3usize],
16861    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
16862}
16863#[repr(C)]
16864#[derive(Debug, Copy, Clone)]
16865pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
16866    pub x_uncalib: f32,
16867    pub y_uncalib: f32,
16868    pub z_uncalib: f32,
16869}
16870#[test]
16871fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
16872    const UNINIT: ::std::mem::MaybeUninit<
16873        ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
16874    > = ::std::mem::MaybeUninit::uninit();
16875    let ptr = UNINIT.as_ptr();
16876    assert_eq!(
16877        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16878        12usize,
16879        concat!(
16880            "Size of: ",
16881            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16882        )
16883    );
16884    assert_eq!(
16885        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16886        4usize,
16887        concat!(
16888            "Alignment of ",
16889            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16890        )
16891    );
16892    assert_eq!(
16893        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
16894        0usize,
16895        concat!(
16896            "Offset of field: ",
16897            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16898            "::",
16899            stringify!(x_uncalib)
16900        )
16901    );
16902    assert_eq!(
16903        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
16904        4usize,
16905        concat!(
16906            "Offset of field: ",
16907            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16908            "::",
16909            stringify!(y_uncalib)
16910        )
16911    );
16912    assert_eq!(
16913        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
16914        8usize,
16915        concat!(
16916            "Offset of field: ",
16917            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16918            "::",
16919            stringify!(z_uncalib)
16920        )
16921    );
16922}
16923#[test]
16924fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1() {
16925    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1> =
16926        ::std::mem::MaybeUninit::uninit();
16927    let ptr = UNINIT.as_ptr();
16928    assert_eq!(
16929        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
16930        12usize,
16931        concat!(
16932            "Size of: ",
16933            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
16934        )
16935    );
16936    assert_eq!(
16937        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
16938        4usize,
16939        concat!(
16940            "Alignment of ",
16941            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
16942        )
16943    );
16944    assert_eq!(
16945        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
16946        0usize,
16947        concat!(
16948            "Offset of field: ",
16949            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1),
16950            "::",
16951            stringify!(uncalib)
16952        )
16953    );
16954}
16955#[repr(C)]
16956#[derive(Copy, Clone)]
16957pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_2 {
16958    pub bias: [f32; 3usize],
16959    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
16960}
16961#[repr(C)]
16962#[derive(Debug, Copy, Clone)]
16963pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
16964    pub x_bias: f32,
16965    pub y_bias: f32,
16966    pub z_bias: f32,
16967}
16968#[test]
16969fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
16970    const UNINIT: ::std::mem::MaybeUninit<
16971        ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
16972    > = ::std::mem::MaybeUninit::uninit();
16973    let ptr = UNINIT.as_ptr();
16974    assert_eq!(
16975        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16976        12usize,
16977        concat!(
16978            "Size of: ",
16979            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16980        )
16981    );
16982    assert_eq!(
16983        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16984        4usize,
16985        concat!(
16986            "Alignment of ",
16987            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16988        )
16989    );
16990    assert_eq!(
16991        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
16992        0usize,
16993        concat!(
16994            "Offset of field: ",
16995            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16996            "::",
16997            stringify!(x_bias)
16998        )
16999    );
17000    assert_eq!(
17001        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
17002        4usize,
17003        concat!(
17004            "Offset of field: ",
17005            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
17006            "::",
17007            stringify!(y_bias)
17008        )
17009    );
17010    assert_eq!(
17011        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
17012        8usize,
17013        concat!(
17014            "Offset of field: ",
17015            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
17016            "::",
17017            stringify!(z_bias)
17018        )
17019    );
17020}
17021#[test]
17022fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2() {
17023    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2> =
17024        ::std::mem::MaybeUninit::uninit();
17025    let ptr = UNINIT.as_ptr();
17026    assert_eq!(
17027        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
17028        12usize,
17029        concat!(
17030            "Size of: ",
17031            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
17032        )
17033    );
17034    assert_eq!(
17035        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
17036        4usize,
17037        concat!(
17038            "Alignment of ",
17039            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
17040        )
17041    );
17042    assert_eq!(
17043        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
17044        0usize,
17045        concat!(
17046            "Offset of field: ",
17047            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2),
17048            "::",
17049            stringify!(bias)
17050        )
17051    );
17052}
17053#[repr(C)]
17054#[derive(Copy, Clone)]
17055pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_3 {
17056    pub supported: [f32; 3usize],
17057    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
17058}
17059#[repr(C)]
17060#[derive(Debug, Copy, Clone)]
17061pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1 {
17062    pub x_supported: f32,
17063    pub y_supported: f32,
17064    pub z_supported: f32,
17065}
17066#[test]
17067fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1() {
17068    const UNINIT: ::std::mem::MaybeUninit<
17069        ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
17070    > = ::std::mem::MaybeUninit::uninit();
17071    let ptr = UNINIT.as_ptr();
17072    assert_eq!(
17073        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
17074        12usize,
17075        concat!(
17076            "Size of: ",
17077            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
17078        )
17079    );
17080    assert_eq!(
17081        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
17082        4usize,
17083        concat!(
17084            "Alignment of ",
17085            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
17086        )
17087    );
17088    assert_eq!(
17089        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
17090        0usize,
17091        concat!(
17092            "Offset of field: ",
17093            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
17094            "::",
17095            stringify!(x_supported)
17096        )
17097    );
17098    assert_eq!(
17099        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
17100        4usize,
17101        concat!(
17102            "Offset of field: ",
17103            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
17104            "::",
17105            stringify!(y_supported)
17106        )
17107    );
17108    assert_eq!(
17109        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
17110        8usize,
17111        concat!(
17112            "Offset of field: ",
17113            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
17114            "::",
17115            stringify!(z_supported)
17116        )
17117    );
17118}
17119#[test]
17120fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3() {
17121    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3> =
17122        ::std::mem::MaybeUninit::uninit();
17123    let ptr = UNINIT.as_ptr();
17124    assert_eq!(
17125        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
17126        12usize,
17127        concat!(
17128            "Size of: ",
17129            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
17130        )
17131    );
17132    assert_eq!(
17133        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
17134        4usize,
17135        concat!(
17136            "Alignment of ",
17137            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
17138        )
17139    );
17140    assert_eq!(
17141        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
17142        0usize,
17143        concat!(
17144            "Offset of field: ",
17145            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3),
17146            "::",
17147            stringify!(supported)
17148        )
17149    );
17150}
17151#[test]
17152fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent() {
17153    assert_eq!(
17154        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent>(),
17155        36usize,
17156        concat!("Size of: ", stringify!(ALimitedAxesImuUncalibratedEvent))
17157    );
17158    assert_eq!(
17159        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent>(),
17160        4usize,
17161        concat!(
17162            "Alignment of ",
17163            stringify!(ALimitedAxesImuUncalibratedEvent)
17164        )
17165    );
17166}
17167#[repr(C)]
17168#[derive(Debug, Copy, Clone)]
17169pub struct AHeadingEvent {
17170    pub heading: f32,
17171    pub accuracy: f32,
17172}
17173#[test]
17174fn bindgen_test_layout_AHeadingEvent() {
17175    const UNINIT: ::std::mem::MaybeUninit<AHeadingEvent> = ::std::mem::MaybeUninit::uninit();
17176    let ptr = UNINIT.as_ptr();
17177    assert_eq!(
17178        ::std::mem::size_of::<AHeadingEvent>(),
17179        8usize,
17180        concat!("Size of: ", stringify!(AHeadingEvent))
17181    );
17182    assert_eq!(
17183        ::std::mem::align_of::<AHeadingEvent>(),
17184        4usize,
17185        concat!("Alignment of ", stringify!(AHeadingEvent))
17186    );
17187    assert_eq!(
17188        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
17189        0usize,
17190        concat!(
17191            "Offset of field: ",
17192            stringify!(AHeadingEvent),
17193            "::",
17194            stringify!(heading)
17195        )
17196    );
17197    assert_eq!(
17198        unsafe { ::std::ptr::addr_of!((*ptr).accuracy) as usize - ptr as usize },
17199        4usize,
17200        concat!(
17201            "Offset of field: ",
17202            stringify!(AHeadingEvent),
17203            "::",
17204            stringify!(accuracy)
17205        )
17206    );
17207}
17208#[repr(C)]
17209#[derive(Copy, Clone)]
17210pub struct ASensorEvent {
17211    pub version: i32,
17212    pub sensor: i32,
17213    pub type_: i32,
17214    pub reserved0: i32,
17215    pub timestamp: i64,
17216    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
17217    pub flags: u32,
17218    pub reserved1: [i32; 3usize],
17219}
17220#[repr(C)]
17221#[derive(Copy, Clone)]
17222pub union ASensorEvent__bindgen_ty_1 {
17223    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
17224    pub u64_: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
17225}
17226#[repr(C)]
17227#[derive(Copy, Clone)]
17228pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
17229    pub data: [f32; 16usize],
17230    pub vector: ASensorVector,
17231    pub acceleration: ASensorVector,
17232    pub gyro: ASensorVector,
17233    pub magnetic: ASensorVector,
17234    pub temperature: f32,
17235    pub distance: f32,
17236    pub light: f32,
17237    pub pressure: f32,
17238    pub relative_humidity: f32,
17239    pub uncalibrated_acceleration: AUncalibratedEvent,
17240    pub uncalibrated_gyro: AUncalibratedEvent,
17241    pub uncalibrated_magnetic: AUncalibratedEvent,
17242    pub meta_data: AMetaDataEvent,
17243    pub heart_rate: AHeartRateEvent,
17244    pub dynamic_sensor_meta: ADynamicSensorEvent,
17245    pub additional_info: AAdditionalInfoEvent,
17246    pub head_tracker: AHeadTrackerEvent,
17247    pub limited_axes_imu: ALimitedAxesImuEvent,
17248    pub limited_axes_imu_uncalibrated: ALimitedAxesImuUncalibratedEvent,
17249    pub heading: AHeadingEvent,
17250}
17251#[test]
17252fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
17253    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_1> =
17254        ::std::mem::MaybeUninit::uninit();
17255    let ptr = UNINIT.as_ptr();
17256    assert_eq!(
17257        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
17258        64usize,
17259        concat!(
17260            "Size of: ",
17261            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
17262        )
17263    );
17264    assert_eq!(
17265        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
17266        4usize,
17267        concat!(
17268            "Alignment of ",
17269            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
17270        )
17271    );
17272    assert_eq!(
17273        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17274        0usize,
17275        concat!(
17276            "Offset of field: ",
17277            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17278            "::",
17279            stringify!(data)
17280        )
17281    );
17282    assert_eq!(
17283        unsafe { ::std::ptr::addr_of!((*ptr).vector) as usize - ptr as usize },
17284        0usize,
17285        concat!(
17286            "Offset of field: ",
17287            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17288            "::",
17289            stringify!(vector)
17290        )
17291    );
17292    assert_eq!(
17293        unsafe { ::std::ptr::addr_of!((*ptr).acceleration) as usize - ptr as usize },
17294        0usize,
17295        concat!(
17296            "Offset of field: ",
17297            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17298            "::",
17299            stringify!(acceleration)
17300        )
17301    );
17302    assert_eq!(
17303        unsafe { ::std::ptr::addr_of!((*ptr).gyro) as usize - ptr as usize },
17304        0usize,
17305        concat!(
17306            "Offset of field: ",
17307            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17308            "::",
17309            stringify!(gyro)
17310        )
17311    );
17312    assert_eq!(
17313        unsafe { ::std::ptr::addr_of!((*ptr).magnetic) as usize - ptr as usize },
17314        0usize,
17315        concat!(
17316            "Offset of field: ",
17317            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17318            "::",
17319            stringify!(magnetic)
17320        )
17321    );
17322    assert_eq!(
17323        unsafe { ::std::ptr::addr_of!((*ptr).temperature) as usize - ptr as usize },
17324        0usize,
17325        concat!(
17326            "Offset of field: ",
17327            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17328            "::",
17329            stringify!(temperature)
17330        )
17331    );
17332    assert_eq!(
17333        unsafe { ::std::ptr::addr_of!((*ptr).distance) as usize - ptr as usize },
17334        0usize,
17335        concat!(
17336            "Offset of field: ",
17337            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17338            "::",
17339            stringify!(distance)
17340        )
17341    );
17342    assert_eq!(
17343        unsafe { ::std::ptr::addr_of!((*ptr).light) as usize - ptr as usize },
17344        0usize,
17345        concat!(
17346            "Offset of field: ",
17347            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17348            "::",
17349            stringify!(light)
17350        )
17351    );
17352    assert_eq!(
17353        unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize },
17354        0usize,
17355        concat!(
17356            "Offset of field: ",
17357            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17358            "::",
17359            stringify!(pressure)
17360        )
17361    );
17362    assert_eq!(
17363        unsafe { ::std::ptr::addr_of!((*ptr).relative_humidity) as usize - ptr as usize },
17364        0usize,
17365        concat!(
17366            "Offset of field: ",
17367            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17368            "::",
17369            stringify!(relative_humidity)
17370        )
17371    );
17372    assert_eq!(
17373        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_acceleration) as usize - ptr as usize },
17374        0usize,
17375        concat!(
17376            "Offset of field: ",
17377            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17378            "::",
17379            stringify!(uncalibrated_acceleration)
17380        )
17381    );
17382    assert_eq!(
17383        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_gyro) as usize - ptr as usize },
17384        0usize,
17385        concat!(
17386            "Offset of field: ",
17387            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17388            "::",
17389            stringify!(uncalibrated_gyro)
17390        )
17391    );
17392    assert_eq!(
17393        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_magnetic) as usize - ptr as usize },
17394        0usize,
17395        concat!(
17396            "Offset of field: ",
17397            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17398            "::",
17399            stringify!(uncalibrated_magnetic)
17400        )
17401    );
17402    assert_eq!(
17403        unsafe { ::std::ptr::addr_of!((*ptr).meta_data) as usize - ptr as usize },
17404        0usize,
17405        concat!(
17406            "Offset of field: ",
17407            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17408            "::",
17409            stringify!(meta_data)
17410        )
17411    );
17412    assert_eq!(
17413        unsafe { ::std::ptr::addr_of!((*ptr).heart_rate) as usize - ptr as usize },
17414        0usize,
17415        concat!(
17416            "Offset of field: ",
17417            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17418            "::",
17419            stringify!(heart_rate)
17420        )
17421    );
17422    assert_eq!(
17423        unsafe { ::std::ptr::addr_of!((*ptr).dynamic_sensor_meta) as usize - ptr as usize },
17424        0usize,
17425        concat!(
17426            "Offset of field: ",
17427            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17428            "::",
17429            stringify!(dynamic_sensor_meta)
17430        )
17431    );
17432    assert_eq!(
17433        unsafe { ::std::ptr::addr_of!((*ptr).additional_info) as usize - ptr as usize },
17434        0usize,
17435        concat!(
17436            "Offset of field: ",
17437            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17438            "::",
17439            stringify!(additional_info)
17440        )
17441    );
17442    assert_eq!(
17443        unsafe { ::std::ptr::addr_of!((*ptr).head_tracker) as usize - ptr as usize },
17444        0usize,
17445        concat!(
17446            "Offset of field: ",
17447            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17448            "::",
17449            stringify!(head_tracker)
17450        )
17451    );
17452    assert_eq!(
17453        unsafe { ::std::ptr::addr_of!((*ptr).limited_axes_imu) as usize - ptr as usize },
17454        0usize,
17455        concat!(
17456            "Offset of field: ",
17457            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17458            "::",
17459            stringify!(limited_axes_imu)
17460        )
17461    );
17462    assert_eq!(
17463        unsafe {
17464            ::std::ptr::addr_of!((*ptr).limited_axes_imu_uncalibrated) as usize - ptr as usize
17465        },
17466        0usize,
17467        concat!(
17468            "Offset of field: ",
17469            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17470            "::",
17471            stringify!(limited_axes_imu_uncalibrated)
17472        )
17473    );
17474    assert_eq!(
17475        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
17476        0usize,
17477        concat!(
17478            "Offset of field: ",
17479            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17480            "::",
17481            stringify!(heading)
17482        )
17483    );
17484}
17485#[repr(C)]
17486#[derive(Copy, Clone)]
17487pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
17488    pub data: [u64; 8usize],
17489    pub step_counter: u64,
17490}
17491#[test]
17492fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
17493    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_2> =
17494        ::std::mem::MaybeUninit::uninit();
17495    let ptr = UNINIT.as_ptr();
17496    assert_eq!(
17497        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
17498        64usize,
17499        concat!(
17500            "Size of: ",
17501            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
17502        )
17503    );
17504    assert_eq!(
17505        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
17506        8usize,
17507        concat!(
17508            "Alignment of ",
17509            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
17510        )
17511    );
17512    assert_eq!(
17513        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17514        0usize,
17515        concat!(
17516            "Offset of field: ",
17517            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
17518            "::",
17519            stringify!(data)
17520        )
17521    );
17522    assert_eq!(
17523        unsafe { ::std::ptr::addr_of!((*ptr).step_counter) as usize - ptr as usize },
17524        0usize,
17525        concat!(
17526            "Offset of field: ",
17527            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
17528            "::",
17529            stringify!(step_counter)
17530        )
17531    );
17532}
17533#[test]
17534fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
17535    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1> =
17536        ::std::mem::MaybeUninit::uninit();
17537    let ptr = UNINIT.as_ptr();
17538    assert_eq!(
17539        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
17540        64usize,
17541        concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
17542    );
17543    assert_eq!(
17544        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
17545        8usize,
17546        concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
17547    );
17548    assert_eq!(
17549        unsafe { ::std::ptr::addr_of!((*ptr).u64_) as usize - ptr as usize },
17550        0usize,
17551        concat!(
17552            "Offset of field: ",
17553            stringify!(ASensorEvent__bindgen_ty_1),
17554            "::",
17555            stringify!(u64_)
17556        )
17557    );
17558}
17559#[test]
17560fn bindgen_test_layout_ASensorEvent() {
17561    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent> = ::std::mem::MaybeUninit::uninit();
17562    let ptr = UNINIT.as_ptr();
17563    assert_eq!(
17564        ::std::mem::size_of::<ASensorEvent>(),
17565        104usize,
17566        concat!("Size of: ", stringify!(ASensorEvent))
17567    );
17568    assert_eq!(
17569        ::std::mem::align_of::<ASensorEvent>(),
17570        8usize,
17571        concat!("Alignment of ", stringify!(ASensorEvent))
17572    );
17573    assert_eq!(
17574        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17575        0usize,
17576        concat!(
17577            "Offset of field: ",
17578            stringify!(ASensorEvent),
17579            "::",
17580            stringify!(version)
17581        )
17582    );
17583    assert_eq!(
17584        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
17585        4usize,
17586        concat!(
17587            "Offset of field: ",
17588            stringify!(ASensorEvent),
17589            "::",
17590            stringify!(sensor)
17591        )
17592    );
17593    assert_eq!(
17594        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
17595        8usize,
17596        concat!(
17597            "Offset of field: ",
17598            stringify!(ASensorEvent),
17599            "::",
17600            stringify!(type_)
17601        )
17602    );
17603    assert_eq!(
17604        unsafe { ::std::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize },
17605        12usize,
17606        concat!(
17607            "Offset of field: ",
17608            stringify!(ASensorEvent),
17609            "::",
17610            stringify!(reserved0)
17611        )
17612    );
17613    assert_eq!(
17614        unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
17615        16usize,
17616        concat!(
17617            "Offset of field: ",
17618            stringify!(ASensorEvent),
17619            "::",
17620            stringify!(timestamp)
17621        )
17622    );
17623    assert_eq!(
17624        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
17625        88usize,
17626        concat!(
17627            "Offset of field: ",
17628            stringify!(ASensorEvent),
17629            "::",
17630            stringify!(flags)
17631        )
17632    );
17633    assert_eq!(
17634        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
17635        92usize,
17636        concat!(
17637            "Offset of field: ",
17638            stringify!(ASensorEvent),
17639            "::",
17640            stringify!(reserved1)
17641        )
17642    );
17643}
17644#[repr(C)]
17645#[derive(Debug, Copy, Clone)]
17646pub struct ASensorManager {
17647    _unused: [u8; 0],
17648}
17649#[repr(C)]
17650#[derive(Debug, Copy, Clone)]
17651pub struct ASensorEventQueue {
17652    _unused: [u8; 0],
17653}
17654#[repr(C)]
17655#[derive(Debug, Copy, Clone)]
17656pub struct ASensor {
17657    _unused: [u8; 0],
17658}
17659pub type ASensorRef = *const ASensor;
17660pub type ASensorList = *const ASensorRef;
17661extern "C" {
17662    pub fn ASensorManager_getInstance() -> *mut ASensorManager;
17663}
17664extern "C" {
17665    pub fn ASensorManager_getInstanceForPackage(
17666        packageName: *const ::std::os::raw::c_char,
17667    ) -> *mut ASensorManager;
17668}
17669extern "C" {
17670    pub fn ASensorManager_getSensorList(
17671        manager: *mut ASensorManager,
17672        list: *mut ASensorList,
17673    ) -> ::std::os::raw::c_int;
17674}
17675extern "C" {
17676    pub fn ASensorManager_getDynamicSensorList(
17677        manager: *mut ASensorManager,
17678        list: *mut ASensorList,
17679    ) -> isize;
17680}
17681extern "C" {
17682    pub fn ASensorManager_getDefaultSensor(
17683        manager: *mut ASensorManager,
17684        type_: ::std::os::raw::c_int,
17685    ) -> *const ASensor;
17686}
17687extern "C" {
17688    pub fn ASensorManager_getDefaultSensorEx(
17689        manager: *mut ASensorManager,
17690        type_: ::std::os::raw::c_int,
17691        wakeUp: bool,
17692    ) -> *const ASensor;
17693}
17694extern "C" {
17695    pub fn ASensorManager_createEventQueue(
17696        manager: *mut ASensorManager,
17697        looper: *mut ALooper,
17698        ident: ::std::os::raw::c_int,
17699        callback: ALooper_callbackFunc,
17700        data: *mut ::std::os::raw::c_void,
17701    ) -> *mut ASensorEventQueue;
17702}
17703extern "C" {
17704    pub fn ASensorManager_destroyEventQueue(
17705        manager: *mut ASensorManager,
17706        queue: *mut ASensorEventQueue,
17707    ) -> ::std::os::raw::c_int;
17708}
17709extern "C" {
17710    pub fn ASensorManager_createSharedMemoryDirectChannel(
17711        manager: *mut ASensorManager,
17712        fd: ::std::os::raw::c_int,
17713        size: usize,
17714    ) -> ::std::os::raw::c_int;
17715}
17716extern "C" {
17717    pub fn ASensorManager_createHardwareBufferDirectChannel(
17718        manager: *mut ASensorManager,
17719        buffer: *const AHardwareBuffer,
17720        size: usize,
17721    ) -> ::std::os::raw::c_int;
17722}
17723extern "C" {
17724    pub fn ASensorManager_destroyDirectChannel(
17725        manager: *mut ASensorManager,
17726        channelId: ::std::os::raw::c_int,
17727    );
17728}
17729extern "C" {
17730    pub fn ASensorManager_configureDirectReport(
17731        manager: *mut ASensorManager,
17732        sensor: *const ASensor,
17733        channelId: ::std::os::raw::c_int,
17734        rate: ::std::os::raw::c_int,
17735    ) -> ::std::os::raw::c_int;
17736}
17737extern "C" {
17738    pub fn ASensorEventQueue_registerSensor(
17739        queue: *mut ASensorEventQueue,
17740        sensor: *const ASensor,
17741        samplingPeriodUs: i32,
17742        maxBatchReportLatencyUs: i64,
17743    ) -> ::std::os::raw::c_int;
17744}
17745extern "C" {
17746    pub fn ASensorEventQueue_enableSensor(
17747        queue: *mut ASensorEventQueue,
17748        sensor: *const ASensor,
17749    ) -> ::std::os::raw::c_int;
17750}
17751extern "C" {
17752    pub fn ASensorEventQueue_disableSensor(
17753        queue: *mut ASensorEventQueue,
17754        sensor: *const ASensor,
17755    ) -> ::std::os::raw::c_int;
17756}
17757extern "C" {
17758    pub fn ASensorEventQueue_setEventRate(
17759        queue: *mut ASensorEventQueue,
17760        sensor: *const ASensor,
17761        usec: i32,
17762    ) -> ::std::os::raw::c_int;
17763}
17764extern "C" {
17765    pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
17766}
17767extern "C" {
17768    pub fn ASensorEventQueue_getEvents(
17769        queue: *mut ASensorEventQueue,
17770        events: *mut ASensorEvent,
17771        count: usize,
17772    ) -> isize;
17773}
17774extern "C" {
17775    pub fn ASensorEventQueue_requestAdditionalInfoEvents(
17776        queue: *mut ASensorEventQueue,
17777        enable: bool,
17778    ) -> ::std::os::raw::c_int;
17779}
17780extern "C" {
17781    pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
17782}
17783extern "C" {
17784    pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
17785}
17786extern "C" {
17787    pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
17788}
17789extern "C" {
17790    pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
17791}
17792extern "C" {
17793    pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
17794}
17795extern "C" {
17796    pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
17797}
17798extern "C" {
17799    pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
17800}
17801extern "C" {
17802    pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
17803}
17804extern "C" {
17805    pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
17806}
17807extern "C" {
17808    pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
17809}
17810extern "C" {
17811    pub fn ASensor_isDirectChannelTypeSupported(
17812        sensor: *const ASensor,
17813        channelType: ::std::os::raw::c_int,
17814    ) -> bool;
17815}
17816extern "C" {
17817    pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
17818        -> ::std::os::raw::c_int;
17819}
17820extern "C" {
17821    pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
17822}
17823extern "C" {
17824    pub fn strcasecmp(
17825        __s1: *const ::std::os::raw::c_char,
17826        __s2: *const ::std::os::raw::c_char,
17827    ) -> ::std::os::raw::c_int;
17828}
17829extern "C" {
17830    pub fn strcasecmp_l(
17831        __s1: *const ::std::os::raw::c_char,
17832        __s2: *const ::std::os::raw::c_char,
17833        __l: locale_t,
17834    ) -> ::std::os::raw::c_int;
17835}
17836extern "C" {
17837    pub fn strncasecmp(
17838        __s1: *const ::std::os::raw::c_char,
17839        __s2: *const ::std::os::raw::c_char,
17840        __n: ::std::os::raw::c_ulong,
17841    ) -> ::std::os::raw::c_int;
17842}
17843extern "C" {
17844    pub fn strncasecmp_l(
17845        __s1: *const ::std::os::raw::c_char,
17846        __s2: *const ::std::os::raw::c_char,
17847        __n: usize,
17848        __l: locale_t,
17849    ) -> ::std::os::raw::c_int;
17850}
17851extern "C" {
17852    pub fn memccpy(
17853        __dst: *mut ::std::os::raw::c_void,
17854        __src: *const ::std::os::raw::c_void,
17855        __stop_char: ::std::os::raw::c_int,
17856        __n: ::std::os::raw::c_ulong,
17857    ) -> *mut ::std::os::raw::c_void;
17858}
17859extern "C" {
17860    pub fn memchr(
17861        __s: *const ::std::os::raw::c_void,
17862        __ch: ::std::os::raw::c_int,
17863        __n: ::std::os::raw::c_ulong,
17864    ) -> *mut ::std::os::raw::c_void;
17865}
17866extern "C" {
17867    pub fn memrchr(
17868        __s: *const ::std::os::raw::c_void,
17869        __ch: ::std::os::raw::c_int,
17870        __n: usize,
17871    ) -> *mut ::std::os::raw::c_void;
17872}
17873extern "C" {
17874    pub fn memcmp(
17875        __lhs: *const ::std::os::raw::c_void,
17876        __rhs: *const ::std::os::raw::c_void,
17877        __n: ::std::os::raw::c_ulong,
17878    ) -> ::std::os::raw::c_int;
17879}
17880extern "C" {
17881    pub fn memcpy(
17882        arg1: *mut ::std::os::raw::c_void,
17883        arg2: *const ::std::os::raw::c_void,
17884        arg3: ::std::os::raw::c_ulong,
17885    ) -> *mut ::std::os::raw::c_void;
17886}
17887extern "C" {
17888    pub fn memmove(
17889        __dst: *mut ::std::os::raw::c_void,
17890        __src: *const ::std::os::raw::c_void,
17891        __n: ::std::os::raw::c_ulong,
17892    ) -> *mut ::std::os::raw::c_void;
17893}
17894extern "C" {
17895    pub fn memset(
17896        __dst: *mut ::std::os::raw::c_void,
17897        __ch: ::std::os::raw::c_int,
17898        __n: ::std::os::raw::c_ulong,
17899    ) -> *mut ::std::os::raw::c_void;
17900}
17901extern "C" {
17902    pub fn memset_explicit(
17903        __dst: *mut ::std::os::raw::c_void,
17904        __ch: ::std::os::raw::c_int,
17905        __n: usize,
17906    ) -> *mut ::std::os::raw::c_void;
17907}
17908extern "C" {
17909    pub fn memmem(
17910        __haystack: *const ::std::os::raw::c_void,
17911        __haystack_size: usize,
17912        __needle: *const ::std::os::raw::c_void,
17913        __needle_size: usize,
17914    ) -> *mut ::std::os::raw::c_void;
17915}
17916extern "C" {
17917    pub fn strchr(
17918        __s: *const ::std::os::raw::c_char,
17919        __ch: ::std::os::raw::c_int,
17920    ) -> *mut ::std::os::raw::c_char;
17921}
17922extern "C" {
17923    pub fn __strchr_chk(
17924        __s: *const ::std::os::raw::c_char,
17925        __ch: ::std::os::raw::c_int,
17926        __n: usize,
17927    ) -> *mut ::std::os::raw::c_char;
17928}
17929extern "C" {
17930    pub fn strrchr(
17931        __s: *const ::std::os::raw::c_char,
17932        __ch: ::std::os::raw::c_int,
17933    ) -> *mut ::std::os::raw::c_char;
17934}
17935extern "C" {
17936    pub fn __strrchr_chk(
17937        __s: *const ::std::os::raw::c_char,
17938        __ch: ::std::os::raw::c_int,
17939        __n: usize,
17940    ) -> *mut ::std::os::raw::c_char;
17941}
17942extern "C" {
17943    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
17944}
17945extern "C" {
17946    pub fn __strlen_chk(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
17947}
17948extern "C" {
17949    pub fn strcmp(
17950        __lhs: *const ::std::os::raw::c_char,
17951        __rhs: *const ::std::os::raw::c_char,
17952    ) -> ::std::os::raw::c_int;
17953}
17954extern "C" {
17955    pub fn stpcpy(
17956        __dst: *mut ::std::os::raw::c_char,
17957        __src: *const ::std::os::raw::c_char,
17958    ) -> *mut ::std::os::raw::c_char;
17959}
17960extern "C" {
17961    pub fn strcpy(
17962        __dst: *mut ::std::os::raw::c_char,
17963        __src: *const ::std::os::raw::c_char,
17964    ) -> *mut ::std::os::raw::c_char;
17965}
17966extern "C" {
17967    pub fn strcat(
17968        __dst: *mut ::std::os::raw::c_char,
17969        __src: *const ::std::os::raw::c_char,
17970    ) -> *mut ::std::os::raw::c_char;
17971}
17972extern "C" {
17973    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
17974}
17975extern "C" {
17976    pub fn strstr(
17977        __haystack: *const ::std::os::raw::c_char,
17978        __needle: *const ::std::os::raw::c_char,
17979    ) -> *mut ::std::os::raw::c_char;
17980}
17981extern "C" {
17982    pub fn strcasestr(
17983        __haystack: *const ::std::os::raw::c_char,
17984        __needle: *const ::std::os::raw::c_char,
17985    ) -> *mut ::std::os::raw::c_char;
17986}
17987extern "C" {
17988    pub fn strtok(
17989        __s: *mut ::std::os::raw::c_char,
17990        __delimiter: *const ::std::os::raw::c_char,
17991    ) -> *mut ::std::os::raw::c_char;
17992}
17993extern "C" {
17994    pub fn strtok_r(
17995        __s: *mut ::std::os::raw::c_char,
17996        __delimiter: *const ::std::os::raw::c_char,
17997        __pos_ptr: *mut *mut ::std::os::raw::c_char,
17998    ) -> *mut ::std::os::raw::c_char;
17999}
18000extern "C" {
18001    pub fn strerror(__errno_value: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
18002}
18003extern "C" {
18004    pub fn strerror_l(
18005        __errno_value: ::std::os::raw::c_int,
18006        __l: locale_t,
18007    ) -> *mut ::std::os::raw::c_char;
18008}
18009extern "C" {
18010    pub fn strerror_r(
18011        __errno_value: ::std::os::raw::c_int,
18012        __buf: *mut ::std::os::raw::c_char,
18013        __n: usize,
18014    ) -> ::std::os::raw::c_int;
18015}
18016extern "C" {
18017    pub fn strnlen(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
18018}
18019extern "C" {
18020    pub fn strncat(
18021        __dst: *mut ::std::os::raw::c_char,
18022        __src: *const ::std::os::raw::c_char,
18023        __n: ::std::os::raw::c_ulong,
18024    ) -> *mut ::std::os::raw::c_char;
18025}
18026extern "C" {
18027    pub fn strndup(
18028        __s: *const ::std::os::raw::c_char,
18029        __n: ::std::os::raw::c_ulong,
18030    ) -> *mut ::std::os::raw::c_char;
18031}
18032extern "C" {
18033    pub fn strncmp(
18034        __lhs: *const ::std::os::raw::c_char,
18035        __rhs: *const ::std::os::raw::c_char,
18036        __n: ::std::os::raw::c_ulong,
18037    ) -> ::std::os::raw::c_int;
18038}
18039extern "C" {
18040    pub fn stpncpy(
18041        __dst: *mut ::std::os::raw::c_char,
18042        __src: *const ::std::os::raw::c_char,
18043        __n: ::std::os::raw::c_ulong,
18044    ) -> *mut ::std::os::raw::c_char;
18045}
18046extern "C" {
18047    pub fn strncpy(
18048        __dst: *mut ::std::os::raw::c_char,
18049        __src: *const ::std::os::raw::c_char,
18050        __n: ::std::os::raw::c_ulong,
18051    ) -> *mut ::std::os::raw::c_char;
18052}
18053extern "C" {
18054    pub fn strlcat(
18055        __dst: *mut ::std::os::raw::c_char,
18056        __src: *const ::std::os::raw::c_char,
18057        __n: ::std::os::raw::c_ulong,
18058    ) -> ::std::os::raw::c_ulong;
18059}
18060extern "C" {
18061    pub fn strlcpy(
18062        __dst: *mut ::std::os::raw::c_char,
18063        __src: *const ::std::os::raw::c_char,
18064        __n: ::std::os::raw::c_ulong,
18065    ) -> ::std::os::raw::c_ulong;
18066}
18067extern "C" {
18068    pub fn strcspn(
18069        __s: *const ::std::os::raw::c_char,
18070        __reject: *const ::std::os::raw::c_char,
18071    ) -> ::std::os::raw::c_ulong;
18072}
18073extern "C" {
18074    pub fn strpbrk(
18075        __s: *const ::std::os::raw::c_char,
18076        __accept: *const ::std::os::raw::c_char,
18077    ) -> *mut ::std::os::raw::c_char;
18078}
18079extern "C" {
18080    pub fn strsep(
18081        __s_ptr: *mut *mut ::std::os::raw::c_char,
18082        __delimiter: *const ::std::os::raw::c_char,
18083    ) -> *mut ::std::os::raw::c_char;
18084}
18085extern "C" {
18086    pub fn strspn(
18087        __s: *const ::std::os::raw::c_char,
18088        __accept: *const ::std::os::raw::c_char,
18089    ) -> ::std::os::raw::c_ulong;
18090}
18091extern "C" {
18092    pub fn strsignal(__signal: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
18093}
18094extern "C" {
18095    pub fn strcoll(
18096        __lhs: *const ::std::os::raw::c_char,
18097        __rhs: *const ::std::os::raw::c_char,
18098    ) -> ::std::os::raw::c_int;
18099}
18100extern "C" {
18101    pub fn strxfrm(
18102        __dst: *mut ::std::os::raw::c_char,
18103        __src: *const ::std::os::raw::c_char,
18104        __n: ::std::os::raw::c_ulong,
18105    ) -> ::std::os::raw::c_ulong;
18106}
18107extern "C" {
18108    pub fn strcoll_l(
18109        __lhs: *const ::std::os::raw::c_char,
18110        __rhs: *const ::std::os::raw::c_char,
18111        __l: locale_t,
18112    ) -> ::std::os::raw::c_int;
18113}
18114extern "C" {
18115    pub fn strxfrm_l(
18116        __dst: *mut ::std::os::raw::c_char,
18117        __src: *const ::std::os::raw::c_char,
18118        __n: usize,
18119        __l: locale_t,
18120    ) -> usize;
18121}
18122#[repr(C)]
18123#[derive(Debug, Copy, Clone)]
18124pub struct crash_detail_t {
18125    _unused: [u8; 0],
18126}
18127extern "C" {
18128    pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
18129}
18130extern "C" {
18131    pub fn ASharedMemory_create(
18132        name: *const ::std::os::raw::c_char,
18133        size: usize,
18134    ) -> ::std::os::raw::c_int;
18135}
18136extern "C" {
18137    pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize;
18138}
18139extern "C" {
18140    pub fn ASharedMemory_setProt(
18141        fd: ::std::os::raw::c_int,
18142        prot: ::std::os::raw::c_int,
18143    ) -> ::std::os::raw::c_int;
18144}
18145extern "C" {
18146    pub fn ASharedMemory_dupFromJava(
18147        env: *mut JNIEnv,
18148        sharedMemory: jobject,
18149    ) -> ::std::os::raw::c_int;
18150}
18151#[repr(C)]
18152#[derive(Debug, Copy, Clone)]
18153pub struct AStorageManager {
18154    _unused: [u8; 0],
18155}
18156pub const AOBB_STATE_MOUNTED: _bindgen_ty_47 = 1;
18157pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_47 = 2;
18158pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_47 = 20;
18159pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_47 = 21;
18160pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_47 = 22;
18161pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_47 = 23;
18162pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_47 = 24;
18163pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_47 = 25;
18164pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
18165extern "C" {
18166    pub fn AStorageManager_new() -> *mut AStorageManager;
18167}
18168extern "C" {
18169    pub fn AStorageManager_delete(mgr: *mut AStorageManager);
18170}
18171pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
18172    unsafe extern "C" fn(
18173        filename: *const ::std::os::raw::c_char,
18174        state: i32,
18175        data: *mut ::std::os::raw::c_void,
18176    ),
18177>;
18178extern "C" {
18179    pub fn AStorageManager_mountObb(
18180        mgr: *mut AStorageManager,
18181        filename: *const ::std::os::raw::c_char,
18182        key: *const ::std::os::raw::c_char,
18183        cb: AStorageManager_obbCallbackFunc,
18184        data: *mut ::std::os::raw::c_void,
18185    );
18186}
18187extern "C" {
18188    pub fn AStorageManager_unmountObb(
18189        mgr: *mut AStorageManager,
18190        filename: *const ::std::os::raw::c_char,
18191        force: ::std::os::raw::c_int,
18192        cb: AStorageManager_obbCallbackFunc,
18193        data: *mut ::std::os::raw::c_void,
18194    );
18195}
18196extern "C" {
18197    pub fn AStorageManager_isObbMounted(
18198        mgr: *mut AStorageManager,
18199        filename: *const ::std::os::raw::c_char,
18200    ) -> ::std::os::raw::c_int;
18201}
18202extern "C" {
18203    pub fn AStorageManager_getMountedObbPath(
18204        mgr: *mut AStorageManager,
18205        filename: *const ::std::os::raw::c_char,
18206    ) -> *const ::std::os::raw::c_char;
18207}
18208#[repr(C)]
18209#[derive(Debug, Copy, Clone)]
18210pub struct ASurfaceTexture {
18211    _unused: [u8; 0],
18212}
18213extern "C" {
18214    pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
18215}
18216extern "C" {
18217    pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
18218}
18219extern "C" {
18220    pub fn ASurfaceTexture_attachToGLContext(
18221        st: *mut ASurfaceTexture,
18222        texName: u32,
18223    ) -> ::std::os::raw::c_int;
18224}
18225extern "C" {
18226    pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
18227}
18228extern "C" {
18229    pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
18230}
18231extern "C" {
18232    pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
18233}
18234extern "C" {
18235    pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
18236}
18237extern "C" {
18238    pub fn ASurfaceTexture_fromSurfaceTexture(
18239        env: *mut JNIEnv,
18240        surfacetexture: jobject,
18241    ) -> *mut ASurfaceTexture;
18242}
18243#[repr(C)]
18244#[derive(Debug, Copy, Clone)]
18245pub struct sync_merge_data {
18246    pub name: [::std::os::raw::c_char; 32usize],
18247    pub fd2: __s32,
18248    pub fence: __s32,
18249    pub flags: __u32,
18250    pub pad: __u32,
18251}
18252#[test]
18253fn bindgen_test_layout_sync_merge_data() {
18254    const UNINIT: ::std::mem::MaybeUninit<sync_merge_data> = ::std::mem::MaybeUninit::uninit();
18255    let ptr = UNINIT.as_ptr();
18256    assert_eq!(
18257        ::std::mem::size_of::<sync_merge_data>(),
18258        48usize,
18259        concat!("Size of: ", stringify!(sync_merge_data))
18260    );
18261    assert_eq!(
18262        ::std::mem::align_of::<sync_merge_data>(),
18263        4usize,
18264        concat!("Alignment of ", stringify!(sync_merge_data))
18265    );
18266    assert_eq!(
18267        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
18268        0usize,
18269        concat!(
18270            "Offset of field: ",
18271            stringify!(sync_merge_data),
18272            "::",
18273            stringify!(name)
18274        )
18275    );
18276    assert_eq!(
18277        unsafe { ::std::ptr::addr_of!((*ptr).fd2) as usize - ptr as usize },
18278        32usize,
18279        concat!(
18280            "Offset of field: ",
18281            stringify!(sync_merge_data),
18282            "::",
18283            stringify!(fd2)
18284        )
18285    );
18286    assert_eq!(
18287        unsafe { ::std::ptr::addr_of!((*ptr).fence) as usize - ptr as usize },
18288        36usize,
18289        concat!(
18290            "Offset of field: ",
18291            stringify!(sync_merge_data),
18292            "::",
18293            stringify!(fence)
18294        )
18295    );
18296    assert_eq!(
18297        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
18298        40usize,
18299        concat!(
18300            "Offset of field: ",
18301            stringify!(sync_merge_data),
18302            "::",
18303            stringify!(flags)
18304        )
18305    );
18306    assert_eq!(
18307        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
18308        44usize,
18309        concat!(
18310            "Offset of field: ",
18311            stringify!(sync_merge_data),
18312            "::",
18313            stringify!(pad)
18314        )
18315    );
18316}
18317#[repr(C)]
18318#[derive(Debug, Copy, Clone)]
18319pub struct sync_fence_info {
18320    pub obj_name: [::std::os::raw::c_char; 32usize],
18321    pub driver_name: [::std::os::raw::c_char; 32usize],
18322    pub status: __s32,
18323    pub flags: __u32,
18324    pub timestamp_ns: __u64,
18325}
18326#[test]
18327fn bindgen_test_layout_sync_fence_info() {
18328    const UNINIT: ::std::mem::MaybeUninit<sync_fence_info> = ::std::mem::MaybeUninit::uninit();
18329    let ptr = UNINIT.as_ptr();
18330    assert_eq!(
18331        ::std::mem::size_of::<sync_fence_info>(),
18332        80usize,
18333        concat!("Size of: ", stringify!(sync_fence_info))
18334    );
18335    assert_eq!(
18336        ::std::mem::align_of::<sync_fence_info>(),
18337        8usize,
18338        concat!("Alignment of ", stringify!(sync_fence_info))
18339    );
18340    assert_eq!(
18341        unsafe { ::std::ptr::addr_of!((*ptr).obj_name) as usize - ptr as usize },
18342        0usize,
18343        concat!(
18344            "Offset of field: ",
18345            stringify!(sync_fence_info),
18346            "::",
18347            stringify!(obj_name)
18348        )
18349    );
18350    assert_eq!(
18351        unsafe { ::std::ptr::addr_of!((*ptr).driver_name) as usize - ptr as usize },
18352        32usize,
18353        concat!(
18354            "Offset of field: ",
18355            stringify!(sync_fence_info),
18356            "::",
18357            stringify!(driver_name)
18358        )
18359    );
18360    assert_eq!(
18361        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
18362        64usize,
18363        concat!(
18364            "Offset of field: ",
18365            stringify!(sync_fence_info),
18366            "::",
18367            stringify!(status)
18368        )
18369    );
18370    assert_eq!(
18371        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
18372        68usize,
18373        concat!(
18374            "Offset of field: ",
18375            stringify!(sync_fence_info),
18376            "::",
18377            stringify!(flags)
18378        )
18379    );
18380    assert_eq!(
18381        unsafe { ::std::ptr::addr_of!((*ptr).timestamp_ns) as usize - ptr as usize },
18382        72usize,
18383        concat!(
18384            "Offset of field: ",
18385            stringify!(sync_fence_info),
18386            "::",
18387            stringify!(timestamp_ns)
18388        )
18389    );
18390}
18391#[repr(C)]
18392#[derive(Debug, Copy, Clone)]
18393pub struct sync_file_info {
18394    pub name: [::std::os::raw::c_char; 32usize],
18395    pub status: __s32,
18396    pub flags: __u32,
18397    pub num_fences: __u32,
18398    pub pad: __u32,
18399    pub sync_fence_info: __u64,
18400}
18401#[test]
18402fn bindgen_test_layout_sync_file_info() {
18403    const UNINIT: ::std::mem::MaybeUninit<sync_file_info> = ::std::mem::MaybeUninit::uninit();
18404    let ptr = UNINIT.as_ptr();
18405    assert_eq!(
18406        ::std::mem::size_of::<sync_file_info>(),
18407        56usize,
18408        concat!("Size of: ", stringify!(sync_file_info))
18409    );
18410    assert_eq!(
18411        ::std::mem::align_of::<sync_file_info>(),
18412        8usize,
18413        concat!("Alignment of ", stringify!(sync_file_info))
18414    );
18415    assert_eq!(
18416        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
18417        0usize,
18418        concat!(
18419            "Offset of field: ",
18420            stringify!(sync_file_info),
18421            "::",
18422            stringify!(name)
18423        )
18424    );
18425    assert_eq!(
18426        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
18427        32usize,
18428        concat!(
18429            "Offset of field: ",
18430            stringify!(sync_file_info),
18431            "::",
18432            stringify!(status)
18433        )
18434    );
18435    assert_eq!(
18436        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
18437        36usize,
18438        concat!(
18439            "Offset of field: ",
18440            stringify!(sync_file_info),
18441            "::",
18442            stringify!(flags)
18443        )
18444    );
18445    assert_eq!(
18446        unsafe { ::std::ptr::addr_of!((*ptr).num_fences) as usize - ptr as usize },
18447        40usize,
18448        concat!(
18449            "Offset of field: ",
18450            stringify!(sync_file_info),
18451            "::",
18452            stringify!(num_fences)
18453        )
18454    );
18455    assert_eq!(
18456        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
18457        44usize,
18458        concat!(
18459            "Offset of field: ",
18460            stringify!(sync_file_info),
18461            "::",
18462            stringify!(pad)
18463        )
18464    );
18465    assert_eq!(
18466        unsafe { ::std::ptr::addr_of!((*ptr).sync_fence_info) as usize - ptr as usize },
18467        48usize,
18468        concat!(
18469            "Offset of field: ",
18470            stringify!(sync_file_info),
18471            "::",
18472            stringify!(sync_fence_info)
18473        )
18474    );
18475}
18476#[repr(C)]
18477#[derive(Debug, Copy, Clone)]
18478pub struct sync_set_deadline {
18479    pub deadline_ns: __u64,
18480    pub pad: __u64,
18481}
18482#[test]
18483fn bindgen_test_layout_sync_set_deadline() {
18484    const UNINIT: ::std::mem::MaybeUninit<sync_set_deadline> = ::std::mem::MaybeUninit::uninit();
18485    let ptr = UNINIT.as_ptr();
18486    assert_eq!(
18487        ::std::mem::size_of::<sync_set_deadline>(),
18488        16usize,
18489        concat!("Size of: ", stringify!(sync_set_deadline))
18490    );
18491    assert_eq!(
18492        ::std::mem::align_of::<sync_set_deadline>(),
18493        8usize,
18494        concat!("Alignment of ", stringify!(sync_set_deadline))
18495    );
18496    assert_eq!(
18497        unsafe { ::std::ptr::addr_of!((*ptr).deadline_ns) as usize - ptr as usize },
18498        0usize,
18499        concat!(
18500            "Offset of field: ",
18501            stringify!(sync_set_deadline),
18502            "::",
18503            stringify!(deadline_ns)
18504        )
18505    );
18506    assert_eq!(
18507        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
18508        8usize,
18509        concat!(
18510            "Offset of field: ",
18511            stringify!(sync_set_deadline),
18512            "::",
18513            stringify!(pad)
18514        )
18515    );
18516}
18517extern "C" {
18518    pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
18519}
18520extern "C" {
18521    pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
18522}
18523extern "C" {
18524    pub fn sync_file_info_free(info: *mut sync_file_info);
18525}
18526#[repr(C)]
18527#[derive(Debug, Copy, Clone)]
18528pub struct ASystemFontIterator {
18529    _unused: [u8; 0],
18530}
18531extern "C" {
18532    pub fn ASystemFontIterator_open() -> *mut ASystemFontIterator;
18533}
18534extern "C" {
18535    pub fn ASystemFontIterator_close(iterator: *mut ASystemFontIterator);
18536}
18537extern "C" {
18538    pub fn ASystemFontIterator_next(iterator: *mut ASystemFontIterator) -> *mut AFont;
18539}
18540extern "C" {
18541    pub fn ATrace_isEnabled() -> bool;
18542}
18543extern "C" {
18544    pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
18545}
18546extern "C" {
18547    pub fn ATrace_endSection();
18548}
18549extern "C" {
18550    pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
18551}
18552extern "C" {
18553    pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
18554}
18555extern "C" {
18556    pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
18557}
18558pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_48 = 1;
18559pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_48 = 2;
18560pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_48 = 4;
18561pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_48 = 8;
18562pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_48 = 16;
18563pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_48 = 32;
18564pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_48 = 64;
18565pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_48 = 128;
18566pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_48 = 256;
18567pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_48 = 512;
18568pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_48 = 1024;
18569pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_48 = 2048;
18570pub const AWINDOW_FLAG_DITHER: _bindgen_ty_48 = 4096;
18571pub const AWINDOW_FLAG_SECURE: _bindgen_ty_48 = 8192;
18572pub const AWINDOW_FLAG_SCALED: _bindgen_ty_48 = 16384;
18573pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_48 = 32768;
18574pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_48 = 65536;
18575pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_48 = 131072;
18576pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_48 = 262144;
18577pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_48 = 524288;
18578pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_48 = 1048576;
18579pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_48 = 2097152;
18580pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_48 = 4194304;
18581pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
18582extern "C" {
18583    pub fn gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::std::os::raw::c_int;
18584}
18585extern "C" {
18586    pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
18587}
18588extern "C" {
18589    pub fn getitimer(
18590        __which: ::std::os::raw::c_int,
18591        __current_value: *mut itimerval,
18592    ) -> ::std::os::raw::c_int;
18593}
18594extern "C" {
18595    pub fn setitimer(
18596        __which: ::std::os::raw::c_int,
18597        __new_value: *const itimerval,
18598        __old_value: *mut itimerval,
18599    ) -> ::std::os::raw::c_int;
18600}
18601extern "C" {
18602    pub fn utimes(
18603        __path: *const ::std::os::raw::c_char,
18604        __times: *const timeval,
18605    ) -> ::std::os::raw::c_int;
18606}
18607#[repr(C)]
18608#[derive(Debug, Copy, Clone)]
18609pub struct __timezone_t {
18610    _unused: [u8; 0],
18611}
18612pub type timezone_t = *mut __timezone_t;
18613extern "C" {
18614    pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
18615}
18616extern "C" {
18617    pub static mut daylight: ::std::os::raw::c_int;
18618}
18619extern "C" {
18620    pub static mut timezone: ::std::os::raw::c_long;
18621}
18622#[repr(C)]
18623#[derive(Debug, Copy, Clone)]
18624pub struct tm {
18625    pub tm_sec: ::std::os::raw::c_int,
18626    pub tm_min: ::std::os::raw::c_int,
18627    pub tm_hour: ::std::os::raw::c_int,
18628    pub tm_mday: ::std::os::raw::c_int,
18629    pub tm_mon: ::std::os::raw::c_int,
18630    pub tm_year: ::std::os::raw::c_int,
18631    pub tm_wday: ::std::os::raw::c_int,
18632    pub tm_yday: ::std::os::raw::c_int,
18633    pub tm_isdst: ::std::os::raw::c_int,
18634    pub tm_gmtoff: ::std::os::raw::c_long,
18635    pub tm_zone: *const ::std::os::raw::c_char,
18636}
18637#[test]
18638fn bindgen_test_layout_tm() {
18639    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
18640    let ptr = UNINIT.as_ptr();
18641    assert_eq!(
18642        ::std::mem::size_of::<tm>(),
18643        56usize,
18644        concat!("Size of: ", stringify!(tm))
18645    );
18646    assert_eq!(
18647        ::std::mem::align_of::<tm>(),
18648        8usize,
18649        concat!("Alignment of ", stringify!(tm))
18650    );
18651    assert_eq!(
18652        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
18653        0usize,
18654        concat!(
18655            "Offset of field: ",
18656            stringify!(tm),
18657            "::",
18658            stringify!(tm_sec)
18659        )
18660    );
18661    assert_eq!(
18662        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
18663        4usize,
18664        concat!(
18665            "Offset of field: ",
18666            stringify!(tm),
18667            "::",
18668            stringify!(tm_min)
18669        )
18670    );
18671    assert_eq!(
18672        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
18673        8usize,
18674        concat!(
18675            "Offset of field: ",
18676            stringify!(tm),
18677            "::",
18678            stringify!(tm_hour)
18679        )
18680    );
18681    assert_eq!(
18682        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
18683        12usize,
18684        concat!(
18685            "Offset of field: ",
18686            stringify!(tm),
18687            "::",
18688            stringify!(tm_mday)
18689        )
18690    );
18691    assert_eq!(
18692        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
18693        16usize,
18694        concat!(
18695            "Offset of field: ",
18696            stringify!(tm),
18697            "::",
18698            stringify!(tm_mon)
18699        )
18700    );
18701    assert_eq!(
18702        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
18703        20usize,
18704        concat!(
18705            "Offset of field: ",
18706            stringify!(tm),
18707            "::",
18708            stringify!(tm_year)
18709        )
18710    );
18711    assert_eq!(
18712        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
18713        24usize,
18714        concat!(
18715            "Offset of field: ",
18716            stringify!(tm),
18717            "::",
18718            stringify!(tm_wday)
18719        )
18720    );
18721    assert_eq!(
18722        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
18723        28usize,
18724        concat!(
18725            "Offset of field: ",
18726            stringify!(tm),
18727            "::",
18728            stringify!(tm_yday)
18729        )
18730    );
18731    assert_eq!(
18732        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
18733        32usize,
18734        concat!(
18735            "Offset of field: ",
18736            stringify!(tm),
18737            "::",
18738            stringify!(tm_isdst)
18739        )
18740    );
18741    assert_eq!(
18742        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
18743        40usize,
18744        concat!(
18745            "Offset of field: ",
18746            stringify!(tm),
18747            "::",
18748            stringify!(tm_gmtoff)
18749        )
18750    );
18751    assert_eq!(
18752        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
18753        48usize,
18754        concat!(
18755            "Offset of field: ",
18756            stringify!(tm),
18757            "::",
18758            stringify!(tm_zone)
18759        )
18760    );
18761}
18762extern "C" {
18763    pub fn time(__t: *mut time_t) -> time_t;
18764}
18765extern "C" {
18766    pub fn nanosleep(
18767        __duration: *const timespec,
18768        __remainder: *mut timespec,
18769    ) -> ::std::os::raw::c_int;
18770}
18771extern "C" {
18772    pub fn asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char;
18773}
18774extern "C" {
18775    pub fn asctime_r(
18776        __tm: *const tm,
18777        __buf: *mut ::std::os::raw::c_char,
18778    ) -> *mut ::std::os::raw::c_char;
18779}
18780extern "C" {
18781    pub fn difftime(__lhs: time_t, __rhs: time_t) -> f64;
18782}
18783extern "C" {
18784    pub fn mktime(__tm: *mut tm) -> time_t;
18785}
18786extern "C" {
18787    pub fn mktime_z(__tz: timezone_t, __tm: *mut tm) -> time_t;
18788}
18789extern "C" {
18790    pub fn localtime(__t: *const time_t) -> *mut tm;
18791}
18792extern "C" {
18793    pub fn localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
18794}
18795extern "C" {
18796    pub fn localtime_rz(__tz: timezone_t, __t: *const time_t, __tm: *mut tm) -> *mut tm;
18797}
18798extern "C" {
18799    pub fn timelocal(__tm: *mut tm) -> time_t;
18800}
18801extern "C" {
18802    pub fn gmtime(__t: *const time_t) -> *mut tm;
18803}
18804extern "C" {
18805    pub fn gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
18806}
18807extern "C" {
18808    pub fn timegm(__tm: *mut tm) -> time_t;
18809}
18810extern "C" {
18811    pub fn strptime(
18812        __s: *const ::std::os::raw::c_char,
18813        __fmt: *const ::std::os::raw::c_char,
18814        __tm: *mut tm,
18815    ) -> *mut ::std::os::raw::c_char;
18816}
18817extern "C" {
18818    pub fn strptime_l(
18819        __s: *const ::std::os::raw::c_char,
18820        __fmt: *const ::std::os::raw::c_char,
18821        __tm: *mut tm,
18822        __l: locale_t,
18823    ) -> *mut ::std::os::raw::c_char;
18824}
18825extern "C" {
18826    pub fn strftime(
18827        __buf: *mut ::std::os::raw::c_char,
18828        __n: usize,
18829        __fmt: *const ::std::os::raw::c_char,
18830        __tm: *const tm,
18831    ) -> usize;
18832}
18833extern "C" {
18834    pub fn strftime_l(
18835        __buf: *mut ::std::os::raw::c_char,
18836        __n: usize,
18837        __fmt: *const ::std::os::raw::c_char,
18838        __tm: *const tm,
18839        __l: locale_t,
18840    ) -> usize;
18841}
18842extern "C" {
18843    pub fn ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char;
18844}
18845extern "C" {
18846    pub fn ctime_r(
18847        __t: *const time_t,
18848        __buf: *mut ::std::os::raw::c_char,
18849    ) -> *mut ::std::os::raw::c_char;
18850}
18851extern "C" {
18852    pub fn tzset();
18853}
18854extern "C" {
18855    pub fn tzalloc(__id: *const ::std::os::raw::c_char) -> timezone_t;
18856}
18857extern "C" {
18858    pub fn tzfree(__tz: timezone_t);
18859}
18860extern "C" {
18861    pub fn clock() -> clock_t;
18862}
18863extern "C" {
18864    pub fn clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int;
18865}
18866extern "C" {
18867    pub fn clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int;
18868}
18869extern "C" {
18870    pub fn clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int;
18871}
18872extern "C" {
18873    pub fn clock_nanosleep(
18874        __clock: clockid_t,
18875        __flags: ::std::os::raw::c_int,
18876        __time: *const timespec,
18877        __remainder: *mut timespec,
18878    ) -> ::std::os::raw::c_int;
18879}
18880extern "C" {
18881    pub fn clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int;
18882}
18883extern "C" {
18884    pub fn timer_create(
18885        __clock: clockid_t,
18886        __event: *mut sigevent,
18887        __timer_ptr: *mut timer_t,
18888    ) -> ::std::os::raw::c_int;
18889}
18890extern "C" {
18891    pub fn timer_delete(__timer: timer_t) -> ::std::os::raw::c_int;
18892}
18893extern "C" {
18894    pub fn timer_settime(
18895        __timer: timer_t,
18896        __flags: ::std::os::raw::c_int,
18897        __new_value: *const itimerspec,
18898        __old_value: *mut itimerspec,
18899    ) -> ::std::os::raw::c_int;
18900}
18901extern "C" {
18902    pub fn timer_gettime(_timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int;
18903}
18904extern "C" {
18905    pub fn timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int;
18906}
18907extern "C" {
18908    pub fn timespec_get(
18909        __ts: *mut timespec,
18910        __base: ::std::os::raw::c_int,
18911    ) -> ::std::os::raw::c_int;
18912}
18913extern "C" {
18914    pub fn timespec_getres(
18915        __ts: *mut timespec,
18916        __base: ::std::os::raw::c_int,
18917    ) -> ::std::os::raw::c_int;
18918}
18919pub const AAUDIO_DIRECTION_OUTPUT: _bindgen_ty_49 = 0;
18920pub const AAUDIO_DIRECTION_INPUT: _bindgen_ty_49 = 1;
18921pub type _bindgen_ty_49 = ::std::os::raw::c_uint;
18922pub type aaudio_direction_t = i32;
18923pub const AAUDIO_FORMAT_INVALID: _bindgen_ty_50 = -1;
18924pub const AAUDIO_FORMAT_UNSPECIFIED: _bindgen_ty_50 = 0;
18925pub const AAUDIO_FORMAT_PCM_I16: _bindgen_ty_50 = 1;
18926pub const AAUDIO_FORMAT_PCM_FLOAT: _bindgen_ty_50 = 2;
18927pub const AAUDIO_FORMAT_PCM_I24_PACKED: _bindgen_ty_50 = 3;
18928pub const AAUDIO_FORMAT_PCM_I32: _bindgen_ty_50 = 4;
18929pub const AAUDIO_FORMAT_IEC61937: _bindgen_ty_50 = 5;
18930pub type _bindgen_ty_50 = ::std::os::raw::c_int;
18931pub type aaudio_format_t = i32;
18932pub const AAUDIO_OK: _bindgen_ty_51 = 0;
18933pub const AAUDIO_ERROR_BASE: _bindgen_ty_51 = -900;
18934pub const AAUDIO_ERROR_DISCONNECTED: _bindgen_ty_51 = -899;
18935pub const AAUDIO_ERROR_ILLEGAL_ARGUMENT: _bindgen_ty_51 = -898;
18936pub const AAUDIO_ERROR_INTERNAL: _bindgen_ty_51 = -896;
18937pub const AAUDIO_ERROR_INVALID_STATE: _bindgen_ty_51 = -895;
18938pub const AAUDIO_ERROR_INVALID_HANDLE: _bindgen_ty_51 = -892;
18939pub const AAUDIO_ERROR_UNIMPLEMENTED: _bindgen_ty_51 = -890;
18940pub const AAUDIO_ERROR_UNAVAILABLE: _bindgen_ty_51 = -889;
18941pub const AAUDIO_ERROR_NO_FREE_HANDLES: _bindgen_ty_51 = -888;
18942pub const AAUDIO_ERROR_NO_MEMORY: _bindgen_ty_51 = -887;
18943pub const AAUDIO_ERROR_NULL: _bindgen_ty_51 = -886;
18944pub const AAUDIO_ERROR_TIMEOUT: _bindgen_ty_51 = -885;
18945pub const AAUDIO_ERROR_WOULD_BLOCK: _bindgen_ty_51 = -884;
18946pub const AAUDIO_ERROR_INVALID_FORMAT: _bindgen_ty_51 = -883;
18947pub const AAUDIO_ERROR_OUT_OF_RANGE: _bindgen_ty_51 = -882;
18948pub const AAUDIO_ERROR_NO_SERVICE: _bindgen_ty_51 = -881;
18949pub const AAUDIO_ERROR_INVALID_RATE: _bindgen_ty_51 = -880;
18950pub type _bindgen_ty_51 = ::std::os::raw::c_int;
18951pub type aaudio_result_t = i32;
18952pub const AAUDIO_STREAM_STATE_UNINITIALIZED: _bindgen_ty_52 = 0;
18953pub const AAUDIO_STREAM_STATE_UNKNOWN: _bindgen_ty_52 = 1;
18954pub const AAUDIO_STREAM_STATE_OPEN: _bindgen_ty_52 = 2;
18955pub const AAUDIO_STREAM_STATE_STARTING: _bindgen_ty_52 = 3;
18956pub const AAUDIO_STREAM_STATE_STARTED: _bindgen_ty_52 = 4;
18957pub const AAUDIO_STREAM_STATE_PAUSING: _bindgen_ty_52 = 5;
18958pub const AAUDIO_STREAM_STATE_PAUSED: _bindgen_ty_52 = 6;
18959pub const AAUDIO_STREAM_STATE_FLUSHING: _bindgen_ty_52 = 7;
18960pub const AAUDIO_STREAM_STATE_FLUSHED: _bindgen_ty_52 = 8;
18961pub const AAUDIO_STREAM_STATE_STOPPING: _bindgen_ty_52 = 9;
18962pub const AAUDIO_STREAM_STATE_STOPPED: _bindgen_ty_52 = 10;
18963pub const AAUDIO_STREAM_STATE_CLOSING: _bindgen_ty_52 = 11;
18964pub const AAUDIO_STREAM_STATE_CLOSED: _bindgen_ty_52 = 12;
18965pub const AAUDIO_STREAM_STATE_DISCONNECTED: _bindgen_ty_52 = 13;
18966pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
18967pub type aaudio_stream_state_t = i32;
18968pub const AAUDIO_SHARING_MODE_EXCLUSIVE: _bindgen_ty_53 = 0;
18969pub const AAUDIO_SHARING_MODE_SHARED: _bindgen_ty_53 = 1;
18970pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
18971pub type aaudio_sharing_mode_t = i32;
18972pub const AAUDIO_PERFORMANCE_MODE_NONE: _bindgen_ty_54 = 10;
18973pub const AAUDIO_PERFORMANCE_MODE_POWER_SAVING: _bindgen_ty_54 = 11;
18974pub const AAUDIO_PERFORMANCE_MODE_LOW_LATENCY: _bindgen_ty_54 = 12;
18975pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
18976pub type aaudio_performance_mode_t = i32;
18977pub const AAUDIO_USAGE_MEDIA: _bindgen_ty_55 = 1;
18978pub const AAUDIO_USAGE_VOICE_COMMUNICATION: _bindgen_ty_55 = 2;
18979pub const AAUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: _bindgen_ty_55 = 3;
18980pub const AAUDIO_USAGE_ALARM: _bindgen_ty_55 = 4;
18981pub const AAUDIO_USAGE_NOTIFICATION: _bindgen_ty_55 = 5;
18982pub const AAUDIO_USAGE_NOTIFICATION_RINGTONE: _bindgen_ty_55 = 6;
18983pub const AAUDIO_USAGE_NOTIFICATION_EVENT: _bindgen_ty_55 = 10;
18984pub const AAUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: _bindgen_ty_55 = 11;
18985pub const AAUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: _bindgen_ty_55 = 12;
18986pub const AAUDIO_USAGE_ASSISTANCE_SONIFICATION: _bindgen_ty_55 = 13;
18987pub const AAUDIO_USAGE_GAME: _bindgen_ty_55 = 14;
18988pub const AAUDIO_USAGE_ASSISTANT: _bindgen_ty_55 = 16;
18989pub const AAUDIO_SYSTEM_USAGE_EMERGENCY: _bindgen_ty_55 = 1000;
18990pub const AAUDIO_SYSTEM_USAGE_SAFETY: _bindgen_ty_55 = 1001;
18991pub const AAUDIO_SYSTEM_USAGE_VEHICLE_STATUS: _bindgen_ty_55 = 1002;
18992pub const AAUDIO_SYSTEM_USAGE_ANNOUNCEMENT: _bindgen_ty_55 = 1003;
18993pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
18994pub type aaudio_usage_t = i32;
18995pub const AAUDIO_CONTENT_TYPE_SPEECH: _bindgen_ty_56 = 1;
18996pub const AAUDIO_CONTENT_TYPE_MUSIC: _bindgen_ty_56 = 2;
18997pub const AAUDIO_CONTENT_TYPE_MOVIE: _bindgen_ty_56 = 3;
18998pub const AAUDIO_CONTENT_TYPE_SONIFICATION: _bindgen_ty_56 = 4;
18999pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
19000pub type aaudio_content_type_t = i32;
19001pub const AAUDIO_SPATIALIZATION_BEHAVIOR_AUTO: _bindgen_ty_57 = 1;
19002pub const AAUDIO_SPATIALIZATION_BEHAVIOR_NEVER: _bindgen_ty_57 = 2;
19003pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
19004pub type aaudio_spatialization_behavior_t = i32;
19005pub const AAUDIO_INPUT_PRESET_GENERIC: _bindgen_ty_58 = 1;
19006pub const AAUDIO_INPUT_PRESET_CAMCORDER: _bindgen_ty_58 = 5;
19007pub const AAUDIO_INPUT_PRESET_VOICE_RECOGNITION: _bindgen_ty_58 = 6;
19008pub const AAUDIO_INPUT_PRESET_VOICE_COMMUNICATION: _bindgen_ty_58 = 7;
19009pub const AAUDIO_INPUT_PRESET_UNPROCESSED: _bindgen_ty_58 = 9;
19010pub const AAUDIO_INPUT_PRESET_VOICE_PERFORMANCE: _bindgen_ty_58 = 10;
19011pub const AAUDIO_INPUT_PRESET_SYSTEM_ECHO_REFERENCE: _bindgen_ty_58 = 1997;
19012pub const AAUDIO_INPUT_PRESET_SYSTEM_HOTWORD: _bindgen_ty_58 = 1999;
19013pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
19014pub type aaudio_input_preset_t = i32;
19015pub const AAUDIO_ALLOW_CAPTURE_BY_ALL: _bindgen_ty_59 = 1;
19016pub const AAUDIO_ALLOW_CAPTURE_BY_SYSTEM: _bindgen_ty_59 = 2;
19017pub const AAUDIO_ALLOW_CAPTURE_BY_NONE: _bindgen_ty_59 = 3;
19018pub type _bindgen_ty_59 = ::std::os::raw::c_uint;
19019pub type aaudio_allowed_capture_policy_t = i32;
19020pub const AAUDIO_SESSION_ID_NONE: _bindgen_ty_60 = -1;
19021pub const AAUDIO_SESSION_ID_ALLOCATE: _bindgen_ty_60 = 0;
19022pub type _bindgen_ty_60 = ::std::os::raw::c_int;
19023pub type aaudio_session_id_t = i32;
19024pub const AAUDIO_CHANNEL_INVALID: _bindgen_ty_61 = -1;
19025pub const AAUDIO_CHANNEL_FRONT_LEFT: _bindgen_ty_61 = 1;
19026pub const AAUDIO_CHANNEL_FRONT_RIGHT: _bindgen_ty_61 = 2;
19027pub const AAUDIO_CHANNEL_FRONT_CENTER: _bindgen_ty_61 = 4;
19028pub const AAUDIO_CHANNEL_LOW_FREQUENCY: _bindgen_ty_61 = 8;
19029pub const AAUDIO_CHANNEL_BACK_LEFT: _bindgen_ty_61 = 16;
19030pub const AAUDIO_CHANNEL_BACK_RIGHT: _bindgen_ty_61 = 32;
19031pub const AAUDIO_CHANNEL_FRONT_LEFT_OF_CENTER: _bindgen_ty_61 = 64;
19032pub const AAUDIO_CHANNEL_FRONT_RIGHT_OF_CENTER: _bindgen_ty_61 = 128;
19033pub const AAUDIO_CHANNEL_BACK_CENTER: _bindgen_ty_61 = 256;
19034pub const AAUDIO_CHANNEL_SIDE_LEFT: _bindgen_ty_61 = 512;
19035pub const AAUDIO_CHANNEL_SIDE_RIGHT: _bindgen_ty_61 = 1024;
19036pub const AAUDIO_CHANNEL_TOP_CENTER: _bindgen_ty_61 = 2048;
19037pub const AAUDIO_CHANNEL_TOP_FRONT_LEFT: _bindgen_ty_61 = 4096;
19038pub const AAUDIO_CHANNEL_TOP_FRONT_CENTER: _bindgen_ty_61 = 8192;
19039pub const AAUDIO_CHANNEL_TOP_FRONT_RIGHT: _bindgen_ty_61 = 16384;
19040pub const AAUDIO_CHANNEL_TOP_BACK_LEFT: _bindgen_ty_61 = 32768;
19041pub const AAUDIO_CHANNEL_TOP_BACK_CENTER: _bindgen_ty_61 = 65536;
19042pub const AAUDIO_CHANNEL_TOP_BACK_RIGHT: _bindgen_ty_61 = 131072;
19043pub const AAUDIO_CHANNEL_TOP_SIDE_LEFT: _bindgen_ty_61 = 262144;
19044pub const AAUDIO_CHANNEL_TOP_SIDE_RIGHT: _bindgen_ty_61 = 524288;
19045pub const AAUDIO_CHANNEL_BOTTOM_FRONT_LEFT: _bindgen_ty_61 = 1048576;
19046pub const AAUDIO_CHANNEL_BOTTOM_FRONT_CENTER: _bindgen_ty_61 = 2097152;
19047pub const AAUDIO_CHANNEL_BOTTOM_FRONT_RIGHT: _bindgen_ty_61 = 4194304;
19048pub const AAUDIO_CHANNEL_LOW_FREQUENCY_2: _bindgen_ty_61 = 8388608;
19049pub const AAUDIO_CHANNEL_FRONT_WIDE_LEFT: _bindgen_ty_61 = 16777216;
19050pub const AAUDIO_CHANNEL_FRONT_WIDE_RIGHT: _bindgen_ty_61 = 33554432;
19051pub const AAUDIO_CHANNEL_MONO: _bindgen_ty_61 = 1;
19052pub const AAUDIO_CHANNEL_STEREO: _bindgen_ty_61 = 3;
19053pub const AAUDIO_CHANNEL_2POINT1: _bindgen_ty_61 = 11;
19054pub const AAUDIO_CHANNEL_TRI: _bindgen_ty_61 = 7;
19055pub const AAUDIO_CHANNEL_TRI_BACK: _bindgen_ty_61 = 259;
19056pub const AAUDIO_CHANNEL_3POINT1: _bindgen_ty_61 = 15;
19057pub const AAUDIO_CHANNEL_2POINT0POINT2: _bindgen_ty_61 = 786435;
19058pub const AAUDIO_CHANNEL_2POINT1POINT2: _bindgen_ty_61 = 786443;
19059pub const AAUDIO_CHANNEL_3POINT0POINT2: _bindgen_ty_61 = 786439;
19060pub const AAUDIO_CHANNEL_3POINT1POINT2: _bindgen_ty_61 = 786447;
19061pub const AAUDIO_CHANNEL_QUAD: _bindgen_ty_61 = 51;
19062pub const AAUDIO_CHANNEL_QUAD_SIDE: _bindgen_ty_61 = 1539;
19063pub const AAUDIO_CHANNEL_SURROUND: _bindgen_ty_61 = 263;
19064pub const AAUDIO_CHANNEL_PENTA: _bindgen_ty_61 = 55;
19065pub const AAUDIO_CHANNEL_5POINT1: _bindgen_ty_61 = 63;
19066pub const AAUDIO_CHANNEL_5POINT1_SIDE: _bindgen_ty_61 = 1551;
19067pub const AAUDIO_CHANNEL_6POINT1: _bindgen_ty_61 = 319;
19068pub const AAUDIO_CHANNEL_7POINT1: _bindgen_ty_61 = 1599;
19069pub const AAUDIO_CHANNEL_5POINT1POINT2: _bindgen_ty_61 = 786495;
19070pub const AAUDIO_CHANNEL_5POINT1POINT4: _bindgen_ty_61 = 184383;
19071pub const AAUDIO_CHANNEL_7POINT1POINT2: _bindgen_ty_61 = 788031;
19072pub const AAUDIO_CHANNEL_7POINT1POINT4: _bindgen_ty_61 = 185919;
19073pub const AAUDIO_CHANNEL_9POINT1POINT4: _bindgen_ty_61 = 50517567;
19074pub const AAUDIO_CHANNEL_9POINT1POINT6: _bindgen_ty_61 = 51303999;
19075pub const AAUDIO_CHANNEL_FRONT_BACK: _bindgen_ty_61 = 260;
19076pub type _bindgen_ty_61 = ::std::os::raw::c_int;
19077pub type aaudio_channel_mask_t = u32;
19078#[repr(C)]
19079#[derive(Debug, Copy, Clone)]
19080pub struct AAudioStreamStruct {
19081    _unused: [u8; 0],
19082}
19083pub type AAudioStream = AAudioStreamStruct;
19084#[repr(C)]
19085#[derive(Debug, Copy, Clone)]
19086pub struct AAudioStreamBuilderStruct {
19087    _unused: [u8; 0],
19088}
19089pub type AAudioStreamBuilder = AAudioStreamBuilderStruct;
19090extern "C" {
19091    pub fn AAudio_convertResultToText(returnCode: aaudio_result_t)
19092        -> *const ::std::os::raw::c_char;
19093}
19094extern "C" {
19095    pub fn AAudio_convertStreamStateToText(
19096        state: aaudio_stream_state_t,
19097    ) -> *const ::std::os::raw::c_char;
19098}
19099extern "C" {
19100    pub fn AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t;
19101}
19102extern "C" {
19103    pub fn AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32);
19104}
19105extern "C" {
19106    pub fn AAudioStreamBuilder_setPackageName(
19107        builder: *mut AAudioStreamBuilder,
19108        packageName: *const ::std::os::raw::c_char,
19109    );
19110}
19111extern "C" {
19112    pub fn AAudioStreamBuilder_setAttributionTag(
19113        builder: *mut AAudioStreamBuilder,
19114        attributionTag: *const ::std::os::raw::c_char,
19115    );
19116}
19117extern "C" {
19118    pub fn AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32);
19119}
19120extern "C" {
19121    pub fn AAudioStreamBuilder_setChannelCount(
19122        builder: *mut AAudioStreamBuilder,
19123        channelCount: i32,
19124    );
19125}
19126extern "C" {
19127    pub fn AAudioStreamBuilder_setSamplesPerFrame(
19128        builder: *mut AAudioStreamBuilder,
19129        samplesPerFrame: i32,
19130    );
19131}
19132extern "C" {
19133    pub fn AAudioStreamBuilder_setFormat(
19134        builder: *mut AAudioStreamBuilder,
19135        format: aaudio_format_t,
19136    );
19137}
19138extern "C" {
19139    pub fn AAudioStreamBuilder_setSharingMode(
19140        builder: *mut AAudioStreamBuilder,
19141        sharingMode: aaudio_sharing_mode_t,
19142    );
19143}
19144extern "C" {
19145    pub fn AAudioStreamBuilder_setDirection(
19146        builder: *mut AAudioStreamBuilder,
19147        direction: aaudio_direction_t,
19148    );
19149}
19150extern "C" {
19151    pub fn AAudioStreamBuilder_setBufferCapacityInFrames(
19152        builder: *mut AAudioStreamBuilder,
19153        numFrames: i32,
19154    );
19155}
19156extern "C" {
19157    pub fn AAudioStreamBuilder_setPerformanceMode(
19158        builder: *mut AAudioStreamBuilder,
19159        mode: aaudio_performance_mode_t,
19160    );
19161}
19162extern "C" {
19163    pub fn AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t);
19164}
19165extern "C" {
19166    pub fn AAudioStreamBuilder_setContentType(
19167        builder: *mut AAudioStreamBuilder,
19168        contentType: aaudio_content_type_t,
19169    );
19170}
19171extern "C" {
19172    pub fn AAudioStreamBuilder_setSpatializationBehavior(
19173        builder: *mut AAudioStreamBuilder,
19174        spatializationBehavior: aaudio_spatialization_behavior_t,
19175    );
19176}
19177extern "C" {
19178    pub fn AAudioStreamBuilder_setIsContentSpatialized(
19179        builder: *mut AAudioStreamBuilder,
19180        isSpatialized: bool,
19181    );
19182}
19183extern "C" {
19184    pub fn AAudioStreamBuilder_setInputPreset(
19185        builder: *mut AAudioStreamBuilder,
19186        inputPreset: aaudio_input_preset_t,
19187    );
19188}
19189extern "C" {
19190    pub fn AAudioStreamBuilder_setAllowedCapturePolicy(
19191        builder: *mut AAudioStreamBuilder,
19192        capturePolicy: aaudio_allowed_capture_policy_t,
19193    );
19194}
19195extern "C" {
19196    pub fn AAudioStreamBuilder_setSessionId(
19197        builder: *mut AAudioStreamBuilder,
19198        sessionId: aaudio_session_id_t,
19199    );
19200}
19201extern "C" {
19202    pub fn AAudioStreamBuilder_setPrivacySensitive(
19203        builder: *mut AAudioStreamBuilder,
19204        privacySensitive: bool,
19205    );
19206}
19207pub const AAUDIO_CALLBACK_RESULT_CONTINUE: _bindgen_ty_62 = 0;
19208pub const AAUDIO_CALLBACK_RESULT_STOP: _bindgen_ty_62 = 1;
19209pub type _bindgen_ty_62 = ::std::os::raw::c_uint;
19210pub type aaudio_data_callback_result_t = i32;
19211pub type AAudioStream_dataCallback = ::std::option::Option<
19212    unsafe extern "C" fn(
19213        stream: *mut AAudioStream,
19214        userData: *mut ::std::os::raw::c_void,
19215        audioData: *mut ::std::os::raw::c_void,
19216        numFrames: i32,
19217    ) -> aaudio_data_callback_result_t,
19218>;
19219extern "C" {
19220    pub fn AAudioStreamBuilder_setDataCallback(
19221        builder: *mut AAudioStreamBuilder,
19222        callback: AAudioStream_dataCallback,
19223        userData: *mut ::std::os::raw::c_void,
19224    );
19225}
19226extern "C" {
19227    pub fn AAudioStreamBuilder_setFramesPerDataCallback(
19228        builder: *mut AAudioStreamBuilder,
19229        numFrames: i32,
19230    );
19231}
19232pub type AAudioStream_errorCallback = ::std::option::Option<
19233    unsafe extern "C" fn(
19234        stream: *mut AAudioStream,
19235        userData: *mut ::std::os::raw::c_void,
19236        error: aaudio_result_t,
19237    ),
19238>;
19239extern "C" {
19240    pub fn AAudioStreamBuilder_setErrorCallback(
19241        builder: *mut AAudioStreamBuilder,
19242        callback: AAudioStream_errorCallback,
19243        userData: *mut ::std::os::raw::c_void,
19244    );
19245}
19246extern "C" {
19247    pub fn AAudioStreamBuilder_openStream(
19248        builder: *mut AAudioStreamBuilder,
19249        stream: *mut *mut AAudioStream,
19250    ) -> aaudio_result_t;
19251}
19252extern "C" {
19253    pub fn AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t;
19254}
19255extern "C" {
19256    pub fn AAudioStreamBuilder_setChannelMask(
19257        builder: *mut AAudioStreamBuilder,
19258        channelMask: aaudio_channel_mask_t,
19259    );
19260}
19261extern "C" {
19262    pub fn AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t;
19263}
19264extern "C" {
19265    pub fn AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t;
19266}
19267extern "C" {
19268    pub fn AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t;
19269}
19270extern "C" {
19271    pub fn AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t;
19272}
19273extern "C" {
19274    pub fn AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t;
19275}
19276extern "C" {
19277    pub fn AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t;
19278}
19279extern "C" {
19280    pub fn AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t;
19281}
19282extern "C" {
19283    pub fn AAudioStream_waitForStateChange(
19284        stream: *mut AAudioStream,
19285        inputState: aaudio_stream_state_t,
19286        nextState: *mut aaudio_stream_state_t,
19287        timeoutNanoseconds: i64,
19288    ) -> aaudio_result_t;
19289}
19290extern "C" {
19291    pub fn AAudioStream_read(
19292        stream: *mut AAudioStream,
19293        buffer: *mut ::std::os::raw::c_void,
19294        numFrames: i32,
19295        timeoutNanoseconds: i64,
19296    ) -> aaudio_result_t;
19297}
19298extern "C" {
19299    pub fn AAudioStream_write(
19300        stream: *mut AAudioStream,
19301        buffer: *const ::std::os::raw::c_void,
19302        numFrames: i32,
19303        timeoutNanoseconds: i64,
19304    ) -> aaudio_result_t;
19305}
19306extern "C" {
19307    pub fn AAudioStream_setBufferSizeInFrames(
19308        stream: *mut AAudioStream,
19309        numFrames: i32,
19310    ) -> aaudio_result_t;
19311}
19312extern "C" {
19313    pub fn AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i32;
19314}
19315extern "C" {
19316    pub fn AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i32;
19317}
19318extern "C" {
19319    pub fn AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i32;
19320}
19321extern "C" {
19322    pub fn AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i32;
19323}
19324extern "C" {
19325    pub fn AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i32;
19326}
19327extern "C" {
19328    pub fn AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i32;
19329}
19330extern "C" {
19331    pub fn AAudioStream_getHardwareSampleRate(stream: *mut AAudioStream) -> i32;
19332}
19333extern "C" {
19334    pub fn AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i32;
19335}
19336extern "C" {
19337    pub fn AAudioStream_getHardwareChannelCount(stream: *mut AAudioStream) -> i32;
19338}
19339extern "C" {
19340    pub fn AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i32;
19341}
19342extern "C" {
19343    pub fn AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i32;
19344}
19345extern "C" {
19346    pub fn AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t;
19347}
19348extern "C" {
19349    pub fn AAudioStream_getHardwareFormat(stream: *mut AAudioStream) -> aaudio_format_t;
19350}
19351extern "C" {
19352    pub fn AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t;
19353}
19354extern "C" {
19355    pub fn AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t;
19356}
19357extern "C" {
19358    pub fn AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t;
19359}
19360extern "C" {
19361    pub fn AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i64;
19362}
19363extern "C" {
19364    pub fn AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i64;
19365}
19366extern "C" {
19367    pub fn AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t;
19368}
19369extern "C" {
19370    pub fn AAudioStream_getTimestamp(
19371        stream: *mut AAudioStream,
19372        clockid: clockid_t,
19373        framePosition: *mut i64,
19374        timeNanoseconds: *mut i64,
19375    ) -> aaudio_result_t;
19376}
19377extern "C" {
19378    pub fn AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t;
19379}
19380extern "C" {
19381    pub fn AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t;
19382}
19383extern "C" {
19384    pub fn AAudioStream_getSpatializationBehavior(
19385        stream: *mut AAudioStream,
19386    ) -> aaudio_spatialization_behavior_t;
19387}
19388extern "C" {
19389    pub fn AAudioStream_isContentSpatialized(stream: *mut AAudioStream) -> bool;
19390}
19391extern "C" {
19392    pub fn AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t;
19393}
19394extern "C" {
19395    pub fn AAudioStream_getAllowedCapturePolicy(
19396        stream: *mut AAudioStream,
19397    ) -> aaudio_allowed_capture_policy_t;
19398}
19399extern "C" {
19400    pub fn AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool;
19401}
19402extern "C" {
19403    pub fn AAudioStream_getChannelMask(stream: *mut AAudioStream) -> aaudio_channel_mask_t;
19404}
19405impl media_status_t {
19406    pub const AMEDIA_OK: media_status_t = media_status_t(0);
19407}
19408impl media_status_t {
19409    pub const AMEDIACODEC_ERROR_INSUFFICIENT_RESOURCE: media_status_t = media_status_t(1100);
19410}
19411impl media_status_t {
19412    pub const AMEDIACODEC_ERROR_RECLAIMED: media_status_t = media_status_t(1101);
19413}
19414impl media_status_t {
19415    pub const AMEDIA_ERROR_BASE: media_status_t = media_status_t(-10000);
19416}
19417impl media_status_t {
19418    pub const AMEDIA_ERROR_UNKNOWN: media_status_t = media_status_t(-10000);
19419}
19420impl media_status_t {
19421    pub const AMEDIA_ERROR_MALFORMED: media_status_t = media_status_t(-10001);
19422}
19423impl media_status_t {
19424    pub const AMEDIA_ERROR_UNSUPPORTED: media_status_t = media_status_t(-10002);
19425}
19426impl media_status_t {
19427    pub const AMEDIA_ERROR_INVALID_OBJECT: media_status_t = media_status_t(-10003);
19428}
19429impl media_status_t {
19430    pub const AMEDIA_ERROR_INVALID_PARAMETER: media_status_t = media_status_t(-10004);
19431}
19432impl media_status_t {
19433    pub const AMEDIA_ERROR_INVALID_OPERATION: media_status_t = media_status_t(-10005);
19434}
19435impl media_status_t {
19436    pub const AMEDIA_ERROR_END_OF_STREAM: media_status_t = media_status_t(-10006);
19437}
19438impl media_status_t {
19439    pub const AMEDIA_ERROR_IO: media_status_t = media_status_t(-10007);
19440}
19441impl media_status_t {
19442    pub const AMEDIA_ERROR_WOULD_BLOCK: media_status_t = media_status_t(-10008);
19443}
19444impl media_status_t {
19445    pub const AMEDIA_DRM_ERROR_BASE: media_status_t = media_status_t(-20000);
19446}
19447impl media_status_t {
19448    pub const AMEDIA_DRM_NOT_PROVISIONED: media_status_t = media_status_t(-20001);
19449}
19450impl media_status_t {
19451    pub const AMEDIA_DRM_RESOURCE_BUSY: media_status_t = media_status_t(-20002);
19452}
19453impl media_status_t {
19454    pub const AMEDIA_DRM_DEVICE_REVOKED: media_status_t = media_status_t(-20003);
19455}
19456impl media_status_t {
19457    pub const AMEDIA_DRM_SHORT_BUFFER: media_status_t = media_status_t(-20004);
19458}
19459impl media_status_t {
19460    pub const AMEDIA_DRM_SESSION_NOT_OPENED: media_status_t = media_status_t(-20005);
19461}
19462impl media_status_t {
19463    pub const AMEDIA_DRM_TAMPER_DETECTED: media_status_t = media_status_t(-20006);
19464}
19465impl media_status_t {
19466    pub const AMEDIA_DRM_VERIFY_FAILED: media_status_t = media_status_t(-20007);
19467}
19468impl media_status_t {
19469    pub const AMEDIA_DRM_NEED_KEY: media_status_t = media_status_t(-20008);
19470}
19471impl media_status_t {
19472    pub const AMEDIA_DRM_LICENSE_EXPIRED: media_status_t = media_status_t(-20009);
19473}
19474impl media_status_t {
19475    pub const AMEDIA_IMGREADER_ERROR_BASE: media_status_t = media_status_t(-30000);
19476}
19477impl media_status_t {
19478    pub const AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE: media_status_t = media_status_t(-30001);
19479}
19480impl media_status_t {
19481    pub const AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED: media_status_t = media_status_t(-30002);
19482}
19483impl media_status_t {
19484    pub const AMEDIA_IMGREADER_CANNOT_LOCK_IMAGE: media_status_t = media_status_t(-30003);
19485}
19486impl media_status_t {
19487    pub const AMEDIA_IMGREADER_CANNOT_UNLOCK_IMAGE: media_status_t = media_status_t(-30004);
19488}
19489impl media_status_t {
19490    pub const AMEDIA_IMGREADER_IMAGE_NOT_LOCKED: media_status_t = media_status_t(-30005);
19491}
19492#[repr(transparent)]
19493#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19494pub struct media_status_t(pub ::std::os::raw::c_int);
19495#[repr(C)]
19496#[derive(Debug, Copy, Clone)]
19497pub struct AMidiDevice {
19498    _unused: [u8; 0],
19499}
19500#[repr(C)]
19501#[derive(Debug, Copy, Clone)]
19502pub struct AMidiInputPort {
19503    _unused: [u8; 0],
19504}
19505#[repr(C)]
19506#[derive(Debug, Copy, Clone)]
19507pub struct AMidiOutputPort {
19508    _unused: [u8; 0],
19509}
19510pub const AMIDI_OPCODE_DATA: _bindgen_ty_63 = 1;
19511pub const AMIDI_OPCODE_FLUSH: _bindgen_ty_63 = 2;
19512pub type _bindgen_ty_63 = ::std::os::raw::c_uint;
19513pub const AMIDI_DEVICE_TYPE_USB: _bindgen_ty_64 = 1;
19514pub const AMIDI_DEVICE_TYPE_VIRTUAL: _bindgen_ty_64 = 2;
19515pub const AMIDI_DEVICE_TYPE_BLUETOOTH: _bindgen_ty_64 = 3;
19516pub type _bindgen_ty_64 = ::std::os::raw::c_uint;
19517impl AMidiDevice_Protocol {
19518    pub const AMIDI_DEVICE_PROTOCOL_UMP_USE_MIDI_CI: AMidiDevice_Protocol = AMidiDevice_Protocol(0);
19519}
19520impl AMidiDevice_Protocol {
19521    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS: AMidiDevice_Protocol =
19522        AMidiDevice_Protocol(1);
19523}
19524impl AMidiDevice_Protocol {
19525    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS_AND_JRTS: AMidiDevice_Protocol =
19526        AMidiDevice_Protocol(2);
19527}
19528impl AMidiDevice_Protocol {
19529    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS: AMidiDevice_Protocol =
19530        AMidiDevice_Protocol(3);
19531}
19532impl AMidiDevice_Protocol {
19533    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS_AND_JRTS: AMidiDevice_Protocol =
19534        AMidiDevice_Protocol(4);
19535}
19536impl AMidiDevice_Protocol {
19537    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0: AMidiDevice_Protocol = AMidiDevice_Protocol(17);
19538}
19539impl AMidiDevice_Protocol {
19540    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0_AND_JRTS: AMidiDevice_Protocol =
19541        AMidiDevice_Protocol(18);
19542}
19543impl AMidiDevice_Protocol {
19544    pub const AMIDI_DEVICE_PROTOCOL_UNKNOWN: AMidiDevice_Protocol = AMidiDevice_Protocol(-1);
19545}
19546#[repr(transparent)]
19547#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19548pub struct AMidiDevice_Protocol(pub i32);
19549extern "C" {
19550    pub fn AMidiDevice_fromJava(
19551        env: *mut JNIEnv,
19552        midiDeviceObj: jobject,
19553        outDevicePtrPtr: *mut *mut AMidiDevice,
19554    ) -> media_status_t;
19555}
19556extern "C" {
19557    pub fn AMidiDevice_release(midiDevice: *const AMidiDevice) -> media_status_t;
19558}
19559extern "C" {
19560    pub fn AMidiDevice_getType(device: *const AMidiDevice) -> i32;
19561}
19562extern "C" {
19563    pub fn AMidiDevice_getNumInputPorts(device: *const AMidiDevice) -> isize;
19564}
19565extern "C" {
19566    pub fn AMidiDevice_getNumOutputPorts(device: *const AMidiDevice) -> isize;
19567}
19568extern "C" {
19569    pub fn AMidiDevice_getDefaultProtocol(device: *const AMidiDevice) -> AMidiDevice_Protocol;
19570}
19571extern "C" {
19572    pub fn AMidiOutputPort_open(
19573        device: *const AMidiDevice,
19574        portNumber: i32,
19575        outOutputPortPtr: *mut *mut AMidiOutputPort,
19576    ) -> media_status_t;
19577}
19578extern "C" {
19579    pub fn AMidiOutputPort_close(outputPort: *const AMidiOutputPort);
19580}
19581extern "C" {
19582    pub fn AMidiOutputPort_receive(
19583        outputPort: *const AMidiOutputPort,
19584        opcodePtr: *mut i32,
19585        buffer: *mut u8,
19586        maxBytes: usize,
19587        numBytesReceivedPtr: *mut usize,
19588        outTimestampPtr: *mut i64,
19589    ) -> isize;
19590}
19591extern "C" {
19592    pub fn AMidiInputPort_open(
19593        device: *const AMidiDevice,
19594        portNumber: i32,
19595        outInputPortPtr: *mut *mut AMidiInputPort,
19596    ) -> media_status_t;
19597}
19598extern "C" {
19599    pub fn AMidiInputPort_send(
19600        inputPort: *const AMidiInputPort,
19601        buffer: *const u8,
19602        numBytes: usize,
19603    ) -> isize;
19604}
19605extern "C" {
19606    pub fn AMidiInputPort_sendWithTimestamp(
19607        inputPort: *const AMidiInputPort,
19608        buffer: *const u8,
19609        numBytes: usize,
19610        timestamp: i64,
19611    ) -> isize;
19612}
19613extern "C" {
19614    pub fn AMidiInputPort_sendFlush(inputPort: *const AMidiInputPort) -> media_status_t;
19615}
19616extern "C" {
19617    pub fn AMidiInputPort_close(inputPort: *const AMidiInputPort);
19618}
19619impl camera_status_t {
19620    pub const ACAMERA_OK: camera_status_t = camera_status_t(0);
19621}
19622impl camera_status_t {
19623    pub const ACAMERA_ERROR_BASE: camera_status_t = camera_status_t(-10000);
19624}
19625impl camera_status_t {
19626    pub const ACAMERA_ERROR_UNKNOWN: camera_status_t = camera_status_t(-10000);
19627}
19628impl camera_status_t {
19629    pub const ACAMERA_ERROR_INVALID_PARAMETER: camera_status_t = camera_status_t(-10001);
19630}
19631impl camera_status_t {
19632    pub const ACAMERA_ERROR_CAMERA_DISCONNECTED: camera_status_t = camera_status_t(-10002);
19633}
19634impl camera_status_t {
19635    pub const ACAMERA_ERROR_NOT_ENOUGH_MEMORY: camera_status_t = camera_status_t(-10003);
19636}
19637impl camera_status_t {
19638    pub const ACAMERA_ERROR_METADATA_NOT_FOUND: camera_status_t = camera_status_t(-10004);
19639}
19640impl camera_status_t {
19641    pub const ACAMERA_ERROR_CAMERA_DEVICE: camera_status_t = camera_status_t(-10005);
19642}
19643impl camera_status_t {
19644    pub const ACAMERA_ERROR_CAMERA_SERVICE: camera_status_t = camera_status_t(-10006);
19645}
19646impl camera_status_t {
19647    pub const ACAMERA_ERROR_SESSION_CLOSED: camera_status_t = camera_status_t(-10007);
19648}
19649impl camera_status_t {
19650    pub const ACAMERA_ERROR_INVALID_OPERATION: camera_status_t = camera_status_t(-10008);
19651}
19652impl camera_status_t {
19653    pub const ACAMERA_ERROR_STREAM_CONFIGURE_FAIL: camera_status_t = camera_status_t(-10009);
19654}
19655impl camera_status_t {
19656    pub const ACAMERA_ERROR_CAMERA_IN_USE: camera_status_t = camera_status_t(-10010);
19657}
19658impl camera_status_t {
19659    pub const ACAMERA_ERROR_MAX_CAMERA_IN_USE: camera_status_t = camera_status_t(-10011);
19660}
19661impl camera_status_t {
19662    pub const ACAMERA_ERROR_CAMERA_DISABLED: camera_status_t = camera_status_t(-10012);
19663}
19664impl camera_status_t {
19665    pub const ACAMERA_ERROR_PERMISSION_DENIED: camera_status_t = camera_status_t(-10013);
19666}
19667impl camera_status_t {
19668    pub const ACAMERA_ERROR_UNSUPPORTED_OPERATION: camera_status_t = camera_status_t(-10014);
19669}
19670#[repr(transparent)]
19671#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19672pub struct camera_status_t(pub ::std::os::raw::c_int);
19673impl acamera_metadata_section {
19674    pub const ACAMERA_COLOR_CORRECTION: acamera_metadata_section = acamera_metadata_section(0);
19675}
19676impl acamera_metadata_section {
19677    pub const ACAMERA_CONTROL: acamera_metadata_section = acamera_metadata_section(1);
19678}
19679impl acamera_metadata_section {
19680    pub const ACAMERA_DEMOSAIC: acamera_metadata_section = acamera_metadata_section(2);
19681}
19682impl acamera_metadata_section {
19683    pub const ACAMERA_EDGE: acamera_metadata_section = acamera_metadata_section(3);
19684}
19685impl acamera_metadata_section {
19686    pub const ACAMERA_FLASH: acamera_metadata_section = acamera_metadata_section(4);
19687}
19688impl acamera_metadata_section {
19689    pub const ACAMERA_FLASH_INFO: acamera_metadata_section = acamera_metadata_section(5);
19690}
19691impl acamera_metadata_section {
19692    pub const ACAMERA_HOT_PIXEL: acamera_metadata_section = acamera_metadata_section(6);
19693}
19694impl acamera_metadata_section {
19695    pub const ACAMERA_JPEG: acamera_metadata_section = acamera_metadata_section(7);
19696}
19697impl acamera_metadata_section {
19698    pub const ACAMERA_LENS: acamera_metadata_section = acamera_metadata_section(8);
19699}
19700impl acamera_metadata_section {
19701    pub const ACAMERA_LENS_INFO: acamera_metadata_section = acamera_metadata_section(9);
19702}
19703impl acamera_metadata_section {
19704    pub const ACAMERA_NOISE_REDUCTION: acamera_metadata_section = acamera_metadata_section(10);
19705}
19706impl acamera_metadata_section {
19707    pub const ACAMERA_QUIRKS: acamera_metadata_section = acamera_metadata_section(11);
19708}
19709impl acamera_metadata_section {
19710    pub const ACAMERA_REQUEST: acamera_metadata_section = acamera_metadata_section(12);
19711}
19712impl acamera_metadata_section {
19713    pub const ACAMERA_SCALER: acamera_metadata_section = acamera_metadata_section(13);
19714}
19715impl acamera_metadata_section {
19716    pub const ACAMERA_SENSOR: acamera_metadata_section = acamera_metadata_section(14);
19717}
19718impl acamera_metadata_section {
19719    pub const ACAMERA_SENSOR_INFO: acamera_metadata_section = acamera_metadata_section(15);
19720}
19721impl acamera_metadata_section {
19722    pub const ACAMERA_SHADING: acamera_metadata_section = acamera_metadata_section(16);
19723}
19724impl acamera_metadata_section {
19725    pub const ACAMERA_STATISTICS: acamera_metadata_section = acamera_metadata_section(17);
19726}
19727impl acamera_metadata_section {
19728    pub const ACAMERA_STATISTICS_INFO: acamera_metadata_section = acamera_metadata_section(18);
19729}
19730impl acamera_metadata_section {
19731    pub const ACAMERA_TONEMAP: acamera_metadata_section = acamera_metadata_section(19);
19732}
19733impl acamera_metadata_section {
19734    pub const ACAMERA_LED: acamera_metadata_section = acamera_metadata_section(20);
19735}
19736impl acamera_metadata_section {
19737    pub const ACAMERA_INFO: acamera_metadata_section = acamera_metadata_section(21);
19738}
19739impl acamera_metadata_section {
19740    pub const ACAMERA_BLACK_LEVEL: acamera_metadata_section = acamera_metadata_section(22);
19741}
19742impl acamera_metadata_section {
19743    pub const ACAMERA_SYNC: acamera_metadata_section = acamera_metadata_section(23);
19744}
19745impl acamera_metadata_section {
19746    pub const ACAMERA_REPROCESS: acamera_metadata_section = acamera_metadata_section(24);
19747}
19748impl acamera_metadata_section {
19749    pub const ACAMERA_DEPTH: acamera_metadata_section = acamera_metadata_section(25);
19750}
19751impl acamera_metadata_section {
19752    pub const ACAMERA_LOGICAL_MULTI_CAMERA: acamera_metadata_section = acamera_metadata_section(26);
19753}
19754impl acamera_metadata_section {
19755    pub const ACAMERA_DISTORTION_CORRECTION: acamera_metadata_section =
19756        acamera_metadata_section(27);
19757}
19758impl acamera_metadata_section {
19759    pub const ACAMERA_HEIC: acamera_metadata_section = acamera_metadata_section(28);
19760}
19761impl acamera_metadata_section {
19762    pub const ACAMERA_HEIC_INFO: acamera_metadata_section = acamera_metadata_section(29);
19763}
19764impl acamera_metadata_section {
19765    pub const ACAMERA_AUTOMOTIVE: acamera_metadata_section = acamera_metadata_section(30);
19766}
19767impl acamera_metadata_section {
19768    pub const ACAMERA_AUTOMOTIVE_LENS: acamera_metadata_section = acamera_metadata_section(31);
19769}
19770impl acamera_metadata_section {
19771    pub const ACAMERA_EXTENSION: acamera_metadata_section = acamera_metadata_section(32);
19772}
19773impl acamera_metadata_section {
19774    pub const ACAMERA_JPEGR: acamera_metadata_section = acamera_metadata_section(33);
19775}
19776impl acamera_metadata_section {
19777    pub const ACAMERA_SECTION_COUNT: acamera_metadata_section = acamera_metadata_section(34);
19778}
19779impl acamera_metadata_section {
19780    pub const ACAMERA_VENDOR: acamera_metadata_section = acamera_metadata_section(32768);
19781}
19782#[repr(transparent)]
19783#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19784pub struct acamera_metadata_section(pub ::std::os::raw::c_uint);
19785pub use self::acamera_metadata_section as acamera_metadata_section_t;
19786impl acamera_metadata_section_start {
19787    pub const ACAMERA_COLOR_CORRECTION_START: acamera_metadata_section_start =
19788        acamera_metadata_section_start(0);
19789}
19790impl acamera_metadata_section_start {
19791    pub const ACAMERA_CONTROL_START: acamera_metadata_section_start =
19792        acamera_metadata_section_start(65536);
19793}
19794impl acamera_metadata_section_start {
19795    pub const ACAMERA_DEMOSAIC_START: acamera_metadata_section_start =
19796        acamera_metadata_section_start(131072);
19797}
19798impl acamera_metadata_section_start {
19799    pub const ACAMERA_EDGE_START: acamera_metadata_section_start =
19800        acamera_metadata_section_start(196608);
19801}
19802impl acamera_metadata_section_start {
19803    pub const ACAMERA_FLASH_START: acamera_metadata_section_start =
19804        acamera_metadata_section_start(262144);
19805}
19806impl acamera_metadata_section_start {
19807    pub const ACAMERA_FLASH_INFO_START: acamera_metadata_section_start =
19808        acamera_metadata_section_start(327680);
19809}
19810impl acamera_metadata_section_start {
19811    pub const ACAMERA_HOT_PIXEL_START: acamera_metadata_section_start =
19812        acamera_metadata_section_start(393216);
19813}
19814impl acamera_metadata_section_start {
19815    pub const ACAMERA_JPEG_START: acamera_metadata_section_start =
19816        acamera_metadata_section_start(458752);
19817}
19818impl acamera_metadata_section_start {
19819    pub const ACAMERA_LENS_START: acamera_metadata_section_start =
19820        acamera_metadata_section_start(524288);
19821}
19822impl acamera_metadata_section_start {
19823    pub const ACAMERA_LENS_INFO_START: acamera_metadata_section_start =
19824        acamera_metadata_section_start(589824);
19825}
19826impl acamera_metadata_section_start {
19827    pub const ACAMERA_NOISE_REDUCTION_START: acamera_metadata_section_start =
19828        acamera_metadata_section_start(655360);
19829}
19830impl acamera_metadata_section_start {
19831    pub const ACAMERA_QUIRKS_START: acamera_metadata_section_start =
19832        acamera_metadata_section_start(720896);
19833}
19834impl acamera_metadata_section_start {
19835    pub const ACAMERA_REQUEST_START: acamera_metadata_section_start =
19836        acamera_metadata_section_start(786432);
19837}
19838impl acamera_metadata_section_start {
19839    pub const ACAMERA_SCALER_START: acamera_metadata_section_start =
19840        acamera_metadata_section_start(851968);
19841}
19842impl acamera_metadata_section_start {
19843    pub const ACAMERA_SENSOR_START: acamera_metadata_section_start =
19844        acamera_metadata_section_start(917504);
19845}
19846impl acamera_metadata_section_start {
19847    pub const ACAMERA_SENSOR_INFO_START: acamera_metadata_section_start =
19848        acamera_metadata_section_start(983040);
19849}
19850impl acamera_metadata_section_start {
19851    pub const ACAMERA_SHADING_START: acamera_metadata_section_start =
19852        acamera_metadata_section_start(1048576);
19853}
19854impl acamera_metadata_section_start {
19855    pub const ACAMERA_STATISTICS_START: acamera_metadata_section_start =
19856        acamera_metadata_section_start(1114112);
19857}
19858impl acamera_metadata_section_start {
19859    pub const ACAMERA_STATISTICS_INFO_START: acamera_metadata_section_start =
19860        acamera_metadata_section_start(1179648);
19861}
19862impl acamera_metadata_section_start {
19863    pub const ACAMERA_TONEMAP_START: acamera_metadata_section_start =
19864        acamera_metadata_section_start(1245184);
19865}
19866impl acamera_metadata_section_start {
19867    pub const ACAMERA_LED_START: acamera_metadata_section_start =
19868        acamera_metadata_section_start(1310720);
19869}
19870impl acamera_metadata_section_start {
19871    pub const ACAMERA_INFO_START: acamera_metadata_section_start =
19872        acamera_metadata_section_start(1376256);
19873}
19874impl acamera_metadata_section_start {
19875    pub const ACAMERA_BLACK_LEVEL_START: acamera_metadata_section_start =
19876        acamera_metadata_section_start(1441792);
19877}
19878impl acamera_metadata_section_start {
19879    pub const ACAMERA_SYNC_START: acamera_metadata_section_start =
19880        acamera_metadata_section_start(1507328);
19881}
19882impl acamera_metadata_section_start {
19883    pub const ACAMERA_REPROCESS_START: acamera_metadata_section_start =
19884        acamera_metadata_section_start(1572864);
19885}
19886impl acamera_metadata_section_start {
19887    pub const ACAMERA_DEPTH_START: acamera_metadata_section_start =
19888        acamera_metadata_section_start(1638400);
19889}
19890impl acamera_metadata_section_start {
19891    pub const ACAMERA_LOGICAL_MULTI_CAMERA_START: acamera_metadata_section_start =
19892        acamera_metadata_section_start(1703936);
19893}
19894impl acamera_metadata_section_start {
19895    pub const ACAMERA_DISTORTION_CORRECTION_START: acamera_metadata_section_start =
19896        acamera_metadata_section_start(1769472);
19897}
19898impl acamera_metadata_section_start {
19899    pub const ACAMERA_HEIC_START: acamera_metadata_section_start =
19900        acamera_metadata_section_start(1835008);
19901}
19902impl acamera_metadata_section_start {
19903    pub const ACAMERA_HEIC_INFO_START: acamera_metadata_section_start =
19904        acamera_metadata_section_start(1900544);
19905}
19906impl acamera_metadata_section_start {
19907    pub const ACAMERA_AUTOMOTIVE_START: acamera_metadata_section_start =
19908        acamera_metadata_section_start(1966080);
19909}
19910impl acamera_metadata_section_start {
19911    pub const ACAMERA_AUTOMOTIVE_LENS_START: acamera_metadata_section_start =
19912        acamera_metadata_section_start(2031616);
19913}
19914impl acamera_metadata_section_start {
19915    pub const ACAMERA_EXTENSION_START: acamera_metadata_section_start =
19916        acamera_metadata_section_start(2097152);
19917}
19918impl acamera_metadata_section_start {
19919    pub const ACAMERA_JPEGR_START: acamera_metadata_section_start =
19920        acamera_metadata_section_start(2162688);
19921}
19922impl acamera_metadata_section_start {
19923    pub const ACAMERA_VENDOR_START: acamera_metadata_section_start =
19924        acamera_metadata_section_start(-2147483648);
19925}
19926#[repr(transparent)]
19927#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19928pub struct acamera_metadata_section_start(pub ::std::os::raw::c_int);
19929pub use self::acamera_metadata_section_start as acamera_metadata_section_start_t;
19930impl acamera_metadata_tag {
19931    pub const ACAMERA_COLOR_CORRECTION_MODE: acamera_metadata_tag = acamera_metadata_tag(0);
19932}
19933impl acamera_metadata_tag {
19934    pub const ACAMERA_COLOR_CORRECTION_TRANSFORM: acamera_metadata_tag = acamera_metadata_tag(1);
19935}
19936impl acamera_metadata_tag {
19937    pub const ACAMERA_COLOR_CORRECTION_GAINS: acamera_metadata_tag = acamera_metadata_tag(2);
19938}
19939impl acamera_metadata_tag {
19940    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE: acamera_metadata_tag =
19941        acamera_metadata_tag(3);
19942}
19943impl acamera_metadata_tag {
19944    pub const ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: acamera_metadata_tag =
19945        acamera_metadata_tag(4);
19946}
19947impl acamera_metadata_tag {
19948    pub const ACAMERA_COLOR_CORRECTION_END: acamera_metadata_tag = acamera_metadata_tag(5);
19949}
19950impl acamera_metadata_tag {
19951    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE: acamera_metadata_tag =
19952        acamera_metadata_tag(65536);
19953}
19954impl acamera_metadata_tag {
19955    pub const ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION: acamera_metadata_tag =
19956        acamera_metadata_tag(65537);
19957}
19958impl acamera_metadata_tag {
19959    pub const ACAMERA_CONTROL_AE_LOCK: acamera_metadata_tag = acamera_metadata_tag(65538);
19960}
19961impl acamera_metadata_tag {
19962    pub const ACAMERA_CONTROL_AE_MODE: acamera_metadata_tag = acamera_metadata_tag(65539);
19963}
19964impl acamera_metadata_tag {
19965    pub const ACAMERA_CONTROL_AE_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65540);
19966}
19967impl acamera_metadata_tag {
19968    pub const ACAMERA_CONTROL_AE_TARGET_FPS_RANGE: acamera_metadata_tag =
19969        acamera_metadata_tag(65541);
19970}
19971impl acamera_metadata_tag {
19972    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER: acamera_metadata_tag =
19973        acamera_metadata_tag(65542);
19974}
19975impl acamera_metadata_tag {
19976    pub const ACAMERA_CONTROL_AF_MODE: acamera_metadata_tag = acamera_metadata_tag(65543);
19977}
19978impl acamera_metadata_tag {
19979    pub const ACAMERA_CONTROL_AF_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65544);
19980}
19981impl acamera_metadata_tag {
19982    pub const ACAMERA_CONTROL_AF_TRIGGER: acamera_metadata_tag = acamera_metadata_tag(65545);
19983}
19984impl acamera_metadata_tag {
19985    pub const ACAMERA_CONTROL_AWB_LOCK: acamera_metadata_tag = acamera_metadata_tag(65546);
19986}
19987impl acamera_metadata_tag {
19988    pub const ACAMERA_CONTROL_AWB_MODE: acamera_metadata_tag = acamera_metadata_tag(65547);
19989}
19990impl acamera_metadata_tag {
19991    pub const ACAMERA_CONTROL_AWB_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65548);
19992}
19993impl acamera_metadata_tag {
19994    pub const ACAMERA_CONTROL_CAPTURE_INTENT: acamera_metadata_tag = acamera_metadata_tag(65549);
19995}
19996impl acamera_metadata_tag {
19997    pub const ACAMERA_CONTROL_EFFECT_MODE: acamera_metadata_tag = acamera_metadata_tag(65550);
19998}
19999impl acamera_metadata_tag {
20000    pub const ACAMERA_CONTROL_MODE: acamera_metadata_tag = acamera_metadata_tag(65551);
20001}
20002impl acamera_metadata_tag {
20003    pub const ACAMERA_CONTROL_SCENE_MODE: acamera_metadata_tag = acamera_metadata_tag(65552);
20004}
20005impl acamera_metadata_tag {
20006    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE: acamera_metadata_tag =
20007        acamera_metadata_tag(65553);
20008}
20009impl acamera_metadata_tag {
20010    pub const ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: acamera_metadata_tag =
20011        acamera_metadata_tag(65554);
20012}
20013impl acamera_metadata_tag {
20014    pub const ACAMERA_CONTROL_AE_AVAILABLE_MODES: acamera_metadata_tag =
20015        acamera_metadata_tag(65555);
20016}
20017impl acamera_metadata_tag {
20018    pub const ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: acamera_metadata_tag =
20019        acamera_metadata_tag(65556);
20020}
20021impl acamera_metadata_tag {
20022    pub const ACAMERA_CONTROL_AE_COMPENSATION_RANGE: acamera_metadata_tag =
20023        acamera_metadata_tag(65557);
20024}
20025impl acamera_metadata_tag {
20026    pub const ACAMERA_CONTROL_AE_COMPENSATION_STEP: acamera_metadata_tag =
20027        acamera_metadata_tag(65558);
20028}
20029impl acamera_metadata_tag {
20030    pub const ACAMERA_CONTROL_AF_AVAILABLE_MODES: acamera_metadata_tag =
20031        acamera_metadata_tag(65559);
20032}
20033impl acamera_metadata_tag {
20034    pub const ACAMERA_CONTROL_AVAILABLE_EFFECTS: acamera_metadata_tag = acamera_metadata_tag(65560);
20035}
20036impl acamera_metadata_tag {
20037    pub const ACAMERA_CONTROL_AVAILABLE_SCENE_MODES: acamera_metadata_tag =
20038        acamera_metadata_tag(65561);
20039}
20040impl acamera_metadata_tag {
20041    pub const ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: acamera_metadata_tag =
20042        acamera_metadata_tag(65562);
20043}
20044impl acamera_metadata_tag {
20045    pub const ACAMERA_CONTROL_AWB_AVAILABLE_MODES: acamera_metadata_tag =
20046        acamera_metadata_tag(65563);
20047}
20048impl acamera_metadata_tag {
20049    pub const ACAMERA_CONTROL_MAX_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65564);
20050}
20051impl acamera_metadata_tag {
20052    pub const ACAMERA_CONTROL_AE_STATE: acamera_metadata_tag = acamera_metadata_tag(65567);
20053}
20054impl acamera_metadata_tag {
20055    pub const ACAMERA_CONTROL_AF_STATE: acamera_metadata_tag = acamera_metadata_tag(65568);
20056}
20057impl acamera_metadata_tag {
20058    pub const ACAMERA_CONTROL_AWB_STATE: acamera_metadata_tag = acamera_metadata_tag(65570);
20059}
20060impl acamera_metadata_tag {
20061    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(65572);
20062}
20063impl acamera_metadata_tag {
20064    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE: acamera_metadata_tag =
20065        acamera_metadata_tag(65573);
20066}
20067impl acamera_metadata_tag {
20068    pub const ACAMERA_CONTROL_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(65574);
20069}
20070impl acamera_metadata_tag {
20071    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: acamera_metadata_tag =
20072        acamera_metadata_tag(65575);
20073}
20074impl acamera_metadata_tag {
20075    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST: acamera_metadata_tag =
20076        acamera_metadata_tag(65576);
20077}
20078impl acamera_metadata_tag {
20079    pub const ACAMERA_CONTROL_ENABLE_ZSL: acamera_metadata_tag = acamera_metadata_tag(65577);
20080}
20081impl acamera_metadata_tag {
20082    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE: acamera_metadata_tag = acamera_metadata_tag(65578);
20083}
20084impl acamera_metadata_tag {
20085    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES: acamera_metadata_tag =
20086        acamera_metadata_tag(65579);
20087}
20088impl acamera_metadata_tag {
20089    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:
20090        acamera_metadata_tag = acamera_metadata_tag(65580);
20091}
20092impl acamera_metadata_tag {
20093    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE: acamera_metadata_tag =
20094        acamera_metadata_tag(65581);
20095}
20096impl acamera_metadata_tag {
20097    pub const ACAMERA_CONTROL_ZOOM_RATIO_RANGE: acamera_metadata_tag = acamera_metadata_tag(65582);
20098}
20099impl acamera_metadata_tag {
20100    pub const ACAMERA_CONTROL_ZOOM_RATIO: acamera_metadata_tag = acamera_metadata_tag(65583);
20101}
20102impl acamera_metadata_tag {
20103    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE: acamera_metadata_tag = acamera_metadata_tag(65588);
20104}
20105impl acamera_metadata_tag {
20106    pub const ACAMERA_CONTROL_AVAILABLE_SETTINGS_OVERRIDES: acamera_metadata_tag =
20107        acamera_metadata_tag(65589);
20108}
20109impl acamera_metadata_tag {
20110    pub const ACAMERA_CONTROL_AUTOFRAMING: acamera_metadata_tag = acamera_metadata_tag(65591);
20111}
20112impl acamera_metadata_tag {
20113    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE: acamera_metadata_tag =
20114        acamera_metadata_tag(65592);
20115}
20116impl acamera_metadata_tag {
20117    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE: acamera_metadata_tag = acamera_metadata_tag(65593);
20118}
20119impl acamera_metadata_tag {
20120    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: acamera_metadata_tag =
20121        acamera_metadata_tag(65594);
20122}
20123impl acamera_metadata_tag {
20124    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE: acamera_metadata_tag =
20125        acamera_metadata_tag(65595);
20126}
20127impl acamera_metadata_tag {
20128    pub const ACAMERA_CONTROL_END: acamera_metadata_tag = acamera_metadata_tag(65596);
20129}
20130impl acamera_metadata_tag {
20131    pub const ACAMERA_EDGE_MODE: acamera_metadata_tag = acamera_metadata_tag(196608);
20132}
20133impl acamera_metadata_tag {
20134    pub const ACAMERA_EDGE_AVAILABLE_EDGE_MODES: acamera_metadata_tag =
20135        acamera_metadata_tag(196610);
20136}
20137impl acamera_metadata_tag {
20138    pub const ACAMERA_EDGE_END: acamera_metadata_tag = acamera_metadata_tag(196611);
20139}
20140impl acamera_metadata_tag {
20141    pub const ACAMERA_FLASH_MODE: acamera_metadata_tag = acamera_metadata_tag(262146);
20142}
20143impl acamera_metadata_tag {
20144    pub const ACAMERA_FLASH_STATE: acamera_metadata_tag = acamera_metadata_tag(262149);
20145}
20146impl acamera_metadata_tag {
20147    pub const ACAMERA_FLASH_STRENGTH_LEVEL: acamera_metadata_tag = acamera_metadata_tag(262150);
20148}
20149impl acamera_metadata_tag {
20150    pub const ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
20151        acamera_metadata_tag(262151);
20152}
20153impl acamera_metadata_tag {
20154    pub const ACAMERA_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
20155        acamera_metadata_tag(262152);
20156}
20157impl acamera_metadata_tag {
20158    pub const ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
20159        acamera_metadata_tag(262153);
20160}
20161impl acamera_metadata_tag {
20162    pub const ACAMERA_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
20163        acamera_metadata_tag(262154);
20164}
20165impl acamera_metadata_tag {
20166    pub const ACAMERA_FLASH_END: acamera_metadata_tag = acamera_metadata_tag(262155);
20167}
20168impl acamera_metadata_tag {
20169    pub const ACAMERA_FLASH_INFO_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(327680);
20170}
20171impl acamera_metadata_tag {
20172    pub const ACAMERA_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: acamera_metadata_tag =
20173        acamera_metadata_tag(327682);
20174}
20175impl acamera_metadata_tag {
20176    pub const ACAMERA_FLASH_INFO_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
20177        acamera_metadata_tag(327683);
20178}
20179impl acamera_metadata_tag {
20180    pub const ACAMERA_FLASH_INFO_END: acamera_metadata_tag = acamera_metadata_tag(327684);
20181}
20182impl acamera_metadata_tag {
20183    pub const ACAMERA_HOT_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(393216);
20184}
20185impl acamera_metadata_tag {
20186    pub const ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: acamera_metadata_tag =
20187        acamera_metadata_tag(393217);
20188}
20189impl acamera_metadata_tag {
20190    pub const ACAMERA_HOT_PIXEL_END: acamera_metadata_tag = acamera_metadata_tag(393218);
20191}
20192impl acamera_metadata_tag {
20193    pub const ACAMERA_JPEG_GPS_COORDINATES: acamera_metadata_tag = acamera_metadata_tag(458752);
20194}
20195impl acamera_metadata_tag {
20196    pub const ACAMERA_JPEG_GPS_PROCESSING_METHOD: acamera_metadata_tag =
20197        acamera_metadata_tag(458753);
20198}
20199impl acamera_metadata_tag {
20200    pub const ACAMERA_JPEG_GPS_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(458754);
20201}
20202impl acamera_metadata_tag {
20203    pub const ACAMERA_JPEG_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(458755);
20204}
20205impl acamera_metadata_tag {
20206    pub const ACAMERA_JPEG_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458756);
20207}
20208impl acamera_metadata_tag {
20209    pub const ACAMERA_JPEG_THUMBNAIL_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458757);
20210}
20211impl acamera_metadata_tag {
20212    pub const ACAMERA_JPEG_THUMBNAIL_SIZE: acamera_metadata_tag = acamera_metadata_tag(458758);
20213}
20214impl acamera_metadata_tag {
20215    pub const ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES: acamera_metadata_tag =
20216        acamera_metadata_tag(458759);
20217}
20218impl acamera_metadata_tag {
20219    pub const ACAMERA_JPEG_END: acamera_metadata_tag = acamera_metadata_tag(458760);
20220}
20221impl acamera_metadata_tag {
20222    pub const ACAMERA_LENS_APERTURE: acamera_metadata_tag = acamera_metadata_tag(524288);
20223}
20224impl acamera_metadata_tag {
20225    pub const ACAMERA_LENS_FILTER_DENSITY: acamera_metadata_tag = acamera_metadata_tag(524289);
20226}
20227impl acamera_metadata_tag {
20228    pub const ACAMERA_LENS_FOCAL_LENGTH: acamera_metadata_tag = acamera_metadata_tag(524290);
20229}
20230impl acamera_metadata_tag {
20231    pub const ACAMERA_LENS_FOCUS_DISTANCE: acamera_metadata_tag = acamera_metadata_tag(524291);
20232}
20233impl acamera_metadata_tag {
20234    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE: acamera_metadata_tag =
20235        acamera_metadata_tag(524292);
20236}
20237impl acamera_metadata_tag {
20238    pub const ACAMERA_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(524293);
20239}
20240impl acamera_metadata_tag {
20241    pub const ACAMERA_LENS_POSE_ROTATION: acamera_metadata_tag = acamera_metadata_tag(524294);
20242}
20243impl acamera_metadata_tag {
20244    pub const ACAMERA_LENS_POSE_TRANSLATION: acamera_metadata_tag = acamera_metadata_tag(524295);
20245}
20246impl acamera_metadata_tag {
20247    pub const ACAMERA_LENS_FOCUS_RANGE: acamera_metadata_tag = acamera_metadata_tag(524296);
20248}
20249impl acamera_metadata_tag {
20250    pub const ACAMERA_LENS_STATE: acamera_metadata_tag = acamera_metadata_tag(524297);
20251}
20252impl acamera_metadata_tag {
20253    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION: acamera_metadata_tag =
20254        acamera_metadata_tag(524298);
20255}
20256impl acamera_metadata_tag {
20257    pub const ACAMERA_LENS_RADIAL_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524299);
20258}
20259impl acamera_metadata_tag {
20260    pub const ACAMERA_LENS_POSE_REFERENCE: acamera_metadata_tag = acamera_metadata_tag(524300);
20261}
20262impl acamera_metadata_tag {
20263    pub const ACAMERA_LENS_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524301);
20264}
20265impl acamera_metadata_tag {
20266    pub const ACAMERA_LENS_DISTORTION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20267        acamera_metadata_tag(524302);
20268}
20269impl acamera_metadata_tag {
20270    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20271        acamera_metadata_tag(524303);
20272}
20273impl acamera_metadata_tag {
20274    pub const ACAMERA_LENS_END: acamera_metadata_tag = acamera_metadata_tag(524304);
20275}
20276impl acamera_metadata_tag {
20277    pub const ACAMERA_LENS_INFO_AVAILABLE_APERTURES: acamera_metadata_tag =
20278        acamera_metadata_tag(589824);
20279}
20280impl acamera_metadata_tag {
20281    pub const ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES: acamera_metadata_tag =
20282        acamera_metadata_tag(589825);
20283}
20284impl acamera_metadata_tag {
20285    pub const ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: acamera_metadata_tag =
20286        acamera_metadata_tag(589826);
20287}
20288impl acamera_metadata_tag {
20289    pub const ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: acamera_metadata_tag =
20290        acamera_metadata_tag(589827);
20291}
20292impl acamera_metadata_tag {
20293    pub const ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE: acamera_metadata_tag =
20294        acamera_metadata_tag(589828);
20295}
20296impl acamera_metadata_tag {
20297    pub const ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE: acamera_metadata_tag =
20298        acamera_metadata_tag(589829);
20299}
20300impl acamera_metadata_tag {
20301    pub const ACAMERA_LENS_INFO_SHADING_MAP_SIZE: acamera_metadata_tag =
20302        acamera_metadata_tag(589830);
20303}
20304impl acamera_metadata_tag {
20305    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: acamera_metadata_tag =
20306        acamera_metadata_tag(589831);
20307}
20308impl acamera_metadata_tag {
20309    pub const ACAMERA_LENS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(589832);
20310}
20311impl acamera_metadata_tag {
20312    pub const ACAMERA_NOISE_REDUCTION_MODE: acamera_metadata_tag = acamera_metadata_tag(655360);
20313}
20314impl acamera_metadata_tag {
20315    pub const ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: acamera_metadata_tag =
20316        acamera_metadata_tag(655362);
20317}
20318impl acamera_metadata_tag {
20319    pub const ACAMERA_NOISE_REDUCTION_END: acamera_metadata_tag = acamera_metadata_tag(655363);
20320}
20321impl acamera_metadata_tag {
20322    pub const ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS: acamera_metadata_tag =
20323        acamera_metadata_tag(786438);
20324}
20325impl acamera_metadata_tag {
20326    pub const ACAMERA_REQUEST_PIPELINE_DEPTH: acamera_metadata_tag = acamera_metadata_tag(786441);
20327}
20328impl acamera_metadata_tag {
20329    pub const ACAMERA_REQUEST_PIPELINE_MAX_DEPTH: acamera_metadata_tag =
20330        acamera_metadata_tag(786442);
20331}
20332impl acamera_metadata_tag {
20333    pub const ACAMERA_REQUEST_PARTIAL_RESULT_COUNT: acamera_metadata_tag =
20334        acamera_metadata_tag(786443);
20335}
20336impl acamera_metadata_tag {
20337    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES: acamera_metadata_tag =
20338        acamera_metadata_tag(786444);
20339}
20340impl acamera_metadata_tag {
20341    pub const ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS: acamera_metadata_tag =
20342        acamera_metadata_tag(786445);
20343}
20344impl acamera_metadata_tag {
20345    pub const ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS: acamera_metadata_tag =
20346        acamera_metadata_tag(786446);
20347}
20348impl acamera_metadata_tag {
20349    pub const ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS: acamera_metadata_tag =
20350        acamera_metadata_tag(786447);
20351}
20352impl acamera_metadata_tag {
20353    pub const ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS: acamera_metadata_tag =
20354        acamera_metadata_tag(786448);
20355}
20356impl acamera_metadata_tag {
20357    pub const ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS: acamera_metadata_tag =
20358        acamera_metadata_tag(786449);
20359}
20360impl acamera_metadata_tag {
20361    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP: acamera_metadata_tag =
20362        acamera_metadata_tag(786451);
20363}
20364impl acamera_metadata_tag {
20365    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP: acamera_metadata_tag =
20366        acamera_metadata_tag(786453);
20367}
20368impl acamera_metadata_tag {
20369    pub const ACAMERA_REQUEST_END: acamera_metadata_tag = acamera_metadata_tag(786454);
20370}
20371impl acamera_metadata_tag {
20372    pub const ACAMERA_SCALER_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851968);
20373}
20374impl acamera_metadata_tag {
20375    pub const ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: acamera_metadata_tag =
20376        acamera_metadata_tag(851972);
20377}
20378impl acamera_metadata_tag {
20379    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20380        acamera_metadata_tag(851978);
20381}
20382impl acamera_metadata_tag {
20383    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20384        acamera_metadata_tag(851979);
20385}
20386impl acamera_metadata_tag {
20387    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS: acamera_metadata_tag =
20388        acamera_metadata_tag(851980);
20389}
20390impl acamera_metadata_tag {
20391    pub const ACAMERA_SCALER_CROPPING_TYPE: acamera_metadata_tag = acamera_metadata_tag(851981);
20392}
20393impl acamera_metadata_tag {
20394    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20395        acamera_metadata_tag(851982);
20396}
20397impl acamera_metadata_tag {
20398    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP: acamera_metadata_tag =
20399        acamera_metadata_tag(851983);
20400}
20401impl acamera_metadata_tag {
20402    pub const ACAMERA_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: acamera_metadata_tag =
20403        acamera_metadata_tag(851984);
20404}
20405impl acamera_metadata_tag {
20406    pub const ACAMERA_SCALER_ROTATE_AND_CROP: acamera_metadata_tag = acamera_metadata_tag(851985);
20407}
20408impl acamera_metadata_tag {
20409    pub const ACAMERA_SCALER_DEFAULT_SECURE_IMAGE_SIZE: acamera_metadata_tag =
20410        acamera_metadata_tag(851986);
20411}
20412impl acamera_metadata_tag {
20413    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS:
20414        acamera_metadata_tag = acamera_metadata_tag(851987);
20415}
20416impl acamera_metadata_tag {
20417    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20418        acamera_metadata_tag = acamera_metadata_tag(851988);
20419}
20420impl acamera_metadata_tag {
20421    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20422        acamera_metadata_tag = acamera_metadata_tag(851989);
20423}
20424impl acamera_metadata_tag {
20425    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20426        acamera_metadata_tag(851990);
20427}
20428impl acamera_metadata_tag {
20429    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED: acamera_metadata_tag =
20430        acamera_metadata_tag(851992);
20431}
20432impl acamera_metadata_tag {
20433    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES: acamera_metadata_tag =
20434        acamera_metadata_tag(851994);
20435}
20436impl acamera_metadata_tag {
20437    pub const ACAMERA_SCALER_RAW_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851995);
20438}
20439impl acamera_metadata_tag {
20440    pub const ACAMERA_SCALER_END: acamera_metadata_tag = acamera_metadata_tag(851996);
20441}
20442impl acamera_metadata_tag {
20443    pub const ACAMERA_SENSOR_EXPOSURE_TIME: acamera_metadata_tag = acamera_metadata_tag(917504);
20444}
20445impl acamera_metadata_tag {
20446    pub const ACAMERA_SENSOR_FRAME_DURATION: acamera_metadata_tag = acamera_metadata_tag(917505);
20447}
20448impl acamera_metadata_tag {
20449    pub const ACAMERA_SENSOR_SENSITIVITY: acamera_metadata_tag = acamera_metadata_tag(917506);
20450}
20451impl acamera_metadata_tag {
20452    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1: acamera_metadata_tag =
20453        acamera_metadata_tag(917507);
20454}
20455impl acamera_metadata_tag {
20456    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT2: acamera_metadata_tag =
20457        acamera_metadata_tag(917508);
20458}
20459impl acamera_metadata_tag {
20460    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM1: acamera_metadata_tag =
20461        acamera_metadata_tag(917509);
20462}
20463impl acamera_metadata_tag {
20464    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM2: acamera_metadata_tag =
20465        acamera_metadata_tag(917510);
20466}
20467impl acamera_metadata_tag {
20468    pub const ACAMERA_SENSOR_COLOR_TRANSFORM1: acamera_metadata_tag = acamera_metadata_tag(917511);
20469}
20470impl acamera_metadata_tag {
20471    pub const ACAMERA_SENSOR_COLOR_TRANSFORM2: acamera_metadata_tag = acamera_metadata_tag(917512);
20472}
20473impl acamera_metadata_tag {
20474    pub const ACAMERA_SENSOR_FORWARD_MATRIX1: acamera_metadata_tag = acamera_metadata_tag(917513);
20475}
20476impl acamera_metadata_tag {
20477    pub const ACAMERA_SENSOR_FORWARD_MATRIX2: acamera_metadata_tag = acamera_metadata_tag(917514);
20478}
20479impl acamera_metadata_tag {
20480    pub const ACAMERA_SENSOR_BLACK_LEVEL_PATTERN: acamera_metadata_tag =
20481        acamera_metadata_tag(917516);
20482}
20483impl acamera_metadata_tag {
20484    pub const ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY: acamera_metadata_tag =
20485        acamera_metadata_tag(917517);
20486}
20487impl acamera_metadata_tag {
20488    pub const ACAMERA_SENSOR_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(917518);
20489}
20490impl acamera_metadata_tag {
20491    pub const ACAMERA_SENSOR_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(917520);
20492}
20493impl acamera_metadata_tag {
20494    pub const ACAMERA_SENSOR_NEUTRAL_COLOR_POINT: acamera_metadata_tag =
20495        acamera_metadata_tag(917522);
20496}
20497impl acamera_metadata_tag {
20498    pub const ACAMERA_SENSOR_NOISE_PROFILE: acamera_metadata_tag = acamera_metadata_tag(917523);
20499}
20500impl acamera_metadata_tag {
20501    pub const ACAMERA_SENSOR_GREEN_SPLIT: acamera_metadata_tag = acamera_metadata_tag(917526);
20502}
20503impl acamera_metadata_tag {
20504    pub const ACAMERA_SENSOR_TEST_PATTERN_DATA: acamera_metadata_tag = acamera_metadata_tag(917527);
20505}
20506impl acamera_metadata_tag {
20507    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE: acamera_metadata_tag = acamera_metadata_tag(917528);
20508}
20509impl acamera_metadata_tag {
20510    pub const ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES: acamera_metadata_tag =
20511        acamera_metadata_tag(917529);
20512}
20513impl acamera_metadata_tag {
20514    pub const ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW: acamera_metadata_tag =
20515        acamera_metadata_tag(917530);
20516}
20517impl acamera_metadata_tag {
20518    pub const ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS: acamera_metadata_tag =
20519        acamera_metadata_tag(917531);
20520}
20521impl acamera_metadata_tag {
20522    pub const ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL: acamera_metadata_tag =
20523        acamera_metadata_tag(917532);
20524}
20525impl acamera_metadata_tag {
20526    pub const ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL: acamera_metadata_tag =
20527        acamera_metadata_tag(917533);
20528}
20529impl acamera_metadata_tag {
20530    pub const ACAMERA_SENSOR_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(917536);
20531}
20532impl acamera_metadata_tag {
20533    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED: acamera_metadata_tag =
20534        acamera_metadata_tag(917537);
20535}
20536impl acamera_metadata_tag {
20537    pub const ACAMERA_SENSOR_END: acamera_metadata_tag = acamera_metadata_tag(917538);
20538}
20539impl acamera_metadata_tag {
20540    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
20541        acamera_metadata_tag(983040);
20542}
20543impl acamera_metadata_tag {
20544    pub const ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE: acamera_metadata_tag =
20545        acamera_metadata_tag(983041);
20546}
20547impl acamera_metadata_tag {
20548    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: acamera_metadata_tag =
20549        acamera_metadata_tag(983042);
20550}
20551impl acamera_metadata_tag {
20552    pub const ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE: acamera_metadata_tag =
20553        acamera_metadata_tag(983043);
20554}
20555impl acamera_metadata_tag {
20556    pub const ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION: acamera_metadata_tag =
20557        acamera_metadata_tag(983044);
20558}
20559impl acamera_metadata_tag {
20560    pub const ACAMERA_SENSOR_INFO_PHYSICAL_SIZE: acamera_metadata_tag =
20561        acamera_metadata_tag(983045);
20562}
20563impl acamera_metadata_tag {
20564    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE: acamera_metadata_tag =
20565        acamera_metadata_tag(983046);
20566}
20567impl acamera_metadata_tag {
20568    pub const ACAMERA_SENSOR_INFO_WHITE_LEVEL: acamera_metadata_tag = acamera_metadata_tag(983047);
20569}
20570impl acamera_metadata_tag {
20571    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE: acamera_metadata_tag =
20572        acamera_metadata_tag(983048);
20573}
20574impl acamera_metadata_tag {
20575    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED: acamera_metadata_tag =
20576        acamera_metadata_tag(983049);
20577}
20578impl acamera_metadata_tag {
20579    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
20580        acamera_metadata_tag(983050);
20581}
20582impl acamera_metadata_tag {
20583    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20584        acamera_metadata_tag(983051);
20585}
20586impl acamera_metadata_tag {
20587    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20588        acamera_metadata_tag(983052);
20589}
20590impl acamera_metadata_tag {
20591    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION:
20592        acamera_metadata_tag = acamera_metadata_tag(983053);
20593}
20594impl acamera_metadata_tag {
20595    pub const ACAMERA_SENSOR_INFO_BINNING_FACTOR: acamera_metadata_tag =
20596        acamera_metadata_tag(983054);
20597}
20598impl acamera_metadata_tag {
20599    pub const ACAMERA_SENSOR_INFO_END: acamera_metadata_tag = acamera_metadata_tag(983055);
20600}
20601impl acamera_metadata_tag {
20602    pub const ACAMERA_SHADING_MODE: acamera_metadata_tag = acamera_metadata_tag(1048576);
20603}
20604impl acamera_metadata_tag {
20605    pub const ACAMERA_SHADING_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(1048578);
20606}
20607impl acamera_metadata_tag {
20608    pub const ACAMERA_SHADING_END: acamera_metadata_tag = acamera_metadata_tag(1048579);
20609}
20610impl acamera_metadata_tag {
20611    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE: acamera_metadata_tag =
20612        acamera_metadata_tag(1114112);
20613}
20614impl acamera_metadata_tag {
20615    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE: acamera_metadata_tag =
20616        acamera_metadata_tag(1114115);
20617}
20618impl acamera_metadata_tag {
20619    pub const ACAMERA_STATISTICS_FACE_IDS: acamera_metadata_tag = acamera_metadata_tag(1114116);
20620}
20621impl acamera_metadata_tag {
20622    pub const ACAMERA_STATISTICS_FACE_LANDMARKS: acamera_metadata_tag =
20623        acamera_metadata_tag(1114117);
20624}
20625impl acamera_metadata_tag {
20626    pub const ACAMERA_STATISTICS_FACE_RECTANGLES: acamera_metadata_tag =
20627        acamera_metadata_tag(1114118);
20628}
20629impl acamera_metadata_tag {
20630    pub const ACAMERA_STATISTICS_FACE_SCORES: acamera_metadata_tag = acamera_metadata_tag(1114119);
20631}
20632impl acamera_metadata_tag {
20633    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP: acamera_metadata_tag =
20634        acamera_metadata_tag(1114123);
20635}
20636impl acamera_metadata_tag {
20637    pub const ACAMERA_STATISTICS_SCENE_FLICKER: acamera_metadata_tag =
20638        acamera_metadata_tag(1114126);
20639}
20640impl acamera_metadata_tag {
20641    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP: acamera_metadata_tag =
20642        acamera_metadata_tag(1114127);
20643}
20644impl acamera_metadata_tag {
20645    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE: acamera_metadata_tag =
20646        acamera_metadata_tag(1114128);
20647}
20648impl acamera_metadata_tag {
20649    pub const ACAMERA_STATISTICS_OIS_DATA_MODE: acamera_metadata_tag =
20650        acamera_metadata_tag(1114129);
20651}
20652impl acamera_metadata_tag {
20653    pub const ACAMERA_STATISTICS_OIS_TIMESTAMPS: acamera_metadata_tag =
20654        acamera_metadata_tag(1114130);
20655}
20656impl acamera_metadata_tag {
20657    pub const ACAMERA_STATISTICS_OIS_X_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114131);
20658}
20659impl acamera_metadata_tag {
20660    pub const ACAMERA_STATISTICS_OIS_Y_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114132);
20661}
20662impl acamera_metadata_tag {
20663    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_TIMESTAMPS: acamera_metadata_tag =
20664        acamera_metadata_tag(1114133);
20665}
20666impl acamera_metadata_tag {
20667    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_SAMPLES: acamera_metadata_tag =
20668        acamera_metadata_tag(1114134);
20669}
20670impl acamera_metadata_tag {
20671    pub const ACAMERA_STATISTICS_END: acamera_metadata_tag = acamera_metadata_tag(1114135);
20672}
20673impl acamera_metadata_tag {
20674    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: acamera_metadata_tag =
20675        acamera_metadata_tag(1179648);
20676}
20677impl acamera_metadata_tag {
20678    pub const ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT: acamera_metadata_tag =
20679        acamera_metadata_tag(1179650);
20680}
20681impl acamera_metadata_tag {
20682    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: acamera_metadata_tag =
20683        acamera_metadata_tag(1179654);
20684}
20685impl acamera_metadata_tag {
20686    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: acamera_metadata_tag =
20687        acamera_metadata_tag(1179655);
20688}
20689impl acamera_metadata_tag {
20690    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: acamera_metadata_tag =
20691        acamera_metadata_tag(1179656);
20692}
20693impl acamera_metadata_tag {
20694    pub const ACAMERA_STATISTICS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1179657);
20695}
20696impl acamera_metadata_tag {
20697    pub const ACAMERA_TONEMAP_CURVE_BLUE: acamera_metadata_tag = acamera_metadata_tag(1245184);
20698}
20699impl acamera_metadata_tag {
20700    pub const ACAMERA_TONEMAP_CURVE_GREEN: acamera_metadata_tag = acamera_metadata_tag(1245185);
20701}
20702impl acamera_metadata_tag {
20703    pub const ACAMERA_TONEMAP_CURVE_RED: acamera_metadata_tag = acamera_metadata_tag(1245186);
20704}
20705impl acamera_metadata_tag {
20706    pub const ACAMERA_TONEMAP_MODE: acamera_metadata_tag = acamera_metadata_tag(1245187);
20707}
20708impl acamera_metadata_tag {
20709    pub const ACAMERA_TONEMAP_MAX_CURVE_POINTS: acamera_metadata_tag =
20710        acamera_metadata_tag(1245188);
20711}
20712impl acamera_metadata_tag {
20713    pub const ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES: acamera_metadata_tag =
20714        acamera_metadata_tag(1245189);
20715}
20716impl acamera_metadata_tag {
20717    pub const ACAMERA_TONEMAP_GAMMA: acamera_metadata_tag = acamera_metadata_tag(1245190);
20718}
20719impl acamera_metadata_tag {
20720    pub const ACAMERA_TONEMAP_PRESET_CURVE: acamera_metadata_tag = acamera_metadata_tag(1245191);
20721}
20722impl acamera_metadata_tag {
20723    pub const ACAMERA_TONEMAP_END: acamera_metadata_tag = acamera_metadata_tag(1245192);
20724}
20725impl acamera_metadata_tag {
20726    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL: acamera_metadata_tag =
20727        acamera_metadata_tag(1376256);
20728}
20729impl acamera_metadata_tag {
20730    pub const ACAMERA_INFO_VERSION: acamera_metadata_tag = acamera_metadata_tag(1376257);
20731}
20732impl acamera_metadata_tag {
20733    pub const ACAMERA_INFO_DEVICE_STATE_ORIENTATIONS: acamera_metadata_tag =
20734        acamera_metadata_tag(1376259);
20735}
20736impl acamera_metadata_tag {
20737    pub const ACAMERA_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1376260);
20738}
20739impl acamera_metadata_tag {
20740    pub const ACAMERA_BLACK_LEVEL_LOCK: acamera_metadata_tag = acamera_metadata_tag(1441792);
20741}
20742impl acamera_metadata_tag {
20743    pub const ACAMERA_BLACK_LEVEL_END: acamera_metadata_tag = acamera_metadata_tag(1441793);
20744}
20745impl acamera_metadata_tag {
20746    pub const ACAMERA_SYNC_FRAME_NUMBER: acamera_metadata_tag = acamera_metadata_tag(1507328);
20747}
20748impl acamera_metadata_tag {
20749    pub const ACAMERA_SYNC_MAX_LATENCY: acamera_metadata_tag = acamera_metadata_tag(1507329);
20750}
20751impl acamera_metadata_tag {
20752    pub const ACAMERA_SYNC_END: acamera_metadata_tag = acamera_metadata_tag(1507330);
20753}
20754impl acamera_metadata_tag {
20755    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20756        acamera_metadata_tag(1638401);
20757}
20758impl acamera_metadata_tag {
20759    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20760        acamera_metadata_tag(1638402);
20761}
20762impl acamera_metadata_tag {
20763    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
20764        acamera_metadata_tag(1638403);
20765}
20766impl acamera_metadata_tag {
20767    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE: acamera_metadata_tag =
20768        acamera_metadata_tag(1638404);
20769}
20770impl acamera_metadata_tag {
20771    pub const ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS:
20772        acamera_metadata_tag = acamera_metadata_tag(1638405);
20773}
20774impl acamera_metadata_tag {
20775    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20776        acamera_metadata_tag(1638406);
20777}
20778impl acamera_metadata_tag {
20779    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20780        acamera_metadata_tag(1638407);
20781}
20782impl acamera_metadata_tag {
20783    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
20784        acamera_metadata_tag(1638408);
20785}
20786impl acamera_metadata_tag {
20787    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20788        acamera_metadata_tag = acamera_metadata_tag(1638409);
20789}
20790impl acamera_metadata_tag {
20791    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20792        acamera_metadata_tag = acamera_metadata_tag(1638410);
20793}
20794impl acamera_metadata_tag {
20795    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
20796        acamera_metadata_tag = acamera_metadata_tag(1638411);
20797}
20798impl acamera_metadata_tag {
20799    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20800        acamera_metadata_tag = acamera_metadata_tag(1638412);
20801}
20802impl acamera_metadata_tag {
20803    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20804        acamera_metadata_tag = acamera_metadata_tag(1638413);
20805}
20806impl acamera_metadata_tag {
20807    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
20808        acamera_metadata_tag = acamera_metadata_tag(1638414);
20809}
20810impl acamera_metadata_tag {
20811    pub const ACAMERA_DEPTH_END: acamera_metadata_tag = acamera_metadata_tag(1638415);
20812}
20813impl acamera_metadata_tag {
20814    pub const ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: acamera_metadata_tag =
20815        acamera_metadata_tag(1703936);
20816}
20817impl acamera_metadata_tag {
20818    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: acamera_metadata_tag =
20819        acamera_metadata_tag(1703937);
20820}
20821impl acamera_metadata_tag {
20822    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: acamera_metadata_tag =
20823        acamera_metadata_tag(1703938);
20824}
20825impl acamera_metadata_tag {
20826    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION:
20827        acamera_metadata_tag = acamera_metadata_tag(1703939);
20828}
20829impl acamera_metadata_tag {
20830    pub const ACAMERA_LOGICAL_MULTI_CAMERA_END: acamera_metadata_tag =
20831        acamera_metadata_tag(1703940);
20832}
20833impl acamera_metadata_tag {
20834    pub const ACAMERA_DISTORTION_CORRECTION_MODE: acamera_metadata_tag =
20835        acamera_metadata_tag(1769472);
20836}
20837impl acamera_metadata_tag {
20838    pub const ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES: acamera_metadata_tag =
20839        acamera_metadata_tag(1769473);
20840}
20841impl acamera_metadata_tag {
20842    pub const ACAMERA_DISTORTION_CORRECTION_END: acamera_metadata_tag =
20843        acamera_metadata_tag(1769474);
20844}
20845impl acamera_metadata_tag {
20846    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20847        acamera_metadata_tag(1835008);
20848}
20849impl acamera_metadata_tag {
20850    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20851        acamera_metadata_tag(1835009);
20852}
20853impl acamera_metadata_tag {
20854    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: acamera_metadata_tag =
20855        acamera_metadata_tag(1835010);
20856}
20857impl acamera_metadata_tag {
20858    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20859        acamera_metadata_tag = acamera_metadata_tag(1835011);
20860}
20861impl acamera_metadata_tag {
20862    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20863        acamera_metadata_tag = acamera_metadata_tag(1835012);
20864}
20865impl acamera_metadata_tag {
20866    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20867        acamera_metadata_tag(1835013);
20868}
20869impl acamera_metadata_tag {
20870    pub const ACAMERA_HEIC_END: acamera_metadata_tag = acamera_metadata_tag(1835014);
20871}
20872impl acamera_metadata_tag {
20873    pub const ACAMERA_AUTOMOTIVE_LOCATION: acamera_metadata_tag = acamera_metadata_tag(1966080);
20874}
20875impl acamera_metadata_tag {
20876    pub const ACAMERA_AUTOMOTIVE_END: acamera_metadata_tag = acamera_metadata_tag(1966081);
20877}
20878impl acamera_metadata_tag {
20879    pub const ACAMERA_AUTOMOTIVE_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(2031616);
20880}
20881impl acamera_metadata_tag {
20882    pub const ACAMERA_AUTOMOTIVE_LENS_END: acamera_metadata_tag = acamera_metadata_tag(2031617);
20883}
20884impl acamera_metadata_tag {
20885    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20886        acamera_metadata_tag(2162688);
20887}
20888impl acamera_metadata_tag {
20889    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20890        acamera_metadata_tag(2162689);
20891}
20892impl acamera_metadata_tag {
20893    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS: acamera_metadata_tag =
20894        acamera_metadata_tag(2162690);
20895}
20896impl acamera_metadata_tag {
20897    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20898        acamera_metadata_tag = acamera_metadata_tag(2162691);
20899}
20900impl acamera_metadata_tag {
20901    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20902        acamera_metadata_tag = acamera_metadata_tag(2162692);
20903}
20904impl acamera_metadata_tag {
20905    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION:
20906        acamera_metadata_tag = acamera_metadata_tag(2162693);
20907}
20908impl acamera_metadata_tag {
20909    pub const ACAMERA_JPEGR_END: acamera_metadata_tag = acamera_metadata_tag(2162694);
20910}
20911#[repr(transparent)]
20912#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20913pub struct acamera_metadata_tag(pub ::std::os::raw::c_uint);
20914pub use self::acamera_metadata_tag as acamera_metadata_tag_t;
20915impl acamera_metadata_enum_acamera_color_correction_mode {
20916    pub const ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
20917        acamera_metadata_enum_acamera_color_correction_mode =
20918        acamera_metadata_enum_acamera_color_correction_mode(0);
20919}
20920impl acamera_metadata_enum_acamera_color_correction_mode {
20921    pub const ACAMERA_COLOR_CORRECTION_MODE_FAST:
20922        acamera_metadata_enum_acamera_color_correction_mode =
20923        acamera_metadata_enum_acamera_color_correction_mode(1);
20924}
20925impl acamera_metadata_enum_acamera_color_correction_mode {
20926    pub const ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY:
20927        acamera_metadata_enum_acamera_color_correction_mode =
20928        acamera_metadata_enum_acamera_color_correction_mode(2);
20929}
20930#[repr(transparent)]
20931#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20932pub struct acamera_metadata_enum_acamera_color_correction_mode(pub ::std::os::raw::c_uint);
20933pub use self::acamera_metadata_enum_acamera_color_correction_mode as acamera_metadata_enum_android_color_correction_mode_t;
20934impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
20935    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF:
20936        acamera_metadata_enum_acamera_color_correction_aberration_mode =
20937        acamera_metadata_enum_acamera_color_correction_aberration_mode(0);
20938}
20939impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
20940    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST:
20941        acamera_metadata_enum_acamera_color_correction_aberration_mode =
20942        acamera_metadata_enum_acamera_color_correction_aberration_mode(1);
20943}
20944impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
20945    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY:
20946        acamera_metadata_enum_acamera_color_correction_aberration_mode =
20947        acamera_metadata_enum_acamera_color_correction_aberration_mode(2);
20948}
20949#[repr(transparent)]
20950#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20951pub struct acamera_metadata_enum_acamera_color_correction_aberration_mode(
20952    pub ::std::os::raw::c_uint,
20953);
20954pub use self::acamera_metadata_enum_acamera_color_correction_aberration_mode as acamera_metadata_enum_android_color_correction_aberration_mode_t;
20955impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20956    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF:
20957        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20958        acamera_metadata_enum_acamera_control_ae_antibanding_mode(0);
20959}
20960impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20961    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ:
20962        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20963        acamera_metadata_enum_acamera_control_ae_antibanding_mode(1);
20964}
20965impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20966    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ:
20967        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20968        acamera_metadata_enum_acamera_control_ae_antibanding_mode(2);
20969}
20970impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20971    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO:
20972        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20973        acamera_metadata_enum_acamera_control_ae_antibanding_mode(3);
20974}
20975#[repr(transparent)]
20976#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20977pub struct acamera_metadata_enum_acamera_control_ae_antibanding_mode(pub ::std::os::raw::c_uint);
20978pub use self::acamera_metadata_enum_acamera_control_ae_antibanding_mode as acamera_metadata_enum_android_control_ae_antibanding_mode_t;
20979impl acamera_metadata_enum_acamera_control_ae_lock {
20980    pub const ACAMERA_CONTROL_AE_LOCK_OFF: acamera_metadata_enum_acamera_control_ae_lock =
20981        acamera_metadata_enum_acamera_control_ae_lock(0);
20982}
20983impl acamera_metadata_enum_acamera_control_ae_lock {
20984    pub const ACAMERA_CONTROL_AE_LOCK_ON: acamera_metadata_enum_acamera_control_ae_lock =
20985        acamera_metadata_enum_acamera_control_ae_lock(1);
20986}
20987#[repr(transparent)]
20988#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20989pub struct acamera_metadata_enum_acamera_control_ae_lock(pub ::std::os::raw::c_uint);
20990pub use self::acamera_metadata_enum_acamera_control_ae_lock as acamera_metadata_enum_android_control_ae_lock_t;
20991impl acamera_metadata_enum_acamera_control_ae_mode {
20992    pub const ACAMERA_CONTROL_AE_MODE_OFF: acamera_metadata_enum_acamera_control_ae_mode =
20993        acamera_metadata_enum_acamera_control_ae_mode(0);
20994}
20995impl acamera_metadata_enum_acamera_control_ae_mode {
20996    pub const ACAMERA_CONTROL_AE_MODE_ON: acamera_metadata_enum_acamera_control_ae_mode =
20997        acamera_metadata_enum_acamera_control_ae_mode(1);
20998}
20999impl acamera_metadata_enum_acamera_control_ae_mode {
21000    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH: acamera_metadata_enum_acamera_control_ae_mode =
21001        acamera_metadata_enum_acamera_control_ae_mode(2);
21002}
21003impl acamera_metadata_enum_acamera_control_ae_mode {
21004    pub const ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
21005        acamera_metadata_enum_acamera_control_ae_mode =
21006        acamera_metadata_enum_acamera_control_ae_mode(3);
21007}
21008impl acamera_metadata_enum_acamera_control_ae_mode {
21009    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
21010        acamera_metadata_enum_acamera_control_ae_mode =
21011        acamera_metadata_enum_acamera_control_ae_mode(4);
21012}
21013impl acamera_metadata_enum_acamera_control_ae_mode {
21014    pub const ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH:
21015        acamera_metadata_enum_acamera_control_ae_mode =
21016        acamera_metadata_enum_acamera_control_ae_mode(5);
21017}
21018impl acamera_metadata_enum_acamera_control_ae_mode {
21019    pub const ACAMERA_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY:
21020        acamera_metadata_enum_acamera_control_ae_mode =
21021        acamera_metadata_enum_acamera_control_ae_mode(6);
21022}
21023#[repr(transparent)]
21024#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21025pub struct acamera_metadata_enum_acamera_control_ae_mode(pub ::std::os::raw::c_uint);
21026pub use self::acamera_metadata_enum_acamera_control_ae_mode as acamera_metadata_enum_android_control_ae_mode_t;
21027impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
21028    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
21029        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
21030        acamera_metadata_enum_acamera_control_ae_precapture_trigger(0);
21031}
21032impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
21033    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START:
21034        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
21035        acamera_metadata_enum_acamera_control_ae_precapture_trigger(1);
21036}
21037impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
21038    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL:
21039        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
21040        acamera_metadata_enum_acamera_control_ae_precapture_trigger(2);
21041}
21042#[repr(transparent)]
21043#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21044pub struct acamera_metadata_enum_acamera_control_ae_precapture_trigger(pub ::std::os::raw::c_uint);
21045pub use self::acamera_metadata_enum_acamera_control_ae_precapture_trigger as acamera_metadata_enum_android_control_ae_precapture_trigger_t;
21046impl acamera_metadata_enum_acamera_control_af_mode {
21047    pub const ACAMERA_CONTROL_AF_MODE_OFF: acamera_metadata_enum_acamera_control_af_mode =
21048        acamera_metadata_enum_acamera_control_af_mode(0);
21049}
21050impl acamera_metadata_enum_acamera_control_af_mode {
21051    pub const ACAMERA_CONTROL_AF_MODE_AUTO: acamera_metadata_enum_acamera_control_af_mode =
21052        acamera_metadata_enum_acamera_control_af_mode(1);
21053}
21054impl acamera_metadata_enum_acamera_control_af_mode {
21055    pub const ACAMERA_CONTROL_AF_MODE_MACRO: acamera_metadata_enum_acamera_control_af_mode =
21056        acamera_metadata_enum_acamera_control_af_mode(2);
21057}
21058impl acamera_metadata_enum_acamera_control_af_mode {
21059    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
21060        acamera_metadata_enum_acamera_control_af_mode =
21061        acamera_metadata_enum_acamera_control_af_mode(3);
21062}
21063impl acamera_metadata_enum_acamera_control_af_mode {
21064    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
21065        acamera_metadata_enum_acamera_control_af_mode =
21066        acamera_metadata_enum_acamera_control_af_mode(4);
21067}
21068impl acamera_metadata_enum_acamera_control_af_mode {
21069    pub const ACAMERA_CONTROL_AF_MODE_EDOF: acamera_metadata_enum_acamera_control_af_mode =
21070        acamera_metadata_enum_acamera_control_af_mode(5);
21071}
21072#[repr(transparent)]
21073#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21074pub struct acamera_metadata_enum_acamera_control_af_mode(pub ::std::os::raw::c_uint);
21075pub use self::acamera_metadata_enum_acamera_control_af_mode as acamera_metadata_enum_android_control_af_mode_t;
21076impl acamera_metadata_enum_acamera_control_af_trigger {
21077    pub const ACAMERA_CONTROL_AF_TRIGGER_IDLE: acamera_metadata_enum_acamera_control_af_trigger =
21078        acamera_metadata_enum_acamera_control_af_trigger(0);
21079}
21080impl acamera_metadata_enum_acamera_control_af_trigger {
21081    pub const ACAMERA_CONTROL_AF_TRIGGER_START: acamera_metadata_enum_acamera_control_af_trigger =
21082        acamera_metadata_enum_acamera_control_af_trigger(1);
21083}
21084impl acamera_metadata_enum_acamera_control_af_trigger {
21085    pub const ACAMERA_CONTROL_AF_TRIGGER_CANCEL: acamera_metadata_enum_acamera_control_af_trigger =
21086        acamera_metadata_enum_acamera_control_af_trigger(2);
21087}
21088#[repr(transparent)]
21089#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21090pub struct acamera_metadata_enum_acamera_control_af_trigger(pub ::std::os::raw::c_uint);
21091pub use self::acamera_metadata_enum_acamera_control_af_trigger as acamera_metadata_enum_android_control_af_trigger_t;
21092impl acamera_metadata_enum_acamera_control_awb_lock {
21093    pub const ACAMERA_CONTROL_AWB_LOCK_OFF: acamera_metadata_enum_acamera_control_awb_lock =
21094        acamera_metadata_enum_acamera_control_awb_lock(0);
21095}
21096impl acamera_metadata_enum_acamera_control_awb_lock {
21097    pub const ACAMERA_CONTROL_AWB_LOCK_ON: acamera_metadata_enum_acamera_control_awb_lock =
21098        acamera_metadata_enum_acamera_control_awb_lock(1);
21099}
21100#[repr(transparent)]
21101#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21102pub struct acamera_metadata_enum_acamera_control_awb_lock(pub ::std::os::raw::c_uint);
21103pub use self::acamera_metadata_enum_acamera_control_awb_lock as acamera_metadata_enum_android_control_awb_lock_t;
21104impl acamera_metadata_enum_acamera_control_awb_mode {
21105    pub const ACAMERA_CONTROL_AWB_MODE_OFF: acamera_metadata_enum_acamera_control_awb_mode =
21106        acamera_metadata_enum_acamera_control_awb_mode(0);
21107}
21108impl acamera_metadata_enum_acamera_control_awb_mode {
21109    pub const ACAMERA_CONTROL_AWB_MODE_AUTO: acamera_metadata_enum_acamera_control_awb_mode =
21110        acamera_metadata_enum_acamera_control_awb_mode(1);
21111}
21112impl acamera_metadata_enum_acamera_control_awb_mode {
21113    pub const ACAMERA_CONTROL_AWB_MODE_INCANDESCENT:
21114        acamera_metadata_enum_acamera_control_awb_mode =
21115        acamera_metadata_enum_acamera_control_awb_mode(2);
21116}
21117impl acamera_metadata_enum_acamera_control_awb_mode {
21118    pub const ACAMERA_CONTROL_AWB_MODE_FLUORESCENT: acamera_metadata_enum_acamera_control_awb_mode =
21119        acamera_metadata_enum_acamera_control_awb_mode(3);
21120}
21121impl acamera_metadata_enum_acamera_control_awb_mode {
21122    pub const ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT:
21123        acamera_metadata_enum_acamera_control_awb_mode =
21124        acamera_metadata_enum_acamera_control_awb_mode(4);
21125}
21126impl acamera_metadata_enum_acamera_control_awb_mode {
21127    pub const ACAMERA_CONTROL_AWB_MODE_DAYLIGHT: acamera_metadata_enum_acamera_control_awb_mode =
21128        acamera_metadata_enum_acamera_control_awb_mode(5);
21129}
21130impl acamera_metadata_enum_acamera_control_awb_mode {
21131    pub const ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
21132        acamera_metadata_enum_acamera_control_awb_mode =
21133        acamera_metadata_enum_acamera_control_awb_mode(6);
21134}
21135impl acamera_metadata_enum_acamera_control_awb_mode {
21136    pub const ACAMERA_CONTROL_AWB_MODE_TWILIGHT: acamera_metadata_enum_acamera_control_awb_mode =
21137        acamera_metadata_enum_acamera_control_awb_mode(7);
21138}
21139impl acamera_metadata_enum_acamera_control_awb_mode {
21140    pub const ACAMERA_CONTROL_AWB_MODE_SHADE: acamera_metadata_enum_acamera_control_awb_mode =
21141        acamera_metadata_enum_acamera_control_awb_mode(8);
21142}
21143#[repr(transparent)]
21144#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21145pub struct acamera_metadata_enum_acamera_control_awb_mode(pub ::std::os::raw::c_uint);
21146pub use self::acamera_metadata_enum_acamera_control_awb_mode as acamera_metadata_enum_android_control_awb_mode_t;
21147impl acamera_metadata_enum_acamera_control_capture_intent {
21148    pub const ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM:
21149        acamera_metadata_enum_acamera_control_capture_intent =
21150        acamera_metadata_enum_acamera_control_capture_intent(0);
21151}
21152impl acamera_metadata_enum_acamera_control_capture_intent {
21153    pub const ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW:
21154        acamera_metadata_enum_acamera_control_capture_intent =
21155        acamera_metadata_enum_acamera_control_capture_intent(1);
21156}
21157impl acamera_metadata_enum_acamera_control_capture_intent {
21158    pub const ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
21159        acamera_metadata_enum_acamera_control_capture_intent =
21160        acamera_metadata_enum_acamera_control_capture_intent(2);
21161}
21162impl acamera_metadata_enum_acamera_control_capture_intent {
21163    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
21164        acamera_metadata_enum_acamera_control_capture_intent =
21165        acamera_metadata_enum_acamera_control_capture_intent(3);
21166}
21167impl acamera_metadata_enum_acamera_control_capture_intent {
21168    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
21169        acamera_metadata_enum_acamera_control_capture_intent =
21170        acamera_metadata_enum_acamera_control_capture_intent(4);
21171}
21172impl acamera_metadata_enum_acamera_control_capture_intent {
21173    pub const ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
21174        acamera_metadata_enum_acamera_control_capture_intent =
21175        acamera_metadata_enum_acamera_control_capture_intent(5);
21176}
21177impl acamera_metadata_enum_acamera_control_capture_intent {
21178    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL:
21179        acamera_metadata_enum_acamera_control_capture_intent =
21180        acamera_metadata_enum_acamera_control_capture_intent(6);
21181}
21182impl acamera_metadata_enum_acamera_control_capture_intent {
21183    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING:
21184        acamera_metadata_enum_acamera_control_capture_intent =
21185        acamera_metadata_enum_acamera_control_capture_intent(7);
21186}
21187#[repr(transparent)]
21188#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21189pub struct acamera_metadata_enum_acamera_control_capture_intent(pub ::std::os::raw::c_uint);
21190pub use self::acamera_metadata_enum_acamera_control_capture_intent as acamera_metadata_enum_android_control_capture_intent_t;
21191impl acamera_metadata_enum_acamera_control_effect_mode {
21192    pub const ACAMERA_CONTROL_EFFECT_MODE_OFF: acamera_metadata_enum_acamera_control_effect_mode =
21193        acamera_metadata_enum_acamera_control_effect_mode(0);
21194}
21195impl acamera_metadata_enum_acamera_control_effect_mode {
21196    pub const ACAMERA_CONTROL_EFFECT_MODE_MONO: acamera_metadata_enum_acamera_control_effect_mode =
21197        acamera_metadata_enum_acamera_control_effect_mode(1);
21198}
21199impl acamera_metadata_enum_acamera_control_effect_mode {
21200    pub const ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE:
21201        acamera_metadata_enum_acamera_control_effect_mode =
21202        acamera_metadata_enum_acamera_control_effect_mode(2);
21203}
21204impl acamera_metadata_enum_acamera_control_effect_mode {
21205    pub const ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE:
21206        acamera_metadata_enum_acamera_control_effect_mode =
21207        acamera_metadata_enum_acamera_control_effect_mode(3);
21208}
21209impl acamera_metadata_enum_acamera_control_effect_mode {
21210    pub const ACAMERA_CONTROL_EFFECT_MODE_SEPIA: acamera_metadata_enum_acamera_control_effect_mode =
21211        acamera_metadata_enum_acamera_control_effect_mode(4);
21212}
21213impl acamera_metadata_enum_acamera_control_effect_mode {
21214    pub const ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE:
21215        acamera_metadata_enum_acamera_control_effect_mode =
21216        acamera_metadata_enum_acamera_control_effect_mode(5);
21217}
21218impl acamera_metadata_enum_acamera_control_effect_mode {
21219    pub const ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD:
21220        acamera_metadata_enum_acamera_control_effect_mode =
21221        acamera_metadata_enum_acamera_control_effect_mode(6);
21222}
21223impl acamera_metadata_enum_acamera_control_effect_mode {
21224    pub const ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD:
21225        acamera_metadata_enum_acamera_control_effect_mode =
21226        acamera_metadata_enum_acamera_control_effect_mode(7);
21227}
21228impl acamera_metadata_enum_acamera_control_effect_mode {
21229    pub const ACAMERA_CONTROL_EFFECT_MODE_AQUA: acamera_metadata_enum_acamera_control_effect_mode =
21230        acamera_metadata_enum_acamera_control_effect_mode(8);
21231}
21232#[repr(transparent)]
21233#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21234pub struct acamera_metadata_enum_acamera_control_effect_mode(pub ::std::os::raw::c_uint);
21235pub use self::acamera_metadata_enum_acamera_control_effect_mode as acamera_metadata_enum_android_control_effect_mode_t;
21236impl acamera_metadata_enum_acamera_control_mode {
21237    pub const ACAMERA_CONTROL_MODE_OFF: acamera_metadata_enum_acamera_control_mode =
21238        acamera_metadata_enum_acamera_control_mode(0);
21239}
21240impl acamera_metadata_enum_acamera_control_mode {
21241    pub const ACAMERA_CONTROL_MODE_AUTO: acamera_metadata_enum_acamera_control_mode =
21242        acamera_metadata_enum_acamera_control_mode(1);
21243}
21244impl acamera_metadata_enum_acamera_control_mode {
21245    pub const ACAMERA_CONTROL_MODE_USE_SCENE_MODE: acamera_metadata_enum_acamera_control_mode =
21246        acamera_metadata_enum_acamera_control_mode(2);
21247}
21248impl acamera_metadata_enum_acamera_control_mode {
21249    pub const ACAMERA_CONTROL_MODE_OFF_KEEP_STATE: acamera_metadata_enum_acamera_control_mode =
21250        acamera_metadata_enum_acamera_control_mode(3);
21251}
21252impl acamera_metadata_enum_acamera_control_mode {
21253    pub const ACAMERA_CONTROL_MODE_USE_EXTENDED_SCENE_MODE:
21254        acamera_metadata_enum_acamera_control_mode = acamera_metadata_enum_acamera_control_mode(4);
21255}
21256#[repr(transparent)]
21257#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21258pub struct acamera_metadata_enum_acamera_control_mode(pub ::std::os::raw::c_uint);
21259pub use self::acamera_metadata_enum_acamera_control_mode as acamera_metadata_enum_android_control_mode_t;
21260impl acamera_metadata_enum_acamera_control_scene_mode {
21261    pub const ACAMERA_CONTROL_SCENE_MODE_DISABLED:
21262        acamera_metadata_enum_acamera_control_scene_mode =
21263        acamera_metadata_enum_acamera_control_scene_mode(0);
21264}
21265impl acamera_metadata_enum_acamera_control_scene_mode {
21266    pub const ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY:
21267        acamera_metadata_enum_acamera_control_scene_mode =
21268        acamera_metadata_enum_acamera_control_scene_mode(1);
21269}
21270impl acamera_metadata_enum_acamera_control_scene_mode {
21271    pub const ACAMERA_CONTROL_SCENE_MODE_ACTION: acamera_metadata_enum_acamera_control_scene_mode =
21272        acamera_metadata_enum_acamera_control_scene_mode(2);
21273}
21274impl acamera_metadata_enum_acamera_control_scene_mode {
21275    pub const ACAMERA_CONTROL_SCENE_MODE_PORTRAIT:
21276        acamera_metadata_enum_acamera_control_scene_mode =
21277        acamera_metadata_enum_acamera_control_scene_mode(3);
21278}
21279impl acamera_metadata_enum_acamera_control_scene_mode {
21280    pub const ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE:
21281        acamera_metadata_enum_acamera_control_scene_mode =
21282        acamera_metadata_enum_acamera_control_scene_mode(4);
21283}
21284impl acamera_metadata_enum_acamera_control_scene_mode {
21285    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT: acamera_metadata_enum_acamera_control_scene_mode =
21286        acamera_metadata_enum_acamera_control_scene_mode(5);
21287}
21288impl acamera_metadata_enum_acamera_control_scene_mode {
21289    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
21290        acamera_metadata_enum_acamera_control_scene_mode =
21291        acamera_metadata_enum_acamera_control_scene_mode(6);
21292}
21293impl acamera_metadata_enum_acamera_control_scene_mode {
21294    pub const ACAMERA_CONTROL_SCENE_MODE_THEATRE: acamera_metadata_enum_acamera_control_scene_mode =
21295        acamera_metadata_enum_acamera_control_scene_mode(7);
21296}
21297impl acamera_metadata_enum_acamera_control_scene_mode {
21298    pub const ACAMERA_CONTROL_SCENE_MODE_BEACH: acamera_metadata_enum_acamera_control_scene_mode =
21299        acamera_metadata_enum_acamera_control_scene_mode(8);
21300}
21301impl acamera_metadata_enum_acamera_control_scene_mode {
21302    pub const ACAMERA_CONTROL_SCENE_MODE_SNOW: acamera_metadata_enum_acamera_control_scene_mode =
21303        acamera_metadata_enum_acamera_control_scene_mode(9);
21304}
21305impl acamera_metadata_enum_acamera_control_scene_mode {
21306    pub const ACAMERA_CONTROL_SCENE_MODE_SUNSET: acamera_metadata_enum_acamera_control_scene_mode =
21307        acamera_metadata_enum_acamera_control_scene_mode(10);
21308}
21309impl acamera_metadata_enum_acamera_control_scene_mode {
21310    pub const ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO:
21311        acamera_metadata_enum_acamera_control_scene_mode =
21312        acamera_metadata_enum_acamera_control_scene_mode(11);
21313}
21314impl acamera_metadata_enum_acamera_control_scene_mode {
21315    pub const ACAMERA_CONTROL_SCENE_MODE_FIREWORKS:
21316        acamera_metadata_enum_acamera_control_scene_mode =
21317        acamera_metadata_enum_acamera_control_scene_mode(12);
21318}
21319impl acamera_metadata_enum_acamera_control_scene_mode {
21320    pub const ACAMERA_CONTROL_SCENE_MODE_SPORTS: acamera_metadata_enum_acamera_control_scene_mode =
21321        acamera_metadata_enum_acamera_control_scene_mode(13);
21322}
21323impl acamera_metadata_enum_acamera_control_scene_mode {
21324    pub const ACAMERA_CONTROL_SCENE_MODE_PARTY: acamera_metadata_enum_acamera_control_scene_mode =
21325        acamera_metadata_enum_acamera_control_scene_mode(14);
21326}
21327impl acamera_metadata_enum_acamera_control_scene_mode {
21328    pub const ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT:
21329        acamera_metadata_enum_acamera_control_scene_mode =
21330        acamera_metadata_enum_acamera_control_scene_mode(15);
21331}
21332impl acamera_metadata_enum_acamera_control_scene_mode {
21333    pub const ACAMERA_CONTROL_SCENE_MODE_BARCODE: acamera_metadata_enum_acamera_control_scene_mode =
21334        acamera_metadata_enum_acamera_control_scene_mode(16);
21335}
21336impl acamera_metadata_enum_acamera_control_scene_mode {
21337    pub const ACAMERA_CONTROL_SCENE_MODE_HDR: acamera_metadata_enum_acamera_control_scene_mode =
21338        acamera_metadata_enum_acamera_control_scene_mode(18);
21339}
21340#[repr(transparent)]
21341#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21342pub struct acamera_metadata_enum_acamera_control_scene_mode(pub ::std::os::raw::c_uint);
21343pub use self::acamera_metadata_enum_acamera_control_scene_mode as acamera_metadata_enum_android_control_scene_mode_t;
21344impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
21345    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
21346        acamera_metadata_enum_acamera_control_video_stabilization_mode =
21347        acamera_metadata_enum_acamera_control_video_stabilization_mode(0);
21348}
21349impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
21350    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON:
21351        acamera_metadata_enum_acamera_control_video_stabilization_mode =
21352        acamera_metadata_enum_acamera_control_video_stabilization_mode(1);
21353}
21354impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
21355    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION:
21356        acamera_metadata_enum_acamera_control_video_stabilization_mode =
21357        acamera_metadata_enum_acamera_control_video_stabilization_mode(2);
21358}
21359#[repr(transparent)]
21360#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21361pub struct acamera_metadata_enum_acamera_control_video_stabilization_mode(
21362    pub ::std::os::raw::c_uint,
21363);
21364pub use self::acamera_metadata_enum_acamera_control_video_stabilization_mode as acamera_metadata_enum_android_control_video_stabilization_mode_t;
21365impl acamera_metadata_enum_acamera_control_ae_state {
21366    pub const ACAMERA_CONTROL_AE_STATE_INACTIVE: acamera_metadata_enum_acamera_control_ae_state =
21367        acamera_metadata_enum_acamera_control_ae_state(0);
21368}
21369impl acamera_metadata_enum_acamera_control_ae_state {
21370    pub const ACAMERA_CONTROL_AE_STATE_SEARCHING: acamera_metadata_enum_acamera_control_ae_state =
21371        acamera_metadata_enum_acamera_control_ae_state(1);
21372}
21373impl acamera_metadata_enum_acamera_control_ae_state {
21374    pub const ACAMERA_CONTROL_AE_STATE_CONVERGED: acamera_metadata_enum_acamera_control_ae_state =
21375        acamera_metadata_enum_acamera_control_ae_state(2);
21376}
21377impl acamera_metadata_enum_acamera_control_ae_state {
21378    pub const ACAMERA_CONTROL_AE_STATE_LOCKED: acamera_metadata_enum_acamera_control_ae_state =
21379        acamera_metadata_enum_acamera_control_ae_state(3);
21380}
21381impl acamera_metadata_enum_acamera_control_ae_state {
21382    pub const ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED:
21383        acamera_metadata_enum_acamera_control_ae_state =
21384        acamera_metadata_enum_acamera_control_ae_state(4);
21385}
21386impl acamera_metadata_enum_acamera_control_ae_state {
21387    pub const ACAMERA_CONTROL_AE_STATE_PRECAPTURE: acamera_metadata_enum_acamera_control_ae_state =
21388        acamera_metadata_enum_acamera_control_ae_state(5);
21389}
21390#[repr(transparent)]
21391#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21392pub struct acamera_metadata_enum_acamera_control_ae_state(pub ::std::os::raw::c_uint);
21393pub use self::acamera_metadata_enum_acamera_control_ae_state as acamera_metadata_enum_android_control_ae_state_t;
21394impl acamera_metadata_enum_acamera_control_af_state {
21395    pub const ACAMERA_CONTROL_AF_STATE_INACTIVE: acamera_metadata_enum_acamera_control_af_state =
21396        acamera_metadata_enum_acamera_control_af_state(0);
21397}
21398impl acamera_metadata_enum_acamera_control_af_state {
21399    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN:
21400        acamera_metadata_enum_acamera_control_af_state =
21401        acamera_metadata_enum_acamera_control_af_state(1);
21402}
21403impl acamera_metadata_enum_acamera_control_af_state {
21404    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED:
21405        acamera_metadata_enum_acamera_control_af_state =
21406        acamera_metadata_enum_acamera_control_af_state(2);
21407}
21408impl acamera_metadata_enum_acamera_control_af_state {
21409    pub const ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN: acamera_metadata_enum_acamera_control_af_state =
21410        acamera_metadata_enum_acamera_control_af_state(3);
21411}
21412impl acamera_metadata_enum_acamera_control_af_state {
21413    pub const ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED:
21414        acamera_metadata_enum_acamera_control_af_state =
21415        acamera_metadata_enum_acamera_control_af_state(4);
21416}
21417impl acamera_metadata_enum_acamera_control_af_state {
21418    pub const ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
21419        acamera_metadata_enum_acamera_control_af_state =
21420        acamera_metadata_enum_acamera_control_af_state(5);
21421}
21422impl acamera_metadata_enum_acamera_control_af_state {
21423    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
21424        acamera_metadata_enum_acamera_control_af_state =
21425        acamera_metadata_enum_acamera_control_af_state(6);
21426}
21427#[repr(transparent)]
21428#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21429pub struct acamera_metadata_enum_acamera_control_af_state(pub ::std::os::raw::c_uint);
21430pub use self::acamera_metadata_enum_acamera_control_af_state as acamera_metadata_enum_android_control_af_state_t;
21431impl acamera_metadata_enum_acamera_control_awb_state {
21432    pub const ACAMERA_CONTROL_AWB_STATE_INACTIVE: acamera_metadata_enum_acamera_control_awb_state =
21433        acamera_metadata_enum_acamera_control_awb_state(0);
21434}
21435impl acamera_metadata_enum_acamera_control_awb_state {
21436    pub const ACAMERA_CONTROL_AWB_STATE_SEARCHING: acamera_metadata_enum_acamera_control_awb_state =
21437        acamera_metadata_enum_acamera_control_awb_state(1);
21438}
21439impl acamera_metadata_enum_acamera_control_awb_state {
21440    pub const ACAMERA_CONTROL_AWB_STATE_CONVERGED: acamera_metadata_enum_acamera_control_awb_state =
21441        acamera_metadata_enum_acamera_control_awb_state(2);
21442}
21443impl acamera_metadata_enum_acamera_control_awb_state {
21444    pub const ACAMERA_CONTROL_AWB_STATE_LOCKED: acamera_metadata_enum_acamera_control_awb_state =
21445        acamera_metadata_enum_acamera_control_awb_state(3);
21446}
21447#[repr(transparent)]
21448#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21449pub struct acamera_metadata_enum_acamera_control_awb_state(pub ::std::os::raw::c_uint);
21450pub use self::acamera_metadata_enum_acamera_control_awb_state as acamera_metadata_enum_android_control_awb_state_t;
21451impl acamera_metadata_enum_acamera_control_ae_lock_available {
21452    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE:
21453        acamera_metadata_enum_acamera_control_ae_lock_available =
21454        acamera_metadata_enum_acamera_control_ae_lock_available(0);
21455}
21456impl acamera_metadata_enum_acamera_control_ae_lock_available {
21457    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE:
21458        acamera_metadata_enum_acamera_control_ae_lock_available =
21459        acamera_metadata_enum_acamera_control_ae_lock_available(1);
21460}
21461#[repr(transparent)]
21462#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21463pub struct acamera_metadata_enum_acamera_control_ae_lock_available(pub ::std::os::raw::c_uint);
21464pub use self::acamera_metadata_enum_acamera_control_ae_lock_available as acamera_metadata_enum_android_control_ae_lock_available_t;
21465impl acamera_metadata_enum_acamera_control_awb_lock_available {
21466    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE:
21467        acamera_metadata_enum_acamera_control_awb_lock_available =
21468        acamera_metadata_enum_acamera_control_awb_lock_available(0);
21469}
21470impl acamera_metadata_enum_acamera_control_awb_lock_available {
21471    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE:
21472        acamera_metadata_enum_acamera_control_awb_lock_available =
21473        acamera_metadata_enum_acamera_control_awb_lock_available(1);
21474}
21475#[repr(transparent)]
21476#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21477pub struct acamera_metadata_enum_acamera_control_awb_lock_available(pub ::std::os::raw::c_uint);
21478pub use self::acamera_metadata_enum_acamera_control_awb_lock_available as acamera_metadata_enum_android_control_awb_lock_available_t;
21479impl acamera_metadata_enum_acamera_control_enable_zsl {
21480    pub const ACAMERA_CONTROL_ENABLE_ZSL_FALSE: acamera_metadata_enum_acamera_control_enable_zsl =
21481        acamera_metadata_enum_acamera_control_enable_zsl(0);
21482}
21483impl acamera_metadata_enum_acamera_control_enable_zsl {
21484    pub const ACAMERA_CONTROL_ENABLE_ZSL_TRUE: acamera_metadata_enum_acamera_control_enable_zsl =
21485        acamera_metadata_enum_acamera_control_enable_zsl(1);
21486}
21487#[repr(transparent)]
21488#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21489pub struct acamera_metadata_enum_acamera_control_enable_zsl(pub ::std::os::raw::c_uint);
21490pub use self::acamera_metadata_enum_acamera_control_enable_zsl as acamera_metadata_enum_android_control_enable_zsl_t;
21491impl acamera_metadata_enum_acamera_control_af_scene_change {
21492    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED:
21493        acamera_metadata_enum_acamera_control_af_scene_change =
21494        acamera_metadata_enum_acamera_control_af_scene_change(0);
21495}
21496impl acamera_metadata_enum_acamera_control_af_scene_change {
21497    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_DETECTED:
21498        acamera_metadata_enum_acamera_control_af_scene_change =
21499        acamera_metadata_enum_acamera_control_af_scene_change(1);
21500}
21501#[repr(transparent)]
21502#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21503pub struct acamera_metadata_enum_acamera_control_af_scene_change(pub ::std::os::raw::c_uint);
21504pub use self::acamera_metadata_enum_acamera_control_af_scene_change as acamera_metadata_enum_android_control_af_scene_change_t;
21505impl acamera_metadata_enum_acamera_control_extended_scene_mode {
21506    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_DISABLED:
21507        acamera_metadata_enum_acamera_control_extended_scene_mode =
21508        acamera_metadata_enum_acamera_control_extended_scene_mode(0);
21509}
21510impl acamera_metadata_enum_acamera_control_extended_scene_mode {
21511    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE:
21512        acamera_metadata_enum_acamera_control_extended_scene_mode =
21513        acamera_metadata_enum_acamera_control_extended_scene_mode(1);
21514}
21515impl acamera_metadata_enum_acamera_control_extended_scene_mode {
21516    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS:
21517        acamera_metadata_enum_acamera_control_extended_scene_mode =
21518        acamera_metadata_enum_acamera_control_extended_scene_mode(2);
21519}
21520#[repr(transparent)]
21521#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21522pub struct acamera_metadata_enum_acamera_control_extended_scene_mode(pub ::std::os::raw::c_uint);
21523pub use self::acamera_metadata_enum_acamera_control_extended_scene_mode as acamera_metadata_enum_android_control_extended_scene_mode_t;
21524impl acamera_metadata_enum_acamera_control_settings_override {
21525    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_OFF:
21526        acamera_metadata_enum_acamera_control_settings_override =
21527        acamera_metadata_enum_acamera_control_settings_override(0);
21528}
21529impl acamera_metadata_enum_acamera_control_settings_override {
21530    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_ZOOM:
21531        acamera_metadata_enum_acamera_control_settings_override =
21532        acamera_metadata_enum_acamera_control_settings_override(1);
21533}
21534#[repr(transparent)]
21535#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21536pub struct acamera_metadata_enum_acamera_control_settings_override(pub ::std::os::raw::c_uint);
21537pub use self::acamera_metadata_enum_acamera_control_settings_override as acamera_metadata_enum_android_control_settings_override_t;
21538impl acamera_metadata_enum_acamera_control_autoframing {
21539    pub const ACAMERA_CONTROL_AUTOFRAMING_OFF: acamera_metadata_enum_acamera_control_autoframing =
21540        acamera_metadata_enum_acamera_control_autoframing(0);
21541}
21542impl acamera_metadata_enum_acamera_control_autoframing {
21543    pub const ACAMERA_CONTROL_AUTOFRAMING_ON: acamera_metadata_enum_acamera_control_autoframing =
21544        acamera_metadata_enum_acamera_control_autoframing(1);
21545}
21546#[repr(transparent)]
21547#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21548pub struct acamera_metadata_enum_acamera_control_autoframing(pub ::std::os::raw::c_uint);
21549pub use self::acamera_metadata_enum_acamera_control_autoframing as acamera_metadata_enum_android_control_autoframing_t;
21550impl acamera_metadata_enum_acamera_control_autoframing_available {
21551    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_FALSE:
21552        acamera_metadata_enum_acamera_control_autoframing_available =
21553        acamera_metadata_enum_acamera_control_autoframing_available(0);
21554}
21555impl acamera_metadata_enum_acamera_control_autoframing_available {
21556    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_TRUE:
21557        acamera_metadata_enum_acamera_control_autoframing_available =
21558        acamera_metadata_enum_acamera_control_autoframing_available(1);
21559}
21560#[repr(transparent)]
21561#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21562pub struct acamera_metadata_enum_acamera_control_autoframing_available(pub ::std::os::raw::c_uint);
21563pub use self::acamera_metadata_enum_acamera_control_autoframing_available as acamera_metadata_enum_android_control_autoframing_available_t;
21564impl acamera_metadata_enum_acamera_control_autoframing_state {
21565    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_INACTIVE:
21566        acamera_metadata_enum_acamera_control_autoframing_state =
21567        acamera_metadata_enum_acamera_control_autoframing_state(0);
21568}
21569impl acamera_metadata_enum_acamera_control_autoframing_state {
21570    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_FRAMING:
21571        acamera_metadata_enum_acamera_control_autoframing_state =
21572        acamera_metadata_enum_acamera_control_autoframing_state(1);
21573}
21574impl acamera_metadata_enum_acamera_control_autoframing_state {
21575    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_CONVERGED:
21576        acamera_metadata_enum_acamera_control_autoframing_state =
21577        acamera_metadata_enum_acamera_control_autoframing_state(2);
21578}
21579#[repr(transparent)]
21580#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21581pub struct acamera_metadata_enum_acamera_control_autoframing_state(pub ::std::os::raw::c_uint);
21582pub use self::acamera_metadata_enum_acamera_control_autoframing_state as acamera_metadata_enum_android_control_autoframing_state_t;
21583impl acamera_metadata_enum_acamera_control_low_light_boost_state {
21584    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE:
21585        acamera_metadata_enum_acamera_control_low_light_boost_state =
21586        acamera_metadata_enum_acamera_control_low_light_boost_state(0);
21587}
21588impl acamera_metadata_enum_acamera_control_low_light_boost_state {
21589    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE:
21590        acamera_metadata_enum_acamera_control_low_light_boost_state =
21591        acamera_metadata_enum_acamera_control_low_light_boost_state(1);
21592}
21593#[repr(transparent)]
21594#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21595pub struct acamera_metadata_enum_acamera_control_low_light_boost_state(pub ::std::os::raw::c_uint);
21596pub use self::acamera_metadata_enum_acamera_control_low_light_boost_state as acamera_metadata_enum_android_control_low_light_boost_state_t;
21597impl acamera_metadata_enum_acamera_edge_mode {
21598    pub const ACAMERA_EDGE_MODE_OFF: acamera_metadata_enum_acamera_edge_mode =
21599        acamera_metadata_enum_acamera_edge_mode(0);
21600}
21601impl acamera_metadata_enum_acamera_edge_mode {
21602    pub const ACAMERA_EDGE_MODE_FAST: acamera_metadata_enum_acamera_edge_mode =
21603        acamera_metadata_enum_acamera_edge_mode(1);
21604}
21605impl acamera_metadata_enum_acamera_edge_mode {
21606    pub const ACAMERA_EDGE_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_edge_mode =
21607        acamera_metadata_enum_acamera_edge_mode(2);
21608}
21609impl acamera_metadata_enum_acamera_edge_mode {
21610    pub const ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG: acamera_metadata_enum_acamera_edge_mode =
21611        acamera_metadata_enum_acamera_edge_mode(3);
21612}
21613#[repr(transparent)]
21614#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21615pub struct acamera_metadata_enum_acamera_edge_mode(pub ::std::os::raw::c_uint);
21616pub use self::acamera_metadata_enum_acamera_edge_mode as acamera_metadata_enum_android_edge_mode_t;
21617impl acamera_metadata_enum_acamera_flash_mode {
21618    pub const ACAMERA_FLASH_MODE_OFF: acamera_metadata_enum_acamera_flash_mode =
21619        acamera_metadata_enum_acamera_flash_mode(0);
21620}
21621impl acamera_metadata_enum_acamera_flash_mode {
21622    pub const ACAMERA_FLASH_MODE_SINGLE: acamera_metadata_enum_acamera_flash_mode =
21623        acamera_metadata_enum_acamera_flash_mode(1);
21624}
21625impl acamera_metadata_enum_acamera_flash_mode {
21626    pub const ACAMERA_FLASH_MODE_TORCH: acamera_metadata_enum_acamera_flash_mode =
21627        acamera_metadata_enum_acamera_flash_mode(2);
21628}
21629#[repr(transparent)]
21630#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21631pub struct acamera_metadata_enum_acamera_flash_mode(pub ::std::os::raw::c_uint);
21632pub use self::acamera_metadata_enum_acamera_flash_mode as acamera_metadata_enum_android_flash_mode_t;
21633impl acamera_metadata_enum_acamera_flash_state {
21634    pub const ACAMERA_FLASH_STATE_UNAVAILABLE: acamera_metadata_enum_acamera_flash_state =
21635        acamera_metadata_enum_acamera_flash_state(0);
21636}
21637impl acamera_metadata_enum_acamera_flash_state {
21638    pub const ACAMERA_FLASH_STATE_CHARGING: acamera_metadata_enum_acamera_flash_state =
21639        acamera_metadata_enum_acamera_flash_state(1);
21640}
21641impl acamera_metadata_enum_acamera_flash_state {
21642    pub const ACAMERA_FLASH_STATE_READY: acamera_metadata_enum_acamera_flash_state =
21643        acamera_metadata_enum_acamera_flash_state(2);
21644}
21645impl acamera_metadata_enum_acamera_flash_state {
21646    pub const ACAMERA_FLASH_STATE_FIRED: acamera_metadata_enum_acamera_flash_state =
21647        acamera_metadata_enum_acamera_flash_state(3);
21648}
21649impl acamera_metadata_enum_acamera_flash_state {
21650    pub const ACAMERA_FLASH_STATE_PARTIAL: acamera_metadata_enum_acamera_flash_state =
21651        acamera_metadata_enum_acamera_flash_state(4);
21652}
21653#[repr(transparent)]
21654#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21655pub struct acamera_metadata_enum_acamera_flash_state(pub ::std::os::raw::c_uint);
21656pub use self::acamera_metadata_enum_acamera_flash_state as acamera_metadata_enum_android_flash_state_t;
21657impl acamera_metadata_enum_acamera_flash_info_available {
21658    pub const ACAMERA_FLASH_INFO_AVAILABLE_FALSE:
21659        acamera_metadata_enum_acamera_flash_info_available =
21660        acamera_metadata_enum_acamera_flash_info_available(0);
21661}
21662impl acamera_metadata_enum_acamera_flash_info_available {
21663    pub const ACAMERA_FLASH_INFO_AVAILABLE_TRUE:
21664        acamera_metadata_enum_acamera_flash_info_available =
21665        acamera_metadata_enum_acamera_flash_info_available(1);
21666}
21667#[repr(transparent)]
21668#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21669pub struct acamera_metadata_enum_acamera_flash_info_available(pub ::std::os::raw::c_uint);
21670pub use self::acamera_metadata_enum_acamera_flash_info_available as acamera_metadata_enum_android_flash_info_available_t;
21671impl acamera_metadata_enum_acamera_hot_pixel_mode {
21672    pub const ACAMERA_HOT_PIXEL_MODE_OFF: acamera_metadata_enum_acamera_hot_pixel_mode =
21673        acamera_metadata_enum_acamera_hot_pixel_mode(0);
21674}
21675impl acamera_metadata_enum_acamera_hot_pixel_mode {
21676    pub const ACAMERA_HOT_PIXEL_MODE_FAST: acamera_metadata_enum_acamera_hot_pixel_mode =
21677        acamera_metadata_enum_acamera_hot_pixel_mode(1);
21678}
21679impl acamera_metadata_enum_acamera_hot_pixel_mode {
21680    pub const ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_hot_pixel_mode =
21681        acamera_metadata_enum_acamera_hot_pixel_mode(2);
21682}
21683#[repr(transparent)]
21684#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21685pub struct acamera_metadata_enum_acamera_hot_pixel_mode(pub ::std::os::raw::c_uint);
21686pub use self::acamera_metadata_enum_acamera_hot_pixel_mode as acamera_metadata_enum_android_hot_pixel_mode_t;
21687impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
21688    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF:
21689        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
21690        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(0);
21691}
21692impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
21693    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON:
21694        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
21695        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(1);
21696}
21697#[repr(transparent)]
21698#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21699pub struct acamera_metadata_enum_acamera_lens_optical_stabilization_mode(
21700    pub ::std::os::raw::c_uint,
21701);
21702pub use self::acamera_metadata_enum_acamera_lens_optical_stabilization_mode as acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
21703impl acamera_metadata_enum_acamera_lens_facing {
21704    pub const ACAMERA_LENS_FACING_FRONT: acamera_metadata_enum_acamera_lens_facing =
21705        acamera_metadata_enum_acamera_lens_facing(0);
21706}
21707impl acamera_metadata_enum_acamera_lens_facing {
21708    pub const ACAMERA_LENS_FACING_BACK: acamera_metadata_enum_acamera_lens_facing =
21709        acamera_metadata_enum_acamera_lens_facing(1);
21710}
21711impl acamera_metadata_enum_acamera_lens_facing {
21712    pub const ACAMERA_LENS_FACING_EXTERNAL: acamera_metadata_enum_acamera_lens_facing =
21713        acamera_metadata_enum_acamera_lens_facing(2);
21714}
21715#[repr(transparent)]
21716#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21717pub struct acamera_metadata_enum_acamera_lens_facing(pub ::std::os::raw::c_uint);
21718pub use self::acamera_metadata_enum_acamera_lens_facing as acamera_metadata_enum_android_lens_facing_t;
21719impl acamera_metadata_enum_acamera_lens_state {
21720    pub const ACAMERA_LENS_STATE_STATIONARY: acamera_metadata_enum_acamera_lens_state =
21721        acamera_metadata_enum_acamera_lens_state(0);
21722}
21723impl acamera_metadata_enum_acamera_lens_state {
21724    pub const ACAMERA_LENS_STATE_MOVING: acamera_metadata_enum_acamera_lens_state =
21725        acamera_metadata_enum_acamera_lens_state(1);
21726}
21727#[repr(transparent)]
21728#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21729pub struct acamera_metadata_enum_acamera_lens_state(pub ::std::os::raw::c_uint);
21730pub use self::acamera_metadata_enum_acamera_lens_state as acamera_metadata_enum_android_lens_state_t;
21731impl acamera_metadata_enum_acamera_lens_pose_reference {
21732    pub const ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA:
21733        acamera_metadata_enum_acamera_lens_pose_reference =
21734        acamera_metadata_enum_acamera_lens_pose_reference(0);
21735}
21736impl acamera_metadata_enum_acamera_lens_pose_reference {
21737    pub const ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE:
21738        acamera_metadata_enum_acamera_lens_pose_reference =
21739        acamera_metadata_enum_acamera_lens_pose_reference(1);
21740}
21741impl acamera_metadata_enum_acamera_lens_pose_reference {
21742    pub const ACAMERA_LENS_POSE_REFERENCE_UNDEFINED:
21743        acamera_metadata_enum_acamera_lens_pose_reference =
21744        acamera_metadata_enum_acamera_lens_pose_reference(2);
21745}
21746impl acamera_metadata_enum_acamera_lens_pose_reference {
21747    pub const ACAMERA_LENS_POSE_REFERENCE_AUTOMOTIVE:
21748        acamera_metadata_enum_acamera_lens_pose_reference =
21749        acamera_metadata_enum_acamera_lens_pose_reference(3);
21750}
21751#[repr(transparent)]
21752#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21753pub struct acamera_metadata_enum_acamera_lens_pose_reference(pub ::std::os::raw::c_uint);
21754pub use self::acamera_metadata_enum_acamera_lens_pose_reference as acamera_metadata_enum_android_lens_pose_reference_t;
21755impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
21756    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
21757        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
21758        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(0);
21759}
21760impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
21761    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
21762        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
21763        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(1);
21764}
21765impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
21766    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
21767        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
21768        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(2);
21769}
21770#[repr(transparent)]
21771#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21772pub struct acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(
21773    pub ::std::os::raw::c_uint,
21774);
21775pub use self::acamera_metadata_enum_acamera_lens_info_focus_distance_calibration as acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
21776impl acamera_metadata_enum_acamera_noise_reduction_mode {
21777    pub const ACAMERA_NOISE_REDUCTION_MODE_OFF: acamera_metadata_enum_acamera_noise_reduction_mode =
21778        acamera_metadata_enum_acamera_noise_reduction_mode(0);
21779}
21780impl acamera_metadata_enum_acamera_noise_reduction_mode {
21781    pub const ACAMERA_NOISE_REDUCTION_MODE_FAST:
21782        acamera_metadata_enum_acamera_noise_reduction_mode =
21783        acamera_metadata_enum_acamera_noise_reduction_mode(1);
21784}
21785impl acamera_metadata_enum_acamera_noise_reduction_mode {
21786    pub const ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY:
21787        acamera_metadata_enum_acamera_noise_reduction_mode =
21788        acamera_metadata_enum_acamera_noise_reduction_mode(2);
21789}
21790impl acamera_metadata_enum_acamera_noise_reduction_mode {
21791    pub const ACAMERA_NOISE_REDUCTION_MODE_MINIMAL:
21792        acamera_metadata_enum_acamera_noise_reduction_mode =
21793        acamera_metadata_enum_acamera_noise_reduction_mode(3);
21794}
21795impl acamera_metadata_enum_acamera_noise_reduction_mode {
21796    pub const ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG:
21797        acamera_metadata_enum_acamera_noise_reduction_mode =
21798        acamera_metadata_enum_acamera_noise_reduction_mode(4);
21799}
21800#[repr(transparent)]
21801#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21802pub struct acamera_metadata_enum_acamera_noise_reduction_mode(pub ::std::os::raw::c_uint);
21803pub use self::acamera_metadata_enum_acamera_noise_reduction_mode as acamera_metadata_enum_android_noise_reduction_mode_t;
21804impl acamera_metadata_enum_acamera_request_available_capabilities {
21805    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE:
21806        acamera_metadata_enum_acamera_request_available_capabilities =
21807        acamera_metadata_enum_acamera_request_available_capabilities(0);
21808}
21809impl acamera_metadata_enum_acamera_request_available_capabilities {
21810    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR:
21811        acamera_metadata_enum_acamera_request_available_capabilities =
21812        acamera_metadata_enum_acamera_request_available_capabilities(1);
21813}
21814impl acamera_metadata_enum_acamera_request_available_capabilities {
21815    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING:
21816        acamera_metadata_enum_acamera_request_available_capabilities =
21817        acamera_metadata_enum_acamera_request_available_capabilities(2);
21818}
21819impl acamera_metadata_enum_acamera_request_available_capabilities {
21820    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW:
21821        acamera_metadata_enum_acamera_request_available_capabilities =
21822        acamera_metadata_enum_acamera_request_available_capabilities(3);
21823}
21824impl acamera_metadata_enum_acamera_request_available_capabilities {
21825    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS:
21826        acamera_metadata_enum_acamera_request_available_capabilities =
21827        acamera_metadata_enum_acamera_request_available_capabilities(5);
21828}
21829impl acamera_metadata_enum_acamera_request_available_capabilities {
21830    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE:
21831        acamera_metadata_enum_acamera_request_available_capabilities =
21832        acamera_metadata_enum_acamera_request_available_capabilities(6);
21833}
21834impl acamera_metadata_enum_acamera_request_available_capabilities {
21835    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT:
21836        acamera_metadata_enum_acamera_request_available_capabilities =
21837        acamera_metadata_enum_acamera_request_available_capabilities(8);
21838}
21839impl acamera_metadata_enum_acamera_request_available_capabilities {
21840    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING:
21841        acamera_metadata_enum_acamera_request_available_capabilities =
21842        acamera_metadata_enum_acamera_request_available_capabilities(10);
21843}
21844impl acamera_metadata_enum_acamera_request_available_capabilities {
21845    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA:
21846        acamera_metadata_enum_acamera_request_available_capabilities =
21847        acamera_metadata_enum_acamera_request_available_capabilities(11);
21848}
21849impl acamera_metadata_enum_acamera_request_available_capabilities {
21850    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME:
21851        acamera_metadata_enum_acamera_request_available_capabilities =
21852        acamera_metadata_enum_acamera_request_available_capabilities(12);
21853}
21854impl acamera_metadata_enum_acamera_request_available_capabilities {
21855    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA:
21856        acamera_metadata_enum_acamera_request_available_capabilities =
21857        acamera_metadata_enum_acamera_request_available_capabilities(13);
21858}
21859impl acamera_metadata_enum_acamera_request_available_capabilities {
21860    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA:
21861        acamera_metadata_enum_acamera_request_available_capabilities =
21862        acamera_metadata_enum_acamera_request_available_capabilities(14);
21863}
21864impl acamera_metadata_enum_acamera_request_available_capabilities {
21865    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR:
21866        acamera_metadata_enum_acamera_request_available_capabilities =
21867        acamera_metadata_enum_acamera_request_available_capabilities(16);
21868}
21869impl acamera_metadata_enum_acamera_request_available_capabilities {
21870    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE:
21871        acamera_metadata_enum_acamera_request_available_capabilities =
21872        acamera_metadata_enum_acamera_request_available_capabilities(19);
21873}
21874#[repr(transparent)]
21875#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21876pub struct acamera_metadata_enum_acamera_request_available_capabilities(pub ::std::os::raw::c_uint);
21877pub use self::acamera_metadata_enum_acamera_request_available_capabilities as acamera_metadata_enum_android_request_available_capabilities_t;
21878impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21879    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD:
21880        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21881        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1);
21882}
21883impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21884    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10:
21885        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21886        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2);
21887}
21888impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21889    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10:
21890        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21891        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4);
21892}
21893impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21894    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS:
21895        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21896        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(8);
21897}
21898impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21899    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF:
21900        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21901        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(16);
21902}
21903impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21904    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO:
21905        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21906        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(32);
21907}
21908impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21909    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM:
21910        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21911        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(64);
21912}
21913impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21914    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO:
21915        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21916        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(128);
21917}
21918impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21919    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF:
21920        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21921        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(256);
21922}
21923impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21924    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO:
21925        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21926        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(512);
21927}
21928impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21929    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM:
21930        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21931        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1024);
21932}
21933impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21934    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO:
21935        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21936        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2048);
21937}
21938impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21939    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX:
21940        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21941        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4096);
21942}
21943#[repr(transparent)]
21944#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21945pub struct acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(
21946    pub ::std::os::raw::c_uint,
21947);
21948pub use self::acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map as acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t;
21949impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21950    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED:
21951        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21952        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(-1);
21953}
21954impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21955    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB:
21956        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21957        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(0);
21958}
21959impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21960    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3:
21961        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21962        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(7);
21963}
21964impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21965    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG:
21966        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21967        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(16);
21968}
21969#[repr(transparent)]
21970#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21971pub struct acamera_metadata_enum_acamera_request_available_color_space_profiles_map(
21972    pub ::std::os::raw::c_int,
21973);
21974pub use self::acamera_metadata_enum_acamera_request_available_color_space_profiles_map as acamera_metadata_enum_android_request_available_color_space_profiles_map_t;
21975impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
21976    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT:
21977        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
21978        acamera_metadata_enum_acamera_scaler_available_stream_configurations(0);
21979}
21980impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
21981    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT:
21982        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
21983        acamera_metadata_enum_acamera_scaler_available_stream_configurations(1);
21984}
21985#[repr(transparent)]
21986#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21987pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations(
21988    pub ::std::os::raw::c_uint,
21989);
21990pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations as acamera_metadata_enum_android_scaler_available_stream_configurations_t;
21991impl acamera_metadata_enum_acamera_scaler_cropping_type {
21992    pub const ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY:
21993        acamera_metadata_enum_acamera_scaler_cropping_type =
21994        acamera_metadata_enum_acamera_scaler_cropping_type(0);
21995}
21996impl acamera_metadata_enum_acamera_scaler_cropping_type {
21997    pub const ACAMERA_SCALER_CROPPING_TYPE_FREEFORM:
21998        acamera_metadata_enum_acamera_scaler_cropping_type =
21999        acamera_metadata_enum_acamera_scaler_cropping_type(1);
22000}
22001#[repr(transparent)]
22002#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22003pub struct acamera_metadata_enum_acamera_scaler_cropping_type(pub ::std::os::raw::c_uint);
22004pub use self::acamera_metadata_enum_acamera_scaler_cropping_type as acamera_metadata_enum_android_scaler_cropping_type_t;
22005impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22006    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW:
22007        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22008        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(0);
22009}
22010impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22011    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD:
22012        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22013        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(1);
22014}
22015impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22016    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT:
22017        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22018        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(2);
22019}
22020impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22021    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT:
22022        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22023        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(3);
22024}
22025impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22026    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL:
22027        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22028        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(4);
22029}
22030impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22031    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW:
22032        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22033        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(5);
22034}
22035impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22036    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT:
22037        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22038        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(6);
22039}
22040impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22041    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END:
22042        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22043        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(7);
22044}
22045impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22046    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT:
22047        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22048        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(8);
22049}
22050impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22051    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END_3_8:
22052        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22053        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(9);
22054}
22055impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22056    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START:
22057        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22058        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(24);
22059}
22060#[repr(transparent)]
22061#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22062pub struct acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(
22063    pub ::std::os::raw::c_uint,
22064);
22065pub use self::acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations as acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
22066impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22067    pub const ACAMERA_SCALER_ROTATE_AND_CROP_NONE:
22068        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22069        acamera_metadata_enum_acamera_scaler_rotate_and_crop(0);
22070}
22071impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22072    pub const ACAMERA_SCALER_ROTATE_AND_CROP_90:
22073        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22074        acamera_metadata_enum_acamera_scaler_rotate_and_crop(1);
22075}
22076impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22077    pub const ACAMERA_SCALER_ROTATE_AND_CROP_180:
22078        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22079        acamera_metadata_enum_acamera_scaler_rotate_and_crop(2);
22080}
22081impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22082    pub const ACAMERA_SCALER_ROTATE_AND_CROP_270:
22083        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22084        acamera_metadata_enum_acamera_scaler_rotate_and_crop(3);
22085}
22086impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22087    pub const ACAMERA_SCALER_ROTATE_AND_CROP_AUTO:
22088        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22089        acamera_metadata_enum_acamera_scaler_rotate_and_crop(4);
22090}
22091#[repr(transparent)]
22092#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22093pub struct acamera_metadata_enum_acamera_scaler_rotate_and_crop(pub ::std::os::raw::c_uint);
22094pub use self::acamera_metadata_enum_acamera_scaler_rotate_and_crop as acamera_metadata_enum_android_scaler_rotate_and_crop_t;
22095impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
22096    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT:
22097        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
22098        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
22099            0,
22100        );
22101}
22102impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
22103    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT:
22104        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
22105        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
22106            1,
22107        );
22108}
22109#[repr(transparent)]
22110#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22111pub struct acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
22112    pub ::std::os::raw::c_uint,
22113);
22114pub 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;
22115impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
22116    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
22117        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
22118        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(0);
22119}
22120impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
22121    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
22122        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
22123        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(1);
22124}
22125#[repr(transparent)]
22126#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22127pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(
22128    pub ::std::os::raw::c_uint,
22129);
22130pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution as acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t;
22131impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
22132    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE:
22133        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
22134        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(0);
22135}
22136impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
22137    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE:
22138        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
22139        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(1);
22140}
22141#[repr(transparent)]
22142#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22143pub struct acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(
22144    pub ::std::os::raw::c_uint,
22145);
22146pub use self::acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported as acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
22147impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22148    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT:
22149        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22150        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(0);
22151}
22152impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22153    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW:
22154        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22155        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(1);
22156}
22157impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22158    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE:
22159        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22160        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(2);
22161}
22162impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22163    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD:
22164        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22165        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(3);
22166}
22167impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22168    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL:
22169        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22170        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(4);
22171}
22172impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22173    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL:
22174        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22175        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(5);
22176}
22177impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22178    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW:
22179        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22180        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(6);
22181}
22182#[repr(transparent)]
22183#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22184pub struct acamera_metadata_enum_acamera_scaler_available_stream_use_cases(
22185    pub ::std::os::raw::c_uint,
22186);
22187pub use self::acamera_metadata_enum_acamera_scaler_available_stream_use_cases as acamera_metadata_enum_android_scaler_available_stream_use_cases_t;
22188impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22189    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
22190        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22191        acamera_metadata_enum_acamera_sensor_reference_illuminant1(1);
22192}
22193impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22194    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
22195        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22196        acamera_metadata_enum_acamera_sensor_reference_illuminant1(2);
22197}
22198impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22199    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
22200        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22201        acamera_metadata_enum_acamera_sensor_reference_illuminant1(3);
22202}
22203impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22204    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
22205        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22206        acamera_metadata_enum_acamera_sensor_reference_illuminant1(4);
22207}
22208impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22209    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
22210        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22211        acamera_metadata_enum_acamera_sensor_reference_illuminant1(9);
22212}
22213impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22214    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
22215        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22216        acamera_metadata_enum_acamera_sensor_reference_illuminant1(10);
22217}
22218impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22219    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
22220        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22221        acamera_metadata_enum_acamera_sensor_reference_illuminant1(11);
22222}
22223impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22224    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
22225        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22226        acamera_metadata_enum_acamera_sensor_reference_illuminant1(12);
22227}
22228impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22229    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
22230        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22231        acamera_metadata_enum_acamera_sensor_reference_illuminant1(13);
22232}
22233impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22234    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
22235        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22236        acamera_metadata_enum_acamera_sensor_reference_illuminant1(14);
22237}
22238impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22239    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
22240        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22241        acamera_metadata_enum_acamera_sensor_reference_illuminant1(15);
22242}
22243impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22244    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
22245        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22246        acamera_metadata_enum_acamera_sensor_reference_illuminant1(17);
22247}
22248impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22249    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
22250        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22251        acamera_metadata_enum_acamera_sensor_reference_illuminant1(18);
22252}
22253impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22254    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
22255        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22256        acamera_metadata_enum_acamera_sensor_reference_illuminant1(19);
22257}
22258impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22259    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55:
22260        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22261        acamera_metadata_enum_acamera_sensor_reference_illuminant1(20);
22262}
22263impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22264    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65:
22265        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22266        acamera_metadata_enum_acamera_sensor_reference_illuminant1(21);
22267}
22268impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22269    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75:
22270        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22271        acamera_metadata_enum_acamera_sensor_reference_illuminant1(22);
22272}
22273impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22274    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50:
22275        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22276        acamera_metadata_enum_acamera_sensor_reference_illuminant1(23);
22277}
22278impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22279    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
22280        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22281        acamera_metadata_enum_acamera_sensor_reference_illuminant1(24);
22282}
22283#[repr(transparent)]
22284#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22285pub struct acamera_metadata_enum_acamera_sensor_reference_illuminant1(pub ::std::os::raw::c_uint);
22286pub use self::acamera_metadata_enum_acamera_sensor_reference_illuminant1 as acamera_metadata_enum_android_sensor_reference_illuminant1_t;
22287impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22288    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF:
22289        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22290        acamera_metadata_enum_acamera_sensor_test_pattern_mode(0);
22291}
22292impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22293    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
22294        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22295        acamera_metadata_enum_acamera_sensor_test_pattern_mode(1);
22296}
22297impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22298    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
22299        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22300        acamera_metadata_enum_acamera_sensor_test_pattern_mode(2);
22301}
22302impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22303    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
22304        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22305        acamera_metadata_enum_acamera_sensor_test_pattern_mode(3);
22306}
22307impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22308    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9:
22309        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22310        acamera_metadata_enum_acamera_sensor_test_pattern_mode(4);
22311}
22312impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22313    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
22314        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22315        acamera_metadata_enum_acamera_sensor_test_pattern_mode(256);
22316}
22317#[repr(transparent)]
22318#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22319pub struct acamera_metadata_enum_acamera_sensor_test_pattern_mode(pub ::std::os::raw::c_uint);
22320pub use self::acamera_metadata_enum_acamera_sensor_test_pattern_mode as acamera_metadata_enum_android_sensor_test_pattern_mode_t;
22321impl acamera_metadata_enum_acamera_sensor_pixel_mode {
22322    pub const ACAMERA_SENSOR_PIXEL_MODE_DEFAULT: acamera_metadata_enum_acamera_sensor_pixel_mode =
22323        acamera_metadata_enum_acamera_sensor_pixel_mode(0);
22324}
22325impl acamera_metadata_enum_acamera_sensor_pixel_mode {
22326    pub const ACAMERA_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION:
22327        acamera_metadata_enum_acamera_sensor_pixel_mode =
22328        acamera_metadata_enum_acamera_sensor_pixel_mode(1);
22329}
22330#[repr(transparent)]
22331#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22332pub struct acamera_metadata_enum_acamera_sensor_pixel_mode(pub ::std::os::raw::c_uint);
22333pub use self::acamera_metadata_enum_acamera_sensor_pixel_mode as acamera_metadata_enum_android_sensor_pixel_mode_t;
22334impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
22335    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_TRUE:
22336        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
22337        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(0);
22338}
22339impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
22340    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_FALSE:
22341        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
22342        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(1);
22343}
22344#[repr(transparent)]
22345#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22346pub struct acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(pub ::std::os::raw::c_uint);
22347pub use self::acamera_metadata_enum_acamera_sensor_raw_binning_factor_used as acamera_metadata_enum_android_sensor_raw_binning_factor_used_t;
22348impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22349    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
22350        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22351        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(0);
22352}
22353impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22354    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
22355        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22356        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(1);
22357}
22358impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22359    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
22360        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22361        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(2);
22362}
22363impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22364    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
22365        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22366        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(3);
22367}
22368impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22369    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
22370        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22371        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(4);
22372}
22373impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22374    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO:
22375        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22376        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(5);
22377}
22378impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22379    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR:
22380        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22381        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(6);
22382}
22383#[repr(transparent)]
22384#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22385pub struct acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(
22386    pub ::std::os::raw::c_uint,
22387);
22388pub use self::acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement as acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
22389impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
22390    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN:
22391        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
22392        acamera_metadata_enum_acamera_sensor_info_timestamp_source(0);
22393}
22394impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
22395    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME:
22396        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
22397        acamera_metadata_enum_acamera_sensor_info_timestamp_source(1);
22398}
22399#[repr(transparent)]
22400#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22401pub struct acamera_metadata_enum_acamera_sensor_info_timestamp_source(pub ::std::os::raw::c_uint);
22402pub use self::acamera_metadata_enum_acamera_sensor_info_timestamp_source as acamera_metadata_enum_android_sensor_info_timestamp_source_t;
22403impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
22404    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE:
22405        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
22406        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(0);
22407}
22408impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
22409    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE:
22410        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
22411        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(1);
22412}
22413#[repr(transparent)]
22414#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22415pub struct acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(
22416    pub ::std::os::raw::c_uint,
22417);
22418pub use self::acamera_metadata_enum_acamera_sensor_info_lens_shading_applied as acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
22419impl acamera_metadata_enum_acamera_shading_mode {
22420    pub const ACAMERA_SHADING_MODE_OFF: acamera_metadata_enum_acamera_shading_mode =
22421        acamera_metadata_enum_acamera_shading_mode(0);
22422}
22423impl acamera_metadata_enum_acamera_shading_mode {
22424    pub const ACAMERA_SHADING_MODE_FAST: acamera_metadata_enum_acamera_shading_mode =
22425        acamera_metadata_enum_acamera_shading_mode(1);
22426}
22427impl acamera_metadata_enum_acamera_shading_mode {
22428    pub const ACAMERA_SHADING_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_shading_mode =
22429        acamera_metadata_enum_acamera_shading_mode(2);
22430}
22431#[repr(transparent)]
22432#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22433pub struct acamera_metadata_enum_acamera_shading_mode(pub ::std::os::raw::c_uint);
22434pub use self::acamera_metadata_enum_acamera_shading_mode as acamera_metadata_enum_android_shading_mode_t;
22435impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
22436    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF:
22437        acamera_metadata_enum_acamera_statistics_face_detect_mode =
22438        acamera_metadata_enum_acamera_statistics_face_detect_mode(0);
22439}
22440impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
22441    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE:
22442        acamera_metadata_enum_acamera_statistics_face_detect_mode =
22443        acamera_metadata_enum_acamera_statistics_face_detect_mode(1);
22444}
22445impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
22446    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL:
22447        acamera_metadata_enum_acamera_statistics_face_detect_mode =
22448        acamera_metadata_enum_acamera_statistics_face_detect_mode(2);
22449}
22450#[repr(transparent)]
22451#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22452pub struct acamera_metadata_enum_acamera_statistics_face_detect_mode(pub ::std::os::raw::c_uint);
22453pub use self::acamera_metadata_enum_acamera_statistics_face_detect_mode as acamera_metadata_enum_android_statistics_face_detect_mode_t;
22454impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
22455    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF:
22456        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
22457        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(0);
22458}
22459impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
22460    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON:
22461        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
22462        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(1);
22463}
22464#[repr(transparent)]
22465#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22466pub struct acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(pub ::std::os::raw::c_uint);
22467pub use self::acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode as acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
22468impl acamera_metadata_enum_acamera_statistics_scene_flicker {
22469    pub const ACAMERA_STATISTICS_SCENE_FLICKER_NONE:
22470        acamera_metadata_enum_acamera_statistics_scene_flicker =
22471        acamera_metadata_enum_acamera_statistics_scene_flicker(0);
22472}
22473impl acamera_metadata_enum_acamera_statistics_scene_flicker {
22474    pub const ACAMERA_STATISTICS_SCENE_FLICKER_50HZ:
22475        acamera_metadata_enum_acamera_statistics_scene_flicker =
22476        acamera_metadata_enum_acamera_statistics_scene_flicker(1);
22477}
22478impl acamera_metadata_enum_acamera_statistics_scene_flicker {
22479    pub const ACAMERA_STATISTICS_SCENE_FLICKER_60HZ:
22480        acamera_metadata_enum_acamera_statistics_scene_flicker =
22481        acamera_metadata_enum_acamera_statistics_scene_flicker(2);
22482}
22483#[repr(transparent)]
22484#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22485pub struct acamera_metadata_enum_acamera_statistics_scene_flicker(pub ::std::os::raw::c_uint);
22486pub use self::acamera_metadata_enum_acamera_statistics_scene_flicker as acamera_metadata_enum_android_statistics_scene_flicker_t;
22487impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
22488    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
22489        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
22490        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(0);
22491}
22492impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
22493    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON:
22494        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
22495        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(1);
22496}
22497#[repr(transparent)]
22498#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22499pub struct acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(
22500    pub ::std::os::raw::c_uint,
22501);
22502pub use self::acamera_metadata_enum_acamera_statistics_lens_shading_map_mode as acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
22503impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
22504    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_OFF:
22505        acamera_metadata_enum_acamera_statistics_ois_data_mode =
22506        acamera_metadata_enum_acamera_statistics_ois_data_mode(0);
22507}
22508impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
22509    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_ON:
22510        acamera_metadata_enum_acamera_statistics_ois_data_mode =
22511        acamera_metadata_enum_acamera_statistics_ois_data_mode(1);
22512}
22513#[repr(transparent)]
22514#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22515pub struct acamera_metadata_enum_acamera_statistics_ois_data_mode(pub ::std::os::raw::c_uint);
22516pub use self::acamera_metadata_enum_acamera_statistics_ois_data_mode as acamera_metadata_enum_android_statistics_ois_data_mode_t;
22517impl acamera_metadata_enum_acamera_tonemap_mode {
22518    pub const ACAMERA_TONEMAP_MODE_CONTRAST_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
22519        acamera_metadata_enum_acamera_tonemap_mode(0);
22520}
22521impl acamera_metadata_enum_acamera_tonemap_mode {
22522    pub const ACAMERA_TONEMAP_MODE_FAST: acamera_metadata_enum_acamera_tonemap_mode =
22523        acamera_metadata_enum_acamera_tonemap_mode(1);
22524}
22525impl acamera_metadata_enum_acamera_tonemap_mode {
22526    pub const ACAMERA_TONEMAP_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_tonemap_mode =
22527        acamera_metadata_enum_acamera_tonemap_mode(2);
22528}
22529impl acamera_metadata_enum_acamera_tonemap_mode {
22530    pub const ACAMERA_TONEMAP_MODE_GAMMA_VALUE: acamera_metadata_enum_acamera_tonemap_mode =
22531        acamera_metadata_enum_acamera_tonemap_mode(3);
22532}
22533impl acamera_metadata_enum_acamera_tonemap_mode {
22534    pub const ACAMERA_TONEMAP_MODE_PRESET_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
22535        acamera_metadata_enum_acamera_tonemap_mode(4);
22536}
22537#[repr(transparent)]
22538#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22539pub struct acamera_metadata_enum_acamera_tonemap_mode(pub ::std::os::raw::c_uint);
22540pub use self::acamera_metadata_enum_acamera_tonemap_mode as acamera_metadata_enum_android_tonemap_mode_t;
22541impl acamera_metadata_enum_acamera_tonemap_preset_curve {
22542    pub const ACAMERA_TONEMAP_PRESET_CURVE_SRGB:
22543        acamera_metadata_enum_acamera_tonemap_preset_curve =
22544        acamera_metadata_enum_acamera_tonemap_preset_curve(0);
22545}
22546impl acamera_metadata_enum_acamera_tonemap_preset_curve {
22547    pub const ACAMERA_TONEMAP_PRESET_CURVE_REC709:
22548        acamera_metadata_enum_acamera_tonemap_preset_curve =
22549        acamera_metadata_enum_acamera_tonemap_preset_curve(1);
22550}
22551#[repr(transparent)]
22552#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22553pub struct acamera_metadata_enum_acamera_tonemap_preset_curve(pub ::std::os::raw::c_uint);
22554pub use self::acamera_metadata_enum_acamera_tonemap_preset_curve as acamera_metadata_enum_android_tonemap_preset_curve_t;
22555impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22556    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
22557        acamera_metadata_enum_acamera_info_supported_hardware_level =
22558        acamera_metadata_enum_acamera_info_supported_hardware_level(0);
22559}
22560impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22561    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
22562        acamera_metadata_enum_acamera_info_supported_hardware_level =
22563        acamera_metadata_enum_acamera_info_supported_hardware_level(1);
22564}
22565impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22566    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
22567        acamera_metadata_enum_acamera_info_supported_hardware_level =
22568        acamera_metadata_enum_acamera_info_supported_hardware_level(2);
22569}
22570impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22571    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3:
22572        acamera_metadata_enum_acamera_info_supported_hardware_level =
22573        acamera_metadata_enum_acamera_info_supported_hardware_level(3);
22574}
22575impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22576    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL:
22577        acamera_metadata_enum_acamera_info_supported_hardware_level =
22578        acamera_metadata_enum_acamera_info_supported_hardware_level(4);
22579}
22580#[repr(transparent)]
22581#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22582pub struct acamera_metadata_enum_acamera_info_supported_hardware_level(pub ::std::os::raw::c_uint);
22583pub use self::acamera_metadata_enum_acamera_info_supported_hardware_level as acamera_metadata_enum_android_info_supported_hardware_level_t;
22584impl acamera_metadata_enum_acamera_black_level_lock {
22585    pub const ACAMERA_BLACK_LEVEL_LOCK_OFF: acamera_metadata_enum_acamera_black_level_lock =
22586        acamera_metadata_enum_acamera_black_level_lock(0);
22587}
22588impl acamera_metadata_enum_acamera_black_level_lock {
22589    pub const ACAMERA_BLACK_LEVEL_LOCK_ON: acamera_metadata_enum_acamera_black_level_lock =
22590        acamera_metadata_enum_acamera_black_level_lock(1);
22591}
22592#[repr(transparent)]
22593#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22594pub struct acamera_metadata_enum_acamera_black_level_lock(pub ::std::os::raw::c_uint);
22595pub use self::acamera_metadata_enum_acamera_black_level_lock as acamera_metadata_enum_android_black_level_lock_t;
22596impl acamera_metadata_enum_acamera_sync_frame_number {
22597    pub const ACAMERA_SYNC_FRAME_NUMBER_CONVERGING:
22598        acamera_metadata_enum_acamera_sync_frame_number =
22599        acamera_metadata_enum_acamera_sync_frame_number(-1);
22600}
22601impl acamera_metadata_enum_acamera_sync_frame_number {
22602    pub const ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN: acamera_metadata_enum_acamera_sync_frame_number =
22603        acamera_metadata_enum_acamera_sync_frame_number(-2);
22604}
22605#[repr(transparent)]
22606#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22607pub struct acamera_metadata_enum_acamera_sync_frame_number(pub ::std::os::raw::c_int);
22608pub use self::acamera_metadata_enum_acamera_sync_frame_number as acamera_metadata_enum_android_sync_frame_number_t;
22609impl acamera_metadata_enum_acamera_sync_max_latency {
22610    pub const ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
22611        acamera_metadata_enum_acamera_sync_max_latency =
22612        acamera_metadata_enum_acamera_sync_max_latency(0);
22613}
22614impl acamera_metadata_enum_acamera_sync_max_latency {
22615    pub const ACAMERA_SYNC_MAX_LATENCY_UNKNOWN: acamera_metadata_enum_acamera_sync_max_latency =
22616        acamera_metadata_enum_acamera_sync_max_latency(-1);
22617}
22618#[repr(transparent)]
22619#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22620pub struct acamera_metadata_enum_acamera_sync_max_latency(pub ::std::os::raw::c_int);
22621pub use self::acamera_metadata_enum_acamera_sync_max_latency as acamera_metadata_enum_android_sync_max_latency_t;
22622impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
22623    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
22624        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
22625        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(0);
22626}
22627impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
22628    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT:
22629        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
22630        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(1);
22631}
22632#[repr(transparent)]
22633#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22634pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(
22635    pub ::std::os::raw::c_uint,
22636);
22637pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations as acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
22638impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
22639    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE:
22640        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
22641        acamera_metadata_enum_acamera_depth_depth_is_exclusive(0);
22642}
22643impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
22644    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE:
22645        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
22646        acamera_metadata_enum_acamera_depth_depth_is_exclusive(1);
22647}
22648#[repr(transparent)]
22649#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22650pub struct acamera_metadata_enum_acamera_depth_depth_is_exclusive(pub ::std::os::raw::c_uint);
22651pub use self::acamera_metadata_enum_acamera_depth_depth_is_exclusive as acamera_metadata_enum_android_depth_depth_is_exclusive_t;
22652impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
22653    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
22654        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
22655        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(0);
22656}
22657impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
22658    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT:
22659        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
22660        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(1);
22661}
22662#[repr(transparent)]
22663#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22664pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(
22665    pub ::std::os::raw::c_uint,
22666);
22667pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t;
22668impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
22669    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
22670        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
22671        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
22672            0,
22673        );
22674}
22675impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
22676    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
22677        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
22678        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
22679            1,
22680        );
22681}
22682#[repr(transparent)]
22683#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22684pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
22685    pub ::std::os::raw::c_uint,
22686);
22687pub 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;
22688impl 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) ; }
22689impl 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) ; }
22690#[repr(transparent)]
22691#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22692pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution(
22693    pub ::std::os::raw::c_uint,
22694);
22695pub 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;
22696impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
22697    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE:
22698        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
22699        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(0);
22700}
22701impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
22702    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED:
22703        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
22704        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(1);
22705}
22706#[repr(transparent)]
22707#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22708pub struct acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(
22709    pub ::std::os::raw::c_uint,
22710);
22711pub use self::acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type as acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
22712impl acamera_metadata_enum_acamera_distortion_correction_mode {
22713    pub const ACAMERA_DISTORTION_CORRECTION_MODE_OFF:
22714        acamera_metadata_enum_acamera_distortion_correction_mode =
22715        acamera_metadata_enum_acamera_distortion_correction_mode(0);
22716}
22717impl acamera_metadata_enum_acamera_distortion_correction_mode {
22718    pub const ACAMERA_DISTORTION_CORRECTION_MODE_FAST:
22719        acamera_metadata_enum_acamera_distortion_correction_mode =
22720        acamera_metadata_enum_acamera_distortion_correction_mode(1);
22721}
22722impl acamera_metadata_enum_acamera_distortion_correction_mode {
22723    pub const ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY:
22724        acamera_metadata_enum_acamera_distortion_correction_mode =
22725        acamera_metadata_enum_acamera_distortion_correction_mode(2);
22726}
22727#[repr(transparent)]
22728#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22729pub struct acamera_metadata_enum_acamera_distortion_correction_mode(pub ::std::os::raw::c_uint);
22730pub use self::acamera_metadata_enum_acamera_distortion_correction_mode as acamera_metadata_enum_android_distortion_correction_mode_t;
22731impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
22732    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT:
22733        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
22734        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(0);
22735}
22736impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
22737    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT:
22738        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
22739        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(1);
22740}
22741#[repr(transparent)]
22742#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22743pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(
22744    pub ::std::os::raw::c_uint,
22745);
22746pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations as acamera_metadata_enum_android_heic_available_heic_stream_configurations_t;
22747impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
22748    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
22749        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
22750        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
22751            0,
22752        );
22753}
22754impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
22755    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
22756        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
22757        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
22758            1,
22759        );
22760}
22761#[repr(transparent)]
22762#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22763pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
22764    pub ::std::os::raw::c_uint,
22765);
22766pub 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;
22767impl acamera_metadata_enum_acamera_automotive_location {
22768    pub const ACAMERA_AUTOMOTIVE_LOCATION_INTERIOR:
22769        acamera_metadata_enum_acamera_automotive_location =
22770        acamera_metadata_enum_acamera_automotive_location(0);
22771}
22772impl acamera_metadata_enum_acamera_automotive_location {
22773    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER:
22774        acamera_metadata_enum_acamera_automotive_location =
22775        acamera_metadata_enum_acamera_automotive_location(1);
22776}
22777impl acamera_metadata_enum_acamera_automotive_location {
22778    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT:
22779        acamera_metadata_enum_acamera_automotive_location =
22780        acamera_metadata_enum_acamera_automotive_location(2);
22781}
22782impl acamera_metadata_enum_acamera_automotive_location {
22783    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_REAR:
22784        acamera_metadata_enum_acamera_automotive_location =
22785        acamera_metadata_enum_acamera_automotive_location(3);
22786}
22787impl acamera_metadata_enum_acamera_automotive_location {
22788    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT:
22789        acamera_metadata_enum_acamera_automotive_location =
22790        acamera_metadata_enum_acamera_automotive_location(4);
22791}
22792impl acamera_metadata_enum_acamera_automotive_location {
22793    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT:
22794        acamera_metadata_enum_acamera_automotive_location =
22795        acamera_metadata_enum_acamera_automotive_location(5);
22796}
22797impl acamera_metadata_enum_acamera_automotive_location {
22798    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_OTHER:
22799        acamera_metadata_enum_acamera_automotive_location =
22800        acamera_metadata_enum_acamera_automotive_location(6);
22801}
22802impl acamera_metadata_enum_acamera_automotive_location {
22803    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_FRONT:
22804        acamera_metadata_enum_acamera_automotive_location =
22805        acamera_metadata_enum_acamera_automotive_location(7);
22806}
22807impl acamera_metadata_enum_acamera_automotive_location {
22808    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_REAR:
22809        acamera_metadata_enum_acamera_automotive_location =
22810        acamera_metadata_enum_acamera_automotive_location(8);
22811}
22812impl acamera_metadata_enum_acamera_automotive_location {
22813    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_LEFT:
22814        acamera_metadata_enum_acamera_automotive_location =
22815        acamera_metadata_enum_acamera_automotive_location(9);
22816}
22817impl acamera_metadata_enum_acamera_automotive_location {
22818    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_RIGHT:
22819        acamera_metadata_enum_acamera_automotive_location =
22820        acamera_metadata_enum_acamera_automotive_location(10);
22821}
22822#[repr(transparent)]
22823#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22824pub struct acamera_metadata_enum_acamera_automotive_location(pub ::std::os::raw::c_uint);
22825pub use self::acamera_metadata_enum_acamera_automotive_location as acamera_metadata_enum_android_automotive_location_t;
22826impl acamera_metadata_enum_acamera_automotive_lens_facing {
22827    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER:
22828        acamera_metadata_enum_acamera_automotive_lens_facing =
22829        acamera_metadata_enum_acamera_automotive_lens_facing(0);
22830}
22831impl acamera_metadata_enum_acamera_automotive_lens_facing {
22832    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT:
22833        acamera_metadata_enum_acamera_automotive_lens_facing =
22834        acamera_metadata_enum_acamera_automotive_lens_facing(1);
22835}
22836impl acamera_metadata_enum_acamera_automotive_lens_facing {
22837    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR:
22838        acamera_metadata_enum_acamera_automotive_lens_facing =
22839        acamera_metadata_enum_acamera_automotive_lens_facing(2);
22840}
22841impl acamera_metadata_enum_acamera_automotive_lens_facing {
22842    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT:
22843        acamera_metadata_enum_acamera_automotive_lens_facing =
22844        acamera_metadata_enum_acamera_automotive_lens_facing(3);
22845}
22846impl acamera_metadata_enum_acamera_automotive_lens_facing {
22847    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT:
22848        acamera_metadata_enum_acamera_automotive_lens_facing =
22849        acamera_metadata_enum_acamera_automotive_lens_facing(4);
22850}
22851impl acamera_metadata_enum_acamera_automotive_lens_facing {
22852    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER:
22853        acamera_metadata_enum_acamera_automotive_lens_facing =
22854        acamera_metadata_enum_acamera_automotive_lens_facing(5);
22855}
22856impl acamera_metadata_enum_acamera_automotive_lens_facing {
22857    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT:
22858        acamera_metadata_enum_acamera_automotive_lens_facing =
22859        acamera_metadata_enum_acamera_automotive_lens_facing(6);
22860}
22861impl acamera_metadata_enum_acamera_automotive_lens_facing {
22862    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER:
22863        acamera_metadata_enum_acamera_automotive_lens_facing =
22864        acamera_metadata_enum_acamera_automotive_lens_facing(7);
22865}
22866impl acamera_metadata_enum_acamera_automotive_lens_facing {
22867    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT:
22868        acamera_metadata_enum_acamera_automotive_lens_facing =
22869        acamera_metadata_enum_acamera_automotive_lens_facing(8);
22870}
22871impl acamera_metadata_enum_acamera_automotive_lens_facing {
22872    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT:
22873        acamera_metadata_enum_acamera_automotive_lens_facing =
22874        acamera_metadata_enum_acamera_automotive_lens_facing(9);
22875}
22876impl acamera_metadata_enum_acamera_automotive_lens_facing {
22877    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER:
22878        acamera_metadata_enum_acamera_automotive_lens_facing =
22879        acamera_metadata_enum_acamera_automotive_lens_facing(10);
22880}
22881impl acamera_metadata_enum_acamera_automotive_lens_facing {
22882    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT:
22883        acamera_metadata_enum_acamera_automotive_lens_facing =
22884        acamera_metadata_enum_acamera_automotive_lens_facing(11);
22885}
22886impl acamera_metadata_enum_acamera_automotive_lens_facing {
22887    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT:
22888        acamera_metadata_enum_acamera_automotive_lens_facing =
22889        acamera_metadata_enum_acamera_automotive_lens_facing(12);
22890}
22891impl acamera_metadata_enum_acamera_automotive_lens_facing {
22892    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER:
22893        acamera_metadata_enum_acamera_automotive_lens_facing =
22894        acamera_metadata_enum_acamera_automotive_lens_facing(13);
22895}
22896impl acamera_metadata_enum_acamera_automotive_lens_facing {
22897    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT:
22898        acamera_metadata_enum_acamera_automotive_lens_facing =
22899        acamera_metadata_enum_acamera_automotive_lens_facing(14);
22900}
22901#[repr(transparent)]
22902#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22903pub struct acamera_metadata_enum_acamera_automotive_lens_facing(pub ::std::os::raw::c_uint);
22904pub use self::acamera_metadata_enum_acamera_automotive_lens_facing as acamera_metadata_enum_android_automotive_lens_facing_t;
22905impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
22906    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_OUTPUT:
22907        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
22908        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(0);
22909}
22910impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
22911    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_INPUT:
22912        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
22913        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(1);
22914}
22915#[repr(transparent)]
22916#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22917pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(
22918    pub ::std::os::raw::c_uint,
22919);
22920pub use self::acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations as acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_t;
22921impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
22922    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) ;
22923}
22924impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
22925    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) ;
22926}
22927#[repr(transparent)]
22928#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22929pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution(
22930    pub ::std::os::raw::c_uint,
22931);
22932pub 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;
22933#[repr(C)]
22934#[derive(Debug, Copy, Clone)]
22935pub struct ACameraMetadata {
22936    _unused: [u8; 0],
22937}
22938pub const ACAMERA_TYPE_BYTE: _bindgen_ty_65 = 0;
22939pub const ACAMERA_TYPE_INT32: _bindgen_ty_65 = 1;
22940pub const ACAMERA_TYPE_FLOAT: _bindgen_ty_65 = 2;
22941pub const ACAMERA_TYPE_INT64: _bindgen_ty_65 = 3;
22942pub const ACAMERA_TYPE_DOUBLE: _bindgen_ty_65 = 4;
22943pub const ACAMERA_TYPE_RATIONAL: _bindgen_ty_65 = 5;
22944pub const ACAMERA_NUM_TYPES: _bindgen_ty_65 = 6;
22945pub type _bindgen_ty_65 = ::std::os::raw::c_uint;
22946#[repr(C)]
22947#[derive(Debug, Copy, Clone)]
22948pub struct ACameraMetadata_rational {
22949    pub numerator: i32,
22950    pub denominator: i32,
22951}
22952#[test]
22953fn bindgen_test_layout_ACameraMetadata_rational() {
22954    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_rational> =
22955        ::std::mem::MaybeUninit::uninit();
22956    let ptr = UNINIT.as_ptr();
22957    assert_eq!(
22958        ::std::mem::size_of::<ACameraMetadata_rational>(),
22959        8usize,
22960        concat!("Size of: ", stringify!(ACameraMetadata_rational))
22961    );
22962    assert_eq!(
22963        ::std::mem::align_of::<ACameraMetadata_rational>(),
22964        4usize,
22965        concat!("Alignment of ", stringify!(ACameraMetadata_rational))
22966    );
22967    assert_eq!(
22968        unsafe { ::std::ptr::addr_of!((*ptr).numerator) as usize - ptr as usize },
22969        0usize,
22970        concat!(
22971            "Offset of field: ",
22972            stringify!(ACameraMetadata_rational),
22973            "::",
22974            stringify!(numerator)
22975        )
22976    );
22977    assert_eq!(
22978        unsafe { ::std::ptr::addr_of!((*ptr).denominator) as usize - ptr as usize },
22979        4usize,
22980        concat!(
22981            "Offset of field: ",
22982            stringify!(ACameraMetadata_rational),
22983            "::",
22984            stringify!(denominator)
22985        )
22986    );
22987}
22988#[repr(C)]
22989#[derive(Copy, Clone)]
22990pub struct ACameraMetadata_entry {
22991    pub tag: u32,
22992    pub type_: u8,
22993    pub count: u32,
22994    pub data: ACameraMetadata_entry__bindgen_ty_1,
22995}
22996#[repr(C)]
22997#[derive(Copy, Clone)]
22998pub union ACameraMetadata_entry__bindgen_ty_1 {
22999    pub u8_: *mut u8,
23000    pub i32_: *mut i32,
23001    pub f: *mut f32,
23002    pub i64_: *mut i64,
23003    pub d: *mut f64,
23004    pub r: *mut ACameraMetadata_rational,
23005}
23006#[test]
23007fn bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1() {
23008    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry__bindgen_ty_1> =
23009        ::std::mem::MaybeUninit::uninit();
23010    let ptr = UNINIT.as_ptr();
23011    assert_eq!(
23012        ::std::mem::size_of::<ACameraMetadata_entry__bindgen_ty_1>(),
23013        8usize,
23014        concat!("Size of: ", stringify!(ACameraMetadata_entry__bindgen_ty_1))
23015    );
23016    assert_eq!(
23017        ::std::mem::align_of::<ACameraMetadata_entry__bindgen_ty_1>(),
23018        8usize,
23019        concat!(
23020            "Alignment of ",
23021            stringify!(ACameraMetadata_entry__bindgen_ty_1)
23022        )
23023    );
23024    assert_eq!(
23025        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
23026        0usize,
23027        concat!(
23028            "Offset of field: ",
23029            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23030            "::",
23031            stringify!(u8_)
23032        )
23033    );
23034    assert_eq!(
23035        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
23036        0usize,
23037        concat!(
23038            "Offset of field: ",
23039            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23040            "::",
23041            stringify!(i32_)
23042        )
23043    );
23044    assert_eq!(
23045        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
23046        0usize,
23047        concat!(
23048            "Offset of field: ",
23049            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23050            "::",
23051            stringify!(f)
23052        )
23053    );
23054    assert_eq!(
23055        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
23056        0usize,
23057        concat!(
23058            "Offset of field: ",
23059            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23060            "::",
23061            stringify!(i64_)
23062        )
23063    );
23064    assert_eq!(
23065        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
23066        0usize,
23067        concat!(
23068            "Offset of field: ",
23069            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23070            "::",
23071            stringify!(d)
23072        )
23073    );
23074    assert_eq!(
23075        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
23076        0usize,
23077        concat!(
23078            "Offset of field: ",
23079            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23080            "::",
23081            stringify!(r)
23082        )
23083    );
23084}
23085#[test]
23086fn bindgen_test_layout_ACameraMetadata_entry() {
23087    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry> =
23088        ::std::mem::MaybeUninit::uninit();
23089    let ptr = UNINIT.as_ptr();
23090    assert_eq!(
23091        ::std::mem::size_of::<ACameraMetadata_entry>(),
23092        24usize,
23093        concat!("Size of: ", stringify!(ACameraMetadata_entry))
23094    );
23095    assert_eq!(
23096        ::std::mem::align_of::<ACameraMetadata_entry>(),
23097        8usize,
23098        concat!("Alignment of ", stringify!(ACameraMetadata_entry))
23099    );
23100    assert_eq!(
23101        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
23102        0usize,
23103        concat!(
23104            "Offset of field: ",
23105            stringify!(ACameraMetadata_entry),
23106            "::",
23107            stringify!(tag)
23108        )
23109    );
23110    assert_eq!(
23111        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
23112        4usize,
23113        concat!(
23114            "Offset of field: ",
23115            stringify!(ACameraMetadata_entry),
23116            "::",
23117            stringify!(type_)
23118        )
23119    );
23120    assert_eq!(
23121        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
23122        8usize,
23123        concat!(
23124            "Offset of field: ",
23125            stringify!(ACameraMetadata_entry),
23126            "::",
23127            stringify!(count)
23128        )
23129    );
23130    assert_eq!(
23131        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
23132        16usize,
23133        concat!(
23134            "Offset of field: ",
23135            stringify!(ACameraMetadata_entry),
23136            "::",
23137            stringify!(data)
23138        )
23139    );
23140}
23141#[repr(C)]
23142#[derive(Copy, Clone)]
23143pub struct ACameraMetadata_const_entry {
23144    pub tag: u32,
23145    pub type_: u8,
23146    pub count: u32,
23147    pub data: ACameraMetadata_const_entry__bindgen_ty_1,
23148}
23149#[repr(C)]
23150#[derive(Copy, Clone)]
23151pub union ACameraMetadata_const_entry__bindgen_ty_1 {
23152    pub u8_: *const u8,
23153    pub i32_: *const i32,
23154    pub f: *const f32,
23155    pub i64_: *const i64,
23156    pub d: *const f64,
23157    pub r: *const ACameraMetadata_rational,
23158}
23159#[test]
23160fn bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1() {
23161    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry__bindgen_ty_1> =
23162        ::std::mem::MaybeUninit::uninit();
23163    let ptr = UNINIT.as_ptr();
23164    assert_eq!(
23165        ::std::mem::size_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
23166        8usize,
23167        concat!(
23168            "Size of: ",
23169            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
23170        )
23171    );
23172    assert_eq!(
23173        ::std::mem::align_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
23174        8usize,
23175        concat!(
23176            "Alignment of ",
23177            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
23178        )
23179    );
23180    assert_eq!(
23181        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
23182        0usize,
23183        concat!(
23184            "Offset of field: ",
23185            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23186            "::",
23187            stringify!(u8_)
23188        )
23189    );
23190    assert_eq!(
23191        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
23192        0usize,
23193        concat!(
23194            "Offset of field: ",
23195            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23196            "::",
23197            stringify!(i32_)
23198        )
23199    );
23200    assert_eq!(
23201        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
23202        0usize,
23203        concat!(
23204            "Offset of field: ",
23205            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23206            "::",
23207            stringify!(f)
23208        )
23209    );
23210    assert_eq!(
23211        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
23212        0usize,
23213        concat!(
23214            "Offset of field: ",
23215            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23216            "::",
23217            stringify!(i64_)
23218        )
23219    );
23220    assert_eq!(
23221        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
23222        0usize,
23223        concat!(
23224            "Offset of field: ",
23225            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23226            "::",
23227            stringify!(d)
23228        )
23229    );
23230    assert_eq!(
23231        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
23232        0usize,
23233        concat!(
23234            "Offset of field: ",
23235            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23236            "::",
23237            stringify!(r)
23238        )
23239    );
23240}
23241#[test]
23242fn bindgen_test_layout_ACameraMetadata_const_entry() {
23243    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry> =
23244        ::std::mem::MaybeUninit::uninit();
23245    let ptr = UNINIT.as_ptr();
23246    assert_eq!(
23247        ::std::mem::size_of::<ACameraMetadata_const_entry>(),
23248        24usize,
23249        concat!("Size of: ", stringify!(ACameraMetadata_const_entry))
23250    );
23251    assert_eq!(
23252        ::std::mem::align_of::<ACameraMetadata_const_entry>(),
23253        8usize,
23254        concat!("Alignment of ", stringify!(ACameraMetadata_const_entry))
23255    );
23256    assert_eq!(
23257        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
23258        0usize,
23259        concat!(
23260            "Offset of field: ",
23261            stringify!(ACameraMetadata_const_entry),
23262            "::",
23263            stringify!(tag)
23264        )
23265    );
23266    assert_eq!(
23267        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
23268        4usize,
23269        concat!(
23270            "Offset of field: ",
23271            stringify!(ACameraMetadata_const_entry),
23272            "::",
23273            stringify!(type_)
23274        )
23275    );
23276    assert_eq!(
23277        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
23278        8usize,
23279        concat!(
23280            "Offset of field: ",
23281            stringify!(ACameraMetadata_const_entry),
23282            "::",
23283            stringify!(count)
23284        )
23285    );
23286    assert_eq!(
23287        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
23288        16usize,
23289        concat!(
23290            "Offset of field: ",
23291            stringify!(ACameraMetadata_const_entry),
23292            "::",
23293            stringify!(data)
23294        )
23295    );
23296}
23297extern "C" {
23298    pub fn ACameraMetadata_getConstEntry(
23299        metadata: *const ACameraMetadata,
23300        tag: u32,
23301        entry: *mut ACameraMetadata_const_entry,
23302    ) -> camera_status_t;
23303}
23304extern "C" {
23305    pub fn ACameraMetadata_getAllTags(
23306        metadata: *const ACameraMetadata,
23307        numEntries: *mut i32,
23308        tags: *mut *const u32,
23309    ) -> camera_status_t;
23310}
23311extern "C" {
23312    pub fn ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata;
23313}
23314extern "C" {
23315    pub fn ACameraMetadata_free(metadata: *mut ACameraMetadata);
23316}
23317extern "C" {
23318    pub fn ACameraMetadata_isLogicalMultiCamera(
23319        staticMetadata: *const ACameraMetadata,
23320        numPhysicalCameras: *mut usize,
23321        physicalCameraIds: *mut *const *const ::std::os::raw::c_char,
23322    ) -> bool;
23323}
23324extern "C" {
23325    pub fn ACameraMetadata_fromCameraMetadata(
23326        env: *mut JNIEnv,
23327        cameraMetadata: jobject,
23328    ) -> *mut ACameraMetadata;
23329}
23330pub type ACameraWindowType = ANativeWindow;
23331#[repr(C)]
23332#[derive(Debug, Copy, Clone)]
23333pub struct ACameraOutputTargets {
23334    _unused: [u8; 0],
23335}
23336#[repr(C)]
23337#[derive(Debug, Copy, Clone)]
23338pub struct ACameraOutputTarget {
23339    _unused: [u8; 0],
23340}
23341#[repr(C)]
23342#[derive(Debug, Copy, Clone)]
23343pub struct ACaptureRequest {
23344    _unused: [u8; 0],
23345}
23346extern "C" {
23347    pub fn ACameraOutputTarget_create(
23348        window: *mut ACameraWindowType,
23349        output: *mut *mut ACameraOutputTarget,
23350    ) -> camera_status_t;
23351}
23352extern "C" {
23353    pub fn ACameraOutputTarget_free(output: *mut ACameraOutputTarget);
23354}
23355extern "C" {
23356    pub fn ACaptureRequest_addTarget(
23357        request: *mut ACaptureRequest,
23358        output: *const ACameraOutputTarget,
23359    ) -> camera_status_t;
23360}
23361extern "C" {
23362    pub fn ACaptureRequest_removeTarget(
23363        request: *mut ACaptureRequest,
23364        output: *const ACameraOutputTarget,
23365    ) -> camera_status_t;
23366}
23367extern "C" {
23368    pub fn ACaptureRequest_getConstEntry(
23369        request: *const ACaptureRequest,
23370        tag: u32,
23371        entry: *mut ACameraMetadata_const_entry,
23372    ) -> camera_status_t;
23373}
23374extern "C" {
23375    pub fn ACaptureRequest_getAllTags(
23376        request: *const ACaptureRequest,
23377        numTags: *mut i32,
23378        tags: *mut *const u32,
23379    ) -> camera_status_t;
23380}
23381extern "C" {
23382    pub fn ACaptureRequest_setEntry_u8(
23383        request: *mut ACaptureRequest,
23384        tag: u32,
23385        count: u32,
23386        data: *const u8,
23387    ) -> camera_status_t;
23388}
23389extern "C" {
23390    pub fn ACaptureRequest_setEntry_i32(
23391        request: *mut ACaptureRequest,
23392        tag: u32,
23393        count: u32,
23394        data: *const i32,
23395    ) -> camera_status_t;
23396}
23397extern "C" {
23398    pub fn ACaptureRequest_setEntry_float(
23399        request: *mut ACaptureRequest,
23400        tag: u32,
23401        count: u32,
23402        data: *const f32,
23403    ) -> camera_status_t;
23404}
23405extern "C" {
23406    pub fn ACaptureRequest_setEntry_i64(
23407        request: *mut ACaptureRequest,
23408        tag: u32,
23409        count: u32,
23410        data: *const i64,
23411    ) -> camera_status_t;
23412}
23413extern "C" {
23414    pub fn ACaptureRequest_setEntry_double(
23415        request: *mut ACaptureRequest,
23416        tag: u32,
23417        count: u32,
23418        data: *const f64,
23419    ) -> camera_status_t;
23420}
23421extern "C" {
23422    pub fn ACaptureRequest_setEntry_rational(
23423        request: *mut ACaptureRequest,
23424        tag: u32,
23425        count: u32,
23426        data: *const ACameraMetadata_rational,
23427    ) -> camera_status_t;
23428}
23429extern "C" {
23430    pub fn ACaptureRequest_free(request: *mut ACaptureRequest);
23431}
23432extern "C" {
23433    pub fn ACaptureRequest_setUserContext(
23434        request: *mut ACaptureRequest,
23435        context: *mut ::std::os::raw::c_void,
23436    ) -> camera_status_t;
23437}
23438extern "C" {
23439    pub fn ACaptureRequest_getUserContext(
23440        request: *const ACaptureRequest,
23441        context: *mut *mut ::std::os::raw::c_void,
23442    ) -> camera_status_t;
23443}
23444extern "C" {
23445    pub fn ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest;
23446}
23447extern "C" {
23448    pub fn ACaptureRequest_getConstEntry_physicalCamera(
23449        request: *const ACaptureRequest,
23450        physicalId: *const ::std::os::raw::c_char,
23451        tag: u32,
23452        entry: *mut ACameraMetadata_const_entry,
23453    ) -> camera_status_t;
23454}
23455extern "C" {
23456    pub fn ACaptureRequest_setEntry_physicalCamera_u8(
23457        request: *mut ACaptureRequest,
23458        physicalId: *const ::std::os::raw::c_char,
23459        tag: u32,
23460        count: u32,
23461        data: *const u8,
23462    ) -> camera_status_t;
23463}
23464extern "C" {
23465    pub fn ACaptureRequest_setEntry_physicalCamera_i32(
23466        request: *mut ACaptureRequest,
23467        physicalId: *const ::std::os::raw::c_char,
23468        tag: u32,
23469        count: u32,
23470        data: *const i32,
23471    ) -> camera_status_t;
23472}
23473extern "C" {
23474    pub fn ACaptureRequest_setEntry_physicalCamera_float(
23475        request: *mut ACaptureRequest,
23476        physicalId: *const ::std::os::raw::c_char,
23477        tag: u32,
23478        count: u32,
23479        data: *const f32,
23480    ) -> camera_status_t;
23481}
23482extern "C" {
23483    pub fn ACaptureRequest_setEntry_physicalCamera_i64(
23484        request: *mut ACaptureRequest,
23485        physicalId: *const ::std::os::raw::c_char,
23486        tag: u32,
23487        count: u32,
23488        data: *const i64,
23489    ) -> camera_status_t;
23490}
23491extern "C" {
23492    pub fn ACaptureRequest_setEntry_physicalCamera_double(
23493        request: *mut ACaptureRequest,
23494        physicalId: *const ::std::os::raw::c_char,
23495        tag: u32,
23496        count: u32,
23497        data: *const f64,
23498    ) -> camera_status_t;
23499}
23500extern "C" {
23501    pub fn ACaptureRequest_setEntry_physicalCamera_rational(
23502        request: *mut ACaptureRequest,
23503        physicalId: *const ::std::os::raw::c_char,
23504        tag: u32,
23505        count: u32,
23506        data: *const ACameraMetadata_rational,
23507    ) -> camera_status_t;
23508}
23509#[repr(C)]
23510#[derive(Debug, Copy, Clone)]
23511pub struct ACameraCaptureSession {
23512    _unused: [u8; 0],
23513}
23514pub type ACameraCaptureSession_stateCallback = ::std::option::Option<
23515    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, session: *mut ACameraCaptureSession),
23516>;
23517#[repr(C)]
23518#[derive(Debug, Copy, Clone)]
23519pub struct ACameraCaptureSession_stateCallbacks {
23520    pub context: *mut ::std::os::raw::c_void,
23521    pub onClosed: ACameraCaptureSession_stateCallback,
23522    pub onReady: ACameraCaptureSession_stateCallback,
23523    pub onActive: ACameraCaptureSession_stateCallback,
23524}
23525#[test]
23526fn bindgen_test_layout_ACameraCaptureSession_stateCallbacks() {
23527    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_stateCallbacks> =
23528        ::std::mem::MaybeUninit::uninit();
23529    let ptr = UNINIT.as_ptr();
23530    assert_eq!(
23531        ::std::mem::size_of::<ACameraCaptureSession_stateCallbacks>(),
23532        32usize,
23533        concat!(
23534            "Size of: ",
23535            stringify!(ACameraCaptureSession_stateCallbacks)
23536        )
23537    );
23538    assert_eq!(
23539        ::std::mem::align_of::<ACameraCaptureSession_stateCallbacks>(),
23540        8usize,
23541        concat!(
23542            "Alignment of ",
23543            stringify!(ACameraCaptureSession_stateCallbacks)
23544        )
23545    );
23546    assert_eq!(
23547        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23548        0usize,
23549        concat!(
23550            "Offset of field: ",
23551            stringify!(ACameraCaptureSession_stateCallbacks),
23552            "::",
23553            stringify!(context)
23554        )
23555    );
23556    assert_eq!(
23557        unsafe { ::std::ptr::addr_of!((*ptr).onClosed) as usize - ptr as usize },
23558        8usize,
23559        concat!(
23560            "Offset of field: ",
23561            stringify!(ACameraCaptureSession_stateCallbacks),
23562            "::",
23563            stringify!(onClosed)
23564        )
23565    );
23566    assert_eq!(
23567        unsafe { ::std::ptr::addr_of!((*ptr).onReady) as usize - ptr as usize },
23568        16usize,
23569        concat!(
23570            "Offset of field: ",
23571            stringify!(ACameraCaptureSession_stateCallbacks),
23572            "::",
23573            stringify!(onReady)
23574        )
23575    );
23576    assert_eq!(
23577        unsafe { ::std::ptr::addr_of!((*ptr).onActive) as usize - ptr as usize },
23578        24usize,
23579        concat!(
23580            "Offset of field: ",
23581            stringify!(ACameraCaptureSession_stateCallbacks),
23582            "::",
23583            stringify!(onActive)
23584        )
23585    );
23586}
23587pub type ACameraCaptureSession_prepareCallback = ::std::option::Option<
23588    unsafe extern "C" fn(
23589        context: *mut ::std::os::raw::c_void,
23590        window: *mut ACameraWindowType,
23591        session: *mut ACameraCaptureSession,
23592    ),
23593>;
23594pub const CAPTURE_FAILURE_REASON_FLUSHED: _bindgen_ty_66 = 0;
23595pub const CAPTURE_FAILURE_REASON_ERROR: _bindgen_ty_66 = 1;
23596pub type _bindgen_ty_66 = ::std::os::raw::c_uint;
23597#[repr(C)]
23598#[derive(Debug, Copy, Clone)]
23599pub struct ACameraCaptureFailure {
23600    pub frameNumber: i64,
23601    pub reason: ::std::os::raw::c_int,
23602    pub sequenceId: ::std::os::raw::c_int,
23603    pub wasImageCaptured: bool,
23604}
23605#[test]
23606fn bindgen_test_layout_ACameraCaptureFailure() {
23607    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureFailure> =
23608        ::std::mem::MaybeUninit::uninit();
23609    let ptr = UNINIT.as_ptr();
23610    assert_eq!(
23611        ::std::mem::size_of::<ACameraCaptureFailure>(),
23612        24usize,
23613        concat!("Size of: ", stringify!(ACameraCaptureFailure))
23614    );
23615    assert_eq!(
23616        ::std::mem::align_of::<ACameraCaptureFailure>(),
23617        8usize,
23618        concat!("Alignment of ", stringify!(ACameraCaptureFailure))
23619    );
23620    assert_eq!(
23621        unsafe { ::std::ptr::addr_of!((*ptr).frameNumber) as usize - ptr as usize },
23622        0usize,
23623        concat!(
23624            "Offset of field: ",
23625            stringify!(ACameraCaptureFailure),
23626            "::",
23627            stringify!(frameNumber)
23628        )
23629    );
23630    assert_eq!(
23631        unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
23632        8usize,
23633        concat!(
23634            "Offset of field: ",
23635            stringify!(ACameraCaptureFailure),
23636            "::",
23637            stringify!(reason)
23638        )
23639    );
23640    assert_eq!(
23641        unsafe { ::std::ptr::addr_of!((*ptr).sequenceId) as usize - ptr as usize },
23642        12usize,
23643        concat!(
23644            "Offset of field: ",
23645            stringify!(ACameraCaptureFailure),
23646            "::",
23647            stringify!(sequenceId)
23648        )
23649    );
23650    assert_eq!(
23651        unsafe { ::std::ptr::addr_of!((*ptr).wasImageCaptured) as usize - ptr as usize },
23652        16usize,
23653        concat!(
23654            "Offset of field: ",
23655            stringify!(ACameraCaptureFailure),
23656            "::",
23657            stringify!(wasImageCaptured)
23658        )
23659    );
23660}
23661pub type ACameraCaptureSession_captureCallback_start = ::std::option::Option<
23662    unsafe extern "C" fn(
23663        context: *mut ::std::os::raw::c_void,
23664        session: *mut ACameraCaptureSession,
23665        request: *const ACaptureRequest,
23666        timestamp: i64,
23667    ),
23668>;
23669pub type ACameraCaptureSession_captureCallback_result = ::std::option::Option<
23670    unsafe extern "C" fn(
23671        context: *mut ::std::os::raw::c_void,
23672        session: *mut ACameraCaptureSession,
23673        request: *mut ACaptureRequest,
23674        result: *const ACameraMetadata,
23675    ),
23676>;
23677pub type ACameraCaptureSession_captureCallback_failed = ::std::option::Option<
23678    unsafe extern "C" fn(
23679        context: *mut ::std::os::raw::c_void,
23680        session: *mut ACameraCaptureSession,
23681        request: *mut ACaptureRequest,
23682        failure: *mut ACameraCaptureFailure,
23683    ),
23684>;
23685pub type ACameraCaptureSession_captureCallback_sequenceEnd = ::std::option::Option<
23686    unsafe extern "C" fn(
23687        context: *mut ::std::os::raw::c_void,
23688        session: *mut ACameraCaptureSession,
23689        sequenceId: ::std::os::raw::c_int,
23690        frameNumber: i64,
23691    ),
23692>;
23693pub type ACameraCaptureSession_captureCallback_sequenceAbort = ::std::option::Option<
23694    unsafe extern "C" fn(
23695        context: *mut ::std::os::raw::c_void,
23696        session: *mut ACameraCaptureSession,
23697        sequenceId: ::std::os::raw::c_int,
23698    ),
23699>;
23700pub type ACameraCaptureSession_captureCallback_bufferLost = ::std::option::Option<
23701    unsafe extern "C" fn(
23702        context: *mut ::std::os::raw::c_void,
23703        session: *mut ACameraCaptureSession,
23704        request: *mut ACaptureRequest,
23705        window: *mut ACameraWindowType,
23706        frameNumber: i64,
23707    ),
23708>;
23709#[repr(C)]
23710#[derive(Debug, Copy, Clone)]
23711pub struct ACameraCaptureSession_captureCallbacks {
23712    pub context: *mut ::std::os::raw::c_void,
23713    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
23714    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
23715    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
23716    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
23717    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
23718    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
23719    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
23720}
23721#[test]
23722fn bindgen_test_layout_ACameraCaptureSession_captureCallbacks() {
23723    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacks> =
23724        ::std::mem::MaybeUninit::uninit();
23725    let ptr = UNINIT.as_ptr();
23726    assert_eq!(
23727        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacks>(),
23728        64usize,
23729        concat!(
23730            "Size of: ",
23731            stringify!(ACameraCaptureSession_captureCallbacks)
23732        )
23733    );
23734    assert_eq!(
23735        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacks>(),
23736        8usize,
23737        concat!(
23738            "Alignment of ",
23739            stringify!(ACameraCaptureSession_captureCallbacks)
23740        )
23741    );
23742    assert_eq!(
23743        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23744        0usize,
23745        concat!(
23746            "Offset of field: ",
23747            stringify!(ACameraCaptureSession_captureCallbacks),
23748            "::",
23749            stringify!(context)
23750        )
23751    );
23752    assert_eq!(
23753        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
23754        8usize,
23755        concat!(
23756            "Offset of field: ",
23757            stringify!(ACameraCaptureSession_captureCallbacks),
23758            "::",
23759            stringify!(onCaptureStarted)
23760        )
23761    );
23762    assert_eq!(
23763        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
23764        16usize,
23765        concat!(
23766            "Offset of field: ",
23767            stringify!(ACameraCaptureSession_captureCallbacks),
23768            "::",
23769            stringify!(onCaptureProgressed)
23770        )
23771    );
23772    assert_eq!(
23773        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
23774        24usize,
23775        concat!(
23776            "Offset of field: ",
23777            stringify!(ACameraCaptureSession_captureCallbacks),
23778            "::",
23779            stringify!(onCaptureCompleted)
23780        )
23781    );
23782    assert_eq!(
23783        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
23784        32usize,
23785        concat!(
23786            "Offset of field: ",
23787            stringify!(ACameraCaptureSession_captureCallbacks),
23788            "::",
23789            stringify!(onCaptureFailed)
23790        )
23791    );
23792    assert_eq!(
23793        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
23794        40usize,
23795        concat!(
23796            "Offset of field: ",
23797            stringify!(ACameraCaptureSession_captureCallbacks),
23798            "::",
23799            stringify!(onCaptureSequenceCompleted)
23800        )
23801    );
23802    assert_eq!(
23803        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
23804        48usize,
23805        concat!(
23806            "Offset of field: ",
23807            stringify!(ACameraCaptureSession_captureCallbacks),
23808            "::",
23809            stringify!(onCaptureSequenceAborted)
23810        )
23811    );
23812    assert_eq!(
23813        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
23814        56usize,
23815        concat!(
23816            "Offset of field: ",
23817            stringify!(ACameraCaptureSession_captureCallbacks),
23818            "::",
23819            stringify!(onCaptureBufferLost)
23820        )
23821    );
23822}
23823pub const CAPTURE_SEQUENCE_ID_NONE: _bindgen_ty_67 = -1;
23824pub type _bindgen_ty_67 = ::std::os::raw::c_int;
23825extern "C" {
23826    pub fn ACameraCaptureSession_close(session: *mut ACameraCaptureSession);
23827}
23828#[repr(C)]
23829#[derive(Debug, Copy, Clone)]
23830pub struct ACameraDevice {
23831    _unused: [u8; 0],
23832}
23833extern "C" {
23834    pub fn ACameraCaptureSession_getDevice(
23835        session: *mut ACameraCaptureSession,
23836        device: *mut *mut ACameraDevice,
23837    ) -> camera_status_t;
23838}
23839extern "C" {
23840    pub fn ACameraCaptureSession_capture(
23841        session: *mut ACameraCaptureSession,
23842        callbacks: *mut ACameraCaptureSession_captureCallbacks,
23843        numRequests: ::std::os::raw::c_int,
23844        requests: *mut *mut ACaptureRequest,
23845        captureSequenceId: *mut ::std::os::raw::c_int,
23846    ) -> camera_status_t;
23847}
23848extern "C" {
23849    pub fn ACameraCaptureSession_setRepeatingRequest(
23850        session: *mut ACameraCaptureSession,
23851        callbacks: *mut ACameraCaptureSession_captureCallbacks,
23852        numRequests: ::std::os::raw::c_int,
23853        requests: *mut *mut ACaptureRequest,
23854        captureSequenceId: *mut ::std::os::raw::c_int,
23855    ) -> camera_status_t;
23856}
23857extern "C" {
23858    pub fn ACameraCaptureSession_stopRepeating(
23859        session: *mut ACameraCaptureSession,
23860    ) -> camera_status_t;
23861}
23862extern "C" {
23863    pub fn ACameraCaptureSession_abortCaptures(
23864        session: *mut ACameraCaptureSession,
23865    ) -> camera_status_t;
23866}
23867#[repr(C)]
23868#[derive(Debug, Copy, Clone)]
23869pub struct ACaptureSessionOutput {
23870    _unused: [u8; 0],
23871}
23872extern "C" {
23873    pub fn ACameraCaptureSession_updateSharedOutput(
23874        session: *mut ACameraCaptureSession,
23875        output: *mut ACaptureSessionOutput,
23876    ) -> camera_status_t;
23877}
23878pub type ACameraCaptureSession_logicalCamera_captureCallback_result = ::std::option::Option<
23879    unsafe extern "C" fn(
23880        context: *mut ::std::os::raw::c_void,
23881        session: *mut ACameraCaptureSession,
23882        request: *mut ACaptureRequest,
23883        result: *const ACameraMetadata,
23884        physicalResultCount: usize,
23885        physicalCameraIds: *mut *const ::std::os::raw::c_char,
23886        physicalResults: *mut *const ACameraMetadata,
23887    ),
23888>;
23889#[repr(C)]
23890#[derive(Debug, Copy, Clone)]
23891pub struct ALogicalCameraCaptureFailure {
23892    pub captureFailure: ACameraCaptureFailure,
23893    pub physicalCameraId: *const ::std::os::raw::c_char,
23894}
23895#[test]
23896fn bindgen_test_layout_ALogicalCameraCaptureFailure() {
23897    const UNINIT: ::std::mem::MaybeUninit<ALogicalCameraCaptureFailure> =
23898        ::std::mem::MaybeUninit::uninit();
23899    let ptr = UNINIT.as_ptr();
23900    assert_eq!(
23901        ::std::mem::size_of::<ALogicalCameraCaptureFailure>(),
23902        32usize,
23903        concat!("Size of: ", stringify!(ALogicalCameraCaptureFailure))
23904    );
23905    assert_eq!(
23906        ::std::mem::align_of::<ALogicalCameraCaptureFailure>(),
23907        8usize,
23908        concat!("Alignment of ", stringify!(ALogicalCameraCaptureFailure))
23909    );
23910    assert_eq!(
23911        unsafe { ::std::ptr::addr_of!((*ptr).captureFailure) as usize - ptr as usize },
23912        0usize,
23913        concat!(
23914            "Offset of field: ",
23915            stringify!(ALogicalCameraCaptureFailure),
23916            "::",
23917            stringify!(captureFailure)
23918        )
23919    );
23920    assert_eq!(
23921        unsafe { ::std::ptr::addr_of!((*ptr).physicalCameraId) as usize - ptr as usize },
23922        24usize,
23923        concat!(
23924            "Offset of field: ",
23925            stringify!(ALogicalCameraCaptureFailure),
23926            "::",
23927            stringify!(physicalCameraId)
23928        )
23929    );
23930}
23931pub type ACameraCaptureSession_logicalCamera_captureCallback_failed = ::std::option::Option<
23932    unsafe extern "C" fn(
23933        context: *mut ::std::os::raw::c_void,
23934        session: *mut ACameraCaptureSession,
23935        request: *mut ACaptureRequest,
23936        failure: *mut ALogicalCameraCaptureFailure,
23937    ),
23938>;
23939#[repr(C)]
23940#[derive(Debug, Copy, Clone)]
23941pub struct ACameraCaptureSession_logicalCamera_captureCallbacks {
23942    pub context: *mut ::std::os::raw::c_void,
23943    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
23944    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
23945    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
23946    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
23947    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
23948    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
23949    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
23950}
23951#[test]
23952fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks() {
23953    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacks> =
23954        ::std::mem::MaybeUninit::uninit();
23955    let ptr = UNINIT.as_ptr();
23956    assert_eq!(
23957        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
23958        64usize,
23959        concat!(
23960            "Size of: ",
23961            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
23962        )
23963    );
23964    assert_eq!(
23965        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
23966        8usize,
23967        concat!(
23968            "Alignment of ",
23969            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
23970        )
23971    );
23972    assert_eq!(
23973        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23974        0usize,
23975        concat!(
23976            "Offset of field: ",
23977            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23978            "::",
23979            stringify!(context)
23980        )
23981    );
23982    assert_eq!(
23983        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
23984        8usize,
23985        concat!(
23986            "Offset of field: ",
23987            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23988            "::",
23989            stringify!(onCaptureStarted)
23990        )
23991    );
23992    assert_eq!(
23993        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
23994        16usize,
23995        concat!(
23996            "Offset of field: ",
23997            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23998            "::",
23999            stringify!(onCaptureProgressed)
24000        )
24001    );
24002    assert_eq!(
24003        unsafe {
24004            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
24005        },
24006        24usize,
24007        concat!(
24008            "Offset of field: ",
24009            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
24010            "::",
24011            stringify!(onLogicalCameraCaptureCompleted)
24012        )
24013    );
24014    assert_eq!(
24015        unsafe {
24016            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
24017        },
24018        32usize,
24019        concat!(
24020            "Offset of field: ",
24021            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
24022            "::",
24023            stringify!(onLogicalCameraCaptureFailed)
24024        )
24025    );
24026    assert_eq!(
24027        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
24028        40usize,
24029        concat!(
24030            "Offset of field: ",
24031            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
24032            "::",
24033            stringify!(onCaptureSequenceCompleted)
24034        )
24035    );
24036    assert_eq!(
24037        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
24038        48usize,
24039        concat!(
24040            "Offset of field: ",
24041            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
24042            "::",
24043            stringify!(onCaptureSequenceAborted)
24044        )
24045    );
24046    assert_eq!(
24047        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
24048        56usize,
24049        concat!(
24050            "Offset of field: ",
24051            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
24052            "::",
24053            stringify!(onCaptureBufferLost)
24054        )
24055    );
24056}
24057extern "C" {
24058    pub fn ACameraCaptureSession_logicalCamera_capture(
24059        session: *mut ACameraCaptureSession,
24060        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
24061        numRequests: ::std::os::raw::c_int,
24062        requests: *mut *mut ACaptureRequest,
24063        captureSequenceId: *mut ::std::os::raw::c_int,
24064    ) -> camera_status_t;
24065}
24066extern "C" {
24067    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequest(
24068        session: *mut ACameraCaptureSession,
24069        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
24070        numRequests: ::std::os::raw::c_int,
24071        requests: *mut *mut ACaptureRequest,
24072        captureSequenceId: *mut ::std::os::raw::c_int,
24073    ) -> camera_status_t;
24074}
24075pub type ACameraCaptureSession_captureCallback_startV2 = ::std::option::Option<
24076    unsafe extern "C" fn(
24077        context: *mut ::std::os::raw::c_void,
24078        session: *mut ACameraCaptureSession,
24079        request: *const ACaptureRequest,
24080        timestamp: i64,
24081        frameNumber: i64,
24082    ),
24083>;
24084#[repr(C)]
24085#[derive(Debug, Copy, Clone)]
24086pub struct ACameraCaptureSession_captureCallbacksV2 {
24087    pub context: *mut ::std::os::raw::c_void,
24088    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
24089    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
24090    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
24091    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
24092    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
24093    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
24094    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
24095}
24096#[test]
24097fn bindgen_test_layout_ACameraCaptureSession_captureCallbacksV2() {
24098    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacksV2> =
24099        ::std::mem::MaybeUninit::uninit();
24100    let ptr = UNINIT.as_ptr();
24101    assert_eq!(
24102        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacksV2>(),
24103        64usize,
24104        concat!(
24105            "Size of: ",
24106            stringify!(ACameraCaptureSession_captureCallbacksV2)
24107        )
24108    );
24109    assert_eq!(
24110        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacksV2>(),
24111        8usize,
24112        concat!(
24113            "Alignment of ",
24114            stringify!(ACameraCaptureSession_captureCallbacksV2)
24115        )
24116    );
24117    assert_eq!(
24118        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24119        0usize,
24120        concat!(
24121            "Offset of field: ",
24122            stringify!(ACameraCaptureSession_captureCallbacksV2),
24123            "::",
24124            stringify!(context)
24125        )
24126    );
24127    assert_eq!(
24128        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
24129        8usize,
24130        concat!(
24131            "Offset of field: ",
24132            stringify!(ACameraCaptureSession_captureCallbacksV2),
24133            "::",
24134            stringify!(onCaptureStarted)
24135        )
24136    );
24137    assert_eq!(
24138        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
24139        16usize,
24140        concat!(
24141            "Offset of field: ",
24142            stringify!(ACameraCaptureSession_captureCallbacksV2),
24143            "::",
24144            stringify!(onCaptureProgressed)
24145        )
24146    );
24147    assert_eq!(
24148        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
24149        24usize,
24150        concat!(
24151            "Offset of field: ",
24152            stringify!(ACameraCaptureSession_captureCallbacksV2),
24153            "::",
24154            stringify!(onCaptureCompleted)
24155        )
24156    );
24157    assert_eq!(
24158        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
24159        32usize,
24160        concat!(
24161            "Offset of field: ",
24162            stringify!(ACameraCaptureSession_captureCallbacksV2),
24163            "::",
24164            stringify!(onCaptureFailed)
24165        )
24166    );
24167    assert_eq!(
24168        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
24169        40usize,
24170        concat!(
24171            "Offset of field: ",
24172            stringify!(ACameraCaptureSession_captureCallbacksV2),
24173            "::",
24174            stringify!(onCaptureSequenceCompleted)
24175        )
24176    );
24177    assert_eq!(
24178        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
24179        48usize,
24180        concat!(
24181            "Offset of field: ",
24182            stringify!(ACameraCaptureSession_captureCallbacksV2),
24183            "::",
24184            stringify!(onCaptureSequenceAborted)
24185        )
24186    );
24187    assert_eq!(
24188        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
24189        56usize,
24190        concat!(
24191            "Offset of field: ",
24192            stringify!(ACameraCaptureSession_captureCallbacksV2),
24193            "::",
24194            stringify!(onCaptureBufferLost)
24195        )
24196    );
24197}
24198#[repr(C)]
24199#[derive(Debug, Copy, Clone)]
24200pub struct ACameraCaptureSession_logicalCamera_captureCallbacksV2 {
24201    pub context: *mut ::std::os::raw::c_void,
24202    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
24203    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
24204    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
24205    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
24206    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
24207    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
24208    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
24209}
24210#[test]
24211fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacksV2() {
24212    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacksV2> =
24213        ::std::mem::MaybeUninit::uninit();
24214    let ptr = UNINIT.as_ptr();
24215    assert_eq!(
24216        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
24217        64usize,
24218        concat!(
24219            "Size of: ",
24220            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
24221        )
24222    );
24223    assert_eq!(
24224        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
24225        8usize,
24226        concat!(
24227            "Alignment of ",
24228            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
24229        )
24230    );
24231    assert_eq!(
24232        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24233        0usize,
24234        concat!(
24235            "Offset of field: ",
24236            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24237            "::",
24238            stringify!(context)
24239        )
24240    );
24241    assert_eq!(
24242        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
24243        8usize,
24244        concat!(
24245            "Offset of field: ",
24246            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24247            "::",
24248            stringify!(onCaptureStarted)
24249        )
24250    );
24251    assert_eq!(
24252        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
24253        16usize,
24254        concat!(
24255            "Offset of field: ",
24256            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24257            "::",
24258            stringify!(onCaptureProgressed)
24259        )
24260    );
24261    assert_eq!(
24262        unsafe {
24263            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
24264        },
24265        24usize,
24266        concat!(
24267            "Offset of field: ",
24268            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24269            "::",
24270            stringify!(onLogicalCameraCaptureCompleted)
24271        )
24272    );
24273    assert_eq!(
24274        unsafe {
24275            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
24276        },
24277        32usize,
24278        concat!(
24279            "Offset of field: ",
24280            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24281            "::",
24282            stringify!(onLogicalCameraCaptureFailed)
24283        )
24284    );
24285    assert_eq!(
24286        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
24287        40usize,
24288        concat!(
24289            "Offset of field: ",
24290            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24291            "::",
24292            stringify!(onCaptureSequenceCompleted)
24293        )
24294    );
24295    assert_eq!(
24296        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
24297        48usize,
24298        concat!(
24299            "Offset of field: ",
24300            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24301            "::",
24302            stringify!(onCaptureSequenceAborted)
24303        )
24304    );
24305    assert_eq!(
24306        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
24307        56usize,
24308        concat!(
24309            "Offset of field: ",
24310            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24311            "::",
24312            stringify!(onCaptureBufferLost)
24313        )
24314    );
24315}
24316extern "C" {
24317    pub fn ACameraCaptureSession_captureV2(
24318        session: *mut ACameraCaptureSession,
24319        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
24320        numRequests: ::std::os::raw::c_int,
24321        requests: *mut *mut ACaptureRequest,
24322        captureSequenceId: *mut ::std::os::raw::c_int,
24323    ) -> camera_status_t;
24324}
24325extern "C" {
24326    pub fn ACameraCaptureSession_setRepeatingRequestV2(
24327        session: *mut ACameraCaptureSession,
24328        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
24329        numRequests: ::std::os::raw::c_int,
24330        requests: *mut *mut ACaptureRequest,
24331        captureSequenceId: *mut ::std::os::raw::c_int,
24332    ) -> camera_status_t;
24333}
24334extern "C" {
24335    pub fn ACameraCaptureSession_logicalCamera_captureV2(
24336        session: *mut ACameraCaptureSession,
24337        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
24338        numRequests: ::std::os::raw::c_int,
24339        requests: *mut *mut ACaptureRequest,
24340        captureSequenceId: *mut ::std::os::raw::c_int,
24341    ) -> camera_status_t;
24342}
24343extern "C" {
24344    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequestV2(
24345        session: *mut ACameraCaptureSession,
24346        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
24347        numRequests: ::std::os::raw::c_int,
24348        requests: *mut *mut ACaptureRequest,
24349        captureSequenceId: *mut ::std::os::raw::c_int,
24350    ) -> camera_status_t;
24351}
24352extern "C" {
24353    pub fn ACameraCaptureSession_setWindowPreparedCallback(
24354        session: *mut ACameraCaptureSession,
24355        context: *mut ::std::os::raw::c_void,
24356        callback: ACameraCaptureSession_prepareCallback,
24357    ) -> camera_status_t;
24358}
24359extern "C" {
24360    pub fn ACameraCaptureSession_prepareWindow(
24361        session: *mut ACameraCaptureSession,
24362        window: *mut ACameraWindowType,
24363    ) -> camera_status_t;
24364}
24365#[repr(C)]
24366#[derive(Debug, Copy, Clone)]
24367pub struct ACameraIdList {
24368    pub numCameras: ::std::os::raw::c_int,
24369    pub cameraIds: *mut *const ::std::os::raw::c_char,
24370}
24371#[test]
24372fn bindgen_test_layout_ACameraIdList() {
24373    const UNINIT: ::std::mem::MaybeUninit<ACameraIdList> = ::std::mem::MaybeUninit::uninit();
24374    let ptr = UNINIT.as_ptr();
24375    assert_eq!(
24376        ::std::mem::size_of::<ACameraIdList>(),
24377        16usize,
24378        concat!("Size of: ", stringify!(ACameraIdList))
24379    );
24380    assert_eq!(
24381        ::std::mem::align_of::<ACameraIdList>(),
24382        8usize,
24383        concat!("Alignment of ", stringify!(ACameraIdList))
24384    );
24385    assert_eq!(
24386        unsafe { ::std::ptr::addr_of!((*ptr).numCameras) as usize - ptr as usize },
24387        0usize,
24388        concat!(
24389            "Offset of field: ",
24390            stringify!(ACameraIdList),
24391            "::",
24392            stringify!(numCameras)
24393        )
24394    );
24395    assert_eq!(
24396        unsafe { ::std::ptr::addr_of!((*ptr).cameraIds) as usize - ptr as usize },
24397        8usize,
24398        concat!(
24399            "Offset of field: ",
24400            stringify!(ACameraIdList),
24401            "::",
24402            stringify!(cameraIds)
24403        )
24404    );
24405}
24406pub const ERROR_CAMERA_IN_USE: _bindgen_ty_68 = 1;
24407pub const ERROR_MAX_CAMERAS_IN_USE: _bindgen_ty_68 = 2;
24408pub const ERROR_CAMERA_DISABLED: _bindgen_ty_68 = 3;
24409pub const ERROR_CAMERA_DEVICE: _bindgen_ty_68 = 4;
24410pub const ERROR_CAMERA_SERVICE: _bindgen_ty_68 = 5;
24411pub type _bindgen_ty_68 = ::std::os::raw::c_uint;
24412pub type ACameraDevice_StateCallback = ::std::option::Option<
24413    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, device: *mut ACameraDevice),
24414>;
24415pub type ACameraDevice_ErrorStateCallback = ::std::option::Option<
24416    unsafe extern "C" fn(
24417        context: *mut ::std::os::raw::c_void,
24418        device: *mut ACameraDevice,
24419        error: ::std::os::raw::c_int,
24420    ),
24421>;
24422#[repr(C)]
24423#[derive(Debug, Copy, Clone)]
24424pub struct ACameraDevice_StateCallbacks {
24425    pub context: *mut ::std::os::raw::c_void,
24426    pub onDisconnected: ACameraDevice_StateCallback,
24427    pub onError: ACameraDevice_ErrorStateCallback,
24428}
24429#[test]
24430fn bindgen_test_layout_ACameraDevice_StateCallbacks() {
24431    const UNINIT: ::std::mem::MaybeUninit<ACameraDevice_StateCallbacks> =
24432        ::std::mem::MaybeUninit::uninit();
24433    let ptr = UNINIT.as_ptr();
24434    assert_eq!(
24435        ::std::mem::size_of::<ACameraDevice_StateCallbacks>(),
24436        24usize,
24437        concat!("Size of: ", stringify!(ACameraDevice_StateCallbacks))
24438    );
24439    assert_eq!(
24440        ::std::mem::align_of::<ACameraDevice_StateCallbacks>(),
24441        8usize,
24442        concat!("Alignment of ", stringify!(ACameraDevice_StateCallbacks))
24443    );
24444    assert_eq!(
24445        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24446        0usize,
24447        concat!(
24448            "Offset of field: ",
24449            stringify!(ACameraDevice_StateCallbacks),
24450            "::",
24451            stringify!(context)
24452        )
24453    );
24454    assert_eq!(
24455        unsafe { ::std::ptr::addr_of!((*ptr).onDisconnected) as usize - ptr as usize },
24456        8usize,
24457        concat!(
24458            "Offset of field: ",
24459            stringify!(ACameraDevice_StateCallbacks),
24460            "::",
24461            stringify!(onDisconnected)
24462        )
24463    );
24464    assert_eq!(
24465        unsafe { ::std::ptr::addr_of!((*ptr).onError) as usize - ptr as usize },
24466        16usize,
24467        concat!(
24468            "Offset of field: ",
24469            stringify!(ACameraDevice_StateCallbacks),
24470            "::",
24471            stringify!(onError)
24472        )
24473    );
24474}
24475pub type ACameraDevice_stateCallbacks = ACameraDevice_StateCallbacks;
24476extern "C" {
24477    pub fn ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t;
24478}
24479extern "C" {
24480    pub fn ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char;
24481}
24482impl ACameraDevice_request_template {
24483    pub const TEMPLATE_PREVIEW: ACameraDevice_request_template = ACameraDevice_request_template(1);
24484}
24485impl ACameraDevice_request_template {
24486    pub const TEMPLATE_STILL_CAPTURE: ACameraDevice_request_template =
24487        ACameraDevice_request_template(2);
24488}
24489impl ACameraDevice_request_template {
24490    pub const TEMPLATE_RECORD: ACameraDevice_request_template = ACameraDevice_request_template(3);
24491}
24492impl ACameraDevice_request_template {
24493    pub const TEMPLATE_VIDEO_SNAPSHOT: ACameraDevice_request_template =
24494        ACameraDevice_request_template(4);
24495}
24496impl ACameraDevice_request_template {
24497    pub const TEMPLATE_ZERO_SHUTTER_LAG: ACameraDevice_request_template =
24498        ACameraDevice_request_template(5);
24499}
24500impl ACameraDevice_request_template {
24501    pub const TEMPLATE_MANUAL: ACameraDevice_request_template = ACameraDevice_request_template(6);
24502}
24503#[repr(transparent)]
24504#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24505pub struct ACameraDevice_request_template(pub ::std::os::raw::c_uint);
24506extern "C" {
24507    pub fn ACameraDevice_createCaptureRequest(
24508        device: *const ACameraDevice,
24509        templateId: ACameraDevice_request_template,
24510        request: *mut *mut ACaptureRequest,
24511    ) -> camera_status_t;
24512}
24513#[repr(C)]
24514#[derive(Debug, Copy, Clone)]
24515pub struct ACaptureSessionOutputContainer {
24516    _unused: [u8; 0],
24517}
24518extern "C" {
24519    pub fn ACaptureSessionOutputContainer_create(
24520        container: *mut *mut ACaptureSessionOutputContainer,
24521    ) -> camera_status_t;
24522}
24523extern "C" {
24524    pub fn ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer);
24525}
24526extern "C" {
24527    pub fn ACaptureSessionOutput_create(
24528        anw: *mut ACameraWindowType,
24529        output: *mut *mut ACaptureSessionOutput,
24530    ) -> camera_status_t;
24531}
24532extern "C" {
24533    pub fn ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput);
24534}
24535extern "C" {
24536    pub fn ACaptureSessionOutputContainer_add(
24537        container: *mut ACaptureSessionOutputContainer,
24538        output: *const ACaptureSessionOutput,
24539    ) -> camera_status_t;
24540}
24541extern "C" {
24542    pub fn ACaptureSessionOutputContainer_remove(
24543        container: *mut ACaptureSessionOutputContainer,
24544        output: *const ACaptureSessionOutput,
24545    ) -> camera_status_t;
24546}
24547extern "C" {
24548    pub fn ACameraDevice_createCaptureSession(
24549        device: *mut ACameraDevice,
24550        outputs: *const ACaptureSessionOutputContainer,
24551        callbacks: *const ACameraCaptureSession_stateCallbacks,
24552        session: *mut *mut ACameraCaptureSession,
24553    ) -> camera_status_t;
24554}
24555extern "C" {
24556    pub fn ACaptureSessionSharedOutput_create(
24557        anw: *mut ACameraWindowType,
24558        output: *mut *mut ACaptureSessionOutput,
24559    ) -> camera_status_t;
24560}
24561extern "C" {
24562    pub fn ACaptureSessionSharedOutput_add(
24563        output: *mut ACaptureSessionOutput,
24564        anw: *mut ACameraWindowType,
24565    ) -> camera_status_t;
24566}
24567extern "C" {
24568    pub fn ACaptureSessionSharedOutput_remove(
24569        output: *mut ACaptureSessionOutput,
24570        anw: *mut ACameraWindowType,
24571    ) -> camera_status_t;
24572}
24573extern "C" {
24574    pub fn ACameraDevice_createCaptureSessionWithSessionParameters(
24575        device: *mut ACameraDevice,
24576        outputs: *const ACaptureSessionOutputContainer,
24577        sessionParameters: *const ACaptureRequest,
24578        callbacks: *const ACameraCaptureSession_stateCallbacks,
24579        session: *mut *mut ACameraCaptureSession,
24580    ) -> camera_status_t;
24581}
24582extern "C" {
24583    pub fn ACaptureSessionPhysicalOutput_create(
24584        anw: *mut ACameraWindowType,
24585        physicalId: *const ::std::os::raw::c_char,
24586        output: *mut *mut ACaptureSessionOutput,
24587    ) -> camera_status_t;
24588}
24589extern "C" {
24590    pub fn ACameraDevice_createCaptureRequest_withPhysicalIds(
24591        device: *const ACameraDevice,
24592        templateId: ACameraDevice_request_template,
24593        physicalIdList: *const ACameraIdList,
24594        request: *mut *mut ACaptureRequest,
24595    ) -> camera_status_t;
24596}
24597extern "C" {
24598    pub fn ACameraDevice_isSessionConfigurationSupported(
24599        device: *const ACameraDevice,
24600        sessionOutputContainer: *const ACaptureSessionOutputContainer,
24601    ) -> camera_status_t;
24602}
24603#[repr(C)]
24604#[derive(Debug, Copy, Clone)]
24605pub struct ACameraManager {
24606    _unused: [u8; 0],
24607}
24608extern "C" {
24609    pub fn ACameraManager_create() -> *mut ACameraManager;
24610}
24611extern "C" {
24612    pub fn ACameraManager_delete(manager: *mut ACameraManager);
24613}
24614extern "C" {
24615    pub fn ACameraManager_getCameraIdList(
24616        manager: *mut ACameraManager,
24617        cameraIdList: *mut *mut ACameraIdList,
24618    ) -> camera_status_t;
24619}
24620extern "C" {
24621    pub fn ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList);
24622}
24623pub type ACameraManager_AvailabilityCallback = ::std::option::Option<
24624    unsafe extern "C" fn(
24625        context: *mut ::std::os::raw::c_void,
24626        cameraId: *const ::std::os::raw::c_char,
24627    ),
24628>;
24629pub type ACameraManager_PhysicalCameraAvailabilityCallback = ::std::option::Option<
24630    unsafe extern "C" fn(
24631        context: *mut ::std::os::raw::c_void,
24632        cameraId: *const ::std::os::raw::c_char,
24633        physicalCameraId: *const ::std::os::raw::c_char,
24634    ),
24635>;
24636#[repr(C)]
24637#[derive(Debug, Copy, Clone)]
24638pub struct ACameraManager_AvailabilityListener {
24639    pub context: *mut ::std::os::raw::c_void,
24640    pub onCameraAvailable: ACameraManager_AvailabilityCallback,
24641    pub onCameraUnavailable: ACameraManager_AvailabilityCallback,
24642}
24643#[test]
24644fn bindgen_test_layout_ACameraManager_AvailabilityListener() {
24645    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_AvailabilityListener> =
24646        ::std::mem::MaybeUninit::uninit();
24647    let ptr = UNINIT.as_ptr();
24648    assert_eq!(
24649        ::std::mem::size_of::<ACameraManager_AvailabilityListener>(),
24650        24usize,
24651        concat!("Size of: ", stringify!(ACameraManager_AvailabilityListener))
24652    );
24653    assert_eq!(
24654        ::std::mem::align_of::<ACameraManager_AvailabilityListener>(),
24655        8usize,
24656        concat!(
24657            "Alignment of ",
24658            stringify!(ACameraManager_AvailabilityListener)
24659        )
24660    );
24661    assert_eq!(
24662        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24663        0usize,
24664        concat!(
24665            "Offset of field: ",
24666            stringify!(ACameraManager_AvailabilityListener),
24667            "::",
24668            stringify!(context)
24669        )
24670    );
24671    assert_eq!(
24672        unsafe { ::std::ptr::addr_of!((*ptr).onCameraAvailable) as usize - ptr as usize },
24673        8usize,
24674        concat!(
24675            "Offset of field: ",
24676            stringify!(ACameraManager_AvailabilityListener),
24677            "::",
24678            stringify!(onCameraAvailable)
24679        )
24680    );
24681    assert_eq!(
24682        unsafe { ::std::ptr::addr_of!((*ptr).onCameraUnavailable) as usize - ptr as usize },
24683        16usize,
24684        concat!(
24685            "Offset of field: ",
24686            stringify!(ACameraManager_AvailabilityListener),
24687            "::",
24688            stringify!(onCameraUnavailable)
24689        )
24690    );
24691}
24692pub type ACameraManager_AvailabilityCallbacks = ACameraManager_AvailabilityListener;
24693extern "C" {
24694    pub fn ACameraManager_registerAvailabilityCallback(
24695        manager: *mut ACameraManager,
24696        callback: *const ACameraManager_AvailabilityCallbacks,
24697    ) -> camera_status_t;
24698}
24699extern "C" {
24700    pub fn ACameraManager_unregisterAvailabilityCallback(
24701        manager: *mut ACameraManager,
24702        callback: *const ACameraManager_AvailabilityCallbacks,
24703    ) -> camera_status_t;
24704}
24705extern "C" {
24706    pub fn ACameraManager_getCameraCharacteristics(
24707        manager: *mut ACameraManager,
24708        cameraId: *const ::std::os::raw::c_char,
24709        characteristics: *mut *mut ACameraMetadata,
24710    ) -> camera_status_t;
24711}
24712extern "C" {
24713    pub fn ACameraManager_openCamera(
24714        manager: *mut ACameraManager,
24715        cameraId: *const ::std::os::raw::c_char,
24716        callback: *mut ACameraDevice_StateCallbacks,
24717        device: *mut *mut ACameraDevice,
24718    ) -> camera_status_t;
24719}
24720pub type ACameraManager_AccessPrioritiesChangedCallback =
24721    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
24722#[repr(C)]
24723#[derive(Debug, Copy, Clone)]
24724pub struct ACameraManager_ExtendedAvailabilityListener {
24725    pub availabilityCallbacks: ACameraManager_AvailabilityCallbacks,
24726    pub onCameraAccessPrioritiesChanged: ACameraManager_AccessPrioritiesChangedCallback,
24727    pub onPhysicalCameraAvailable: ACameraManager_PhysicalCameraAvailabilityCallback,
24728    pub onPhysicalCameraUnavailable: ACameraManager_PhysicalCameraAvailabilityCallback,
24729    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
24730}
24731#[test]
24732fn bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener() {
24733    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_ExtendedAvailabilityListener> =
24734        ::std::mem::MaybeUninit::uninit();
24735    let ptr = UNINIT.as_ptr();
24736    assert_eq!(
24737        ::std::mem::size_of::<ACameraManager_ExtendedAvailabilityListener>(),
24738        80usize,
24739        concat!(
24740            "Size of: ",
24741            stringify!(ACameraManager_ExtendedAvailabilityListener)
24742        )
24743    );
24744    assert_eq!(
24745        ::std::mem::align_of::<ACameraManager_ExtendedAvailabilityListener>(),
24746        8usize,
24747        concat!(
24748            "Alignment of ",
24749            stringify!(ACameraManager_ExtendedAvailabilityListener)
24750        )
24751    );
24752    assert_eq!(
24753        unsafe { ::std::ptr::addr_of!((*ptr).availabilityCallbacks) as usize - ptr as usize },
24754        0usize,
24755        concat!(
24756            "Offset of field: ",
24757            stringify!(ACameraManager_ExtendedAvailabilityListener),
24758            "::",
24759            stringify!(availabilityCallbacks)
24760        )
24761    );
24762    assert_eq!(
24763        unsafe {
24764            ::std::ptr::addr_of!((*ptr).onCameraAccessPrioritiesChanged) as usize - ptr as usize
24765        },
24766        24usize,
24767        concat!(
24768            "Offset of field: ",
24769            stringify!(ACameraManager_ExtendedAvailabilityListener),
24770            "::",
24771            stringify!(onCameraAccessPrioritiesChanged)
24772        )
24773    );
24774    assert_eq!(
24775        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraAvailable) as usize - ptr as usize },
24776        32usize,
24777        concat!(
24778            "Offset of field: ",
24779            stringify!(ACameraManager_ExtendedAvailabilityListener),
24780            "::",
24781            stringify!(onPhysicalCameraAvailable)
24782        )
24783    );
24784    assert_eq!(
24785        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraUnavailable) as usize - ptr as usize },
24786        40usize,
24787        concat!(
24788            "Offset of field: ",
24789            stringify!(ACameraManager_ExtendedAvailabilityListener),
24790            "::",
24791            stringify!(onPhysicalCameraUnavailable)
24792        )
24793    );
24794    assert_eq!(
24795        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
24796        48usize,
24797        concat!(
24798            "Offset of field: ",
24799            stringify!(ACameraManager_ExtendedAvailabilityListener),
24800            "::",
24801            stringify!(reserved)
24802        )
24803    );
24804}
24805pub type ACameraManager_ExtendedAvailabilityCallbacks = ACameraManager_ExtendedAvailabilityListener;
24806extern "C" {
24807    pub fn ACameraManager_registerExtendedAvailabilityCallback(
24808        manager: *mut ACameraManager,
24809        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
24810    ) -> camera_status_t;
24811}
24812extern "C" {
24813    pub fn ACameraManager_unregisterExtendedAvailabilityCallback(
24814        manager: *mut ACameraManager,
24815        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
24816    ) -> camera_status_t;
24817}
24818#[repr(C)]
24819#[derive(Debug, Copy, Clone)]
24820pub struct AImage {
24821    _unused: [u8; 0],
24822}
24823impl AIMAGE_FORMATS {
24824    pub const AIMAGE_FORMAT_RGBA_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(1);
24825}
24826impl AIMAGE_FORMATS {
24827    pub const AIMAGE_FORMAT_RGBX_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(2);
24828}
24829impl AIMAGE_FORMATS {
24830    pub const AIMAGE_FORMAT_RGB_888: AIMAGE_FORMATS = AIMAGE_FORMATS(3);
24831}
24832impl AIMAGE_FORMATS {
24833    pub const AIMAGE_FORMAT_RGB_565: AIMAGE_FORMATS = AIMAGE_FORMATS(4);
24834}
24835impl AIMAGE_FORMATS {
24836    pub const AIMAGE_FORMAT_RGBA_FP16: AIMAGE_FORMATS = AIMAGE_FORMATS(22);
24837}
24838impl AIMAGE_FORMATS {
24839    pub const AIMAGE_FORMAT_YUV_420_888: AIMAGE_FORMATS = AIMAGE_FORMATS(35);
24840}
24841impl AIMAGE_FORMATS {
24842    pub const AIMAGE_FORMAT_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(256);
24843}
24844impl AIMAGE_FORMATS {
24845    pub const AIMAGE_FORMAT_RAW16: AIMAGE_FORMATS = AIMAGE_FORMATS(32);
24846}
24847impl AIMAGE_FORMATS {
24848    pub const AIMAGE_FORMAT_RAW_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(36);
24849}
24850impl AIMAGE_FORMATS {
24851    pub const AIMAGE_FORMAT_RAW10: AIMAGE_FORMATS = AIMAGE_FORMATS(37);
24852}
24853impl AIMAGE_FORMATS {
24854    pub const AIMAGE_FORMAT_RAW12: AIMAGE_FORMATS = AIMAGE_FORMATS(38);
24855}
24856impl AIMAGE_FORMATS {
24857    pub const AIMAGE_FORMAT_DEPTH16: AIMAGE_FORMATS = AIMAGE_FORMATS(1144402265);
24858}
24859impl AIMAGE_FORMATS {
24860    pub const AIMAGE_FORMAT_DEPTH_POINT_CLOUD: AIMAGE_FORMATS = AIMAGE_FORMATS(257);
24861}
24862impl AIMAGE_FORMATS {
24863    pub const AIMAGE_FORMAT_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(34);
24864}
24865impl AIMAGE_FORMATS {
24866    pub const AIMAGE_FORMAT_Y8: AIMAGE_FORMATS = AIMAGE_FORMATS(538982489);
24867}
24868impl AIMAGE_FORMATS {
24869    pub const AIMAGE_FORMAT_HEIC: AIMAGE_FORMATS = AIMAGE_FORMATS(1212500294);
24870}
24871impl AIMAGE_FORMATS {
24872    pub const AIMAGE_FORMAT_DEPTH_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(1768253795);
24873}
24874#[repr(transparent)]
24875#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24876pub struct AIMAGE_FORMATS(pub ::std::os::raw::c_uint);
24877#[repr(C)]
24878#[derive(Debug, Copy, Clone)]
24879pub struct AImageCropRect {
24880    pub left: i32,
24881    pub top: i32,
24882    pub right: i32,
24883    pub bottom: i32,
24884}
24885#[test]
24886fn bindgen_test_layout_AImageCropRect() {
24887    const UNINIT: ::std::mem::MaybeUninit<AImageCropRect> = ::std::mem::MaybeUninit::uninit();
24888    let ptr = UNINIT.as_ptr();
24889    assert_eq!(
24890        ::std::mem::size_of::<AImageCropRect>(),
24891        16usize,
24892        concat!("Size of: ", stringify!(AImageCropRect))
24893    );
24894    assert_eq!(
24895        ::std::mem::align_of::<AImageCropRect>(),
24896        4usize,
24897        concat!("Alignment of ", stringify!(AImageCropRect))
24898    );
24899    assert_eq!(
24900        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
24901        0usize,
24902        concat!(
24903            "Offset of field: ",
24904            stringify!(AImageCropRect),
24905            "::",
24906            stringify!(left)
24907        )
24908    );
24909    assert_eq!(
24910        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
24911        4usize,
24912        concat!(
24913            "Offset of field: ",
24914            stringify!(AImageCropRect),
24915            "::",
24916            stringify!(top)
24917        )
24918    );
24919    assert_eq!(
24920        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
24921        8usize,
24922        concat!(
24923            "Offset of field: ",
24924            stringify!(AImageCropRect),
24925            "::",
24926            stringify!(right)
24927        )
24928    );
24929    assert_eq!(
24930        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
24931        12usize,
24932        concat!(
24933            "Offset of field: ",
24934            stringify!(AImageCropRect),
24935            "::",
24936            stringify!(bottom)
24937        )
24938    );
24939}
24940extern "C" {
24941    pub fn AImage_delete(image: *mut AImage);
24942}
24943extern "C" {
24944    pub fn AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t;
24945}
24946extern "C" {
24947    pub fn AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t;
24948}
24949extern "C" {
24950    pub fn AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t;
24951}
24952extern "C" {
24953    pub fn AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t;
24954}
24955extern "C" {
24956    pub fn AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t;
24957}
24958extern "C" {
24959    pub fn AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t;
24960}
24961extern "C" {
24962    pub fn AImage_getPlanePixelStride(
24963        image: *const AImage,
24964        planeIdx: ::std::os::raw::c_int,
24965        pixelStride: *mut i32,
24966    ) -> media_status_t;
24967}
24968extern "C" {
24969    pub fn AImage_getPlaneRowStride(
24970        image: *const AImage,
24971        planeIdx: ::std::os::raw::c_int,
24972        rowStride: *mut i32,
24973    ) -> media_status_t;
24974}
24975extern "C" {
24976    pub fn AImage_getPlaneData(
24977        image: *const AImage,
24978        planeIdx: ::std::os::raw::c_int,
24979        data: *mut *mut u8,
24980        dataLength: *mut ::std::os::raw::c_int,
24981    ) -> media_status_t;
24982}
24983extern "C" {
24984    pub fn AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int);
24985}
24986extern "C" {
24987    pub fn AImage_getHardwareBuffer(
24988        image: *const AImage,
24989        buffer: *mut *mut AHardwareBuffer,
24990    ) -> media_status_t;
24991}
24992extern "C" {
24993    pub fn AImage_getDataSpace(image: *const AImage, dataSpace: *mut i32) -> media_status_t;
24994}
24995#[repr(C)]
24996#[derive(Debug, Copy, Clone)]
24997pub struct AImageReader {
24998    _unused: [u8; 0],
24999}
25000extern "C" {
25001    pub fn AImageReader_new(
25002        width: i32,
25003        height: i32,
25004        format: i32,
25005        maxImages: i32,
25006        reader: *mut *mut AImageReader,
25007    ) -> media_status_t;
25008}
25009extern "C" {
25010    pub fn AImageReader_delete(reader: *mut AImageReader);
25011}
25012extern "C" {
25013    pub fn AImageReader_getWindow(
25014        reader: *mut AImageReader,
25015        window: *mut *mut ANativeWindow,
25016    ) -> media_status_t;
25017}
25018extern "C" {
25019    pub fn AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t;
25020}
25021extern "C" {
25022    pub fn AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t;
25023}
25024extern "C" {
25025    pub fn AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t;
25026}
25027extern "C" {
25028    pub fn AImageReader_getMaxImages(
25029        reader: *const AImageReader,
25030        maxImages: *mut i32,
25031    ) -> media_status_t;
25032}
25033extern "C" {
25034    pub fn AImageReader_acquireNextImage(
25035        reader: *mut AImageReader,
25036        image: *mut *mut AImage,
25037    ) -> media_status_t;
25038}
25039extern "C" {
25040    pub fn AImageReader_acquireLatestImage(
25041        reader: *mut AImageReader,
25042        image: *mut *mut AImage,
25043    ) -> media_status_t;
25044}
25045pub type AImageReader_ImageCallback = ::std::option::Option<
25046    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, reader: *mut AImageReader),
25047>;
25048#[repr(C)]
25049#[derive(Debug, Copy, Clone)]
25050pub struct AImageReader_ImageListener {
25051    pub context: *mut ::std::os::raw::c_void,
25052    pub onImageAvailable: AImageReader_ImageCallback,
25053}
25054#[test]
25055fn bindgen_test_layout_AImageReader_ImageListener() {
25056    const UNINIT: ::std::mem::MaybeUninit<AImageReader_ImageListener> =
25057        ::std::mem::MaybeUninit::uninit();
25058    let ptr = UNINIT.as_ptr();
25059    assert_eq!(
25060        ::std::mem::size_of::<AImageReader_ImageListener>(),
25061        16usize,
25062        concat!("Size of: ", stringify!(AImageReader_ImageListener))
25063    );
25064    assert_eq!(
25065        ::std::mem::align_of::<AImageReader_ImageListener>(),
25066        8usize,
25067        concat!("Alignment of ", stringify!(AImageReader_ImageListener))
25068    );
25069    assert_eq!(
25070        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
25071        0usize,
25072        concat!(
25073            "Offset of field: ",
25074            stringify!(AImageReader_ImageListener),
25075            "::",
25076            stringify!(context)
25077        )
25078    );
25079    assert_eq!(
25080        unsafe { ::std::ptr::addr_of!((*ptr).onImageAvailable) as usize - ptr as usize },
25081        8usize,
25082        concat!(
25083            "Offset of field: ",
25084            stringify!(AImageReader_ImageListener),
25085            "::",
25086            stringify!(onImageAvailable)
25087        )
25088    );
25089}
25090extern "C" {
25091    pub fn AImageReader_setImageListener(
25092        reader: *mut AImageReader,
25093        listener: *mut AImageReader_ImageListener,
25094    ) -> media_status_t;
25095}
25096extern "C" {
25097    pub fn AImageReader_newWithUsage(
25098        width: i32,
25099        height: i32,
25100        format: i32,
25101        usage: u64,
25102        maxImages: i32,
25103        reader: *mut *mut AImageReader,
25104    ) -> media_status_t;
25105}
25106extern "C" {
25107    pub fn AImageReader_newWithDataSpace(
25108        width: i32,
25109        height: i32,
25110        usage: u64,
25111        maxImages: i32,
25112        hardwareBufferFormat: u32,
25113        dataSpace: i32,
25114        reader: *mut *mut AImageReader,
25115    ) -> media_status_t;
25116}
25117extern "C" {
25118    pub fn AImageReader_acquireNextImageAsync(
25119        reader: *mut AImageReader,
25120        image: *mut *mut AImage,
25121        acquireFenceFd: *mut ::std::os::raw::c_int,
25122    ) -> media_status_t;
25123}
25124extern "C" {
25125    pub fn AImageReader_acquireLatestImageAsync(
25126        reader: *mut AImageReader,
25127        image: *mut *mut AImage,
25128        acquireFenceFd: *mut ::std::os::raw::c_int,
25129    ) -> media_status_t;
25130}
25131pub type AImageReader_BufferRemovedCallback = ::std::option::Option<
25132    unsafe extern "C" fn(
25133        context: *mut ::std::os::raw::c_void,
25134        reader: *mut AImageReader,
25135        buffer: *mut AHardwareBuffer,
25136    ),
25137>;
25138#[repr(C)]
25139#[derive(Debug, Copy, Clone)]
25140pub struct AImageReader_BufferRemovedListener {
25141    pub context: *mut ::std::os::raw::c_void,
25142    pub onBufferRemoved: AImageReader_BufferRemovedCallback,
25143}
25144#[test]
25145fn bindgen_test_layout_AImageReader_BufferRemovedListener() {
25146    const UNINIT: ::std::mem::MaybeUninit<AImageReader_BufferRemovedListener> =
25147        ::std::mem::MaybeUninit::uninit();
25148    let ptr = UNINIT.as_ptr();
25149    assert_eq!(
25150        ::std::mem::size_of::<AImageReader_BufferRemovedListener>(),
25151        16usize,
25152        concat!("Size of: ", stringify!(AImageReader_BufferRemovedListener))
25153    );
25154    assert_eq!(
25155        ::std::mem::align_of::<AImageReader_BufferRemovedListener>(),
25156        8usize,
25157        concat!(
25158            "Alignment of ",
25159            stringify!(AImageReader_BufferRemovedListener)
25160        )
25161    );
25162    assert_eq!(
25163        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
25164        0usize,
25165        concat!(
25166            "Offset of field: ",
25167            stringify!(AImageReader_BufferRemovedListener),
25168            "::",
25169            stringify!(context)
25170        )
25171    );
25172    assert_eq!(
25173        unsafe { ::std::ptr::addr_of!((*ptr).onBufferRemoved) as usize - ptr as usize },
25174        8usize,
25175        concat!(
25176            "Offset of field: ",
25177            stringify!(AImageReader_BufferRemovedListener),
25178            "::",
25179            stringify!(onBufferRemoved)
25180        )
25181    );
25182}
25183extern "C" {
25184    pub fn AImageReader_setBufferRemovedListener(
25185        reader: *mut AImageReader,
25186        listener: *mut AImageReader_BufferRemovedListener,
25187    ) -> media_status_t;
25188}
25189#[repr(C)]
25190#[derive(Debug, Copy, Clone)]
25191pub struct AMediaCrypto {
25192    _unused: [u8; 0],
25193}
25194pub type AMediaUUID = [u8; 16usize];
25195extern "C" {
25196    pub fn AMediaCrypto_isCryptoSchemeSupported(uuid: *mut u8) -> bool;
25197}
25198extern "C" {
25199    pub fn AMediaCrypto_requiresSecureDecoderComponent(mime: *const ::std::os::raw::c_char)
25200        -> bool;
25201}
25202extern "C" {
25203    pub fn AMediaCrypto_new(
25204        uuid: *mut u8,
25205        initData: *const ::std::os::raw::c_void,
25206        initDataSize: usize,
25207    ) -> *mut AMediaCrypto;
25208}
25209extern "C" {
25210    pub fn AMediaCrypto_delete(crypto: *mut AMediaCrypto);
25211}
25212#[repr(C)]
25213#[derive(Debug, Copy, Clone)]
25214pub struct AMediaFormat {
25215    _unused: [u8; 0],
25216}
25217extern "C" {
25218    pub fn AMediaFormat_new() -> *mut AMediaFormat;
25219}
25220extern "C" {
25221    pub fn AMediaFormat_delete(arg1: *mut AMediaFormat) -> media_status_t;
25222}
25223extern "C" {
25224    pub fn AMediaFormat_toString(arg1: *mut AMediaFormat) -> *const ::std::os::raw::c_char;
25225}
25226extern "C" {
25227    pub fn AMediaFormat_getInt32(
25228        arg1: *mut AMediaFormat,
25229        name: *const ::std::os::raw::c_char,
25230        out: *mut i32,
25231    ) -> bool;
25232}
25233extern "C" {
25234    pub fn AMediaFormat_getInt64(
25235        arg1: *mut AMediaFormat,
25236        name: *const ::std::os::raw::c_char,
25237        out: *mut i64,
25238    ) -> bool;
25239}
25240extern "C" {
25241    pub fn AMediaFormat_getFloat(
25242        arg1: *mut AMediaFormat,
25243        name: *const ::std::os::raw::c_char,
25244        out: *mut f32,
25245    ) -> bool;
25246}
25247extern "C" {
25248    pub fn AMediaFormat_getSize(
25249        arg1: *mut AMediaFormat,
25250        name: *const ::std::os::raw::c_char,
25251        out: *mut usize,
25252    ) -> bool;
25253}
25254extern "C" {
25255    pub fn AMediaFormat_getBuffer(
25256        arg1: *mut AMediaFormat,
25257        name: *const ::std::os::raw::c_char,
25258        data: *mut *mut ::std::os::raw::c_void,
25259        size: *mut usize,
25260    ) -> bool;
25261}
25262extern "C" {
25263    pub fn AMediaFormat_getString(
25264        arg1: *mut AMediaFormat,
25265        name: *const ::std::os::raw::c_char,
25266        out: *mut *const ::std::os::raw::c_char,
25267    ) -> bool;
25268}
25269extern "C" {
25270    pub fn AMediaFormat_setInt32(
25271        arg1: *mut AMediaFormat,
25272        name: *const ::std::os::raw::c_char,
25273        value: i32,
25274    );
25275}
25276extern "C" {
25277    pub fn AMediaFormat_setInt64(
25278        arg1: *mut AMediaFormat,
25279        name: *const ::std::os::raw::c_char,
25280        value: i64,
25281    );
25282}
25283extern "C" {
25284    pub fn AMediaFormat_setFloat(
25285        arg1: *mut AMediaFormat,
25286        name: *const ::std::os::raw::c_char,
25287        value: f32,
25288    );
25289}
25290extern "C" {
25291    pub fn AMediaFormat_setString(
25292        arg1: *mut AMediaFormat,
25293        name: *const ::std::os::raw::c_char,
25294        value: *const ::std::os::raw::c_char,
25295    );
25296}
25297extern "C" {
25298    pub fn AMediaFormat_setBuffer(
25299        arg1: *mut AMediaFormat,
25300        name: *const ::std::os::raw::c_char,
25301        data: *const ::std::os::raw::c_void,
25302        size: usize,
25303    );
25304}
25305extern "C" {
25306    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_ATTENUATION_FACTOR: *const ::std::os::raw::c_char;
25307}
25308extern "C" {
25309    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_BOOST_FACTOR: *const ::std::os::raw::c_char;
25310}
25311extern "C" {
25312    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_HEAVY_COMPRESSION: *const ::std::os::raw::c_char;
25313}
25314extern "C" {
25315    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_TARGET_REFERENCE_LEVEL: *const ::std::os::raw::c_char;
25316}
25317extern "C" {
25318    pub static mut AMEDIAFORMAT_KEY_AAC_ENCODED_TARGET_LEVEL: *const ::std::os::raw::c_char;
25319}
25320extern "C" {
25321    pub static mut AMEDIAFORMAT_KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT: *const ::std::os::raw::c_char;
25322}
25323extern "C" {
25324    pub static mut AMEDIAFORMAT_KEY_AAC_PROFILE: *const ::std::os::raw::c_char;
25325}
25326extern "C" {
25327    pub static mut AMEDIAFORMAT_KEY_AAC_SBR_MODE: *const ::std::os::raw::c_char;
25328}
25329extern "C" {
25330    pub static mut AMEDIAFORMAT_KEY_ALLOW_FRAME_DROP: *const ::std::os::raw::c_char;
25331}
25332extern "C" {
25333    pub static mut AMEDIAFORMAT_KEY_AUDIO_SESSION_ID: *const ::std::os::raw::c_char;
25334}
25335extern "C" {
25336    pub static mut AMEDIAFORMAT_KEY_BITRATE_MODE: *const ::std::os::raw::c_char;
25337}
25338extern "C" {
25339    pub static mut AMEDIAFORMAT_KEY_BIT_RATE: *const ::std::os::raw::c_char;
25340}
25341extern "C" {
25342    pub static mut AMEDIAFORMAT_KEY_CAPTURE_RATE: *const ::std::os::raw::c_char;
25343}
25344extern "C" {
25345    pub static mut AMEDIAFORMAT_KEY_CHANNEL_COUNT: *const ::std::os::raw::c_char;
25346}
25347extern "C" {
25348    pub static mut AMEDIAFORMAT_KEY_CHANNEL_MASK: *const ::std::os::raw::c_char;
25349}
25350extern "C" {
25351    pub static mut AMEDIAFORMAT_KEY_COLOR_FORMAT: *const ::std::os::raw::c_char;
25352}
25353extern "C" {
25354    pub static mut AMEDIAFORMAT_KEY_COLOR_RANGE: *const ::std::os::raw::c_char;
25355}
25356extern "C" {
25357    pub static mut AMEDIAFORMAT_KEY_COLOR_STANDARD: *const ::std::os::raw::c_char;
25358}
25359extern "C" {
25360    pub static mut AMEDIAFORMAT_KEY_COLOR_TRANSFER: *const ::std::os::raw::c_char;
25361}
25362extern "C" {
25363    pub static mut AMEDIAFORMAT_KEY_COMPLEXITY: *const ::std::os::raw::c_char;
25364}
25365extern "C" {
25366    pub static mut AMEDIAFORMAT_KEY_CSD: *const ::std::os::raw::c_char;
25367}
25368extern "C" {
25369    pub static mut AMEDIAFORMAT_KEY_CSD_0: *const ::std::os::raw::c_char;
25370}
25371extern "C" {
25372    pub static mut AMEDIAFORMAT_KEY_CSD_1: *const ::std::os::raw::c_char;
25373}
25374extern "C" {
25375    pub static mut AMEDIAFORMAT_KEY_CSD_2: *const ::std::os::raw::c_char;
25376}
25377extern "C" {
25378    pub static mut AMEDIAFORMAT_KEY_DISPLAY_CROP: *const ::std::os::raw::c_char;
25379}
25380extern "C" {
25381    pub static mut AMEDIAFORMAT_KEY_DISPLAY_HEIGHT: *const ::std::os::raw::c_char;
25382}
25383extern "C" {
25384    pub static mut AMEDIAFORMAT_KEY_DISPLAY_WIDTH: *const ::std::os::raw::c_char;
25385}
25386extern "C" {
25387    pub static mut AMEDIAFORMAT_KEY_DURATION: *const ::std::os::raw::c_char;
25388}
25389extern "C" {
25390    pub static mut AMEDIAFORMAT_KEY_FLAC_COMPRESSION_LEVEL: *const ::std::os::raw::c_char;
25391}
25392extern "C" {
25393    pub static mut AMEDIAFORMAT_KEY_FRAME_RATE: *const ::std::os::raw::c_char;
25394}
25395extern "C" {
25396    pub static mut AMEDIAFORMAT_KEY_GRID_COLUMNS: *const ::std::os::raw::c_char;
25397}
25398extern "C" {
25399    pub static mut AMEDIAFORMAT_KEY_GRID_ROWS: *const ::std::os::raw::c_char;
25400}
25401extern "C" {
25402    pub static mut AMEDIAFORMAT_KEY_HDR_STATIC_INFO: *const ::std::os::raw::c_char;
25403}
25404extern "C" {
25405    pub static mut AMEDIAFORMAT_KEY_HEIGHT: *const ::std::os::raw::c_char;
25406}
25407extern "C" {
25408    pub static mut AMEDIAFORMAT_KEY_IMPORTANCE: *const ::std::os::raw::c_char;
25409}
25410extern "C" {
25411    pub static mut AMEDIAFORMAT_KEY_INTRA_REFRESH_PERIOD: *const ::std::os::raw::c_char;
25412}
25413extern "C" {
25414    pub static mut AMEDIAFORMAT_KEY_IS_ADTS: *const ::std::os::raw::c_char;
25415}
25416extern "C" {
25417    pub static mut AMEDIAFORMAT_KEY_IS_AUTOSELECT: *const ::std::os::raw::c_char;
25418}
25419extern "C" {
25420    pub static mut AMEDIAFORMAT_KEY_IS_DEFAULT: *const ::std::os::raw::c_char;
25421}
25422extern "C" {
25423    pub static mut AMEDIAFORMAT_KEY_IS_FORCED_SUBTITLE: *const ::std::os::raw::c_char;
25424}
25425extern "C" {
25426    pub static mut AMEDIAFORMAT_KEY_I_FRAME_INTERVAL: *const ::std::os::raw::c_char;
25427}
25428extern "C" {
25429    pub static mut AMEDIAFORMAT_KEY_LANGUAGE: *const ::std::os::raw::c_char;
25430}
25431extern "C" {
25432    pub static mut AMEDIAFORMAT_KEY_LATENCY: *const ::std::os::raw::c_char;
25433}
25434extern "C" {
25435    pub static mut AMEDIAFORMAT_KEY_LEVEL: *const ::std::os::raw::c_char;
25436}
25437extern "C" {
25438    pub static mut AMEDIAFORMAT_KEY_MAX_B_FRAMES: *const ::std::os::raw::c_char;
25439}
25440extern "C" {
25441    pub static mut AMEDIAFORMAT_KEY_MAX_HEIGHT: *const ::std::os::raw::c_char;
25442}
25443extern "C" {
25444    pub static mut AMEDIAFORMAT_KEY_MAX_INPUT_SIZE: *const ::std::os::raw::c_char;
25445}
25446extern "C" {
25447    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_MAX_OUTPUT_SIZE: *const ::std::os::raw::c_char;
25448}
25449extern "C" {
25450    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_THRESHOLD_OUTPUT_SIZE:
25451        *const ::std::os::raw::c_char;
25452}
25453extern "C" {
25454    pub static mut AMEDIAFORMAT_KEY_MAX_WIDTH: *const ::std::os::raw::c_char;
25455}
25456extern "C" {
25457    pub static mut AMEDIAFORMAT_KEY_MIME: *const ::std::os::raw::c_char;
25458}
25459extern "C" {
25460    pub static mut AMEDIAFORMAT_KEY_MPEG_USER_DATA: *const ::std::os::raw::c_char;
25461}
25462extern "C" {
25463    pub static mut AMEDIAFORMAT_KEY_OPERATING_RATE: *const ::std::os::raw::c_char;
25464}
25465extern "C" {
25466    pub static mut AMEDIAFORMAT_KEY_PCM_ENCODING: *const ::std::os::raw::c_char;
25467}
25468extern "C" {
25469    pub static mut AMEDIAFORMAT_KEY_PRIORITY: *const ::std::os::raw::c_char;
25470}
25471extern "C" {
25472    pub static mut AMEDIAFORMAT_KEY_PROFILE: *const ::std::os::raw::c_char;
25473}
25474extern "C" {
25475    pub static mut AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP: *const ::std::os::raw::c_char;
25476}
25477extern "C" {
25478    pub static mut AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER: *const ::std::os::raw::c_char;
25479}
25480extern "C" {
25481    pub static mut AMEDIAFORMAT_KEY_ROTATION: *const ::std::os::raw::c_char;
25482}
25483extern "C" {
25484    pub static mut AMEDIAFORMAT_KEY_SAMPLE_RATE: *const ::std::os::raw::c_char;
25485}
25486extern "C" {
25487    pub static mut AMEDIAFORMAT_KEY_SEI: *const ::std::os::raw::c_char;
25488}
25489extern "C" {
25490    pub static mut AMEDIAFORMAT_KEY_SLICE_HEIGHT: *const ::std::os::raw::c_char;
25491}
25492extern "C" {
25493    pub static mut AMEDIAFORMAT_KEY_STRIDE: *const ::std::os::raw::c_char;
25494}
25495extern "C" {
25496    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_ID: *const ::std::os::raw::c_char;
25497}
25498extern "C" {
25499    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYERING: *const ::std::os::raw::c_char;
25500}
25501extern "C" {
25502    pub static mut AMEDIAFORMAT_KEY_TILE_HEIGHT: *const ::std::os::raw::c_char;
25503}
25504extern "C" {
25505    pub static mut AMEDIAFORMAT_KEY_TILE_WIDTH: *const ::std::os::raw::c_char;
25506}
25507extern "C" {
25508    pub static mut AMEDIAFORMAT_KEY_TIME_US: *const ::std::os::raw::c_char;
25509}
25510extern "C" {
25511    pub static mut AMEDIAFORMAT_KEY_TRACK_ID: *const ::std::os::raw::c_char;
25512}
25513extern "C" {
25514    pub static mut AMEDIAFORMAT_KEY_TRACK_INDEX: *const ::std::os::raw::c_char;
25515}
25516extern "C" {
25517    pub static mut AMEDIAFORMAT_KEY_WIDTH: *const ::std::os::raw::c_char;
25518}
25519extern "C" {
25520    pub fn AMediaFormat_getDouble(
25521        arg1: *mut AMediaFormat,
25522        name: *const ::std::os::raw::c_char,
25523        out: *mut f64,
25524    ) -> bool;
25525}
25526extern "C" {
25527    pub fn AMediaFormat_getRect(
25528        arg1: *mut AMediaFormat,
25529        name: *const ::std::os::raw::c_char,
25530        left: *mut i32,
25531        top: *mut i32,
25532        right: *mut i32,
25533        bottom: *mut i32,
25534    ) -> bool;
25535}
25536extern "C" {
25537    pub fn AMediaFormat_setDouble(
25538        arg1: *mut AMediaFormat,
25539        name: *const ::std::os::raw::c_char,
25540        value: f64,
25541    );
25542}
25543extern "C" {
25544    pub fn AMediaFormat_setSize(
25545        arg1: *mut AMediaFormat,
25546        name: *const ::std::os::raw::c_char,
25547        value: usize,
25548    );
25549}
25550extern "C" {
25551    pub fn AMediaFormat_setRect(
25552        arg1: *mut AMediaFormat,
25553        name: *const ::std::os::raw::c_char,
25554        left: i32,
25555        top: i32,
25556        right: i32,
25557        bottom: i32,
25558    );
25559}
25560extern "C" {
25561    pub fn AMediaFormat_clear(arg1: *mut AMediaFormat);
25562}
25563extern "C" {
25564    pub fn AMediaFormat_copy(to: *mut AMediaFormat, from: *mut AMediaFormat) -> media_status_t;
25565}
25566extern "C" {
25567    pub static mut AMEDIAFORMAT_KEY_ALBUM: *const ::std::os::raw::c_char;
25568}
25569extern "C" {
25570    pub static mut AMEDIAFORMAT_KEY_ALBUMART: *const ::std::os::raw::c_char;
25571}
25572extern "C" {
25573    pub static mut AMEDIAFORMAT_KEY_ALBUMARTIST: *const ::std::os::raw::c_char;
25574}
25575extern "C" {
25576    pub static mut AMEDIAFORMAT_KEY_ARTIST: *const ::std::os::raw::c_char;
25577}
25578extern "C" {
25579    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_INFO: *const ::std::os::raw::c_char;
25580}
25581extern "C" {
25582    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PRESENTATION_ID:
25583        *const ::std::os::raw::c_char;
25584}
25585extern "C" {
25586    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PROGRAM_ID: *const ::std::os::raw::c_char;
25587}
25588extern "C" {
25589    pub static mut AMEDIAFORMAT_KEY_AUTHOR: *const ::std::os::raw::c_char;
25590}
25591extern "C" {
25592    pub static mut AMEDIAFORMAT_KEY_BITS_PER_SAMPLE: *const ::std::os::raw::c_char;
25593}
25594extern "C" {
25595    pub static mut AMEDIAFORMAT_KEY_CDTRACKNUMBER: *const ::std::os::raw::c_char;
25596}
25597extern "C" {
25598    pub static mut AMEDIAFORMAT_KEY_COMPILATION: *const ::std::os::raw::c_char;
25599}
25600extern "C" {
25601    pub static mut AMEDIAFORMAT_KEY_COMPOSER: *const ::std::os::raw::c_char;
25602}
25603extern "C" {
25604    pub static mut AMEDIAFORMAT_KEY_CREATE_INPUT_SURFACE_SUSPENDED: *const ::std::os::raw::c_char;
25605}
25606extern "C" {
25607    pub static mut AMEDIAFORMAT_KEY_CRYPTO_DEFAULT_IV_SIZE: *const ::std::os::raw::c_char;
25608}
25609extern "C" {
25610    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_BYTE_BLOCK: *const ::std::os::raw::c_char;
25611}
25612extern "C" {
25613    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_SIZES: *const ::std::os::raw::c_char;
25614}
25615extern "C" {
25616    pub static mut AMEDIAFORMAT_KEY_CRYPTO_IV: *const ::std::os::raw::c_char;
25617}
25618extern "C" {
25619    pub static mut AMEDIAFORMAT_KEY_CRYPTO_KEY: *const ::std::os::raw::c_char;
25620}
25621extern "C" {
25622    pub static mut AMEDIAFORMAT_KEY_CRYPTO_MODE: *const ::std::os::raw::c_char;
25623}
25624extern "C" {
25625    pub static mut AMEDIAFORMAT_KEY_CRYPTO_PLAIN_SIZES: *const ::std::os::raw::c_char;
25626}
25627extern "C" {
25628    pub static mut AMEDIAFORMAT_KEY_CRYPTO_SKIP_BYTE_BLOCK: *const ::std::os::raw::c_char;
25629}
25630extern "C" {
25631    pub static mut AMEDIAFORMAT_KEY_CSD_AVC: *const ::std::os::raw::c_char;
25632}
25633extern "C" {
25634    pub static mut AMEDIAFORMAT_KEY_CSD_HEVC: *const ::std::os::raw::c_char;
25635}
25636extern "C" {
25637    pub static mut AMEDIAFORMAT_KEY_D263: *const ::std::os::raw::c_char;
25638}
25639extern "C" {
25640    pub static mut AMEDIAFORMAT_KEY_DATE: *const ::std::os::raw::c_char;
25641}
25642extern "C" {
25643    pub static mut AMEDIAFORMAT_KEY_DISCNUMBER: *const ::std::os::raw::c_char;
25644}
25645extern "C" {
25646    pub static mut AMEDIAFORMAT_KEY_ENCODER_DELAY: *const ::std::os::raw::c_char;
25647}
25648extern "C" {
25649    pub static mut AMEDIAFORMAT_KEY_ENCODER_PADDING: *const ::std::os::raw::c_char;
25650}
25651extern "C" {
25652    pub static mut AMEDIAFORMAT_KEY_ESDS: *const ::std::os::raw::c_char;
25653}
25654extern "C" {
25655    pub static mut AMEDIAFORMAT_KEY_EXIF_OFFSET: *const ::std::os::raw::c_char;
25656}
25657extern "C" {
25658    pub static mut AMEDIAFORMAT_KEY_EXIF_SIZE: *const ::std::os::raw::c_char;
25659}
25660extern "C" {
25661    pub static mut AMEDIAFORMAT_KEY_FRAME_COUNT: *const ::std::os::raw::c_char;
25662}
25663extern "C" {
25664    pub static mut AMEDIAFORMAT_KEY_GENRE: *const ::std::os::raw::c_char;
25665}
25666extern "C" {
25667    pub static mut AMEDIAFORMAT_KEY_HAPTIC_CHANNEL_COUNT: *const ::std::os::raw::c_char;
25668}
25669extern "C" {
25670    pub static mut AMEDIAFORMAT_KEY_ICC_PROFILE: *const ::std::os::raw::c_char;
25671}
25672extern "C" {
25673    pub static mut AMEDIAFORMAT_KEY_IS_SYNC_FRAME: *const ::std::os::raw::c_char;
25674}
25675extern "C" {
25676    pub static mut AMEDIAFORMAT_KEY_LOCATION: *const ::std::os::raw::c_char;
25677}
25678extern "C" {
25679    pub static mut AMEDIAFORMAT_KEY_LOOP: *const ::std::os::raw::c_char;
25680}
25681extern "C" {
25682    pub static mut AMEDIAFORMAT_KEY_LYRICIST: *const ::std::os::raw::c_char;
25683}
25684extern "C" {
25685    pub static mut AMEDIAFORMAT_KEY_MANUFACTURER: *const ::std::os::raw::c_char;
25686}
25687extern "C" {
25688    pub static mut AMEDIAFORMAT_KEY_MAX_BIT_RATE: *const ::std::os::raw::c_char;
25689}
25690extern "C" {
25691    pub static mut AMEDIAFORMAT_KEY_MAX_FPS_TO_ENCODER: *const ::std::os::raw::c_char;
25692}
25693extern "C" {
25694    pub static mut AMEDIAFORMAT_KEY_MAX_PTS_GAP_TO_ENCODER: *const ::std::os::raw::c_char;
25695}
25696extern "C" {
25697    pub static mut AMEDIAFORMAT_KEY_MPEG2_STREAM_HEADER: *const ::std::os::raw::c_char;
25698}
25699extern "C" {
25700    pub static mut AMEDIAFORMAT_KEY_PCM_BIG_ENDIAN: *const ::std::os::raw::c_char;
25701}
25702extern "C" {
25703    pub static mut AMEDIAFORMAT_KEY_PSSH: *const ::std::os::raw::c_char;
25704}
25705extern "C" {
25706    pub static mut AMEDIAFORMAT_KEY_SAR_HEIGHT: *const ::std::os::raw::c_char;
25707}
25708extern "C" {
25709    pub static mut AMEDIAFORMAT_KEY_SAR_WIDTH: *const ::std::os::raw::c_char;
25710}
25711extern "C" {
25712    pub static mut AMEDIAFORMAT_KEY_TARGET_TIME: *const ::std::os::raw::c_char;
25713}
25714extern "C" {
25715    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_COUNT: *const ::std::os::raw::c_char;
25716}
25717extern "C" {
25718    pub static mut AMEDIAFORMAT_KEY_TEXT_FORMAT_DATA: *const ::std::os::raw::c_char;
25719}
25720extern "C" {
25721    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_HEVC: *const ::std::os::raw::c_char;
25722}
25723extern "C" {
25724    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_HEIGHT: *const ::std::os::raw::c_char;
25725}
25726extern "C" {
25727    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_TIME: *const ::std::os::raw::c_char;
25728}
25729extern "C" {
25730    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_WIDTH: *const ::std::os::raw::c_char;
25731}
25732extern "C" {
25733    pub static mut AMEDIAFORMAT_KEY_TITLE: *const ::std::os::raw::c_char;
25734}
25735extern "C" {
25736    pub static mut AMEDIAFORMAT_KEY_VALID_SAMPLES: *const ::std::os::raw::c_char;
25737}
25738extern "C" {
25739    pub static mut AMEDIAFORMAT_KEY_YEAR: *const ::std::os::raw::c_char;
25740}
25741extern "C" {
25742    pub static mut AMEDIAFORMAT_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
25743}
25744extern "C" {
25745    pub static mut AMEDIAFORMAT_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
25746}
25747extern "C" {
25748    pub static mut AMEDIAFORMAT_KEY_SLOW_MOTION_MARKERS: *const ::std::os::raw::c_char;
25749}
25750extern "C" {
25751    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_AV1C: *const ::std::os::raw::c_char;
25752}
25753extern "C" {
25754    pub static mut AMEDIAFORMAT_KEY_XMP_OFFSET: *const ::std::os::raw::c_char;
25755}
25756extern "C" {
25757    pub static mut AMEDIAFORMAT_KEY_XMP_SIZE: *const ::std::os::raw::c_char;
25758}
25759extern "C" {
25760    pub static mut AMEDIAFORMAT_KEY_SAMPLE_FILE_OFFSET: *const ::std::os::raw::c_char;
25761}
25762extern "C" {
25763    pub static mut AMEDIAFORMAT_KEY_LAST_SAMPLE_INDEX_IN_CHUNK: *const ::std::os::raw::c_char;
25764}
25765extern "C" {
25766    pub static mut AMEDIAFORMAT_KEY_SAMPLE_TIME_BEFORE_APPEND: *const ::std::os::raw::c_char;
25767}
25768extern "C" {
25769    pub static mut AMEDIAFORMAT_KEY_PICTURE_TYPE: *const ::std::os::raw::c_char;
25770}
25771extern "C" {
25772    pub static mut AMEDIAFORMAT_KEY_VIDEO_ENCODING_STATISTICS_LEVEL: *const ::std::os::raw::c_char;
25773}
25774extern "C" {
25775    pub static mut AMEDIAFORMAT_KEY_VIDEO_QP_AVERAGE: *const ::std::os::raw::c_char;
25776}
25777extern "C" {
25778    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MAX: *const ::std::os::raw::c_char;
25779}
25780extern "C" {
25781    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MIN: *const ::std::os::raw::c_char;
25782}
25783extern "C" {
25784    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MAX: *const ::std::os::raw::c_char;
25785}
25786extern "C" {
25787    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MIN: *const ::std::os::raw::c_char;
25788}
25789extern "C" {
25790    pub static mut AMEDIAFORMAT_VIDEO_QP_MAX: *const ::std::os::raw::c_char;
25791}
25792extern "C" {
25793    pub static mut AMEDIAFORMAT_VIDEO_QP_MIN: *const ::std::os::raw::c_char;
25794}
25795extern "C" {
25796    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MAX: *const ::std::os::raw::c_char;
25797}
25798extern "C" {
25799    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MIN: *const ::std::os::raw::c_char;
25800}
25801extern "C" {
25802    pub static mut AMEDIAFORMAT_KEY_MPEGH_COMPATIBLE_SETS: *const ::std::os::raw::c_char;
25803}
25804extern "C" {
25805    pub static mut AMEDIAFORMAT_KEY_MPEGH_PROFILE_LEVEL_INDICATION: *const ::std::os::raw::c_char;
25806}
25807extern "C" {
25808    pub static mut AMEDIAFORMAT_KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT: *const ::std::os::raw::c_char;
25809}
25810#[repr(C)]
25811#[derive(Debug, Copy, Clone)]
25812pub struct AMediaCodec {
25813    _unused: [u8; 0],
25814}
25815#[repr(C)]
25816#[derive(Debug, Copy, Clone)]
25817pub struct AMediaCodecBufferInfo {
25818    pub offset: i32,
25819    pub size: i32,
25820    pub presentationTimeUs: i64,
25821    pub flags: u32,
25822}
25823#[test]
25824fn bindgen_test_layout_AMediaCodecBufferInfo() {
25825    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecBufferInfo> =
25826        ::std::mem::MaybeUninit::uninit();
25827    let ptr = UNINIT.as_ptr();
25828    assert_eq!(
25829        ::std::mem::size_of::<AMediaCodecBufferInfo>(),
25830        24usize,
25831        concat!("Size of: ", stringify!(AMediaCodecBufferInfo))
25832    );
25833    assert_eq!(
25834        ::std::mem::align_of::<AMediaCodecBufferInfo>(),
25835        8usize,
25836        concat!("Alignment of ", stringify!(AMediaCodecBufferInfo))
25837    );
25838    assert_eq!(
25839        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
25840        0usize,
25841        concat!(
25842            "Offset of field: ",
25843            stringify!(AMediaCodecBufferInfo),
25844            "::",
25845            stringify!(offset)
25846        )
25847    );
25848    assert_eq!(
25849        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
25850        4usize,
25851        concat!(
25852            "Offset of field: ",
25853            stringify!(AMediaCodecBufferInfo),
25854            "::",
25855            stringify!(size)
25856        )
25857    );
25858    assert_eq!(
25859        unsafe { ::std::ptr::addr_of!((*ptr).presentationTimeUs) as usize - ptr as usize },
25860        8usize,
25861        concat!(
25862            "Offset of field: ",
25863            stringify!(AMediaCodecBufferInfo),
25864            "::",
25865            stringify!(presentationTimeUs)
25866        )
25867    );
25868    assert_eq!(
25869        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
25870        16usize,
25871        concat!(
25872            "Offset of field: ",
25873            stringify!(AMediaCodecBufferInfo),
25874            "::",
25875            stringify!(flags)
25876        )
25877    );
25878}
25879#[repr(C)]
25880#[derive(Debug, Copy, Clone)]
25881pub struct AMediaCodecCryptoInfo {
25882    _unused: [u8; 0],
25883}
25884pub const AMEDIACODEC_BUFFER_FLAG_KEY_FRAME: _bindgen_ty_69 = 1;
25885pub const AMEDIACODEC_BUFFER_FLAG_CODEC_CONFIG: _bindgen_ty_69 = 2;
25886pub const AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM: _bindgen_ty_69 = 4;
25887pub const AMEDIACODEC_BUFFER_FLAG_PARTIAL_FRAME: _bindgen_ty_69 = 8;
25888pub const AMEDIACODEC_BUFFER_FLAG_MUXER_DATA: _bindgen_ty_69 = 16;
25889pub const AMEDIACODEC_BUFFER_FLAG_DECODE_ONLY: _bindgen_ty_69 = 32;
25890pub type _bindgen_ty_69 = ::std::os::raw::c_uint;
25891pub const AMEDIACODEC_CONFIGURE_FLAG_ENCODE: _bindgen_ty_70 = 1;
25892pub const AMEDIACODEC_INFO_OUTPUT_BUFFERS_CHANGED: _bindgen_ty_70 = -3;
25893pub const AMEDIACODEC_INFO_OUTPUT_FORMAT_CHANGED: _bindgen_ty_70 = -2;
25894pub const AMEDIACODEC_INFO_TRY_AGAIN_LATER: _bindgen_ty_70 = -1;
25895pub type _bindgen_ty_70 = ::std::os::raw::c_int;
25896pub type AMediaCodecOnAsyncInputAvailable = ::std::option::Option<
25897    unsafe extern "C" fn(
25898        codec: *mut AMediaCodec,
25899        userdata: *mut ::std::os::raw::c_void,
25900        index: i32,
25901    ),
25902>;
25903pub type AMediaCodecOnAsyncOutputAvailable = ::std::option::Option<
25904    unsafe extern "C" fn(
25905        codec: *mut AMediaCodec,
25906        userdata: *mut ::std::os::raw::c_void,
25907        index: i32,
25908        bufferInfo: *mut AMediaCodecBufferInfo,
25909    ),
25910>;
25911pub type AMediaCodecOnAsyncFormatChanged = ::std::option::Option<
25912    unsafe extern "C" fn(
25913        codec: *mut AMediaCodec,
25914        userdata: *mut ::std::os::raw::c_void,
25915        format: *mut AMediaFormat,
25916    ),
25917>;
25918pub type AMediaCodecOnAsyncError = ::std::option::Option<
25919    unsafe extern "C" fn(
25920        codec: *mut AMediaCodec,
25921        userdata: *mut ::std::os::raw::c_void,
25922        error: media_status_t,
25923        actionCode: i32,
25924        detail: *const ::std::os::raw::c_char,
25925    ),
25926>;
25927#[repr(C)]
25928#[derive(Debug, Copy, Clone)]
25929pub struct AMediaCodecOnAsyncNotifyCallback {
25930    pub onAsyncInputAvailable: AMediaCodecOnAsyncInputAvailable,
25931    pub onAsyncOutputAvailable: AMediaCodecOnAsyncOutputAvailable,
25932    pub onAsyncFormatChanged: AMediaCodecOnAsyncFormatChanged,
25933    pub onAsyncError: AMediaCodecOnAsyncError,
25934}
25935#[test]
25936fn bindgen_test_layout_AMediaCodecOnAsyncNotifyCallback() {
25937    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecOnAsyncNotifyCallback> =
25938        ::std::mem::MaybeUninit::uninit();
25939    let ptr = UNINIT.as_ptr();
25940    assert_eq!(
25941        ::std::mem::size_of::<AMediaCodecOnAsyncNotifyCallback>(),
25942        32usize,
25943        concat!("Size of: ", stringify!(AMediaCodecOnAsyncNotifyCallback))
25944    );
25945    assert_eq!(
25946        ::std::mem::align_of::<AMediaCodecOnAsyncNotifyCallback>(),
25947        8usize,
25948        concat!(
25949            "Alignment of ",
25950            stringify!(AMediaCodecOnAsyncNotifyCallback)
25951        )
25952    );
25953    assert_eq!(
25954        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncInputAvailable) as usize - ptr as usize },
25955        0usize,
25956        concat!(
25957            "Offset of field: ",
25958            stringify!(AMediaCodecOnAsyncNotifyCallback),
25959            "::",
25960            stringify!(onAsyncInputAvailable)
25961        )
25962    );
25963    assert_eq!(
25964        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncOutputAvailable) as usize - ptr as usize },
25965        8usize,
25966        concat!(
25967            "Offset of field: ",
25968            stringify!(AMediaCodecOnAsyncNotifyCallback),
25969            "::",
25970            stringify!(onAsyncOutputAvailable)
25971        )
25972    );
25973    assert_eq!(
25974        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncFormatChanged) as usize - ptr as usize },
25975        16usize,
25976        concat!(
25977            "Offset of field: ",
25978            stringify!(AMediaCodecOnAsyncNotifyCallback),
25979            "::",
25980            stringify!(onAsyncFormatChanged)
25981        )
25982    );
25983    assert_eq!(
25984        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncError) as usize - ptr as usize },
25985        24usize,
25986        concat!(
25987            "Offset of field: ",
25988            stringify!(AMediaCodecOnAsyncNotifyCallback),
25989            "::",
25990            stringify!(onAsyncError)
25991        )
25992    );
25993}
25994pub type AMediaCodecOnFrameRendered = ::std::option::Option<
25995    unsafe extern "C" fn(
25996        codec: *mut AMediaCodec,
25997        userdata: *mut ::std::os::raw::c_void,
25998        mediaTimeUs: i64,
25999        systemNano: i64,
26000    ),
26001>;
26002extern "C" {
26003    pub fn AMediaCodec_createCodecByName(name: *const ::std::os::raw::c_char) -> *mut AMediaCodec;
26004}
26005extern "C" {
26006    pub fn AMediaCodec_createDecoderByType(
26007        mime_type: *const ::std::os::raw::c_char,
26008    ) -> *mut AMediaCodec;
26009}
26010extern "C" {
26011    pub fn AMediaCodec_createEncoderByType(
26012        mime_type: *const ::std::os::raw::c_char,
26013    ) -> *mut AMediaCodec;
26014}
26015extern "C" {
26016    pub fn AMediaCodec_delete(arg1: *mut AMediaCodec) -> media_status_t;
26017}
26018extern "C" {
26019    pub fn AMediaCodec_configure(
26020        arg1: *mut AMediaCodec,
26021        format: *const AMediaFormat,
26022        surface: *mut ANativeWindow,
26023        crypto: *mut AMediaCrypto,
26024        flags: u32,
26025    ) -> media_status_t;
26026}
26027extern "C" {
26028    pub fn AMediaCodec_start(arg1: *mut AMediaCodec) -> media_status_t;
26029}
26030extern "C" {
26031    pub fn AMediaCodec_stop(arg1: *mut AMediaCodec) -> media_status_t;
26032}
26033extern "C" {
26034    pub fn AMediaCodec_flush(arg1: *mut AMediaCodec) -> media_status_t;
26035}
26036extern "C" {
26037    pub fn AMediaCodec_getInputBuffer(
26038        arg1: *mut AMediaCodec,
26039        idx: usize,
26040        out_size: *mut usize,
26041    ) -> *mut u8;
26042}
26043extern "C" {
26044    pub fn AMediaCodec_getOutputBuffer(
26045        arg1: *mut AMediaCodec,
26046        idx: usize,
26047        out_size: *mut usize,
26048    ) -> *mut u8;
26049}
26050extern "C" {
26051    pub fn AMediaCodec_dequeueInputBuffer(arg1: *mut AMediaCodec, timeoutUs: i64) -> isize;
26052}
26053extern "C" {
26054    pub fn __assert(
26055        __file: *const ::std::os::raw::c_char,
26056        __line: ::std::os::raw::c_int,
26057        __msg: *const ::std::os::raw::c_char,
26058    ) -> !;
26059}
26060extern "C" {
26061    pub fn __assert2(
26062        __file: *const ::std::os::raw::c_char,
26063        __line: ::std::os::raw::c_int,
26064        __function: *const ::std::os::raw::c_char,
26065        __msg: *const ::std::os::raw::c_char,
26066    ) -> !;
26067}
26068extern "C" {
26069    pub fn AMediaCodec_queueInputBuffer(
26070        arg1: *mut AMediaCodec,
26071        idx: usize,
26072        offset: off_t,
26073        size: usize,
26074        time: u64,
26075        flags: u32,
26076    ) -> media_status_t;
26077}
26078extern "C" {
26079    pub fn AMediaCodec_queueSecureInputBuffer(
26080        arg1: *mut AMediaCodec,
26081        idx: usize,
26082        offset: off_t,
26083        arg2: *mut AMediaCodecCryptoInfo,
26084        time: u64,
26085        flags: u32,
26086    ) -> media_status_t;
26087}
26088extern "C" {
26089    pub fn AMediaCodec_dequeueOutputBuffer(
26090        arg1: *mut AMediaCodec,
26091        info: *mut AMediaCodecBufferInfo,
26092        timeoutUs: i64,
26093    ) -> isize;
26094}
26095extern "C" {
26096    pub fn AMediaCodec_getOutputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
26097}
26098extern "C" {
26099    pub fn AMediaCodec_releaseOutputBuffer(
26100        arg1: *mut AMediaCodec,
26101        idx: usize,
26102        render: bool,
26103    ) -> media_status_t;
26104}
26105extern "C" {
26106    pub fn AMediaCodec_setOutputSurface(
26107        arg1: *mut AMediaCodec,
26108        surface: *mut ANativeWindow,
26109    ) -> media_status_t;
26110}
26111extern "C" {
26112    pub fn AMediaCodec_releaseOutputBufferAtTime(
26113        mData: *mut AMediaCodec,
26114        idx: usize,
26115        timestampNs: i64,
26116    ) -> media_status_t;
26117}
26118extern "C" {
26119    pub fn AMediaCodec_createInputSurface(
26120        mData: *mut AMediaCodec,
26121        surface: *mut *mut ANativeWindow,
26122    ) -> media_status_t;
26123}
26124extern "C" {
26125    pub fn AMediaCodec_createPersistentInputSurface(
26126        surface: *mut *mut ANativeWindow,
26127    ) -> media_status_t;
26128}
26129extern "C" {
26130    pub fn AMediaCodec_setInputSurface(
26131        mData: *mut AMediaCodec,
26132        surface: *mut ANativeWindow,
26133    ) -> media_status_t;
26134}
26135extern "C" {
26136    pub fn AMediaCodec_setParameters(
26137        mData: *mut AMediaCodec,
26138        params: *const AMediaFormat,
26139    ) -> media_status_t;
26140}
26141extern "C" {
26142    pub fn AMediaCodec_signalEndOfInputStream(mData: *mut AMediaCodec) -> media_status_t;
26143}
26144extern "C" {
26145    pub fn AMediaCodec_getBufferFormat(arg1: *mut AMediaCodec, index: usize) -> *mut AMediaFormat;
26146}
26147extern "C" {
26148    pub fn AMediaCodec_getName(
26149        arg1: *mut AMediaCodec,
26150        out_name: *mut *mut ::std::os::raw::c_char,
26151    ) -> media_status_t;
26152}
26153extern "C" {
26154    pub fn AMediaCodec_releaseName(arg1: *mut AMediaCodec, name: *mut ::std::os::raw::c_char);
26155}
26156extern "C" {
26157    pub fn AMediaCodec_setAsyncNotifyCallback(
26158        arg1: *mut AMediaCodec,
26159        callback: AMediaCodecOnAsyncNotifyCallback,
26160        userdata: *mut ::std::os::raw::c_void,
26161    ) -> media_status_t;
26162}
26163extern "C" {
26164    pub fn AMediaCodec_setOnFrameRenderedCallback(
26165        arg1: *mut AMediaCodec,
26166        callback: AMediaCodecOnFrameRendered,
26167        userdata: *mut ::std::os::raw::c_void,
26168    ) -> media_status_t;
26169}
26170extern "C" {
26171    pub fn AMediaCodec_releaseCrypto(arg1: *mut AMediaCodec) -> media_status_t;
26172}
26173extern "C" {
26174    pub fn AMediaCodec_getInputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
26175}
26176extern "C" {
26177    pub fn AMediaCodecActionCode_isRecoverable(actionCode: i32) -> bool;
26178}
26179extern "C" {
26180    pub fn AMediaCodecActionCode_isTransient(actionCode: i32) -> bool;
26181}
26182impl cryptoinfo_mode_t {
26183    pub const AMEDIACODECRYPTOINFO_MODE_CLEAR: cryptoinfo_mode_t = cryptoinfo_mode_t(0);
26184}
26185impl cryptoinfo_mode_t {
26186    pub const AMEDIACODECRYPTOINFO_MODE_AES_CTR: cryptoinfo_mode_t = cryptoinfo_mode_t(1);
26187}
26188impl cryptoinfo_mode_t {
26189    pub const AMEDIACODECRYPTOINFO_MODE_AES_WV: cryptoinfo_mode_t = cryptoinfo_mode_t(2);
26190}
26191impl cryptoinfo_mode_t {
26192    pub const AMEDIACODECRYPTOINFO_MODE_AES_CBC: cryptoinfo_mode_t = cryptoinfo_mode_t(3);
26193}
26194#[repr(transparent)]
26195#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26196pub struct cryptoinfo_mode_t(pub ::std::os::raw::c_uint);
26197#[repr(C)]
26198#[derive(Debug, Copy, Clone)]
26199pub struct cryptoinfo_pattern_t {
26200    pub encryptBlocks: i32,
26201    pub skipBlocks: i32,
26202}
26203#[test]
26204fn bindgen_test_layout_cryptoinfo_pattern_t() {
26205    const UNINIT: ::std::mem::MaybeUninit<cryptoinfo_pattern_t> = ::std::mem::MaybeUninit::uninit();
26206    let ptr = UNINIT.as_ptr();
26207    assert_eq!(
26208        ::std::mem::size_of::<cryptoinfo_pattern_t>(),
26209        8usize,
26210        concat!("Size of: ", stringify!(cryptoinfo_pattern_t))
26211    );
26212    assert_eq!(
26213        ::std::mem::align_of::<cryptoinfo_pattern_t>(),
26214        4usize,
26215        concat!("Alignment of ", stringify!(cryptoinfo_pattern_t))
26216    );
26217    assert_eq!(
26218        unsafe { ::std::ptr::addr_of!((*ptr).encryptBlocks) as usize - ptr as usize },
26219        0usize,
26220        concat!(
26221            "Offset of field: ",
26222            stringify!(cryptoinfo_pattern_t),
26223            "::",
26224            stringify!(encryptBlocks)
26225        )
26226    );
26227    assert_eq!(
26228        unsafe { ::std::ptr::addr_of!((*ptr).skipBlocks) as usize - ptr as usize },
26229        4usize,
26230        concat!(
26231            "Offset of field: ",
26232            stringify!(cryptoinfo_pattern_t),
26233            "::",
26234            stringify!(skipBlocks)
26235        )
26236    );
26237}
26238extern "C" {
26239    pub fn AMediaCodecCryptoInfo_new(
26240        numsubsamples: ::std::os::raw::c_int,
26241        key: *mut u8,
26242        iv: *mut u8,
26243        mode: cryptoinfo_mode_t,
26244        clearbytes: *mut usize,
26245        encryptedbytes: *mut usize,
26246    ) -> *mut AMediaCodecCryptoInfo;
26247}
26248extern "C" {
26249    pub fn AMediaCodecCryptoInfo_delete(arg1: *mut AMediaCodecCryptoInfo) -> media_status_t;
26250}
26251extern "C" {
26252    pub fn AMediaCodecCryptoInfo_setPattern(
26253        info: *mut AMediaCodecCryptoInfo,
26254        pattern: *mut cryptoinfo_pattern_t,
26255    );
26256}
26257extern "C" {
26258    pub fn AMediaCodecCryptoInfo_getNumSubSamples(arg1: *mut AMediaCodecCryptoInfo) -> usize;
26259}
26260extern "C" {
26261    pub fn AMediaCodecCryptoInfo_getKey(
26262        arg1: *mut AMediaCodecCryptoInfo,
26263        dst: *mut u8,
26264    ) -> media_status_t;
26265}
26266extern "C" {
26267    pub fn AMediaCodecCryptoInfo_getIV(
26268        arg1: *mut AMediaCodecCryptoInfo,
26269        dst: *mut u8,
26270    ) -> media_status_t;
26271}
26272extern "C" {
26273    pub fn AMediaCodecCryptoInfo_getMode(arg1: *mut AMediaCodecCryptoInfo) -> cryptoinfo_mode_t;
26274}
26275extern "C" {
26276    pub fn AMediaCodecCryptoInfo_getClearBytes(
26277        arg1: *mut AMediaCodecCryptoInfo,
26278        dst: *mut usize,
26279    ) -> media_status_t;
26280}
26281extern "C" {
26282    pub fn AMediaCodecCryptoInfo_getEncryptedBytes(
26283        arg1: *mut AMediaCodecCryptoInfo,
26284        dst: *mut usize,
26285    ) -> media_status_t;
26286}
26287extern "C" {
26288    pub static mut AMEDIACODEC_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
26289}
26290extern "C" {
26291    pub static mut AMEDIACODEC_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
26292}
26293extern "C" {
26294    pub static mut AMEDIACODEC_KEY_OFFSET_TIME: *const ::std::os::raw::c_char;
26295}
26296extern "C" {
26297    pub static mut AMEDIACODEC_KEY_REQUEST_SYNC_FRAME: *const ::std::os::raw::c_char;
26298}
26299extern "C" {
26300    pub static mut AMEDIACODEC_KEY_SUSPEND: *const ::std::os::raw::c_char;
26301}
26302extern "C" {
26303    pub static mut AMEDIACODEC_KEY_SUSPEND_TIME: *const ::std::os::raw::c_char;
26304}
26305extern "C" {
26306    pub static mut AMEDIACODEC_KEY_VIDEO_BITRATE: *const ::std::os::raw::c_char;
26307}
26308#[repr(C)]
26309#[derive(Debug, Copy, Clone)]
26310pub struct AMediaDataSource {
26311    _unused: [u8; 0],
26312}
26313pub type AMediaDataSourceReadAt = ::std::option::Option<
26314    unsafe extern "C" fn(
26315        userdata: *mut ::std::os::raw::c_void,
26316        offset: off64_t,
26317        buffer: *mut ::std::os::raw::c_void,
26318        size: usize,
26319    ) -> isize,
26320>;
26321pub type AMediaDataSourceGetSize =
26322    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void) -> isize>;
26323pub type AMediaDataSourceClose =
26324    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void)>;
26325extern "C" {
26326    pub fn AMediaDataSource_new() -> *mut AMediaDataSource;
26327}
26328pub type AMediaDataSourceGetAvailableSize = ::std::option::Option<
26329    unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, offset: off64_t) -> isize,
26330>;
26331extern "C" {
26332    pub fn AMediaDataSource_newUri(
26333        uri: *const ::std::os::raw::c_char,
26334        numheaders: ::std::os::raw::c_int,
26335        key_values: *const *const ::std::os::raw::c_char,
26336    ) -> *mut AMediaDataSource;
26337}
26338extern "C" {
26339    pub fn AMediaDataSource_delete(arg1: *mut AMediaDataSource);
26340}
26341extern "C" {
26342    pub fn AMediaDataSource_setUserdata(
26343        arg1: *mut AMediaDataSource,
26344        userdata: *mut ::std::os::raw::c_void,
26345    );
26346}
26347extern "C" {
26348    pub fn AMediaDataSource_setReadAt(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceReadAt);
26349}
26350extern "C" {
26351    pub fn AMediaDataSource_setGetSize(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceGetSize);
26352}
26353extern "C" {
26354    pub fn AMediaDataSource_setClose(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceClose);
26355}
26356extern "C" {
26357    pub fn AMediaDataSource_close(arg1: *mut AMediaDataSource);
26358}
26359extern "C" {
26360    pub fn AMediaDataSource_setGetAvailableSize(
26361        arg1: *mut AMediaDataSource,
26362        arg2: AMediaDataSourceGetAvailableSize,
26363    );
26364}
26365#[repr(C)]
26366#[derive(Debug, Copy, Clone)]
26367pub struct AMediaDrm {
26368    _unused: [u8; 0],
26369}
26370#[repr(C)]
26371#[derive(Debug, Copy, Clone)]
26372pub struct AMediaDrmByteArray {
26373    pub ptr: *const u8,
26374    pub length: usize,
26375}
26376#[test]
26377fn bindgen_test_layout_AMediaDrmByteArray() {
26378    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmByteArray> = ::std::mem::MaybeUninit::uninit();
26379    let ptr = UNINIT.as_ptr();
26380    assert_eq!(
26381        ::std::mem::size_of::<AMediaDrmByteArray>(),
26382        16usize,
26383        concat!("Size of: ", stringify!(AMediaDrmByteArray))
26384    );
26385    assert_eq!(
26386        ::std::mem::align_of::<AMediaDrmByteArray>(),
26387        8usize,
26388        concat!("Alignment of ", stringify!(AMediaDrmByteArray))
26389    );
26390    assert_eq!(
26391        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
26392        0usize,
26393        concat!(
26394            "Offset of field: ",
26395            stringify!(AMediaDrmByteArray),
26396            "::",
26397            stringify!(ptr)
26398        )
26399    );
26400    assert_eq!(
26401        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
26402        8usize,
26403        concat!(
26404            "Offset of field: ",
26405            stringify!(AMediaDrmByteArray),
26406            "::",
26407            stringify!(length)
26408        )
26409    );
26410}
26411pub type AMediaDrmSessionId = AMediaDrmByteArray;
26412pub type AMediaDrmScope = AMediaDrmByteArray;
26413pub type AMediaDrmKeySetId = AMediaDrmByteArray;
26414pub type AMediaDrmSecureStop = AMediaDrmByteArray;
26415pub type AMediaDrmKeyId = AMediaDrmByteArray;
26416impl AMediaDrmEventType {
26417    pub const EVENT_PROVISION_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(1);
26418}
26419impl AMediaDrmEventType {
26420    pub const EVENT_KEY_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(2);
26421}
26422impl AMediaDrmEventType {
26423    pub const EVENT_KEY_EXPIRED: AMediaDrmEventType = AMediaDrmEventType(3);
26424}
26425impl AMediaDrmEventType {
26426    pub const EVENT_VENDOR_DEFINED: AMediaDrmEventType = AMediaDrmEventType(4);
26427}
26428impl AMediaDrmEventType {
26429    pub const EVENT_SESSION_RECLAIMED: AMediaDrmEventType = AMediaDrmEventType(5);
26430}
26431#[repr(transparent)]
26432#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26433pub struct AMediaDrmEventType(pub ::std::os::raw::c_uint);
26434impl AMediaDrmKeyType {
26435    pub const KEY_TYPE_STREAMING: AMediaDrmKeyType = AMediaDrmKeyType(1);
26436}
26437impl AMediaDrmKeyType {
26438    pub const KEY_TYPE_OFFLINE: AMediaDrmKeyType = AMediaDrmKeyType(2);
26439}
26440impl AMediaDrmKeyType {
26441    pub const KEY_TYPE_RELEASE: AMediaDrmKeyType = AMediaDrmKeyType(3);
26442}
26443#[repr(transparent)]
26444#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26445pub struct AMediaDrmKeyType(pub ::std::os::raw::c_uint);
26446impl AMediaDrmKeyRequestType {
26447    pub const KEY_REQUEST_TYPE_INITIAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(0);
26448}
26449impl AMediaDrmKeyRequestType {
26450    pub const KEY_REQUEST_TYPE_RENEWAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(1);
26451}
26452impl AMediaDrmKeyRequestType {
26453    pub const KEY_REQUEST_TYPE_RELEASE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(2);
26454}
26455impl AMediaDrmKeyRequestType {
26456    pub const KEY_REQUEST_TYPE_NONE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(3);
26457}
26458impl AMediaDrmKeyRequestType {
26459    pub const KEY_REQUEST_TYPE_UPDATE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(4);
26460}
26461#[repr(transparent)]
26462#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26463pub struct AMediaDrmKeyRequestType(pub i32);
26464#[repr(C)]
26465#[derive(Debug, Copy, Clone)]
26466pub struct AMediaDrmKeyValuePair {
26467    pub mKey: *const ::std::os::raw::c_char,
26468    pub mValue: *const ::std::os::raw::c_char,
26469}
26470#[test]
26471fn bindgen_test_layout_AMediaDrmKeyValuePair() {
26472    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyValuePair> =
26473        ::std::mem::MaybeUninit::uninit();
26474    let ptr = UNINIT.as_ptr();
26475    assert_eq!(
26476        ::std::mem::size_of::<AMediaDrmKeyValuePair>(),
26477        16usize,
26478        concat!("Size of: ", stringify!(AMediaDrmKeyValuePair))
26479    );
26480    assert_eq!(
26481        ::std::mem::align_of::<AMediaDrmKeyValuePair>(),
26482        8usize,
26483        concat!("Alignment of ", stringify!(AMediaDrmKeyValuePair))
26484    );
26485    assert_eq!(
26486        unsafe { ::std::ptr::addr_of!((*ptr).mKey) as usize - ptr as usize },
26487        0usize,
26488        concat!(
26489            "Offset of field: ",
26490            stringify!(AMediaDrmKeyValuePair),
26491            "::",
26492            stringify!(mKey)
26493        )
26494    );
26495    assert_eq!(
26496        unsafe { ::std::ptr::addr_of!((*ptr).mValue) as usize - ptr as usize },
26497        8usize,
26498        concat!(
26499            "Offset of field: ",
26500            stringify!(AMediaDrmKeyValuePair),
26501            "::",
26502            stringify!(mValue)
26503        )
26504    );
26505}
26506pub type AMediaDrmKeyValue = AMediaDrmKeyValuePair;
26507impl AMediaKeyStatusType {
26508    pub const KEY_STATUS_TYPE_USABLE: AMediaKeyStatusType = AMediaKeyStatusType(0);
26509}
26510impl AMediaKeyStatusType {
26511    pub const KEY_STATUS_TYPE_EXPIRED: AMediaKeyStatusType = AMediaKeyStatusType(1);
26512}
26513impl AMediaKeyStatusType {
26514    pub const KEY_STATUS_TYPE_OUTPUTNOTALLOWED: AMediaKeyStatusType = AMediaKeyStatusType(2);
26515}
26516impl AMediaKeyStatusType {
26517    pub const KEY_STATUS_TYPE_STATUSPENDING: AMediaKeyStatusType = AMediaKeyStatusType(3);
26518}
26519impl AMediaKeyStatusType {
26520    pub const KEY_STATUS_TYPE_INTERNALERROR: AMediaKeyStatusType = AMediaKeyStatusType(4);
26521}
26522#[repr(transparent)]
26523#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26524pub struct AMediaKeyStatusType(pub ::std::os::raw::c_uint);
26525pub use self::AMediaKeyStatusType as AMediaDrmKeyStatusType;
26526#[repr(C)]
26527#[derive(Debug, Copy, Clone)]
26528pub struct AMediaDrmKeyStatus {
26529    pub keyId: AMediaDrmKeyId,
26530    pub keyType: AMediaDrmKeyStatusType,
26531}
26532#[test]
26533fn bindgen_test_layout_AMediaDrmKeyStatus() {
26534    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyStatus> = ::std::mem::MaybeUninit::uninit();
26535    let ptr = UNINIT.as_ptr();
26536    assert_eq!(
26537        ::std::mem::size_of::<AMediaDrmKeyStatus>(),
26538        24usize,
26539        concat!("Size of: ", stringify!(AMediaDrmKeyStatus))
26540    );
26541    assert_eq!(
26542        ::std::mem::align_of::<AMediaDrmKeyStatus>(),
26543        8usize,
26544        concat!("Alignment of ", stringify!(AMediaDrmKeyStatus))
26545    );
26546    assert_eq!(
26547        unsafe { ::std::ptr::addr_of!((*ptr).keyId) as usize - ptr as usize },
26548        0usize,
26549        concat!(
26550            "Offset of field: ",
26551            stringify!(AMediaDrmKeyStatus),
26552            "::",
26553            stringify!(keyId)
26554        )
26555    );
26556    assert_eq!(
26557        unsafe { ::std::ptr::addr_of!((*ptr).keyType) as usize - ptr as usize },
26558        16usize,
26559        concat!(
26560            "Offset of field: ",
26561            stringify!(AMediaDrmKeyStatus),
26562            "::",
26563            stringify!(keyType)
26564        )
26565    );
26566}
26567pub type AMediaDrmEventListener = ::std::option::Option<
26568    unsafe extern "C" fn(
26569        arg1: *mut AMediaDrm,
26570        sessionId: *const AMediaDrmSessionId,
26571        eventType: AMediaDrmEventType,
26572        extra: ::std::os::raw::c_int,
26573        data: *const u8,
26574        dataSize: usize,
26575    ),
26576>;
26577pub type AMediaDrmExpirationUpdateListener = ::std::option::Option<
26578    unsafe extern "C" fn(
26579        arg1: *mut AMediaDrm,
26580        sessionId: *const AMediaDrmSessionId,
26581        expiryTimeInMS: i64,
26582    ),
26583>;
26584pub type AMediaDrmKeysChangeListener = ::std::option::Option<
26585    unsafe extern "C" fn(
26586        arg1: *mut AMediaDrm,
26587        sessionId: *const AMediaDrmSessionId,
26588        keyStatus: *const AMediaDrmKeyStatus,
26589        numKeys: usize,
26590        hasNewUsableKey: bool,
26591    ),
26592>;
26593extern "C" {
26594    pub fn AMediaDrm_isCryptoSchemeSupported(
26595        uuid: *const u8,
26596        mimeType: *const ::std::os::raw::c_char,
26597    ) -> bool;
26598}
26599extern "C" {
26600    pub fn AMediaDrm_createByUUID(uuid: *const u8) -> *mut AMediaDrm;
26601}
26602extern "C" {
26603    pub fn AMediaDrm_release(arg1: *mut AMediaDrm);
26604}
26605extern "C" {
26606    pub fn AMediaDrm_setOnEventListener(
26607        arg1: *mut AMediaDrm,
26608        listener: AMediaDrmEventListener,
26609    ) -> media_status_t;
26610}
26611extern "C" {
26612    pub fn AMediaDrm_setOnExpirationUpdateListener(
26613        arg1: *mut AMediaDrm,
26614        listener: AMediaDrmExpirationUpdateListener,
26615    ) -> media_status_t;
26616}
26617extern "C" {
26618    pub fn AMediaDrm_setOnKeysChangeListener(
26619        arg1: *mut AMediaDrm,
26620        listener: AMediaDrmKeysChangeListener,
26621    ) -> media_status_t;
26622}
26623extern "C" {
26624    pub fn AMediaDrm_openSession(
26625        arg1: *mut AMediaDrm,
26626        sessionId: *mut AMediaDrmSessionId,
26627    ) -> media_status_t;
26628}
26629extern "C" {
26630    pub fn AMediaDrm_closeSession(
26631        arg1: *mut AMediaDrm,
26632        sessionId: *const AMediaDrmSessionId,
26633    ) -> media_status_t;
26634}
26635extern "C" {
26636    pub fn AMediaDrm_getKeyRequest(
26637        arg1: *mut AMediaDrm,
26638        scope: *const AMediaDrmScope,
26639        init: *const u8,
26640        initSize: usize,
26641        mimeType: *const ::std::os::raw::c_char,
26642        keyType: AMediaDrmKeyType,
26643        optionalParameters: *const AMediaDrmKeyValue,
26644        numOptionalParameters: usize,
26645        keyRequest: *mut *const u8,
26646        keyRequestSize: *mut usize,
26647    ) -> media_status_t;
26648}
26649extern "C" {
26650    pub fn AMediaDrm_getKeyRequestWithDefaultUrlAndType(
26651        arg1: *mut AMediaDrm,
26652        scope: *const AMediaDrmScope,
26653        init: *const u8,
26654        initSize: usize,
26655        mimeType: *const ::std::os::raw::c_char,
26656        keyType: AMediaDrmKeyType,
26657        optionalParameters: *const AMediaDrmKeyValue,
26658        numOptionalParameters: usize,
26659        keyRequest: *mut *const u8,
26660        keyRequestSize: *mut usize,
26661        defaultUrl: *mut *const ::std::os::raw::c_char,
26662        keyRequestType: *mut AMediaDrmKeyRequestType,
26663    ) -> media_status_t;
26664}
26665extern "C" {
26666    pub fn AMediaDrm_provideKeyResponse(
26667        arg1: *mut AMediaDrm,
26668        scope: *const AMediaDrmScope,
26669        response: *const u8,
26670        responseSize: usize,
26671        keySetId: *mut AMediaDrmKeySetId,
26672    ) -> media_status_t;
26673}
26674extern "C" {
26675    pub fn AMediaDrm_restoreKeys(
26676        arg1: *mut AMediaDrm,
26677        sessionId: *const AMediaDrmSessionId,
26678        keySetId: *const AMediaDrmKeySetId,
26679    ) -> media_status_t;
26680}
26681extern "C" {
26682    pub fn AMediaDrm_removeKeys(
26683        arg1: *mut AMediaDrm,
26684        keySetId: *const AMediaDrmSessionId,
26685    ) -> media_status_t;
26686}
26687extern "C" {
26688    pub fn AMediaDrm_queryKeyStatus(
26689        arg1: *mut AMediaDrm,
26690        sessionId: *const AMediaDrmSessionId,
26691        keyValuePairs: *mut AMediaDrmKeyValue,
26692        numPairs: *mut usize,
26693    ) -> media_status_t;
26694}
26695extern "C" {
26696    pub fn AMediaDrm_getProvisionRequest(
26697        arg1: *mut AMediaDrm,
26698        provisionRequest: *mut *const u8,
26699        provisionRequestSize: *mut usize,
26700        serverUrl: *mut *const ::std::os::raw::c_char,
26701    ) -> media_status_t;
26702}
26703extern "C" {
26704    pub fn AMediaDrm_provideProvisionResponse(
26705        arg1: *mut AMediaDrm,
26706        response: *const u8,
26707        responseSize: usize,
26708    ) -> media_status_t;
26709}
26710extern "C" {
26711    pub fn AMediaDrm_getSecureStops(
26712        arg1: *mut AMediaDrm,
26713        secureStops: *mut AMediaDrmSecureStop,
26714        numSecureStops: *mut usize,
26715    ) -> media_status_t;
26716}
26717extern "C" {
26718    pub fn AMediaDrm_releaseSecureStops(
26719        arg1: *mut AMediaDrm,
26720        ssRelease: *const AMediaDrmSecureStop,
26721    ) -> media_status_t;
26722}
26723extern "C" {
26724    pub fn AMediaDrm_getPropertyString(
26725        arg1: *mut AMediaDrm,
26726        propertyName: *const ::std::os::raw::c_char,
26727        propertyValue: *mut *const ::std::os::raw::c_char,
26728    ) -> media_status_t;
26729}
26730extern "C" {
26731    pub fn AMediaDrm_getPropertyByteArray(
26732        arg1: *mut AMediaDrm,
26733        propertyName: *const ::std::os::raw::c_char,
26734        propertyValue: *mut AMediaDrmByteArray,
26735    ) -> media_status_t;
26736}
26737extern "C" {
26738    pub fn AMediaDrm_setPropertyString(
26739        arg1: *mut AMediaDrm,
26740        propertyName: *const ::std::os::raw::c_char,
26741        value: *const ::std::os::raw::c_char,
26742    ) -> media_status_t;
26743}
26744extern "C" {
26745    pub fn AMediaDrm_setPropertyByteArray(
26746        arg1: *mut AMediaDrm,
26747        propertyName: *const ::std::os::raw::c_char,
26748        value: *const u8,
26749        valueSize: usize,
26750    ) -> media_status_t;
26751}
26752extern "C" {
26753    pub fn AMediaDrm_encrypt(
26754        arg1: *mut AMediaDrm,
26755        sessionId: *const AMediaDrmSessionId,
26756        cipherAlgorithm: *const ::std::os::raw::c_char,
26757        keyId: *mut u8,
26758        iv: *mut u8,
26759        input: *const u8,
26760        output: *mut u8,
26761        dataSize: usize,
26762    ) -> media_status_t;
26763}
26764extern "C" {
26765    pub fn AMediaDrm_decrypt(
26766        arg1: *mut AMediaDrm,
26767        sessionId: *const AMediaDrmSessionId,
26768        cipherAlgorithm: *const ::std::os::raw::c_char,
26769        keyId: *mut u8,
26770        iv: *mut u8,
26771        input: *const u8,
26772        output: *mut u8,
26773        dataSize: usize,
26774    ) -> media_status_t;
26775}
26776extern "C" {
26777    pub fn AMediaDrm_sign(
26778        arg1: *mut AMediaDrm,
26779        sessionId: *const AMediaDrmSessionId,
26780        macAlgorithm: *const ::std::os::raw::c_char,
26781        keyId: *mut u8,
26782        message: *mut u8,
26783        messageSize: usize,
26784        signature: *mut u8,
26785        signatureSize: *mut usize,
26786    ) -> media_status_t;
26787}
26788extern "C" {
26789    pub fn AMediaDrm_verify(
26790        arg1: *mut AMediaDrm,
26791        sessionId: *const AMediaDrmSessionId,
26792        macAlgorithm: *const ::std::os::raw::c_char,
26793        keyId: *mut u8,
26794        message: *const u8,
26795        messageSize: usize,
26796        signature: *const u8,
26797        signatureSize: usize,
26798    ) -> media_status_t;
26799}
26800#[repr(C)]
26801#[derive(Debug, Copy, Clone)]
26802pub struct AMediaExtractor {
26803    _unused: [u8; 0],
26804}
26805extern "C" {
26806    pub fn AMediaExtractor_new() -> *mut AMediaExtractor;
26807}
26808extern "C" {
26809    pub fn AMediaExtractor_delete(arg1: *mut AMediaExtractor) -> media_status_t;
26810}
26811extern "C" {
26812    pub fn AMediaExtractor_setDataSourceFd(
26813        arg1: *mut AMediaExtractor,
26814        fd: ::std::os::raw::c_int,
26815        offset: off64_t,
26816        length: off64_t,
26817    ) -> media_status_t;
26818}
26819extern "C" {
26820    pub fn AMediaExtractor_setDataSource(
26821        arg1: *mut AMediaExtractor,
26822        location: *const ::std::os::raw::c_char,
26823    ) -> media_status_t;
26824}
26825extern "C" {
26826    pub fn AMediaExtractor_setDataSourceCustom(
26827        arg1: *mut AMediaExtractor,
26828        src: *mut AMediaDataSource,
26829    ) -> media_status_t;
26830}
26831extern "C" {
26832    pub fn AMediaExtractor_getTrackCount(arg1: *mut AMediaExtractor) -> usize;
26833}
26834extern "C" {
26835    pub fn AMediaExtractor_getTrackFormat(
26836        arg1: *mut AMediaExtractor,
26837        idx: usize,
26838    ) -> *mut AMediaFormat;
26839}
26840extern "C" {
26841    pub fn AMediaExtractor_selectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
26842}
26843extern "C" {
26844    pub fn AMediaExtractor_unselectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
26845}
26846extern "C" {
26847    pub fn AMediaExtractor_readSampleData(
26848        arg1: *mut AMediaExtractor,
26849        buffer: *mut u8,
26850        capacity: usize,
26851    ) -> isize;
26852}
26853extern "C" {
26854    pub fn AMediaExtractor_getSampleFlags(arg1: *mut AMediaExtractor) -> u32;
26855}
26856extern "C" {
26857    pub fn AMediaExtractor_getSampleTrackIndex(arg1: *mut AMediaExtractor)
26858        -> ::std::os::raw::c_int;
26859}
26860extern "C" {
26861    pub fn AMediaExtractor_getSampleTime(arg1: *mut AMediaExtractor) -> i64;
26862}
26863extern "C" {
26864    pub fn AMediaExtractor_advance(arg1: *mut AMediaExtractor) -> bool;
26865}
26866impl SeekMode {
26867    pub const AMEDIAEXTRACTOR_SEEK_PREVIOUS_SYNC: SeekMode = SeekMode(0);
26868}
26869impl SeekMode {
26870    pub const AMEDIAEXTRACTOR_SEEK_NEXT_SYNC: SeekMode = SeekMode(1);
26871}
26872impl SeekMode {
26873    pub const AMEDIAEXTRACTOR_SEEK_CLOSEST_SYNC: SeekMode = SeekMode(2);
26874}
26875#[repr(transparent)]
26876#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26877pub struct SeekMode(pub ::std::os::raw::c_uint);
26878extern "C" {
26879    pub fn AMediaExtractor_seekTo(
26880        arg1: *mut AMediaExtractor,
26881        seekPosUs: i64,
26882        mode: SeekMode,
26883    ) -> media_status_t;
26884}
26885#[repr(C)]
26886#[derive(Debug, Copy, Clone)]
26887pub struct PsshEntry {
26888    pub uuid: AMediaUUID,
26889    pub datalen: usize,
26890    pub data: *mut ::std::os::raw::c_void,
26891}
26892#[test]
26893fn bindgen_test_layout_PsshEntry() {
26894    const UNINIT: ::std::mem::MaybeUninit<PsshEntry> = ::std::mem::MaybeUninit::uninit();
26895    let ptr = UNINIT.as_ptr();
26896    assert_eq!(
26897        ::std::mem::size_of::<PsshEntry>(),
26898        32usize,
26899        concat!("Size of: ", stringify!(PsshEntry))
26900    );
26901    assert_eq!(
26902        ::std::mem::align_of::<PsshEntry>(),
26903        8usize,
26904        concat!("Alignment of ", stringify!(PsshEntry))
26905    );
26906    assert_eq!(
26907        unsafe { ::std::ptr::addr_of!((*ptr).uuid) as usize - ptr as usize },
26908        0usize,
26909        concat!(
26910            "Offset of field: ",
26911            stringify!(PsshEntry),
26912            "::",
26913            stringify!(uuid)
26914        )
26915    );
26916    assert_eq!(
26917        unsafe { ::std::ptr::addr_of!((*ptr).datalen) as usize - ptr as usize },
26918        16usize,
26919        concat!(
26920            "Offset of field: ",
26921            stringify!(PsshEntry),
26922            "::",
26923            stringify!(datalen)
26924        )
26925    );
26926    assert_eq!(
26927        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26928        24usize,
26929        concat!(
26930            "Offset of field: ",
26931            stringify!(PsshEntry),
26932            "::",
26933            stringify!(data)
26934        )
26935    );
26936}
26937#[repr(C)]
26938#[derive(Debug)]
26939pub struct PsshInfo {
26940    pub numentries: usize,
26941    pub entries: __IncompleteArrayField<PsshEntry>,
26942}
26943#[test]
26944fn bindgen_test_layout_PsshInfo() {
26945    const UNINIT: ::std::mem::MaybeUninit<PsshInfo> = ::std::mem::MaybeUninit::uninit();
26946    let ptr = UNINIT.as_ptr();
26947    assert_eq!(
26948        ::std::mem::size_of::<PsshInfo>(),
26949        8usize,
26950        concat!("Size of: ", stringify!(PsshInfo))
26951    );
26952    assert_eq!(
26953        ::std::mem::align_of::<PsshInfo>(),
26954        8usize,
26955        concat!("Alignment of ", stringify!(PsshInfo))
26956    );
26957    assert_eq!(
26958        unsafe { ::std::ptr::addr_of!((*ptr).numentries) as usize - ptr as usize },
26959        0usize,
26960        concat!(
26961            "Offset of field: ",
26962            stringify!(PsshInfo),
26963            "::",
26964            stringify!(numentries)
26965        )
26966    );
26967    assert_eq!(
26968        unsafe { ::std::ptr::addr_of!((*ptr).entries) as usize - ptr as usize },
26969        8usize,
26970        concat!(
26971            "Offset of field: ",
26972            stringify!(PsshInfo),
26973            "::",
26974            stringify!(entries)
26975        )
26976    );
26977}
26978extern "C" {
26979    pub fn AMediaExtractor_getPsshInfo(arg1: *mut AMediaExtractor) -> *mut PsshInfo;
26980}
26981extern "C" {
26982    pub fn AMediaExtractor_getSampleCryptoInfo(
26983        arg1: *mut AMediaExtractor,
26984    ) -> *mut AMediaCodecCryptoInfo;
26985}
26986pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_SYNC: _bindgen_ty_71 = 1;
26987pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_ENCRYPTED: _bindgen_ty_71 = 2;
26988pub type _bindgen_ty_71 = ::std::os::raw::c_uint;
26989extern "C" {
26990    pub fn AMediaExtractor_getFileFormat(arg1: *mut AMediaExtractor) -> *mut AMediaFormat;
26991}
26992extern "C" {
26993    pub fn AMediaExtractor_getSampleSize(arg1: *mut AMediaExtractor) -> isize;
26994}
26995extern "C" {
26996    pub fn AMediaExtractor_getCachedDuration(arg1: *mut AMediaExtractor) -> i64;
26997}
26998extern "C" {
26999    pub fn AMediaExtractor_getSampleFormat(
27000        ex: *mut AMediaExtractor,
27001        fmt: *mut AMediaFormat,
27002    ) -> media_status_t;
27003}
27004#[repr(C)]
27005#[derive(Debug, Copy, Clone)]
27006pub struct AMediaMuxer {
27007    _unused: [u8; 0],
27008}
27009impl OutputFormat {
27010    pub const AMEDIAMUXER_OUTPUT_FORMAT_MPEG_4: OutputFormat = OutputFormat(0);
27011}
27012impl OutputFormat {
27013    pub const AMEDIAMUXER_OUTPUT_FORMAT_WEBM: OutputFormat = OutputFormat(1);
27014}
27015impl OutputFormat {
27016    pub const AMEDIAMUXER_OUTPUT_FORMAT_THREE_GPP: OutputFormat = OutputFormat(2);
27017}
27018impl OutputFormat {
27019    pub const AMEDIAMUXER_OUTPUT_FORMAT_HEIF: OutputFormat = OutputFormat(3);
27020}
27021impl OutputFormat {
27022    pub const AMEDIAMUXER_OUTPUT_FORMAT_OGG: OutputFormat = OutputFormat(4);
27023}
27024#[repr(transparent)]
27025#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
27026pub struct OutputFormat(pub ::std::os::raw::c_uint);
27027impl AppendMode {
27028    pub const AMEDIAMUXER_APPEND_IGNORE_LAST_VIDEO_GOP: AppendMode = AppendMode(0);
27029}
27030impl AppendMode {
27031    pub const AMEDIAMUXER_APPEND_TO_EXISTING_DATA: AppendMode = AppendMode(1);
27032}
27033#[repr(transparent)]
27034#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
27035pub struct AppendMode(pub ::std::os::raw::c_uint);
27036extern "C" {
27037    pub fn AMediaMuxer_new(fd: ::std::os::raw::c_int, format: OutputFormat) -> *mut AMediaMuxer;
27038}
27039extern "C" {
27040    pub fn AMediaMuxer_delete(arg1: *mut AMediaMuxer) -> media_status_t;
27041}
27042extern "C" {
27043    pub fn AMediaMuxer_setLocation(
27044        arg1: *mut AMediaMuxer,
27045        latitude: f32,
27046        longitude: f32,
27047    ) -> media_status_t;
27048}
27049extern "C" {
27050    pub fn AMediaMuxer_setOrientationHint(
27051        arg1: *mut AMediaMuxer,
27052        degrees: ::std::os::raw::c_int,
27053    ) -> media_status_t;
27054}
27055extern "C" {
27056    pub fn AMediaMuxer_addTrack(arg1: *mut AMediaMuxer, format: *const AMediaFormat) -> isize;
27057}
27058extern "C" {
27059    pub fn AMediaMuxer_start(arg1: *mut AMediaMuxer) -> media_status_t;
27060}
27061extern "C" {
27062    pub fn AMediaMuxer_stop(arg1: *mut AMediaMuxer) -> media_status_t;
27063}
27064extern "C" {
27065    pub fn AMediaMuxer_writeSampleData(
27066        muxer: *mut AMediaMuxer,
27067        trackIdx: usize,
27068        data: *const u8,
27069        info: *const AMediaCodecBufferInfo,
27070    ) -> media_status_t;
27071}
27072extern "C" {
27073    pub fn AMediaMuxer_append(fd: ::std::os::raw::c_int, mode: AppendMode) -> *mut AMediaMuxer;
27074}
27075extern "C" {
27076    pub fn AMediaMuxer_getTrackCount(arg1: *mut AMediaMuxer) -> isize;
27077}
27078extern "C" {
27079    pub fn AMediaMuxer_getTrackFormat(muxer: *mut AMediaMuxer, idx: usize) -> *mut AMediaFormat;
27080}
27081pub type __builtin_va_list = [__va_list_tag; 1usize];
27082#[repr(C)]
27083#[derive(Debug, Copy, Clone)]
27084pub struct __va_list_tag {
27085    pub gp_offset: ::std::os::raw::c_uint,
27086    pub fp_offset: ::std::os::raw::c_uint,
27087    pub overflow_arg_area: *mut ::std::os::raw::c_void,
27088    pub reg_save_area: *mut ::std::os::raw::c_void,
27089}
27090#[test]
27091fn bindgen_test_layout___va_list_tag() {
27092    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
27093    let ptr = UNINIT.as_ptr();
27094    assert_eq!(
27095        ::std::mem::size_of::<__va_list_tag>(),
27096        24usize,
27097        concat!("Size of: ", stringify!(__va_list_tag))
27098    );
27099    assert_eq!(
27100        ::std::mem::align_of::<__va_list_tag>(),
27101        8usize,
27102        concat!("Alignment of ", stringify!(__va_list_tag))
27103    );
27104    assert_eq!(
27105        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
27106        0usize,
27107        concat!(
27108            "Offset of field: ",
27109            stringify!(__va_list_tag),
27110            "::",
27111            stringify!(gp_offset)
27112        )
27113    );
27114    assert_eq!(
27115        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
27116        4usize,
27117        concat!(
27118            "Offset of field: ",
27119            stringify!(__va_list_tag),
27120            "::",
27121            stringify!(fp_offset)
27122        )
27123    );
27124    assert_eq!(
27125        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
27126        8usize,
27127        concat!(
27128            "Offset of field: ",
27129            stringify!(__va_list_tag),
27130            "::",
27131            stringify!(overflow_arg_area)
27132        )
27133    );
27134    assert_eq!(
27135        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
27136        16usize,
27137        concat!(
27138            "Offset of field: ",
27139            stringify!(__va_list_tag),
27140            "::",
27141            stringify!(reg_save_area)
27142        )
27143    );
27144}