libesedb_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.68.1 */
2
3pub const LIBESEDB_HAVE_MULTI_THREAD_SUPPORT: u32 = 1;
4pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
5pub const _SAL_VERSION: u32 = 20;
6pub const __SAL_H_VERSION: u32 = 180000000;
7pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
8pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
9pub const _CRT_PACKING: u32 = 8;
10pub const _HAS_EXCEPTIONS: u32 = 1;
11pub const _STL_LANG: u32 = 0;
12pub const _HAS_CXX17: u32 = 0;
13pub const _HAS_CXX20: u32 = 0;
14pub const _HAS_NODISCARD: u32 = 0;
15pub const WCHAR_MIN: u32 = 0;
16pub const WCHAR_MAX: u32 = 65535;
17pub const WINT_MIN: u32 = 0;
18pub const WINT_MAX: u32 = 65535;
19pub const HAVE_SIZE32_T: u32 = 1;
20pub const HAVE_SSIZE32_T: u32 = 1;
21pub const HAVE_SIZE64_T: u32 = 1;
22pub const HAVE_SSIZE64_T: u32 = 1;
23pub const HAVE_OFF64_T: u32 = 1;
24pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
25pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
26pub const _ARGMAX: u32 = 100;
27pub const _CRT_INT_MAX: u32 = 2147483647;
28pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
29pub const _CRT_HAS_CXX17: u32 = 0;
30pub const _CRT_HAS_C11: u32 = 1;
31pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
32pub const __STDC_SECURE_LIB__: u32 = 200411;
33pub const __GOT_SECURE_LIB__: u32 = 200411;
34pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
35pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
36pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
37pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
38pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
39pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
40pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
41pub const EPERM: u32 = 1;
42pub const ENOENT: u32 = 2;
43pub const ESRCH: u32 = 3;
44pub const EINTR: u32 = 4;
45pub const EIO: u32 = 5;
46pub const ENXIO: u32 = 6;
47pub const E2BIG: u32 = 7;
48pub const ENOEXEC: u32 = 8;
49pub const EBADF: u32 = 9;
50pub const ECHILD: u32 = 10;
51pub const EAGAIN: u32 = 11;
52pub const ENOMEM: u32 = 12;
53pub const EACCES: u32 = 13;
54pub const EFAULT: u32 = 14;
55pub const EBUSY: u32 = 16;
56pub const EEXIST: u32 = 17;
57pub const EXDEV: u32 = 18;
58pub const ENODEV: u32 = 19;
59pub const ENOTDIR: u32 = 20;
60pub const EISDIR: u32 = 21;
61pub const ENFILE: u32 = 23;
62pub const EMFILE: u32 = 24;
63pub const ENOTTY: u32 = 25;
64pub const EFBIG: u32 = 27;
65pub const ENOSPC: u32 = 28;
66pub const ESPIPE: u32 = 29;
67pub const EROFS: u32 = 30;
68pub const EMLINK: u32 = 31;
69pub const EPIPE: u32 = 32;
70pub const EDOM: u32 = 33;
71pub const EDEADLK: u32 = 36;
72pub const ENAMETOOLONG: u32 = 38;
73pub const ENOLCK: u32 = 39;
74pub const ENOSYS: u32 = 40;
75pub const ENOTEMPTY: u32 = 41;
76pub const EINVAL: u32 = 22;
77pub const ERANGE: u32 = 34;
78pub const EILSEQ: u32 = 42;
79pub const STRUNCATE: u32 = 80;
80pub const EDEADLOCK: u32 = 36;
81pub const EADDRINUSE: u32 = 100;
82pub const EADDRNOTAVAIL: u32 = 101;
83pub const EAFNOSUPPORT: u32 = 102;
84pub const EALREADY: u32 = 103;
85pub const EBADMSG: u32 = 104;
86pub const ECANCELED: u32 = 105;
87pub const ECONNABORTED: u32 = 106;
88pub const ECONNREFUSED: u32 = 107;
89pub const ECONNRESET: u32 = 108;
90pub const EDESTADDRREQ: u32 = 109;
91pub const EHOSTUNREACH: u32 = 110;
92pub const EIDRM: u32 = 111;
93pub const EINPROGRESS: u32 = 112;
94pub const EISCONN: u32 = 113;
95pub const ELOOP: u32 = 114;
96pub const EMSGSIZE: u32 = 115;
97pub const ENETDOWN: u32 = 116;
98pub const ENETRESET: u32 = 117;
99pub const ENETUNREACH: u32 = 118;
100pub const ENOBUFS: u32 = 119;
101pub const ENODATA: u32 = 120;
102pub const ENOLINK: u32 = 121;
103pub const ENOMSG: u32 = 122;
104pub const ENOPROTOOPT: u32 = 123;
105pub const ENOSR: u32 = 124;
106pub const ENOSTR: u32 = 125;
107pub const ENOTCONN: u32 = 126;
108pub const ENOTRECOVERABLE: u32 = 127;
109pub const ENOTSOCK: u32 = 128;
110pub const ENOTSUP: u32 = 129;
111pub const EOPNOTSUPP: u32 = 130;
112pub const EOTHER: u32 = 131;
113pub const EOVERFLOW: u32 = 132;
114pub const EOWNERDEAD: u32 = 133;
115pub const EPROTO: u32 = 134;
116pub const EPROTONOSUPPORT: u32 = 135;
117pub const EPROTOTYPE: u32 = 136;
118pub const ETIME: u32 = 137;
119pub const ETIMEDOUT: u32 = 138;
120pub const ETXTBSY: u32 = 139;
121pub const EWOULDBLOCK: u32 = 140;
122pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &[u8; 1] = b"\0";
123pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1;
124pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2;
125pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4;
126pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8;
127pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16;
128pub const _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING: u32 = 32;
129pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1;
130pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2;
131pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4;
132pub const _UPPER: u32 = 1;
133pub const _LOWER: u32 = 2;
134pub const _DIGIT: u32 = 4;
135pub const _SPACE: u32 = 8;
136pub const _PUNCT: u32 = 16;
137pub const _CONTROL: u32 = 32;
138pub const _BLANK: u32 = 64;
139pub const _HEX: u32 = 128;
140pub const _LEADBYTE: u32 = 32768;
141pub const _ALPHA: u32 = 259;
142pub const _SH_DENYRW: u32 = 16;
143pub const _SH_DENYWR: u32 = 32;
144pub const _SH_DENYRD: u32 = 48;
145pub const _SH_DENYNO: u32 = 64;
146pub const _SH_SECURE: u32 = 128;
147pub const SH_DENYRW: u32 = 16;
148pub const SH_DENYWR: u32 = 32;
149pub const SH_DENYRD: u32 = 48;
150pub const SH_DENYNO: u32 = 64;
151pub const _MAX_ITOSTR_BASE16_COUNT: u32 = 9;
152pub const _MAX_ITOSTR_BASE10_COUNT: u32 = 12;
153pub const _MAX_ITOSTR_BASE8_COUNT: u32 = 12;
154pub const _MAX_ITOSTR_BASE2_COUNT: u32 = 33;
155pub const _MAX_LTOSTR_BASE16_COUNT: u32 = 9;
156pub const _MAX_LTOSTR_BASE10_COUNT: u32 = 12;
157pub const _MAX_LTOSTR_BASE8_COUNT: u32 = 12;
158pub const _MAX_LTOSTR_BASE2_COUNT: u32 = 33;
159pub const _MAX_ULTOSTR_BASE16_COUNT: u32 = 9;
160pub const _MAX_ULTOSTR_BASE10_COUNT: u32 = 11;
161pub const _MAX_ULTOSTR_BASE8_COUNT: u32 = 12;
162pub const _MAX_ULTOSTR_BASE2_COUNT: u32 = 33;
163pub const _MAX_I64TOSTR_BASE16_COUNT: u32 = 17;
164pub const _MAX_I64TOSTR_BASE10_COUNT: u32 = 21;
165pub const _MAX_I64TOSTR_BASE8_COUNT: u32 = 23;
166pub const _MAX_I64TOSTR_BASE2_COUNT: u32 = 65;
167pub const _MAX_U64TOSTR_BASE16_COUNT: u32 = 17;
168pub const _MAX_U64TOSTR_BASE10_COUNT: u32 = 21;
169pub const _MAX_U64TOSTR_BASE8_COUNT: u32 = 23;
170pub const _MAX_U64TOSTR_BASE2_COUNT: u32 = 65;
171pub const _S_IFMT: u32 = 61440;
172pub const _S_IFDIR: u32 = 16384;
173pub const _S_IFCHR: u32 = 8192;
174pub const _S_IFIFO: u32 = 4096;
175pub const _S_IFREG: u32 = 32768;
176pub const _S_IREAD: u32 = 256;
177pub const _S_IWRITE: u32 = 128;
178pub const _S_IEXEC: u32 = 64;
179pub const S_IFMT: u32 = 61440;
180pub const S_IFDIR: u32 = 16384;
181pub const S_IFCHR: u32 = 8192;
182pub const S_IFREG: u32 = 32768;
183pub const S_IREAD: u32 = 256;
184pub const S_IWRITE: u32 = 128;
185pub const S_IEXEC: u32 = 64;
186pub const LIBESEDB_VERSION: u32 = 20230824;
187pub const LIBESEDB_VERSION_STRING: &[u8; 9] = b"20230824\0";
188pub const BUFSIZ: u32 = 512;
189pub const _NSTREAM_: u32 = 512;
190pub const _IOB_ENTRIES: u32 = 3;
191pub const EOF: i32 = -1;
192pub const _IOFBF: u32 = 0;
193pub const _IOLBF: u32 = 64;
194pub const _IONBF: u32 = 4;
195pub const L_tmpnam: u32 = 260;
196pub const L_tmpnam_s: u32 = 260;
197pub const SEEK_CUR: u32 = 1;
198pub const SEEK_END: u32 = 2;
199pub const SEEK_SET: u32 = 0;
200pub const FILENAME_MAX: u32 = 260;
201pub const FOPEN_MAX: u32 = 20;
202pub const _SYS_OPEN: u32 = 20;
203pub const TMP_MAX: u32 = 2147483647;
204pub const TMP_MAX_S: u32 = 2147483647;
205pub const _TMP_MAX_S: u32 = 2147483647;
206pub const SYS_OPEN: u32 = 20;
207pub type va_list = *mut ::std::os::raw::c_char;
208extern "C" {
209    pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
210}
211pub type __vcrt_bool = bool;
212pub type wchar_t = ::std::os::raw::c_ushort;
213extern "C" {
214    pub fn __security_init_cookie();
215}
216extern "C" {
217    pub fn __security_check_cookie(_StackCookie: usize);
218}
219extern "C" {
220    pub fn __report_gsfailure(_StackCookie: usize) -> !;
221}
222extern "C" {
223    pub static mut __security_cookie: usize;
224}
225pub type int_least8_t = ::std::os::raw::c_schar;
226pub type int_least16_t = ::std::os::raw::c_short;
227pub type int_least32_t = ::std::os::raw::c_int;
228pub type int_least64_t = ::std::os::raw::c_longlong;
229pub type uint_least8_t = ::std::os::raw::c_uchar;
230pub type uint_least16_t = ::std::os::raw::c_ushort;
231pub type uint_least32_t = ::std::os::raw::c_uint;
232pub type uint_least64_t = ::std::os::raw::c_ulonglong;
233pub type int_fast8_t = ::std::os::raw::c_schar;
234pub type int_fast16_t = ::std::os::raw::c_int;
235pub type int_fast32_t = ::std::os::raw::c_int;
236pub type int_fast64_t = ::std::os::raw::c_longlong;
237pub type uint_fast8_t = ::std::os::raw::c_uchar;
238pub type uint_fast16_t = ::std::os::raw::c_uint;
239pub type uint_fast32_t = ::std::os::raw::c_uint;
240pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
241pub type intmax_t = ::std::os::raw::c_longlong;
242pub type uintmax_t = ::std::os::raw::c_ulonglong;
243pub type size32_t = u32;
244pub type ssize32_t = i32;
245pub type size64_t = u64;
246pub type ssize64_t = i64;
247pub type off64_t = i64;
248pub type __crt_bool = bool;
249extern "C" {
250    pub fn _invalid_parameter_noinfo();
251}
252extern "C" {
253    pub fn _invalid_parameter_noinfo_noreturn() -> !;
254}
255extern "C" {
256    pub fn _invoke_watson(
257        _Expression: *const wchar_t,
258        _FunctionName: *const wchar_t,
259        _FileName: *const wchar_t,
260        _LineNo: ::std::os::raw::c_uint,
261        _Reserved: usize,
262    ) -> !;
263}
264pub type errno_t = ::std::os::raw::c_int;
265pub type wint_t = ::std::os::raw::c_ushort;
266pub type wctype_t = ::std::os::raw::c_ushort;
267pub type __time32_t = ::std::os::raw::c_long;
268pub type __time64_t = ::std::os::raw::c_longlong;
269#[repr(C)]
270#[derive(Debug, Copy, Clone)]
271pub struct __crt_locale_data_public {
272    pub _locale_pctype: *const ::std::os::raw::c_ushort,
273    pub _locale_mb_cur_max: ::std::os::raw::c_int,
274    pub _locale_lc_codepage: ::std::os::raw::c_uint,
275}
276#[test]
277fn bindgen_test_layout___crt_locale_data_public() {
278    const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> =
279        ::std::mem::MaybeUninit::uninit();
280    let ptr = UNINIT.as_ptr();
281    assert_eq!(
282        ::std::mem::size_of::<__crt_locale_data_public>(),
283        16usize,
284        concat!("Size of: ", stringify!(__crt_locale_data_public))
285    );
286    assert_eq!(
287        ::std::mem::align_of::<__crt_locale_data_public>(),
288        8usize,
289        concat!("Alignment of ", stringify!(__crt_locale_data_public))
290    );
291    assert_eq!(
292        unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize },
293        0usize,
294        concat!(
295            "Offset of field: ",
296            stringify!(__crt_locale_data_public),
297            "::",
298            stringify!(_locale_pctype)
299        )
300    );
301    assert_eq!(
302        unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize },
303        8usize,
304        concat!(
305            "Offset of field: ",
306            stringify!(__crt_locale_data_public),
307            "::",
308            stringify!(_locale_mb_cur_max)
309        )
310    );
311    assert_eq!(
312        unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize },
313        12usize,
314        concat!(
315            "Offset of field: ",
316            stringify!(__crt_locale_data_public),
317            "::",
318            stringify!(_locale_lc_codepage)
319        )
320    );
321}
322#[repr(C)]
323#[derive(Debug, Copy, Clone)]
324pub struct __crt_locale_pointers {
325    pub locinfo: *mut __crt_locale_data,
326    pub mbcinfo: *mut __crt_multibyte_data,
327}
328#[test]
329fn bindgen_test_layout___crt_locale_pointers() {
330    const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> =
331        ::std::mem::MaybeUninit::uninit();
332    let ptr = UNINIT.as_ptr();
333    assert_eq!(
334        ::std::mem::size_of::<__crt_locale_pointers>(),
335        16usize,
336        concat!("Size of: ", stringify!(__crt_locale_pointers))
337    );
338    assert_eq!(
339        ::std::mem::align_of::<__crt_locale_pointers>(),
340        8usize,
341        concat!("Alignment of ", stringify!(__crt_locale_pointers))
342    );
343    assert_eq!(
344        unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize },
345        0usize,
346        concat!(
347            "Offset of field: ",
348            stringify!(__crt_locale_pointers),
349            "::",
350            stringify!(locinfo)
351        )
352    );
353    assert_eq!(
354        unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize },
355        8usize,
356        concat!(
357            "Offset of field: ",
358            stringify!(__crt_locale_pointers),
359            "::",
360            stringify!(mbcinfo)
361        )
362    );
363}
364pub type _locale_t = *mut __crt_locale_pointers;
365#[repr(C)]
366#[derive(Debug, Copy, Clone)]
367pub struct _Mbstatet {
368    pub _Wchar: ::std::os::raw::c_ulong,
369    pub _Byte: ::std::os::raw::c_ushort,
370    pub _State: ::std::os::raw::c_ushort,
371}
372#[test]
373fn bindgen_test_layout__Mbstatet() {
374    const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit();
375    let ptr = UNINIT.as_ptr();
376    assert_eq!(
377        ::std::mem::size_of::<_Mbstatet>(),
378        8usize,
379        concat!("Size of: ", stringify!(_Mbstatet))
380    );
381    assert_eq!(
382        ::std::mem::align_of::<_Mbstatet>(),
383        4usize,
384        concat!("Alignment of ", stringify!(_Mbstatet))
385    );
386    assert_eq!(
387        unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize },
388        0usize,
389        concat!(
390            "Offset of field: ",
391            stringify!(_Mbstatet),
392            "::",
393            stringify!(_Wchar)
394        )
395    );
396    assert_eq!(
397        unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize },
398        4usize,
399        concat!(
400            "Offset of field: ",
401            stringify!(_Mbstatet),
402            "::",
403            stringify!(_Byte)
404        )
405    );
406    assert_eq!(
407        unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize },
408        6usize,
409        concat!(
410            "Offset of field: ",
411            stringify!(_Mbstatet),
412            "::",
413            stringify!(_State)
414        )
415    );
416}
417pub type mbstate_t = _Mbstatet;
418pub type time_t = __time64_t;
419pub type rsize_t = usize;
420extern "C" {
421    pub fn _errno() -> *mut ::std::os::raw::c_int;
422}
423extern "C" {
424    pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
425}
426extern "C" {
427    pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
428}
429extern "C" {
430    pub fn __doserrno() -> *mut ::std::os::raw::c_ulong;
431}
432extern "C" {
433    pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t;
434}
435extern "C" {
436    pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t;
437}
438extern "C" {
439    pub fn memchr(
440        _Buf: *const ::std::os::raw::c_void,
441        _Val: ::std::os::raw::c_int,
442        _MaxCount: ::std::os::raw::c_ulonglong,
443    ) -> *mut ::std::os::raw::c_void;
444}
445extern "C" {
446    pub fn memcmp(
447        _Buf1: *const ::std::os::raw::c_void,
448        _Buf2: *const ::std::os::raw::c_void,
449        _Size: ::std::os::raw::c_ulonglong,
450    ) -> ::std::os::raw::c_int;
451}
452extern "C" {
453    pub fn memcpy(
454        _Dst: *mut ::std::os::raw::c_void,
455        _Src: *const ::std::os::raw::c_void,
456        _Size: ::std::os::raw::c_ulonglong,
457    ) -> *mut ::std::os::raw::c_void;
458}
459extern "C" {
460    pub fn memmove(
461        _Dst: *mut ::std::os::raw::c_void,
462        _Src: *const ::std::os::raw::c_void,
463        _Size: ::std::os::raw::c_ulonglong,
464    ) -> *mut ::std::os::raw::c_void;
465}
466extern "C" {
467    pub fn memset(
468        _Dst: *mut ::std::os::raw::c_void,
469        _Val: ::std::os::raw::c_int,
470        _Size: ::std::os::raw::c_ulonglong,
471    ) -> *mut ::std::os::raw::c_void;
472}
473extern "C" {
474    pub fn strchr(
475        _Str: *const ::std::os::raw::c_char,
476        _Val: ::std::os::raw::c_int,
477    ) -> *mut ::std::os::raw::c_char;
478}
479extern "C" {
480    pub fn strrchr(
481        _Str: *const ::std::os::raw::c_char,
482        _Ch: ::std::os::raw::c_int,
483    ) -> *mut ::std::os::raw::c_char;
484}
485extern "C" {
486    pub fn strstr(
487        _Str: *const ::std::os::raw::c_char,
488        _SubStr: *const ::std::os::raw::c_char,
489    ) -> *mut ::std::os::raw::c_char;
490}
491extern "C" {
492    pub fn wcschr(
493        _Str: *const ::std::os::raw::c_ushort,
494        _Ch: ::std::os::raw::c_ushort,
495    ) -> *mut ::std::os::raw::c_ushort;
496}
497extern "C" {
498    pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t;
499}
500extern "C" {
501    pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t;
502}
503extern "C" {
504    pub fn _cgetws_s(_Buffer: *mut wchar_t, _BufferCount: usize, _SizeRead: *mut usize) -> errno_t;
505}
506extern "C" {
507    pub fn _cputws(_Buffer: *const wchar_t) -> ::std::os::raw::c_int;
508}
509extern "C" {
510    pub fn _getwch() -> wint_t;
511}
512extern "C" {
513    pub fn _getwche() -> wint_t;
514}
515extern "C" {
516    pub fn _putwch(_Character: wchar_t) -> wint_t;
517}
518extern "C" {
519    pub fn _ungetwch(_Character: wint_t) -> wint_t;
520}
521extern "C" {
522    pub fn _getwch_nolock() -> wint_t;
523}
524extern "C" {
525    pub fn _getwche_nolock() -> wint_t;
526}
527extern "C" {
528    pub fn _putwch_nolock(_Character: wchar_t) -> wint_t;
529}
530extern "C" {
531    pub fn _ungetwch_nolock(_Character: wint_t) -> wint_t;
532}
533extern "C" {
534    pub fn __conio_common_vcwprintf(
535        _Options: ::std::os::raw::c_ulonglong,
536        _Format: *const wchar_t,
537        _Locale: _locale_t,
538        _ArgList: va_list,
539    ) -> ::std::os::raw::c_int;
540}
541extern "C" {
542    pub fn __conio_common_vcwprintf_s(
543        _Options: ::std::os::raw::c_ulonglong,
544        _Format: *const wchar_t,
545        _Locale: _locale_t,
546        _ArgList: va_list,
547    ) -> ::std::os::raw::c_int;
548}
549extern "C" {
550    pub fn __conio_common_vcwprintf_p(
551        _Options: ::std::os::raw::c_ulonglong,
552        _Format: *const wchar_t,
553        _Locale: _locale_t,
554        _ArgList: va_list,
555    ) -> ::std::os::raw::c_int;
556}
557extern "C" {
558    pub fn __conio_common_vcwscanf(
559        _Options: ::std::os::raw::c_ulonglong,
560        _Format: *const wchar_t,
561        _Locale: _locale_t,
562        _ArgList: va_list,
563    ) -> ::std::os::raw::c_int;
564}
565extern "C" {
566    pub fn __pctype_func() -> *const ::std::os::raw::c_ushort;
567}
568extern "C" {
569    pub fn __pwctype_func() -> *const wctype_t;
570}
571extern "C" {
572    pub fn iswalnum(_C: wint_t) -> ::std::os::raw::c_int;
573}
574extern "C" {
575    pub fn iswalpha(_C: wint_t) -> ::std::os::raw::c_int;
576}
577extern "C" {
578    pub fn iswascii(_C: wint_t) -> ::std::os::raw::c_int;
579}
580extern "C" {
581    pub fn iswblank(_C: wint_t) -> ::std::os::raw::c_int;
582}
583extern "C" {
584    pub fn iswcntrl(_C: wint_t) -> ::std::os::raw::c_int;
585}
586extern "C" {
587    pub fn iswdigit(_C: wint_t) -> ::std::os::raw::c_int;
588}
589extern "C" {
590    pub fn iswgraph(_C: wint_t) -> ::std::os::raw::c_int;
591}
592extern "C" {
593    pub fn iswlower(_C: wint_t) -> ::std::os::raw::c_int;
594}
595extern "C" {
596    pub fn iswprint(_C: wint_t) -> ::std::os::raw::c_int;
597}
598extern "C" {
599    pub fn iswpunct(_C: wint_t) -> ::std::os::raw::c_int;
600}
601extern "C" {
602    pub fn iswspace(_C: wint_t) -> ::std::os::raw::c_int;
603}
604extern "C" {
605    pub fn iswupper(_C: wint_t) -> ::std::os::raw::c_int;
606}
607extern "C" {
608    pub fn iswxdigit(_C: wint_t) -> ::std::os::raw::c_int;
609}
610extern "C" {
611    pub fn __iswcsymf(_C: wint_t) -> ::std::os::raw::c_int;
612}
613extern "C" {
614    pub fn __iswcsym(_C: wint_t) -> ::std::os::raw::c_int;
615}
616extern "C" {
617    pub fn _iswalnum_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
618}
619extern "C" {
620    pub fn _iswalpha_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
621}
622extern "C" {
623    pub fn _iswblank_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
624}
625extern "C" {
626    pub fn _iswcntrl_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
627}
628extern "C" {
629    pub fn _iswdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
630}
631extern "C" {
632    pub fn _iswgraph_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
633}
634extern "C" {
635    pub fn _iswlower_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
636}
637extern "C" {
638    pub fn _iswprint_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
639}
640extern "C" {
641    pub fn _iswpunct_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
642}
643extern "C" {
644    pub fn _iswspace_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
645}
646extern "C" {
647    pub fn _iswupper_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
648}
649extern "C" {
650    pub fn _iswxdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
651}
652extern "C" {
653    pub fn _iswcsymf_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
654}
655extern "C" {
656    pub fn _iswcsym_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
657}
658extern "C" {
659    pub fn towupper(_C: wint_t) -> wint_t;
660}
661extern "C" {
662    pub fn towlower(_C: wint_t) -> wint_t;
663}
664extern "C" {
665    pub fn iswctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int;
666}
667extern "C" {
668    pub fn _towupper_l(_C: wint_t, _Locale: _locale_t) -> wint_t;
669}
670extern "C" {
671    pub fn _towlower_l(_C: wint_t, _Locale: _locale_t) -> wint_t;
672}
673extern "C" {
674    pub fn _iswctype_l(_C: wint_t, _Type: wctype_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
675}
676extern "C" {
677    pub fn isleadbyte(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
678}
679extern "C" {
680    pub fn _isleadbyte_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int;
681}
682extern "C" {
683    pub fn is_wctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int;
684}
685extern "C" {
686    pub fn _wgetcwd(_DstBuf: *mut wchar_t, _SizeInWords: ::std::os::raw::c_int) -> *mut wchar_t;
687}
688extern "C" {
689    pub fn _wgetdcwd(
690        _Drive: ::std::os::raw::c_int,
691        _DstBuf: *mut wchar_t,
692        _SizeInWords: ::std::os::raw::c_int,
693    ) -> *mut wchar_t;
694}
695extern "C" {
696    pub fn _wchdir(_Path: *const wchar_t) -> ::std::os::raw::c_int;
697}
698extern "C" {
699    pub fn _wmkdir(_Path: *const wchar_t) -> ::std::os::raw::c_int;
700}
701extern "C" {
702    pub fn _wrmdir(_Path: *const wchar_t) -> ::std::os::raw::c_int;
703}
704pub type _fsize_t = ::std::os::raw::c_ulong;
705#[repr(C)]
706#[derive(Debug, Copy, Clone)]
707pub struct _wfinddata32_t {
708    pub attrib: ::std::os::raw::c_uint,
709    pub time_create: __time32_t,
710    pub time_access: __time32_t,
711    pub time_write: __time32_t,
712    pub size: _fsize_t,
713    pub name: [wchar_t; 260usize],
714}
715#[test]
716fn bindgen_test_layout__wfinddata32_t() {
717    const UNINIT: ::std::mem::MaybeUninit<_wfinddata32_t> = ::std::mem::MaybeUninit::uninit();
718    let ptr = UNINIT.as_ptr();
719    assert_eq!(
720        ::std::mem::size_of::<_wfinddata32_t>(),
721        540usize,
722        concat!("Size of: ", stringify!(_wfinddata32_t))
723    );
724    assert_eq!(
725        ::std::mem::align_of::<_wfinddata32_t>(),
726        4usize,
727        concat!("Alignment of ", stringify!(_wfinddata32_t))
728    );
729    assert_eq!(
730        unsafe { ::std::ptr::addr_of!((*ptr).attrib) as usize - ptr as usize },
731        0usize,
732        concat!(
733            "Offset of field: ",
734            stringify!(_wfinddata32_t),
735            "::",
736            stringify!(attrib)
737        )
738    );
739    assert_eq!(
740        unsafe { ::std::ptr::addr_of!((*ptr).time_create) as usize - ptr as usize },
741        4usize,
742        concat!(
743            "Offset of field: ",
744            stringify!(_wfinddata32_t),
745            "::",
746            stringify!(time_create)
747        )
748    );
749    assert_eq!(
750        unsafe { ::std::ptr::addr_of!((*ptr).time_access) as usize - ptr as usize },
751        8usize,
752        concat!(
753            "Offset of field: ",
754            stringify!(_wfinddata32_t),
755            "::",
756            stringify!(time_access)
757        )
758    );
759    assert_eq!(
760        unsafe { ::std::ptr::addr_of!((*ptr).time_write) as usize - ptr as usize },
761        12usize,
762        concat!(
763            "Offset of field: ",
764            stringify!(_wfinddata32_t),
765            "::",
766            stringify!(time_write)
767        )
768    );
769    assert_eq!(
770        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
771        16usize,
772        concat!(
773            "Offset of field: ",
774            stringify!(_wfinddata32_t),
775            "::",
776            stringify!(size)
777        )
778    );
779    assert_eq!(
780        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
781        20usize,
782        concat!(
783            "Offset of field: ",
784            stringify!(_wfinddata32_t),
785            "::",
786            stringify!(name)
787        )
788    );
789}
790#[repr(C)]
791#[derive(Debug, Copy, Clone)]
792pub struct _wfinddata32i64_t {
793    pub attrib: ::std::os::raw::c_uint,
794    pub time_create: __time32_t,
795    pub time_access: __time32_t,
796    pub time_write: __time32_t,
797    pub size: ::std::os::raw::c_longlong,
798    pub name: [wchar_t; 260usize],
799}
800#[test]
801fn bindgen_test_layout__wfinddata32i64_t() {
802    const UNINIT: ::std::mem::MaybeUninit<_wfinddata32i64_t> = ::std::mem::MaybeUninit::uninit();
803    let ptr = UNINIT.as_ptr();
804    assert_eq!(
805        ::std::mem::size_of::<_wfinddata32i64_t>(),
806        544usize,
807        concat!("Size of: ", stringify!(_wfinddata32i64_t))
808    );
809    assert_eq!(
810        ::std::mem::align_of::<_wfinddata32i64_t>(),
811        8usize,
812        concat!("Alignment of ", stringify!(_wfinddata32i64_t))
813    );
814    assert_eq!(
815        unsafe { ::std::ptr::addr_of!((*ptr).attrib) as usize - ptr as usize },
816        0usize,
817        concat!(
818            "Offset of field: ",
819            stringify!(_wfinddata32i64_t),
820            "::",
821            stringify!(attrib)
822        )
823    );
824    assert_eq!(
825        unsafe { ::std::ptr::addr_of!((*ptr).time_create) as usize - ptr as usize },
826        4usize,
827        concat!(
828            "Offset of field: ",
829            stringify!(_wfinddata32i64_t),
830            "::",
831            stringify!(time_create)
832        )
833    );
834    assert_eq!(
835        unsafe { ::std::ptr::addr_of!((*ptr).time_access) as usize - ptr as usize },
836        8usize,
837        concat!(
838            "Offset of field: ",
839            stringify!(_wfinddata32i64_t),
840            "::",
841            stringify!(time_access)
842        )
843    );
844    assert_eq!(
845        unsafe { ::std::ptr::addr_of!((*ptr).time_write) as usize - ptr as usize },
846        12usize,
847        concat!(
848            "Offset of field: ",
849            stringify!(_wfinddata32i64_t),
850            "::",
851            stringify!(time_write)
852        )
853    );
854    assert_eq!(
855        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
856        16usize,
857        concat!(
858            "Offset of field: ",
859            stringify!(_wfinddata32i64_t),
860            "::",
861            stringify!(size)
862        )
863    );
864    assert_eq!(
865        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
866        24usize,
867        concat!(
868            "Offset of field: ",
869            stringify!(_wfinddata32i64_t),
870            "::",
871            stringify!(name)
872        )
873    );
874}
875#[repr(C)]
876#[derive(Debug, Copy, Clone)]
877pub struct _wfinddata64i32_t {
878    pub attrib: ::std::os::raw::c_uint,
879    pub time_create: __time64_t,
880    pub time_access: __time64_t,
881    pub time_write: __time64_t,
882    pub size: _fsize_t,
883    pub name: [wchar_t; 260usize],
884}
885#[test]
886fn bindgen_test_layout__wfinddata64i32_t() {
887    const UNINIT: ::std::mem::MaybeUninit<_wfinddata64i32_t> = ::std::mem::MaybeUninit::uninit();
888    let ptr = UNINIT.as_ptr();
889    assert_eq!(
890        ::std::mem::size_of::<_wfinddata64i32_t>(),
891        560usize,
892        concat!("Size of: ", stringify!(_wfinddata64i32_t))
893    );
894    assert_eq!(
895        ::std::mem::align_of::<_wfinddata64i32_t>(),
896        8usize,
897        concat!("Alignment of ", stringify!(_wfinddata64i32_t))
898    );
899    assert_eq!(
900        unsafe { ::std::ptr::addr_of!((*ptr).attrib) as usize - ptr as usize },
901        0usize,
902        concat!(
903            "Offset of field: ",
904            stringify!(_wfinddata64i32_t),
905            "::",
906            stringify!(attrib)
907        )
908    );
909    assert_eq!(
910        unsafe { ::std::ptr::addr_of!((*ptr).time_create) as usize - ptr as usize },
911        8usize,
912        concat!(
913            "Offset of field: ",
914            stringify!(_wfinddata64i32_t),
915            "::",
916            stringify!(time_create)
917        )
918    );
919    assert_eq!(
920        unsafe { ::std::ptr::addr_of!((*ptr).time_access) as usize - ptr as usize },
921        16usize,
922        concat!(
923            "Offset of field: ",
924            stringify!(_wfinddata64i32_t),
925            "::",
926            stringify!(time_access)
927        )
928    );
929    assert_eq!(
930        unsafe { ::std::ptr::addr_of!((*ptr).time_write) as usize - ptr as usize },
931        24usize,
932        concat!(
933            "Offset of field: ",
934            stringify!(_wfinddata64i32_t),
935            "::",
936            stringify!(time_write)
937        )
938    );
939    assert_eq!(
940        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
941        32usize,
942        concat!(
943            "Offset of field: ",
944            stringify!(_wfinddata64i32_t),
945            "::",
946            stringify!(size)
947        )
948    );
949    assert_eq!(
950        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
951        36usize,
952        concat!(
953            "Offset of field: ",
954            stringify!(_wfinddata64i32_t),
955            "::",
956            stringify!(name)
957        )
958    );
959}
960#[repr(C)]
961#[derive(Debug, Copy, Clone)]
962pub struct _wfinddata64_t {
963    pub attrib: ::std::os::raw::c_uint,
964    pub time_create: __time64_t,
965    pub time_access: __time64_t,
966    pub time_write: __time64_t,
967    pub size: ::std::os::raw::c_longlong,
968    pub name: [wchar_t; 260usize],
969}
970#[test]
971fn bindgen_test_layout__wfinddata64_t() {
972    const UNINIT: ::std::mem::MaybeUninit<_wfinddata64_t> = ::std::mem::MaybeUninit::uninit();
973    let ptr = UNINIT.as_ptr();
974    assert_eq!(
975        ::std::mem::size_of::<_wfinddata64_t>(),
976        560usize,
977        concat!("Size of: ", stringify!(_wfinddata64_t))
978    );
979    assert_eq!(
980        ::std::mem::align_of::<_wfinddata64_t>(),
981        8usize,
982        concat!("Alignment of ", stringify!(_wfinddata64_t))
983    );
984    assert_eq!(
985        unsafe { ::std::ptr::addr_of!((*ptr).attrib) as usize - ptr as usize },
986        0usize,
987        concat!(
988            "Offset of field: ",
989            stringify!(_wfinddata64_t),
990            "::",
991            stringify!(attrib)
992        )
993    );
994    assert_eq!(
995        unsafe { ::std::ptr::addr_of!((*ptr).time_create) as usize - ptr as usize },
996        8usize,
997        concat!(
998            "Offset of field: ",
999            stringify!(_wfinddata64_t),
1000            "::",
1001            stringify!(time_create)
1002        )
1003    );
1004    assert_eq!(
1005        unsafe { ::std::ptr::addr_of!((*ptr).time_access) as usize - ptr as usize },
1006        16usize,
1007        concat!(
1008            "Offset of field: ",
1009            stringify!(_wfinddata64_t),
1010            "::",
1011            stringify!(time_access)
1012        )
1013    );
1014    assert_eq!(
1015        unsafe { ::std::ptr::addr_of!((*ptr).time_write) as usize - ptr as usize },
1016        24usize,
1017        concat!(
1018            "Offset of field: ",
1019            stringify!(_wfinddata64_t),
1020            "::",
1021            stringify!(time_write)
1022        )
1023    );
1024    assert_eq!(
1025        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1026        32usize,
1027        concat!(
1028            "Offset of field: ",
1029            stringify!(_wfinddata64_t),
1030            "::",
1031            stringify!(size)
1032        )
1033    );
1034    assert_eq!(
1035        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1036        40usize,
1037        concat!(
1038            "Offset of field: ",
1039            stringify!(_wfinddata64_t),
1040            "::",
1041            stringify!(name)
1042        )
1043    );
1044}
1045extern "C" {
1046    pub fn _waccess(
1047        _FileName: *const wchar_t,
1048        _AccessMode: ::std::os::raw::c_int,
1049    ) -> ::std::os::raw::c_int;
1050}
1051extern "C" {
1052    pub fn _waccess_s(_FileName: *const wchar_t, _AccessMode: ::std::os::raw::c_int) -> errno_t;
1053}
1054extern "C" {
1055    pub fn _wchmod(
1056        _FileName: *const wchar_t,
1057        _Mode: ::std::os::raw::c_int,
1058    ) -> ::std::os::raw::c_int;
1059}
1060extern "C" {
1061    pub fn _wcreat(
1062        _FileName: *const wchar_t,
1063        _PermissionMode: ::std::os::raw::c_int,
1064    ) -> ::std::os::raw::c_int;
1065}
1066extern "C" {
1067    pub fn _wfindfirst32(_FileName: *const wchar_t, _FindData: *mut _wfinddata32_t) -> isize;
1068}
1069extern "C" {
1070    pub fn _wfindnext32(
1071        _FindHandle: isize,
1072        _FindData: *mut _wfinddata32_t,
1073    ) -> ::std::os::raw::c_int;
1074}
1075extern "C" {
1076    pub fn _wunlink(_FileName: *const wchar_t) -> ::std::os::raw::c_int;
1077}
1078extern "C" {
1079    pub fn _wrename(
1080        _OldFileName: *const wchar_t,
1081        _NewFileName: *const wchar_t,
1082    ) -> ::std::os::raw::c_int;
1083}
1084extern "C" {
1085    pub fn _wmktemp_s(_TemplateName: *mut wchar_t, _SizeInWords: usize) -> errno_t;
1086}
1087extern "C" {
1088    pub fn _wmktemp(_TemplateName: *mut wchar_t) -> *mut wchar_t;
1089}
1090extern "C" {
1091    pub fn _wfindfirst32i64(_FileName: *const wchar_t, _FindData: *mut _wfinddata32i64_t) -> isize;
1092}
1093extern "C" {
1094    pub fn _wfindfirst64i32(_FileName: *const wchar_t, _FindData: *mut _wfinddata64i32_t) -> isize;
1095}
1096extern "C" {
1097    pub fn _wfindfirst64(_FileName: *const wchar_t, _FindData: *mut _wfinddata64_t) -> isize;
1098}
1099extern "C" {
1100    pub fn _wfindnext32i64(
1101        _FindHandle: isize,
1102        _FindData: *mut _wfinddata32i64_t,
1103    ) -> ::std::os::raw::c_int;
1104}
1105extern "C" {
1106    pub fn _wfindnext64i32(
1107        _FindHandle: isize,
1108        _FindData: *mut _wfinddata64i32_t,
1109    ) -> ::std::os::raw::c_int;
1110}
1111extern "C" {
1112    pub fn _wfindnext64(
1113        _FindHandle: isize,
1114        _FindData: *mut _wfinddata64_t,
1115    ) -> ::std::os::raw::c_int;
1116}
1117extern "C" {
1118    pub fn _wsopen_s(
1119        _FileHandle: *mut ::std::os::raw::c_int,
1120        _FileName: *const wchar_t,
1121        _OpenFlag: ::std::os::raw::c_int,
1122        _ShareFlag: ::std::os::raw::c_int,
1123        _PermissionFlag: ::std::os::raw::c_int,
1124    ) -> errno_t;
1125}
1126extern "C" {
1127    pub fn _wsopen_dispatch(
1128        _FileName: *const wchar_t,
1129        _OFlag: ::std::os::raw::c_int,
1130        _ShFlag: ::std::os::raw::c_int,
1131        _PMode: ::std::os::raw::c_int,
1132        _PFileHandle: *mut ::std::os::raw::c_int,
1133        _BSecure: ::std::os::raw::c_int,
1134    ) -> errno_t;
1135}
1136extern "C" {
1137    pub fn _wopen(
1138        _FileName: *const wchar_t,
1139        _OpenFlag: ::std::os::raw::c_int,
1140        ...
1141    ) -> ::std::os::raw::c_int;
1142}
1143extern "C" {
1144    pub fn _wsopen(
1145        _FileName: *const wchar_t,
1146        _OpenFlag: ::std::os::raw::c_int,
1147        _ShareFlag: ::std::os::raw::c_int,
1148        ...
1149    ) -> ::std::os::raw::c_int;
1150}
1151extern "C" {
1152    pub fn _wexecl(_FileName: *const wchar_t, _ArgList: *const wchar_t, ...) -> isize;
1153}
1154extern "C" {
1155    pub fn _wexecle(_FileName: *const wchar_t, _ArgList: *const wchar_t, ...) -> isize;
1156}
1157extern "C" {
1158    pub fn _wexeclp(_FileName: *const wchar_t, _ArgList: *const wchar_t, ...) -> isize;
1159}
1160extern "C" {
1161    pub fn _wexeclpe(_FileName: *const wchar_t, _ArgList: *const wchar_t, ...) -> isize;
1162}
1163extern "C" {
1164    pub fn _wexecv(_FileName: *const wchar_t, _ArgList: *const *const wchar_t) -> isize;
1165}
1166extern "C" {
1167    pub fn _wexecve(
1168        _FileName: *const wchar_t,
1169        _ArgList: *const *const wchar_t,
1170        _Env: *const *const wchar_t,
1171    ) -> isize;
1172}
1173extern "C" {
1174    pub fn _wexecvp(_FileName: *const wchar_t, _ArgList: *const *const wchar_t) -> isize;
1175}
1176extern "C" {
1177    pub fn _wexecvpe(
1178        _FileName: *const wchar_t,
1179        _ArgList: *const *const wchar_t,
1180        _Env: *const *const wchar_t,
1181    ) -> isize;
1182}
1183extern "C" {
1184    pub fn _wspawnl(
1185        _Mode: ::std::os::raw::c_int,
1186        _FileName: *const wchar_t,
1187        _ArgList: *const wchar_t,
1188        ...
1189    ) -> isize;
1190}
1191extern "C" {
1192    pub fn _wspawnle(
1193        _Mode: ::std::os::raw::c_int,
1194        _FileName: *const wchar_t,
1195        _ArgList: *const wchar_t,
1196        ...
1197    ) -> isize;
1198}
1199extern "C" {
1200    pub fn _wspawnlp(
1201        _Mode: ::std::os::raw::c_int,
1202        _FileName: *const wchar_t,
1203        _ArgList: *const wchar_t,
1204        ...
1205    ) -> isize;
1206}
1207extern "C" {
1208    pub fn _wspawnlpe(
1209        _Mode: ::std::os::raw::c_int,
1210        _FileName: *const wchar_t,
1211        _ArgList: *const wchar_t,
1212        ...
1213    ) -> isize;
1214}
1215extern "C" {
1216    pub fn _wspawnv(
1217        _Mode: ::std::os::raw::c_int,
1218        _FileName: *const wchar_t,
1219        _ArgList: *const *const wchar_t,
1220    ) -> isize;
1221}
1222extern "C" {
1223    pub fn _wspawnve(
1224        _Mode: ::std::os::raw::c_int,
1225        _FileName: *const wchar_t,
1226        _ArgList: *const *const wchar_t,
1227        _Env: *const *const wchar_t,
1228    ) -> isize;
1229}
1230extern "C" {
1231    pub fn _wspawnvp(
1232        _Mode: ::std::os::raw::c_int,
1233        _FileName: *const wchar_t,
1234        _ArgList: *const *const wchar_t,
1235    ) -> isize;
1236}
1237extern "C" {
1238    pub fn _wspawnvpe(
1239        _Mode: ::std::os::raw::c_int,
1240        _FileName: *const wchar_t,
1241        _ArgList: *const *const wchar_t,
1242        _Env: *const *const wchar_t,
1243    ) -> isize;
1244}
1245extern "C" {
1246    pub fn _wsystem(_Command: *const wchar_t) -> ::std::os::raw::c_int;
1247}
1248#[repr(C)]
1249#[derive(Debug, Copy, Clone)]
1250pub struct _iobuf {
1251    pub _Placeholder: *mut ::std::os::raw::c_void,
1252}
1253#[test]
1254fn bindgen_test_layout__iobuf() {
1255    const UNINIT: ::std::mem::MaybeUninit<_iobuf> = ::std::mem::MaybeUninit::uninit();
1256    let ptr = UNINIT.as_ptr();
1257    assert_eq!(
1258        ::std::mem::size_of::<_iobuf>(),
1259        8usize,
1260        concat!("Size of: ", stringify!(_iobuf))
1261    );
1262    assert_eq!(
1263        ::std::mem::align_of::<_iobuf>(),
1264        8usize,
1265        concat!("Alignment of ", stringify!(_iobuf))
1266    );
1267    assert_eq!(
1268        unsafe { ::std::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize },
1269        0usize,
1270        concat!(
1271            "Offset of field: ",
1272            stringify!(_iobuf),
1273            "::",
1274            stringify!(_Placeholder)
1275        )
1276    );
1277}
1278pub type FILE = _iobuf;
1279extern "C" {
1280    pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE;
1281}
1282extern "C" {
1283    pub fn fgetwc(_Stream: *mut FILE) -> wint_t;
1284}
1285extern "C" {
1286    pub fn _fgetwchar() -> wint_t;
1287}
1288extern "C" {
1289    pub fn fputwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
1290}
1291extern "C" {
1292    pub fn _fputwchar(_Character: wchar_t) -> wint_t;
1293}
1294extern "C" {
1295    pub fn getwc(_Stream: *mut FILE) -> wint_t;
1296}
1297extern "C" {
1298    pub fn getwchar() -> wint_t;
1299}
1300extern "C" {
1301    pub fn fgetws(
1302        _Buffer: *mut wchar_t,
1303        _BufferCount: ::std::os::raw::c_int,
1304        _Stream: *mut FILE,
1305    ) -> *mut wchar_t;
1306}
1307extern "C" {
1308    pub fn fputws(_Buffer: *const wchar_t, _Stream: *mut FILE) -> ::std::os::raw::c_int;
1309}
1310extern "C" {
1311    pub fn _getws_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> *mut wchar_t;
1312}
1313extern "C" {
1314    pub fn putwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
1315}
1316extern "C" {
1317    pub fn putwchar(_Character: wchar_t) -> wint_t;
1318}
1319extern "C" {
1320    pub fn _putws(_Buffer: *const wchar_t) -> ::std::os::raw::c_int;
1321}
1322extern "C" {
1323    pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
1324}
1325extern "C" {
1326    pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const wchar_t) -> *mut FILE;
1327}
1328extern "C" {
1329    pub fn _wfopen(_FileName: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
1330}
1331extern "C" {
1332    pub fn _wfopen_s(
1333        _Stream: *mut *mut FILE,
1334        _FileName: *const wchar_t,
1335        _Mode: *const wchar_t,
1336    ) -> errno_t;
1337}
1338extern "C" {
1339    pub fn _wfreopen(
1340        _FileName: *const wchar_t,
1341        _Mode: *const wchar_t,
1342        _OldStream: *mut FILE,
1343    ) -> *mut FILE;
1344}
1345extern "C" {
1346    pub fn _wfreopen_s(
1347        _Stream: *mut *mut FILE,
1348        _FileName: *const wchar_t,
1349        _Mode: *const wchar_t,
1350        _OldStream: *mut FILE,
1351    ) -> errno_t;
1352}
1353extern "C" {
1354    pub fn _wfsopen(
1355        _FileName: *const wchar_t,
1356        _Mode: *const wchar_t,
1357        _ShFlag: ::std::os::raw::c_int,
1358    ) -> *mut FILE;
1359}
1360extern "C" {
1361    pub fn _wperror(_ErrorMessage: *const wchar_t);
1362}
1363extern "C" {
1364    pub fn _wpopen(_Command: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
1365}
1366extern "C" {
1367    pub fn _wremove(_FileName: *const wchar_t) -> ::std::os::raw::c_int;
1368}
1369extern "C" {
1370    pub fn _wtempnam(_Directory: *const wchar_t, _FilePrefix: *const wchar_t) -> *mut wchar_t;
1371}
1372extern "C" {
1373    pub fn _wtmpnam_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> errno_t;
1374}
1375extern "C" {
1376    pub fn _wtmpnam(_Buffer: *mut wchar_t) -> *mut wchar_t;
1377}
1378extern "C" {
1379    pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t;
1380}
1381extern "C" {
1382    pub fn _fputwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
1383}
1384extern "C" {
1385    pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t;
1386}
1387extern "C" {
1388    pub fn _putwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
1389}
1390extern "C" {
1391    pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
1392}
1393extern "C" {
1394    pub fn __stdio_common_vfwprintf(
1395        _Options: ::std::os::raw::c_ulonglong,
1396        _Stream: *mut FILE,
1397        _Format: *const wchar_t,
1398        _Locale: _locale_t,
1399        _ArgList: va_list,
1400    ) -> ::std::os::raw::c_int;
1401}
1402extern "C" {
1403    pub fn __stdio_common_vfwprintf_s(
1404        _Options: ::std::os::raw::c_ulonglong,
1405        _Stream: *mut FILE,
1406        _Format: *const wchar_t,
1407        _Locale: _locale_t,
1408        _ArgList: va_list,
1409    ) -> ::std::os::raw::c_int;
1410}
1411extern "C" {
1412    pub fn __stdio_common_vfwprintf_p(
1413        _Options: ::std::os::raw::c_ulonglong,
1414        _Stream: *mut FILE,
1415        _Format: *const wchar_t,
1416        _Locale: _locale_t,
1417        _ArgList: va_list,
1418    ) -> ::std::os::raw::c_int;
1419}
1420extern "C" {
1421    pub fn __stdio_common_vfwscanf(
1422        _Options: ::std::os::raw::c_ulonglong,
1423        _Stream: *mut FILE,
1424        _Format: *const wchar_t,
1425        _Locale: _locale_t,
1426        _ArgList: va_list,
1427    ) -> ::std::os::raw::c_int;
1428}
1429extern "C" {
1430    pub fn __stdio_common_vswprintf(
1431        _Options: ::std::os::raw::c_ulonglong,
1432        _Buffer: *mut wchar_t,
1433        _BufferCount: usize,
1434        _Format: *const wchar_t,
1435        _Locale: _locale_t,
1436        _ArgList: va_list,
1437    ) -> ::std::os::raw::c_int;
1438}
1439extern "C" {
1440    pub fn __stdio_common_vswprintf_s(
1441        _Options: ::std::os::raw::c_ulonglong,
1442        _Buffer: *mut wchar_t,
1443        _BufferCount: usize,
1444        _Format: *const wchar_t,
1445        _Locale: _locale_t,
1446        _ArgList: va_list,
1447    ) -> ::std::os::raw::c_int;
1448}
1449extern "C" {
1450    pub fn __stdio_common_vsnwprintf_s(
1451        _Options: ::std::os::raw::c_ulonglong,
1452        _Buffer: *mut wchar_t,
1453        _BufferCount: usize,
1454        _MaxCount: usize,
1455        _Format: *const wchar_t,
1456        _Locale: _locale_t,
1457        _ArgList: va_list,
1458    ) -> ::std::os::raw::c_int;
1459}
1460extern "C" {
1461    pub fn __stdio_common_vswprintf_p(
1462        _Options: ::std::os::raw::c_ulonglong,
1463        _Buffer: *mut wchar_t,
1464        _BufferCount: usize,
1465        _Format: *const wchar_t,
1466        _Locale: _locale_t,
1467        _ArgList: va_list,
1468    ) -> ::std::os::raw::c_int;
1469}
1470extern "C" {
1471    pub fn __stdio_common_vswscanf(
1472        _Options: ::std::os::raw::c_ulonglong,
1473        _Buffer: *const wchar_t,
1474        _BufferCount: usize,
1475        _Format: *const wchar_t,
1476        _Locale: _locale_t,
1477        _ArgList: va_list,
1478    ) -> ::std::os::raw::c_int;
1479}
1480extern "C" {
1481    pub fn _itow_s(
1482        _Value: ::std::os::raw::c_int,
1483        _Buffer: *mut wchar_t,
1484        _BufferCount: usize,
1485        _Radix: ::std::os::raw::c_int,
1486    ) -> errno_t;
1487}
1488extern "C" {
1489    pub fn _itow(
1490        _Value: ::std::os::raw::c_int,
1491        _Buffer: *mut wchar_t,
1492        _Radix: ::std::os::raw::c_int,
1493    ) -> *mut wchar_t;
1494}
1495extern "C" {
1496    pub fn _ltow_s(
1497        _Value: ::std::os::raw::c_long,
1498        _Buffer: *mut wchar_t,
1499        _BufferCount: usize,
1500        _Radix: ::std::os::raw::c_int,
1501    ) -> errno_t;
1502}
1503extern "C" {
1504    pub fn _ltow(
1505        _Value: ::std::os::raw::c_long,
1506        _Buffer: *mut wchar_t,
1507        _Radix: ::std::os::raw::c_int,
1508    ) -> *mut wchar_t;
1509}
1510extern "C" {
1511    pub fn _ultow_s(
1512        _Value: ::std::os::raw::c_ulong,
1513        _Buffer: *mut wchar_t,
1514        _BufferCount: usize,
1515        _Radix: ::std::os::raw::c_int,
1516    ) -> errno_t;
1517}
1518extern "C" {
1519    pub fn _ultow(
1520        _Value: ::std::os::raw::c_ulong,
1521        _Buffer: *mut wchar_t,
1522        _Radix: ::std::os::raw::c_int,
1523    ) -> *mut wchar_t;
1524}
1525extern "C" {
1526    pub fn wcstod(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
1527}
1528extern "C" {
1529    pub fn _wcstod_l(
1530        _String: *const wchar_t,
1531        _EndPtr: *mut *mut wchar_t,
1532        _Locale: _locale_t,
1533    ) -> f64;
1534}
1535extern "C" {
1536    pub fn wcstol(
1537        _String: *const wchar_t,
1538        _EndPtr: *mut *mut wchar_t,
1539        _Radix: ::std::os::raw::c_int,
1540    ) -> ::std::os::raw::c_long;
1541}
1542extern "C" {
1543    pub fn _wcstol_l(
1544        _String: *const wchar_t,
1545        _EndPtr: *mut *mut wchar_t,
1546        _Radix: ::std::os::raw::c_int,
1547        _Locale: _locale_t,
1548    ) -> ::std::os::raw::c_long;
1549}
1550extern "C" {
1551    pub fn wcstoll(
1552        _String: *const wchar_t,
1553        _EndPtr: *mut *mut wchar_t,
1554        _Radix: ::std::os::raw::c_int,
1555    ) -> ::std::os::raw::c_longlong;
1556}
1557extern "C" {
1558    pub fn _wcstoll_l(
1559        _String: *const wchar_t,
1560        _EndPtr: *mut *mut wchar_t,
1561        _Radix: ::std::os::raw::c_int,
1562        _Locale: _locale_t,
1563    ) -> ::std::os::raw::c_longlong;
1564}
1565extern "C" {
1566    pub fn wcstoul(
1567        _String: *const wchar_t,
1568        _EndPtr: *mut *mut wchar_t,
1569        _Radix: ::std::os::raw::c_int,
1570    ) -> ::std::os::raw::c_ulong;
1571}
1572extern "C" {
1573    pub fn _wcstoul_l(
1574        _String: *const wchar_t,
1575        _EndPtr: *mut *mut wchar_t,
1576        _Radix: ::std::os::raw::c_int,
1577        _Locale: _locale_t,
1578    ) -> ::std::os::raw::c_ulong;
1579}
1580extern "C" {
1581    pub fn wcstoull(
1582        _String: *const wchar_t,
1583        _EndPtr: *mut *mut wchar_t,
1584        _Radix: ::std::os::raw::c_int,
1585    ) -> ::std::os::raw::c_ulonglong;
1586}
1587extern "C" {
1588    pub fn _wcstoull_l(
1589        _String: *const wchar_t,
1590        _EndPtr: *mut *mut wchar_t,
1591        _Radix: ::std::os::raw::c_int,
1592        _Locale: _locale_t,
1593    ) -> ::std::os::raw::c_ulonglong;
1594}
1595extern "C" {
1596    pub fn wcstold(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
1597}
1598extern "C" {
1599    pub fn _wcstold_l(
1600        _String: *const wchar_t,
1601        _EndPtr: *mut *mut wchar_t,
1602        _Locale: _locale_t,
1603    ) -> f64;
1604}
1605extern "C" {
1606    pub fn wcstof(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f32;
1607}
1608extern "C" {
1609    pub fn _wcstof_l(
1610        _String: *const wchar_t,
1611        _EndPtr: *mut *mut wchar_t,
1612        _Locale: _locale_t,
1613    ) -> f32;
1614}
1615extern "C" {
1616    pub fn _wtof(_String: *const wchar_t) -> f64;
1617}
1618extern "C" {
1619    pub fn _wtof_l(_String: *const wchar_t, _Locale: _locale_t) -> f64;
1620}
1621extern "C" {
1622    pub fn _wtoi(_String: *const wchar_t) -> ::std::os::raw::c_int;
1623}
1624extern "C" {
1625    pub fn _wtoi_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
1626}
1627extern "C" {
1628    pub fn _wtol(_String: *const wchar_t) -> ::std::os::raw::c_long;
1629}
1630extern "C" {
1631    pub fn _wtol_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_long;
1632}
1633extern "C" {
1634    pub fn _wtoll(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
1635}
1636extern "C" {
1637    pub fn _wtoll_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
1638}
1639extern "C" {
1640    pub fn _i64tow_s(
1641        _Value: ::std::os::raw::c_longlong,
1642        _Buffer: *mut wchar_t,
1643        _BufferCount: usize,
1644        _Radix: ::std::os::raw::c_int,
1645    ) -> errno_t;
1646}
1647extern "C" {
1648    pub fn _i64tow(
1649        _Value: ::std::os::raw::c_longlong,
1650        _Buffer: *mut wchar_t,
1651        _Radix: ::std::os::raw::c_int,
1652    ) -> *mut wchar_t;
1653}
1654extern "C" {
1655    pub fn _ui64tow_s(
1656        _Value: ::std::os::raw::c_ulonglong,
1657        _Buffer: *mut wchar_t,
1658        _BufferCount: usize,
1659        _Radix: ::std::os::raw::c_int,
1660    ) -> errno_t;
1661}
1662extern "C" {
1663    pub fn _ui64tow(
1664        _Value: ::std::os::raw::c_ulonglong,
1665        _Buffer: *mut wchar_t,
1666        _Radix: ::std::os::raw::c_int,
1667    ) -> *mut wchar_t;
1668}
1669extern "C" {
1670    pub fn _wtoi64(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
1671}
1672extern "C" {
1673    pub fn _wtoi64_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
1674}
1675extern "C" {
1676    pub fn _wcstoi64(
1677        _String: *const wchar_t,
1678        _EndPtr: *mut *mut wchar_t,
1679        _Radix: ::std::os::raw::c_int,
1680    ) -> ::std::os::raw::c_longlong;
1681}
1682extern "C" {
1683    pub fn _wcstoi64_l(
1684        _String: *const wchar_t,
1685        _EndPtr: *mut *mut wchar_t,
1686        _Radix: ::std::os::raw::c_int,
1687        _Locale: _locale_t,
1688    ) -> ::std::os::raw::c_longlong;
1689}
1690extern "C" {
1691    pub fn _wcstoui64(
1692        _String: *const wchar_t,
1693        _EndPtr: *mut *mut wchar_t,
1694        _Radix: ::std::os::raw::c_int,
1695    ) -> ::std::os::raw::c_ulonglong;
1696}
1697extern "C" {
1698    pub fn _wcstoui64_l(
1699        _String: *const wchar_t,
1700        _EndPtr: *mut *mut wchar_t,
1701        _Radix: ::std::os::raw::c_int,
1702        _Locale: _locale_t,
1703    ) -> ::std::os::raw::c_ulonglong;
1704}
1705extern "C" {
1706    pub fn _wfullpath(
1707        _Buffer: *mut wchar_t,
1708        _Path: *const wchar_t,
1709        _BufferCount: usize,
1710    ) -> *mut wchar_t;
1711}
1712extern "C" {
1713    pub fn _wmakepath_s(
1714        _Buffer: *mut wchar_t,
1715        _BufferCount: usize,
1716        _Drive: *const wchar_t,
1717        _Dir: *const wchar_t,
1718        _Filename: *const wchar_t,
1719        _Ext: *const wchar_t,
1720    ) -> errno_t;
1721}
1722extern "C" {
1723    pub fn _wmakepath(
1724        _Buffer: *mut wchar_t,
1725        _Drive: *const wchar_t,
1726        _Dir: *const wchar_t,
1727        _Filename: *const wchar_t,
1728        _Ext: *const wchar_t,
1729    );
1730}
1731extern "C" {
1732    pub fn _wsplitpath(
1733        _FullPath: *const wchar_t,
1734        _Drive: *mut wchar_t,
1735        _Dir: *mut wchar_t,
1736        _Filename: *mut wchar_t,
1737        _Ext: *mut wchar_t,
1738    );
1739}
1740extern "C" {
1741    pub fn _wsplitpath_s(
1742        _FullPath: *const wchar_t,
1743        _Drive: *mut wchar_t,
1744        _DriveCount: usize,
1745        _Dir: *mut wchar_t,
1746        _DirCount: usize,
1747        _Filename: *mut wchar_t,
1748        _FilenameCount: usize,
1749        _Ext: *mut wchar_t,
1750        _ExtCount: usize,
1751    ) -> errno_t;
1752}
1753extern "C" {
1754    pub fn _wdupenv_s(
1755        _Buffer: *mut *mut wchar_t,
1756        _BufferCount: *mut usize,
1757        _VarName: *const wchar_t,
1758    ) -> errno_t;
1759}
1760extern "C" {
1761    pub fn _wgetenv(_VarName: *const wchar_t) -> *mut wchar_t;
1762}
1763extern "C" {
1764    pub fn _wgetenv_s(
1765        _RequiredCount: *mut usize,
1766        _Buffer: *mut wchar_t,
1767        _BufferCount: usize,
1768        _VarName: *const wchar_t,
1769    ) -> errno_t;
1770}
1771extern "C" {
1772    pub fn _wputenv(_EnvString: *const wchar_t) -> ::std::os::raw::c_int;
1773}
1774extern "C" {
1775    pub fn _wputenv_s(_Name: *const wchar_t, _Value: *const wchar_t) -> errno_t;
1776}
1777extern "C" {
1778    pub fn _wsearchenv_s(
1779        _Filename: *const wchar_t,
1780        _VarName: *const wchar_t,
1781        _Buffer: *mut wchar_t,
1782        _BufferCount: usize,
1783    ) -> errno_t;
1784}
1785extern "C" {
1786    pub fn _wsearchenv(
1787        _Filename: *const wchar_t,
1788        _VarName: *const wchar_t,
1789        _ResultPath: *mut wchar_t,
1790    );
1791}
1792extern "C" {
1793    pub fn wcscat_s(
1794        _Destination: *mut wchar_t,
1795        _SizeInWords: rsize_t,
1796        _Source: *const wchar_t,
1797    ) -> errno_t;
1798}
1799extern "C" {
1800    pub fn wcscpy_s(
1801        _Destination: *mut wchar_t,
1802        _SizeInWords: rsize_t,
1803        _Source: *const wchar_t,
1804    ) -> errno_t;
1805}
1806extern "C" {
1807    pub fn wcsncat_s(
1808        _Destination: *mut wchar_t,
1809        _SizeInWords: rsize_t,
1810        _Source: *const wchar_t,
1811        _MaxCount: rsize_t,
1812    ) -> errno_t;
1813}
1814extern "C" {
1815    pub fn wcsncpy_s(
1816        _Destination: *mut wchar_t,
1817        _SizeInWords: rsize_t,
1818        _Source: *const wchar_t,
1819        _MaxCount: rsize_t,
1820    ) -> errno_t;
1821}
1822extern "C" {
1823    pub fn wcstok_s(
1824        _String: *mut wchar_t,
1825        _Delimiter: *const wchar_t,
1826        _Context: *mut *mut wchar_t,
1827    ) -> *mut wchar_t;
1828}
1829extern "C" {
1830    pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t;
1831}
1832extern "C" {
1833    pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
1834}
1835extern "C" {
1836    pub fn wcscmp(
1837        _String1: *const ::std::os::raw::c_ushort,
1838        _String2: *const ::std::os::raw::c_ushort,
1839    ) -> ::std::os::raw::c_int;
1840}
1841extern "C" {
1842    pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
1843}
1844extern "C" {
1845    pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
1846}
1847extern "C" {
1848    pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong;
1849}
1850extern "C" {
1851    pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize;
1852}
1853extern "C" {
1854    pub fn wcsncat(
1855        _Destination: *mut wchar_t,
1856        _Source: *const wchar_t,
1857        _Count: usize,
1858    ) -> *mut wchar_t;
1859}
1860extern "C" {
1861    pub fn wcsncmp(
1862        _String1: *const ::std::os::raw::c_ushort,
1863        _String2: *const ::std::os::raw::c_ushort,
1864        _MaxCount: ::std::os::raw::c_ulonglong,
1865    ) -> ::std::os::raw::c_int;
1866}
1867extern "C" {
1868    pub fn wcsncpy(
1869        _Destination: *mut wchar_t,
1870        _Source: *const wchar_t,
1871        _Count: usize,
1872    ) -> *mut wchar_t;
1873}
1874extern "C" {
1875    pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t;
1876}
1877extern "C" {
1878    pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
1879}
1880extern "C" {
1881    pub fn wcstok(
1882        _String: *mut wchar_t,
1883        _Delimiter: *const wchar_t,
1884        _Context: *mut *mut wchar_t,
1885    ) -> *mut wchar_t;
1886}
1887extern "C" {
1888    pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t;
1889}
1890extern "C" {
1891    pub fn _wcserror_s(
1892        _Buffer: *mut wchar_t,
1893        _SizeInWords: usize,
1894        _ErrorNumber: ::std::os::raw::c_int,
1895    ) -> errno_t;
1896}
1897extern "C" {
1898    pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t;
1899}
1900extern "C" {
1901    pub fn __wcserror_s(
1902        _Buffer: *mut wchar_t,
1903        _SizeInWords: usize,
1904        _ErrorMessage: *const wchar_t,
1905    ) -> errno_t;
1906}
1907extern "C" {
1908    pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
1909}
1910extern "C" {
1911    pub fn _wcsicmp_l(
1912        _String1: *const wchar_t,
1913        _String2: *const wchar_t,
1914        _Locale: _locale_t,
1915    ) -> ::std::os::raw::c_int;
1916}
1917extern "C" {
1918    pub fn _wcsnicmp(
1919        _String1: *const wchar_t,
1920        _String2: *const wchar_t,
1921        _MaxCount: usize,
1922    ) -> ::std::os::raw::c_int;
1923}
1924extern "C" {
1925    pub fn _wcsnicmp_l(
1926        _String1: *const wchar_t,
1927        _String2: *const wchar_t,
1928        _MaxCount: usize,
1929        _Locale: _locale_t,
1930    ) -> ::std::os::raw::c_int;
1931}
1932extern "C" {
1933    pub fn _wcsnset_s(
1934        _Destination: *mut wchar_t,
1935        _SizeInWords: usize,
1936        _Value: wchar_t,
1937        _MaxCount: usize,
1938    ) -> errno_t;
1939}
1940extern "C" {
1941    pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
1942}
1943extern "C" {
1944    pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
1945}
1946extern "C" {
1947    pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t;
1948}
1949extern "C" {
1950    pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
1951}
1952extern "C" {
1953    pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t;
1954}
1955extern "C" {
1956    pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
1957}
1958extern "C" {
1959    pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t;
1960}
1961extern "C" {
1962    pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
1963}
1964extern "C" {
1965    pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t;
1966}
1967extern "C" {
1968    pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
1969}
1970extern "C" {
1971    pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t;
1972}
1973extern "C" {
1974    pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
1975}
1976extern "C" {
1977    pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize;
1978}
1979extern "C" {
1980    pub fn _wcsxfrm_l(
1981        _Destination: *mut wchar_t,
1982        _Source: *const wchar_t,
1983        _MaxCount: usize,
1984        _Locale: _locale_t,
1985    ) -> usize;
1986}
1987extern "C" {
1988    pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
1989}
1990extern "C" {
1991    pub fn _wcscoll_l(
1992        _String1: *const wchar_t,
1993        _String2: *const wchar_t,
1994        _Locale: _locale_t,
1995    ) -> ::std::os::raw::c_int;
1996}
1997extern "C" {
1998    pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
1999}
2000extern "C" {
2001    pub fn _wcsicoll_l(
2002        _String1: *const wchar_t,
2003        _String2: *const wchar_t,
2004        _Locale: _locale_t,
2005    ) -> ::std::os::raw::c_int;
2006}
2007extern "C" {
2008    pub fn _wcsncoll(
2009        _String1: *const wchar_t,
2010        _String2: *const wchar_t,
2011        _MaxCount: usize,
2012    ) -> ::std::os::raw::c_int;
2013}
2014extern "C" {
2015    pub fn _wcsncoll_l(
2016        _String1: *const wchar_t,
2017        _String2: *const wchar_t,
2018        _MaxCount: usize,
2019        _Locale: _locale_t,
2020    ) -> ::std::os::raw::c_int;
2021}
2022extern "C" {
2023    pub fn _wcsnicoll(
2024        _String1: *const wchar_t,
2025        _String2: *const wchar_t,
2026        _MaxCount: usize,
2027    ) -> ::std::os::raw::c_int;
2028}
2029extern "C" {
2030    pub fn _wcsnicoll_l(
2031        _String1: *const wchar_t,
2032        _String2: *const wchar_t,
2033        _MaxCount: usize,
2034        _Locale: _locale_t,
2035    ) -> ::std::os::raw::c_int;
2036}
2037extern "C" {
2038    pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t;
2039}
2040extern "C" {
2041    pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
2042}
2043extern "C" {
2044    pub fn wcsnicmp(
2045        _String1: *const wchar_t,
2046        _String2: *const wchar_t,
2047        _MaxCount: usize,
2048    ) -> ::std::os::raw::c_int;
2049}
2050extern "C" {
2051    pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
2052}
2053extern "C" {
2054    pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
2055}
2056extern "C" {
2057    pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
2058}
2059extern "C" {
2060    pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
2061}
2062extern "C" {
2063    pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
2064}
2065extern "C" {
2066    pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
2067}
2068#[repr(C)]
2069#[derive(Debug, Copy, Clone)]
2070pub struct tm {
2071    pub tm_sec: ::std::os::raw::c_int,
2072    pub tm_min: ::std::os::raw::c_int,
2073    pub tm_hour: ::std::os::raw::c_int,
2074    pub tm_mday: ::std::os::raw::c_int,
2075    pub tm_mon: ::std::os::raw::c_int,
2076    pub tm_year: ::std::os::raw::c_int,
2077    pub tm_wday: ::std::os::raw::c_int,
2078    pub tm_yday: ::std::os::raw::c_int,
2079    pub tm_isdst: ::std::os::raw::c_int,
2080}
2081#[test]
2082fn bindgen_test_layout_tm() {
2083    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
2084    let ptr = UNINIT.as_ptr();
2085    assert_eq!(
2086        ::std::mem::size_of::<tm>(),
2087        36usize,
2088        concat!("Size of: ", stringify!(tm))
2089    );
2090    assert_eq!(
2091        ::std::mem::align_of::<tm>(),
2092        4usize,
2093        concat!("Alignment of ", stringify!(tm))
2094    );
2095    assert_eq!(
2096        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
2097        0usize,
2098        concat!(
2099            "Offset of field: ",
2100            stringify!(tm),
2101            "::",
2102            stringify!(tm_sec)
2103        )
2104    );
2105    assert_eq!(
2106        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
2107        4usize,
2108        concat!(
2109            "Offset of field: ",
2110            stringify!(tm),
2111            "::",
2112            stringify!(tm_min)
2113        )
2114    );
2115    assert_eq!(
2116        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
2117        8usize,
2118        concat!(
2119            "Offset of field: ",
2120            stringify!(tm),
2121            "::",
2122            stringify!(tm_hour)
2123        )
2124    );
2125    assert_eq!(
2126        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
2127        12usize,
2128        concat!(
2129            "Offset of field: ",
2130            stringify!(tm),
2131            "::",
2132            stringify!(tm_mday)
2133        )
2134    );
2135    assert_eq!(
2136        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
2137        16usize,
2138        concat!(
2139            "Offset of field: ",
2140            stringify!(tm),
2141            "::",
2142            stringify!(tm_mon)
2143        )
2144    );
2145    assert_eq!(
2146        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
2147        20usize,
2148        concat!(
2149            "Offset of field: ",
2150            stringify!(tm),
2151            "::",
2152            stringify!(tm_year)
2153        )
2154    );
2155    assert_eq!(
2156        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
2157        24usize,
2158        concat!(
2159            "Offset of field: ",
2160            stringify!(tm),
2161            "::",
2162            stringify!(tm_wday)
2163        )
2164    );
2165    assert_eq!(
2166        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
2167        28usize,
2168        concat!(
2169            "Offset of field: ",
2170            stringify!(tm),
2171            "::",
2172            stringify!(tm_yday)
2173        )
2174    );
2175    assert_eq!(
2176        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
2177        32usize,
2178        concat!(
2179            "Offset of field: ",
2180            stringify!(tm),
2181            "::",
2182            stringify!(tm_isdst)
2183        )
2184    );
2185}
2186extern "C" {
2187    pub fn _wasctime(_Tm: *const tm) -> *mut wchar_t;
2188}
2189extern "C" {
2190    pub fn _wasctime_s(_Buffer: *mut wchar_t, _SizeInWords: usize, _Tm: *const tm) -> errno_t;
2191}
2192extern "C" {
2193    pub fn wcsftime(
2194        _Buffer: *mut wchar_t,
2195        _SizeInWords: usize,
2196        _Format: *const wchar_t,
2197        _Tm: *const tm,
2198    ) -> usize;
2199}
2200extern "C" {
2201    pub fn _wcsftime_l(
2202        _Buffer: *mut wchar_t,
2203        _SizeInWords: usize,
2204        _Format: *const wchar_t,
2205        _Tm: *const tm,
2206        _Locale: _locale_t,
2207    ) -> usize;
2208}
2209extern "C" {
2210    pub fn _wctime32(_Time: *const __time32_t) -> *mut wchar_t;
2211}
2212extern "C" {
2213    pub fn _wctime32_s(
2214        _Buffer: *mut wchar_t,
2215        _SizeInWords: usize,
2216        _Time: *const __time32_t,
2217    ) -> errno_t;
2218}
2219extern "C" {
2220    pub fn _wctime64(_Time: *const __time64_t) -> *mut wchar_t;
2221}
2222extern "C" {
2223    pub fn _wctime64_s(
2224        _Buffer: *mut wchar_t,
2225        _SizeInWords: usize,
2226        _Time: *const __time64_t,
2227    ) -> errno_t;
2228}
2229extern "C" {
2230    pub fn _wstrdate_s(_Buffer: *mut wchar_t, _SizeInWords: usize) -> errno_t;
2231}
2232extern "C" {
2233    pub fn _wstrdate(_Buffer: *mut wchar_t) -> *mut wchar_t;
2234}
2235extern "C" {
2236    pub fn _wstrtime_s(_Buffer: *mut wchar_t, _SizeInWords: usize) -> errno_t;
2237}
2238extern "C" {
2239    pub fn _wstrtime(_Buffer: *mut wchar_t) -> *mut wchar_t;
2240}
2241pub type _ino_t = ::std::os::raw::c_ushort;
2242pub type ino_t = _ino_t;
2243pub type _dev_t = ::std::os::raw::c_uint;
2244pub type dev_t = _dev_t;
2245pub type _off_t = ::std::os::raw::c_long;
2246pub type off_t = _off_t;
2247#[repr(C)]
2248#[derive(Debug, Copy, Clone)]
2249pub struct _stat32 {
2250    pub st_dev: _dev_t,
2251    pub st_ino: _ino_t,
2252    pub st_mode: ::std::os::raw::c_ushort,
2253    pub st_nlink: ::std::os::raw::c_short,
2254    pub st_uid: ::std::os::raw::c_short,
2255    pub st_gid: ::std::os::raw::c_short,
2256    pub st_rdev: _dev_t,
2257    pub st_size: _off_t,
2258    pub st_atime: __time32_t,
2259    pub st_mtime: __time32_t,
2260    pub st_ctime: __time32_t,
2261}
2262#[test]
2263fn bindgen_test_layout__stat32() {
2264    const UNINIT: ::std::mem::MaybeUninit<_stat32> = ::std::mem::MaybeUninit::uninit();
2265    let ptr = UNINIT.as_ptr();
2266    assert_eq!(
2267        ::std::mem::size_of::<_stat32>(),
2268        36usize,
2269        concat!("Size of: ", stringify!(_stat32))
2270    );
2271    assert_eq!(
2272        ::std::mem::align_of::<_stat32>(),
2273        4usize,
2274        concat!("Alignment of ", stringify!(_stat32))
2275    );
2276    assert_eq!(
2277        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
2278        0usize,
2279        concat!(
2280            "Offset of field: ",
2281            stringify!(_stat32),
2282            "::",
2283            stringify!(st_dev)
2284        )
2285    );
2286    assert_eq!(
2287        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
2288        4usize,
2289        concat!(
2290            "Offset of field: ",
2291            stringify!(_stat32),
2292            "::",
2293            stringify!(st_ino)
2294        )
2295    );
2296    assert_eq!(
2297        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
2298        6usize,
2299        concat!(
2300            "Offset of field: ",
2301            stringify!(_stat32),
2302            "::",
2303            stringify!(st_mode)
2304        )
2305    );
2306    assert_eq!(
2307        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
2308        8usize,
2309        concat!(
2310            "Offset of field: ",
2311            stringify!(_stat32),
2312            "::",
2313            stringify!(st_nlink)
2314        )
2315    );
2316    assert_eq!(
2317        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
2318        10usize,
2319        concat!(
2320            "Offset of field: ",
2321            stringify!(_stat32),
2322            "::",
2323            stringify!(st_uid)
2324        )
2325    );
2326    assert_eq!(
2327        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
2328        12usize,
2329        concat!(
2330            "Offset of field: ",
2331            stringify!(_stat32),
2332            "::",
2333            stringify!(st_gid)
2334        )
2335    );
2336    assert_eq!(
2337        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
2338        16usize,
2339        concat!(
2340            "Offset of field: ",
2341            stringify!(_stat32),
2342            "::",
2343            stringify!(st_rdev)
2344        )
2345    );
2346    assert_eq!(
2347        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
2348        20usize,
2349        concat!(
2350            "Offset of field: ",
2351            stringify!(_stat32),
2352            "::",
2353            stringify!(st_size)
2354        )
2355    );
2356    assert_eq!(
2357        unsafe { ::std::ptr::addr_of!((*ptr).st_atime) as usize - ptr as usize },
2358        24usize,
2359        concat!(
2360            "Offset of field: ",
2361            stringify!(_stat32),
2362            "::",
2363            stringify!(st_atime)
2364        )
2365    );
2366    assert_eq!(
2367        unsafe { ::std::ptr::addr_of!((*ptr).st_mtime) as usize - ptr as usize },
2368        28usize,
2369        concat!(
2370            "Offset of field: ",
2371            stringify!(_stat32),
2372            "::",
2373            stringify!(st_mtime)
2374        )
2375    );
2376    assert_eq!(
2377        unsafe { ::std::ptr::addr_of!((*ptr).st_ctime) as usize - ptr as usize },
2378        32usize,
2379        concat!(
2380            "Offset of field: ",
2381            stringify!(_stat32),
2382            "::",
2383            stringify!(st_ctime)
2384        )
2385    );
2386}
2387#[repr(C)]
2388#[derive(Debug, Copy, Clone)]
2389pub struct _stat32i64 {
2390    pub st_dev: _dev_t,
2391    pub st_ino: _ino_t,
2392    pub st_mode: ::std::os::raw::c_ushort,
2393    pub st_nlink: ::std::os::raw::c_short,
2394    pub st_uid: ::std::os::raw::c_short,
2395    pub st_gid: ::std::os::raw::c_short,
2396    pub st_rdev: _dev_t,
2397    pub st_size: ::std::os::raw::c_longlong,
2398    pub st_atime: __time32_t,
2399    pub st_mtime: __time32_t,
2400    pub st_ctime: __time32_t,
2401}
2402#[test]
2403fn bindgen_test_layout__stat32i64() {
2404    const UNINIT: ::std::mem::MaybeUninit<_stat32i64> = ::std::mem::MaybeUninit::uninit();
2405    let ptr = UNINIT.as_ptr();
2406    assert_eq!(
2407        ::std::mem::size_of::<_stat32i64>(),
2408        48usize,
2409        concat!("Size of: ", stringify!(_stat32i64))
2410    );
2411    assert_eq!(
2412        ::std::mem::align_of::<_stat32i64>(),
2413        8usize,
2414        concat!("Alignment of ", stringify!(_stat32i64))
2415    );
2416    assert_eq!(
2417        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
2418        0usize,
2419        concat!(
2420            "Offset of field: ",
2421            stringify!(_stat32i64),
2422            "::",
2423            stringify!(st_dev)
2424        )
2425    );
2426    assert_eq!(
2427        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
2428        4usize,
2429        concat!(
2430            "Offset of field: ",
2431            stringify!(_stat32i64),
2432            "::",
2433            stringify!(st_ino)
2434        )
2435    );
2436    assert_eq!(
2437        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
2438        6usize,
2439        concat!(
2440            "Offset of field: ",
2441            stringify!(_stat32i64),
2442            "::",
2443            stringify!(st_mode)
2444        )
2445    );
2446    assert_eq!(
2447        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
2448        8usize,
2449        concat!(
2450            "Offset of field: ",
2451            stringify!(_stat32i64),
2452            "::",
2453            stringify!(st_nlink)
2454        )
2455    );
2456    assert_eq!(
2457        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
2458        10usize,
2459        concat!(
2460            "Offset of field: ",
2461            stringify!(_stat32i64),
2462            "::",
2463            stringify!(st_uid)
2464        )
2465    );
2466    assert_eq!(
2467        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
2468        12usize,
2469        concat!(
2470            "Offset of field: ",
2471            stringify!(_stat32i64),
2472            "::",
2473            stringify!(st_gid)
2474        )
2475    );
2476    assert_eq!(
2477        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
2478        16usize,
2479        concat!(
2480            "Offset of field: ",
2481            stringify!(_stat32i64),
2482            "::",
2483            stringify!(st_rdev)
2484        )
2485    );
2486    assert_eq!(
2487        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
2488        24usize,
2489        concat!(
2490            "Offset of field: ",
2491            stringify!(_stat32i64),
2492            "::",
2493            stringify!(st_size)
2494        )
2495    );
2496    assert_eq!(
2497        unsafe { ::std::ptr::addr_of!((*ptr).st_atime) as usize - ptr as usize },
2498        32usize,
2499        concat!(
2500            "Offset of field: ",
2501            stringify!(_stat32i64),
2502            "::",
2503            stringify!(st_atime)
2504        )
2505    );
2506    assert_eq!(
2507        unsafe { ::std::ptr::addr_of!((*ptr).st_mtime) as usize - ptr as usize },
2508        36usize,
2509        concat!(
2510            "Offset of field: ",
2511            stringify!(_stat32i64),
2512            "::",
2513            stringify!(st_mtime)
2514        )
2515    );
2516    assert_eq!(
2517        unsafe { ::std::ptr::addr_of!((*ptr).st_ctime) as usize - ptr as usize },
2518        40usize,
2519        concat!(
2520            "Offset of field: ",
2521            stringify!(_stat32i64),
2522            "::",
2523            stringify!(st_ctime)
2524        )
2525    );
2526}
2527#[repr(C)]
2528#[derive(Debug, Copy, Clone)]
2529pub struct _stat64i32 {
2530    pub st_dev: _dev_t,
2531    pub st_ino: _ino_t,
2532    pub st_mode: ::std::os::raw::c_ushort,
2533    pub st_nlink: ::std::os::raw::c_short,
2534    pub st_uid: ::std::os::raw::c_short,
2535    pub st_gid: ::std::os::raw::c_short,
2536    pub st_rdev: _dev_t,
2537    pub st_size: _off_t,
2538    pub st_atime: __time64_t,
2539    pub st_mtime: __time64_t,
2540    pub st_ctime: __time64_t,
2541}
2542#[test]
2543fn bindgen_test_layout__stat64i32() {
2544    const UNINIT: ::std::mem::MaybeUninit<_stat64i32> = ::std::mem::MaybeUninit::uninit();
2545    let ptr = UNINIT.as_ptr();
2546    assert_eq!(
2547        ::std::mem::size_of::<_stat64i32>(),
2548        48usize,
2549        concat!("Size of: ", stringify!(_stat64i32))
2550    );
2551    assert_eq!(
2552        ::std::mem::align_of::<_stat64i32>(),
2553        8usize,
2554        concat!("Alignment of ", stringify!(_stat64i32))
2555    );
2556    assert_eq!(
2557        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
2558        0usize,
2559        concat!(
2560            "Offset of field: ",
2561            stringify!(_stat64i32),
2562            "::",
2563            stringify!(st_dev)
2564        )
2565    );
2566    assert_eq!(
2567        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
2568        4usize,
2569        concat!(
2570            "Offset of field: ",
2571            stringify!(_stat64i32),
2572            "::",
2573            stringify!(st_ino)
2574        )
2575    );
2576    assert_eq!(
2577        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
2578        6usize,
2579        concat!(
2580            "Offset of field: ",
2581            stringify!(_stat64i32),
2582            "::",
2583            stringify!(st_mode)
2584        )
2585    );
2586    assert_eq!(
2587        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
2588        8usize,
2589        concat!(
2590            "Offset of field: ",
2591            stringify!(_stat64i32),
2592            "::",
2593            stringify!(st_nlink)
2594        )
2595    );
2596    assert_eq!(
2597        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
2598        10usize,
2599        concat!(
2600            "Offset of field: ",
2601            stringify!(_stat64i32),
2602            "::",
2603            stringify!(st_uid)
2604        )
2605    );
2606    assert_eq!(
2607        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
2608        12usize,
2609        concat!(
2610            "Offset of field: ",
2611            stringify!(_stat64i32),
2612            "::",
2613            stringify!(st_gid)
2614        )
2615    );
2616    assert_eq!(
2617        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
2618        16usize,
2619        concat!(
2620            "Offset of field: ",
2621            stringify!(_stat64i32),
2622            "::",
2623            stringify!(st_rdev)
2624        )
2625    );
2626    assert_eq!(
2627        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
2628        20usize,
2629        concat!(
2630            "Offset of field: ",
2631            stringify!(_stat64i32),
2632            "::",
2633            stringify!(st_size)
2634        )
2635    );
2636    assert_eq!(
2637        unsafe { ::std::ptr::addr_of!((*ptr).st_atime) as usize - ptr as usize },
2638        24usize,
2639        concat!(
2640            "Offset of field: ",
2641            stringify!(_stat64i32),
2642            "::",
2643            stringify!(st_atime)
2644        )
2645    );
2646    assert_eq!(
2647        unsafe { ::std::ptr::addr_of!((*ptr).st_mtime) as usize - ptr as usize },
2648        32usize,
2649        concat!(
2650            "Offset of field: ",
2651            stringify!(_stat64i32),
2652            "::",
2653            stringify!(st_mtime)
2654        )
2655    );
2656    assert_eq!(
2657        unsafe { ::std::ptr::addr_of!((*ptr).st_ctime) as usize - ptr as usize },
2658        40usize,
2659        concat!(
2660            "Offset of field: ",
2661            stringify!(_stat64i32),
2662            "::",
2663            stringify!(st_ctime)
2664        )
2665    );
2666}
2667#[repr(C)]
2668#[derive(Debug, Copy, Clone)]
2669pub struct _stat64 {
2670    pub st_dev: _dev_t,
2671    pub st_ino: _ino_t,
2672    pub st_mode: ::std::os::raw::c_ushort,
2673    pub st_nlink: ::std::os::raw::c_short,
2674    pub st_uid: ::std::os::raw::c_short,
2675    pub st_gid: ::std::os::raw::c_short,
2676    pub st_rdev: _dev_t,
2677    pub st_size: ::std::os::raw::c_longlong,
2678    pub st_atime: __time64_t,
2679    pub st_mtime: __time64_t,
2680    pub st_ctime: __time64_t,
2681}
2682#[test]
2683fn bindgen_test_layout__stat64() {
2684    const UNINIT: ::std::mem::MaybeUninit<_stat64> = ::std::mem::MaybeUninit::uninit();
2685    let ptr = UNINIT.as_ptr();
2686    assert_eq!(
2687        ::std::mem::size_of::<_stat64>(),
2688        56usize,
2689        concat!("Size of: ", stringify!(_stat64))
2690    );
2691    assert_eq!(
2692        ::std::mem::align_of::<_stat64>(),
2693        8usize,
2694        concat!("Alignment of ", stringify!(_stat64))
2695    );
2696    assert_eq!(
2697        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
2698        0usize,
2699        concat!(
2700            "Offset of field: ",
2701            stringify!(_stat64),
2702            "::",
2703            stringify!(st_dev)
2704        )
2705    );
2706    assert_eq!(
2707        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
2708        4usize,
2709        concat!(
2710            "Offset of field: ",
2711            stringify!(_stat64),
2712            "::",
2713            stringify!(st_ino)
2714        )
2715    );
2716    assert_eq!(
2717        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
2718        6usize,
2719        concat!(
2720            "Offset of field: ",
2721            stringify!(_stat64),
2722            "::",
2723            stringify!(st_mode)
2724        )
2725    );
2726    assert_eq!(
2727        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
2728        8usize,
2729        concat!(
2730            "Offset of field: ",
2731            stringify!(_stat64),
2732            "::",
2733            stringify!(st_nlink)
2734        )
2735    );
2736    assert_eq!(
2737        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
2738        10usize,
2739        concat!(
2740            "Offset of field: ",
2741            stringify!(_stat64),
2742            "::",
2743            stringify!(st_uid)
2744        )
2745    );
2746    assert_eq!(
2747        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
2748        12usize,
2749        concat!(
2750            "Offset of field: ",
2751            stringify!(_stat64),
2752            "::",
2753            stringify!(st_gid)
2754        )
2755    );
2756    assert_eq!(
2757        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
2758        16usize,
2759        concat!(
2760            "Offset of field: ",
2761            stringify!(_stat64),
2762            "::",
2763            stringify!(st_rdev)
2764        )
2765    );
2766    assert_eq!(
2767        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
2768        24usize,
2769        concat!(
2770            "Offset of field: ",
2771            stringify!(_stat64),
2772            "::",
2773            stringify!(st_size)
2774        )
2775    );
2776    assert_eq!(
2777        unsafe { ::std::ptr::addr_of!((*ptr).st_atime) as usize - ptr as usize },
2778        32usize,
2779        concat!(
2780            "Offset of field: ",
2781            stringify!(_stat64),
2782            "::",
2783            stringify!(st_atime)
2784        )
2785    );
2786    assert_eq!(
2787        unsafe { ::std::ptr::addr_of!((*ptr).st_mtime) as usize - ptr as usize },
2788        40usize,
2789        concat!(
2790            "Offset of field: ",
2791            stringify!(_stat64),
2792            "::",
2793            stringify!(st_mtime)
2794        )
2795    );
2796    assert_eq!(
2797        unsafe { ::std::ptr::addr_of!((*ptr).st_ctime) as usize - ptr as usize },
2798        48usize,
2799        concat!(
2800            "Offset of field: ",
2801            stringify!(_stat64),
2802            "::",
2803            stringify!(st_ctime)
2804        )
2805    );
2806}
2807#[repr(C)]
2808#[derive(Debug, Copy, Clone)]
2809pub struct stat {
2810    pub st_dev: _dev_t,
2811    pub st_ino: _ino_t,
2812    pub st_mode: ::std::os::raw::c_ushort,
2813    pub st_nlink: ::std::os::raw::c_short,
2814    pub st_uid: ::std::os::raw::c_short,
2815    pub st_gid: ::std::os::raw::c_short,
2816    pub st_rdev: _dev_t,
2817    pub st_size: _off_t,
2818    pub st_atime: time_t,
2819    pub st_mtime: time_t,
2820    pub st_ctime: time_t,
2821}
2822#[test]
2823fn bindgen_test_layout_stat() {
2824    const UNINIT: ::std::mem::MaybeUninit<stat> = ::std::mem::MaybeUninit::uninit();
2825    let ptr = UNINIT.as_ptr();
2826    assert_eq!(
2827        ::std::mem::size_of::<stat>(),
2828        48usize,
2829        concat!("Size of: ", stringify!(stat))
2830    );
2831    assert_eq!(
2832        ::std::mem::align_of::<stat>(),
2833        8usize,
2834        concat!("Alignment of ", stringify!(stat))
2835    );
2836    assert_eq!(
2837        unsafe { ::std::ptr::addr_of!((*ptr).st_dev) as usize - ptr as usize },
2838        0usize,
2839        concat!(
2840            "Offset of field: ",
2841            stringify!(stat),
2842            "::",
2843            stringify!(st_dev)
2844        )
2845    );
2846    assert_eq!(
2847        unsafe { ::std::ptr::addr_of!((*ptr).st_ino) as usize - ptr as usize },
2848        4usize,
2849        concat!(
2850            "Offset of field: ",
2851            stringify!(stat),
2852            "::",
2853            stringify!(st_ino)
2854        )
2855    );
2856    assert_eq!(
2857        unsafe { ::std::ptr::addr_of!((*ptr).st_mode) as usize - ptr as usize },
2858        6usize,
2859        concat!(
2860            "Offset of field: ",
2861            stringify!(stat),
2862            "::",
2863            stringify!(st_mode)
2864        )
2865    );
2866    assert_eq!(
2867        unsafe { ::std::ptr::addr_of!((*ptr).st_nlink) as usize - ptr as usize },
2868        8usize,
2869        concat!(
2870            "Offset of field: ",
2871            stringify!(stat),
2872            "::",
2873            stringify!(st_nlink)
2874        )
2875    );
2876    assert_eq!(
2877        unsafe { ::std::ptr::addr_of!((*ptr).st_uid) as usize - ptr as usize },
2878        10usize,
2879        concat!(
2880            "Offset of field: ",
2881            stringify!(stat),
2882            "::",
2883            stringify!(st_uid)
2884        )
2885    );
2886    assert_eq!(
2887        unsafe { ::std::ptr::addr_of!((*ptr).st_gid) as usize - ptr as usize },
2888        12usize,
2889        concat!(
2890            "Offset of field: ",
2891            stringify!(stat),
2892            "::",
2893            stringify!(st_gid)
2894        )
2895    );
2896    assert_eq!(
2897        unsafe { ::std::ptr::addr_of!((*ptr).st_rdev) as usize - ptr as usize },
2898        16usize,
2899        concat!(
2900            "Offset of field: ",
2901            stringify!(stat),
2902            "::",
2903            stringify!(st_rdev)
2904        )
2905    );
2906    assert_eq!(
2907        unsafe { ::std::ptr::addr_of!((*ptr).st_size) as usize - ptr as usize },
2908        20usize,
2909        concat!(
2910            "Offset of field: ",
2911            stringify!(stat),
2912            "::",
2913            stringify!(st_size)
2914        )
2915    );
2916    assert_eq!(
2917        unsafe { ::std::ptr::addr_of!((*ptr).st_atime) as usize - ptr as usize },
2918        24usize,
2919        concat!(
2920            "Offset of field: ",
2921            stringify!(stat),
2922            "::",
2923            stringify!(st_atime)
2924        )
2925    );
2926    assert_eq!(
2927        unsafe { ::std::ptr::addr_of!((*ptr).st_mtime) as usize - ptr as usize },
2928        32usize,
2929        concat!(
2930            "Offset of field: ",
2931            stringify!(stat),
2932            "::",
2933            stringify!(st_mtime)
2934        )
2935    );
2936    assert_eq!(
2937        unsafe { ::std::ptr::addr_of!((*ptr).st_ctime) as usize - ptr as usize },
2938        40usize,
2939        concat!(
2940            "Offset of field: ",
2941            stringify!(stat),
2942            "::",
2943            stringify!(st_ctime)
2944        )
2945    );
2946}
2947extern "C" {
2948    pub fn _fstat32(
2949        _FileHandle: ::std::os::raw::c_int,
2950        _Stat: *mut _stat32,
2951    ) -> ::std::os::raw::c_int;
2952}
2953extern "C" {
2954    pub fn _fstat32i64(
2955        _FileHandle: ::std::os::raw::c_int,
2956        _Stat: *mut _stat32i64,
2957    ) -> ::std::os::raw::c_int;
2958}
2959extern "C" {
2960    pub fn _fstat64i32(
2961        _FileHandle: ::std::os::raw::c_int,
2962        _Stat: *mut _stat64i32,
2963    ) -> ::std::os::raw::c_int;
2964}
2965extern "C" {
2966    pub fn _fstat64(
2967        _FileHandle: ::std::os::raw::c_int,
2968        _Stat: *mut _stat64,
2969    ) -> ::std::os::raw::c_int;
2970}
2971extern "C" {
2972    pub fn _stat32(
2973        _FileName: *const ::std::os::raw::c_char,
2974        _Stat: *mut _stat32,
2975    ) -> ::std::os::raw::c_int;
2976}
2977extern "C" {
2978    pub fn _stat32i64(
2979        _FileName: *const ::std::os::raw::c_char,
2980        _Stat: *mut _stat32i64,
2981    ) -> ::std::os::raw::c_int;
2982}
2983extern "C" {
2984    pub fn _stat64i32(
2985        _FileName: *const ::std::os::raw::c_char,
2986        _Stat: *mut _stat64i32,
2987    ) -> ::std::os::raw::c_int;
2988}
2989extern "C" {
2990    pub fn _stat64(
2991        _FileName: *const ::std::os::raw::c_char,
2992        _Stat: *mut _stat64,
2993    ) -> ::std::os::raw::c_int;
2994}
2995extern "C" {
2996    pub fn _wstat32(_FileName: *const wchar_t, _Stat: *mut _stat32) -> ::std::os::raw::c_int;
2997}
2998extern "C" {
2999    pub fn _wstat32i64(_FileName: *const wchar_t, _Stat: *mut _stat32i64) -> ::std::os::raw::c_int;
3000}
3001extern "C" {
3002    pub fn _wstat64i32(_FileName: *const wchar_t, _Stat: *mut _stat64i32) -> ::std::os::raw::c_int;
3003}
3004extern "C" {
3005    pub fn _wstat64(_FileName: *const wchar_t, _Stat: *mut _stat64) -> ::std::os::raw::c_int;
3006}
3007pub type _Wint_t = wchar_t;
3008extern "C" {
3009    pub fn _wsetlocale(_Category: ::std::os::raw::c_int, _Locale: *const wchar_t) -> *mut wchar_t;
3010}
3011extern "C" {
3012    pub fn _wcreate_locale(_Category: ::std::os::raw::c_int, _Locale: *const wchar_t) -> _locale_t;
3013}
3014extern "C" {
3015    pub fn btowc(_Ch: ::std::os::raw::c_int) -> wint_t;
3016}
3017extern "C" {
3018    pub fn mbrlen(
3019        _Ch: *const ::std::os::raw::c_char,
3020        _SizeInBytes: usize,
3021        _State: *mut mbstate_t,
3022    ) -> usize;
3023}
3024extern "C" {
3025    pub fn mbrtowc(
3026        _DstCh: *mut wchar_t,
3027        _SrcCh: *const ::std::os::raw::c_char,
3028        _SizeInBytes: usize,
3029        _State: *mut mbstate_t,
3030    ) -> usize;
3031}
3032extern "C" {
3033    pub fn mbsrtowcs_s(
3034        _Retval: *mut usize,
3035        _Dst: *mut wchar_t,
3036        _Size: usize,
3037        _PSrc: *mut *const ::std::os::raw::c_char,
3038        _N: usize,
3039        _State: *mut mbstate_t,
3040    ) -> errno_t;
3041}
3042extern "C" {
3043    pub fn mbsrtowcs(
3044        _Dest: *mut wchar_t,
3045        _PSrc: *mut *const ::std::os::raw::c_char,
3046        _Count: usize,
3047        _State: *mut mbstate_t,
3048    ) -> usize;
3049}
3050extern "C" {
3051    pub fn wcrtomb_s(
3052        _Retval: *mut usize,
3053        _Dst: *mut ::std::os::raw::c_char,
3054        _SizeInBytes: usize,
3055        _Ch: wchar_t,
3056        _State: *mut mbstate_t,
3057    ) -> errno_t;
3058}
3059extern "C" {
3060    pub fn wcrtomb(
3061        _Dest: *mut ::std::os::raw::c_char,
3062        _Source: wchar_t,
3063        _State: *mut mbstate_t,
3064    ) -> usize;
3065}
3066extern "C" {
3067    pub fn wcsrtombs_s(
3068        _Retval: *mut usize,
3069        _Dst: *mut ::std::os::raw::c_char,
3070        _SizeInBytes: usize,
3071        _Src: *mut *const wchar_t,
3072        _Size: usize,
3073        _State: *mut mbstate_t,
3074    ) -> errno_t;
3075}
3076extern "C" {
3077    pub fn wcsrtombs(
3078        _Dest: *mut ::std::os::raw::c_char,
3079        _PSource: *mut *const wchar_t,
3080        _Count: usize,
3081        _State: *mut mbstate_t,
3082    ) -> usize;
3083}
3084extern "C" {
3085    pub fn wctob(_WCh: wint_t) -> ::std::os::raw::c_int;
3086}
3087extern "C" {
3088    pub fn wmemcpy_s(_S1: *mut wchar_t, _N1: rsize_t, _S2: *const wchar_t, _N: rsize_t) -> errno_t;
3089}
3090extern "C" {
3091    pub fn wmemmove_s(_S1: *mut wchar_t, _N1: rsize_t, _S2: *const wchar_t, _N: rsize_t)
3092        -> errno_t;
3093}
3094#[doc = " The following type definitions hide internal data structures"]
3095pub type libesedb_column_t = isize;
3096pub type libesedb_file_t = isize;
3097pub type libesedb_index_t = isize;
3098pub type libesedb_long_value_t = isize;
3099pub type libesedb_multi_value_t = isize;
3100pub type libesedb_record_t = isize;
3101pub type libesedb_table_t = isize;
3102pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ASCII: LIBESEDB_CODEPAGES = 20127;
3103pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_1: LIBESEDB_CODEPAGES = 28591;
3104pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_2: LIBESEDB_CODEPAGES = 28592;
3105pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_3: LIBESEDB_CODEPAGES = 28593;
3106pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_4: LIBESEDB_CODEPAGES = 28594;
3107pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_5: LIBESEDB_CODEPAGES = 28595;
3108pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_6: LIBESEDB_CODEPAGES = 28596;
3109pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_7: LIBESEDB_CODEPAGES = 28597;
3110pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_8: LIBESEDB_CODEPAGES = 28598;
3111pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_9: LIBESEDB_CODEPAGES = 28599;
3112pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_10: LIBESEDB_CODEPAGES = 28600;
3113pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_11: LIBESEDB_CODEPAGES = 28601;
3114pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_13: LIBESEDB_CODEPAGES = 28603;
3115pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_14: LIBESEDB_CODEPAGES = 28604;
3116pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_15: LIBESEDB_CODEPAGES = 28605;
3117pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_ISO_8859_16: LIBESEDB_CODEPAGES = 28606;
3118pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_KOI8_R: LIBESEDB_CODEPAGES = 20866;
3119pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_KOI8_U: LIBESEDB_CODEPAGES = 21866;
3120pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_874: LIBESEDB_CODEPAGES = 874;
3121pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_932: LIBESEDB_CODEPAGES = 932;
3122pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_936: LIBESEDB_CODEPAGES = 936;
3123pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_949: LIBESEDB_CODEPAGES = 949;
3124pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_950: LIBESEDB_CODEPAGES = 950;
3125pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1250: LIBESEDB_CODEPAGES = 1250;
3126pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1251: LIBESEDB_CODEPAGES = 1251;
3127pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1252: LIBESEDB_CODEPAGES = 1252;
3128pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1253: LIBESEDB_CODEPAGES = 1253;
3129pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1254: LIBESEDB_CODEPAGES = 1254;
3130pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1255: LIBESEDB_CODEPAGES = 1255;
3131pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1256: LIBESEDB_CODEPAGES = 1256;
3132pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1257: LIBESEDB_CODEPAGES = 1257;
3133pub const LIBESEDB_CODEPAGES_LIBESEDB_CODEPAGE_WINDOWS_1258: LIBESEDB_CODEPAGES = 1258;
3134#[doc = " The codepage definitions"]
3135pub type LIBESEDB_CODEPAGES = ::std::os::raw::c_int;
3136pub const LIBESEDB_ACCESS_FLAGS_LIBESEDB_ACCESS_FLAG_READ: LIBESEDB_ACCESS_FLAGS = 1;
3137#[doc = " Reserved: not supported yet"]
3138pub const LIBESEDB_ACCESS_FLAGS_LIBESEDB_ACCESS_FLAG_WRITE: LIBESEDB_ACCESS_FLAGS = 2;
3139#[doc = " The access flags definitions\n bit 1        set to 1 for read access\n bit 2        set to 1 for write access\n bit 3-8      not used"]
3140pub type LIBESEDB_ACCESS_FLAGS = ::std::os::raw::c_int;
3141pub const LIBESEDB_FILE_TYPES_LIBESEDB_FILE_TYPE_DATABASE: LIBESEDB_FILE_TYPES = 0;
3142pub const LIBESEDB_FILE_TYPES_LIBESEDB_FILE_TYPE_STREAMING_FILE: LIBESEDB_FILE_TYPES = 1;
3143#[doc = " The file types"]
3144pub type LIBESEDB_FILE_TYPES = ::std::os::raw::c_int;
3145pub const LIBESEDB_GET_COLUMN_FLAGS_LIBESEDB_GET_COLUMN_FLAG_IGNORE_TEMPLATE_TABLE:
3146    LIBESEDB_GET_COLUMN_FLAGS = 1;
3147#[doc = " The get columns flags"]
3148pub type LIBESEDB_GET_COLUMN_FLAGS = ::std::os::raw::c_int;
3149pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_NULL: LIBESEDB_COLUMN_TYPES = 0;
3150pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_BOOLEAN: LIBESEDB_COLUMN_TYPES = 1;
3151pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_INTEGER_8BIT_UNSIGNED: LIBESEDB_COLUMN_TYPES =
3152    2;
3153pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_INTEGER_16BIT_SIGNED: LIBESEDB_COLUMN_TYPES =
3154    3;
3155pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_INTEGER_32BIT_SIGNED: LIBESEDB_COLUMN_TYPES =
3156    4;
3157pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_CURRENCY: LIBESEDB_COLUMN_TYPES = 5;
3158pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_FLOAT_32BIT: LIBESEDB_COLUMN_TYPES = 6;
3159pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_DOUBLE_64BIT: LIBESEDB_COLUMN_TYPES = 7;
3160pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_DATE_TIME: LIBESEDB_COLUMN_TYPES = 8;
3161pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_BINARY_DATA: LIBESEDB_COLUMN_TYPES = 9;
3162pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_TEXT: LIBESEDB_COLUMN_TYPES = 10;
3163pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_LARGE_BINARY_DATA: LIBESEDB_COLUMN_TYPES = 11;
3164pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_LARGE_TEXT: LIBESEDB_COLUMN_TYPES = 12;
3165pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_SUPER_LARGE_VALUE: LIBESEDB_COLUMN_TYPES = 13;
3166pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_INTEGER_32BIT_UNSIGNED: LIBESEDB_COLUMN_TYPES =
3167    14;
3168pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_INTEGER_64BIT_SIGNED: LIBESEDB_COLUMN_TYPES =
3169    15;
3170pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_GUID: LIBESEDB_COLUMN_TYPES = 16;
3171pub const LIBESEDB_COLUMN_TYPES_LIBESEDB_COLUMN_TYPE_INTEGER_16BIT_UNSIGNED: LIBESEDB_COLUMN_TYPES =
3172    17;
3173#[doc = " The column types"]
3174pub type LIBESEDB_COLUMN_TYPES = ::std::os::raw::c_int;
3175pub const LIBESEDB_VALUE_FLAGS_LIBESEDB_VALUE_FLAG_VARIABLE_SIZE: LIBESEDB_VALUE_FLAGS = 1;
3176pub const LIBESEDB_VALUE_FLAGS_LIBESEDB_VALUE_FLAG_COMPRESSED: LIBESEDB_VALUE_FLAGS = 2;
3177pub const LIBESEDB_VALUE_FLAGS_LIBESEDB_VALUE_FLAG_LONG_VALUE: LIBESEDB_VALUE_FLAGS = 4;
3178pub const LIBESEDB_VALUE_FLAGS_LIBESEDB_VALUE_FLAG_MULTI_VALUE: LIBESEDB_VALUE_FLAGS = 8;
3179#[doc = " The value flags"]
3180pub type LIBESEDB_VALUE_FLAGS = ::std::os::raw::c_int;
3181#[doc = " External error type definition hides internal structure"]
3182pub type libesedb_error_t = isize;
3183pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_ARGUMENTS: LIBESEDB_ERROR_DOMAINS = 97;
3184pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_CONVERSION: LIBESEDB_ERROR_DOMAINS = 99;
3185pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_COMPRESSION: LIBESEDB_ERROR_DOMAINS = 67;
3186pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_IO: LIBESEDB_ERROR_DOMAINS = 73;
3187pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_INPUT: LIBESEDB_ERROR_DOMAINS = 105;
3188pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_MEMORY: LIBESEDB_ERROR_DOMAINS = 109;
3189pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_OUTPUT: LIBESEDB_ERROR_DOMAINS = 111;
3190pub const LIBESEDB_ERROR_DOMAINS_LIBESEDB_ERROR_DOMAIN_RUNTIME: LIBESEDB_ERROR_DOMAINS = 114;
3191#[doc = " The error domains"]
3192pub type LIBESEDB_ERROR_DOMAINS = ::std::os::raw::c_int;
3193pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_GENERIC: LIBESEDB_ARGUMENT_ERROR = 0;
3194#[doc = " The argument contains an invalid value"]
3195pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_INVALID_VALUE: LIBESEDB_ARGUMENT_ERROR =
3196    1;
3197#[doc = " The argument contains a value less than zero"]
3198pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_VALUE_LESS_THAN_ZERO:
3199    LIBESEDB_ARGUMENT_ERROR = 2;
3200#[doc = " The argument contains a value zero or less"]
3201pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_VALUE_ZERO_OR_LESS:
3202    LIBESEDB_ARGUMENT_ERROR = 3;
3203#[doc = " The argument contains a value that exceeds the maximum\n for the specific type"]
3204pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_VALUE_EXCEEDS_MAXIMUM:
3205    LIBESEDB_ARGUMENT_ERROR = 4;
3206#[doc = " The argument contains a value that is too small"]
3207pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_VALUE_TOO_SMALL: LIBESEDB_ARGUMENT_ERROR =
3208    5;
3209#[doc = " The argument contains a value that is too large"]
3210pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_VALUE_TOO_LARGE: LIBESEDB_ARGUMENT_ERROR =
3211    6;
3212#[doc = " The argument contains a value that is out of bounds"]
3213pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_VALUE_OUT_OF_BOUNDS:
3214    LIBESEDB_ARGUMENT_ERROR = 7;
3215#[doc = " The argument contains a value that is not supported"]
3216pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_UNSUPPORTED_VALUE:
3217    LIBESEDB_ARGUMENT_ERROR = 8;
3218#[doc = " The argument contains a value that conficts with another argument"]
3219pub const LIBESEDB_ARGUMENT_ERROR_LIBESEDB_ARGUMENT_ERROR_CONFLICTING_VALUE:
3220    LIBESEDB_ARGUMENT_ERROR = 9;
3221#[doc = " The argument error codes\n to signify errors regarding arguments passed to a function"]
3222pub type LIBESEDB_ARGUMENT_ERROR = ::std::os::raw::c_int;
3223pub const LIBESEDB_CONVERSION_ERROR_LIBESEDB_CONVERSION_ERROR_GENERIC: LIBESEDB_CONVERSION_ERROR =
3224    0;
3225#[doc = " The conversion failed on the input"]
3226pub const LIBESEDB_CONVERSION_ERROR_LIBESEDB_CONVERSION_ERROR_INPUT_FAILED:
3227    LIBESEDB_CONVERSION_ERROR = 1;
3228#[doc = " The conversion failed on the output"]
3229pub const LIBESEDB_CONVERSION_ERROR_LIBESEDB_CONVERSION_ERROR_OUTPUT_FAILED:
3230    LIBESEDB_CONVERSION_ERROR = 2;
3231#[doc = " The conversion error codes\n to signify errors regarding conversions"]
3232pub type LIBESEDB_CONVERSION_ERROR = ::std::os::raw::c_int;
3233pub const LIBESEDB_COMPRESSION_ERROR_LIBESEDB_COMPRESSION_ERROR_GENERIC:
3234    LIBESEDB_COMPRESSION_ERROR = 0;
3235#[doc = " The compression failed"]
3236pub const LIBESEDB_COMPRESSION_ERROR_LIBESEDB_COMPRESSION_ERROR_COMPRESS_FAILED:
3237    LIBESEDB_COMPRESSION_ERROR = 1;
3238#[doc = " The decompression failed"]
3239pub const LIBESEDB_COMPRESSION_ERROR_LIBESEDB_COMPRESSION_ERROR_DECOMPRESS_FAILED:
3240    LIBESEDB_COMPRESSION_ERROR = 2;
3241#[doc = " The compression error codes\n to signify errors regarding compression"]
3242pub type LIBESEDB_COMPRESSION_ERROR = ::std::os::raw::c_int;
3243pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_GENERIC: LIBESEDB_IO_ERROR = 0;
3244#[doc = " The open failed"]
3245pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_OPEN_FAILED: LIBESEDB_IO_ERROR = 1;
3246#[doc = " The close failed"]
3247pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_CLOSE_FAILED: LIBESEDB_IO_ERROR = 2;
3248#[doc = " The seek failed"]
3249pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_SEEK_FAILED: LIBESEDB_IO_ERROR = 3;
3250#[doc = " The read failed"]
3251pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_READ_FAILED: LIBESEDB_IO_ERROR = 4;
3252#[doc = " The write failed"]
3253pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_WRITE_FAILED: LIBESEDB_IO_ERROR = 5;
3254#[doc = " Access denied"]
3255pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_ACCESS_DENIED: LIBESEDB_IO_ERROR = 6;
3256#[doc = " The resource is invalid i.e. a missing file"]
3257pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_INVALID_RESOURCE: LIBESEDB_IO_ERROR = 7;
3258#[doc = " The ioctl failed"]
3259pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_IOCTL_FAILED: LIBESEDB_IO_ERROR = 8;
3260#[doc = " The unlink failed"]
3261pub const LIBESEDB_IO_ERROR_LIBESEDB_IO_ERROR_UNLINK_FAILED: LIBESEDB_IO_ERROR = 9;
3262#[doc = " The input/output error codes\n to signify errors regarding input/output"]
3263pub type LIBESEDB_IO_ERROR = ::std::os::raw::c_int;
3264pub const LIBESEDB_INPUT_ERROR_LIBESEDB_INPUT_ERROR_GENERIC: LIBESEDB_INPUT_ERROR = 0;
3265#[doc = " The input contains invalid data"]
3266pub const LIBESEDB_INPUT_ERROR_LIBESEDB_INPUT_ERROR_INVALID_DATA: LIBESEDB_INPUT_ERROR = 1;
3267#[doc = " The input contains an unsupported signature"]
3268pub const LIBESEDB_INPUT_ERROR_LIBESEDB_INPUT_ERROR_SIGNATURE_MISMATCH: LIBESEDB_INPUT_ERROR = 2;
3269#[doc = " A checksum in the input did not match"]
3270pub const LIBESEDB_INPUT_ERROR_LIBESEDB_INPUT_ERROR_CHECKSUM_MISMATCH: LIBESEDB_INPUT_ERROR = 3;
3271#[doc = " A value in the input did not match a previously\n read value or calculated value"]
3272pub const LIBESEDB_INPUT_ERROR_LIBESEDB_INPUT_ERROR_VALUE_MISMATCH: LIBESEDB_INPUT_ERROR = 4;
3273#[doc = " The input error codes\n to signify errors regarding handing input data"]
3274pub type LIBESEDB_INPUT_ERROR = ::std::os::raw::c_int;
3275pub const LIBESEDB_MEMORY_ERROR_LIBESEDB_MEMORY_ERROR_GENERIC: LIBESEDB_MEMORY_ERROR = 0;
3276#[doc = " There is insufficient memory available"]
3277pub const LIBESEDB_MEMORY_ERROR_LIBESEDB_MEMORY_ERROR_INSUFFICIENT: LIBESEDB_MEMORY_ERROR = 1;
3278#[doc = " The memory failed to be copied"]
3279pub const LIBESEDB_MEMORY_ERROR_LIBESEDB_MEMORY_ERROR_COPY_FAILED: LIBESEDB_MEMORY_ERROR = 2;
3280#[doc = " The memory failed to be set"]
3281pub const LIBESEDB_MEMORY_ERROR_LIBESEDB_MEMORY_ERROR_SET_FAILED: LIBESEDB_MEMORY_ERROR = 3;
3282#[doc = " The memory error codes\n to signify errors regarding memory"]
3283pub type LIBESEDB_MEMORY_ERROR = ::std::os::raw::c_int;
3284pub const LIBESEDB_OUTPUT_ERROR_LIBESEDB_OUTPUT_ERROR_GENERIC: LIBESEDB_OUTPUT_ERROR = 0;
3285#[doc = " There is insuficient space to write the output"]
3286pub const LIBESEDB_OUTPUT_ERROR_LIBESEDB_OUTPUT_ERROR_INSUFFICIENT_SPACE: LIBESEDB_OUTPUT_ERROR = 1;
3287#[doc = " The output error codes"]
3288pub type LIBESEDB_OUTPUT_ERROR = ::std::os::raw::c_int;
3289pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_GENERIC: LIBESEDB_RUNTIME_ERROR = 0;
3290#[doc = " The value is missing"]
3291pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_VALUE_MISSING: LIBESEDB_RUNTIME_ERROR = 1;
3292#[doc = " The value was already set"]
3293pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_VALUE_ALREADY_SET: LIBESEDB_RUNTIME_ERROR =
3294    2;
3295#[doc = " The creation and/or initialization of an internal structure failed"]
3296pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_INITIALIZE_FAILED: LIBESEDB_RUNTIME_ERROR =
3297    3;
3298#[doc = " The resize of an internal structure failed"]
3299pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_RESIZE_FAILED: LIBESEDB_RUNTIME_ERROR = 4;
3300#[doc = " The free and/or finalization of an internal structure failed"]
3301pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_FINALIZE_FAILED: LIBESEDB_RUNTIME_ERROR = 5;
3302#[doc = " The value could not be determined"]
3303pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_GET_FAILED: LIBESEDB_RUNTIME_ERROR = 6;
3304#[doc = " The value could not be set"]
3305pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_SET_FAILED: LIBESEDB_RUNTIME_ERROR = 7;
3306#[doc = " The value could not be appended/prepended"]
3307pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_APPEND_FAILED: LIBESEDB_RUNTIME_ERROR = 8;
3308#[doc = " The value could not be copied"]
3309pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_COPY_FAILED: LIBESEDB_RUNTIME_ERROR = 9;
3310#[doc = " The value could not be removed"]
3311pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_REMOVE_FAILED: LIBESEDB_RUNTIME_ERROR = 10;
3312#[doc = " The value could not be printed"]
3313pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_PRINT_FAILED: LIBESEDB_RUNTIME_ERROR = 11;
3314#[doc = " The value was out of bounds"]
3315pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_VALUE_OUT_OF_BOUNDS:
3316    LIBESEDB_RUNTIME_ERROR = 12;
3317#[doc = " The value exceeds the maximum for its specific type"]
3318pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_VALUE_EXCEEDS_MAXIMUM:
3319    LIBESEDB_RUNTIME_ERROR = 13;
3320#[doc = " The value is unsupported"]
3321pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_UNSUPPORTED_VALUE: LIBESEDB_RUNTIME_ERROR =
3322    14;
3323#[doc = " An abort was requested"]
3324pub const LIBESEDB_RUNTIME_ERROR_LIBESEDB_RUNTIME_ERROR_ABORT_REQUESTED: LIBESEDB_RUNTIME_ERROR =
3325    15;
3326#[doc = " The runtime error codes\n to signify errors regarding runtime processing"]
3327pub type LIBESEDB_RUNTIME_ERROR = ::std::os::raw::c_int;
3328pub type fpos_t = ::std::os::raw::c_longlong;
3329extern "C" {
3330    pub fn _get_stream_buffer_pointers(
3331        _Stream: *mut FILE,
3332        _Base: *mut *mut *mut ::std::os::raw::c_char,
3333        _Pointer: *mut *mut *mut ::std::os::raw::c_char,
3334        _Count: *mut *mut ::std::os::raw::c_int,
3335    ) -> errno_t;
3336}
3337extern "C" {
3338    pub fn clearerr_s(_Stream: *mut FILE) -> errno_t;
3339}
3340extern "C" {
3341    pub fn fopen_s(
3342        _Stream: *mut *mut FILE,
3343        _FileName: *const ::std::os::raw::c_char,
3344        _Mode: *const ::std::os::raw::c_char,
3345    ) -> errno_t;
3346}
3347extern "C" {
3348    pub fn fread_s(
3349        _Buffer: *mut ::std::os::raw::c_void,
3350        _BufferSize: usize,
3351        _ElementSize: usize,
3352        _ElementCount: usize,
3353        _Stream: *mut FILE,
3354    ) -> usize;
3355}
3356extern "C" {
3357    pub fn freopen_s(
3358        _Stream: *mut *mut FILE,
3359        _FileName: *const ::std::os::raw::c_char,
3360        _Mode: *const ::std::os::raw::c_char,
3361        _OldStream: *mut FILE,
3362    ) -> errno_t;
3363}
3364extern "C" {
3365    pub fn gets_s(
3366        _Buffer: *mut ::std::os::raw::c_char,
3367        _Size: rsize_t,
3368    ) -> *mut ::std::os::raw::c_char;
3369}
3370extern "C" {
3371    pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t;
3372}
3373extern "C" {
3374    pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t;
3375}
3376extern "C" {
3377    pub fn clearerr(_Stream: *mut FILE);
3378}
3379extern "C" {
3380    pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3381}
3382extern "C" {
3383    pub fn _fcloseall() -> ::std::os::raw::c_int;
3384}
3385extern "C" {
3386    pub fn _fdopen(
3387        _FileHandle: ::std::os::raw::c_int,
3388        _Mode: *const ::std::os::raw::c_char,
3389    ) -> *mut FILE;
3390}
3391extern "C" {
3392    pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3393}
3394extern "C" {
3395    pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3396}
3397extern "C" {
3398    pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3399}
3400extern "C" {
3401    pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3402}
3403extern "C" {
3404    pub fn _fgetchar() -> ::std::os::raw::c_int;
3405}
3406extern "C" {
3407    pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int;
3408}
3409extern "C" {
3410    pub fn fgets(
3411        _Buffer: *mut ::std::os::raw::c_char,
3412        _MaxCount: ::std::os::raw::c_int,
3413        _Stream: *mut FILE,
3414    ) -> *mut ::std::os::raw::c_char;
3415}
3416extern "C" {
3417    pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3418}
3419extern "C" {
3420    pub fn _flushall() -> ::std::os::raw::c_int;
3421}
3422extern "C" {
3423    pub fn fopen(
3424        _FileName: *const ::std::os::raw::c_char,
3425        _Mode: *const ::std::os::raw::c_char,
3426    ) -> *mut FILE;
3427}
3428extern "C" {
3429    pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
3430}
3431extern "C" {
3432    pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3433}
3434extern "C" {
3435    pub fn fputs(
3436        _Buffer: *const ::std::os::raw::c_char,
3437        _Stream: *mut FILE,
3438    ) -> ::std::os::raw::c_int;
3439}
3440extern "C" {
3441    pub fn fread(
3442        _Buffer: *mut ::std::os::raw::c_void,
3443        _ElementSize: ::std::os::raw::c_ulonglong,
3444        _ElementCount: ::std::os::raw::c_ulonglong,
3445        _Stream: *mut FILE,
3446    ) -> ::std::os::raw::c_ulonglong;
3447}
3448extern "C" {
3449    pub fn freopen(
3450        _FileName: *const ::std::os::raw::c_char,
3451        _Mode: *const ::std::os::raw::c_char,
3452        _Stream: *mut FILE,
3453    ) -> *mut FILE;
3454}
3455extern "C" {
3456    pub fn _fsopen(
3457        _FileName: *const ::std::os::raw::c_char,
3458        _Mode: *const ::std::os::raw::c_char,
3459        _ShFlag: ::std::os::raw::c_int,
3460    ) -> *mut FILE;
3461}
3462extern "C" {
3463    pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int;
3464}
3465extern "C" {
3466    pub fn fseek(
3467        _Stream: *mut FILE,
3468        _Offset: ::std::os::raw::c_long,
3469        _Origin: ::std::os::raw::c_int,
3470    ) -> ::std::os::raw::c_int;
3471}
3472extern "C" {
3473    pub fn _fseeki64(
3474        _Stream: *mut FILE,
3475        _Offset: ::std::os::raw::c_longlong,
3476        _Origin: ::std::os::raw::c_int,
3477    ) -> ::std::os::raw::c_int;
3478}
3479extern "C" {
3480    pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long;
3481}
3482extern "C" {
3483    pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
3484}
3485extern "C" {
3486    pub fn fwrite(
3487        _Buffer: *const ::std::os::raw::c_void,
3488        _ElementSize: ::std::os::raw::c_ulonglong,
3489        _ElementCount: ::std::os::raw::c_ulonglong,
3490        _Stream: *mut FILE,
3491    ) -> ::std::os::raw::c_ulonglong;
3492}
3493extern "C" {
3494    pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3495}
3496extern "C" {
3497    pub fn getchar() -> ::std::os::raw::c_int;
3498}
3499extern "C" {
3500    pub fn _getmaxstdio() -> ::std::os::raw::c_int;
3501}
3502extern "C" {
3503    pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3504}
3505extern "C" {
3506    pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char);
3507}
3508extern "C" {
3509    pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3510}
3511extern "C" {
3512    pub fn _popen(
3513        _Command: *const ::std::os::raw::c_char,
3514        _Mode: *const ::std::os::raw::c_char,
3515    ) -> *mut FILE;
3516}
3517extern "C" {
3518    pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
3519}
3520extern "C" {
3521    pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3522}
3523extern "C" {
3524    pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3525}
3526extern "C" {
3527    pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
3528}
3529extern "C" {
3530    pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3531}
3532extern "C" {
3533    pub fn rename(
3534        _OldFileName: *const ::std::os::raw::c_char,
3535        _NewFileName: *const ::std::os::raw::c_char,
3536    ) -> ::std::os::raw::c_int;
3537}
3538extern "C" {
3539    pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3540}
3541extern "C" {
3542    pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3543}
3544extern "C" {
3545    pub fn rewind(_Stream: *mut FILE);
3546}
3547extern "C" {
3548    pub fn _rmtmp() -> ::std::os::raw::c_int;
3549}
3550extern "C" {
3551    pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char);
3552}
3553extern "C" {
3554    pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3555}
3556extern "C" {
3557    pub fn setvbuf(
3558        _Stream: *mut FILE,
3559        _Buffer: *mut ::std::os::raw::c_char,
3560        _Mode: ::std::os::raw::c_int,
3561        _Size: usize,
3562    ) -> ::std::os::raw::c_int;
3563}
3564extern "C" {
3565    pub fn _tempnam(
3566        _DirectoryName: *const ::std::os::raw::c_char,
3567        _FilePrefix: *const ::std::os::raw::c_char,
3568    ) -> *mut ::std::os::raw::c_char;
3569}
3570extern "C" {
3571    pub fn tmpfile() -> *mut FILE;
3572}
3573extern "C" {
3574    pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3575}
3576extern "C" {
3577    pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
3578}
3579extern "C" {
3580    pub fn _lock_file(_Stream: *mut FILE);
3581}
3582extern "C" {
3583    pub fn _unlock_file(_Stream: *mut FILE);
3584}
3585extern "C" {
3586    pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3587}
3588extern "C" {
3589    pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3590}
3591extern "C" {
3592    pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3593}
3594extern "C" {
3595    pub fn _fputc_nolock(
3596        _Character: ::std::os::raw::c_int,
3597        _Stream: *mut FILE,
3598    ) -> ::std::os::raw::c_int;
3599}
3600extern "C" {
3601    pub fn _fread_nolock(
3602        _Buffer: *mut ::std::os::raw::c_void,
3603        _ElementSize: usize,
3604        _ElementCount: usize,
3605        _Stream: *mut FILE,
3606    ) -> usize;
3607}
3608extern "C" {
3609    pub fn _fread_nolock_s(
3610        _Buffer: *mut ::std::os::raw::c_void,
3611        _BufferSize: usize,
3612        _ElementSize: usize,
3613        _ElementCount: usize,
3614        _Stream: *mut FILE,
3615    ) -> usize;
3616}
3617extern "C" {
3618    pub fn _fseek_nolock(
3619        _Stream: *mut FILE,
3620        _Offset: ::std::os::raw::c_long,
3621        _Origin: ::std::os::raw::c_int,
3622    ) -> ::std::os::raw::c_int;
3623}
3624extern "C" {
3625    pub fn _fseeki64_nolock(
3626        _Stream: *mut FILE,
3627        _Offset: ::std::os::raw::c_longlong,
3628        _Origin: ::std::os::raw::c_int,
3629    ) -> ::std::os::raw::c_int;
3630}
3631extern "C" {
3632    pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long;
3633}
3634extern "C" {
3635    pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
3636}
3637extern "C" {
3638    pub fn _fwrite_nolock(
3639        _Buffer: *const ::std::os::raw::c_void,
3640        _ElementSize: usize,
3641        _ElementCount: usize,
3642        _Stream: *mut FILE,
3643    ) -> usize;
3644}
3645extern "C" {
3646    pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3647}
3648extern "C" {
3649    pub fn _putc_nolock(
3650        _Character: ::std::os::raw::c_int,
3651        _Stream: *mut FILE,
3652    ) -> ::std::os::raw::c_int;
3653}
3654extern "C" {
3655    pub fn _ungetc_nolock(
3656        _Character: ::std::os::raw::c_int,
3657        _Stream: *mut FILE,
3658    ) -> ::std::os::raw::c_int;
3659}
3660extern "C" {
3661    pub fn __p__commode() -> *mut ::std::os::raw::c_int;
3662}
3663extern "C" {
3664    pub fn __stdio_common_vfprintf(
3665        _Options: ::std::os::raw::c_ulonglong,
3666        _Stream: *mut FILE,
3667        _Format: *const ::std::os::raw::c_char,
3668        _Locale: _locale_t,
3669        _ArgList: va_list,
3670    ) -> ::std::os::raw::c_int;
3671}
3672extern "C" {
3673    pub fn __stdio_common_vfprintf_s(
3674        _Options: ::std::os::raw::c_ulonglong,
3675        _Stream: *mut FILE,
3676        _Format: *const ::std::os::raw::c_char,
3677        _Locale: _locale_t,
3678        _ArgList: va_list,
3679    ) -> ::std::os::raw::c_int;
3680}
3681extern "C" {
3682    pub fn __stdio_common_vfprintf_p(
3683        _Options: ::std::os::raw::c_ulonglong,
3684        _Stream: *mut FILE,
3685        _Format: *const ::std::os::raw::c_char,
3686        _Locale: _locale_t,
3687        _ArgList: va_list,
3688    ) -> ::std::os::raw::c_int;
3689}
3690extern "C" {
3691    pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3692}
3693extern "C" {
3694    pub fn _get_printf_count_output() -> ::std::os::raw::c_int;
3695}
3696extern "C" {
3697    pub fn __stdio_common_vfscanf(
3698        _Options: ::std::os::raw::c_ulonglong,
3699        _Stream: *mut FILE,
3700        _Format: *const ::std::os::raw::c_char,
3701        _Locale: _locale_t,
3702        _Arglist: va_list,
3703    ) -> ::std::os::raw::c_int;
3704}
3705extern "C" {
3706    pub fn __stdio_common_vsprintf(
3707        _Options: ::std::os::raw::c_ulonglong,
3708        _Buffer: *mut ::std::os::raw::c_char,
3709        _BufferCount: usize,
3710        _Format: *const ::std::os::raw::c_char,
3711        _Locale: _locale_t,
3712        _ArgList: va_list,
3713    ) -> ::std::os::raw::c_int;
3714}
3715extern "C" {
3716    pub fn __stdio_common_vsprintf_s(
3717        _Options: ::std::os::raw::c_ulonglong,
3718        _Buffer: *mut ::std::os::raw::c_char,
3719        _BufferCount: usize,
3720        _Format: *const ::std::os::raw::c_char,
3721        _Locale: _locale_t,
3722        _ArgList: va_list,
3723    ) -> ::std::os::raw::c_int;
3724}
3725extern "C" {
3726    pub fn __stdio_common_vsnprintf_s(
3727        _Options: ::std::os::raw::c_ulonglong,
3728        _Buffer: *mut ::std::os::raw::c_char,
3729        _BufferCount: usize,
3730        _MaxCount: usize,
3731        _Format: *const ::std::os::raw::c_char,
3732        _Locale: _locale_t,
3733        _ArgList: va_list,
3734    ) -> ::std::os::raw::c_int;
3735}
3736extern "C" {
3737    pub fn __stdio_common_vsprintf_p(
3738        _Options: ::std::os::raw::c_ulonglong,
3739        _Buffer: *mut ::std::os::raw::c_char,
3740        _BufferCount: usize,
3741        _Format: *const ::std::os::raw::c_char,
3742        _Locale: _locale_t,
3743        _ArgList: va_list,
3744    ) -> ::std::os::raw::c_int;
3745}
3746extern "C" {
3747    pub fn __stdio_common_vsscanf(
3748        _Options: ::std::os::raw::c_ulonglong,
3749        _Buffer: *const ::std::os::raw::c_char,
3750        _BufferCount: usize,
3751        _Format: *const ::std::os::raw::c_char,
3752        _Locale: _locale_t,
3753        _ArgList: va_list,
3754    ) -> ::std::os::raw::c_int;
3755}
3756extern "C" {
3757    pub fn tempnam(
3758        _Directory: *const ::std::os::raw::c_char,
3759        _FilePrefix: *const ::std::os::raw::c_char,
3760    ) -> *mut ::std::os::raw::c_char;
3761}
3762extern "C" {
3763    pub fn fcloseall() -> ::std::os::raw::c_int;
3764}
3765extern "C" {
3766    pub fn fdopen(
3767        _FileHandle: ::std::os::raw::c_int,
3768        _Format: *const ::std::os::raw::c_char,
3769    ) -> *mut FILE;
3770}
3771extern "C" {
3772    pub fn fgetchar() -> ::std::os::raw::c_int;
3773}
3774extern "C" {
3775    pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3776}
3777extern "C" {
3778    pub fn flushall() -> ::std::os::raw::c_int;
3779}
3780extern "C" {
3781    pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3782}
3783extern "C" {
3784    pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
3785}
3786extern "C" {
3787    pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
3788}
3789extern "C" {
3790    pub fn rmtmp() -> ::std::os::raw::c_int;
3791}
3792extern "C" {
3793    #[doc = " Returns the library version"]
3794    pub fn libesedb_get_version() -> *const ::std::os::raw::c_char;
3795}
3796extern "C" {
3797    #[doc = " Returns the access flags for reading"]
3798    pub fn libesedb_get_access_flags_read() -> ::std::os::raw::c_int;
3799}
3800extern "C" {
3801    #[doc = " Retrieves the narrow system string codepage\n A value of 0 represents no codepage, UTF-8 encoding is used instead\n Returns 1 if successful or -1 on error"]
3802    pub fn libesedb_get_codepage(
3803        codepage: *mut ::std::os::raw::c_int,
3804        error: *mut *mut libesedb_error_t,
3805    ) -> ::std::os::raw::c_int;
3806}
3807extern "C" {
3808    #[doc = " Sets the narrow system string codepage\n A value of 0 represents no codepage, UTF-8 encoding is used instead\n Returns 1 if successful or -1 on error"]
3809    pub fn libesedb_set_codepage(
3810        codepage: ::std::os::raw::c_int,
3811        error: *mut *mut libesedb_error_t,
3812    ) -> ::std::os::raw::c_int;
3813}
3814extern "C" {
3815    #[doc = " Determines if a file contains an ESEDB file signature\n Returns 1 if true, 0 if not or -1 on error"]
3816    pub fn libesedb_check_file_signature(
3817        filename: *const ::std::os::raw::c_char,
3818        error: *mut *mut libesedb_error_t,
3819    ) -> ::std::os::raw::c_int;
3820}
3821extern "C" {
3822    #[doc = " Sets the verbose notification"]
3823    pub fn libesedb_notify_set_verbose(verbose: ::std::os::raw::c_int);
3824}
3825extern "C" {
3826    #[doc = " Sets the notification stream\n Returns 1 if successful or -1 on error"]
3827    pub fn libesedb_notify_set_stream(
3828        stream: *mut FILE,
3829        error: *mut *mut libesedb_error_t,
3830    ) -> ::std::os::raw::c_int;
3831}
3832extern "C" {
3833    #[doc = " Opens the notification stream using a filename\n The stream is opened in append mode\n Returns 1 if successful or -1 on error"]
3834    pub fn libesedb_notify_stream_open(
3835        filename: *const ::std::os::raw::c_char,
3836        error: *mut *mut libesedb_error_t,
3837    ) -> ::std::os::raw::c_int;
3838}
3839extern "C" {
3840    #[doc = " Closes the notification stream if opened using a filename\n Returns 0 if successful or -1 on error"]
3841    pub fn libesedb_notify_stream_close(error: *mut *mut libesedb_error_t)
3842        -> ::std::os::raw::c_int;
3843}
3844extern "C" {
3845    #[doc = " Frees an error"]
3846    pub fn libesedb_error_free(error: *mut *mut libesedb_error_t);
3847}
3848extern "C" {
3849    #[doc = " Prints a descriptive string of the error to the stream\n Returns the number of printed characters if successful or -1 on error"]
3850    pub fn libesedb_error_fprint(
3851        error: *mut libesedb_error_t,
3852        stream: *mut FILE,
3853    ) -> ::std::os::raw::c_int;
3854}
3855extern "C" {
3856    #[doc = " Prints a descriptive string of the error to the string\n The end-of-string character is not included in the return value\n Returns the number of printed characters if successful or -1 on error"]
3857    pub fn libesedb_error_sprint(
3858        error: *mut libesedb_error_t,
3859        string: *mut ::std::os::raw::c_char,
3860        size: usize,
3861    ) -> ::std::os::raw::c_int;
3862}
3863extern "C" {
3864    #[doc = " Prints a backtrace of the error to the stream\n Returns the number of printed characters if successful or -1 on error"]
3865    pub fn libesedb_error_backtrace_fprint(
3866        error: *mut libesedb_error_t,
3867        stream: *mut FILE,
3868    ) -> ::std::os::raw::c_int;
3869}
3870extern "C" {
3871    #[doc = " Prints a backtrace of the error to the string\n The end-of-string character is not included in the return value\n Returns the number of printed characters if successful or -1 on error"]
3872    pub fn libesedb_error_backtrace_sprint(
3873        error: *mut libesedb_error_t,
3874        string: *mut ::std::os::raw::c_char,
3875        size: usize,
3876    ) -> ::std::os::raw::c_int;
3877}
3878extern "C" {
3879    #[doc = " Creates a file\n Make sure the value file is referencing, is set to NULL\n Returns 1 if successful or -1 on error"]
3880    pub fn libesedb_file_initialize(
3881        file: *mut *mut libesedb_file_t,
3882        error: *mut *mut libesedb_error_t,
3883    ) -> ::std::os::raw::c_int;
3884}
3885extern "C" {
3886    #[doc = " Frees a file\n Returns 1 if successful or -1 on error"]
3887    pub fn libesedb_file_free(
3888        file: *mut *mut libesedb_file_t,
3889        error: *mut *mut libesedb_error_t,
3890    ) -> ::std::os::raw::c_int;
3891}
3892extern "C" {
3893    #[doc = " Signals a file to abort its current activity\n Returns 1 if successful or -1 on error"]
3894    pub fn libesedb_file_signal_abort(
3895        file: *mut libesedb_file_t,
3896        error: *mut *mut libesedb_error_t,
3897    ) -> ::std::os::raw::c_int;
3898}
3899extern "C" {
3900    #[doc = " Opens a file\n Returns 1 if successful or -1 on error"]
3901    pub fn libesedb_file_open(
3902        file: *mut libesedb_file_t,
3903        filename: *const ::std::os::raw::c_char,
3904        access_flags: ::std::os::raw::c_int,
3905        error: *mut *mut libesedb_error_t,
3906    ) -> ::std::os::raw::c_int;
3907}
3908extern "C" {
3909    #[doc = " Closes a file\n Returns 0 if successful or -1 on error"]
3910    pub fn libesedb_file_close(
3911        file: *mut libesedb_file_t,
3912        error: *mut *mut libesedb_error_t,
3913    ) -> ::std::os::raw::c_int;
3914}
3915extern "C" {
3916    #[doc = " Retrieves the file type\n Returns 1 if successful or -1 on error"]
3917    pub fn libesedb_file_get_type(
3918        file: *mut libesedb_file_t,
3919        type_: *mut u32,
3920        error: *mut *mut libesedb_error_t,
3921    ) -> ::std::os::raw::c_int;
3922}
3923extern "C" {
3924    #[doc = " Retrieves the file (current) format version\n Returns 1 if successful or -1 on error"]
3925    pub fn libesedb_file_get_format_version(
3926        file: *mut libesedb_file_t,
3927        format_version: *mut u32,
3928        format_revision: *mut u32,
3929        error: *mut *mut libesedb_error_t,
3930    ) -> ::std::os::raw::c_int;
3931}
3932extern "C" {
3933    #[doc = " Retrieves the file creation version\n Returns 1 if successful or -1 on error"]
3934    pub fn libesedb_file_get_creation_format_version(
3935        file: *mut libesedb_file_t,
3936        format_version: *mut u32,
3937        format_revision: *mut u32,
3938        error: *mut *mut libesedb_error_t,
3939    ) -> ::std::os::raw::c_int;
3940}
3941extern "C" {
3942    #[doc = " Retrieves the file page size\n Returns 1 if successful or -1 on error"]
3943    pub fn libesedb_file_get_page_size(
3944        file: *mut libesedb_file_t,
3945        page_size: *mut u32,
3946        error: *mut *mut libesedb_error_t,
3947    ) -> ::std::os::raw::c_int;
3948}
3949extern "C" {
3950    #[doc = " Retrieves the number of tables\n Returns 1 if successful or -1 on error"]
3951    pub fn libesedb_file_get_number_of_tables(
3952        file: *mut libesedb_file_t,
3953        number_of_tables: *mut ::std::os::raw::c_int,
3954        error: *mut *mut libesedb_error_t,
3955    ) -> ::std::os::raw::c_int;
3956}
3957extern "C" {
3958    #[doc = " Retrieves the table for the specific entry\n Returns 1 if successful or -1 on error"]
3959    pub fn libesedb_file_get_table(
3960        file: *mut libesedb_file_t,
3961        table_entry: ::std::os::raw::c_int,
3962        table: *mut *mut libesedb_table_t,
3963        error: *mut *mut libesedb_error_t,
3964    ) -> ::std::os::raw::c_int;
3965}
3966extern "C" {
3967    #[doc = " Retrieves the table for the UTF-8 encoded name\n Returns 1 if successful, 0 if no table could be found or -1 on error"]
3968    pub fn libesedb_file_get_table_by_utf8_name(
3969        file: *mut libesedb_file_t,
3970        utf8_string: *const u8,
3971        utf8_string_length: usize,
3972        table: *mut *mut libesedb_table_t,
3973        error: *mut *mut libesedb_error_t,
3974    ) -> ::std::os::raw::c_int;
3975}
3976extern "C" {
3977    #[doc = " Retrieves the table for the UTF-16 encoded name\n Returns 1 if successful, 0 if no table could be found or -1 on error"]
3978    pub fn libesedb_file_get_table_by_utf16_name(
3979        file: *mut libesedb_file_t,
3980        utf16_string: *const u16,
3981        utf16_string_length: usize,
3982        table: *mut *mut libesedb_table_t,
3983        error: *mut *mut libesedb_error_t,
3984    ) -> ::std::os::raw::c_int;
3985}
3986extern "C" {
3987    #[doc = " Frees a table\n Returns 1 if successful or -1 on error"]
3988    pub fn libesedb_table_free(
3989        table: *mut *mut libesedb_table_t,
3990        error: *mut *mut libesedb_error_t,
3991    ) -> ::std::os::raw::c_int;
3992}
3993extern "C" {
3994    #[doc = " Retrieves the table identifier or Father Data Page (FDP) object identifier\n Returns 1 if successful or -1 on error"]
3995    pub fn libesedb_table_get_identifier(
3996        table: *mut libesedb_table_t,
3997        identifier: *mut u32,
3998        error: *mut *mut libesedb_error_t,
3999    ) -> ::std::os::raw::c_int;
4000}
4001extern "C" {
4002    #[doc = " Retrieves the size of the UTF-8 encoded string of the table name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4003    pub fn libesedb_table_get_utf8_name_size(
4004        table: *mut libesedb_table_t,
4005        utf8_string_size: *mut usize,
4006        error: *mut *mut libesedb_error_t,
4007    ) -> ::std::os::raw::c_int;
4008}
4009extern "C" {
4010    #[doc = " Retrieves the UTF-8 encoded string of the table name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4011    pub fn libesedb_table_get_utf8_name(
4012        table: *mut libesedb_table_t,
4013        utf8_string: *mut u8,
4014        utf8_string_size: usize,
4015        error: *mut *mut libesedb_error_t,
4016    ) -> ::std::os::raw::c_int;
4017}
4018extern "C" {
4019    #[doc = " Retrieves the size of the UTF-16 encoded string of the table name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4020    pub fn libesedb_table_get_utf16_name_size(
4021        table: *mut libesedb_table_t,
4022        utf16_string_size: *mut usize,
4023        error: *mut *mut libesedb_error_t,
4024    ) -> ::std::os::raw::c_int;
4025}
4026extern "C" {
4027    #[doc = " Retrieves the UTF-16 encoded string of the table name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4028    pub fn libesedb_table_get_utf16_name(
4029        table: *mut libesedb_table_t,
4030        utf16_string: *mut u16,
4031        utf16_string_size: usize,
4032        error: *mut *mut libesedb_error_t,
4033    ) -> ::std::os::raw::c_int;
4034}
4035extern "C" {
4036    #[doc = " Retrieves the size of the UTF-8 encoded string of the template name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4037    pub fn libesedb_table_get_utf8_template_name_size(
4038        table: *mut libesedb_table_t,
4039        utf8_string_size: *mut usize,
4040        error: *mut *mut libesedb_error_t,
4041    ) -> ::std::os::raw::c_int;
4042}
4043extern "C" {
4044    #[doc = " Retrieves the UTF-8 encoded string of the template name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4045    pub fn libesedb_table_get_utf8_template_name(
4046        table: *mut libesedb_table_t,
4047        utf8_string: *mut u8,
4048        utf8_string_size: usize,
4049        error: *mut *mut libesedb_error_t,
4050    ) -> ::std::os::raw::c_int;
4051}
4052extern "C" {
4053    #[doc = " Retrieves the size of the UTF-16 encoded string of the template name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4054    pub fn libesedb_table_get_utf16_template_name_size(
4055        table: *mut libesedb_table_t,
4056        utf16_string_size: *mut usize,
4057        error: *mut *mut libesedb_error_t,
4058    ) -> ::std::os::raw::c_int;
4059}
4060extern "C" {
4061    #[doc = " Retrieves the UTF-16 encoded string of the template name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4062    pub fn libesedb_table_get_utf16_template_name(
4063        table: *mut libesedb_table_t,
4064        utf16_string: *mut u16,
4065        utf16_string_size: usize,
4066        error: *mut *mut libesedb_error_t,
4067    ) -> ::std::os::raw::c_int;
4068}
4069extern "C" {
4070    #[doc = " Retrieves the number of columns in the table\n\n Use the flag LIBESEDB_GET_COLUMN_FLAG_IGNORE_TEMPLATE_TABLE to retrieve the number of columns\n ignoring the template table\n\n Returns 1 if successful or -1 on error"]
4071    pub fn libesedb_table_get_number_of_columns(
4072        table: *mut libesedb_table_t,
4073        number_of_columns: *mut ::std::os::raw::c_int,
4074        flags: u8,
4075        error: *mut *mut libesedb_error_t,
4076    ) -> ::std::os::raw::c_int;
4077}
4078extern "C" {
4079    #[doc = " Retrieves the column for the specific entry\n\n Use the flag LIBESEDB_GET_COLUMN_FLAG_IGNORE_TEMPLATE_TABLE to retrieve the column\n ignoring the template table\n\n Returns 1 if successful or -1 on error"]
4080    pub fn libesedb_table_get_column(
4081        table: *mut libesedb_table_t,
4082        column_entry: ::std::os::raw::c_int,
4083        column: *mut *mut libesedb_column_t,
4084        flags: u8,
4085        error: *mut *mut libesedb_error_t,
4086    ) -> ::std::os::raw::c_int;
4087}
4088extern "C" {
4089    #[doc = " Retrieves the number of indexes\n Returns 1 if successful or -1 on error"]
4090    pub fn libesedb_table_get_number_of_indexes(
4091        table: *mut libesedb_table_t,
4092        number_of_indexes: *mut ::std::os::raw::c_int,
4093        error: *mut *mut libesedb_error_t,
4094    ) -> ::std::os::raw::c_int;
4095}
4096extern "C" {
4097    #[doc = " Retrieves the index for the specific entry\n Returns 1 if successful or -1 on error"]
4098    pub fn libesedb_table_get_index(
4099        table: *mut libesedb_table_t,
4100        index_entry: ::std::os::raw::c_int,
4101        index: *mut *mut libesedb_index_t,
4102        error: *mut *mut libesedb_error_t,
4103    ) -> ::std::os::raw::c_int;
4104}
4105extern "C" {
4106    #[doc = " Retrieves the number of records in the table\n Returns 1 if successful or -1 on error"]
4107    pub fn libesedb_table_get_number_of_records(
4108        table: *mut libesedb_table_t,
4109        number_of_records: *mut ::std::os::raw::c_int,
4110        error: *mut *mut libesedb_error_t,
4111    ) -> ::std::os::raw::c_int;
4112}
4113extern "C" {
4114    #[doc = " Retrieves the record for the specific entry\n Returns 1 if successful or -1 on error"]
4115    pub fn libesedb_table_get_record(
4116        table: *mut libesedb_table_t,
4117        record_entry: ::std::os::raw::c_int,
4118        record: *mut *mut libesedb_record_t,
4119        error: *mut *mut libesedb_error_t,
4120    ) -> ::std::os::raw::c_int;
4121}
4122extern "C" {
4123    #[doc = " Frees a column\n Returns 1 if successful or -1 on error"]
4124    pub fn libesedb_column_free(
4125        column: *mut *mut libesedb_column_t,
4126        error: *mut *mut libesedb_error_t,
4127    ) -> ::std::os::raw::c_int;
4128}
4129extern "C" {
4130    #[doc = " Retrieves the column identifier\n Returns 1 if successful or -1 on error"]
4131    pub fn libesedb_column_get_identifier(
4132        column: *mut libesedb_column_t,
4133        identifier: *mut u32,
4134        error: *mut *mut libesedb_error_t,
4135    ) -> ::std::os::raw::c_int;
4136}
4137extern "C" {
4138    #[doc = " Retrieves the column type\n Returns 1 if successful or -1 on error"]
4139    pub fn libesedb_column_get_type(
4140        column: *mut libesedb_column_t,
4141        type_: *mut u32,
4142        error: *mut *mut libesedb_error_t,
4143    ) -> ::std::os::raw::c_int;
4144}
4145extern "C" {
4146    #[doc = " Retrieves the size of the UTF-8 encoded string of the column name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4147    pub fn libesedb_column_get_utf8_name_size(
4148        column: *mut libesedb_column_t,
4149        utf8_string_size: *mut usize,
4150        error: *mut *mut libesedb_error_t,
4151    ) -> ::std::os::raw::c_int;
4152}
4153extern "C" {
4154    #[doc = " Retrieves the UTF-8 encoded string of the column name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4155    pub fn libesedb_column_get_utf8_name(
4156        column: *mut libesedb_column_t,
4157        utf8_string: *mut u8,
4158        utf8_string_size: usize,
4159        error: *mut *mut libesedb_error_t,
4160    ) -> ::std::os::raw::c_int;
4161}
4162extern "C" {
4163    #[doc = " Retrieves the size of the UTF-16 encoded string of the column name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4164    pub fn libesedb_column_get_utf16_name_size(
4165        column: *mut libesedb_column_t,
4166        utf16_string_size: *mut usize,
4167        error: *mut *mut libesedb_error_t,
4168    ) -> ::std::os::raw::c_int;
4169}
4170extern "C" {
4171    #[doc = " Retrieves the UTF-16 encoded string of the column name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4172    pub fn libesedb_column_get_utf16_name(
4173        column: *mut libesedb_column_t,
4174        utf16_string: *mut u16,
4175        utf16_string_size: usize,
4176        error: *mut *mut libesedb_error_t,
4177    ) -> ::std::os::raw::c_int;
4178}
4179extern "C" {
4180    #[doc = " Frees a index\n Returns 1 if successful or -1 on error"]
4181    pub fn libesedb_index_free(
4182        index: *mut *mut libesedb_index_t,
4183        error: *mut *mut libesedb_error_t,
4184    ) -> ::std::os::raw::c_int;
4185}
4186extern "C" {
4187    #[doc = " Retrieves the index identifier or Father Data Page (FDP) object identifier\n Returns 1 if successful or -1 on error"]
4188    pub fn libesedb_index_get_identifier(
4189        index: *mut libesedb_index_t,
4190        identifier: *mut u32,
4191        error: *mut *mut libesedb_error_t,
4192    ) -> ::std::os::raw::c_int;
4193}
4194extern "C" {
4195    #[doc = " Retrieves the size of the UTF-8 encoded string of the index name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4196    pub fn libesedb_index_get_utf8_name_size(
4197        index: *mut libesedb_index_t,
4198        utf8_string_size: *mut usize,
4199        error: *mut *mut libesedb_error_t,
4200    ) -> ::std::os::raw::c_int;
4201}
4202extern "C" {
4203    #[doc = " Retrieves the UTF-8 encoded string of the index name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4204    pub fn libesedb_index_get_utf8_name(
4205        index: *mut libesedb_index_t,
4206        utf8_string: *mut u8,
4207        utf8_string_size: usize,
4208        error: *mut *mut libesedb_error_t,
4209    ) -> ::std::os::raw::c_int;
4210}
4211extern "C" {
4212    #[doc = " Retrieves the size of the UTF-16 encoded string of the index name\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4213    pub fn libesedb_index_get_utf16_name_size(
4214        index: *mut libesedb_index_t,
4215        utf16_string_size: *mut usize,
4216        error: *mut *mut libesedb_error_t,
4217    ) -> ::std::os::raw::c_int;
4218}
4219extern "C" {
4220    #[doc = " Retrieves the UTF-16 encoded string of the index name\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4221    pub fn libesedb_index_get_utf16_name(
4222        index: *mut libesedb_index_t,
4223        utf16_string: *mut u16,
4224        utf16_string_size: usize,
4225        error: *mut *mut libesedb_error_t,
4226    ) -> ::std::os::raw::c_int;
4227}
4228extern "C" {
4229    #[doc = " Retrieves the number of records in the index\n Returns 1 if successful or -1 on error"]
4230    pub fn libesedb_index_get_number_of_records(
4231        index: *mut libesedb_index_t,
4232        number_of_records: *mut ::std::os::raw::c_int,
4233        error: *mut *mut libesedb_error_t,
4234    ) -> ::std::os::raw::c_int;
4235}
4236extern "C" {
4237    #[doc = " Retrieves the record for the specific entry\n Returns 1 if successful or -1 on error"]
4238    pub fn libesedb_index_get_record(
4239        index: *mut libesedb_index_t,
4240        record_entry: ::std::os::raw::c_int,
4241        record: *mut *mut libesedb_record_t,
4242        error: *mut *mut libesedb_error_t,
4243    ) -> ::std::os::raw::c_int;
4244}
4245extern "C" {
4246    #[doc = " Frees a record\n Returns 1 if successful or -1 on error"]
4247    pub fn libesedb_record_free(
4248        record: *mut *mut libesedb_record_t,
4249        error: *mut *mut libesedb_error_t,
4250    ) -> ::std::os::raw::c_int;
4251}
4252extern "C" {
4253    #[doc = " Retrieves the number of values in the record\n Returns 1 if successful or -1 on error"]
4254    pub fn libesedb_record_get_number_of_values(
4255        record: *mut libesedb_record_t,
4256        number_of_values: *mut ::std::os::raw::c_int,
4257        error: *mut *mut libesedb_error_t,
4258    ) -> ::std::os::raw::c_int;
4259}
4260extern "C" {
4261    #[doc = " Retrieves the column identifier of the specific entry\n Returns 1 if successful or -1 on error"]
4262    pub fn libesedb_record_get_column_identifier(
4263        record: *mut libesedb_record_t,
4264        value_entry: ::std::os::raw::c_int,
4265        column_identifier: *mut u32,
4266        error: *mut *mut libesedb_error_t,
4267    ) -> ::std::os::raw::c_int;
4268}
4269extern "C" {
4270    #[doc = " Retrieves the column type of the specific entry\n Returns 1 if successful or -1 on error"]
4271    pub fn libesedb_record_get_column_type(
4272        record: *mut libesedb_record_t,
4273        value_entry: ::std::os::raw::c_int,
4274        column_type: *mut u32,
4275        error: *mut *mut libesedb_error_t,
4276    ) -> ::std::os::raw::c_int;
4277}
4278extern "C" {
4279    #[doc = " Retrieves the size of the UTF-8 encoded string of the column name of the specific entry\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4280    pub fn libesedb_record_get_utf8_column_name_size(
4281        record: *mut libesedb_record_t,
4282        value_entry: ::std::os::raw::c_int,
4283        utf8_string_size: *mut usize,
4284        error: *mut *mut libesedb_error_t,
4285    ) -> ::std::os::raw::c_int;
4286}
4287extern "C" {
4288    #[doc = " Retrieves the UTF-8 encoded string of the column name of the specific entry\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4289    pub fn libesedb_record_get_utf8_column_name(
4290        record: *mut libesedb_record_t,
4291        value_entry: ::std::os::raw::c_int,
4292        utf8_string: *mut u8,
4293        utf8_string_size: usize,
4294        error: *mut *mut libesedb_error_t,
4295    ) -> ::std::os::raw::c_int;
4296}
4297extern "C" {
4298    #[doc = " Retrieves the size of the UTF-16 encoded string of the column name of the specific entry\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4299    pub fn libesedb_record_get_utf16_column_name_size(
4300        record: *mut libesedb_record_t,
4301        value_entry: ::std::os::raw::c_int,
4302        utf16_string_size: *mut usize,
4303        error: *mut *mut libesedb_error_t,
4304    ) -> ::std::os::raw::c_int;
4305}
4306extern "C" {
4307    #[doc = " Retrieves the UTF-16 encoded string of the column name of the specific entry\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4308    pub fn libesedb_record_get_utf16_column_name(
4309        record: *mut libesedb_record_t,
4310        value_entry: ::std::os::raw::c_int,
4311        utf16_string: *mut u16,
4312        utf16_string_size: usize,
4313        error: *mut *mut libesedb_error_t,
4314    ) -> ::std::os::raw::c_int;
4315}
4316extern "C" {
4317    #[doc = " Retrieves the value data size of the specific entry\n Returns 1 if successful or -1 on error"]
4318    pub fn libesedb_record_get_value_data_size(
4319        record: *mut libesedb_record_t,
4320        value_entry: ::std::os::raw::c_int,
4321        value_data_size: *mut usize,
4322        error: *mut *mut libesedb_error_t,
4323    ) -> ::std::os::raw::c_int;
4324}
4325extern "C" {
4326    #[doc = " Retrieves the value data of the specific entry\n Returns 1 if successful or -1 on error"]
4327    pub fn libesedb_record_get_value_data(
4328        record: *mut libesedb_record_t,
4329        value_entry: ::std::os::raw::c_int,
4330        value_data: *mut u8,
4331        value_data_size: usize,
4332        error: *mut *mut libesedb_error_t,
4333    ) -> ::std::os::raw::c_int;
4334}
4335extern "C" {
4336    #[doc = " Retrieves the value data flags of the specific entry\n Returns 1 if successful or -1 on error"]
4337    pub fn libesedb_record_get_value_data_flags(
4338        record: *mut libesedb_record_t,
4339        value_entry: ::std::os::raw::c_int,
4340        value_data_flags: *mut u8,
4341        error: *mut *mut libesedb_error_t,
4342    ) -> ::std::os::raw::c_int;
4343}
4344extern "C" {
4345    #[doc = " Retrieves the boolean value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4346    pub fn libesedb_record_get_value_boolean(
4347        record: *mut libesedb_record_t,
4348        value_entry: ::std::os::raw::c_int,
4349        value_boolean: *mut u8,
4350        error: *mut *mut libesedb_error_t,
4351    ) -> ::std::os::raw::c_int;
4352}
4353extern "C" {
4354    #[doc = " Retrieves the 8-bit value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4355    pub fn libesedb_record_get_value_8bit(
4356        record: *mut libesedb_record_t,
4357        value_entry: ::std::os::raw::c_int,
4358        value_8bit: *mut u8,
4359        error: *mut *mut libesedb_error_t,
4360    ) -> ::std::os::raw::c_int;
4361}
4362extern "C" {
4363    #[doc = " Retrieves the 16-bit value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4364    pub fn libesedb_record_get_value_16bit(
4365        record: *mut libesedb_record_t,
4366        value_entry: ::std::os::raw::c_int,
4367        value_16bit: *mut u16,
4368        error: *mut *mut libesedb_error_t,
4369    ) -> ::std::os::raw::c_int;
4370}
4371extern "C" {
4372    #[doc = " Retrieves the 32-bit value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4373    pub fn libesedb_record_get_value_32bit(
4374        record: *mut libesedb_record_t,
4375        value_entry: ::std::os::raw::c_int,
4376        value_32bit: *mut u32,
4377        error: *mut *mut libesedb_error_t,
4378    ) -> ::std::os::raw::c_int;
4379}
4380extern "C" {
4381    #[doc = " Retrieves the 64-bit value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4382    pub fn libesedb_record_get_value_64bit(
4383        record: *mut libesedb_record_t,
4384        value_entry: ::std::os::raw::c_int,
4385        value_64bit: *mut u64,
4386        error: *mut *mut libesedb_error_t,
4387    ) -> ::std::os::raw::c_int;
4388}
4389extern "C" {
4390    #[doc = " Retrieves the 64-bit filetime value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4391    pub fn libesedb_record_get_value_filetime(
4392        record: *mut libesedb_record_t,
4393        value_entry: ::std::os::raw::c_int,
4394        value_filetime: *mut u64,
4395        error: *mut *mut libesedb_error_t,
4396    ) -> ::std::os::raw::c_int;
4397}
4398extern "C" {
4399    #[doc = " Retrieves the single precision floating point value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4400    pub fn libesedb_record_get_value_floating_point_32bit(
4401        record: *mut libesedb_record_t,
4402        value_entry: ::std::os::raw::c_int,
4403        value_floating_point_32bit: *mut f32,
4404        error: *mut *mut libesedb_error_t,
4405    ) -> ::std::os::raw::c_int;
4406}
4407extern "C" {
4408    #[doc = " Retrieves the double precision floating point value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4409    pub fn libesedb_record_get_value_floating_point_64bit(
4410        record: *mut libesedb_record_t,
4411        value_entry: ::std::os::raw::c_int,
4412        value_floating_point_64bit: *mut f64,
4413        error: *mut *mut libesedb_error_t,
4414    ) -> ::std::os::raw::c_int;
4415}
4416extern "C" {
4417    #[doc = " Retrieves the size of an UTF-8 encoded string a specific entry\n The returned size includes the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4418    pub fn libesedb_record_get_value_utf8_string_size(
4419        record: *mut libesedb_record_t,
4420        value_entry: ::std::os::raw::c_int,
4421        utf8_string_size: *mut usize,
4422        error: *mut *mut libesedb_error_t,
4423    ) -> ::std::os::raw::c_int;
4424}
4425extern "C" {
4426    #[doc = " Retrieves the UTF-8 encoded string of a specific entry\n The function uses the codepage in the column definition if necessary\n The size should include the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4427    pub fn libesedb_record_get_value_utf8_string(
4428        record: *mut libesedb_record_t,
4429        value_entry: ::std::os::raw::c_int,
4430        utf8_string: *mut u8,
4431        utf8_string_size: usize,
4432        error: *mut *mut libesedb_error_t,
4433    ) -> ::std::os::raw::c_int;
4434}
4435extern "C" {
4436    #[doc = " Retrieves the size of an UTF-16 encoded string a specific entry\n The returned size includes the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4437    pub fn libesedb_record_get_value_utf16_string_size(
4438        record: *mut libesedb_record_t,
4439        value_entry: ::std::os::raw::c_int,
4440        utf16_string_size: *mut usize,
4441        error: *mut *mut libesedb_error_t,
4442    ) -> ::std::os::raw::c_int;
4443}
4444extern "C" {
4445    #[doc = " Retrieves the UTF-16 encoded string of a specific entry\n The function uses the codepage in the column definition if necessary\n The size should include the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4446    pub fn libesedb_record_get_value_utf16_string(
4447        record: *mut libesedb_record_t,
4448        value_entry: ::std::os::raw::c_int,
4449        utf16_string: *mut u16,
4450        utf16_string_size: usize,
4451        error: *mut *mut libesedb_error_t,
4452    ) -> ::std::os::raw::c_int;
4453}
4454extern "C" {
4455    #[doc = " Retrieves the binary data size of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4456    pub fn libesedb_record_get_value_binary_data_size(
4457        record: *mut libesedb_record_t,
4458        value_entry: ::std::os::raw::c_int,
4459        binary_data_size: *mut usize,
4460        error: *mut *mut libesedb_error_t,
4461    ) -> ::std::os::raw::c_int;
4462}
4463extern "C" {
4464    #[doc = " Retrieves the binary data value of a specific entry\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4465    pub fn libesedb_record_get_value_binary_data(
4466        record: *mut libesedb_record_t,
4467        value_entry: ::std::os::raw::c_int,
4468        binary_data: *mut u8,
4469        binary_data_size: usize,
4470        error: *mut *mut libesedb_error_t,
4471    ) -> ::std::os::raw::c_int;
4472}
4473extern "C" {
4474    #[doc = " Determines if a specific entry is a long value\n Returns 1 if true, 0 if not or -1 on error"]
4475    pub fn libesedb_record_is_long_value(
4476        record: *mut libesedb_record_t,
4477        value_entry: ::std::os::raw::c_int,
4478        error: *mut *mut libesedb_error_t,
4479    ) -> ::std::os::raw::c_int;
4480}
4481extern "C" {
4482    #[doc = " Determines if a specific entry is a multi value\n Returns 1 if true, 0 if not or -1 on error"]
4483    pub fn libesedb_record_is_multi_value(
4484        record: *mut libesedb_record_t,
4485        value_entry: ::std::os::raw::c_int,
4486        error: *mut *mut libesedb_error_t,
4487    ) -> ::std::os::raw::c_int;
4488}
4489extern "C" {
4490    #[doc = " Retrieves the long value of a specific entry\n Creates a new long value\n Returns 1 if successful, 0 if the item does not contain such value or -1 on error"]
4491    pub fn libesedb_record_get_long_value(
4492        record: *mut libesedb_record_t,
4493        value_entry: ::std::os::raw::c_int,
4494        long_value: *mut *mut libesedb_long_value_t,
4495        error: *mut *mut libesedb_error_t,
4496    ) -> ::std::os::raw::c_int;
4497}
4498extern "C" {
4499    #[doc = " Retrieves the multi value of a specific entry\n Creates a new multi value\n Returns 1 if successful, 0 if the item does not contain such value or -1 on error"]
4500    pub fn libesedb_record_get_multi_value(
4501        record: *mut libesedb_record_t,
4502        value_entry: ::std::os::raw::c_int,
4503        multi_value: *mut *mut libesedb_multi_value_t,
4504        error: *mut *mut libesedb_error_t,
4505    ) -> ::std::os::raw::c_int;
4506}
4507extern "C" {
4508    #[doc = " Retrieves the value of the specific entry\n Returns 1 if successful or -1 on error\n\n This function is deprecated use the libesedb_record_get_value_data functions instead."]
4509    pub fn libesedb_record_get_value(
4510        record: *mut libesedb_record_t,
4511        value_entry: ::std::os::raw::c_int,
4512        value_data: *mut *mut u8,
4513        value_data_size: *mut usize,
4514        value_flags: *mut u8,
4515        error: *mut *mut libesedb_error_t,
4516    ) -> ::std::os::raw::c_int;
4517}
4518extern "C" {
4519    #[doc = " Frees a long value\n Returns 1 if successful or -1 on error"]
4520    pub fn libesedb_long_value_free(
4521        long_value: *mut *mut libesedb_long_value_t,
4522        error: *mut *mut libesedb_error_t,
4523    ) -> ::std::os::raw::c_int;
4524}
4525extern "C" {
4526    #[doc = " Retrieve the data size\n Returns 1 if successful or -1 on error"]
4527    pub fn libesedb_long_value_get_data_size(
4528        long_value: *mut libesedb_long_value_t,
4529        data_size: *mut size64_t,
4530        error: *mut *mut libesedb_error_t,
4531    ) -> ::std::os::raw::c_int;
4532}
4533extern "C" {
4534    #[doc = " Retrieve the data\n Returns 1 if successful or -1 on error"]
4535    pub fn libesedb_long_value_get_data(
4536        long_value: *mut libesedb_long_value_t,
4537        data: *mut u8,
4538        data_size: usize,
4539        error: *mut *mut libesedb_error_t,
4540    ) -> ::std::os::raw::c_int;
4541}
4542extern "C" {
4543    #[doc = " Retrieve the number of data segments\n Returns 1 if successful or -1 on error"]
4544    pub fn libesedb_long_value_get_number_of_data_segments(
4545        long_value: *mut libesedb_long_value_t,
4546        number_of_data_segments: *mut ::std::os::raw::c_int,
4547        error: *mut *mut libesedb_error_t,
4548    ) -> ::std::os::raw::c_int;
4549}
4550extern "C" {
4551    #[doc = " Retrieve the data segment size\n Returns 1 if successful or -1 on error"]
4552    pub fn libesedb_long_value_get_data_segment_size(
4553        long_value: *mut libesedb_long_value_t,
4554        data_segment_index: ::std::os::raw::c_int,
4555        data_size: *mut usize,
4556        error: *mut *mut libesedb_error_t,
4557    ) -> ::std::os::raw::c_int;
4558}
4559extern "C" {
4560    #[doc = " Retrieve the data segment\n Returns 1 if successful or -1 on error"]
4561    pub fn libesedb_long_value_get_data_segment(
4562        long_value: *mut libesedb_long_value_t,
4563        data_segment_index: ::std::os::raw::c_int,
4564        data_segment: *mut u8,
4565        data_size: usize,
4566        error: *mut *mut libesedb_error_t,
4567    ) -> ::std::os::raw::c_int;
4568}
4569extern "C" {
4570    #[doc = " Retrieves the size of the data as an UTF-8 encoded string\n The returned size includes the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4571    pub fn libesedb_long_value_get_utf8_string_size(
4572        long_value: *mut libesedb_long_value_t,
4573        utf8_string_size: *mut usize,
4574        error: *mut *mut libesedb_error_t,
4575    ) -> ::std::os::raw::c_int;
4576}
4577extern "C" {
4578    #[doc = " Retrieves the data as an UTF-8 encoded string\n The function uses the codepage in the column definition if necessary\n The size should include the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4579    pub fn libesedb_long_value_get_utf8_string(
4580        long_value: *mut libesedb_long_value_t,
4581        utf8_string: *mut u8,
4582        utf8_string_size: usize,
4583        error: *mut *mut libesedb_error_t,
4584    ) -> ::std::os::raw::c_int;
4585}
4586extern "C" {
4587    #[doc = " Retrieves the size of the data as an UTF-16 encoded string\n The returned size includes the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4588    pub fn libesedb_long_value_get_utf16_string_size(
4589        long_value: *mut libesedb_long_value_t,
4590        utf16_string_size: *mut usize,
4591        error: *mut *mut libesedb_error_t,
4592    ) -> ::std::os::raw::c_int;
4593}
4594extern "C" {
4595    #[doc = " Retrieves the data as an UTF-16 encoded string\n The function uses the codepage in the column definition if necessary\n The size should include the end of string character\n Returns 1 if successful, 0 if value is NULL or -1 on error"]
4596    pub fn libesedb_long_value_get_utf16_string(
4597        long_value: *mut libesedb_long_value_t,
4598        utf16_string: *mut u16,
4599        utf16_string_size: usize,
4600        error: *mut *mut libesedb_error_t,
4601    ) -> ::std::os::raw::c_int;
4602}
4603extern "C" {
4604    #[doc = " Frees a multi value\n Returns 1 if successful or -1 on error"]
4605    pub fn libesedb_multi_value_free(
4606        multi_value: *mut *mut libesedb_multi_value_t,
4607        error: *mut *mut libesedb_error_t,
4608    ) -> ::std::os::raw::c_int;
4609}
4610extern "C" {
4611    #[doc = " Retrieves the column type\n Returns 1 if successful or -1 on error"]
4612    pub fn libesedb_multi_value_get_column_type(
4613        multi_value: *mut libesedb_multi_value_t,
4614        column_type: *mut u32,
4615        error: *mut *mut libesedb_error_t,
4616    ) -> ::std::os::raw::c_int;
4617}
4618extern "C" {
4619    #[doc = " Retrieves the number of values in a multi value\n Returns 1 if successful or -1 on error"]
4620    pub fn libesedb_multi_value_get_number_of_values(
4621        multi_value: *mut libesedb_multi_value_t,
4622        number_of_values: *mut ::std::os::raw::c_int,
4623        error: *mut *mut libesedb_error_t,
4624    ) -> ::std::os::raw::c_int;
4625}
4626extern "C" {
4627    #[doc = " Retrieves the value data size of the specific value\n Returns 1 if successful or -1 on error"]
4628    pub fn libesedb_multi_value_get_value_data_size(
4629        multi_value: *mut libesedb_multi_value_t,
4630        value_entry: ::std::os::raw::c_int,
4631        value_data_size: *mut usize,
4632        error: *mut *mut libesedb_error_t,
4633    ) -> ::std::os::raw::c_int;
4634}
4635extern "C" {
4636    #[doc = " Retrieves the value data of the specific value\n Returns 1 if successful or -1 on error"]
4637    pub fn libesedb_multi_value_get_value_data(
4638        multi_value: *mut libesedb_multi_value_t,
4639        value_entry: ::std::os::raw::c_int,
4640        value_data: *mut u8,
4641        value_data_size: usize,
4642        error: *mut *mut libesedb_error_t,
4643    ) -> ::std::os::raw::c_int;
4644}
4645extern "C" {
4646    #[doc = " Retrieves the 8-bit value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4647    pub fn libesedb_multi_value_get_value_8bit(
4648        multi_value: *mut libesedb_multi_value_t,
4649        multi_value_index: ::std::os::raw::c_int,
4650        value_8bit: *mut u8,
4651        error: *mut *mut libesedb_error_t,
4652    ) -> ::std::os::raw::c_int;
4653}
4654extern "C" {
4655    #[doc = " Retrieves the 16-bit value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4656    pub fn libesedb_multi_value_get_value_16bit(
4657        multi_value: *mut libesedb_multi_value_t,
4658        multi_value_index: ::std::os::raw::c_int,
4659        value_16bit: *mut u16,
4660        error: *mut *mut libesedb_error_t,
4661    ) -> ::std::os::raw::c_int;
4662}
4663extern "C" {
4664    #[doc = " Retrieves the 32-bit value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4665    pub fn libesedb_multi_value_get_value_32bit(
4666        multi_value: *mut libesedb_multi_value_t,
4667        multi_value_index: ::std::os::raw::c_int,
4668        value_32bit: *mut u32,
4669        error: *mut *mut libesedb_error_t,
4670    ) -> ::std::os::raw::c_int;
4671}
4672extern "C" {
4673    #[doc = " Retrieves the 64-bit value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4674    pub fn libesedb_multi_value_get_value_64bit(
4675        multi_value: *mut libesedb_multi_value_t,
4676        multi_value_index: ::std::os::raw::c_int,
4677        value_64bit: *mut u64,
4678        error: *mut *mut libesedb_error_t,
4679    ) -> ::std::os::raw::c_int;
4680}
4681extern "C" {
4682    #[doc = " Retrieves the 32-bit floating point value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4683    pub fn libesedb_multi_value_get_value_floating_point_32bit(
4684        multi_value: *mut libesedb_multi_value_t,
4685        multi_value_index: ::std::os::raw::c_int,
4686        value_32bit: *mut f32,
4687        error: *mut *mut libesedb_error_t,
4688    ) -> ::std::os::raw::c_int;
4689}
4690extern "C" {
4691    #[doc = " Retrieves the 64-bit floating point value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4692    pub fn libesedb_multi_value_get_value_floating_point_64bit(
4693        multi_value: *mut libesedb_multi_value_t,
4694        multi_value_index: ::std::os::raw::c_int,
4695        value_64bit: *mut f64,
4696        error: *mut *mut libesedb_error_t,
4697    ) -> ::std::os::raw::c_int;
4698}
4699extern "C" {
4700    #[doc = " Retrieves the 64-bit filetime value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4701    pub fn libesedb_multi_value_get_value_filetime(
4702        multi_value: *mut libesedb_multi_value_t,
4703        multi_value_index: ::std::os::raw::c_int,
4704        value_filetime: *mut u64,
4705        error: *mut *mut libesedb_error_t,
4706    ) -> ::std::os::raw::c_int;
4707}
4708extern "C" {
4709    #[doc = " Retrieves the size of the UTF-8 encoded string of a specific value of the multi value\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4710    pub fn libesedb_multi_value_get_value_utf8_string_size(
4711        multi_value: *mut libesedb_multi_value_t,
4712        multi_value_index: ::std::os::raw::c_int,
4713        utf8_string_size: *mut usize,
4714        error: *mut *mut libesedb_error_t,
4715    ) -> ::std::os::raw::c_int;
4716}
4717extern "C" {
4718    #[doc = " Retrieves the UTF-8 encoded string value of a specific value of the multi value\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4719    pub fn libesedb_multi_value_get_value_utf8_string(
4720        multi_value: *mut libesedb_multi_value_t,
4721        multi_value_index: ::std::os::raw::c_int,
4722        utf8_string: *mut u8,
4723        utf8_string_size: usize,
4724        error: *mut *mut libesedb_error_t,
4725    ) -> ::std::os::raw::c_int;
4726}
4727extern "C" {
4728    #[doc = " Retrieves the size of the UTF-16 encoded string of a specific value of the multi value\n The returned size includes the end of string character\n Returns 1 if successful or -1 on error"]
4729    pub fn libesedb_multi_value_get_value_utf16_string_size(
4730        multi_value: *mut libesedb_multi_value_t,
4731        multi_value_index: ::std::os::raw::c_int,
4732        utf16_string_size: *mut usize,
4733        error: *mut *mut libesedb_error_t,
4734    ) -> ::std::os::raw::c_int;
4735}
4736extern "C" {
4737    #[doc = " Retrieves the UTF-16 encoded string value of a specific value of the multi value\n The size should include the end of string character\n Returns 1 if successful or -1 on error"]
4738    pub fn libesedb_multi_value_get_value_utf16_string(
4739        multi_value: *mut libesedb_multi_value_t,
4740        multi_value_index: ::std::os::raw::c_int,
4741        utf16_string: *mut u16,
4742        utf16_string_size: usize,
4743        error: *mut *mut libesedb_error_t,
4744    ) -> ::std::os::raw::c_int;
4745}
4746extern "C" {
4747    #[doc = " Retrieves the size of a binary data value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4748    pub fn libesedb_multi_value_get_value_binary_data_size(
4749        multi_value: *mut libesedb_multi_value_t,
4750        multi_value_index: ::std::os::raw::c_int,
4751        binary_data_size: *mut usize,
4752        error: *mut *mut libesedb_error_t,
4753    ) -> ::std::os::raw::c_int;
4754}
4755extern "C" {
4756    #[doc = " Retrieves the binary data value of a specific value of the multi value\n Returns 1 if successful or -1 on error"]
4757    pub fn libesedb_multi_value_get_value_binary_data(
4758        multi_value: *mut libesedb_multi_value_t,
4759        multi_value_index: ::std::os::raw::c_int,
4760        binary_data: *mut u8,
4761        binary_data_size: usize,
4762        error: *mut *mut libesedb_error_t,
4763    ) -> ::std::os::raw::c_int;
4764}
4765extern "C" {
4766    #[doc = " Retrieves a specific value of the multi value\n Returns 1 if successful or -1 on error\n\n This function is deprecated use the libesedb_multi_value_get_value_data functions instead."]
4767    pub fn libesedb_multi_value_get_value(
4768        multi_value: *mut libesedb_multi_value_t,
4769        multi_value_index: ::std::os::raw::c_int,
4770        value_type: *mut u32,
4771        value_data: *mut *mut u8,
4772        value_data_size: *mut usize,
4773        error: *mut *mut libesedb_error_t,
4774    ) -> ::std::os::raw::c_int;
4775}
4776#[repr(C)]
4777#[derive(Debug, Copy, Clone)]
4778pub struct __crt_locale_data {
4779    pub _address: u8,
4780}
4781#[repr(C)]
4782#[derive(Debug, Copy, Clone)]
4783pub struct __crt_multibyte_data {
4784    pub _address: u8,
4785}
4786pub type __builtin_va_list = *mut ::std::os::raw::c_char;