rust_snap7/
ffi.rs

1/* automatically generated by rust-bindgen 0.59.1 */
2#![allow(warnings)]
3
4pub const _UNISTD_H: u32 = 1;
5pub const _FEATURES_H: u32 = 1;
6pub const _DEFAULT_SOURCE: u32 = 1;
7pub const __GLIBC_USE_ISOC2X: u32 = 0;
8pub const __USE_ISOC11: u32 = 1;
9pub const __USE_ISOC99: u32 = 1;
10pub const __USE_ISOC95: u32 = 1;
11pub const __USE_POSIX_IMPLICITLY: u32 = 1;
12pub const _POSIX_SOURCE: u32 = 1;
13pub const _POSIX_C_SOURCE: u32 = 200809;
14pub const __USE_POSIX: u32 = 1;
15pub const __USE_POSIX2: u32 = 1;
16pub const __USE_POSIX199309: u32 = 1;
17pub const __USE_POSIX199506: u32 = 1;
18pub const __USE_XOPEN2K: u32 = 1;
19pub const __USE_XOPEN2K8: u32 = 1;
20pub const _ATFILE_SOURCE: u32 = 1;
21pub const __WORDSIZE: u32 = 64;
22pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
23pub const __SYSCALL_WORDSIZE: u32 = 64;
24pub const __TIMESIZE: u32 = 64;
25pub const __USE_MISC: u32 = 1;
26pub const __USE_ATFILE: u32 = 1;
27pub const __USE_FORTIFY_LEVEL: u32 = 0;
28pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
29pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
30pub const _STDC_PREDEF_H: u32 = 1;
31pub const __STDC_IEC_559__: u32 = 1;
32pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
33pub const __STDC_ISO_10646__: u32 = 201706;
34pub const __GNU_LIBRARY__: u32 = 6;
35pub const __GLIBC__: u32 = 2;
36pub const __GLIBC_MINOR__: u32 = 34;
37pub const _SYS_CDEFS_H: u32 = 1;
38pub const __glibc_c99_flexarr_available: u32 = 1;
39pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
40pub const __HAVE_GENERIC_SELECTION: u32 = 1;
41pub const _POSIX_VERSION: u32 = 200809;
42pub const __POSIX2_THIS_VERSION: u32 = 200809;
43pub const _POSIX2_VERSION: u32 = 200809;
44pub const _POSIX2_C_VERSION: u32 = 200809;
45pub const _POSIX2_C_BIND: u32 = 200809;
46pub const _POSIX2_C_DEV: u32 = 200809;
47pub const _POSIX2_SW_DEV: u32 = 200809;
48pub const _POSIX2_LOCALEDEF: u32 = 200809;
49pub const _XOPEN_VERSION: u32 = 700;
50pub const _XOPEN_XCU_VERSION: u32 = 4;
51pub const _XOPEN_XPG2: u32 = 1;
52pub const _XOPEN_XPG3: u32 = 1;
53pub const _XOPEN_XPG4: u32 = 1;
54pub const _XOPEN_UNIX: u32 = 1;
55pub const _XOPEN_ENH_I18N: u32 = 1;
56pub const _XOPEN_LEGACY: u32 = 1;
57pub const _BITS_POSIX_OPT_H: u32 = 1;
58pub const _POSIX_JOB_CONTROL: u32 = 1;
59pub const _POSIX_SAVED_IDS: u32 = 1;
60pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
61pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
62pub const _POSIX_FSYNC: u32 = 200809;
63pub const _POSIX_MAPPED_FILES: u32 = 200809;
64pub const _POSIX_MEMLOCK: u32 = 200809;
65pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
66pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
67pub const _POSIX_CHOWN_RESTRICTED: u32 = 0;
68pub const _POSIX_VDISABLE: u8 = 0u8;
69pub const _POSIX_NO_TRUNC: u32 = 1;
70pub const _XOPEN_REALTIME: u32 = 1;
71pub const _XOPEN_REALTIME_THREADS: u32 = 1;
72pub const _XOPEN_SHM: u32 = 1;
73pub const _POSIX_THREADS: u32 = 200809;
74pub const _POSIX_REENTRANT_FUNCTIONS: u32 = 1;
75pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
76pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
77pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
78pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
79pub const _POSIX_THREAD_PRIO_INHERIT: u32 = 200809;
80pub const _POSIX_THREAD_PRIO_PROTECT: u32 = 200809;
81pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: u32 = 200809;
82pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
83pub const _POSIX_SEMAPHORES: u32 = 200809;
84pub const _POSIX_REALTIME_SIGNALS: u32 = 200809;
85pub const _POSIX_ASYNCHRONOUS_IO: u32 = 200809;
86pub const _POSIX_ASYNC_IO: u32 = 1;
87pub const _LFS_ASYNCHRONOUS_IO: u32 = 1;
88pub const _POSIX_PRIORITIZED_IO: u32 = 200809;
89pub const _LFS64_ASYNCHRONOUS_IO: u32 = 1;
90pub const _LFS_LARGEFILE: u32 = 1;
91pub const _LFS64_LARGEFILE: u32 = 1;
92pub const _LFS64_STDIO: u32 = 1;
93pub const _POSIX_SHARED_MEMORY_OBJECTS: u32 = 200809;
94pub const _POSIX_CPUTIME: u32 = 0;
95pub const _POSIX_THREAD_CPUTIME: u32 = 0;
96pub const _POSIX_REGEXP: u32 = 1;
97pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
98pub const _POSIX_SHELL: u32 = 1;
99pub const _POSIX_TIMEOUTS: u32 = 200809;
100pub const _POSIX_SPIN_LOCKS: u32 = 200809;
101pub const _POSIX_SPAWN: u32 = 200809;
102pub const _POSIX_TIMERS: u32 = 200809;
103pub const _POSIX_BARRIERS: u32 = 200809;
104pub const _POSIX_MESSAGE_PASSING: u32 = 200809;
105pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
106pub const _POSIX_MONOTONIC_CLOCK: u32 = 0;
107pub const _POSIX_CLOCK_SELECTION: u32 = 200809;
108pub const _POSIX_ADVISORY_INFO: u32 = 200809;
109pub const _POSIX_IPV6: u32 = 200809;
110pub const _POSIX_RAW_SOCKETS: u32 = 200809;
111pub const _POSIX2_CHAR_TERM: u32 = 200809;
112pub const _POSIX_SPORADIC_SERVER: i32 = -1;
113pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
114pub const _POSIX_TRACE: i32 = -1;
115pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
116pub const _POSIX_TRACE_INHERIT: i32 = -1;
117pub const _POSIX_TRACE_LOG: i32 = -1;
118pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
119pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
120pub const _POSIX_V6_LPBIG_OFFBIG: i32 = -1;
121pub const _XBS5_LPBIG_OFFBIG: i32 = -1;
122pub const _POSIX_V7_LP64_OFF64: u32 = 1;
123pub const _POSIX_V6_LP64_OFF64: u32 = 1;
124pub const _XBS5_LP64_OFF64: u32 = 1;
125pub const __ILP32_OFF32_CFLAGS: &'static [u8; 5usize] = b"-m32\0";
126pub const __ILP32_OFF32_LDFLAGS: &'static [u8; 5usize] = b"-m32\0";
127pub const __ILP32_OFFBIG_CFLAGS: &'static [u8; 48usize] =
128    b"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64\0";
129pub const __ILP32_OFFBIG_LDFLAGS: &'static [u8; 5usize] = b"-m32\0";
130pub const __LP64_OFF64_CFLAGS: &'static [u8; 5usize] = b"-m64\0";
131pub const __LP64_OFF64_LDFLAGS: &'static [u8; 5usize] = b"-m64\0";
132pub const STDIN_FILENO: u32 = 0;
133pub const STDOUT_FILENO: u32 = 1;
134pub const STDERR_FILENO: u32 = 2;
135pub const _BITS_TYPES_H: u32 = 1;
136pub const _BITS_TYPESIZES_H: u32 = 1;
137pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
138pub const __INO_T_MATCHES_INO64_T: u32 = 1;
139pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
140pub const __STATFS_MATCHES_STATFS64: u32 = 1;
141pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
142pub const __FD_SETSIZE: u32 = 1024;
143pub const _BITS_TIME64_H: u32 = 1;
144pub const R_OK: u32 = 4;
145pub const W_OK: u32 = 2;
146pub const X_OK: u32 = 1;
147pub const F_OK: u32 = 0;
148pub const SEEK_SET: u32 = 0;
149pub const SEEK_CUR: u32 = 1;
150pub const SEEK_END: u32 = 2;
151pub const L_SET: u32 = 0;
152pub const L_INCR: u32 = 1;
153pub const L_XTND: u32 = 2;
154pub const _GETOPT_POSIX_H: u32 = 1;
155pub const _GETOPT_CORE_H: u32 = 1;
156pub const F_ULOCK: u32 = 0;
157pub const F_LOCK: u32 = 1;
158pub const F_TLOCK: u32 = 2;
159pub const F_TEST: u32 = 3;
160pub const _STDINT_H: u32 = 1;
161pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
162pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
163pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
164pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
165pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
166pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
167pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
168pub const _BITS_WCHAR_H: u32 = 1;
169pub const _BITS_STDINT_INTN_H: u32 = 1;
170pub const _BITS_STDINT_UINTN_H: u32 = 1;
171pub const INT8_MIN: i32 = -128;
172pub const INT16_MIN: i32 = -32768;
173pub const INT32_MIN: i32 = -2147483648;
174pub const INT8_MAX: u32 = 127;
175pub const INT16_MAX: u32 = 32767;
176pub const INT32_MAX: u32 = 2147483647;
177pub const UINT8_MAX: u32 = 255;
178pub const UINT16_MAX: u32 = 65535;
179pub const UINT32_MAX: u32 = 4294967295;
180pub const INT_LEAST8_MIN: i32 = -128;
181pub const INT_LEAST16_MIN: i32 = -32768;
182pub const INT_LEAST32_MIN: i32 = -2147483648;
183pub const INT_LEAST8_MAX: u32 = 127;
184pub const INT_LEAST16_MAX: u32 = 32767;
185pub const INT_LEAST32_MAX: u32 = 2147483647;
186pub const UINT_LEAST8_MAX: u32 = 255;
187pub const UINT_LEAST16_MAX: u32 = 65535;
188pub const UINT_LEAST32_MAX: u32 = 4294967295;
189pub const INT_FAST8_MIN: i32 = -128;
190pub const INT_FAST16_MIN: i64 = -9223372036854775808;
191pub const INT_FAST32_MIN: i64 = -9223372036854775808;
192pub const INT_FAST8_MAX: u32 = 127;
193pub const INT_FAST16_MAX: u64 = 9223372036854775807;
194pub const INT_FAST32_MAX: u64 = 9223372036854775807;
195pub const UINT_FAST8_MAX: u32 = 255;
196pub const UINT_FAST16_MAX: i32 = -1;
197pub const UINT_FAST32_MAX: i32 = -1;
198pub const INTPTR_MIN: i64 = -9223372036854775808;
199pub const INTPTR_MAX: u64 = 9223372036854775807;
200pub const UINTPTR_MAX: i32 = -1;
201pub const PTRDIFF_MIN: i64 = -9223372036854775808;
202pub const PTRDIFF_MAX: u64 = 9223372036854775807;
203pub const SIG_ATOMIC_MIN: i32 = -2147483648;
204pub const SIG_ATOMIC_MAX: u32 = 2147483647;
205pub const SIZE_MAX: i32 = -1;
206pub const WINT_MIN: u32 = 0;
207pub const WINT_MAX: u32 = 4294967295;
208pub const _TIME_H: u32 = 1;
209pub const _BITS_TIME_H: u32 = 1;
210pub const CLOCK_REALTIME: u32 = 0;
211pub const CLOCK_MONOTONIC: u32 = 1;
212pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
213pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
214pub const CLOCK_MONOTONIC_RAW: u32 = 4;
215pub const CLOCK_REALTIME_COARSE: u32 = 5;
216pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
217pub const CLOCK_BOOTTIME: u32 = 7;
218pub const CLOCK_REALTIME_ALARM: u32 = 8;
219pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
220pub const CLOCK_TAI: u32 = 11;
221pub const TIMER_ABSTIME: u32 = 1;
222pub const __clock_t_defined: u32 = 1;
223pub const __time_t_defined: u32 = 1;
224pub const __struct_tm_defined: u32 = 1;
225pub const _STRUCT_TIMESPEC: u32 = 1;
226pub const _BITS_ENDIAN_H: u32 = 1;
227pub const __LITTLE_ENDIAN: u32 = 1234;
228pub const __BIG_ENDIAN: u32 = 4321;
229pub const __PDP_ENDIAN: u32 = 3412;
230pub const _BITS_ENDIANNESS_H: u32 = 1;
231pub const __BYTE_ORDER: u32 = 1234;
232pub const __FLOAT_WORD_ORDER: u32 = 1234;
233pub const __clockid_t_defined: u32 = 1;
234pub const __timer_t_defined: u32 = 1;
235pub const __itimerspec_defined: u32 = 1;
236pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
237pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
238pub const TIME_UTC: u32 = 1;
239pub const false_: u32 = 0;
240pub const true_: u32 = 1;
241pub const S7CpuStatusUnknown: u32 = 0;
242pub const S7CpuStatusRun: u32 = 8;
243pub const S7CpuStatusStop: u32 = 4;
244pub type __u_char = ::std::os::raw::c_uchar;
245pub type __u_short = ::std::os::raw::c_ushort;
246pub type __u_int = ::std::os::raw::c_uint;
247pub type __u_long = ::std::os::raw::c_ulong;
248pub type __int8_t = ::std::os::raw::c_schar;
249pub type __uint8_t = ::std::os::raw::c_uchar;
250pub type __int16_t = ::std::os::raw::c_short;
251pub type __uint16_t = ::std::os::raw::c_ushort;
252pub type __int32_t = ::std::os::raw::c_int;
253pub type __uint32_t = ::std::os::raw::c_uint;
254pub type __int64_t = ::std::os::raw::c_long;
255pub type __uint64_t = ::std::os::raw::c_ulong;
256pub type __int_least8_t = __int8_t;
257pub type __uint_least8_t = __uint8_t;
258pub type __int_least16_t = __int16_t;
259pub type __uint_least16_t = __uint16_t;
260pub type __int_least32_t = __int32_t;
261pub type __uint_least32_t = __uint32_t;
262pub type __int_least64_t = __int64_t;
263pub type __uint_least64_t = __uint64_t;
264pub type __quad_t = ::std::os::raw::c_long;
265pub type __u_quad_t = ::std::os::raw::c_ulong;
266pub type __intmax_t = ::std::os::raw::c_long;
267pub type __uintmax_t = ::std::os::raw::c_ulong;
268pub type __dev_t = ::std::os::raw::c_ulong;
269pub type __uid_t = ::std::os::raw::c_uint;
270pub type __gid_t = ::std::os::raw::c_uint;
271pub type __ino_t = ::std::os::raw::c_ulong;
272pub type __ino64_t = ::std::os::raw::c_ulong;
273pub type __mode_t = ::std::os::raw::c_uint;
274pub type __nlink_t = ::std::os::raw::c_ulong;
275pub type __off_t = ::std::os::raw::c_long;
276pub type __off64_t = ::std::os::raw::c_long;
277pub type __pid_t = ::std::os::raw::c_int;
278#[repr(C)]
279#[derive(Debug, Copy, Clone)]
280pub struct __fsid_t {
281    pub __val: [::std::os::raw::c_int; 2usize],
282}
283#[test]
284fn bindgen_test_layout___fsid_t() {
285    assert_eq!(
286        ::std::mem::size_of::<__fsid_t>(),
287        8usize,
288        concat!("Size of: ", stringify!(__fsid_t))
289    );
290    assert_eq!(
291        ::std::mem::align_of::<__fsid_t>(),
292        4usize,
293        concat!("Alignment of ", stringify!(__fsid_t))
294    );
295    assert_eq!(
296        unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
297        0usize,
298        concat!(
299            "Offset of field: ",
300            stringify!(__fsid_t),
301            "::",
302            stringify!(__val)
303        )
304    );
305}
306pub type __clock_t = ::std::os::raw::c_long;
307pub type __rlim_t = ::std::os::raw::c_ulong;
308pub type __rlim64_t = ::std::os::raw::c_ulong;
309pub type __id_t = ::std::os::raw::c_uint;
310pub type __time_t = ::std::os::raw::c_long;
311pub type __useconds_t = ::std::os::raw::c_uint;
312pub type __suseconds_t = ::std::os::raw::c_long;
313pub type __suseconds64_t = ::std::os::raw::c_long;
314pub type __daddr_t = ::std::os::raw::c_int;
315pub type __key_t = ::std::os::raw::c_int;
316pub type __clockid_t = ::std::os::raw::c_int;
317pub type __timer_t = *mut ::std::os::raw::c_void;
318pub type __blksize_t = ::std::os::raw::c_long;
319pub type __blkcnt_t = ::std::os::raw::c_long;
320pub type __blkcnt64_t = ::std::os::raw::c_long;
321pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
322pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
323pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
324pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
325pub type __fsword_t = ::std::os::raw::c_long;
326pub type __ssize_t = ::std::os::raw::c_long;
327pub type __syscall_slong_t = ::std::os::raw::c_long;
328pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
329pub type __loff_t = __off64_t;
330pub type __caddr_t = *mut ::std::os::raw::c_char;
331pub type __intptr_t = ::std::os::raw::c_long;
332pub type __socklen_t = ::std::os::raw::c_uint;
333pub type __sig_atomic_t = ::std::os::raw::c_int;
334pub type ssize_t = __ssize_t;
335pub type size_t = ::std::os::raw::c_ulong;
336pub type gid_t = __gid_t;
337pub type uid_t = __uid_t;
338pub type off_t = __off_t;
339pub type useconds_t = __useconds_t;
340pub type pid_t = __pid_t;
341pub type socklen_t = __socklen_t;
342extern "C" {
343    pub fn access(
344        __name: *const ::std::os::raw::c_char,
345        __type: ::std::os::raw::c_int,
346    ) -> ::std::os::raw::c_int;
347}
348extern "C" {
349    pub fn faccessat(
350        __fd: ::std::os::raw::c_int,
351        __file: *const ::std::os::raw::c_char,
352        __type: ::std::os::raw::c_int,
353        __flag: ::std::os::raw::c_int,
354    ) -> ::std::os::raw::c_int;
355}
356extern "C" {
357    pub fn lseek(
358        __fd: ::std::os::raw::c_int,
359        __offset: __off_t,
360        __whence: ::std::os::raw::c_int,
361    ) -> __off_t;
362}
363extern "C" {
364    pub fn close(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
365}
366extern "C" {
367    pub fn closefrom(__lowfd: ::std::os::raw::c_int);
368}
369extern "C" {
370    pub fn read(
371        __fd: ::std::os::raw::c_int,
372        __buf: *mut ::std::os::raw::c_void,
373        __nbytes: size_t,
374    ) -> ssize_t;
375}
376extern "C" {
377    pub fn write(
378        __fd: ::std::os::raw::c_int,
379        __buf: *const ::std::os::raw::c_void,
380        __n: size_t,
381    ) -> ssize_t;
382}
383extern "C" {
384    pub fn pread(
385        __fd: ::std::os::raw::c_int,
386        __buf: *mut ::std::os::raw::c_void,
387        __nbytes: size_t,
388        __offset: __off_t,
389    ) -> ssize_t;
390}
391extern "C" {
392    pub fn pwrite(
393        __fd: ::std::os::raw::c_int,
394        __buf: *const ::std::os::raw::c_void,
395        __n: size_t,
396        __offset: __off_t,
397    ) -> ssize_t;
398}
399extern "C" {
400    pub fn pipe(__pipedes: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
401}
402extern "C" {
403    pub fn alarm(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
404}
405extern "C" {
406    pub fn sleep(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
407}
408extern "C" {
409    pub fn ualarm(__value: __useconds_t, __interval: __useconds_t) -> __useconds_t;
410}
411extern "C" {
412    pub fn usleep(__useconds: __useconds_t) -> ::std::os::raw::c_int;
413}
414extern "C" {
415    pub fn pause() -> ::std::os::raw::c_int;
416}
417extern "C" {
418    pub fn chown(
419        __file: *const ::std::os::raw::c_char,
420        __owner: __uid_t,
421        __group: __gid_t,
422    ) -> ::std::os::raw::c_int;
423}
424extern "C" {
425    pub fn fchown(
426        __fd: ::std::os::raw::c_int,
427        __owner: __uid_t,
428        __group: __gid_t,
429    ) -> ::std::os::raw::c_int;
430}
431extern "C" {
432    pub fn lchown(
433        __file: *const ::std::os::raw::c_char,
434        __owner: __uid_t,
435        __group: __gid_t,
436    ) -> ::std::os::raw::c_int;
437}
438extern "C" {
439    pub fn fchownat(
440        __fd: ::std::os::raw::c_int,
441        __file: *const ::std::os::raw::c_char,
442        __owner: __uid_t,
443        __group: __gid_t,
444        __flag: ::std::os::raw::c_int,
445    ) -> ::std::os::raw::c_int;
446}
447extern "C" {
448    pub fn chdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
449}
450extern "C" {
451    pub fn fchdir(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
452}
453extern "C" {
454    pub fn getcwd(
455        __buf: *mut ::std::os::raw::c_char,
456        __size: size_t,
457    ) -> *mut ::std::os::raw::c_char;
458}
459extern "C" {
460    pub fn getwd(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
461}
462extern "C" {
463    pub fn dup(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
464}
465extern "C" {
466    pub fn dup2(__fd: ::std::os::raw::c_int, __fd2: ::std::os::raw::c_int)
467        -> ::std::os::raw::c_int;
468}
469extern "C" {
470    pub static mut __environ: *mut *mut ::std::os::raw::c_char;
471}
472extern "C" {
473    pub fn execve(
474        __path: *const ::std::os::raw::c_char,
475        __argv: *const *mut ::std::os::raw::c_char,
476        __envp: *const *mut ::std::os::raw::c_char,
477    ) -> ::std::os::raw::c_int;
478}
479extern "C" {
480    pub fn fexecve(
481        __fd: ::std::os::raw::c_int,
482        __argv: *const *mut ::std::os::raw::c_char,
483        __envp: *const *mut ::std::os::raw::c_char,
484    ) -> ::std::os::raw::c_int;
485}
486extern "C" {
487    pub fn execv(
488        __path: *const ::std::os::raw::c_char,
489        __argv: *const *mut ::std::os::raw::c_char,
490    ) -> ::std::os::raw::c_int;
491}
492extern "C" {
493    pub fn execle(
494        __path: *const ::std::os::raw::c_char,
495        __arg: *const ::std::os::raw::c_char,
496        ...
497    ) -> ::std::os::raw::c_int;
498}
499extern "C" {
500    pub fn execl(
501        __path: *const ::std::os::raw::c_char,
502        __arg: *const ::std::os::raw::c_char,
503        ...
504    ) -> ::std::os::raw::c_int;
505}
506extern "C" {
507    pub fn execvp(
508        __file: *const ::std::os::raw::c_char,
509        __argv: *const *mut ::std::os::raw::c_char,
510    ) -> ::std::os::raw::c_int;
511}
512extern "C" {
513    pub fn execlp(
514        __file: *const ::std::os::raw::c_char,
515        __arg: *const ::std::os::raw::c_char,
516        ...
517    ) -> ::std::os::raw::c_int;
518}
519extern "C" {
520    pub fn nice(__inc: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
521}
522extern "C" {
523    pub fn _exit(__status: ::std::os::raw::c_int);
524}
525pub const _PC_LINK_MAX: ::std::os::raw::c_uint = 0;
526pub const _PC_MAX_CANON: ::std::os::raw::c_uint = 1;
527pub const _PC_MAX_INPUT: ::std::os::raw::c_uint = 2;
528pub const _PC_NAME_MAX: ::std::os::raw::c_uint = 3;
529pub const _PC_PATH_MAX: ::std::os::raw::c_uint = 4;
530pub const _PC_PIPE_BUF: ::std::os::raw::c_uint = 5;
531pub const _PC_CHOWN_RESTRICTED: ::std::os::raw::c_uint = 6;
532pub const _PC_NO_TRUNC: ::std::os::raw::c_uint = 7;
533pub const _PC_VDISABLE: ::std::os::raw::c_uint = 8;
534pub const _PC_SYNC_IO: ::std::os::raw::c_uint = 9;
535pub const _PC_ASYNC_IO: ::std::os::raw::c_uint = 10;
536pub const _PC_PRIO_IO: ::std::os::raw::c_uint = 11;
537pub const _PC_SOCK_MAXBUF: ::std::os::raw::c_uint = 12;
538pub const _PC_FILESIZEBITS: ::std::os::raw::c_uint = 13;
539pub const _PC_REC_INCR_XFER_SIZE: ::std::os::raw::c_uint = 14;
540pub const _PC_REC_MAX_XFER_SIZE: ::std::os::raw::c_uint = 15;
541pub const _PC_REC_MIN_XFER_SIZE: ::std::os::raw::c_uint = 16;
542pub const _PC_REC_XFER_ALIGN: ::std::os::raw::c_uint = 17;
543pub const _PC_ALLOC_SIZE_MIN: ::std::os::raw::c_uint = 18;
544pub const _PC_SYMLINK_MAX: ::std::os::raw::c_uint = 19;
545pub const _PC_2_SYMLINKS: ::std::os::raw::c_uint = 20;
546pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
547pub const _SC_ARG_MAX: ::std::os::raw::c_uint = 0;
548pub const _SC_CHILD_MAX: ::std::os::raw::c_uint = 1;
549pub const _SC_CLK_TCK: ::std::os::raw::c_uint = 2;
550pub const _SC_NGROUPS_MAX: ::std::os::raw::c_uint = 3;
551pub const _SC_OPEN_MAX: ::std::os::raw::c_uint = 4;
552pub const _SC_STREAM_MAX: ::std::os::raw::c_uint = 5;
553pub const _SC_TZNAME_MAX: ::std::os::raw::c_uint = 6;
554pub const _SC_JOB_CONTROL: ::std::os::raw::c_uint = 7;
555pub const _SC_SAVED_IDS: ::std::os::raw::c_uint = 8;
556pub const _SC_REALTIME_SIGNALS: ::std::os::raw::c_uint = 9;
557pub const _SC_PRIORITY_SCHEDULING: ::std::os::raw::c_uint = 10;
558pub const _SC_TIMERS: ::std::os::raw::c_uint = 11;
559pub const _SC_ASYNCHRONOUS_IO: ::std::os::raw::c_uint = 12;
560pub const _SC_PRIORITIZED_IO: ::std::os::raw::c_uint = 13;
561pub const _SC_SYNCHRONIZED_IO: ::std::os::raw::c_uint = 14;
562pub const _SC_FSYNC: ::std::os::raw::c_uint = 15;
563pub const _SC_MAPPED_FILES: ::std::os::raw::c_uint = 16;
564pub const _SC_MEMLOCK: ::std::os::raw::c_uint = 17;
565pub const _SC_MEMLOCK_RANGE: ::std::os::raw::c_uint = 18;
566pub const _SC_MEMORY_PROTECTION: ::std::os::raw::c_uint = 19;
567pub const _SC_MESSAGE_PASSING: ::std::os::raw::c_uint = 20;
568pub const _SC_SEMAPHORES: ::std::os::raw::c_uint = 21;
569pub const _SC_SHARED_MEMORY_OBJECTS: ::std::os::raw::c_uint = 22;
570pub const _SC_AIO_LISTIO_MAX: ::std::os::raw::c_uint = 23;
571pub const _SC_AIO_MAX: ::std::os::raw::c_uint = 24;
572pub const _SC_AIO_PRIO_DELTA_MAX: ::std::os::raw::c_uint = 25;
573pub const _SC_DELAYTIMER_MAX: ::std::os::raw::c_uint = 26;
574pub const _SC_MQ_OPEN_MAX: ::std::os::raw::c_uint = 27;
575pub const _SC_MQ_PRIO_MAX: ::std::os::raw::c_uint = 28;
576pub const _SC_VERSION: ::std::os::raw::c_uint = 29;
577pub const _SC_PAGESIZE: ::std::os::raw::c_uint = 30;
578pub const _SC_RTSIG_MAX: ::std::os::raw::c_uint = 31;
579pub const _SC_SEM_NSEMS_MAX: ::std::os::raw::c_uint = 32;
580pub const _SC_SEM_VALUE_MAX: ::std::os::raw::c_uint = 33;
581pub const _SC_SIGQUEUE_MAX: ::std::os::raw::c_uint = 34;
582pub const _SC_TIMER_MAX: ::std::os::raw::c_uint = 35;
583pub const _SC_BC_BASE_MAX: ::std::os::raw::c_uint = 36;
584pub const _SC_BC_DIM_MAX: ::std::os::raw::c_uint = 37;
585pub const _SC_BC_SCALE_MAX: ::std::os::raw::c_uint = 38;
586pub const _SC_BC_STRING_MAX: ::std::os::raw::c_uint = 39;
587pub const _SC_COLL_WEIGHTS_MAX: ::std::os::raw::c_uint = 40;
588pub const _SC_EQUIV_CLASS_MAX: ::std::os::raw::c_uint = 41;
589pub const _SC_EXPR_NEST_MAX: ::std::os::raw::c_uint = 42;
590pub const _SC_LINE_MAX: ::std::os::raw::c_uint = 43;
591pub const _SC_RE_DUP_MAX: ::std::os::raw::c_uint = 44;
592pub const _SC_CHARCLASS_NAME_MAX: ::std::os::raw::c_uint = 45;
593pub const _SC_2_VERSION: ::std::os::raw::c_uint = 46;
594pub const _SC_2_C_BIND: ::std::os::raw::c_uint = 47;
595pub const _SC_2_C_DEV: ::std::os::raw::c_uint = 48;
596pub const _SC_2_FORT_DEV: ::std::os::raw::c_uint = 49;
597pub const _SC_2_FORT_RUN: ::std::os::raw::c_uint = 50;
598pub const _SC_2_SW_DEV: ::std::os::raw::c_uint = 51;
599pub const _SC_2_LOCALEDEF: ::std::os::raw::c_uint = 52;
600pub const _SC_PII: ::std::os::raw::c_uint = 53;
601pub const _SC_PII_XTI: ::std::os::raw::c_uint = 54;
602pub const _SC_PII_SOCKET: ::std::os::raw::c_uint = 55;
603pub const _SC_PII_INTERNET: ::std::os::raw::c_uint = 56;
604pub const _SC_PII_OSI: ::std::os::raw::c_uint = 57;
605pub const _SC_POLL: ::std::os::raw::c_uint = 58;
606pub const _SC_SELECT: ::std::os::raw::c_uint = 59;
607pub const _SC_UIO_MAXIOV: ::std::os::raw::c_uint = 60;
608pub const _SC_IOV_MAX: ::std::os::raw::c_uint = 60;
609pub const _SC_PII_INTERNET_STREAM: ::std::os::raw::c_uint = 61;
610pub const _SC_PII_INTERNET_DGRAM: ::std::os::raw::c_uint = 62;
611pub const _SC_PII_OSI_COTS: ::std::os::raw::c_uint = 63;
612pub const _SC_PII_OSI_CLTS: ::std::os::raw::c_uint = 64;
613pub const _SC_PII_OSI_M: ::std::os::raw::c_uint = 65;
614pub const _SC_T_IOV_MAX: ::std::os::raw::c_uint = 66;
615pub const _SC_THREADS: ::std::os::raw::c_uint = 67;
616pub const _SC_THREAD_SAFE_FUNCTIONS: ::std::os::raw::c_uint = 68;
617pub const _SC_GETGR_R_SIZE_MAX: ::std::os::raw::c_uint = 69;
618pub const _SC_GETPW_R_SIZE_MAX: ::std::os::raw::c_uint = 70;
619pub const _SC_LOGIN_NAME_MAX: ::std::os::raw::c_uint = 71;
620pub const _SC_TTY_NAME_MAX: ::std::os::raw::c_uint = 72;
621pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::std::os::raw::c_uint = 73;
622pub const _SC_THREAD_KEYS_MAX: ::std::os::raw::c_uint = 74;
623pub const _SC_THREAD_STACK_MIN: ::std::os::raw::c_uint = 75;
624pub const _SC_THREAD_THREADS_MAX: ::std::os::raw::c_uint = 76;
625pub const _SC_THREAD_ATTR_STACKADDR: ::std::os::raw::c_uint = 77;
626pub const _SC_THREAD_ATTR_STACKSIZE: ::std::os::raw::c_uint = 78;
627pub const _SC_THREAD_PRIORITY_SCHEDULING: ::std::os::raw::c_uint = 79;
628pub const _SC_THREAD_PRIO_INHERIT: ::std::os::raw::c_uint = 80;
629pub const _SC_THREAD_PRIO_PROTECT: ::std::os::raw::c_uint = 81;
630pub const _SC_THREAD_PROCESS_SHARED: ::std::os::raw::c_uint = 82;
631pub const _SC_NPROCESSORS_CONF: ::std::os::raw::c_uint = 83;
632pub const _SC_NPROCESSORS_ONLN: ::std::os::raw::c_uint = 84;
633pub const _SC_PHYS_PAGES: ::std::os::raw::c_uint = 85;
634pub const _SC_AVPHYS_PAGES: ::std::os::raw::c_uint = 86;
635pub const _SC_ATEXIT_MAX: ::std::os::raw::c_uint = 87;
636pub const _SC_PASS_MAX: ::std::os::raw::c_uint = 88;
637pub const _SC_XOPEN_VERSION: ::std::os::raw::c_uint = 89;
638pub const _SC_XOPEN_XCU_VERSION: ::std::os::raw::c_uint = 90;
639pub const _SC_XOPEN_UNIX: ::std::os::raw::c_uint = 91;
640pub const _SC_XOPEN_CRYPT: ::std::os::raw::c_uint = 92;
641pub const _SC_XOPEN_ENH_I18N: ::std::os::raw::c_uint = 93;
642pub const _SC_XOPEN_SHM: ::std::os::raw::c_uint = 94;
643pub const _SC_2_CHAR_TERM: ::std::os::raw::c_uint = 95;
644pub const _SC_2_C_VERSION: ::std::os::raw::c_uint = 96;
645pub const _SC_2_UPE: ::std::os::raw::c_uint = 97;
646pub const _SC_XOPEN_XPG2: ::std::os::raw::c_uint = 98;
647pub const _SC_XOPEN_XPG3: ::std::os::raw::c_uint = 99;
648pub const _SC_XOPEN_XPG4: ::std::os::raw::c_uint = 100;
649pub const _SC_CHAR_BIT: ::std::os::raw::c_uint = 101;
650pub const _SC_CHAR_MAX: ::std::os::raw::c_uint = 102;
651pub const _SC_CHAR_MIN: ::std::os::raw::c_uint = 103;
652pub const _SC_INT_MAX: ::std::os::raw::c_uint = 104;
653pub const _SC_INT_MIN: ::std::os::raw::c_uint = 105;
654pub const _SC_LONG_BIT: ::std::os::raw::c_uint = 106;
655pub const _SC_WORD_BIT: ::std::os::raw::c_uint = 107;
656pub const _SC_MB_LEN_MAX: ::std::os::raw::c_uint = 108;
657pub const _SC_NZERO: ::std::os::raw::c_uint = 109;
658pub const _SC_SSIZE_MAX: ::std::os::raw::c_uint = 110;
659pub const _SC_SCHAR_MAX: ::std::os::raw::c_uint = 111;
660pub const _SC_SCHAR_MIN: ::std::os::raw::c_uint = 112;
661pub const _SC_SHRT_MAX: ::std::os::raw::c_uint = 113;
662pub const _SC_SHRT_MIN: ::std::os::raw::c_uint = 114;
663pub const _SC_UCHAR_MAX: ::std::os::raw::c_uint = 115;
664pub const _SC_UINT_MAX: ::std::os::raw::c_uint = 116;
665pub const _SC_ULONG_MAX: ::std::os::raw::c_uint = 117;
666pub const _SC_USHRT_MAX: ::std::os::raw::c_uint = 118;
667pub const _SC_NL_ARGMAX: ::std::os::raw::c_uint = 119;
668pub const _SC_NL_LANGMAX: ::std::os::raw::c_uint = 120;
669pub const _SC_NL_MSGMAX: ::std::os::raw::c_uint = 121;
670pub const _SC_NL_NMAX: ::std::os::raw::c_uint = 122;
671pub const _SC_NL_SETMAX: ::std::os::raw::c_uint = 123;
672pub const _SC_NL_TEXTMAX: ::std::os::raw::c_uint = 124;
673pub const _SC_XBS5_ILP32_OFF32: ::std::os::raw::c_uint = 125;
674pub const _SC_XBS5_ILP32_OFFBIG: ::std::os::raw::c_uint = 126;
675pub const _SC_XBS5_LP64_OFF64: ::std::os::raw::c_uint = 127;
676pub const _SC_XBS5_LPBIG_OFFBIG: ::std::os::raw::c_uint = 128;
677pub const _SC_XOPEN_LEGACY: ::std::os::raw::c_uint = 129;
678pub const _SC_XOPEN_REALTIME: ::std::os::raw::c_uint = 130;
679pub const _SC_XOPEN_REALTIME_THREADS: ::std::os::raw::c_uint = 131;
680pub const _SC_ADVISORY_INFO: ::std::os::raw::c_uint = 132;
681pub const _SC_BARRIERS: ::std::os::raw::c_uint = 133;
682pub const _SC_BASE: ::std::os::raw::c_uint = 134;
683pub const _SC_C_LANG_SUPPORT: ::std::os::raw::c_uint = 135;
684pub const _SC_C_LANG_SUPPORT_R: ::std::os::raw::c_uint = 136;
685pub const _SC_CLOCK_SELECTION: ::std::os::raw::c_uint = 137;
686pub const _SC_CPUTIME: ::std::os::raw::c_uint = 138;
687pub const _SC_THREAD_CPUTIME: ::std::os::raw::c_uint = 139;
688pub const _SC_DEVICE_IO: ::std::os::raw::c_uint = 140;
689pub const _SC_DEVICE_SPECIFIC: ::std::os::raw::c_uint = 141;
690pub const _SC_DEVICE_SPECIFIC_R: ::std::os::raw::c_uint = 142;
691pub const _SC_FD_MGMT: ::std::os::raw::c_uint = 143;
692pub const _SC_FIFO: ::std::os::raw::c_uint = 144;
693pub const _SC_PIPE: ::std::os::raw::c_uint = 145;
694pub const _SC_FILE_ATTRIBUTES: ::std::os::raw::c_uint = 146;
695pub const _SC_FILE_LOCKING: ::std::os::raw::c_uint = 147;
696pub const _SC_FILE_SYSTEM: ::std::os::raw::c_uint = 148;
697pub const _SC_MONOTONIC_CLOCK: ::std::os::raw::c_uint = 149;
698pub const _SC_MULTI_PROCESS: ::std::os::raw::c_uint = 150;
699pub const _SC_SINGLE_PROCESS: ::std::os::raw::c_uint = 151;
700pub const _SC_NETWORKING: ::std::os::raw::c_uint = 152;
701pub const _SC_READER_WRITER_LOCKS: ::std::os::raw::c_uint = 153;
702pub const _SC_SPIN_LOCKS: ::std::os::raw::c_uint = 154;
703pub const _SC_REGEXP: ::std::os::raw::c_uint = 155;
704pub const _SC_REGEX_VERSION: ::std::os::raw::c_uint = 156;
705pub const _SC_SHELL: ::std::os::raw::c_uint = 157;
706pub const _SC_SIGNALS: ::std::os::raw::c_uint = 158;
707pub const _SC_SPAWN: ::std::os::raw::c_uint = 159;
708pub const _SC_SPORADIC_SERVER: ::std::os::raw::c_uint = 160;
709pub const _SC_THREAD_SPORADIC_SERVER: ::std::os::raw::c_uint = 161;
710pub const _SC_SYSTEM_DATABASE: ::std::os::raw::c_uint = 162;
711pub const _SC_SYSTEM_DATABASE_R: ::std::os::raw::c_uint = 163;
712pub const _SC_TIMEOUTS: ::std::os::raw::c_uint = 164;
713pub const _SC_TYPED_MEMORY_OBJECTS: ::std::os::raw::c_uint = 165;
714pub const _SC_USER_GROUPS: ::std::os::raw::c_uint = 166;
715pub const _SC_USER_GROUPS_R: ::std::os::raw::c_uint = 167;
716pub const _SC_2_PBS: ::std::os::raw::c_uint = 168;
717pub const _SC_2_PBS_ACCOUNTING: ::std::os::raw::c_uint = 169;
718pub const _SC_2_PBS_LOCATE: ::std::os::raw::c_uint = 170;
719pub const _SC_2_PBS_MESSAGE: ::std::os::raw::c_uint = 171;
720pub const _SC_2_PBS_TRACK: ::std::os::raw::c_uint = 172;
721pub const _SC_SYMLOOP_MAX: ::std::os::raw::c_uint = 173;
722pub const _SC_STREAMS: ::std::os::raw::c_uint = 174;
723pub const _SC_2_PBS_CHECKPOINT: ::std::os::raw::c_uint = 175;
724pub const _SC_V6_ILP32_OFF32: ::std::os::raw::c_uint = 176;
725pub const _SC_V6_ILP32_OFFBIG: ::std::os::raw::c_uint = 177;
726pub const _SC_V6_LP64_OFF64: ::std::os::raw::c_uint = 178;
727pub const _SC_V6_LPBIG_OFFBIG: ::std::os::raw::c_uint = 179;
728pub const _SC_HOST_NAME_MAX: ::std::os::raw::c_uint = 180;
729pub const _SC_TRACE: ::std::os::raw::c_uint = 181;
730pub const _SC_TRACE_EVENT_FILTER: ::std::os::raw::c_uint = 182;
731pub const _SC_TRACE_INHERIT: ::std::os::raw::c_uint = 183;
732pub const _SC_TRACE_LOG: ::std::os::raw::c_uint = 184;
733pub const _SC_LEVEL1_ICACHE_SIZE: ::std::os::raw::c_uint = 185;
734pub const _SC_LEVEL1_ICACHE_ASSOC: ::std::os::raw::c_uint = 186;
735pub const _SC_LEVEL1_ICACHE_LINESIZE: ::std::os::raw::c_uint = 187;
736pub const _SC_LEVEL1_DCACHE_SIZE: ::std::os::raw::c_uint = 188;
737pub const _SC_LEVEL1_DCACHE_ASSOC: ::std::os::raw::c_uint = 189;
738pub const _SC_LEVEL1_DCACHE_LINESIZE: ::std::os::raw::c_uint = 190;
739pub const _SC_LEVEL2_CACHE_SIZE: ::std::os::raw::c_uint = 191;
740pub const _SC_LEVEL2_CACHE_ASSOC: ::std::os::raw::c_uint = 192;
741pub const _SC_LEVEL2_CACHE_LINESIZE: ::std::os::raw::c_uint = 193;
742pub const _SC_LEVEL3_CACHE_SIZE: ::std::os::raw::c_uint = 194;
743pub const _SC_LEVEL3_CACHE_ASSOC: ::std::os::raw::c_uint = 195;
744pub const _SC_LEVEL3_CACHE_LINESIZE: ::std::os::raw::c_uint = 196;
745pub const _SC_LEVEL4_CACHE_SIZE: ::std::os::raw::c_uint = 197;
746pub const _SC_LEVEL4_CACHE_ASSOC: ::std::os::raw::c_uint = 198;
747pub const _SC_LEVEL4_CACHE_LINESIZE: ::std::os::raw::c_uint = 199;
748pub const _SC_IPV6: ::std::os::raw::c_uint = 235;
749pub const _SC_RAW_SOCKETS: ::std::os::raw::c_uint = 236;
750pub const _SC_V7_ILP32_OFF32: ::std::os::raw::c_uint = 237;
751pub const _SC_V7_ILP32_OFFBIG: ::std::os::raw::c_uint = 238;
752pub const _SC_V7_LP64_OFF64: ::std::os::raw::c_uint = 239;
753pub const _SC_V7_LPBIG_OFFBIG: ::std::os::raw::c_uint = 240;
754pub const _SC_SS_REPL_MAX: ::std::os::raw::c_uint = 241;
755pub const _SC_TRACE_EVENT_NAME_MAX: ::std::os::raw::c_uint = 242;
756pub const _SC_TRACE_NAME_MAX: ::std::os::raw::c_uint = 243;
757pub const _SC_TRACE_SYS_MAX: ::std::os::raw::c_uint = 244;
758pub const _SC_TRACE_USER_EVENT_MAX: ::std::os::raw::c_uint = 245;
759pub const _SC_XOPEN_STREAMS: ::std::os::raw::c_uint = 246;
760pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::std::os::raw::c_uint = 247;
761pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::std::os::raw::c_uint = 248;
762pub const _SC_MINSIGSTKSZ: ::std::os::raw::c_uint = 249;
763pub const _SC_SIGSTKSZ: ::std::os::raw::c_uint = 250;
764pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
765pub const _CS_PATH: ::std::os::raw::c_uint = 0;
766pub const _CS_V6_WIDTH_RESTRICTED_ENVS: ::std::os::raw::c_uint = 1;
767pub const _CS_GNU_LIBC_VERSION: ::std::os::raw::c_uint = 2;
768pub const _CS_GNU_LIBPTHREAD_VERSION: ::std::os::raw::c_uint = 3;
769pub const _CS_V5_WIDTH_RESTRICTED_ENVS: ::std::os::raw::c_uint = 4;
770pub const _CS_V7_WIDTH_RESTRICTED_ENVS: ::std::os::raw::c_uint = 5;
771pub const _CS_LFS_CFLAGS: ::std::os::raw::c_uint = 1000;
772pub const _CS_LFS_LDFLAGS: ::std::os::raw::c_uint = 1001;
773pub const _CS_LFS_LIBS: ::std::os::raw::c_uint = 1002;
774pub const _CS_LFS_LINTFLAGS: ::std::os::raw::c_uint = 1003;
775pub const _CS_LFS64_CFLAGS: ::std::os::raw::c_uint = 1004;
776pub const _CS_LFS64_LDFLAGS: ::std::os::raw::c_uint = 1005;
777pub const _CS_LFS64_LIBS: ::std::os::raw::c_uint = 1006;
778pub const _CS_LFS64_LINTFLAGS: ::std::os::raw::c_uint = 1007;
779pub const _CS_XBS5_ILP32_OFF32_CFLAGS: ::std::os::raw::c_uint = 1100;
780pub const _CS_XBS5_ILP32_OFF32_LDFLAGS: ::std::os::raw::c_uint = 1101;
781pub const _CS_XBS5_ILP32_OFF32_LIBS: ::std::os::raw::c_uint = 1102;
782pub const _CS_XBS5_ILP32_OFF32_LINTFLAGS: ::std::os::raw::c_uint = 1103;
783pub const _CS_XBS5_ILP32_OFFBIG_CFLAGS: ::std::os::raw::c_uint = 1104;
784pub const _CS_XBS5_ILP32_OFFBIG_LDFLAGS: ::std::os::raw::c_uint = 1105;
785pub const _CS_XBS5_ILP32_OFFBIG_LIBS: ::std::os::raw::c_uint = 1106;
786pub const _CS_XBS5_ILP32_OFFBIG_LINTFLAGS: ::std::os::raw::c_uint = 1107;
787pub const _CS_XBS5_LP64_OFF64_CFLAGS: ::std::os::raw::c_uint = 1108;
788pub const _CS_XBS5_LP64_OFF64_LDFLAGS: ::std::os::raw::c_uint = 1109;
789pub const _CS_XBS5_LP64_OFF64_LIBS: ::std::os::raw::c_uint = 1110;
790pub const _CS_XBS5_LP64_OFF64_LINTFLAGS: ::std::os::raw::c_uint = 1111;
791pub const _CS_XBS5_LPBIG_OFFBIG_CFLAGS: ::std::os::raw::c_uint = 1112;
792pub const _CS_XBS5_LPBIG_OFFBIG_LDFLAGS: ::std::os::raw::c_uint = 1113;
793pub const _CS_XBS5_LPBIG_OFFBIG_LIBS: ::std::os::raw::c_uint = 1114;
794pub const _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS: ::std::os::raw::c_uint = 1115;
795pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: ::std::os::raw::c_uint = 1116;
796pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: ::std::os::raw::c_uint = 1117;
797pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: ::std::os::raw::c_uint = 1118;
798pub const _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS: ::std::os::raw::c_uint = 1119;
799pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: ::std::os::raw::c_uint = 1120;
800pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: ::std::os::raw::c_uint = 1121;
801pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: ::std::os::raw::c_uint = 1122;
802pub const _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS: ::std::os::raw::c_uint = 1123;
803pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: ::std::os::raw::c_uint = 1124;
804pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: ::std::os::raw::c_uint = 1125;
805pub const _CS_POSIX_V6_LP64_OFF64_LIBS: ::std::os::raw::c_uint = 1126;
806pub const _CS_POSIX_V6_LP64_OFF64_LINTFLAGS: ::std::os::raw::c_uint = 1127;
807pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: ::std::os::raw::c_uint = 1128;
808pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: ::std::os::raw::c_uint = 1129;
809pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: ::std::os::raw::c_uint = 1130;
810pub const _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS: ::std::os::raw::c_uint = 1131;
811pub const _CS_POSIX_V7_ILP32_OFF32_CFLAGS: ::std::os::raw::c_uint = 1132;
812pub const _CS_POSIX_V7_ILP32_OFF32_LDFLAGS: ::std::os::raw::c_uint = 1133;
813pub const _CS_POSIX_V7_ILP32_OFF32_LIBS: ::std::os::raw::c_uint = 1134;
814pub const _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS: ::std::os::raw::c_uint = 1135;
815pub const _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS: ::std::os::raw::c_uint = 1136;
816pub const _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS: ::std::os::raw::c_uint = 1137;
817pub const _CS_POSIX_V7_ILP32_OFFBIG_LIBS: ::std::os::raw::c_uint = 1138;
818pub const _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS: ::std::os::raw::c_uint = 1139;
819pub const _CS_POSIX_V7_LP64_OFF64_CFLAGS: ::std::os::raw::c_uint = 1140;
820pub const _CS_POSIX_V7_LP64_OFF64_LDFLAGS: ::std::os::raw::c_uint = 1141;
821pub const _CS_POSIX_V7_LP64_OFF64_LIBS: ::std::os::raw::c_uint = 1142;
822pub const _CS_POSIX_V7_LP64_OFF64_LINTFLAGS: ::std::os::raw::c_uint = 1143;
823pub const _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS: ::std::os::raw::c_uint = 1144;
824pub const _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS: ::std::os::raw::c_uint = 1145;
825pub const _CS_POSIX_V7_LPBIG_OFFBIG_LIBS: ::std::os::raw::c_uint = 1146;
826pub const _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS: ::std::os::raw::c_uint = 1147;
827pub const _CS_V6_ENV: ::std::os::raw::c_uint = 1148;
828pub const _CS_V7_ENV: ::std::os::raw::c_uint = 1149;
829pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
830extern "C" {
831    pub fn pathconf(
832        __path: *const ::std::os::raw::c_char,
833        __name: ::std::os::raw::c_int,
834    ) -> ::std::os::raw::c_long;
835}
836extern "C" {
837    pub fn fpathconf(
838        __fd: ::std::os::raw::c_int,
839        __name: ::std::os::raw::c_int,
840    ) -> ::std::os::raw::c_long;
841}
842extern "C" {
843    pub fn sysconf(__name: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
844}
845extern "C" {
846    pub fn confstr(
847        __name: ::std::os::raw::c_int,
848        __buf: *mut ::std::os::raw::c_char,
849        __len: size_t,
850    ) -> size_t;
851}
852extern "C" {
853    pub fn getpid() -> __pid_t;
854}
855extern "C" {
856    pub fn getppid() -> __pid_t;
857}
858extern "C" {
859    pub fn getpgrp() -> __pid_t;
860}
861extern "C" {
862    pub fn __getpgid(__pid: __pid_t) -> __pid_t;
863}
864extern "C" {
865    pub fn getpgid(__pid: __pid_t) -> __pid_t;
866}
867extern "C" {
868    pub fn setpgid(__pid: __pid_t, __pgid: __pid_t) -> ::std::os::raw::c_int;
869}
870extern "C" {
871    pub fn setpgrp() -> ::std::os::raw::c_int;
872}
873extern "C" {
874    pub fn setsid() -> __pid_t;
875}
876extern "C" {
877    pub fn getsid(__pid: __pid_t) -> __pid_t;
878}
879extern "C" {
880    pub fn getuid() -> __uid_t;
881}
882extern "C" {
883    pub fn geteuid() -> __uid_t;
884}
885extern "C" {
886    pub fn getgid() -> __gid_t;
887}
888extern "C" {
889    pub fn getegid() -> __gid_t;
890}
891extern "C" {
892    pub fn getgroups(__size: ::std::os::raw::c_int, __list: *mut __gid_t) -> ::std::os::raw::c_int;
893}
894extern "C" {
895    pub fn setuid(__uid: __uid_t) -> ::std::os::raw::c_int;
896}
897extern "C" {
898    pub fn setreuid(__ruid: __uid_t, __euid: __uid_t) -> ::std::os::raw::c_int;
899}
900extern "C" {
901    pub fn seteuid(__uid: __uid_t) -> ::std::os::raw::c_int;
902}
903extern "C" {
904    pub fn setgid(__gid: __gid_t) -> ::std::os::raw::c_int;
905}
906extern "C" {
907    pub fn setregid(__rgid: __gid_t, __egid: __gid_t) -> ::std::os::raw::c_int;
908}
909extern "C" {
910    pub fn setegid(__gid: __gid_t) -> ::std::os::raw::c_int;
911}
912extern "C" {
913    pub fn fork() -> __pid_t;
914}
915extern "C" {
916    pub fn vfork() -> ::std::os::raw::c_int;
917}
918extern "C" {
919    pub fn ttyname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
920}
921extern "C" {
922    pub fn ttyname_r(
923        __fd: ::std::os::raw::c_int,
924        __buf: *mut ::std::os::raw::c_char,
925        __buflen: size_t,
926    ) -> ::std::os::raw::c_int;
927}
928extern "C" {
929    pub fn isatty(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
930}
931extern "C" {
932    pub fn ttyslot() -> ::std::os::raw::c_int;
933}
934extern "C" {
935    pub fn link(
936        __from: *const ::std::os::raw::c_char,
937        __to: *const ::std::os::raw::c_char,
938    ) -> ::std::os::raw::c_int;
939}
940extern "C" {
941    pub fn linkat(
942        __fromfd: ::std::os::raw::c_int,
943        __from: *const ::std::os::raw::c_char,
944        __tofd: ::std::os::raw::c_int,
945        __to: *const ::std::os::raw::c_char,
946        __flags: ::std::os::raw::c_int,
947    ) -> ::std::os::raw::c_int;
948}
949extern "C" {
950    pub fn symlink(
951        __from: *const ::std::os::raw::c_char,
952        __to: *const ::std::os::raw::c_char,
953    ) -> ::std::os::raw::c_int;
954}
955extern "C" {
956    pub fn readlink(
957        __path: *const ::std::os::raw::c_char,
958        __buf: *mut ::std::os::raw::c_char,
959        __len: size_t,
960    ) -> ssize_t;
961}
962extern "C" {
963    pub fn symlinkat(
964        __from: *const ::std::os::raw::c_char,
965        __tofd: ::std::os::raw::c_int,
966        __to: *const ::std::os::raw::c_char,
967    ) -> ::std::os::raw::c_int;
968}
969extern "C" {
970    pub fn readlinkat(
971        __fd: ::std::os::raw::c_int,
972        __path: *const ::std::os::raw::c_char,
973        __buf: *mut ::std::os::raw::c_char,
974        __len: size_t,
975    ) -> ssize_t;
976}
977extern "C" {
978    pub fn unlink(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
979}
980extern "C" {
981    pub fn unlinkat(
982        __fd: ::std::os::raw::c_int,
983        __name: *const ::std::os::raw::c_char,
984        __flag: ::std::os::raw::c_int,
985    ) -> ::std::os::raw::c_int;
986}
987extern "C" {
988    pub fn rmdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
989}
990extern "C" {
991    pub fn tcgetpgrp(__fd: ::std::os::raw::c_int) -> __pid_t;
992}
993extern "C" {
994    pub fn tcsetpgrp(__fd: ::std::os::raw::c_int, __pgrp_id: __pid_t) -> ::std::os::raw::c_int;
995}
996extern "C" {
997    pub fn getlogin() -> *mut ::std::os::raw::c_char;
998}
999extern "C" {
1000    pub fn getlogin_r(
1001        __name: *mut ::std::os::raw::c_char,
1002        __name_len: size_t,
1003    ) -> ::std::os::raw::c_int;
1004}
1005extern "C" {
1006    pub fn setlogin(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1007}
1008extern "C" {
1009    pub static mut optarg: *mut ::std::os::raw::c_char;
1010}
1011extern "C" {
1012    pub static mut optind: ::std::os::raw::c_int;
1013}
1014extern "C" {
1015    pub static mut opterr: ::std::os::raw::c_int;
1016}
1017extern "C" {
1018    pub static mut optopt: ::std::os::raw::c_int;
1019}
1020extern "C" {
1021    pub fn getopt(
1022        ___argc: ::std::os::raw::c_int,
1023        ___argv: *const *mut ::std::os::raw::c_char,
1024        __shortopts: *const ::std::os::raw::c_char,
1025    ) -> ::std::os::raw::c_int;
1026}
1027extern "C" {
1028    pub fn gethostname(__name: *mut ::std::os::raw::c_char, __len: size_t)
1029        -> ::std::os::raw::c_int;
1030}
1031extern "C" {
1032    pub fn sethostname(
1033        __name: *const ::std::os::raw::c_char,
1034        __len: size_t,
1035    ) -> ::std::os::raw::c_int;
1036}
1037extern "C" {
1038    pub fn sethostid(__id: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
1039}
1040extern "C" {
1041    pub fn getdomainname(
1042        __name: *mut ::std::os::raw::c_char,
1043        __len: size_t,
1044    ) -> ::std::os::raw::c_int;
1045}
1046extern "C" {
1047    pub fn setdomainname(
1048        __name: *const ::std::os::raw::c_char,
1049        __len: size_t,
1050    ) -> ::std::os::raw::c_int;
1051}
1052extern "C" {
1053    pub fn vhangup() -> ::std::os::raw::c_int;
1054}
1055extern "C" {
1056    pub fn revoke(__file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1057}
1058extern "C" {
1059    pub fn profil(
1060        __sample_buffer: *mut ::std::os::raw::c_ushort,
1061        __size: size_t,
1062        __offset: size_t,
1063        __scale: ::std::os::raw::c_uint,
1064    ) -> ::std::os::raw::c_int;
1065}
1066extern "C" {
1067    pub fn acct(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1068}
1069extern "C" {
1070    pub fn getusershell() -> *mut ::std::os::raw::c_char;
1071}
1072extern "C" {
1073    pub fn endusershell();
1074}
1075extern "C" {
1076    pub fn setusershell();
1077}
1078extern "C" {
1079    pub fn daemon(
1080        __nochdir: ::std::os::raw::c_int,
1081        __noclose: ::std::os::raw::c_int,
1082    ) -> ::std::os::raw::c_int;
1083}
1084extern "C" {
1085    pub fn chroot(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1086}
1087extern "C" {
1088    pub fn getpass(__prompt: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1089}
1090extern "C" {
1091    pub fn fsync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1092}
1093extern "C" {
1094    pub fn gethostid() -> ::std::os::raw::c_long;
1095}
1096extern "C" {
1097    pub fn sync();
1098}
1099extern "C" {
1100    pub fn getpagesize() -> ::std::os::raw::c_int;
1101}
1102extern "C" {
1103    pub fn getdtablesize() -> ::std::os::raw::c_int;
1104}
1105extern "C" {
1106    pub fn truncate(
1107        __file: *const ::std::os::raw::c_char,
1108        __length: __off_t,
1109    ) -> ::std::os::raw::c_int;
1110}
1111extern "C" {
1112    pub fn ftruncate(__fd: ::std::os::raw::c_int, __length: __off_t) -> ::std::os::raw::c_int;
1113}
1114extern "C" {
1115    pub fn brk(__addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
1116}
1117extern "C" {
1118    pub fn sbrk(__delta: isize) -> *mut ::std::os::raw::c_void;
1119}
1120extern "C" {
1121    pub fn syscall(__sysno: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long;
1122}
1123extern "C" {
1124    pub fn lockf(
1125        __fd: ::std::os::raw::c_int,
1126        __cmd: ::std::os::raw::c_int,
1127        __len: __off_t,
1128    ) -> ::std::os::raw::c_int;
1129}
1130extern "C" {
1131    pub fn fdatasync(__fildes: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1132}
1133extern "C" {
1134    pub fn crypt(
1135        __key: *const ::std::os::raw::c_char,
1136        __salt: *const ::std::os::raw::c_char,
1137    ) -> *mut ::std::os::raw::c_char;
1138}
1139extern "C" {
1140    pub fn getentropy(
1141        __buffer: *mut ::std::os::raw::c_void,
1142        __length: size_t,
1143    ) -> ::std::os::raw::c_int;
1144}
1145pub type int_least8_t = __int_least8_t;
1146pub type int_least16_t = __int_least16_t;
1147pub type int_least32_t = __int_least32_t;
1148pub type int_least64_t = __int_least64_t;
1149pub type uint_least8_t = __uint_least8_t;
1150pub type uint_least16_t = __uint_least16_t;
1151pub type uint_least32_t = __uint_least32_t;
1152pub type uint_least64_t = __uint_least64_t;
1153pub type int_fast8_t = ::std::os::raw::c_schar;
1154pub type int_fast16_t = ::std::os::raw::c_long;
1155pub type int_fast32_t = ::std::os::raw::c_long;
1156pub type int_fast64_t = ::std::os::raw::c_long;
1157pub type uint_fast8_t = ::std::os::raw::c_uchar;
1158pub type uint_fast16_t = ::std::os::raw::c_ulong;
1159pub type uint_fast32_t = ::std::os::raw::c_ulong;
1160pub type uint_fast64_t = ::std::os::raw::c_ulong;
1161pub type intmax_t = __intmax_t;
1162pub type uintmax_t = __uintmax_t;
1163pub type clock_t = __clock_t;
1164pub type time_t = __time_t;
1165#[repr(C)]
1166#[derive(Debug, Copy, Clone)]
1167pub struct timespec {
1168    pub tv_sec: __time_t,
1169    pub tv_nsec: __syscall_slong_t,
1170}
1171#[test]
1172fn bindgen_test_layout_timespec() {
1173    assert_eq!(
1174        ::std::mem::size_of::<timespec>(),
1175        16usize,
1176        concat!("Size of: ", stringify!(timespec))
1177    );
1178    assert_eq!(
1179        ::std::mem::align_of::<timespec>(),
1180        8usize,
1181        concat!("Alignment of ", stringify!(timespec))
1182    );
1183    assert_eq!(
1184        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
1185        0usize,
1186        concat!(
1187            "Offset of field: ",
1188            stringify!(timespec),
1189            "::",
1190            stringify!(tv_sec)
1191        )
1192    );
1193    assert_eq!(
1194        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
1195        8usize,
1196        concat!(
1197            "Offset of field: ",
1198            stringify!(timespec),
1199            "::",
1200            stringify!(tv_nsec)
1201        )
1202    );
1203}
1204pub type clockid_t = __clockid_t;
1205pub type timer_t = __timer_t;
1206#[repr(C)]
1207#[derive(Debug, Copy, Clone)]
1208pub struct itimerspec {
1209    pub it_interval: timespec,
1210    pub it_value: timespec,
1211}
1212#[test]
1213fn bindgen_test_layout_itimerspec() {
1214    assert_eq!(
1215        ::std::mem::size_of::<itimerspec>(),
1216        32usize,
1217        concat!("Size of: ", stringify!(itimerspec))
1218    );
1219    assert_eq!(
1220        ::std::mem::align_of::<itimerspec>(),
1221        8usize,
1222        concat!("Alignment of ", stringify!(itimerspec))
1223    );
1224    assert_eq!(
1225        unsafe { &(*(::std::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
1226        0usize,
1227        concat!(
1228            "Offset of field: ",
1229            stringify!(itimerspec),
1230            "::",
1231            stringify!(it_interval)
1232        )
1233    );
1234    assert_eq!(
1235        unsafe { &(*(::std::ptr::null::<itimerspec>())).it_value as *const _ as usize },
1236        16usize,
1237        concat!(
1238            "Offset of field: ",
1239            stringify!(itimerspec),
1240            "::",
1241            stringify!(it_value)
1242        )
1243    );
1244}
1245#[repr(C)]
1246#[derive(Debug, Copy, Clone)]
1247pub struct sigevent {
1248    _unused: [u8; 0],
1249}
1250#[repr(C)]
1251#[derive(Debug, Copy, Clone)]
1252pub struct __locale_struct {
1253    pub __locales: [*mut __locale_data; 13usize],
1254    pub __ctype_b: *const ::std::os::raw::c_ushort,
1255    pub __ctype_tolower: *const ::std::os::raw::c_int,
1256    pub __ctype_toupper: *const ::std::os::raw::c_int,
1257    pub __names: [*const ::std::os::raw::c_char; 13usize],
1258}
1259#[test]
1260fn bindgen_test_layout___locale_struct() {
1261    assert_eq!(
1262        ::std::mem::size_of::<__locale_struct>(),
1263        232usize,
1264        concat!("Size of: ", stringify!(__locale_struct))
1265    );
1266    assert_eq!(
1267        ::std::mem::align_of::<__locale_struct>(),
1268        8usize,
1269        concat!("Alignment of ", stringify!(__locale_struct))
1270    );
1271    assert_eq!(
1272        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__locales as *const _ as usize },
1273        0usize,
1274        concat!(
1275            "Offset of field: ",
1276            stringify!(__locale_struct),
1277            "::",
1278            stringify!(__locales)
1279        )
1280    );
1281    assert_eq!(
1282        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_b as *const _ as usize },
1283        104usize,
1284        concat!(
1285            "Offset of field: ",
1286            stringify!(__locale_struct),
1287            "::",
1288            stringify!(__ctype_b)
1289        )
1290    );
1291    assert_eq!(
1292        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_tolower as *const _ as usize },
1293        112usize,
1294        concat!(
1295            "Offset of field: ",
1296            stringify!(__locale_struct),
1297            "::",
1298            stringify!(__ctype_tolower)
1299        )
1300    );
1301    assert_eq!(
1302        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_toupper as *const _ as usize },
1303        120usize,
1304        concat!(
1305            "Offset of field: ",
1306            stringify!(__locale_struct),
1307            "::",
1308            stringify!(__ctype_toupper)
1309        )
1310    );
1311    assert_eq!(
1312        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__names as *const _ as usize },
1313        128usize,
1314        concat!(
1315            "Offset of field: ",
1316            stringify!(__locale_struct),
1317            "::",
1318            stringify!(__names)
1319        )
1320    );
1321}
1322pub type __locale_t = *mut __locale_struct;
1323pub type locale_t = __locale_t;
1324extern "C" {
1325    pub fn clock() -> clock_t;
1326}
1327extern "C" {
1328    pub fn time(__timer: *mut time_t) -> time_t;
1329}
1330extern "C" {
1331    pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
1332}
1333extern "C" {
1334    pub fn mktime(__tp: *mut DateTime) -> time_t;
1335}
1336extern "C" {
1337    pub fn strftime(
1338        __s: *mut ::std::os::raw::c_char,
1339        __maxsize: size_t,
1340        __format: *const ::std::os::raw::c_char,
1341        __tp: *const DateTime,
1342    ) -> size_t;
1343}
1344extern "C" {
1345    pub fn strftime_l(
1346        __s: *mut ::std::os::raw::c_char,
1347        __maxsize: size_t,
1348        __format: *const ::std::os::raw::c_char,
1349        __tp: *const DateTime,
1350        __loc: locale_t,
1351    ) -> size_t;
1352}
1353extern "C" {
1354    pub fn gmtime(__timer: *const time_t) -> *mut DateTime;
1355}
1356extern "C" {
1357    pub fn localtime(__timer: *const time_t) -> *mut DateTime;
1358}
1359extern "C" {
1360    pub fn gmtime_r(__timer: *const time_t, __tp: *mut DateTime) -> *mut DateTime;
1361}
1362extern "C" {
1363    pub fn localtime_r(__timer: *const time_t, __tp: *mut DateTime) -> *mut DateTime;
1364}
1365extern "C" {
1366    pub fn asctime(__tp: *const DateTime) -> *mut ::std::os::raw::c_char;
1367}
1368extern "C" {
1369    pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
1370}
1371extern "C" {
1372    pub fn asctime_r(
1373        __tp: *const DateTime,
1374        __buf: *mut ::std::os::raw::c_char,
1375    ) -> *mut ::std::os::raw::c_char;
1376}
1377extern "C" {
1378    pub fn ctime_r(
1379        __timer: *const time_t,
1380        __buf: *mut ::std::os::raw::c_char,
1381    ) -> *mut ::std::os::raw::c_char;
1382}
1383extern "C" {
1384    pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
1385}
1386extern "C" {
1387    pub static mut __daylight: ::std::os::raw::c_int;
1388}
1389extern "C" {
1390    pub static mut __timezone: ::std::os::raw::c_long;
1391}
1392extern "C" {
1393    pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
1394}
1395extern "C" {
1396    pub fn tzset();
1397}
1398extern "C" {
1399    pub static mut daylight: ::std::os::raw::c_int;
1400}
1401extern "C" {
1402    pub static mut timezone: ::std::os::raw::c_long;
1403}
1404extern "C" {
1405    pub fn timegm(__tp: *mut DateTime) -> time_t;
1406}
1407extern "C" {
1408    pub fn timelocal(__tp: *mut DateTime) -> time_t;
1409}
1410extern "C" {
1411    pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1412}
1413extern "C" {
1414    pub fn nanosleep(
1415        __requested_time: *const timespec,
1416        __remaining: *mut timespec,
1417    ) -> ::std::os::raw::c_int;
1418}
1419extern "C" {
1420    pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
1421}
1422extern "C" {
1423    pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
1424}
1425extern "C" {
1426    pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
1427}
1428extern "C" {
1429    pub fn clock_nanosleep(
1430        __clock_id: clockid_t,
1431        __flags: ::std::os::raw::c_int,
1432        __req: *const timespec,
1433        __rem: *mut timespec,
1434    ) -> ::std::os::raw::c_int;
1435}
1436extern "C" {
1437    pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
1438}
1439extern "C" {
1440    pub fn timer_create(
1441        __clock_id: clockid_t,
1442        __evp: *mut sigevent,
1443        __timerid: *mut timer_t,
1444    ) -> ::std::os::raw::c_int;
1445}
1446extern "C" {
1447    pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
1448}
1449extern "C" {
1450    pub fn timer_settime(
1451        __timerid: timer_t,
1452        __flags: ::std::os::raw::c_int,
1453        __value: *const itimerspec,
1454        __ovalue: *mut itimerspec,
1455    ) -> ::std::os::raw::c_int;
1456}
1457extern "C" {
1458    pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
1459}
1460extern "C" {
1461    pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
1462}
1463extern "C" {
1464    pub fn timespec_get(
1465        __ts: *mut timespec,
1466        __base: ::std::os::raw::c_int,
1467    ) -> ::std::os::raw::c_int;
1468}
1469pub type byte = u8;
1470pub type word = u16;
1471pub type longword = u32;
1472pub type pbyte = *mut byte;
1473pub type pword = *mut word;
1474pub type S7Object = usize;
1475/// 日期和时间结构
1476#[repr(C, packed)]
1477#[derive(Debug, Copy, Clone, Default)]
1478pub struct DateTime {
1479    /// 秒 – 取值区间为[0,59]
1480    pub tm_sec: ::std::os::raw::c_int,
1481    /// 分 - 取值区间为[0,59]
1482    pub tm_min: ::std::os::raw::c_int,
1483    /// 时 - 取值区间为[0,23]
1484    pub tm_hour: ::std::os::raw::c_int,
1485    /// 一个月中的日期 - 取值区间为[1,31]
1486    pub tm_mday: ::std::os::raw::c_int,
1487    /// 月份(从一月开始,0代表一月) - 取值区间为[0,11]
1488    pub tm_mon: ::std::os::raw::c_int,
1489    /// 年份,其值等于实际年份减去1900
1490    pub tm_year: ::std::os::raw::c_int,
1491    /// 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推
1492    pub tm_wday: ::std::os::raw::c_int,
1493    /// 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推
1494    pub tm_yday: ::std::os::raw::c_int,
1495    /// 夏令时标识符,实行夏令时的时候,tm_isdst 为正。不实行夏令时的时候,tm_isdst 为 0。不确定时为负
1496    pub tm_isdst: ::std::os::raw::c_int,
1497}
1498#[test]
1499fn bindgen_test_layout_tm() {
1500    assert_eq!(
1501        ::std::mem::size_of::<DateTime>(),
1502        36usize,
1503        concat!("Size of: ", stringify!(tm))
1504    );
1505    assert_eq!(
1506        ::std::mem::align_of::<DateTime>(),
1507        1usize,
1508        concat!("Alignment of ", stringify!(tm))
1509    );
1510}
1511pub type bool_ = ::std::os::raw::c_int;
1512pub const errLibInvalidParam: ::std::os::raw::c_int = -1;
1513pub const errLibInvalidObject: ::std::os::raw::c_int = -2;
1514pub const errIsoConnect: longword = 65536;
1515pub const errIsoDisconnect: longword = 131072;
1516pub const errIsoInvalidPDU: longword = 196608;
1517pub const errIsoInvalidDataSize: longword = 262144;
1518pub const errIsoNullPointer: longword = 327680;
1519pub const errIsoShortPacket: longword = 393216;
1520pub const errIsoTooManyFragments: longword = 458752;
1521pub const errIsoPduOverflow: longword = 524288;
1522pub const errIsoSendPacket: longword = 589824;
1523pub const errIsoRecvPacket: longword = 655360;
1524pub const errIsoInvalidParams: longword = 720896;
1525pub const errIsoResvd_1: longword = 786432;
1526pub const errIsoResvd_2: longword = 851968;
1527pub const errIsoResvd_3: longword = 917504;
1528pub const errIsoResvd_4: longword = 983040;
1529#[repr(C, packed)]
1530#[derive(Debug, Copy, Clone)]
1531pub struct TS7Tag {
1532    pub Area: ::std::os::raw::c_int,
1533    pub DBNumber: ::std::os::raw::c_int,
1534    pub Start: ::std::os::raw::c_int,
1535    pub Size: ::std::os::raw::c_int,
1536    pub WordLen: ::std::os::raw::c_int,
1537}
1538#[test]
1539fn bindgen_test_layout_TS7Tag() {
1540    assert_eq!(
1541        ::std::mem::size_of::<TS7Tag>(),
1542        20usize,
1543        concat!("Size of: ", stringify!(TS7Tag))
1544    );
1545    assert_eq!(
1546        ::std::mem::align_of::<TS7Tag>(),
1547        1usize,
1548        concat!("Alignment of ", stringify!(TS7Tag))
1549    );
1550}
1551pub type PS7Tag = *mut TS7Tag;
1552pub const p_u16_LocalPort: ::std::os::raw::c_int = 1;
1553pub const p_u16_RemotePort: ::std::os::raw::c_int = 2;
1554pub const p_i32_PingTimeout: ::std::os::raw::c_int = 3;
1555pub const p_i32_SendTimeout: ::std::os::raw::c_int = 4;
1556pub const p_i32_RecvTimeout: ::std::os::raw::c_int = 5;
1557pub const p_i32_WorkInterval: ::std::os::raw::c_int = 6;
1558pub const p_u16_SrcRef: ::std::os::raw::c_int = 7;
1559pub const p_u16_DstRef: ::std::os::raw::c_int = 8;
1560pub const p_u16_SrcTSap: ::std::os::raw::c_int = 9;
1561pub const p_i32_PDURequest: ::std::os::raw::c_int = 10;
1562pub const p_i32_MaxClients: ::std::os::raw::c_int = 11;
1563pub const p_i32_BSendTimeout: ::std::os::raw::c_int = 12;
1564pub const p_i32_BRecvTimeout: ::std::os::raw::c_int = 13;
1565pub const p_u32_RecoveryTime: ::std::os::raw::c_int = 14;
1566pub const p_u32_KeepAliveTime: ::std::os::raw::c_int = 15;
1567pub const JobComplete: ::std::os::raw::c_int = 0;
1568pub const JobPending: ::std::os::raw::c_int = 1;
1569pub const errNegotiatingPDU: longword = 1048576;
1570pub const errCliInvalidParams: longword = 2097152;
1571pub const errCliJobPending: longword = 3145728;
1572pub const errCliTooManyItems: longword = 4194304;
1573pub const errCliInvalidWordLen: longword = 5242880;
1574pub const errCliPartialDataWritten: longword = 6291456;
1575pub const errCliSizeOverPDU: longword = 7340032;
1576pub const errCliInvalidPlcAnswer: longword = 8388608;
1577pub const errCliAddressOutOfRange: longword = 9437184;
1578pub const errCliInvalidTransportSize: longword = 10485760;
1579pub const errCliWriteDataSizeMismatch: longword = 11534336;
1580pub const errCliItemNotAvailable: longword = 12582912;
1581pub const errCliInvalidValue: longword = 13631488;
1582pub const errCliCannotStartPLC: longword = 14680064;
1583pub const errCliAlreadyRun: longword = 15728640;
1584pub const errCliCannotStopPLC: longword = 16777216;
1585pub const errCliCannotCopyRamToRom: longword = 17825792;
1586pub const errCliCannotCompress: longword = 18874368;
1587pub const errCliAlreadyStop: longword = 19922944;
1588pub const errCliFunNotAvailable: longword = 20971520;
1589pub const errCliUploadSequenceFailed: longword = 22020096;
1590pub const errCliInvalidDataSizeRecvd: longword = 23068672;
1591pub const errCliInvalidBlockType: longword = 24117248;
1592pub const errCliInvalidBlockNumber: longword = 25165824;
1593pub const errCliInvalidBlockSize: longword = 26214400;
1594pub const errCliDownloadSequenceFailed: longword = 27262976;
1595pub const errCliInsertRefused: longword = 28311552;
1596pub const errCliDeleteRefused: longword = 29360128;
1597pub const errCliNeedPassword: longword = 30408704;
1598pub const errCliInvalidPassword: longword = 31457280;
1599pub const errCliNoPasswordToSetOrClear: longword = 32505856;
1600pub const errCliJobTimeout: longword = 33554432;
1601pub const errCliPartialDataRead: longword = 34603008;
1602pub const errCliBufferTooSmall: longword = 35651584;
1603pub const errCliFunctionRefused: longword = 36700160;
1604pub const errCliDestroying: longword = 37748736;
1605pub const errCliInvalidParamNumber: longword = 38797312;
1606pub const errCliCannotChangeParam: longword = 39845888;
1607pub const MaxVars: ::std::os::raw::c_int = 20;
1608pub const CONNTYPE_PG: word = 1;
1609pub const CONNTYPE_OP: word = 2;
1610pub const CONNTYPE_BASIC: word = 3;
1611pub const S7AreaPE: byte = 129;
1612pub const S7AreaPA: byte = 130;
1613pub const S7AreaMK: byte = 131;
1614pub const S7AreaDB: byte = 132;
1615pub const S7AreaCT: byte = 28;
1616pub const S7AreaTM: byte = 29;
1617pub const S7WLBit: ::std::os::raw::c_int = 1;
1618pub const S7WLByte: ::std::os::raw::c_int = 2;
1619pub const S7WLWord: ::std::os::raw::c_int = 4;
1620pub const S7WLDWord: ::std::os::raw::c_int = 6;
1621pub const S7WLReal: ::std::os::raw::c_int = 8;
1622pub const S7WLCounter: ::std::os::raw::c_int = 28;
1623pub const S7WLTimer: ::std::os::raw::c_int = 29;
1624pub const Block_OB: byte = 56;
1625pub const Block_DB: byte = 65;
1626pub const Block_SDB: byte = 66;
1627pub const Block_FC: byte = 67;
1628pub const Block_SFC: byte = 68;
1629pub const Block_FB: byte = 69;
1630pub const Block_SFB: byte = 70;
1631pub const SubBlk_OB: byte = 8;
1632pub const SubBlk_DB: byte = 10;
1633pub const SubBlk_SDB: byte = 11;
1634pub const SubBlk_FC: byte = 12;
1635pub const SubBlk_SFC: byte = 13;
1636pub const SubBlk_FB: byte = 14;
1637pub const SubBlk_SFB: byte = 15;
1638pub const BlockLangAWL: byte = 1;
1639pub const BlockLangKOP: byte = 2;
1640pub const BlockLangFUP: byte = 3;
1641pub const BlockLangSCL: byte = 4;
1642pub const BlockLangDB: byte = 5;
1643pub const BlockLangGRAPH: byte = 6;
1644#[repr(C, packed)]
1645#[derive(Debug, Copy, Clone)]
1646pub struct TS7DataItem {
1647    pub Area: ::std::os::raw::c_int,
1648    pub WordLen: ::std::os::raw::c_int,
1649    pub Result: ::std::os::raw::c_int,
1650    pub DBNumber: ::std::os::raw::c_int,
1651    pub Start: ::std::os::raw::c_int,
1652    pub Amount: ::std::os::raw::c_int,
1653    pub pdata: *mut ::std::os::raw::c_void,
1654}
1655#[test]
1656fn bindgen_test_layout_TS7DataItem() {
1657    assert_eq!(
1658        ::std::mem::size_of::<TS7DataItem>(),
1659        32usize,
1660        concat!("Size of: ", stringify!(TS7DataItem))
1661    );
1662    assert_eq!(
1663        ::std::mem::align_of::<TS7DataItem>(),
1664        1usize,
1665        concat!("Alignment of ", stringify!(TS7DataItem))
1666    );
1667}
1668pub type PS7DataItem = *mut TS7DataItem;
1669#[repr(C, packed)]
1670#[derive(Debug, Copy, Clone, Default)]
1671pub struct TS7BlocksList {
1672    pub OBCount: ::std::os::raw::c_int,
1673    pub FBCount: ::std::os::raw::c_int,
1674    pub FCCount: ::std::os::raw::c_int,
1675    pub SFBCount: ::std::os::raw::c_int,
1676    pub SFCCount: ::std::os::raw::c_int,
1677    pub DBCount: ::std::os::raw::c_int,
1678    pub SDBCount: ::std::os::raw::c_int,
1679}
1680#[test]
1681fn bindgen_test_layout_TS7BlocksList() {
1682    assert_eq!(
1683        ::std::mem::size_of::<TS7BlocksList>(),
1684        28usize,
1685        concat!("Size of: ", stringify!(TS7BlocksList))
1686    );
1687    assert_eq!(
1688        ::std::mem::align_of::<TS7BlocksList>(),
1689        1usize,
1690        concat!("Alignment of ", stringify!(TS7BlocksList))
1691    );
1692}
1693pub type PS7BlocksList = *mut TS7BlocksList;
1694#[repr(C, packed)]
1695#[derive(Debug, Copy, Clone)]
1696pub struct TS7BlockInfo {
1697    pub BlkType: ::std::os::raw::c_int,
1698    pub BlkNumber: ::std::os::raw::c_int,
1699    pub BlkLang: ::std::os::raw::c_int,
1700    pub BlkFlags: ::std::os::raw::c_int,
1701    pub MC7Size: ::std::os::raw::c_int,
1702    pub LoadSize: ::std::os::raw::c_int,
1703    pub LocalData: ::std::os::raw::c_int,
1704    pub SBBLength: ::std::os::raw::c_int,
1705    pub CheckSum: ::std::os::raw::c_int,
1706    pub Version: ::std::os::raw::c_int,
1707    pub CodeDate: [::std::os::raw::c_char; 11usize],
1708    pub IntfDate: [::std::os::raw::c_char; 11usize],
1709    pub Author: [::std::os::raw::c_char; 9usize],
1710    pub Family: [::std::os::raw::c_char; 9usize],
1711    pub Header: [::std::os::raw::c_char; 9usize],
1712}
1713#[test]
1714fn bindgen_test_layout_TS7BlockInfo() {
1715    assert_eq!(
1716        ::std::mem::size_of::<TS7BlockInfo>(),
1717        89usize,
1718        concat!("Size of: ", stringify!(TS7BlockInfo))
1719    );
1720    assert_eq!(
1721        ::std::mem::align_of::<TS7BlockInfo>(),
1722        1usize,
1723        concat!("Alignment of ", stringify!(TS7BlockInfo))
1724    );
1725    assert_eq!(
1726        unsafe { &(*(::std::ptr::null::<TS7BlockInfo>())).CodeDate as *const _ as usize },
1727        40usize,
1728        concat!(
1729            "Offset of field: ",
1730            stringify!(TS7BlockInfo),
1731            "::",
1732            stringify!(CodeDate)
1733        )
1734    );
1735    assert_eq!(
1736        unsafe { &(*(::std::ptr::null::<TS7BlockInfo>())).IntfDate as *const _ as usize },
1737        51usize,
1738        concat!(
1739            "Offset of field: ",
1740            stringify!(TS7BlockInfo),
1741            "::",
1742            stringify!(IntfDate)
1743        )
1744    );
1745    assert_eq!(
1746        unsafe { &(*(::std::ptr::null::<TS7BlockInfo>())).Author as *const _ as usize },
1747        62usize,
1748        concat!(
1749            "Offset of field: ",
1750            stringify!(TS7BlockInfo),
1751            "::",
1752            stringify!(Author)
1753        )
1754    );
1755    assert_eq!(
1756        unsafe { &(*(::std::ptr::null::<TS7BlockInfo>())).Family as *const _ as usize },
1757        71usize,
1758        concat!(
1759            "Offset of field: ",
1760            stringify!(TS7BlockInfo),
1761            "::",
1762            stringify!(Family)
1763        )
1764    );
1765    assert_eq!(
1766        unsafe { &(*(::std::ptr::null::<TS7BlockInfo>())).Header as *const _ as usize },
1767        80usize,
1768        concat!(
1769            "Offset of field: ",
1770            stringify!(TS7BlockInfo),
1771            "::",
1772            stringify!(Header)
1773        )
1774    );
1775}
1776pub type PS7BlockInfo = *mut TS7BlockInfo;
1777pub type TS7BlocksOfType = [word; 8192usize];
1778pub type PS7BlocksOfType = *mut TS7BlocksOfType;
1779#[repr(C)]
1780#[derive(Debug, Copy, Clone)]
1781pub struct TS7OrderCode {
1782    pub Code: [::std::os::raw::c_char; 21usize],
1783    pub V1: byte,
1784    pub V2: byte,
1785    pub V3: byte,
1786}
1787#[test]
1788fn bindgen_test_layout_TS7OrderCode() {
1789    assert_eq!(
1790        ::std::mem::size_of::<TS7OrderCode>(),
1791        24usize,
1792        concat!("Size of: ", stringify!(TS7OrderCode))
1793    );
1794    assert_eq!(
1795        ::std::mem::align_of::<TS7OrderCode>(),
1796        1usize,
1797        concat!("Alignment of ", stringify!(TS7OrderCode))
1798    );
1799    assert_eq!(
1800        unsafe { &(*(::std::ptr::null::<TS7OrderCode>())).Code as *const _ as usize },
1801        0usize,
1802        concat!(
1803            "Offset of field: ",
1804            stringify!(TS7OrderCode),
1805            "::",
1806            stringify!(Code)
1807        )
1808    );
1809    assert_eq!(
1810        unsafe { &(*(::std::ptr::null::<TS7OrderCode>())).V1 as *const _ as usize },
1811        21usize,
1812        concat!(
1813            "Offset of field: ",
1814            stringify!(TS7OrderCode),
1815            "::",
1816            stringify!(V1)
1817        )
1818    );
1819    assert_eq!(
1820        unsafe { &(*(::std::ptr::null::<TS7OrderCode>())).V2 as *const _ as usize },
1821        22usize,
1822        concat!(
1823            "Offset of field: ",
1824            stringify!(TS7OrderCode),
1825            "::",
1826            stringify!(V2)
1827        )
1828    );
1829    assert_eq!(
1830        unsafe { &(*(::std::ptr::null::<TS7OrderCode>())).V3 as *const _ as usize },
1831        23usize,
1832        concat!(
1833            "Offset of field: ",
1834            stringify!(TS7OrderCode),
1835            "::",
1836            stringify!(V3)
1837        )
1838    );
1839}
1840pub type PS7OrderCode = *mut TS7OrderCode;
1841#[repr(C)]
1842#[derive(Debug, Copy, Clone)]
1843pub struct TS7CpuInfo {
1844    pub ModuleTypeName: [::std::os::raw::c_char; 33usize],
1845    pub SerialNumber: [::std::os::raw::c_char; 25usize],
1846    pub ASName: [::std::os::raw::c_char; 25usize],
1847    pub Copyright: [::std::os::raw::c_char; 27usize],
1848    pub ModuleName: [::std::os::raw::c_char; 25usize],
1849}
1850#[test]
1851fn bindgen_test_layout_TS7CpuInfo() {
1852    assert_eq!(
1853        ::std::mem::size_of::<TS7CpuInfo>(),
1854        135usize,
1855        concat!("Size of: ", stringify!(TS7CpuInfo))
1856    );
1857    assert_eq!(
1858        ::std::mem::align_of::<TS7CpuInfo>(),
1859        1usize,
1860        concat!("Alignment of ", stringify!(TS7CpuInfo))
1861    );
1862    assert_eq!(
1863        unsafe { &(*(::std::ptr::null::<TS7CpuInfo>())).ModuleTypeName as *const _ as usize },
1864        0usize,
1865        concat!(
1866            "Offset of field: ",
1867            stringify!(TS7CpuInfo),
1868            "::",
1869            stringify!(ModuleTypeName)
1870        )
1871    );
1872    assert_eq!(
1873        unsafe { &(*(::std::ptr::null::<TS7CpuInfo>())).SerialNumber as *const _ as usize },
1874        33usize,
1875        concat!(
1876            "Offset of field: ",
1877            stringify!(TS7CpuInfo),
1878            "::",
1879            stringify!(SerialNumber)
1880        )
1881    );
1882    assert_eq!(
1883        unsafe { &(*(::std::ptr::null::<TS7CpuInfo>())).ASName as *const _ as usize },
1884        58usize,
1885        concat!(
1886            "Offset of field: ",
1887            stringify!(TS7CpuInfo),
1888            "::",
1889            stringify!(ASName)
1890        )
1891    );
1892    assert_eq!(
1893        unsafe { &(*(::std::ptr::null::<TS7CpuInfo>())).Copyright as *const _ as usize },
1894        83usize,
1895        concat!(
1896            "Offset of field: ",
1897            stringify!(TS7CpuInfo),
1898            "::",
1899            stringify!(Copyright)
1900        )
1901    );
1902    assert_eq!(
1903        unsafe { &(*(::std::ptr::null::<TS7CpuInfo>())).ModuleName as *const _ as usize },
1904        110usize,
1905        concat!(
1906            "Offset of field: ",
1907            stringify!(TS7CpuInfo),
1908            "::",
1909            stringify!(ModuleName)
1910        )
1911    );
1912}
1913pub type PS7CpuInfo = *mut TS7CpuInfo;
1914#[repr(C, packed)]
1915#[derive(Debug, Copy, Clone)]
1916pub struct TS7CpInfo {
1917    pub MaxPduLengt: ::std::os::raw::c_int,
1918    pub MaxConnections: ::std::os::raw::c_int,
1919    pub MaxMpiRate: ::std::os::raw::c_int,
1920    pub MaxBusRate: ::std::os::raw::c_int,
1921}
1922#[test]
1923fn bindgen_test_layout_TS7CpInfo() {
1924    assert_eq!(
1925        ::std::mem::size_of::<TS7CpInfo>(),
1926        16usize,
1927        concat!("Size of: ", stringify!(TS7CpInfo))
1928    );
1929    assert_eq!(
1930        ::std::mem::align_of::<TS7CpInfo>(),
1931        1usize,
1932        concat!("Alignment of ", stringify!(TS7CpInfo))
1933    );
1934}
1935pub type PS7CpInfo = *mut TS7CpInfo;
1936#[repr(C, packed)]
1937#[derive(Debug, Copy, Clone)]
1938pub struct SZL_HEADER {
1939    pub LENTHDR: word,
1940    pub N_DR: word,
1941}
1942#[test]
1943fn bindgen_test_layout_SZL_HEADER() {
1944    assert_eq!(
1945        ::std::mem::size_of::<SZL_HEADER>(),
1946        4usize,
1947        concat!("Size of: ", stringify!(SZL_HEADER))
1948    );
1949    assert_eq!(
1950        ::std::mem::align_of::<SZL_HEADER>(),
1951        1usize,
1952        concat!("Alignment of ", stringify!(SZL_HEADER))
1953    );
1954}
1955pub type PSZL_HEADER = *mut SZL_HEADER;
1956#[repr(C)]
1957#[derive(Debug, Copy, Clone)]
1958pub struct TS7SZL {
1959    pub Header: SZL_HEADER,
1960    pub Data: [byte; 16380usize],
1961}
1962#[test]
1963fn bindgen_test_layout_TS7SZL() {
1964    assert_eq!(
1965        ::std::mem::size_of::<TS7SZL>(),
1966        16384usize,
1967        concat!("Size of: ", stringify!(TS7SZL))
1968    );
1969    assert_eq!(
1970        ::std::mem::align_of::<TS7SZL>(),
1971        1usize,
1972        concat!("Alignment of ", stringify!(TS7SZL))
1973    );
1974    assert_eq!(
1975        unsafe { &(*(::std::ptr::null::<TS7SZL>())).Header as *const _ as usize },
1976        0usize,
1977        concat!(
1978            "Offset of field: ",
1979            stringify!(TS7SZL),
1980            "::",
1981            stringify!(Header)
1982        )
1983    );
1984    assert_eq!(
1985        unsafe { &(*(::std::ptr::null::<TS7SZL>())).Data as *const _ as usize },
1986        4usize,
1987        concat!(
1988            "Offset of field: ",
1989            stringify!(TS7SZL),
1990            "::",
1991            stringify!(Data)
1992        )
1993    );
1994}
1995pub type PS7SZL = *mut TS7SZL;
1996#[repr(C, packed)]
1997#[derive(Debug, Copy, Clone)]
1998pub struct TS7SZLList {
1999    pub Header: SZL_HEADER,
2000    pub List: [word; 8190usize],
2001}
2002#[test]
2003fn bindgen_test_layout_TS7SZLList() {
2004    assert_eq!(
2005        ::std::mem::size_of::<TS7SZLList>(),
2006        16384usize,
2007        concat!("Size of: ", stringify!(TS7SZLList))
2008    );
2009    assert_eq!(
2010        ::std::mem::align_of::<TS7SZLList>(),
2011        1usize,
2012        concat!("Alignment of ", stringify!(TS7SZLList))
2013    );
2014    assert_eq!(
2015        unsafe { &(*(::std::ptr::null::<TS7SZLList>())).Header as *const _ as usize },
2016        0usize,
2017        concat!(
2018            "Offset of field: ",
2019            stringify!(TS7SZLList),
2020            "::",
2021            stringify!(Header)
2022        )
2023    );
2024}
2025pub type PS7SZLList = *mut TS7SZLList;
2026#[repr(C, packed)]
2027#[derive(Debug, Copy, Clone)]
2028pub struct TS7Protection {
2029    pub sch_schal: word,
2030    pub sch_par: word,
2031    pub sch_rel: word,
2032    pub bart_sch: word,
2033    pub anl_sch: word,
2034}
2035#[test]
2036fn bindgen_test_layout_TS7Protection() {
2037    assert_eq!(
2038        ::std::mem::size_of::<TS7Protection>(),
2039        10usize,
2040        concat!("Size of: ", stringify!(TS7Protection))
2041    );
2042    assert_eq!(
2043        ::std::mem::align_of::<TS7Protection>(),
2044        1usize,
2045        concat!("Alignment of ", stringify!(TS7Protection))
2046    );
2047}
2048pub type PS7Protection = *mut TS7Protection;
2049pub type pfn_CliCompletion = ::std::option::Option<
2050    unsafe extern "C" fn(
2051        usrPtr: *mut ::std::os::raw::c_void,
2052        opCode: ::std::os::raw::c_int,
2053        opResult: ::std::os::raw::c_int,
2054    ),
2055>;
2056extern "C" {
2057    pub fn Cli_Create() -> S7Object;
2058}
2059extern "C" {
2060    pub fn Cli_Destroy(Client: *mut S7Object);
2061}
2062extern "C" {
2063    pub fn Cli_ConnectTo(
2064        Client: S7Object,
2065        Address: *const ::std::os::raw::c_char,
2066        Rack: ::std::os::raw::c_int,
2067        Slot: ::std::os::raw::c_int,
2068    ) -> ::std::os::raw::c_int;
2069}
2070extern "C" {
2071    pub fn Cli_SetConnectionParams(
2072        Client: S7Object,
2073        Address: *const ::std::os::raw::c_char,
2074        LocalTSAP: word,
2075        RemoteTSAP: word,
2076    ) -> ::std::os::raw::c_int;
2077}
2078extern "C" {
2079    pub fn Cli_SetConnectionType(Client: S7Object, ConnectionType: word) -> ::std::os::raw::c_int;
2080}
2081extern "C" {
2082    pub fn Cli_Connect(Client: S7Object) -> ::std::os::raw::c_int;
2083}
2084extern "C" {
2085    pub fn Cli_Disconnect(Client: S7Object) -> ::std::os::raw::c_int;
2086}
2087extern "C" {
2088    pub fn Cli_GetParam(
2089        Client: S7Object,
2090        ParamNumber: ::std::os::raw::c_int,
2091        pValue: *mut ::std::os::raw::c_void,
2092    ) -> ::std::os::raw::c_int;
2093}
2094extern "C" {
2095    pub fn Cli_SetParam(
2096        Client: S7Object,
2097        ParamNumber: ::std::os::raw::c_int,
2098        pValue: *mut ::std::os::raw::c_void,
2099    ) -> ::std::os::raw::c_int;
2100}
2101extern "C" {
2102    pub fn Cli_SetAsCallback(
2103        Client: S7Object,
2104        pCompletion: pfn_CliCompletion,
2105        usrPtr: *mut ::std::os::raw::c_void,
2106    ) -> ::std::os::raw::c_int;
2107}
2108extern "C" {
2109    pub fn Cli_ReadArea(
2110        Client: S7Object,
2111        Area: ::std::os::raw::c_int,
2112        DBNumber: ::std::os::raw::c_int,
2113        Start: ::std::os::raw::c_int,
2114        Amount: ::std::os::raw::c_int,
2115        WordLen: ::std::os::raw::c_int,
2116        pUsrData: *mut ::std::os::raw::c_void,
2117    ) -> ::std::os::raw::c_int;
2118}
2119extern "C" {
2120    pub fn Cli_WriteArea(
2121        Client: S7Object,
2122        Area: ::std::os::raw::c_int,
2123        DBNumber: ::std::os::raw::c_int,
2124        Start: ::std::os::raw::c_int,
2125        Amount: ::std::os::raw::c_int,
2126        WordLen: ::std::os::raw::c_int,
2127        pUsrData: *mut ::std::os::raw::c_void,
2128    ) -> ::std::os::raw::c_int;
2129}
2130extern "C" {
2131    pub fn Cli_ReadMultiVars(
2132        Client: S7Object,
2133        Item: PS7DataItem,
2134        ItemsCount: ::std::os::raw::c_int,
2135    ) -> ::std::os::raw::c_int;
2136}
2137extern "C" {
2138    pub fn Cli_WriteMultiVars(
2139        Client: S7Object,
2140        Item: PS7DataItem,
2141        ItemsCount: ::std::os::raw::c_int,
2142    ) -> ::std::os::raw::c_int;
2143}
2144extern "C" {
2145    pub fn Cli_DBRead(
2146        Client: S7Object,
2147        DBNumber: ::std::os::raw::c_int,
2148        Start: ::std::os::raw::c_int,
2149        Size: ::std::os::raw::c_int,
2150        pUsrData: *mut ::std::os::raw::c_void,
2151    ) -> ::std::os::raw::c_int;
2152}
2153extern "C" {
2154    pub fn Cli_DBWrite(
2155        Client: S7Object,
2156        DBNumber: ::std::os::raw::c_int,
2157        Start: ::std::os::raw::c_int,
2158        Size: ::std::os::raw::c_int,
2159        pUsrData: *mut ::std::os::raw::c_void,
2160    ) -> ::std::os::raw::c_int;
2161}
2162extern "C" {
2163    pub fn Cli_MBRead(
2164        Client: S7Object,
2165        Start: ::std::os::raw::c_int,
2166        Size: ::std::os::raw::c_int,
2167        pUsrData: *mut ::std::os::raw::c_void,
2168    ) -> ::std::os::raw::c_int;
2169}
2170extern "C" {
2171    pub fn Cli_MBWrite(
2172        Client: S7Object,
2173        Start: ::std::os::raw::c_int,
2174        Size: ::std::os::raw::c_int,
2175        pUsrData: *mut ::std::os::raw::c_void,
2176    ) -> ::std::os::raw::c_int;
2177}
2178extern "C" {
2179    pub fn Cli_EBRead(
2180        Client: S7Object,
2181        Start: ::std::os::raw::c_int,
2182        Size: ::std::os::raw::c_int,
2183        pUsrData: *mut ::std::os::raw::c_void,
2184    ) -> ::std::os::raw::c_int;
2185}
2186extern "C" {
2187    pub fn Cli_EBWrite(
2188        Client: S7Object,
2189        Start: ::std::os::raw::c_int,
2190        Size: ::std::os::raw::c_int,
2191        pUsrData: *mut ::std::os::raw::c_void,
2192    ) -> ::std::os::raw::c_int;
2193}
2194extern "C" {
2195    pub fn Cli_ABRead(
2196        Client: S7Object,
2197        Start: ::std::os::raw::c_int,
2198        Size: ::std::os::raw::c_int,
2199        pUsrData: *mut ::std::os::raw::c_void,
2200    ) -> ::std::os::raw::c_int;
2201}
2202extern "C" {
2203    pub fn Cli_ABWrite(
2204        Client: S7Object,
2205        Start: ::std::os::raw::c_int,
2206        Size: ::std::os::raw::c_int,
2207        pUsrData: *mut ::std::os::raw::c_void,
2208    ) -> ::std::os::raw::c_int;
2209}
2210extern "C" {
2211    pub fn Cli_TMRead(
2212        Client: S7Object,
2213        Start: ::std::os::raw::c_int,
2214        Amount: ::std::os::raw::c_int,
2215        pUsrData: *mut ::std::os::raw::c_void,
2216    ) -> ::std::os::raw::c_int;
2217}
2218extern "C" {
2219    pub fn Cli_TMWrite(
2220        Client: S7Object,
2221        Start: ::std::os::raw::c_int,
2222        Amount: ::std::os::raw::c_int,
2223        pUsrData: *mut ::std::os::raw::c_void,
2224    ) -> ::std::os::raw::c_int;
2225}
2226extern "C" {
2227    pub fn Cli_CTRead(
2228        Client: S7Object,
2229        Start: ::std::os::raw::c_int,
2230        Amount: ::std::os::raw::c_int,
2231        pUsrData: *mut ::std::os::raw::c_void,
2232    ) -> ::std::os::raw::c_int;
2233}
2234extern "C" {
2235    pub fn Cli_CTWrite(
2236        Client: S7Object,
2237        Start: ::std::os::raw::c_int,
2238        Amount: ::std::os::raw::c_int,
2239        pUsrData: *mut ::std::os::raw::c_void,
2240    ) -> ::std::os::raw::c_int;
2241}
2242extern "C" {
2243    pub fn Cli_ListBlocks(Client: S7Object, pUsrData: *mut TS7BlocksList) -> ::std::os::raw::c_int;
2244}
2245extern "C" {
2246    pub fn Cli_GetAgBlockInfo(
2247        Client: S7Object,
2248        BlockType: ::std::os::raw::c_int,
2249        BlockNum: ::std::os::raw::c_int,
2250        pUsrData: *mut TS7BlockInfo,
2251    ) -> ::std::os::raw::c_int;
2252}
2253extern "C" {
2254    pub fn Cli_GetPgBlockInfo(
2255        Client: S7Object,
2256        pBlock: *mut ::std::os::raw::c_void,
2257        pUsrData: *mut TS7BlockInfo,
2258        Size: ::std::os::raw::c_int,
2259    ) -> ::std::os::raw::c_int;
2260}
2261extern "C" {
2262    pub fn Cli_ListBlocksOfType(
2263        Client: S7Object,
2264        BlockType: ::std::os::raw::c_int,
2265        pUsrData: *mut TS7BlocksOfType,
2266        ItemsCount: *mut ::std::os::raw::c_int,
2267    ) -> ::std::os::raw::c_int;
2268}
2269extern "C" {
2270    pub fn Cli_Upload(
2271        Client: S7Object,
2272        BlockType: ::std::os::raw::c_int,
2273        BlockNum: ::std::os::raw::c_int,
2274        pUsrData: *mut ::std::os::raw::c_void,
2275        Size: *mut ::std::os::raw::c_int,
2276    ) -> ::std::os::raw::c_int;
2277}
2278extern "C" {
2279    pub fn Cli_FullUpload(
2280        Client: S7Object,
2281        BlockType: ::std::os::raw::c_int,
2282        BlockNum: ::std::os::raw::c_int,
2283        pUsrData: *mut ::std::os::raw::c_void,
2284        Size: *mut ::std::os::raw::c_int,
2285    ) -> ::std::os::raw::c_int;
2286}
2287extern "C" {
2288    pub fn Cli_Download(
2289        Client: S7Object,
2290        BlockNum: ::std::os::raw::c_int,
2291        pUsrData: *mut ::std::os::raw::c_void,
2292        Size: ::std::os::raw::c_int,
2293    ) -> ::std::os::raw::c_int;
2294}
2295extern "C" {
2296    pub fn Cli_Delete(
2297        Client: S7Object,
2298        BlockType: ::std::os::raw::c_int,
2299        BlockNum: ::std::os::raw::c_int,
2300    ) -> ::std::os::raw::c_int;
2301}
2302extern "C" {
2303    pub fn Cli_DBGet(
2304        Client: S7Object,
2305        DBNumber: ::std::os::raw::c_int,
2306        pUsrData: *mut ::std::os::raw::c_void,
2307        Size: *mut ::std::os::raw::c_int,
2308    ) -> ::std::os::raw::c_int;
2309}
2310extern "C" {
2311    pub fn Cli_DBFill(
2312        Client: S7Object,
2313        DBNumber: ::std::os::raw::c_int,
2314        FillChar: ::std::os::raw::c_int,
2315    ) -> ::std::os::raw::c_int;
2316}
2317extern "C" {
2318    pub fn Cli_GetPlcDateTime(Client: S7Object, DateTime: *mut DateTime) -> ::std::os::raw::c_int;
2319}
2320extern "C" {
2321    pub fn Cli_SetPlcDateTime(Client: S7Object, DateTime: *mut DateTime) -> ::std::os::raw::c_int;
2322}
2323extern "C" {
2324    pub fn Cli_SetPlcSystemDateTime(Client: S7Object) -> ::std::os::raw::c_int;
2325}
2326extern "C" {
2327    pub fn Cli_GetOrderCode(Client: S7Object, pUsrData: *mut TS7OrderCode)
2328        -> ::std::os::raw::c_int;
2329}
2330extern "C" {
2331    pub fn Cli_GetCpuInfo(Client: S7Object, pUsrData: *mut TS7CpuInfo) -> ::std::os::raw::c_int;
2332}
2333extern "C" {
2334    pub fn Cli_GetCpInfo(Client: S7Object, pUsrData: *mut TS7CpInfo) -> ::std::os::raw::c_int;
2335}
2336extern "C" {
2337    pub fn Cli_ReadSZL(
2338        Client: S7Object,
2339        ID: ::std::os::raw::c_int,
2340        Index: ::std::os::raw::c_int,
2341        pUsrData: *mut TS7SZL,
2342        Size: *mut ::std::os::raw::c_int,
2343    ) -> ::std::os::raw::c_int;
2344}
2345extern "C" {
2346    pub fn Cli_ReadSZLList(
2347        Client: S7Object,
2348        pUsrData: *mut TS7SZLList,
2349        ItemsCount: *mut ::std::os::raw::c_int,
2350    ) -> ::std::os::raw::c_int;
2351}
2352extern "C" {
2353    pub fn Cli_PlcHotStart(Client: S7Object) -> ::std::os::raw::c_int;
2354}
2355extern "C" {
2356    pub fn Cli_PlcColdStart(Client: S7Object) -> ::std::os::raw::c_int;
2357}
2358extern "C" {
2359    pub fn Cli_PlcStop(Client: S7Object) -> ::std::os::raw::c_int;
2360}
2361extern "C" {
2362    pub fn Cli_CopyRamToRom(
2363        Client: S7Object,
2364        Timeout: ::std::os::raw::c_int,
2365    ) -> ::std::os::raw::c_int;
2366}
2367extern "C" {
2368    pub fn Cli_Compress(Client: S7Object, Timeout: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2369}
2370extern "C" {
2371    pub fn Cli_GetPlcStatus(
2372        Client: S7Object,
2373        Status: *mut ::std::os::raw::c_int,
2374    ) -> ::std::os::raw::c_int;
2375}
2376extern "C" {
2377    pub fn Cli_GetProtection(
2378        Client: S7Object,
2379        pUsrData: *mut TS7Protection,
2380    ) -> ::std::os::raw::c_int;
2381}
2382extern "C" {
2383    pub fn Cli_SetSessionPassword(
2384        Client: S7Object,
2385        Password: *mut ::std::os::raw::c_char,
2386    ) -> ::std::os::raw::c_int;
2387}
2388extern "C" {
2389    pub fn Cli_ClearSessionPassword(Client: S7Object) -> ::std::os::raw::c_int;
2390}
2391extern "C" {
2392    pub fn Cli_IsoExchangeBuffer(
2393        Client: S7Object,
2394        pUsrData: *mut ::std::os::raw::c_void,
2395        Size: *mut ::std::os::raw::c_int,
2396    ) -> ::std::os::raw::c_int;
2397}
2398extern "C" {
2399    pub fn Cli_GetExecTime(
2400        Client: S7Object,
2401        Time: *mut ::std::os::raw::c_int,
2402    ) -> ::std::os::raw::c_int;
2403}
2404extern "C" {
2405    pub fn Cli_GetLastError(
2406        Client: S7Object,
2407        LastError: *mut ::std::os::raw::c_int,
2408    ) -> ::std::os::raw::c_int;
2409}
2410extern "C" {
2411    pub fn Cli_GetPduLength(
2412        Client: S7Object,
2413        Requested: *mut ::std::os::raw::c_int,
2414        Negotiated: *mut ::std::os::raw::c_int,
2415    ) -> ::std::os::raw::c_int;
2416}
2417extern "C" {
2418    pub fn Cli_ErrorText(
2419        Error: ::std::os::raw::c_int,
2420        Text: *mut ::std::os::raw::c_char,
2421        TextLen: ::std::os::raw::c_int,
2422    ) -> ::std::os::raw::c_int;
2423}
2424extern "C" {
2425    pub fn Cli_GetConnected(
2426        Client: S7Object,
2427        Connected: *mut ::std::os::raw::c_int,
2428    ) -> ::std::os::raw::c_int;
2429}
2430extern "C" {
2431    pub fn Cli_AsReadArea(
2432        Client: S7Object,
2433        Area: ::std::os::raw::c_int,
2434        DBNumber: ::std::os::raw::c_int,
2435        Start: ::std::os::raw::c_int,
2436        Amount: ::std::os::raw::c_int,
2437        WordLen: ::std::os::raw::c_int,
2438        pUsrData: *mut ::std::os::raw::c_void,
2439    ) -> ::std::os::raw::c_int;
2440}
2441extern "C" {
2442    pub fn Cli_AsWriteArea(
2443        Client: S7Object,
2444        Area: ::std::os::raw::c_int,
2445        DBNumber: ::std::os::raw::c_int,
2446        Start: ::std::os::raw::c_int,
2447        Amount: ::std::os::raw::c_int,
2448        WordLen: ::std::os::raw::c_int,
2449        pUsrData: *mut ::std::os::raw::c_void,
2450    ) -> ::std::os::raw::c_int;
2451}
2452extern "C" {
2453    pub fn Cli_AsDBRead(
2454        Client: S7Object,
2455        DBNumber: ::std::os::raw::c_int,
2456        Start: ::std::os::raw::c_int,
2457        Size: ::std::os::raw::c_int,
2458        pUsrData: *mut ::std::os::raw::c_void,
2459    ) -> ::std::os::raw::c_int;
2460}
2461extern "C" {
2462    pub fn Cli_AsDBWrite(
2463        Client: S7Object,
2464        DBNumber: ::std::os::raw::c_int,
2465        Start: ::std::os::raw::c_int,
2466        Size: ::std::os::raw::c_int,
2467        pUsrData: *mut ::std::os::raw::c_void,
2468    ) -> ::std::os::raw::c_int;
2469}
2470extern "C" {
2471    pub fn Cli_AsMBRead(
2472        Client: S7Object,
2473        Start: ::std::os::raw::c_int,
2474        Size: ::std::os::raw::c_int,
2475        pUsrData: *mut ::std::os::raw::c_void,
2476    ) -> ::std::os::raw::c_int;
2477}
2478extern "C" {
2479    pub fn Cli_AsMBWrite(
2480        Client: S7Object,
2481        Start: ::std::os::raw::c_int,
2482        Size: ::std::os::raw::c_int,
2483        pUsrData: *mut ::std::os::raw::c_void,
2484    ) -> ::std::os::raw::c_int;
2485}
2486extern "C" {
2487    pub fn Cli_AsEBRead(
2488        Client: S7Object,
2489        Start: ::std::os::raw::c_int,
2490        Size: ::std::os::raw::c_int,
2491        pUsrData: *mut ::std::os::raw::c_void,
2492    ) -> ::std::os::raw::c_int;
2493}
2494extern "C" {
2495    pub fn Cli_AsEBWrite(
2496        Client: S7Object,
2497        Start: ::std::os::raw::c_int,
2498        Size: ::std::os::raw::c_int,
2499        pUsrData: *mut ::std::os::raw::c_void,
2500    ) -> ::std::os::raw::c_int;
2501}
2502extern "C" {
2503    pub fn Cli_AsABRead(
2504        Client: S7Object,
2505        Start: ::std::os::raw::c_int,
2506        Size: ::std::os::raw::c_int,
2507        pUsrData: *mut ::std::os::raw::c_void,
2508    ) -> ::std::os::raw::c_int;
2509}
2510extern "C" {
2511    pub fn Cli_AsABWrite(
2512        Client: S7Object,
2513        Start: ::std::os::raw::c_int,
2514        Size: ::std::os::raw::c_int,
2515        pUsrData: *mut ::std::os::raw::c_void,
2516    ) -> ::std::os::raw::c_int;
2517}
2518extern "C" {
2519    pub fn Cli_AsTMRead(
2520        Client: S7Object,
2521        Start: ::std::os::raw::c_int,
2522        Amount: ::std::os::raw::c_int,
2523        pUsrData: *mut ::std::os::raw::c_void,
2524    ) -> ::std::os::raw::c_int;
2525}
2526extern "C" {
2527    pub fn Cli_AsTMWrite(
2528        Client: S7Object,
2529        Start: ::std::os::raw::c_int,
2530        Amount: ::std::os::raw::c_int,
2531        pUsrData: *mut ::std::os::raw::c_void,
2532    ) -> ::std::os::raw::c_int;
2533}
2534extern "C" {
2535    pub fn Cli_AsCTRead(
2536        Client: S7Object,
2537        Start: ::std::os::raw::c_int,
2538        Amount: ::std::os::raw::c_int,
2539        pUsrData: *mut ::std::os::raw::c_void,
2540    ) -> ::std::os::raw::c_int;
2541}
2542extern "C" {
2543    pub fn Cli_AsCTWrite(
2544        Client: S7Object,
2545        Start: ::std::os::raw::c_int,
2546        Amount: ::std::os::raw::c_int,
2547        pUsrData: *mut ::std::os::raw::c_void,
2548    ) -> ::std::os::raw::c_int;
2549}
2550extern "C" {
2551    pub fn Cli_AsListBlocksOfType(
2552        Client: S7Object,
2553        BlockType: ::std::os::raw::c_int,
2554        pUsrData: *mut TS7BlocksOfType,
2555        ItemsCount: *mut ::std::os::raw::c_int,
2556    ) -> ::std::os::raw::c_int;
2557}
2558extern "C" {
2559    pub fn Cli_AsReadSZL(
2560        Client: S7Object,
2561        ID: ::std::os::raw::c_int,
2562        Index: ::std::os::raw::c_int,
2563        pUsrData: *mut TS7SZL,
2564        Size: *mut ::std::os::raw::c_int,
2565    ) -> ::std::os::raw::c_int;
2566}
2567extern "C" {
2568    pub fn Cli_AsReadSZLList(
2569        Client: S7Object,
2570        pUsrData: *mut TS7SZLList,
2571        ItemsCount: *mut ::std::os::raw::c_int,
2572    ) -> ::std::os::raw::c_int;
2573}
2574extern "C" {
2575    pub fn Cli_AsUpload(
2576        Client: S7Object,
2577        BlockType: ::std::os::raw::c_int,
2578        BlockNum: ::std::os::raw::c_int,
2579        pUsrData: *mut ::std::os::raw::c_void,
2580        Size: *mut ::std::os::raw::c_int,
2581    ) -> ::std::os::raw::c_int;
2582}
2583extern "C" {
2584    pub fn Cli_AsFullUpload(
2585        Client: S7Object,
2586        BlockType: ::std::os::raw::c_int,
2587        BlockNum: ::std::os::raw::c_int,
2588        pUsrData: *mut ::std::os::raw::c_void,
2589        Size: *mut ::std::os::raw::c_int,
2590    ) -> ::std::os::raw::c_int;
2591}
2592extern "C" {
2593    pub fn Cli_AsDownload(
2594        Client: S7Object,
2595        BlockNum: ::std::os::raw::c_int,
2596        pUsrData: *mut ::std::os::raw::c_void,
2597        Size: ::std::os::raw::c_int,
2598    ) -> ::std::os::raw::c_int;
2599}
2600extern "C" {
2601    pub fn Cli_AsCopyRamToRom(
2602        Client: S7Object,
2603        Timeout: ::std::os::raw::c_int,
2604    ) -> ::std::os::raw::c_int;
2605}
2606extern "C" {
2607    pub fn Cli_AsCompress(
2608        Client: S7Object,
2609        Timeout: ::std::os::raw::c_int,
2610    ) -> ::std::os::raw::c_int;
2611}
2612extern "C" {
2613    pub fn Cli_AsDBGet(
2614        Client: S7Object,
2615        DBNumber: ::std::os::raw::c_int,
2616        pUsrData: *mut ::std::os::raw::c_void,
2617        Size: *mut ::std::os::raw::c_int,
2618    ) -> ::std::os::raw::c_int;
2619}
2620extern "C" {
2621    pub fn Cli_AsDBFill(
2622        Client: S7Object,
2623        DBNumber: ::std::os::raw::c_int,
2624        FillChar: ::std::os::raw::c_int,
2625    ) -> ::std::os::raw::c_int;
2626}
2627extern "C" {
2628    pub fn Cli_CheckAsCompletion(
2629        Client: S7Object,
2630        opResult: *mut ::std::os::raw::c_int,
2631    ) -> ::std::os::raw::c_int;
2632}
2633extern "C" {
2634    pub fn Cli_WaitAsCompletion(
2635        Client: S7Object,
2636        Timeout: ::std::os::raw::c_int,
2637    ) -> ::std::os::raw::c_int;
2638}
2639pub const OperationRead: ::std::os::raw::c_int = 0;
2640pub const OperationWrite: ::std::os::raw::c_int = 1;
2641pub const mkEvent: ::std::os::raw::c_int = 0;
2642pub const mkLog: ::std::os::raw::c_int = 1;
2643pub const srvAreaPE: ::std::os::raw::c_int = 0;
2644pub const srvAreaPA: ::std::os::raw::c_int = 1;
2645pub const srvAreaMK: ::std::os::raw::c_int = 2;
2646pub const srvAreaCT: ::std::os::raw::c_int = 3;
2647pub const srvAreaTM: ::std::os::raw::c_int = 4;
2648pub const srvAreaDB: ::std::os::raw::c_int = 5;
2649pub const errSrvCannotStart: longword = 1048576;
2650pub const errSrvDBNullPointer: longword = 2097152;
2651pub const errSrvAreaAlreadyExists: longword = 3145728;
2652pub const errSrvUnknownArea: longword = 4194304;
2653pub const errSrvInvalidParams: longword = 5242880;
2654pub const errSrvTooManyDB: longword = 6291456;
2655pub const errSrvInvalidParamNumber: longword = 7340032;
2656pub const errSrvCannotChangeParam: longword = 8388608;
2657pub const evcServerStarted: longword = 1;
2658pub const evcServerStopped: longword = 2;
2659pub const evcListenerCannotStart: longword = 4;
2660pub const evcClientAdded: longword = 8;
2661pub const evcClientRejected: longword = 16;
2662pub const evcClientNoRoom: longword = 32;
2663pub const evcClientException: longword = 64;
2664pub const evcClientDisconnected: longword = 128;
2665pub const evcClientTerminated: longword = 256;
2666pub const evcClientsDropped: longword = 512;
2667pub const evcReserved_00000400: longword = 1024;
2668pub const evcReserved_00000800: longword = 2048;
2669pub const evcReserved_00001000: longword = 4096;
2670pub const evcReserved_00002000: longword = 8192;
2671pub const evcReserved_00004000: longword = 16384;
2672pub const evcReserved_00008000: longword = 32768;
2673pub const evcPDUincoming: longword = 65536;
2674pub const evcDataRead: longword = 131072;
2675pub const evcDataWrite: longword = 262144;
2676pub const evcNegotiatePDU: longword = 524288;
2677pub const evcReadSZL: longword = 1048576;
2678pub const evcClock: longword = 2097152;
2679pub const evcUpload: longword = 4194304;
2680pub const evcDownload: longword = 8388608;
2681pub const evcDirectory: longword = 16777216;
2682pub const evcSecurity: longword = 33554432;
2683pub const evcControl: longword = 67108864;
2684pub const evcReserved_08000000: longword = 134217728;
2685pub const evcReserved_10000000: longword = 268435456;
2686pub const evcReserved_20000000: longword = 536870912;
2687pub const evcReserved_40000000: longword = 1073741824;
2688pub const evcReserved_80000000: longword = 2147483648;
2689pub const evcAll: longword = 4294967295;
2690pub const evcNone: longword = 0;
2691pub const evsUnknown: word = 0;
2692pub const evsStartUpload: word = 1;
2693pub const evsStartDownload: word = 1;
2694pub const evsGetBlockList: word = 1;
2695pub const evsStartListBoT: word = 2;
2696pub const evsListBoT: word = 3;
2697pub const evsGetBlockInfo: word = 4;
2698pub const evsGetClock: word = 1;
2699pub const evsSetClock: word = 2;
2700pub const evsSetPassword: word = 1;
2701pub const evsClrPassword: word = 2;
2702pub const grProgrammer: word = 65;
2703pub const grCyclicData: word = 66;
2704pub const grBlocksInfo: word = 67;
2705pub const grSZL: word = 68;
2706pub const grPassword: word = 69;
2707pub const grBSend: word = 70;
2708pub const grClock: word = 71;
2709pub const grSecurity: word = 69;
2710pub const CodeControlUnknown: word = 0;
2711pub const CodeControlColdStart: word = 1;
2712pub const CodeControlWarmStart: word = 2;
2713pub const CodeControlStop: word = 3;
2714pub const CodeControlCompress: word = 4;
2715pub const CodeControlCpyRamRom: word = 5;
2716pub const CodeControlInsDel: word = 6;
2717pub const evrNoError: word = 0;
2718pub const evrFragmentRejected: word = 1;
2719pub const evrMalformedPDU: word = 2;
2720pub const evrSparseBytes: word = 3;
2721pub const evrCannotHandlePDU: word = 4;
2722pub const evrNotImplemented: word = 5;
2723pub const evrErrException: word = 6;
2724pub const evrErrAreaNotFound: word = 7;
2725pub const evrErrOutOfRange: word = 8;
2726pub const evrErrOverPDU: word = 9;
2727pub const evrErrTransportSize: word = 10;
2728pub const evrInvalidGroupUData: word = 11;
2729pub const evrInvalidSZL: word = 12;
2730pub const evrDataSizeMismatch: word = 13;
2731pub const evrCannotUpload: word = 14;
2732pub const evrCannotDownload: word = 15;
2733pub const evrUploadInvalidID: word = 16;
2734pub const evrResNotFound: word = 17;
2735#[repr(C, packed)]
2736#[derive(Debug, Copy, Clone, Default)]
2737pub struct TSrvEvent {
2738    pub EvtTime: time_t,
2739    pub EvtSender: ::std::os::raw::c_int,
2740    pub EvtCode: longword,
2741    pub EvtRetCode: word,
2742    pub EvtParam1: word,
2743    pub EvtParam2: word,
2744    pub EvtParam3: word,
2745    pub EvtParam4: word,
2746}
2747#[test]
2748fn bindgen_test_layout_TSrvEvent() {
2749    assert_eq!(
2750        ::std::mem::size_of::<TSrvEvent>(),
2751        26usize,
2752        concat!("Size of: ", stringify!(TSrvEvent))
2753    );
2754    assert_eq!(
2755        ::std::mem::align_of::<TSrvEvent>(),
2756        1usize,
2757        concat!("Alignment of ", stringify!(TSrvEvent))
2758    );
2759}
2760pub type PSrvEvent = *mut TSrvEvent;
2761pub type pfn_SrvCallBack = ::std::option::Option<
2762    unsafe extern "C" fn(
2763        usrPtr: *mut ::std::os::raw::c_void,
2764        PEvent: PSrvEvent,
2765        Size: ::std::os::raw::c_int,
2766    ),
2767>;
2768pub type pfn_RWAreaCallBack = ::std::option::Option<
2769    unsafe extern "C" fn(
2770        usrPtr: *mut ::std::os::raw::c_void,
2771        Sender: ::std::os::raw::c_int,
2772        Operation: ::std::os::raw::c_int,
2773        PTag: PS7Tag,
2774        pUsrData: *mut ::std::os::raw::c_void,
2775    ),
2776>;
2777extern "C" {
2778    pub fn Srv_Create() -> S7Object;
2779}
2780extern "C" {
2781    pub fn Srv_Destroy(Server: *mut S7Object);
2782}
2783extern "C" {
2784    pub fn Srv_GetParam(
2785        Server: S7Object,
2786        ParamNumber: ::std::os::raw::c_int,
2787        pValue: *mut ::std::os::raw::c_void,
2788    ) -> ::std::os::raw::c_int;
2789}
2790extern "C" {
2791    pub fn Srv_SetParam(
2792        Server: S7Object,
2793        ParamNumber: ::std::os::raw::c_int,
2794        pValue: *mut ::std::os::raw::c_void,
2795    ) -> ::std::os::raw::c_int;
2796}
2797extern "C" {
2798    pub fn Srv_StartTo(
2799        Server: S7Object,
2800        Address: *const ::std::os::raw::c_char,
2801    ) -> ::std::os::raw::c_int;
2802}
2803extern "C" {
2804    pub fn Srv_Start(Server: S7Object) -> ::std::os::raw::c_int;
2805}
2806extern "C" {
2807    pub fn Srv_Stop(Server: S7Object) -> ::std::os::raw::c_int;
2808}
2809extern "C" {
2810    pub fn Srv_RegisterArea(
2811        Server: S7Object,
2812        AreaCode: ::std::os::raw::c_int,
2813        Index: word,
2814        pUsrData: *mut ::std::os::raw::c_void,
2815        Size: ::std::os::raw::c_int,
2816    ) -> ::std::os::raw::c_int;
2817}
2818extern "C" {
2819    pub fn Srv_UnregisterArea(
2820        Server: S7Object,
2821        AreaCode: ::std::os::raw::c_int,
2822        Index: word,
2823    ) -> ::std::os::raw::c_int;
2824}
2825extern "C" {
2826    pub fn Srv_LockArea(
2827        Server: S7Object,
2828        AreaCode: ::std::os::raw::c_int,
2829        Index: word,
2830    ) -> ::std::os::raw::c_int;
2831}
2832extern "C" {
2833    pub fn Srv_UnlockArea(
2834        Server: S7Object,
2835        AreaCode: ::std::os::raw::c_int,
2836        Index: word,
2837    ) -> ::std::os::raw::c_int;
2838}
2839extern "C" {
2840    pub fn Srv_GetStatus(
2841        Server: S7Object,
2842        ServerStatus: *mut ::std::os::raw::c_int,
2843        CpuStatus: *mut ::std::os::raw::c_int,
2844        ClientsCount: *mut ::std::os::raw::c_int,
2845    ) -> ::std::os::raw::c_int;
2846}
2847extern "C" {
2848    pub fn Srv_SetCpuStatus(
2849        Server: S7Object,
2850        CpuStatus: ::std::os::raw::c_int,
2851    ) -> ::std::os::raw::c_int;
2852}
2853extern "C" {
2854    pub fn Srv_ClearEvents(Server: S7Object) -> ::std::os::raw::c_int;
2855}
2856extern "C" {
2857    pub fn Srv_PickEvent(
2858        Server: S7Object,
2859        pEvent: *mut TSrvEvent,
2860        EvtReady: *mut ::std::os::raw::c_int,
2861    ) -> ::std::os::raw::c_int;
2862}
2863extern "C" {
2864    pub fn Srv_GetMask(
2865        Server: S7Object,
2866        MaskKind: ::std::os::raw::c_int,
2867        Mask: *mut longword,
2868    ) -> ::std::os::raw::c_int;
2869}
2870extern "C" {
2871    pub fn Srv_SetMask(
2872        Server: S7Object,
2873        MaskKind: ::std::os::raw::c_int,
2874        Mask: longword,
2875    ) -> ::std::os::raw::c_int;
2876}
2877extern "C" {
2878    pub fn Srv_SetEventsCallback(
2879        Server: S7Object,
2880        pCallback: pfn_SrvCallBack,
2881        usrPtr: *mut ::std::os::raw::c_void,
2882    ) -> ::std::os::raw::c_int;
2883}
2884extern "C" {
2885    pub fn Srv_SetReadEventsCallback(
2886        Server: S7Object,
2887        pCallback: pfn_SrvCallBack,
2888        usrPtr: *mut ::std::os::raw::c_void,
2889    ) -> ::std::os::raw::c_int;
2890}
2891extern "C" {
2892    pub fn Srv_SetRWAreaCallback(
2893        Server: S7Object,
2894        pCallback: pfn_RWAreaCallBack,
2895        usrPtr: *mut ::std::os::raw::c_void,
2896    ) -> ::std::os::raw::c_int;
2897}
2898extern "C" {
2899    pub fn Srv_EventText(
2900        Event: *mut TSrvEvent,
2901        Text: *mut ::std::os::raw::c_char,
2902        TextLen: ::std::os::raw::c_int,
2903    ) -> ::std::os::raw::c_int;
2904}
2905extern "C" {
2906    pub fn Srv_ErrorText(
2907        Error: ::std::os::raw::c_int,
2908        Text: *mut ::std::os::raw::c_char,
2909        TextLen: ::std::os::raw::c_int,
2910    ) -> ::std::os::raw::c_int;
2911}
2912pub const par_stopped: ::std::os::raw::c_int = 0;
2913pub const par_connecting: ::std::os::raw::c_int = 1;
2914pub const par_waiting: ::std::os::raw::c_int = 2;
2915pub const par_linked: ::std::os::raw::c_int = 3;
2916pub const par_sending: ::std::os::raw::c_int = 4;
2917pub const par_receiving: ::std::os::raw::c_int = 5;
2918pub const par_binderror: ::std::os::raw::c_int = 6;
2919pub const errParAddressInUse: longword = 2097152;
2920pub const errParNoRoom: longword = 3145728;
2921pub const errServerNoRoom: longword = 4194304;
2922pub const errParInvalidParams: longword = 5242880;
2923pub const errParNotLinked: longword = 6291456;
2924pub const errParBusy: longword = 7340032;
2925pub const errParFrameTimeout: longword = 8388608;
2926pub const errParInvalidPDU: longword = 9437184;
2927pub const errParSendTimeout: longword = 10485760;
2928pub const errParRecvTimeout: longword = 11534336;
2929pub const errParSendRefused: longword = 12582912;
2930pub const errParNegotiatingPDU: longword = 13631488;
2931pub const errParSendingBlock: longword = 14680064;
2932pub const errParRecvingBlock: longword = 15728640;
2933pub const errParBindError: longword = 16777216;
2934pub const errParDestroying: longword = 17825792;
2935pub const errParInvalidParamNumber: longword = 18874368;
2936pub const errParCannotChangeParam: longword = 19922944;
2937pub const errParBufferTooSmall: longword = 20971520;
2938pub type pfn_ParRecvCallBack = ::std::option::Option<
2939    unsafe extern "C" fn(
2940        usrPtr: *mut ::std::os::raw::c_void,
2941        opResult: ::std::os::raw::c_int,
2942        R_ID: longword,
2943        pData: *mut ::std::os::raw::c_void,
2944        Size: ::std::os::raw::c_int,
2945    ),
2946>;
2947pub type pfn_ParSendCompletion = ::std::option::Option<
2948    unsafe extern "C" fn(usrPtr: *mut ::std::os::raw::c_void, opResult: ::std::os::raw::c_int),
2949>;
2950extern "C" {
2951    pub fn Par_Create(Active: ::std::os::raw::c_int) -> S7Object;
2952}
2953extern "C" {
2954    pub fn Par_Destroy(Partner: *mut S7Object);
2955}
2956extern "C" {
2957    pub fn Par_GetParam(
2958        Partner: S7Object,
2959        ParamNumber: ::std::os::raw::c_int,
2960        pValue: *mut ::std::os::raw::c_void,
2961    ) -> ::std::os::raw::c_int;
2962}
2963extern "C" {
2964    pub fn Par_SetParam(
2965        Partner: S7Object,
2966        ParamNumber: ::std::os::raw::c_int,
2967        pValue: *mut ::std::os::raw::c_void,
2968    ) -> ::std::os::raw::c_int;
2969}
2970extern "C" {
2971    pub fn Par_StartTo(
2972        Partner: S7Object,
2973        LocalAddress: *const ::std::os::raw::c_char,
2974        RemoteAddress: *const ::std::os::raw::c_char,
2975        LocTsap: word,
2976        RemTsap: word,
2977    ) -> ::std::os::raw::c_int;
2978}
2979extern "C" {
2980    pub fn Par_Start(Partner: S7Object) -> ::std::os::raw::c_int;
2981}
2982extern "C" {
2983    pub fn Par_Stop(Partner: S7Object) -> ::std::os::raw::c_int;
2984}
2985extern "C" {
2986    pub fn Par_BSend(
2987        Partner: S7Object,
2988        R_ID: longword,
2989        pUsrData: *mut ::std::os::raw::c_void,
2990        Size: ::std::os::raw::c_int,
2991    ) -> ::std::os::raw::c_int;
2992}
2993extern "C" {
2994    pub fn Par_AsBSend(
2995        Partner: S7Object,
2996        R_ID: longword,
2997        pUsrData: *mut ::std::os::raw::c_void,
2998        Size: ::std::os::raw::c_int,
2999    ) -> ::std::os::raw::c_int;
3000}
3001extern "C" {
3002    pub fn Par_CheckAsBSendCompletion(
3003        Partner: S7Object,
3004        opResult: *mut ::std::os::raw::c_int,
3005    ) -> ::std::os::raw::c_int;
3006}
3007extern "C" {
3008    pub fn Par_WaitAsBSendCompletion(Partner: S7Object, Timeout: longword)
3009        -> ::std::os::raw::c_int;
3010}
3011extern "C" {
3012    pub fn Par_SetSendCallback(
3013        Partner: S7Object,
3014        pCompletion: pfn_ParSendCompletion,
3015        usrPtr: *mut ::std::os::raw::c_void,
3016    ) -> ::std::os::raw::c_int;
3017}
3018extern "C" {
3019    pub fn Par_BRecv(
3020        Partner: S7Object,
3021        R_ID: *mut longword,
3022        pData: *mut ::std::os::raw::c_void,
3023        Size: *mut ::std::os::raw::c_int,
3024        Timeout: longword,
3025    ) -> ::std::os::raw::c_int;
3026}
3027extern "C" {
3028    pub fn Par_CheckAsBRecvCompletion(
3029        Partner: S7Object,
3030        opResult: *mut ::std::os::raw::c_int,
3031        R_ID: *mut longword,
3032        pData: *mut ::std::os::raw::c_void,
3033        Size: *mut ::std::os::raw::c_int,
3034    ) -> ::std::os::raw::c_int;
3035}
3036extern "C" {
3037    pub fn Par_SetRecvCallback(
3038        Partner: S7Object,
3039        pCompletion: pfn_ParRecvCallBack,
3040        usrPtr: *mut ::std::os::raw::c_void,
3041    ) -> ::std::os::raw::c_int;
3042}
3043extern "C" {
3044    pub fn Par_GetTimes(
3045        Partner: S7Object,
3046        SendTime: *mut longword,
3047        RecvTime: *mut longword,
3048    ) -> ::std::os::raw::c_int;
3049}
3050extern "C" {
3051    pub fn Par_GetStats(
3052        Partner: S7Object,
3053        BytesSent: *mut longword,
3054        BytesRecv: *mut longword,
3055        SendErrors: *mut longword,
3056        RecvErrors: *mut longword,
3057    ) -> ::std::os::raw::c_int;
3058}
3059extern "C" {
3060    pub fn Par_GetLastError(
3061        Partner: S7Object,
3062        LastError: *mut ::std::os::raw::c_int,
3063    ) -> ::std::os::raw::c_int;
3064}
3065extern "C" {
3066    pub fn Par_GetStatus(
3067        Partner: S7Object,
3068        Status: *mut ::std::os::raw::c_int,
3069    ) -> ::std::os::raw::c_int;
3070}
3071extern "C" {
3072    pub fn Par_ErrorText(
3073        Error: ::std::os::raw::c_int,
3074        Text: *mut ::std::os::raw::c_char,
3075        TextLen: ::std::os::raw::c_int,
3076    ) -> ::std::os::raw::c_int;
3077}
3078#[repr(C)]
3079#[derive(Debug, Copy, Clone)]
3080pub struct __locale_data {
3081    pub _address: u8,
3082}