rlua_lua51_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.66.1 */
2
3pub const __GNUC_VA_LIST: u32 = 1;
4pub const _LIBC_LIMITS_H_: u32 = 1;
5pub const _FEATURES_H: u32 = 1;
6pub const _DEFAULT_SOURCE: u32 = 1;
7pub const __GLIBC_USE_ISOC2X: u32 = 0;
8pub const __USE_ISOC11: u32 = 1;
9pub const __USE_ISOC99: u32 = 1;
10pub const __USE_ISOC95: u32 = 1;
11pub const __USE_POSIX_IMPLICITLY: u32 = 1;
12pub const _POSIX_SOURCE: u32 = 1;
13pub const _POSIX_C_SOURCE: u32 = 200809;
14pub const __USE_POSIX: u32 = 1;
15pub const __USE_POSIX2: u32 = 1;
16pub const __USE_POSIX199309: u32 = 1;
17pub const __USE_POSIX199506: u32 = 1;
18pub const __USE_XOPEN2K: u32 = 1;
19pub const __USE_XOPEN2K8: u32 = 1;
20pub const _ATFILE_SOURCE: u32 = 1;
21pub const __USE_MISC: u32 = 1;
22pub const __USE_ATFILE: u32 = 1;
23pub const __USE_FORTIFY_LEVEL: u32 = 0;
24pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
25pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
26pub const _STDC_PREDEF_H: u32 = 1;
27pub const __STDC_IEC_559__: u32 = 1;
28pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
29pub const __STDC_ISO_10646__: u32 = 201706;
30pub const __GNU_LIBRARY__: u32 = 6;
31pub const __GLIBC__: u32 = 2;
32pub const __GLIBC_MINOR__: u32 = 31;
33pub const _SYS_CDEFS_H: u32 = 1;
34pub const __glibc_c99_flexarr_available: u32 = 1;
35pub const __WORDSIZE: u32 = 64;
36pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
37pub const __SYSCALL_WORDSIZE: u32 = 64;
38pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0;
39pub const __HAVE_GENERIC_SELECTION: u32 = 1;
40pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
41pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
42pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
43pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
45pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
46pub const MB_LEN_MAX: u32 = 16;
47pub const _BITS_POSIX1_LIM_H: u32 = 1;
48pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
49pub const _POSIX_AIO_MAX: u32 = 1;
50pub const _POSIX_ARG_MAX: u32 = 4096;
51pub const _POSIX_CHILD_MAX: u32 = 25;
52pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
53pub const _POSIX_HOST_NAME_MAX: u32 = 255;
54pub const _POSIX_LINK_MAX: u32 = 8;
55pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
56pub const _POSIX_MAX_CANON: u32 = 255;
57pub const _POSIX_MAX_INPUT: u32 = 255;
58pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
59pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
60pub const _POSIX_NAME_MAX: u32 = 14;
61pub const _POSIX_NGROUPS_MAX: u32 = 8;
62pub const _POSIX_OPEN_MAX: u32 = 20;
63pub const _POSIX_PATH_MAX: u32 = 256;
64pub const _POSIX_PIPE_BUF: u32 = 512;
65pub const _POSIX_RE_DUP_MAX: u32 = 255;
66pub const _POSIX_RTSIG_MAX: u32 = 8;
67pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
68pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
69pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
70pub const _POSIX_SSIZE_MAX: u32 = 32767;
71pub const _POSIX_STREAM_MAX: u32 = 8;
72pub const _POSIX_SYMLINK_MAX: u32 = 255;
73pub const _POSIX_SYMLOOP_MAX: u32 = 8;
74pub const _POSIX_TIMER_MAX: u32 = 32;
75pub const _POSIX_TTY_NAME_MAX: u32 = 9;
76pub const _POSIX_TZNAME_MAX: u32 = 6;
77pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
78pub const NR_OPEN: u32 = 1024;
79pub const NGROUPS_MAX: u32 = 65536;
80pub const ARG_MAX: u32 = 131072;
81pub const LINK_MAX: u32 = 127;
82pub const MAX_CANON: u32 = 255;
83pub const MAX_INPUT: u32 = 255;
84pub const NAME_MAX: u32 = 255;
85pub const PATH_MAX: u32 = 4096;
86pub const PIPE_BUF: u32 = 4096;
87pub const XATTR_NAME_MAX: u32 = 255;
88pub const XATTR_SIZE_MAX: u32 = 65536;
89pub const XATTR_LIST_MAX: u32 = 65536;
90pub const RTSIG_MAX: u32 = 32;
91pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
92pub const PTHREAD_KEYS_MAX: u32 = 1024;
93pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
94pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
95pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
96pub const AIO_PRIO_DELTA_MAX: u32 = 20;
97pub const PTHREAD_STACK_MIN: u32 = 16384;
98pub const DELAYTIMER_MAX: u32 = 2147483647;
99pub const TTY_NAME_MAX: u32 = 32;
100pub const LOGIN_NAME_MAX: u32 = 256;
101pub const HOST_NAME_MAX: u32 = 64;
102pub const MQ_PRIO_MAX: u32 = 32768;
103pub const SEM_VALUE_MAX: u32 = 2147483647;
104pub const _BITS_POSIX2_LIM_H: u32 = 1;
105pub const _POSIX2_BC_BASE_MAX: u32 = 99;
106pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
107pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
108pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
109pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
110pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
111pub const _POSIX2_LINE_MAX: u32 = 2048;
112pub const _POSIX2_RE_DUP_MAX: u32 = 255;
113pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
114pub const BC_BASE_MAX: u32 = 99;
115pub const BC_DIM_MAX: u32 = 2048;
116pub const BC_SCALE_MAX: u32 = 99;
117pub const BC_STRING_MAX: u32 = 1000;
118pub const COLL_WEIGHTS_MAX: u32 = 255;
119pub const EXPR_NEST_MAX: u32 = 32;
120pub const LINE_MAX: u32 = 2048;
121pub const CHARCLASS_NAME_MAX: u32 = 2048;
122pub const RE_DUP_MAX: u32 = 32767;
123pub const LUA_PATH: &[u8; 9] = b"LUA_PATH\0";
124pub const LUA_CPATH: &[u8; 10] = b"LUA_CPATH\0";
125pub const LUA_INIT: &[u8; 9] = b"LUA_INIT\0";
126pub const LUA_ROOT: &[u8; 12] = b"/usr/local/\0";
127pub const LUA_LDIR: &[u8; 26] = b"/usr/local/share/lua/5.1/\0";
128pub const LUA_CDIR: &[u8; 24] = b"/usr/local/lib/lua/5.1/\0";
129pub const LUA_PATH_DEFAULT : & [u8 ; 138] = b"./?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/lib/lua/5.1/?.lua;/usr/local/lib/lua/5.1/?/init.lua\0" ;
130pub const LUA_CPATH_DEFAULT: &[u8; 69] =
131    b"./?.so;/usr/local/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so\0";
132pub const LUA_DIRSEP: &[u8; 2] = b"/\0";
133pub const LUA_PATHSEP: &[u8; 2] = b";\0";
134pub const LUA_PATH_MARK: &[u8; 2] = b"?\0";
135pub const LUA_EXECDIR: &[u8; 2] = b"!\0";
136pub const LUA_IGMARK: &[u8; 2] = b"-\0";
137pub const LUA_IDSIZE: u32 = 60;
138pub const LUAI_GCPAUSE: u32 = 200;
139pub const LUAI_GCMUL: u32 = 200;
140pub const LUA_COMPAT_LSTR: u32 = 1;
141pub const LUAI_BITSINT: u32 = 32;
142pub const LUAI_MAXCALLS: u32 = 20000;
143pub const LUAI_MAXCSTACK: u32 = 8000;
144pub const LUAI_MAXCCALLS: u32 = 200;
145pub const LUAI_MAXVARS: u32 = 200;
146pub const LUAI_MAXUPVALUES: u32 = 60;
147pub const LUA_NUMBER_SCAN: &[u8; 4] = b"%lf\0";
148pub const LUA_NUMBER_FMT: &[u8; 6] = b"%.14g\0";
149pub const LUAI_MAXNUMBER2STR: u32 = 32;
150pub const LUA_MAXCAPTURES: u32 = 32;
151pub const LUAI_EXTRASPACE: u32 = 0;
152pub const LUA_INTFRMLEN: &[u8; 2] = b"l\0";
153pub const LUA_VERSION: &[u8; 8] = b"Lua 5.1\0";
154pub const LUA_RELEASE: &[u8; 10] = b"Lua 5.1.5\0";
155pub const LUA_VERSION_NUM: u32 = 501;
156pub const LUA_COPYRIGHT: &[u8; 41] = b"Copyright (C) 1994-2012 Lua.org, PUC-Rio\0";
157pub const LUA_AUTHORS: &[u8; 49] = b"R. Ierusalimschy, L. H. de Figueiredo & W. Celes\0";
158pub const LUA_SIGNATURE: &[u8; 5] = b"\x1BLua\0";
159pub const LUA_MULTRET: i32 = -1;
160pub const LUA_REGISTRYINDEX: i32 = -10000;
161pub const LUA_ENVIRONINDEX: i32 = -10001;
162pub const LUA_GLOBALSINDEX: i32 = -10002;
163pub const LUA_YIELD: u32 = 1;
164pub const LUA_ERRRUN: u32 = 2;
165pub const LUA_ERRSYNTAX: u32 = 3;
166pub const LUA_ERRMEM: u32 = 4;
167pub const LUA_ERRERR: u32 = 5;
168pub const LUA_TNONE: i32 = -1;
169pub const LUA_TNIL: u32 = 0;
170pub const LUA_TBOOLEAN: u32 = 1;
171pub const LUA_TLIGHTUSERDATA: u32 = 2;
172pub const LUA_TNUMBER: u32 = 3;
173pub const LUA_TSTRING: u32 = 4;
174pub const LUA_TTABLE: u32 = 5;
175pub const LUA_TFUNCTION: u32 = 6;
176pub const LUA_TUSERDATA: u32 = 7;
177pub const LUA_TTHREAD: u32 = 8;
178pub const LUA_MINSTACK: u32 = 20;
179pub const LUA_GCSTOP: u32 = 0;
180pub const LUA_GCRESTART: u32 = 1;
181pub const LUA_GCCOLLECT: u32 = 2;
182pub const LUA_GCCOUNT: u32 = 3;
183pub const LUA_GCCOUNTB: u32 = 4;
184pub const LUA_GCSTEP: u32 = 5;
185pub const LUA_GCSETPAUSE: u32 = 6;
186pub const LUA_GCSETSTEPMUL: u32 = 7;
187pub const LUA_HOOKCALL: u32 = 0;
188pub const LUA_HOOKRET: u32 = 1;
189pub const LUA_HOOKLINE: u32 = 2;
190pub const LUA_HOOKCOUNT: u32 = 3;
191pub const LUA_HOOKTAILRET: u32 = 4;
192pub const LUA_MASKCALL: u32 = 1;
193pub const LUA_MASKRET: u32 = 2;
194pub const LUA_MASKLINE: u32 = 4;
195pub const LUA_MASKCOUNT: u32 = 8;
196pub const LUA_FILEHANDLE: &[u8; 6] = b"FILE*\0";
197pub const LUA_COLIBNAME: &[u8; 10] = b"coroutine\0";
198pub const LUA_TABLIBNAME: &[u8; 6] = b"table\0";
199pub const LUA_IOLIBNAME: &[u8; 3] = b"io\0";
200pub const LUA_OSLIBNAME: &[u8; 3] = b"os\0";
201pub const LUA_STRLIBNAME: &[u8; 7] = b"string\0";
202pub const LUA_MATHLIBNAME: &[u8; 5] = b"math\0";
203pub const LUA_DBLIBNAME: &[u8; 6] = b"debug\0";
204pub const LUA_LOADLIBNAME: &[u8; 8] = b"package\0";
205pub const _STDIO_H: u32 = 1;
206pub const _BITS_TYPES_H: u32 = 1;
207pub const __TIMESIZE: u32 = 64;
208pub const _BITS_TYPESIZES_H: u32 = 1;
209pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
210pub const __INO_T_MATCHES_INO64_T: u32 = 1;
211pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
212pub const __STATFS_MATCHES_STATFS64: u32 = 1;
213pub const __FD_SETSIZE: u32 = 1024;
214pub const _BITS_TIME64_H: u32 = 1;
215pub const _____fpos_t_defined: u32 = 1;
216pub const ____mbstate_t_defined: u32 = 1;
217pub const _____fpos64_t_defined: u32 = 1;
218pub const ____FILE_defined: u32 = 1;
219pub const __FILE_defined: u32 = 1;
220pub const __struct_FILE_defined: u32 = 1;
221pub const _IO_EOF_SEEN: u32 = 16;
222pub const _IO_ERR_SEEN: u32 = 32;
223pub const _IO_USER_LOCK: u32 = 32768;
224pub const _IOFBF: u32 = 0;
225pub const _IOLBF: u32 = 1;
226pub const _IONBF: u32 = 2;
227pub const BUFSIZ: u32 = 8192;
228pub const EOF: i32 = -1;
229pub const SEEK_SET: u32 = 0;
230pub const SEEK_CUR: u32 = 1;
231pub const SEEK_END: u32 = 2;
232pub const P_tmpdir: &[u8; 5] = b"/tmp\0";
233pub const _BITS_STDIO_LIM_H: u32 = 1;
234pub const L_tmpnam: u32 = 20;
235pub const TMP_MAX: u32 = 238328;
236pub const FILENAME_MAX: u32 = 4096;
237pub const L_ctermid: u32 = 9;
238pub const FOPEN_MAX: u32 = 16;
239pub const LUA_ERRFILE: u32 = 6;
240pub const LUA_NOREF: i32 = -2;
241pub const LUA_REFNIL: i32 = -1;
242pub type va_list = __builtin_va_list;
243pub type __gnuc_va_list = __builtin_va_list;
244pub type wchar_t = ::std::os::raw::c_int;
245#[repr(C)]
246#[repr(align(16))]
247#[derive(Debug, Copy, Clone)]
248pub struct max_align_t {
249    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
250    pub __bindgen_padding_0: u64,
251    pub __clang_max_align_nonce2: u128,
252}
253#[test]
254fn bindgen_test_layout_max_align_t() {
255    const UNINIT: ::std::mem::MaybeUninit<max_align_t> = ::std::mem::MaybeUninit::uninit();
256    let ptr = UNINIT.as_ptr();
257    assert_eq!(
258        ::std::mem::size_of::<max_align_t>(),
259        32usize,
260        concat!("Size of: ", stringify!(max_align_t))
261    );
262    assert_eq!(
263        ::std::mem::align_of::<max_align_t>(),
264        16usize,
265        concat!("Alignment of ", stringify!(max_align_t))
266    );
267    assert_eq!(
268        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
269        0usize,
270        concat!(
271            "Offset of field: ",
272            stringify!(max_align_t),
273            "::",
274            stringify!(__clang_max_align_nonce1)
275        )
276    );
277    assert_eq!(
278        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
279        16usize,
280        concat!(
281            "Offset of field: ",
282            stringify!(max_align_t),
283            "::",
284            stringify!(__clang_max_align_nonce2)
285        )
286    );
287}
288#[repr(C)]
289#[derive(Debug, Copy, Clone)]
290pub struct lua_State {
291    _unused: [u8; 0],
292}
293pub type lua_CFunction =
294    ::std::option::Option<unsafe extern "C" fn(L: *mut lua_State) -> ::std::os::raw::c_int>;
295pub type lua_Reader = ::std::option::Option<
296    unsafe extern "C" fn(
297        L: *mut lua_State,
298        ud: *mut ::std::os::raw::c_void,
299        sz: *mut usize,
300    ) -> *const ::std::os::raw::c_char,
301>;
302pub type lua_Writer = ::std::option::Option<
303    unsafe extern "C" fn(
304        L: *mut lua_State,
305        p: *const ::std::os::raw::c_void,
306        sz: usize,
307        ud: *mut ::std::os::raw::c_void,
308    ) -> ::std::os::raw::c_int,
309>;
310pub type lua_Alloc = ::std::option::Option<
311    unsafe extern "C" fn(
312        ud: *mut ::std::os::raw::c_void,
313        ptr: *mut ::std::os::raw::c_void,
314        osize: usize,
315        nsize: usize,
316    ) -> *mut ::std::os::raw::c_void,
317>;
318pub type lua_Number = f64;
319pub type lua_Integer = isize;
320extern "C" {
321    pub fn lua_newstate(f: lua_Alloc, ud: *mut ::std::os::raw::c_void) -> *mut lua_State;
322}
323extern "C" {
324    pub fn lua_close(L: *mut lua_State);
325}
326extern "C" {
327    pub fn lua_newthread(L: *mut lua_State) -> *mut lua_State;
328}
329extern "C" {
330    pub fn lua_atpanic(L: *mut lua_State, panicf: lua_CFunction) -> lua_CFunction;
331}
332extern "C" {
333    pub fn lua_gettop(L: *mut lua_State) -> ::std::os::raw::c_int;
334}
335extern "C" {
336    pub fn lua_settop(L: *mut lua_State, idx: ::std::os::raw::c_int);
337}
338extern "C" {
339    pub fn lua_pushvalue(L: *mut lua_State, idx: ::std::os::raw::c_int);
340}
341extern "C" {
342    pub fn lua_remove(L: *mut lua_State, idx: ::std::os::raw::c_int);
343}
344extern "C" {
345    pub fn lua_insert(L: *mut lua_State, idx: ::std::os::raw::c_int);
346}
347extern "C" {
348    pub fn lua_replace(L: *mut lua_State, idx: ::std::os::raw::c_int);
349}
350extern "C" {
351    pub fn lua_checkstack(L: *mut lua_State, sz: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
352}
353extern "C" {
354    pub fn lua_xmove(from: *mut lua_State, to: *mut lua_State, n: ::std::os::raw::c_int);
355}
356extern "C" {
357    pub fn lua_isnumber(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
358}
359extern "C" {
360    pub fn lua_isstring(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
361}
362extern "C" {
363    pub fn lua_iscfunction(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
364}
365extern "C" {
366    pub fn lua_isuserdata(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
367}
368extern "C" {
369    pub fn lua_type(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
370}
371extern "C" {
372    pub fn lua_typename(
373        L: *mut lua_State,
374        tp: ::std::os::raw::c_int,
375    ) -> *const ::std::os::raw::c_char;
376}
377extern "C" {
378    pub fn lua_equal(
379        L: *mut lua_State,
380        idx1: ::std::os::raw::c_int,
381        idx2: ::std::os::raw::c_int,
382    ) -> ::std::os::raw::c_int;
383}
384extern "C" {
385    pub fn lua_rawequal(
386        L: *mut lua_State,
387        idx1: ::std::os::raw::c_int,
388        idx2: ::std::os::raw::c_int,
389    ) -> ::std::os::raw::c_int;
390}
391extern "C" {
392    pub fn lua_lessthan(
393        L: *mut lua_State,
394        idx1: ::std::os::raw::c_int,
395        idx2: ::std::os::raw::c_int,
396    ) -> ::std::os::raw::c_int;
397}
398extern "C" {
399    pub fn lua_tonumber(L: *mut lua_State, idx: ::std::os::raw::c_int) -> lua_Number;
400}
401extern "C" {
402    pub fn lua_tointeger(L: *mut lua_State, idx: ::std::os::raw::c_int) -> lua_Integer;
403}
404extern "C" {
405    pub fn lua_toboolean(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
406}
407extern "C" {
408    pub fn lua_tolstring(
409        L: *mut lua_State,
410        idx: ::std::os::raw::c_int,
411        len: *mut usize,
412    ) -> *const ::std::os::raw::c_char;
413}
414extern "C" {
415    pub fn lua_objlen(L: *mut lua_State, idx: ::std::os::raw::c_int) -> usize;
416}
417extern "C" {
418    pub fn lua_tocfunction(L: *mut lua_State, idx: ::std::os::raw::c_int) -> lua_CFunction;
419}
420extern "C" {
421    pub fn lua_touserdata(
422        L: *mut lua_State,
423        idx: ::std::os::raw::c_int,
424    ) -> *mut ::std::os::raw::c_void;
425}
426extern "C" {
427    pub fn lua_tothread(L: *mut lua_State, idx: ::std::os::raw::c_int) -> *mut lua_State;
428}
429extern "C" {
430    pub fn lua_topointer(
431        L: *mut lua_State,
432        idx: ::std::os::raw::c_int,
433    ) -> *const ::std::os::raw::c_void;
434}
435extern "C" {
436    pub fn lua_pushnil(L: *mut lua_State);
437}
438extern "C" {
439    pub fn lua_pushnumber(L: *mut lua_State, n: lua_Number);
440}
441extern "C" {
442    pub fn lua_pushinteger(L: *mut lua_State, n: lua_Integer);
443}
444extern "C" {
445    pub fn lua_pushlstring(L: *mut lua_State, s: *const ::std::os::raw::c_char, l: usize);
446}
447extern "C" {
448    pub fn lua_pushstring(L: *mut lua_State, s: *const ::std::os::raw::c_char);
449}
450extern "C" {
451    pub fn lua_pushvfstring(
452        L: *mut lua_State,
453        fmt: *const ::std::os::raw::c_char,
454        argp: *mut __va_list_tag,
455    ) -> *const ::std::os::raw::c_char;
456}
457extern "C" {
458    pub fn lua_pushfstring(
459        L: *mut lua_State,
460        fmt: *const ::std::os::raw::c_char,
461        ...
462    ) -> *const ::std::os::raw::c_char;
463}
464extern "C" {
465    pub fn lua_pushcclosure(L: *mut lua_State, fn_: lua_CFunction, n: ::std::os::raw::c_int);
466}
467extern "C" {
468    pub fn lua_pushboolean(L: *mut lua_State, b: ::std::os::raw::c_int);
469}
470extern "C" {
471    pub fn lua_pushlightuserdata(L: *mut lua_State, p: *mut ::std::os::raw::c_void);
472}
473extern "C" {
474    pub fn lua_pushthread(L: *mut lua_State) -> ::std::os::raw::c_int;
475}
476extern "C" {
477    pub fn lua_gettable(L: *mut lua_State, idx: ::std::os::raw::c_int);
478}
479extern "C" {
480    pub fn lua_getfield(
481        L: *mut lua_State,
482        idx: ::std::os::raw::c_int,
483        k: *const ::std::os::raw::c_char,
484    );
485}
486extern "C" {
487    pub fn lua_rawget(L: *mut lua_State, idx: ::std::os::raw::c_int);
488}
489extern "C" {
490    pub fn lua_rawgeti(L: *mut lua_State, idx: ::std::os::raw::c_int, n: ::std::os::raw::c_int);
491}
492extern "C" {
493    pub fn lua_createtable(
494        L: *mut lua_State,
495        narr: ::std::os::raw::c_int,
496        nrec: ::std::os::raw::c_int,
497    );
498}
499extern "C" {
500    pub fn lua_newuserdata(L: *mut lua_State, sz: usize) -> *mut ::std::os::raw::c_void;
501}
502extern "C" {
503    pub fn lua_getmetatable(
504        L: *mut lua_State,
505        objindex: ::std::os::raw::c_int,
506    ) -> ::std::os::raw::c_int;
507}
508extern "C" {
509    pub fn lua_getfenv(L: *mut lua_State, idx: ::std::os::raw::c_int);
510}
511extern "C" {
512    pub fn lua_settable(L: *mut lua_State, idx: ::std::os::raw::c_int);
513}
514extern "C" {
515    pub fn lua_setfield(
516        L: *mut lua_State,
517        idx: ::std::os::raw::c_int,
518        k: *const ::std::os::raw::c_char,
519    );
520}
521extern "C" {
522    pub fn lua_rawset(L: *mut lua_State, idx: ::std::os::raw::c_int);
523}
524extern "C" {
525    pub fn lua_rawseti(L: *mut lua_State, idx: ::std::os::raw::c_int, n: ::std::os::raw::c_int);
526}
527extern "C" {
528    pub fn lua_setmetatable(
529        L: *mut lua_State,
530        objindex: ::std::os::raw::c_int,
531    ) -> ::std::os::raw::c_int;
532}
533extern "C" {
534    pub fn lua_setfenv(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
535}
536extern "C" {
537    pub fn lua_call(
538        L: *mut lua_State,
539        nargs: ::std::os::raw::c_int,
540        nresults: ::std::os::raw::c_int,
541    );
542}
543extern "C" {
544    pub fn lua_pcall(
545        L: *mut lua_State,
546        nargs: ::std::os::raw::c_int,
547        nresults: ::std::os::raw::c_int,
548        errfunc: ::std::os::raw::c_int,
549    ) -> ::std::os::raw::c_int;
550}
551extern "C" {
552    pub fn lua_cpcall(
553        L: *mut lua_State,
554        func: lua_CFunction,
555        ud: *mut ::std::os::raw::c_void,
556    ) -> ::std::os::raw::c_int;
557}
558extern "C" {
559    pub fn lua_load(
560        L: *mut lua_State,
561        reader: lua_Reader,
562        dt: *mut ::std::os::raw::c_void,
563        chunkname: *const ::std::os::raw::c_char,
564    ) -> ::std::os::raw::c_int;
565}
566extern "C" {
567    pub fn lua_dump(
568        L: *mut lua_State,
569        writer: lua_Writer,
570        data: *mut ::std::os::raw::c_void,
571    ) -> ::std::os::raw::c_int;
572}
573extern "C" {
574    pub fn lua_yield(L: *mut lua_State, nresults: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
575}
576extern "C" {
577    pub fn lua_resume(L: *mut lua_State, narg: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
578}
579extern "C" {
580    pub fn lua_status(L: *mut lua_State) -> ::std::os::raw::c_int;
581}
582extern "C" {
583    pub fn lua_gc(
584        L: *mut lua_State,
585        what: ::std::os::raw::c_int,
586        data: ::std::os::raw::c_int,
587    ) -> ::std::os::raw::c_int;
588}
589extern "C" {
590    pub fn lua_error(L: *mut lua_State) -> ::std::os::raw::c_int;
591}
592extern "C" {
593    pub fn lua_next(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
594}
595extern "C" {
596    pub fn lua_concat(L: *mut lua_State, n: ::std::os::raw::c_int);
597}
598extern "C" {
599    pub fn lua_getallocf(L: *mut lua_State, ud: *mut *mut ::std::os::raw::c_void) -> lua_Alloc;
600}
601extern "C" {
602    pub fn lua_setallocf(L: *mut lua_State, f: lua_Alloc, ud: *mut ::std::os::raw::c_void);
603}
604extern "C" {
605    pub fn lua_setlevel(from: *mut lua_State, to: *mut lua_State);
606}
607pub type lua_Hook =
608    ::std::option::Option<unsafe extern "C" fn(L: *mut lua_State, ar: *mut lua_Debug)>;
609extern "C" {
610    pub fn lua_getstack(
611        L: *mut lua_State,
612        level: ::std::os::raw::c_int,
613        ar: *mut lua_Debug,
614    ) -> ::std::os::raw::c_int;
615}
616extern "C" {
617    pub fn lua_getinfo(
618        L: *mut lua_State,
619        what: *const ::std::os::raw::c_char,
620        ar: *mut lua_Debug,
621    ) -> ::std::os::raw::c_int;
622}
623extern "C" {
624    pub fn lua_getlocal(
625        L: *mut lua_State,
626        ar: *const lua_Debug,
627        n: ::std::os::raw::c_int,
628    ) -> *const ::std::os::raw::c_char;
629}
630extern "C" {
631    pub fn lua_setlocal(
632        L: *mut lua_State,
633        ar: *const lua_Debug,
634        n: ::std::os::raw::c_int,
635    ) -> *const ::std::os::raw::c_char;
636}
637extern "C" {
638    pub fn lua_getupvalue(
639        L: *mut lua_State,
640        funcindex: ::std::os::raw::c_int,
641        n: ::std::os::raw::c_int,
642    ) -> *const ::std::os::raw::c_char;
643}
644extern "C" {
645    pub fn lua_setupvalue(
646        L: *mut lua_State,
647        funcindex: ::std::os::raw::c_int,
648        n: ::std::os::raw::c_int,
649    ) -> *const ::std::os::raw::c_char;
650}
651extern "C" {
652    pub fn lua_sethook(
653        L: *mut lua_State,
654        func: lua_Hook,
655        mask: ::std::os::raw::c_int,
656        count: ::std::os::raw::c_int,
657    ) -> ::std::os::raw::c_int;
658}
659extern "C" {
660    pub fn lua_gethook(L: *mut lua_State) -> lua_Hook;
661}
662extern "C" {
663    pub fn lua_gethookmask(L: *mut lua_State) -> ::std::os::raw::c_int;
664}
665extern "C" {
666    pub fn lua_gethookcount(L: *mut lua_State) -> ::std::os::raw::c_int;
667}
668#[repr(C)]
669#[derive(Debug, Copy, Clone)]
670pub struct lua_Debug {
671    pub event: ::std::os::raw::c_int,
672    pub name: *const ::std::os::raw::c_char,
673    pub namewhat: *const ::std::os::raw::c_char,
674    pub what: *const ::std::os::raw::c_char,
675    pub source: *const ::std::os::raw::c_char,
676    pub currentline: ::std::os::raw::c_int,
677    pub nups: ::std::os::raw::c_int,
678    pub linedefined: ::std::os::raw::c_int,
679    pub lastlinedefined: ::std::os::raw::c_int,
680    pub short_src: [::std::os::raw::c_char; 60usize],
681    pub i_ci: ::std::os::raw::c_int,
682}
683#[test]
684fn bindgen_test_layout_lua_Debug() {
685    const UNINIT: ::std::mem::MaybeUninit<lua_Debug> = ::std::mem::MaybeUninit::uninit();
686    let ptr = UNINIT.as_ptr();
687    assert_eq!(
688        ::std::mem::size_of::<lua_Debug>(),
689        120usize,
690        concat!("Size of: ", stringify!(lua_Debug))
691    );
692    assert_eq!(
693        ::std::mem::align_of::<lua_Debug>(),
694        8usize,
695        concat!("Alignment of ", stringify!(lua_Debug))
696    );
697    assert_eq!(
698        unsafe { ::std::ptr::addr_of!((*ptr).event) as usize - ptr as usize },
699        0usize,
700        concat!(
701            "Offset of field: ",
702            stringify!(lua_Debug),
703            "::",
704            stringify!(event)
705        )
706    );
707    assert_eq!(
708        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
709        8usize,
710        concat!(
711            "Offset of field: ",
712            stringify!(lua_Debug),
713            "::",
714            stringify!(name)
715        )
716    );
717    assert_eq!(
718        unsafe { ::std::ptr::addr_of!((*ptr).namewhat) as usize - ptr as usize },
719        16usize,
720        concat!(
721            "Offset of field: ",
722            stringify!(lua_Debug),
723            "::",
724            stringify!(namewhat)
725        )
726    );
727    assert_eq!(
728        unsafe { ::std::ptr::addr_of!((*ptr).what) as usize - ptr as usize },
729        24usize,
730        concat!(
731            "Offset of field: ",
732            stringify!(lua_Debug),
733            "::",
734            stringify!(what)
735        )
736    );
737    assert_eq!(
738        unsafe { ::std::ptr::addr_of!((*ptr).source) as usize - ptr as usize },
739        32usize,
740        concat!(
741            "Offset of field: ",
742            stringify!(lua_Debug),
743            "::",
744            stringify!(source)
745        )
746    );
747    assert_eq!(
748        unsafe { ::std::ptr::addr_of!((*ptr).currentline) as usize - ptr as usize },
749        40usize,
750        concat!(
751            "Offset of field: ",
752            stringify!(lua_Debug),
753            "::",
754            stringify!(currentline)
755        )
756    );
757    assert_eq!(
758        unsafe { ::std::ptr::addr_of!((*ptr).nups) as usize - ptr as usize },
759        44usize,
760        concat!(
761            "Offset of field: ",
762            stringify!(lua_Debug),
763            "::",
764            stringify!(nups)
765        )
766    );
767    assert_eq!(
768        unsafe { ::std::ptr::addr_of!((*ptr).linedefined) as usize - ptr as usize },
769        48usize,
770        concat!(
771            "Offset of field: ",
772            stringify!(lua_Debug),
773            "::",
774            stringify!(linedefined)
775        )
776    );
777    assert_eq!(
778        unsafe { ::std::ptr::addr_of!((*ptr).lastlinedefined) as usize - ptr as usize },
779        52usize,
780        concat!(
781            "Offset of field: ",
782            stringify!(lua_Debug),
783            "::",
784            stringify!(lastlinedefined)
785        )
786    );
787    assert_eq!(
788        unsafe { ::std::ptr::addr_of!((*ptr).short_src) as usize - ptr as usize },
789        56usize,
790        concat!(
791            "Offset of field: ",
792            stringify!(lua_Debug),
793            "::",
794            stringify!(short_src)
795        )
796    );
797    assert_eq!(
798        unsafe { ::std::ptr::addr_of!((*ptr).i_ci) as usize - ptr as usize },
799        116usize,
800        concat!(
801            "Offset of field: ",
802            stringify!(lua_Debug),
803            "::",
804            stringify!(i_ci)
805        )
806    );
807}
808extern "C" {
809    pub fn luaopen_base(L: *mut lua_State) -> ::std::os::raw::c_int;
810}
811extern "C" {
812    pub fn luaopen_table(L: *mut lua_State) -> ::std::os::raw::c_int;
813}
814extern "C" {
815    pub fn luaopen_io(L: *mut lua_State) -> ::std::os::raw::c_int;
816}
817extern "C" {
818    pub fn luaopen_os(L: *mut lua_State) -> ::std::os::raw::c_int;
819}
820extern "C" {
821    pub fn luaopen_string(L: *mut lua_State) -> ::std::os::raw::c_int;
822}
823extern "C" {
824    pub fn luaopen_math(L: *mut lua_State) -> ::std::os::raw::c_int;
825}
826extern "C" {
827    pub fn luaopen_debug(L: *mut lua_State) -> ::std::os::raw::c_int;
828}
829extern "C" {
830    pub fn luaopen_package(L: *mut lua_State) -> ::std::os::raw::c_int;
831}
832extern "C" {
833    pub fn luaL_openlibs(L: *mut lua_State);
834}
835pub type __u_char = ::std::os::raw::c_uchar;
836pub type __u_short = ::std::os::raw::c_ushort;
837pub type __u_int = ::std::os::raw::c_uint;
838pub type __u_long = ::std::os::raw::c_ulong;
839pub type __int8_t = ::std::os::raw::c_schar;
840pub type __uint8_t = ::std::os::raw::c_uchar;
841pub type __int16_t = ::std::os::raw::c_short;
842pub type __uint16_t = ::std::os::raw::c_ushort;
843pub type __int32_t = ::std::os::raw::c_int;
844pub type __uint32_t = ::std::os::raw::c_uint;
845pub type __int64_t = ::std::os::raw::c_long;
846pub type __uint64_t = ::std::os::raw::c_ulong;
847pub type __int_least8_t = __int8_t;
848pub type __uint_least8_t = __uint8_t;
849pub type __int_least16_t = __int16_t;
850pub type __uint_least16_t = __uint16_t;
851pub type __int_least32_t = __int32_t;
852pub type __uint_least32_t = __uint32_t;
853pub type __int_least64_t = __int64_t;
854pub type __uint_least64_t = __uint64_t;
855pub type __quad_t = ::std::os::raw::c_long;
856pub type __u_quad_t = ::std::os::raw::c_ulong;
857pub type __intmax_t = ::std::os::raw::c_long;
858pub type __uintmax_t = ::std::os::raw::c_ulong;
859pub type __dev_t = ::std::os::raw::c_ulong;
860pub type __uid_t = ::std::os::raw::c_uint;
861pub type __gid_t = ::std::os::raw::c_uint;
862pub type __ino_t = ::std::os::raw::c_ulong;
863pub type __ino64_t = ::std::os::raw::c_ulong;
864pub type __mode_t = ::std::os::raw::c_uint;
865pub type __nlink_t = ::std::os::raw::c_ulong;
866pub type __off_t = ::std::os::raw::c_long;
867pub type __off64_t = ::std::os::raw::c_long;
868pub type __pid_t = ::std::os::raw::c_int;
869#[repr(C)]
870#[derive(Debug, Copy, Clone)]
871pub struct __fsid_t {
872    pub __val: [::std::os::raw::c_int; 2usize],
873}
874#[test]
875fn bindgen_test_layout___fsid_t() {
876    const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
877    let ptr = UNINIT.as_ptr();
878    assert_eq!(
879        ::std::mem::size_of::<__fsid_t>(),
880        8usize,
881        concat!("Size of: ", stringify!(__fsid_t))
882    );
883    assert_eq!(
884        ::std::mem::align_of::<__fsid_t>(),
885        4usize,
886        concat!("Alignment of ", stringify!(__fsid_t))
887    );
888    assert_eq!(
889        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
890        0usize,
891        concat!(
892            "Offset of field: ",
893            stringify!(__fsid_t),
894            "::",
895            stringify!(__val)
896        )
897    );
898}
899pub type __clock_t = ::std::os::raw::c_long;
900pub type __rlim_t = ::std::os::raw::c_ulong;
901pub type __rlim64_t = ::std::os::raw::c_ulong;
902pub type __id_t = ::std::os::raw::c_uint;
903pub type __time_t = ::std::os::raw::c_long;
904pub type __useconds_t = ::std::os::raw::c_uint;
905pub type __suseconds_t = ::std::os::raw::c_long;
906pub type __daddr_t = ::std::os::raw::c_int;
907pub type __key_t = ::std::os::raw::c_int;
908pub type __clockid_t = ::std::os::raw::c_int;
909pub type __timer_t = *mut ::std::os::raw::c_void;
910pub type __blksize_t = ::std::os::raw::c_long;
911pub type __blkcnt_t = ::std::os::raw::c_long;
912pub type __blkcnt64_t = ::std::os::raw::c_long;
913pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
914pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
915pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
916pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
917pub type __fsword_t = ::std::os::raw::c_long;
918pub type __ssize_t = ::std::os::raw::c_long;
919pub type __syscall_slong_t = ::std::os::raw::c_long;
920pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
921pub type __loff_t = __off64_t;
922pub type __caddr_t = *mut ::std::os::raw::c_char;
923pub type __intptr_t = ::std::os::raw::c_long;
924pub type __socklen_t = ::std::os::raw::c_uint;
925pub type __sig_atomic_t = ::std::os::raw::c_int;
926#[repr(C)]
927#[derive(Copy, Clone)]
928pub struct __mbstate_t {
929    pub __count: ::std::os::raw::c_int,
930    pub __value: __mbstate_t__bindgen_ty_1,
931}
932#[repr(C)]
933#[derive(Copy, Clone)]
934pub union __mbstate_t__bindgen_ty_1 {
935    pub __wch: ::std::os::raw::c_uint,
936    pub __wchb: [::std::os::raw::c_char; 4usize],
937}
938#[test]
939fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
940    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t__bindgen_ty_1> =
941        ::std::mem::MaybeUninit::uninit();
942    let ptr = UNINIT.as_ptr();
943    assert_eq!(
944        ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
945        4usize,
946        concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
947    );
948    assert_eq!(
949        ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
950        4usize,
951        concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
952    );
953    assert_eq!(
954        unsafe { ::std::ptr::addr_of!((*ptr).__wch) as usize - ptr as usize },
955        0usize,
956        concat!(
957            "Offset of field: ",
958            stringify!(__mbstate_t__bindgen_ty_1),
959            "::",
960            stringify!(__wch)
961        )
962    );
963    assert_eq!(
964        unsafe { ::std::ptr::addr_of!((*ptr).__wchb) as usize - ptr as usize },
965        0usize,
966        concat!(
967            "Offset of field: ",
968            stringify!(__mbstate_t__bindgen_ty_1),
969            "::",
970            stringify!(__wchb)
971        )
972    );
973}
974#[test]
975fn bindgen_test_layout___mbstate_t() {
976    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
977    let ptr = UNINIT.as_ptr();
978    assert_eq!(
979        ::std::mem::size_of::<__mbstate_t>(),
980        8usize,
981        concat!("Size of: ", stringify!(__mbstate_t))
982    );
983    assert_eq!(
984        ::std::mem::align_of::<__mbstate_t>(),
985        4usize,
986        concat!("Alignment of ", stringify!(__mbstate_t))
987    );
988    assert_eq!(
989        unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
990        0usize,
991        concat!(
992            "Offset of field: ",
993            stringify!(__mbstate_t),
994            "::",
995            stringify!(__count)
996        )
997    );
998    assert_eq!(
999        unsafe { ::std::ptr::addr_of!((*ptr).__value) as usize - ptr as usize },
1000        4usize,
1001        concat!(
1002            "Offset of field: ",
1003            stringify!(__mbstate_t),
1004            "::",
1005            stringify!(__value)
1006        )
1007    );
1008}
1009#[repr(C)]
1010#[derive(Copy, Clone)]
1011pub struct _G_fpos_t {
1012    pub __pos: __off_t,
1013    pub __state: __mbstate_t,
1014}
1015#[test]
1016fn bindgen_test_layout__G_fpos_t() {
1017    const UNINIT: ::std::mem::MaybeUninit<_G_fpos_t> = ::std::mem::MaybeUninit::uninit();
1018    let ptr = UNINIT.as_ptr();
1019    assert_eq!(
1020        ::std::mem::size_of::<_G_fpos_t>(),
1021        16usize,
1022        concat!("Size of: ", stringify!(_G_fpos_t))
1023    );
1024    assert_eq!(
1025        ::std::mem::align_of::<_G_fpos_t>(),
1026        8usize,
1027        concat!("Alignment of ", stringify!(_G_fpos_t))
1028    );
1029    assert_eq!(
1030        unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize },
1031        0usize,
1032        concat!(
1033            "Offset of field: ",
1034            stringify!(_G_fpos_t),
1035            "::",
1036            stringify!(__pos)
1037        )
1038    );
1039    assert_eq!(
1040        unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize },
1041        8usize,
1042        concat!(
1043            "Offset of field: ",
1044            stringify!(_G_fpos_t),
1045            "::",
1046            stringify!(__state)
1047        )
1048    );
1049}
1050pub type __fpos_t = _G_fpos_t;
1051#[repr(C)]
1052#[derive(Copy, Clone)]
1053pub struct _G_fpos64_t {
1054    pub __pos: __off64_t,
1055    pub __state: __mbstate_t,
1056}
1057#[test]
1058fn bindgen_test_layout__G_fpos64_t() {
1059    const UNINIT: ::std::mem::MaybeUninit<_G_fpos64_t> = ::std::mem::MaybeUninit::uninit();
1060    let ptr = UNINIT.as_ptr();
1061    assert_eq!(
1062        ::std::mem::size_of::<_G_fpos64_t>(),
1063        16usize,
1064        concat!("Size of: ", stringify!(_G_fpos64_t))
1065    );
1066    assert_eq!(
1067        ::std::mem::align_of::<_G_fpos64_t>(),
1068        8usize,
1069        concat!("Alignment of ", stringify!(_G_fpos64_t))
1070    );
1071    assert_eq!(
1072        unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize },
1073        0usize,
1074        concat!(
1075            "Offset of field: ",
1076            stringify!(_G_fpos64_t),
1077            "::",
1078            stringify!(__pos)
1079        )
1080    );
1081    assert_eq!(
1082        unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize },
1083        8usize,
1084        concat!(
1085            "Offset of field: ",
1086            stringify!(_G_fpos64_t),
1087            "::",
1088            stringify!(__state)
1089        )
1090    );
1091}
1092pub type __fpos64_t = _G_fpos64_t;
1093pub type __FILE = _IO_FILE;
1094pub type FILE = _IO_FILE;
1095#[repr(C)]
1096#[derive(Debug, Copy, Clone)]
1097pub struct _IO_marker {
1098    _unused: [u8; 0],
1099}
1100#[repr(C)]
1101#[derive(Debug, Copy, Clone)]
1102pub struct _IO_codecvt {
1103    _unused: [u8; 0],
1104}
1105#[repr(C)]
1106#[derive(Debug, Copy, Clone)]
1107pub struct _IO_wide_data {
1108    _unused: [u8; 0],
1109}
1110pub type _IO_lock_t = ::std::os::raw::c_void;
1111#[repr(C)]
1112#[derive(Debug, Copy, Clone)]
1113pub struct _IO_FILE {
1114    pub _flags: ::std::os::raw::c_int,
1115    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
1116    pub _IO_read_end: *mut ::std::os::raw::c_char,
1117    pub _IO_read_base: *mut ::std::os::raw::c_char,
1118    pub _IO_write_base: *mut ::std::os::raw::c_char,
1119    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
1120    pub _IO_write_end: *mut ::std::os::raw::c_char,
1121    pub _IO_buf_base: *mut ::std::os::raw::c_char,
1122    pub _IO_buf_end: *mut ::std::os::raw::c_char,
1123    pub _IO_save_base: *mut ::std::os::raw::c_char,
1124    pub _IO_backup_base: *mut ::std::os::raw::c_char,
1125    pub _IO_save_end: *mut ::std::os::raw::c_char,
1126    pub _markers: *mut _IO_marker,
1127    pub _chain: *mut _IO_FILE,
1128    pub _fileno: ::std::os::raw::c_int,
1129    pub _flags2: ::std::os::raw::c_int,
1130    pub _old_offset: __off_t,
1131    pub _cur_column: ::std::os::raw::c_ushort,
1132    pub _vtable_offset: ::std::os::raw::c_schar,
1133    pub _shortbuf: [::std::os::raw::c_char; 1usize],
1134    pub _lock: *mut _IO_lock_t,
1135    pub _offset: __off64_t,
1136    pub _codecvt: *mut _IO_codecvt,
1137    pub _wide_data: *mut _IO_wide_data,
1138    pub _freeres_list: *mut _IO_FILE,
1139    pub _freeres_buf: *mut ::std::os::raw::c_void,
1140    pub __pad5: usize,
1141    pub _mode: ::std::os::raw::c_int,
1142    pub _unused2: [::std::os::raw::c_char; 20usize],
1143}
1144#[test]
1145fn bindgen_test_layout__IO_FILE() {
1146    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
1147    let ptr = UNINIT.as_ptr();
1148    assert_eq!(
1149        ::std::mem::size_of::<_IO_FILE>(),
1150        216usize,
1151        concat!("Size of: ", stringify!(_IO_FILE))
1152    );
1153    assert_eq!(
1154        ::std::mem::align_of::<_IO_FILE>(),
1155        8usize,
1156        concat!("Alignment of ", stringify!(_IO_FILE))
1157    );
1158    assert_eq!(
1159        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
1160        0usize,
1161        concat!(
1162            "Offset of field: ",
1163            stringify!(_IO_FILE),
1164            "::",
1165            stringify!(_flags)
1166        )
1167    );
1168    assert_eq!(
1169        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
1170        8usize,
1171        concat!(
1172            "Offset of field: ",
1173            stringify!(_IO_FILE),
1174            "::",
1175            stringify!(_IO_read_ptr)
1176        )
1177    );
1178    assert_eq!(
1179        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
1180        16usize,
1181        concat!(
1182            "Offset of field: ",
1183            stringify!(_IO_FILE),
1184            "::",
1185            stringify!(_IO_read_end)
1186        )
1187    );
1188    assert_eq!(
1189        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
1190        24usize,
1191        concat!(
1192            "Offset of field: ",
1193            stringify!(_IO_FILE),
1194            "::",
1195            stringify!(_IO_read_base)
1196        )
1197    );
1198    assert_eq!(
1199        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
1200        32usize,
1201        concat!(
1202            "Offset of field: ",
1203            stringify!(_IO_FILE),
1204            "::",
1205            stringify!(_IO_write_base)
1206        )
1207    );
1208    assert_eq!(
1209        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
1210        40usize,
1211        concat!(
1212            "Offset of field: ",
1213            stringify!(_IO_FILE),
1214            "::",
1215            stringify!(_IO_write_ptr)
1216        )
1217    );
1218    assert_eq!(
1219        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
1220        48usize,
1221        concat!(
1222            "Offset of field: ",
1223            stringify!(_IO_FILE),
1224            "::",
1225            stringify!(_IO_write_end)
1226        )
1227    );
1228    assert_eq!(
1229        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
1230        56usize,
1231        concat!(
1232            "Offset of field: ",
1233            stringify!(_IO_FILE),
1234            "::",
1235            stringify!(_IO_buf_base)
1236        )
1237    );
1238    assert_eq!(
1239        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
1240        64usize,
1241        concat!(
1242            "Offset of field: ",
1243            stringify!(_IO_FILE),
1244            "::",
1245            stringify!(_IO_buf_end)
1246        )
1247    );
1248    assert_eq!(
1249        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
1250        72usize,
1251        concat!(
1252            "Offset of field: ",
1253            stringify!(_IO_FILE),
1254            "::",
1255            stringify!(_IO_save_base)
1256        )
1257    );
1258    assert_eq!(
1259        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
1260        80usize,
1261        concat!(
1262            "Offset of field: ",
1263            stringify!(_IO_FILE),
1264            "::",
1265            stringify!(_IO_backup_base)
1266        )
1267    );
1268    assert_eq!(
1269        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
1270        88usize,
1271        concat!(
1272            "Offset of field: ",
1273            stringify!(_IO_FILE),
1274            "::",
1275            stringify!(_IO_save_end)
1276        )
1277    );
1278    assert_eq!(
1279        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
1280        96usize,
1281        concat!(
1282            "Offset of field: ",
1283            stringify!(_IO_FILE),
1284            "::",
1285            stringify!(_markers)
1286        )
1287    );
1288    assert_eq!(
1289        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
1290        104usize,
1291        concat!(
1292            "Offset of field: ",
1293            stringify!(_IO_FILE),
1294            "::",
1295            stringify!(_chain)
1296        )
1297    );
1298    assert_eq!(
1299        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
1300        112usize,
1301        concat!(
1302            "Offset of field: ",
1303            stringify!(_IO_FILE),
1304            "::",
1305            stringify!(_fileno)
1306        )
1307    );
1308    assert_eq!(
1309        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
1310        116usize,
1311        concat!(
1312            "Offset of field: ",
1313            stringify!(_IO_FILE),
1314            "::",
1315            stringify!(_flags2)
1316        )
1317    );
1318    assert_eq!(
1319        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
1320        120usize,
1321        concat!(
1322            "Offset of field: ",
1323            stringify!(_IO_FILE),
1324            "::",
1325            stringify!(_old_offset)
1326        )
1327    );
1328    assert_eq!(
1329        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
1330        128usize,
1331        concat!(
1332            "Offset of field: ",
1333            stringify!(_IO_FILE),
1334            "::",
1335            stringify!(_cur_column)
1336        )
1337    );
1338    assert_eq!(
1339        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
1340        130usize,
1341        concat!(
1342            "Offset of field: ",
1343            stringify!(_IO_FILE),
1344            "::",
1345            stringify!(_vtable_offset)
1346        )
1347    );
1348    assert_eq!(
1349        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
1350        131usize,
1351        concat!(
1352            "Offset of field: ",
1353            stringify!(_IO_FILE),
1354            "::",
1355            stringify!(_shortbuf)
1356        )
1357    );
1358    assert_eq!(
1359        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
1360        136usize,
1361        concat!(
1362            "Offset of field: ",
1363            stringify!(_IO_FILE),
1364            "::",
1365            stringify!(_lock)
1366        )
1367    );
1368    assert_eq!(
1369        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
1370        144usize,
1371        concat!(
1372            "Offset of field: ",
1373            stringify!(_IO_FILE),
1374            "::",
1375            stringify!(_offset)
1376        )
1377    );
1378    assert_eq!(
1379        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
1380        152usize,
1381        concat!(
1382            "Offset of field: ",
1383            stringify!(_IO_FILE),
1384            "::",
1385            stringify!(_codecvt)
1386        )
1387    );
1388    assert_eq!(
1389        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
1390        160usize,
1391        concat!(
1392            "Offset of field: ",
1393            stringify!(_IO_FILE),
1394            "::",
1395            stringify!(_wide_data)
1396        )
1397    );
1398    assert_eq!(
1399        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
1400        168usize,
1401        concat!(
1402            "Offset of field: ",
1403            stringify!(_IO_FILE),
1404            "::",
1405            stringify!(_freeres_list)
1406        )
1407    );
1408    assert_eq!(
1409        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
1410        176usize,
1411        concat!(
1412            "Offset of field: ",
1413            stringify!(_IO_FILE),
1414            "::",
1415            stringify!(_freeres_buf)
1416        )
1417    );
1418    assert_eq!(
1419        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
1420        184usize,
1421        concat!(
1422            "Offset of field: ",
1423            stringify!(_IO_FILE),
1424            "::",
1425            stringify!(__pad5)
1426        )
1427    );
1428    assert_eq!(
1429        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
1430        192usize,
1431        concat!(
1432            "Offset of field: ",
1433            stringify!(_IO_FILE),
1434            "::",
1435            stringify!(_mode)
1436        )
1437    );
1438    assert_eq!(
1439        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
1440        196usize,
1441        concat!(
1442            "Offset of field: ",
1443            stringify!(_IO_FILE),
1444            "::",
1445            stringify!(_unused2)
1446        )
1447    );
1448}
1449pub type off_t = __off_t;
1450pub type fpos_t = __fpos_t;
1451extern "C" {
1452    pub static mut stdin: *mut FILE;
1453}
1454extern "C" {
1455    pub static mut stdout: *mut FILE;
1456}
1457extern "C" {
1458    pub static mut stderr: *mut FILE;
1459}
1460extern "C" {
1461    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1462}
1463extern "C" {
1464    pub fn rename(
1465        __old: *const ::std::os::raw::c_char,
1466        __new: *const ::std::os::raw::c_char,
1467    ) -> ::std::os::raw::c_int;
1468}
1469extern "C" {
1470    pub fn renameat(
1471        __oldfd: ::std::os::raw::c_int,
1472        __old: *const ::std::os::raw::c_char,
1473        __newfd: ::std::os::raw::c_int,
1474        __new: *const ::std::os::raw::c_char,
1475    ) -> ::std::os::raw::c_int;
1476}
1477extern "C" {
1478    pub fn tmpfile() -> *mut FILE;
1479}
1480extern "C" {
1481    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1482}
1483extern "C" {
1484    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1485}
1486extern "C" {
1487    pub fn tempnam(
1488        __dir: *const ::std::os::raw::c_char,
1489        __pfx: *const ::std::os::raw::c_char,
1490    ) -> *mut ::std::os::raw::c_char;
1491}
1492extern "C" {
1493    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1494}
1495extern "C" {
1496    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
1497}
1498extern "C" {
1499    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1500}
1501extern "C" {
1502    pub fn fopen(
1503        __filename: *const ::std::os::raw::c_char,
1504        __modes: *const ::std::os::raw::c_char,
1505    ) -> *mut FILE;
1506}
1507extern "C" {
1508    pub fn freopen(
1509        __filename: *const ::std::os::raw::c_char,
1510        __modes: *const ::std::os::raw::c_char,
1511        __stream: *mut FILE,
1512    ) -> *mut FILE;
1513}
1514extern "C" {
1515    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
1516        -> *mut FILE;
1517}
1518extern "C" {
1519    pub fn fmemopen(
1520        __s: *mut ::std::os::raw::c_void,
1521        __len: usize,
1522        __modes: *const ::std::os::raw::c_char,
1523    ) -> *mut FILE;
1524}
1525extern "C" {
1526    pub fn open_memstream(
1527        __bufloc: *mut *mut ::std::os::raw::c_char,
1528        __sizeloc: *mut usize,
1529    ) -> *mut FILE;
1530}
1531extern "C" {
1532    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
1533}
1534extern "C" {
1535    pub fn setvbuf(
1536        __stream: *mut FILE,
1537        __buf: *mut ::std::os::raw::c_char,
1538        __modes: ::std::os::raw::c_int,
1539        __n: usize,
1540    ) -> ::std::os::raw::c_int;
1541}
1542extern "C" {
1543    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
1544}
1545extern "C" {
1546    pub fn setlinebuf(__stream: *mut FILE);
1547}
1548extern "C" {
1549    pub fn fprintf(
1550        __stream: *mut FILE,
1551        __format: *const ::std::os::raw::c_char,
1552        ...
1553    ) -> ::std::os::raw::c_int;
1554}
1555extern "C" {
1556    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1557}
1558extern "C" {
1559    pub fn sprintf(
1560        __s: *mut ::std::os::raw::c_char,
1561        __format: *const ::std::os::raw::c_char,
1562        ...
1563    ) -> ::std::os::raw::c_int;
1564}
1565extern "C" {
1566    pub fn vfprintf(
1567        __s: *mut FILE,
1568        __format: *const ::std::os::raw::c_char,
1569        __arg: *mut __va_list_tag,
1570    ) -> ::std::os::raw::c_int;
1571}
1572extern "C" {
1573    pub fn vprintf(
1574        __format: *const ::std::os::raw::c_char,
1575        __arg: *mut __va_list_tag,
1576    ) -> ::std::os::raw::c_int;
1577}
1578extern "C" {
1579    pub fn vsprintf(
1580        __s: *mut ::std::os::raw::c_char,
1581        __format: *const ::std::os::raw::c_char,
1582        __arg: *mut __va_list_tag,
1583    ) -> ::std::os::raw::c_int;
1584}
1585extern "C" {
1586    pub fn snprintf(
1587        __s: *mut ::std::os::raw::c_char,
1588        __maxlen: ::std::os::raw::c_ulong,
1589        __format: *const ::std::os::raw::c_char,
1590        ...
1591    ) -> ::std::os::raw::c_int;
1592}
1593extern "C" {
1594    pub fn vsnprintf(
1595        __s: *mut ::std::os::raw::c_char,
1596        __maxlen: ::std::os::raw::c_ulong,
1597        __format: *const ::std::os::raw::c_char,
1598        __arg: *mut __va_list_tag,
1599    ) -> ::std::os::raw::c_int;
1600}
1601extern "C" {
1602    pub fn vdprintf(
1603        __fd: ::std::os::raw::c_int,
1604        __fmt: *const ::std::os::raw::c_char,
1605        __arg: *mut __va_list_tag,
1606    ) -> ::std::os::raw::c_int;
1607}
1608extern "C" {
1609    pub fn dprintf(
1610        __fd: ::std::os::raw::c_int,
1611        __fmt: *const ::std::os::raw::c_char,
1612        ...
1613    ) -> ::std::os::raw::c_int;
1614}
1615extern "C" {
1616    pub fn fscanf(
1617        __stream: *mut FILE,
1618        __format: *const ::std::os::raw::c_char,
1619        ...
1620    ) -> ::std::os::raw::c_int;
1621}
1622extern "C" {
1623    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1624}
1625extern "C" {
1626    pub fn sscanf(
1627        __s: *const ::std::os::raw::c_char,
1628        __format: *const ::std::os::raw::c_char,
1629        ...
1630    ) -> ::std::os::raw::c_int;
1631}
1632extern "C" {
1633    #[link_name = "\u{1}__isoc99_fscanf"]
1634    pub fn fscanf1(
1635        __stream: *mut FILE,
1636        __format: *const ::std::os::raw::c_char,
1637        ...
1638    ) -> ::std::os::raw::c_int;
1639}
1640extern "C" {
1641    #[link_name = "\u{1}__isoc99_scanf"]
1642    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1643}
1644extern "C" {
1645    #[link_name = "\u{1}__isoc99_sscanf"]
1646    pub fn sscanf1(
1647        __s: *const ::std::os::raw::c_char,
1648        __format: *const ::std::os::raw::c_char,
1649        ...
1650    ) -> ::std::os::raw::c_int;
1651}
1652extern "C" {
1653    pub fn vfscanf(
1654        __s: *mut FILE,
1655        __format: *const ::std::os::raw::c_char,
1656        __arg: *mut __va_list_tag,
1657    ) -> ::std::os::raw::c_int;
1658}
1659extern "C" {
1660    pub fn vscanf(
1661        __format: *const ::std::os::raw::c_char,
1662        __arg: *mut __va_list_tag,
1663    ) -> ::std::os::raw::c_int;
1664}
1665extern "C" {
1666    pub fn vsscanf(
1667        __s: *const ::std::os::raw::c_char,
1668        __format: *const ::std::os::raw::c_char,
1669        __arg: *mut __va_list_tag,
1670    ) -> ::std::os::raw::c_int;
1671}
1672extern "C" {
1673    #[link_name = "\u{1}__isoc99_vfscanf"]
1674    pub fn vfscanf1(
1675        __s: *mut FILE,
1676        __format: *const ::std::os::raw::c_char,
1677        __arg: *mut __va_list_tag,
1678    ) -> ::std::os::raw::c_int;
1679}
1680extern "C" {
1681    #[link_name = "\u{1}__isoc99_vscanf"]
1682    pub fn vscanf1(
1683        __format: *const ::std::os::raw::c_char,
1684        __arg: *mut __va_list_tag,
1685    ) -> ::std::os::raw::c_int;
1686}
1687extern "C" {
1688    #[link_name = "\u{1}__isoc99_vsscanf"]
1689    pub fn vsscanf1(
1690        __s: *const ::std::os::raw::c_char,
1691        __format: *const ::std::os::raw::c_char,
1692        __arg: *mut __va_list_tag,
1693    ) -> ::std::os::raw::c_int;
1694}
1695extern "C" {
1696    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1697}
1698extern "C" {
1699    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1700}
1701extern "C" {
1702    pub fn getchar() -> ::std::os::raw::c_int;
1703}
1704extern "C" {
1705    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1706}
1707extern "C" {
1708    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
1709}
1710extern "C" {
1711    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1712}
1713extern "C" {
1714    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1715}
1716extern "C" {
1717    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1718}
1719extern "C" {
1720    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1721}
1722extern "C" {
1723    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
1724        -> ::std::os::raw::c_int;
1725}
1726extern "C" {
1727    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1728}
1729extern "C" {
1730    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1731}
1732extern "C" {
1733    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
1734}
1735extern "C" {
1736    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1737}
1738extern "C" {
1739    pub fn fgets(
1740        __s: *mut ::std::os::raw::c_char,
1741        __n: ::std::os::raw::c_int,
1742        __stream: *mut FILE,
1743    ) -> *mut ::std::os::raw::c_char;
1744}
1745extern "C" {
1746    pub fn __getdelim(
1747        __lineptr: *mut *mut ::std::os::raw::c_char,
1748        __n: *mut usize,
1749        __delimiter: ::std::os::raw::c_int,
1750        __stream: *mut FILE,
1751    ) -> __ssize_t;
1752}
1753extern "C" {
1754    pub fn getdelim(
1755        __lineptr: *mut *mut ::std::os::raw::c_char,
1756        __n: *mut usize,
1757        __delimiter: ::std::os::raw::c_int,
1758        __stream: *mut FILE,
1759    ) -> __ssize_t;
1760}
1761extern "C" {
1762    pub fn getline(
1763        __lineptr: *mut *mut ::std::os::raw::c_char,
1764        __n: *mut usize,
1765        __stream: *mut FILE,
1766    ) -> __ssize_t;
1767}
1768extern "C" {
1769    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
1770}
1771extern "C" {
1772    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1773}
1774extern "C" {
1775    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
1776}
1777extern "C" {
1778    pub fn fread(
1779        __ptr: *mut ::std::os::raw::c_void,
1780        __size: ::std::os::raw::c_ulong,
1781        __n: ::std::os::raw::c_ulong,
1782        __stream: *mut FILE,
1783    ) -> ::std::os::raw::c_ulong;
1784}
1785extern "C" {
1786    pub fn fwrite(
1787        __ptr: *const ::std::os::raw::c_void,
1788        __size: ::std::os::raw::c_ulong,
1789        __n: ::std::os::raw::c_ulong,
1790        __s: *mut FILE,
1791    ) -> ::std::os::raw::c_ulong;
1792}
1793extern "C" {
1794    pub fn fread_unlocked(
1795        __ptr: *mut ::std::os::raw::c_void,
1796        __size: usize,
1797        __n: usize,
1798        __stream: *mut FILE,
1799    ) -> usize;
1800}
1801extern "C" {
1802    pub fn fwrite_unlocked(
1803        __ptr: *const ::std::os::raw::c_void,
1804        __size: usize,
1805        __n: usize,
1806        __stream: *mut FILE,
1807    ) -> usize;
1808}
1809extern "C" {
1810    pub fn fseek(
1811        __stream: *mut FILE,
1812        __off: ::std::os::raw::c_long,
1813        __whence: ::std::os::raw::c_int,
1814    ) -> ::std::os::raw::c_int;
1815}
1816extern "C" {
1817    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
1818}
1819extern "C" {
1820    pub fn rewind(__stream: *mut FILE);
1821}
1822extern "C" {
1823    pub fn fseeko(
1824        __stream: *mut FILE,
1825        __off: __off_t,
1826        __whence: ::std::os::raw::c_int,
1827    ) -> ::std::os::raw::c_int;
1828}
1829extern "C" {
1830    pub fn ftello(__stream: *mut FILE) -> __off_t;
1831}
1832extern "C" {
1833    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
1834}
1835extern "C" {
1836    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
1837}
1838extern "C" {
1839    pub fn clearerr(__stream: *mut FILE);
1840}
1841extern "C" {
1842    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
1843}
1844extern "C" {
1845    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
1846}
1847extern "C" {
1848    pub fn clearerr_unlocked(__stream: *mut FILE);
1849}
1850extern "C" {
1851    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1852}
1853extern "C" {
1854    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1855}
1856extern "C" {
1857    pub fn perror(__s: *const ::std::os::raw::c_char);
1858}
1859extern "C" {
1860    pub static mut sys_nerr: ::std::os::raw::c_int;
1861}
1862extern "C" {
1863    pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize];
1864}
1865extern "C" {
1866    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
1867}
1868extern "C" {
1869    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1870}
1871extern "C" {
1872    pub fn popen(
1873        __command: *const ::std::os::raw::c_char,
1874        __modes: *const ::std::os::raw::c_char,
1875    ) -> *mut FILE;
1876}
1877extern "C" {
1878    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1879}
1880extern "C" {
1881    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1882}
1883extern "C" {
1884    pub fn flockfile(__stream: *mut FILE);
1885}
1886extern "C" {
1887    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
1888}
1889extern "C" {
1890    pub fn funlockfile(__stream: *mut FILE);
1891}
1892extern "C" {
1893    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
1894}
1895extern "C" {
1896    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1897}
1898#[repr(C)]
1899#[derive(Debug, Copy, Clone)]
1900pub struct luaL_Reg {
1901    pub name: *const ::std::os::raw::c_char,
1902    pub func: lua_CFunction,
1903}
1904#[test]
1905fn bindgen_test_layout_luaL_Reg() {
1906    const UNINIT: ::std::mem::MaybeUninit<luaL_Reg> = ::std::mem::MaybeUninit::uninit();
1907    let ptr = UNINIT.as_ptr();
1908    assert_eq!(
1909        ::std::mem::size_of::<luaL_Reg>(),
1910        16usize,
1911        concat!("Size of: ", stringify!(luaL_Reg))
1912    );
1913    assert_eq!(
1914        ::std::mem::align_of::<luaL_Reg>(),
1915        8usize,
1916        concat!("Alignment of ", stringify!(luaL_Reg))
1917    );
1918    assert_eq!(
1919        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1920        0usize,
1921        concat!(
1922            "Offset of field: ",
1923            stringify!(luaL_Reg),
1924            "::",
1925            stringify!(name)
1926        )
1927    );
1928    assert_eq!(
1929        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
1930        8usize,
1931        concat!(
1932            "Offset of field: ",
1933            stringify!(luaL_Reg),
1934            "::",
1935            stringify!(func)
1936        )
1937    );
1938}
1939extern "C" {
1940    pub fn luaL_openlib(
1941        L: *mut lua_State,
1942        libname: *const ::std::os::raw::c_char,
1943        l: *const luaL_Reg,
1944        nup: ::std::os::raw::c_int,
1945    );
1946}
1947extern "C" {
1948    pub fn luaL_register(
1949        L: *mut lua_State,
1950        libname: *const ::std::os::raw::c_char,
1951        l: *const luaL_Reg,
1952    );
1953}
1954extern "C" {
1955    pub fn luaL_getmetafield(
1956        L: *mut lua_State,
1957        obj: ::std::os::raw::c_int,
1958        e: *const ::std::os::raw::c_char,
1959    ) -> ::std::os::raw::c_int;
1960}
1961extern "C" {
1962    pub fn luaL_callmeta(
1963        L: *mut lua_State,
1964        obj: ::std::os::raw::c_int,
1965        e: *const ::std::os::raw::c_char,
1966    ) -> ::std::os::raw::c_int;
1967}
1968extern "C" {
1969    pub fn luaL_typerror(
1970        L: *mut lua_State,
1971        narg: ::std::os::raw::c_int,
1972        tname: *const ::std::os::raw::c_char,
1973    ) -> ::std::os::raw::c_int;
1974}
1975extern "C" {
1976    pub fn luaL_argerror(
1977        L: *mut lua_State,
1978        numarg: ::std::os::raw::c_int,
1979        extramsg: *const ::std::os::raw::c_char,
1980    ) -> ::std::os::raw::c_int;
1981}
1982extern "C" {
1983    pub fn luaL_checklstring(
1984        L: *mut lua_State,
1985        numArg: ::std::os::raw::c_int,
1986        l: *mut usize,
1987    ) -> *const ::std::os::raw::c_char;
1988}
1989extern "C" {
1990    pub fn luaL_optlstring(
1991        L: *mut lua_State,
1992        numArg: ::std::os::raw::c_int,
1993        def: *const ::std::os::raw::c_char,
1994        l: *mut usize,
1995    ) -> *const ::std::os::raw::c_char;
1996}
1997extern "C" {
1998    pub fn luaL_checknumber(L: *mut lua_State, numArg: ::std::os::raw::c_int) -> lua_Number;
1999}
2000extern "C" {
2001    pub fn luaL_optnumber(
2002        L: *mut lua_State,
2003        nArg: ::std::os::raw::c_int,
2004        def: lua_Number,
2005    ) -> lua_Number;
2006}
2007extern "C" {
2008    pub fn luaL_checkinteger(L: *mut lua_State, numArg: ::std::os::raw::c_int) -> lua_Integer;
2009}
2010extern "C" {
2011    pub fn luaL_optinteger(
2012        L: *mut lua_State,
2013        nArg: ::std::os::raw::c_int,
2014        def: lua_Integer,
2015    ) -> lua_Integer;
2016}
2017extern "C" {
2018    pub fn luaL_checkstack(
2019        L: *mut lua_State,
2020        sz: ::std::os::raw::c_int,
2021        msg: *const ::std::os::raw::c_char,
2022    );
2023}
2024extern "C" {
2025    pub fn luaL_checktype(L: *mut lua_State, narg: ::std::os::raw::c_int, t: ::std::os::raw::c_int);
2026}
2027extern "C" {
2028    pub fn luaL_checkany(L: *mut lua_State, narg: ::std::os::raw::c_int);
2029}
2030extern "C" {
2031    pub fn luaL_newmetatable(
2032        L: *mut lua_State,
2033        tname: *const ::std::os::raw::c_char,
2034    ) -> ::std::os::raw::c_int;
2035}
2036extern "C" {
2037    pub fn luaL_checkudata(
2038        L: *mut lua_State,
2039        ud: ::std::os::raw::c_int,
2040        tname: *const ::std::os::raw::c_char,
2041    ) -> *mut ::std::os::raw::c_void;
2042}
2043extern "C" {
2044    pub fn luaL_where(L: *mut lua_State, lvl: ::std::os::raw::c_int);
2045}
2046extern "C" {
2047    pub fn luaL_error(
2048        L: *mut lua_State,
2049        fmt: *const ::std::os::raw::c_char,
2050        ...
2051    ) -> ::std::os::raw::c_int;
2052}
2053extern "C" {
2054    pub fn luaL_checkoption(
2055        L: *mut lua_State,
2056        narg: ::std::os::raw::c_int,
2057        def: *const ::std::os::raw::c_char,
2058        lst: *const *const ::std::os::raw::c_char,
2059    ) -> ::std::os::raw::c_int;
2060}
2061extern "C" {
2062    pub fn luaL_ref(L: *mut lua_State, t: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2063}
2064extern "C" {
2065    pub fn luaL_unref(L: *mut lua_State, t: ::std::os::raw::c_int, ref_: ::std::os::raw::c_int);
2066}
2067extern "C" {
2068    pub fn luaL_loadfile(
2069        L: *mut lua_State,
2070        filename: *const ::std::os::raw::c_char,
2071    ) -> ::std::os::raw::c_int;
2072}
2073extern "C" {
2074    pub fn luaL_loadbuffer(
2075        L: *mut lua_State,
2076        buff: *const ::std::os::raw::c_char,
2077        sz: usize,
2078        name: *const ::std::os::raw::c_char,
2079    ) -> ::std::os::raw::c_int;
2080}
2081extern "C" {
2082    pub fn luaL_loadstring(
2083        L: *mut lua_State,
2084        s: *const ::std::os::raw::c_char,
2085    ) -> ::std::os::raw::c_int;
2086}
2087extern "C" {
2088    pub fn luaL_newstate() -> *mut lua_State;
2089}
2090extern "C" {
2091    pub fn luaL_gsub(
2092        L: *mut lua_State,
2093        s: *const ::std::os::raw::c_char,
2094        p: *const ::std::os::raw::c_char,
2095        r: *const ::std::os::raw::c_char,
2096    ) -> *const ::std::os::raw::c_char;
2097}
2098extern "C" {
2099    pub fn luaL_findtable(
2100        L: *mut lua_State,
2101        idx: ::std::os::raw::c_int,
2102        fname: *const ::std::os::raw::c_char,
2103        szhint: ::std::os::raw::c_int,
2104    ) -> *const ::std::os::raw::c_char;
2105}
2106#[repr(C)]
2107#[derive(Debug, Copy, Clone)]
2108pub struct luaL_Buffer {
2109    pub p: *mut ::std::os::raw::c_char,
2110    pub lvl: ::std::os::raw::c_int,
2111    pub L: *mut lua_State,
2112    pub buffer: [::std::os::raw::c_char; 8192usize],
2113}
2114#[test]
2115fn bindgen_test_layout_luaL_Buffer() {
2116    const UNINIT: ::std::mem::MaybeUninit<luaL_Buffer> = ::std::mem::MaybeUninit::uninit();
2117    let ptr = UNINIT.as_ptr();
2118    assert_eq!(
2119        ::std::mem::size_of::<luaL_Buffer>(),
2120        8216usize,
2121        concat!("Size of: ", stringify!(luaL_Buffer))
2122    );
2123    assert_eq!(
2124        ::std::mem::align_of::<luaL_Buffer>(),
2125        8usize,
2126        concat!("Alignment of ", stringify!(luaL_Buffer))
2127    );
2128    assert_eq!(
2129        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
2130        0usize,
2131        concat!(
2132            "Offset of field: ",
2133            stringify!(luaL_Buffer),
2134            "::",
2135            stringify!(p)
2136        )
2137    );
2138    assert_eq!(
2139        unsafe { ::std::ptr::addr_of!((*ptr).lvl) as usize - ptr as usize },
2140        8usize,
2141        concat!(
2142            "Offset of field: ",
2143            stringify!(luaL_Buffer),
2144            "::",
2145            stringify!(lvl)
2146        )
2147    );
2148    assert_eq!(
2149        unsafe { ::std::ptr::addr_of!((*ptr).L) as usize - ptr as usize },
2150        16usize,
2151        concat!(
2152            "Offset of field: ",
2153            stringify!(luaL_Buffer),
2154            "::",
2155            stringify!(L)
2156        )
2157    );
2158    assert_eq!(
2159        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
2160        24usize,
2161        concat!(
2162            "Offset of field: ",
2163            stringify!(luaL_Buffer),
2164            "::",
2165            stringify!(buffer)
2166        )
2167    );
2168}
2169extern "C" {
2170    pub fn luaL_buffinit(L: *mut lua_State, B: *mut luaL_Buffer);
2171}
2172extern "C" {
2173    pub fn luaL_prepbuffer(B: *mut luaL_Buffer) -> *mut ::std::os::raw::c_char;
2174}
2175extern "C" {
2176    pub fn luaL_addlstring(B: *mut luaL_Buffer, s: *const ::std::os::raw::c_char, l: usize);
2177}
2178extern "C" {
2179    pub fn luaL_addstring(B: *mut luaL_Buffer, s: *const ::std::os::raw::c_char);
2180}
2181extern "C" {
2182    pub fn luaL_addvalue(B: *mut luaL_Buffer);
2183}
2184extern "C" {
2185    pub fn luaL_pushresult(B: *mut luaL_Buffer);
2186}
2187pub type __builtin_va_list = [__va_list_tag; 1usize];
2188#[repr(C)]
2189#[derive(Debug, Copy, Clone)]
2190pub struct __va_list_tag {
2191    pub gp_offset: ::std::os::raw::c_uint,
2192    pub fp_offset: ::std::os::raw::c_uint,
2193    pub overflow_arg_area: *mut ::std::os::raw::c_void,
2194    pub reg_save_area: *mut ::std::os::raw::c_void,
2195}
2196#[test]
2197fn bindgen_test_layout___va_list_tag() {
2198    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
2199    let ptr = UNINIT.as_ptr();
2200    assert_eq!(
2201        ::std::mem::size_of::<__va_list_tag>(),
2202        24usize,
2203        concat!("Size of: ", stringify!(__va_list_tag))
2204    );
2205    assert_eq!(
2206        ::std::mem::align_of::<__va_list_tag>(),
2207        8usize,
2208        concat!("Alignment of ", stringify!(__va_list_tag))
2209    );
2210    assert_eq!(
2211        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
2212        0usize,
2213        concat!(
2214            "Offset of field: ",
2215            stringify!(__va_list_tag),
2216            "::",
2217            stringify!(gp_offset)
2218        )
2219    );
2220    assert_eq!(
2221        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
2222        4usize,
2223        concat!(
2224            "Offset of field: ",
2225            stringify!(__va_list_tag),
2226            "::",
2227            stringify!(fp_offset)
2228        )
2229    );
2230    assert_eq!(
2231        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
2232        8usize,
2233        concat!(
2234            "Offset of field: ",
2235            stringify!(__va_list_tag),
2236            "::",
2237            stringify!(overflow_arg_area)
2238        )
2239    );
2240    assert_eq!(
2241        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
2242        16usize,
2243        concat!(
2244            "Offset of field: ",
2245            stringify!(__va_list_tag),
2246            "::",
2247            stringify!(reg_save_area)
2248        )
2249    );
2250}