ethash_sys/
lib.rs

1#![allow(non_camel_case_types,non_snake_case,non_upper_case_globals)]
2// Original source code retrieved from: https://github.com/ethereum-mining/ethminer
3
4
5/* automatically generated by rust-bindgen */
6
7
8#[repr(C)]
9pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
10impl <T> __BindgenUnionField<T> {
11    #[inline]
12    pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) }
13    #[inline]
14    pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) }
15    #[inline]
16    pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) }
17}
18impl <T> ::std::default::Default for __BindgenUnionField<T> {
19    #[inline]
20    fn default() -> Self { Self::new() }
21}
22impl <T> ::std::clone::Clone for __BindgenUnionField<T> {
23    #[inline]
24    fn clone(&self) -> Self { Self::new() }
25}
26impl <T> ::std::marker::Copy for __BindgenUnionField<T> { }
27impl <T> ::std::fmt::Debug for __BindgenUnionField<T> {
28    fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
29        fmt.write_str("__BindgenUnionField")
30    }
31}
32pub const _STDINT_H: ::std::os::raw::c_uint = 1;
33pub const _FEATURES_H: ::std::os::raw::c_uint = 1;
34pub const _DEFAULT_SOURCE: ::std::os::raw::c_uint = 1;
35pub const __USE_ISOC11: ::std::os::raw::c_uint = 1;
36pub const __USE_ISOC99: ::std::os::raw::c_uint = 1;
37pub const __USE_ISOC95: ::std::os::raw::c_uint = 1;
38pub const __USE_POSIX_IMPLICITLY: ::std::os::raw::c_uint = 1;
39pub const _POSIX_SOURCE: ::std::os::raw::c_uint = 1;
40pub const _POSIX_C_SOURCE: ::std::os::raw::c_uint = 200809;
41pub const __USE_POSIX: ::std::os::raw::c_uint = 1;
42pub const __USE_POSIX2: ::std::os::raw::c_uint = 1;
43pub const __USE_POSIX199309: ::std::os::raw::c_uint = 1;
44pub const __USE_POSIX199506: ::std::os::raw::c_uint = 1;
45pub const __USE_XOPEN2K: ::std::os::raw::c_uint = 1;
46pub const __USE_XOPEN2K8: ::std::os::raw::c_uint = 1;
47pub const _ATFILE_SOURCE: ::std::os::raw::c_uint = 1;
48pub const __USE_MISC: ::std::os::raw::c_uint = 1;
49pub const __USE_ATFILE: ::std::os::raw::c_uint = 1;
50pub const __USE_FORTIFY_LEVEL: ::std::os::raw::c_uint = 0;
51pub const _STDC_PREDEF_H: ::std::os::raw::c_uint = 1;
52pub const __STDC_IEC_559__: ::std::os::raw::c_uint = 1;
53pub const __STDC_IEC_559_COMPLEX__: ::std::os::raw::c_uint = 1;
54pub const __STDC_ISO_10646__: ::std::os::raw::c_uint = 201505;
55pub const __STDC_NO_THREADS__: ::std::os::raw::c_uint = 1;
56pub const __GNU_LIBRARY__: ::std::os::raw::c_uint = 6;
57pub const __GLIBC__: ::std::os::raw::c_uint = 2;
58pub const __GLIBC_MINOR__: ::std::os::raw::c_uint = 25;
59pub const _SYS_CDEFS_H: ::std::os::raw::c_uint = 1;
60pub const __glibc_c99_flexarr_available: ::std::os::raw::c_uint = 1;
61pub const __WORDSIZE: ::std::os::raw::c_uint = 64;
62pub const __WORDSIZE_TIME64_COMPAT32: ::std::os::raw::c_uint = 1;
63pub const __SYSCALL_WORDSIZE: ::std::os::raw::c_uint = 64;
64pub const __GLIBC_USE_LIB_EXT2: ::std::os::raw::c_uint = 0;
65pub const __GLIBC_USE_IEC_60559_BFP_EXT: ::std::os::raw::c_uint = 0;
66pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: ::std::os::raw::c_uint = 0;
67pub const _BITS_TYPES_H: ::std::os::raw::c_uint = 1;
68pub const _BITS_TYPESIZES_H: ::std::os::raw::c_uint = 1;
69pub const __OFF_T_MATCHES_OFF64_T: ::std::os::raw::c_uint = 1;
70pub const __INO_T_MATCHES_INO64_T: ::std::os::raw::c_uint = 1;
71pub const __RLIM_T_MATCHES_RLIM64_T: ::std::os::raw::c_uint = 1;
72pub const __FD_SETSIZE: ::std::os::raw::c_uint = 1024;
73pub const _BITS_WCHAR_H: ::std::os::raw::c_uint = 1;
74pub const INT8_MIN: ::std::os::raw::c_int = -128;
75pub const INT16_MIN: ::std::os::raw::c_int = -32768;
76pub const INT32_MIN: ::std::os::raw::c_int = -2147483648;
77pub const INT8_MAX: ::std::os::raw::c_uint = 127;
78pub const INT16_MAX: ::std::os::raw::c_uint = 32767;
79pub const INT32_MAX: ::std::os::raw::c_uint = 2147483647;
80pub const UINT8_MAX: ::std::os::raw::c_uint = 255;
81pub const UINT16_MAX: ::std::os::raw::c_uint = 65535;
82pub const UINT32_MAX: ::std::os::raw::c_uint = 4294967295;
83pub const INT_LEAST8_MIN: ::std::os::raw::c_int = -128;
84pub const INT_LEAST16_MIN: ::std::os::raw::c_int = -32768;
85pub const INT_LEAST32_MIN: ::std::os::raw::c_int = -2147483648;
86pub const INT_LEAST8_MAX: ::std::os::raw::c_uint = 127;
87pub const INT_LEAST16_MAX: ::std::os::raw::c_uint = 32767;
88pub const INT_LEAST32_MAX: ::std::os::raw::c_uint = 2147483647;
89pub const UINT_LEAST8_MAX: ::std::os::raw::c_uint = 255;
90pub const UINT_LEAST16_MAX: ::std::os::raw::c_uint = 65535;
91pub const UINT_LEAST32_MAX: ::std::os::raw::c_uint = 4294967295;
92pub const INT_FAST8_MIN: ::std::os::raw::c_int = -128;
93pub const INT_FAST16_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
94pub const INT_FAST32_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
95pub const INT_FAST8_MAX: ::std::os::raw::c_uint = 127;
96pub const INT_FAST16_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
97pub const INT_FAST32_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
98pub const UINT_FAST8_MAX: ::std::os::raw::c_uint = 255;
99pub const UINT_FAST16_MAX: ::std::os::raw::c_int = -1;
100pub const UINT_FAST32_MAX: ::std::os::raw::c_int = -1;
101pub const INTPTR_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
102pub const INTPTR_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
103pub const UINTPTR_MAX: ::std::os::raw::c_int = -1;
104pub const PTRDIFF_MIN: ::std::os::raw::c_longlong = -9223372036854775808;
105pub const PTRDIFF_MAX: ::std::os::raw::c_ulonglong = 9223372036854775807;
106pub const SIG_ATOMIC_MIN: ::std::os::raw::c_int = -2147483648;
107pub const SIG_ATOMIC_MAX: ::std::os::raw::c_uint = 2147483647;
108pub const SIZE_MAX: ::std::os::raw::c_int = -1;
109pub const WINT_MIN: ::std::os::raw::c_uint = 0;
110pub const WINT_MAX: ::std::os::raw::c_uint = 4294967295;
111pub const true_: ::std::os::raw::c_uint = 1;
112pub const false_: ::std::os::raw::c_uint = 0;
113pub const __bool_true_false_are_defined: ::std::os::raw::c_uint = 1;
114pub const _STRING_H: ::std::os::raw::c_uint = 1;
115pub const _XLOCALE_H: ::std::os::raw::c_uint = 1;
116pub const ETHASH_REVISION: ::std::os::raw::c_uint = 23;
117pub const ETHASH_DATASET_BYTES_INIT: ::std::os::raw::c_uint = 1073741824;
118pub const ETHASH_DATASET_BYTES_GROWTH: ::std::os::raw::c_uint = 8388608;
119pub const ETHASH_CACHE_BYTES_INIT: ::std::os::raw::c_uint = 1073741824;
120pub const ETHASH_CACHE_BYTES_GROWTH: ::std::os::raw::c_uint = 131072;
121pub const ETHASH_EPOCH_LENGTH: ::std::os::raw::c_uint = 30000;
122pub const ETHASH_MIX_BYTES: ::std::os::raw::c_uint = 128;
123pub const ETHASH_HASH_BYTES: ::std::os::raw::c_uint = 64;
124pub const ETHASH_DATASET_PARENTS: ::std::os::raw::c_uint = 256;
125pub const ETHASH_CACHE_ROUNDS: ::std::os::raw::c_uint = 3;
126pub const ETHASH_ACCESSES: ::std::os::raw::c_uint = 64;
127pub const _ENDIAN_H: ::std::os::raw::c_uint = 1;
128pub const __LITTLE_ENDIAN: ::std::os::raw::c_uint = 1234;
129pub const __BIG_ENDIAN: ::std::os::raw::c_uint = 4321;
130pub const __PDP_ENDIAN: ::std::os::raw::c_uint = 3412;
131pub const __BYTE_ORDER: ::std::os::raw::c_uint = 1234;
132pub const __FLOAT_WORD_ORDER: ::std::os::raw::c_uint = 1234;
133pub const LITTLE_ENDIAN: ::std::os::raw::c_uint = 1234;
134pub const BIG_ENDIAN: ::std::os::raw::c_uint = 4321;
135pub const PDP_ENDIAN: ::std::os::raw::c_uint = 3412;
136pub const BYTE_ORDER: ::std::os::raw::c_uint = 1234;
137pub const _BITS_BYTESWAP_H: ::std::os::raw::c_uint = 1;
138pub const _BITS_UINTN_IDENTITY_H: ::std::os::raw::c_uint = 1;
139pub const _BYTESWAP_H: ::std::os::raw::c_uint = 1;
140pub const _STDIO_H: ::std::os::raw::c_uint = 1;
141pub const __FILE_defined: ::std::os::raw::c_uint = 1;
142pub const ____FILE_defined: ::std::os::raw::c_uint = 1;
143pub const _G_config_h: ::std::os::raw::c_uint = 1;
144pub const ____mbstate_t_defined: ::std::os::raw::c_uint = 1;
145pub const _G_HAVE_MMAP: ::std::os::raw::c_uint = 1;
146pub const _G_HAVE_MREMAP: ::std::os::raw::c_uint = 1;
147pub const _G_IO_IO_FILE_VERSION: ::std::os::raw::c_uint = 131073;
148pub const _G_BUFSIZ: ::std::os::raw::c_uint = 8192;
149pub const _IO_BUFSIZ: ::std::os::raw::c_uint = 8192;
150pub const __GNUC_VA_LIST: ::std::os::raw::c_uint = 1;
151pub const _IO_UNIFIED_JUMPTABLES: ::std::os::raw::c_uint = 1;
152pub const EOF: ::std::os::raw::c_int = -1;
153pub const _IOS_INPUT: ::std::os::raw::c_uint = 1;
154pub const _IOS_OUTPUT: ::std::os::raw::c_uint = 2;
155pub const _IOS_ATEND: ::std::os::raw::c_uint = 4;
156pub const _IOS_APPEND: ::std::os::raw::c_uint = 8;
157pub const _IOS_TRUNC: ::std::os::raw::c_uint = 16;
158pub const _IOS_NOCREATE: ::std::os::raw::c_uint = 32;
159pub const _IOS_NOREPLACE: ::std::os::raw::c_uint = 64;
160pub const _IOS_BIN: ::std::os::raw::c_uint = 128;
161pub const _IO_MAGIC: ::std::os::raw::c_uint = 4222418944;
162pub const _OLD_STDIO_MAGIC: ::std::os::raw::c_uint = 4206624768;
163pub const _IO_MAGIC_MASK: ::std::os::raw::c_uint = 4294901760;
164pub const _IO_USER_BUF: ::std::os::raw::c_uint = 1;
165pub const _IO_UNBUFFERED: ::std::os::raw::c_uint = 2;
166pub const _IO_NO_READS: ::std::os::raw::c_uint = 4;
167pub const _IO_NO_WRITES: ::std::os::raw::c_uint = 8;
168pub const _IO_EOF_SEEN: ::std::os::raw::c_uint = 16;
169pub const _IO_ERR_SEEN: ::std::os::raw::c_uint = 32;
170pub const _IO_DELETE_DONT_CLOSE: ::std::os::raw::c_uint = 64;
171pub const _IO_LINKED: ::std::os::raw::c_uint = 128;
172pub const _IO_IN_BACKUP: ::std::os::raw::c_uint = 256;
173pub const _IO_LINE_BUF: ::std::os::raw::c_uint = 512;
174pub const _IO_TIED_PUT_GET: ::std::os::raw::c_uint = 1024;
175pub const _IO_CURRENTLY_PUTTING: ::std::os::raw::c_uint = 2048;
176pub const _IO_IS_APPENDING: ::std::os::raw::c_uint = 4096;
177pub const _IO_IS_FILEBUF: ::std::os::raw::c_uint = 8192;
178pub const _IO_BAD_SEEN: ::std::os::raw::c_uint = 16384;
179pub const _IO_USER_LOCK: ::std::os::raw::c_uint = 32768;
180pub const _IO_FLAGS2_MMAP: ::std::os::raw::c_uint = 1;
181pub const _IO_FLAGS2_NOTCANCEL: ::std::os::raw::c_uint = 2;
182pub const _IO_FLAGS2_USER_WBUF: ::std::os::raw::c_uint = 8;
183pub const _IO_SKIPWS: ::std::os::raw::c_uint = 1;
184pub const _IO_LEFT: ::std::os::raw::c_uint = 2;
185pub const _IO_RIGHT: ::std::os::raw::c_uint = 4;
186pub const _IO_INTERNAL: ::std::os::raw::c_uint = 8;
187pub const _IO_DEC: ::std::os::raw::c_uint = 16;
188pub const _IO_OCT: ::std::os::raw::c_uint = 32;
189pub const _IO_HEX: ::std::os::raw::c_uint = 64;
190pub const _IO_SHOWBASE: ::std::os::raw::c_uint = 128;
191pub const _IO_SHOWPOINT: ::std::os::raw::c_uint = 256;
192pub const _IO_UPPERCASE: ::std::os::raw::c_uint = 512;
193pub const _IO_SHOWPOS: ::std::os::raw::c_uint = 1024;
194pub const _IO_SCIENTIFIC: ::std::os::raw::c_uint = 2048;
195pub const _IO_FIXED: ::std::os::raw::c_uint = 4096;
196pub const _IO_UNITBUF: ::std::os::raw::c_uint = 8192;
197pub const _IO_STDIO: ::std::os::raw::c_uint = 16384;
198pub const _IO_DONT_CLOSE: ::std::os::raw::c_uint = 32768;
199pub const _IO_BOOLALPHA: ::std::os::raw::c_uint = 65536;
200pub const _IOFBF: ::std::os::raw::c_uint = 0;
201pub const _IOLBF: ::std::os::raw::c_uint = 1;
202pub const _IONBF: ::std::os::raw::c_uint = 2;
203pub const BUFSIZ: ::std::os::raw::c_uint = 8192;
204pub const SEEK_SET: ::std::os::raw::c_uint = 0;
205pub const SEEK_CUR: ::std::os::raw::c_uint = 1;
206pub const SEEK_END: ::std::os::raw::c_uint = 2;
207pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\x00";
208pub const L_tmpnam: ::std::os::raw::c_uint = 20;
209pub const TMP_MAX: ::std::os::raw::c_uint = 238328;
210pub const FILENAME_MAX: ::std::os::raw::c_uint = 4096;
211pub const L_ctermid: ::std::os::raw::c_uint = 9;
212pub const FOPEN_MAX: ::std::os::raw::c_uint = 16;
213pub const ENABLE_SSE: ::std::os::raw::c_uint = 0;
214pub const NODE_WORDS: ::std::os::raw::c_uint = 16;
215pub const MIX_WORDS: ::std::os::raw::c_uint = 32;
216pub const MIX_NODES: ::std::os::raw::c_uint = 2;
217pub type __u_char = ::std::os::raw::c_uchar;
218pub type __u_short = ::std::os::raw::c_ushort;
219pub type __u_int = ::std::os::raw::c_uint;
220pub type __u_long = ::std::os::raw::c_ulong;
221pub type __int8_t = ::std::os::raw::c_schar;
222pub type __uint8_t = ::std::os::raw::c_uchar;
223pub type __int16_t = ::std::os::raw::c_short;
224pub type __uint16_t = ::std::os::raw::c_ushort;
225pub type __int32_t = ::std::os::raw::c_int;
226pub type __uint32_t = ::std::os::raw::c_uint;
227pub type __int64_t = ::std::os::raw::c_long;
228pub type __uint64_t = ::std::os::raw::c_ulong;
229pub type __quad_t = ::std::os::raw::c_long;
230pub type __u_quad_t = ::std::os::raw::c_ulong;
231pub type __intmax_t = ::std::os::raw::c_long;
232pub type __uintmax_t = ::std::os::raw::c_ulong;
233pub type __dev_t = ::std::os::raw::c_ulong;
234pub type __uid_t = ::std::os::raw::c_uint;
235pub type __gid_t = ::std::os::raw::c_uint;
236pub type __ino_t = ::std::os::raw::c_ulong;
237pub type __ino64_t = ::std::os::raw::c_ulong;
238pub type __mode_t = ::std::os::raw::c_uint;
239pub type __nlink_t = ::std::os::raw::c_ulong;
240pub type __off_t = ::std::os::raw::c_long;
241pub type __off64_t = ::std::os::raw::c_long;
242pub type __pid_t = ::std::os::raw::c_int;
243#[repr(C)]
244#[derive(Debug, Copy)]
245pub struct __fsid_t {
246    pub __val: [::std::os::raw::c_int; 2usize],
247}
248#[test]
249fn bindgen_test_layout___fsid_t() {
250    assert_eq!(::std::mem::size_of::<__fsid_t>() , 8usize , concat ! (
251               "Size of: " , stringify ! ( __fsid_t ) ));
252    assert_eq! (::std::mem::align_of::<__fsid_t>() , 4usize , concat ! (
253                "Alignment of " , stringify ! ( __fsid_t ) ));
254    assert_eq! (unsafe {
255        & ( * ( 0 as * const __fsid_t ) ) . __val as * const _ as
256            usize } , 0usize , concat ! (
257                "Alignment of field: " , stringify ! ( __fsid_t ) , "::" ,
258                stringify ! ( __val ) ));
259}
260impl Clone for __fsid_t {
261    fn clone(&self) -> Self { *self }
262}
263pub type __clock_t = ::std::os::raw::c_long;
264pub type __rlim_t = ::std::os::raw::c_ulong;
265pub type __rlim64_t = ::std::os::raw::c_ulong;
266pub type __id_t = ::std::os::raw::c_uint;
267pub type __time_t = ::std::os::raw::c_long;
268pub type __useconds_t = ::std::os::raw::c_uint;
269pub type __suseconds_t = ::std::os::raw::c_long;
270pub type __daddr_t = ::std::os::raw::c_int;
271pub type __key_t = ::std::os::raw::c_int;
272pub type __clockid_t = ::std::os::raw::c_int;
273pub type __timer_t = *mut ::std::os::raw::c_void;
274pub type __blksize_t = ::std::os::raw::c_long;
275pub type __blkcnt_t = ::std::os::raw::c_long;
276pub type __blkcnt64_t = ::std::os::raw::c_long;
277pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
278pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
279pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
280pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
281pub type __fsword_t = ::std::os::raw::c_long;
282pub type __ssize_t = ::std::os::raw::c_long;
283pub type __syscall_slong_t = ::std::os::raw::c_long;
284pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
285pub type __loff_t = __off64_t;
286pub type __qaddr_t = *mut __quad_t;
287pub type __caddr_t = *mut ::std::os::raw::c_char;
288pub type __intptr_t = ::std::os::raw::c_long;
289pub type __socklen_t = ::std::os::raw::c_uint;
290pub type int_least8_t = ::std::os::raw::c_schar;
291pub type int_least16_t = ::std::os::raw::c_short;
292pub type int_least32_t = ::std::os::raw::c_int;
293pub type int_least64_t = ::std::os::raw::c_long;
294pub type uint_least8_t = ::std::os::raw::c_uchar;
295pub type uint_least16_t = ::std::os::raw::c_ushort;
296pub type uint_least32_t = ::std::os::raw::c_uint;
297pub type uint_least64_t = ::std::os::raw::c_ulong;
298pub type int_fast8_t = ::std::os::raw::c_schar;
299pub type int_fast16_t = ::std::os::raw::c_long;
300pub type int_fast32_t = ::std::os::raw::c_long;
301pub type int_fast64_t = ::std::os::raw::c_long;
302pub type uint_fast8_t = ::std::os::raw::c_uchar;
303pub type uint_fast16_t = ::std::os::raw::c_ulong;
304pub type uint_fast32_t = ::std::os::raw::c_ulong;
305pub type uint_fast64_t = ::std::os::raw::c_ulong;
306pub type intmax_t = __intmax_t;
307pub type uintmax_t = __uintmax_t;
308extern "C" {
309    pub fn memcpy(__dest: *mut ::std::os::raw::c_void,
310                  __src: *const ::std::os::raw::c_void, __n: usize)
311                  -> *mut ::std::os::raw::c_void;
312}
313extern "C" {
314    pub fn memmove(__dest: *mut ::std::os::raw::c_void,
315                   __src: *const ::std::os::raw::c_void, __n: usize)
316                   -> *mut ::std::os::raw::c_void;
317}
318extern "C" {
319    pub fn memccpy(__dest: *mut ::std::os::raw::c_void,
320                   __src: *const ::std::os::raw::c_void,
321                   __c: ::std::os::raw::c_int, __n: usize)
322                   -> *mut ::std::os::raw::c_void;
323}
324extern "C" {
325    pub fn memset(__s: *mut ::std::os::raw::c_void,
326                  __c: ::std::os::raw::c_int, __n: usize)
327                  -> *mut ::std::os::raw::c_void;
328}
329extern "C" {
330    pub fn memcmp(__s1: *const ::std::os::raw::c_void,
331                  __s2: *const ::std::os::raw::c_void, __n: usize)
332                  -> ::std::os::raw::c_int;
333}
334extern "C" {
335    pub fn memchr(__s: *const ::std::os::raw::c_void,
336                  __c: ::std::os::raw::c_int, __n: usize)
337                  -> *mut ::std::os::raw::c_void;
338}
339extern "C" {
340    pub fn strcpy(__dest: *mut ::std::os::raw::c_char,
341                  __src: *const ::std::os::raw::c_char)
342                  -> *mut ::std::os::raw::c_char;
343}
344extern "C" {
345    pub fn strncpy(__dest: *mut ::std::os::raw::c_char,
346                   __src: *const ::std::os::raw::c_char, __n: usize)
347                   -> *mut ::std::os::raw::c_char;
348}
349extern "C" {
350    pub fn strcat(__dest: *mut ::std::os::raw::c_char,
351                  __src: *const ::std::os::raw::c_char)
352                  -> *mut ::std::os::raw::c_char;
353}
354extern "C" {
355    pub fn strncat(__dest: *mut ::std::os::raw::c_char,
356                   __src: *const ::std::os::raw::c_char, __n: usize)
357                   -> *mut ::std::os::raw::c_char;
358}
359extern "C" {
360    pub fn strcmp(__s1: *const ::std::os::raw::c_char,
361                  __s2: *const ::std::os::raw::c_char)
362                  -> ::std::os::raw::c_int;
363}
364extern "C" {
365    pub fn strncmp(__s1: *const ::std::os::raw::c_char,
366                   __s2: *const ::std::os::raw::c_char, __n: usize)
367                   -> ::std::os::raw::c_int;
368}
369extern "C" {
370    pub fn strcoll(__s1: *const ::std::os::raw::c_char,
371                   __s2: *const ::std::os::raw::c_char)
372                   -> ::std::os::raw::c_int;
373}
374extern "C" {
375    pub fn strxfrm(__dest: *mut ::std::os::raw::c_char,
376                   __src: *const ::std::os::raw::c_char, __n: usize)
377                   -> ::std::os::raw::c_ulong;
378}
379#[repr(C)]
380#[derive(Debug, Copy)]
381pub struct __locale_struct {
382    pub __locales: [*mut __locale_data; 13usize],
383    pub __ctype_b: *const ::std::os::raw::c_ushort,
384    pub __ctype_tolower: *const ::std::os::raw::c_int,
385    pub __ctype_toupper: *const ::std::os::raw::c_int,
386    pub __names: [*const ::std::os::raw::c_char; 13usize],
387}
388#[test]
389fn bindgen_test_layout___locale_struct() {
390    assert_eq!(::std::mem::size_of::<__locale_struct>() , 232usize , concat !
391    ( "Size of: " , stringify ! ( __locale_struct ) ));
392    assert_eq! (::std::mem::align_of::<__locale_struct>() , 8usize , concat !
393    ( "Alignment of " , stringify ! ( __locale_struct ) ));
394    assert_eq! (unsafe {
395        & ( * ( 0 as * const __locale_struct ) ) . __locales as *
396        const _ as usize } , 0usize , concat ! (
397                "Alignment of field: " , stringify ! ( __locale_struct ) ,
398                "::" , stringify ! ( __locales ) ));
399    assert_eq! (unsafe {
400        & ( * ( 0 as * const __locale_struct ) ) . __ctype_b as *
401        const _ as usize } , 104usize , concat ! (
402                "Alignment of field: " , stringify ! ( __locale_struct ) ,
403                "::" , stringify ! ( __ctype_b ) ));
404    assert_eq! (unsafe {
405        & ( * ( 0 as * const __locale_struct ) ) . __ctype_tolower as
406            * const _ as usize } , 112usize , concat ! (
407                "Alignment of field: " , stringify ! ( __locale_struct ) ,
408                "::" , stringify ! ( __ctype_tolower ) ));
409    assert_eq! (unsafe {
410        & ( * ( 0 as * const __locale_struct ) ) . __ctype_toupper as
411            * const _ as usize } , 120usize , concat ! (
412                "Alignment of field: " , stringify ! ( __locale_struct ) ,
413                "::" , stringify ! ( __ctype_toupper ) ));
414    assert_eq! (unsafe {
415        & ( * ( 0 as * const __locale_struct ) ) . __names as * const
416        _ as usize } , 128usize , concat ! (
417                "Alignment of field: " , stringify ! ( __locale_struct ) ,
418                "::" , stringify ! ( __names ) ));
419}
420impl Clone for __locale_struct {
421    fn clone(&self) -> Self { *self }
422}
423pub type __locale_t = *mut __locale_struct;
424pub type locale_t = __locale_t;
425extern "C" {
426    pub fn strcoll_l(__s1: *const ::std::os::raw::c_char,
427                     __s2: *const ::std::os::raw::c_char, __l: __locale_t)
428                     -> ::std::os::raw::c_int;
429}
430extern "C" {
431    pub fn strxfrm_l(__dest: *mut ::std::os::raw::c_char,
432                     __src: *const ::std::os::raw::c_char, __n: usize,
433                     __l: __locale_t) -> usize;
434}
435extern "C" {
436    pub fn strdup(__s: *const ::std::os::raw::c_char)
437                  -> *mut ::std::os::raw::c_char;
438}
439extern "C" {
440    pub fn strndup(__string: *const ::std::os::raw::c_char, __n: usize)
441                   -> *mut ::std::os::raw::c_char;
442}
443extern "C" {
444    pub fn strchr(__s: *const ::std::os::raw::c_char,
445                  __c: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
446}
447extern "C" {
448    pub fn strrchr(__s: *const ::std::os::raw::c_char,
449                   __c: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
450}
451extern "C" {
452    pub fn strcspn(__s: *const ::std::os::raw::c_char,
453                   __reject: *const ::std::os::raw::c_char)
454                   -> ::std::os::raw::c_ulong;
455}
456extern "C" {
457    pub fn strspn(__s: *const ::std::os::raw::c_char,
458                  __accept: *const ::std::os::raw::c_char)
459                  -> ::std::os::raw::c_ulong;
460}
461extern "C" {
462    pub fn strpbrk(__s: *const ::std::os::raw::c_char,
463                   __accept: *const ::std::os::raw::c_char)
464                   -> *mut ::std::os::raw::c_char;
465}
466extern "C" {
467    pub fn strstr(__haystack: *const ::std::os::raw::c_char,
468                  __needle: *const ::std::os::raw::c_char)
469                  -> *mut ::std::os::raw::c_char;
470}
471extern "C" {
472    pub fn strtok(__s: *mut ::std::os::raw::c_char,
473                  __delim: *const ::std::os::raw::c_char)
474                  -> *mut ::std::os::raw::c_char;
475}
476extern "C" {
477    pub fn __strtok_r(__s: *mut ::std::os::raw::c_char,
478                      __delim: *const ::std::os::raw::c_char,
479                      __save_ptr: *mut *mut ::std::os::raw::c_char)
480                      -> *mut ::std::os::raw::c_char;
481}
482extern "C" {
483    pub fn strtok_r(__s: *mut ::std::os::raw::c_char,
484                    __delim: *const ::std::os::raw::c_char,
485                    __save_ptr: *mut *mut ::std::os::raw::c_char)
486                    -> *mut ::std::os::raw::c_char;
487}
488extern "C" {
489    pub fn strlen(__s: *const ::std::os::raw::c_char)
490                  -> ::std::os::raw::c_ulong;
491}
492extern "C" {
493    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize)
494                   -> usize;
495}
496extern "C" {
497    pub fn strerror(__errnum: ::std::os::raw::c_int)
498                    -> *mut ::std::os::raw::c_char;
499}
500extern "C" {
501    #[link_name = "__xpg_strerror_r"]
502    pub fn strerror_r(__errnum: ::std::os::raw::c_int,
503                      __buf: *mut ::std::os::raw::c_char, __buflen: usize)
504                      -> ::std::os::raw::c_int;
505}
506extern "C" {
507    pub fn strerror_l(__errnum: ::std::os::raw::c_int, __l: __locale_t)
508                      -> *mut ::std::os::raw::c_char;
509}
510extern "C" {
511    pub fn __bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
512}
513extern "C" {
514    pub fn bcopy(__src: *const ::std::os::raw::c_void,
515                 __dest: *mut ::std::os::raw::c_void, __n: usize);
516}
517extern "C" {
518    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
519}
520extern "C" {
521    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
522}
523extern "C" {
524    pub fn bcmp(__s1: *const ::std::os::raw::c_void,
525                __s2: *const ::std::os::raw::c_void, __n: usize)
526                -> ::std::os::raw::c_int;
527}
528extern "C" {
529    pub fn index(__s: *const ::std::os::raw::c_char,
530                 __c: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
531}
532extern "C" {
533    pub fn rindex(__s: *const ::std::os::raw::c_char,
534                  __c: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
535}
536extern "C" {
537    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
538}
539extern "C" {
540    pub fn strcasecmp(__s1: *const ::std::os::raw::c_char,
541                      __s2: *const ::std::os::raw::c_char)
542                      -> ::std::os::raw::c_int;
543}
544extern "C" {
545    pub fn strncasecmp(__s1: *const ::std::os::raw::c_char,
546                       __s2: *const ::std::os::raw::c_char, __n: usize)
547                       -> ::std::os::raw::c_int;
548}
549extern "C" {
550    pub fn strsep(__stringp: *mut *mut ::std::os::raw::c_char,
551                  __delim: *const ::std::os::raw::c_char)
552                  -> *mut ::std::os::raw::c_char;
553}
554extern "C" {
555    pub fn strsignal(__sig: ::std::os::raw::c_int)
556                     -> *mut ::std::os::raw::c_char;
557}
558extern "C" {
559    pub fn __stpcpy(__dest: *mut ::std::os::raw::c_char,
560                    __src: *const ::std::os::raw::c_char)
561                    -> *mut ::std::os::raw::c_char;
562}
563extern "C" {
564    pub fn stpcpy(__dest: *mut ::std::os::raw::c_char,
565                  __src: *const ::std::os::raw::c_char)
566                  -> *mut ::std::os::raw::c_char;
567}
568extern "C" {
569    pub fn __stpncpy(__dest: *mut ::std::os::raw::c_char,
570                     __src: *const ::std::os::raw::c_char, __n: usize)
571                     -> *mut ::std::os::raw::c_char;
572}
573extern "C" {
574    pub fn stpncpy(__dest: *mut ::std::os::raw::c_char,
575                   __src: *const ::std::os::raw::c_char, __n: usize)
576                   -> *mut ::std::os::raw::c_char;
577}
578pub type wchar_t = ::std::os::raw::c_int;
579#[repr(C)]
580#[derive(Debug, Copy)]
581pub struct max_align_t {
582    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
583    pub __bindgen_padding_0: u64,
584    pub __clang_max_align_nonce2: f64,
585}
586#[test]
587fn bindgen_test_layout_max_align_t() {
588    assert_eq!(::std::mem::size_of::<max_align_t>() , 32usize , concat ! (
589               "Size of: " , stringify ! ( max_align_t ) ));
590    assert_eq! (unsafe {
591        & ( * ( 0 as * const max_align_t ) ) .
592            __clang_max_align_nonce1 as * const _ as usize } , 0usize ,
593    concat ! (
594                "Alignment of field: " , stringify ! ( max_align_t ) , "::" ,
595                stringify ! ( __clang_max_align_nonce1 ) ));
596    assert_eq! (unsafe {
597        & ( * ( 0 as * const max_align_t ) ) .
598            __clang_max_align_nonce2 as * const _ as usize } , 16usize ,
599    concat ! (
600                "Alignment of field: " , stringify ! ( max_align_t ) , "::" ,
601                stringify ! ( __clang_max_align_nonce2 ) ));
602}
603impl Clone for max_align_t {
604    fn clone(&self) -> Self { *self }
605}
606/// Type of a seedhash/blockhash e.t.c.
607#[repr(C)]
608#[derive(Debug, Copy)]
609pub struct ethash_h256 {
610    pub b: [u8; 32usize],
611}
612#[test]
613fn bindgen_test_layout_ethash_h256() {
614    assert_eq!(::std::mem::size_of::<ethash_h256>() , 32usize , concat ! (
615               "Size of: " , stringify ! ( ethash_h256 ) ));
616    assert_eq! (::std::mem::align_of::<ethash_h256>() , 1usize , concat ! (
617                "Alignment of " , stringify ! ( ethash_h256 ) ));
618    assert_eq! (unsafe {
619        & ( * ( 0 as * const ethash_h256 ) ) . b as * const _ as usize
620    } , 0usize , concat ! (
621                "Alignment of field: " , stringify ! ( ethash_h256 ) , "::" ,
622                stringify ! ( b ) ));
623}
624impl Clone for ethash_h256 {
625    fn clone(&self) -> Self { *self }
626}
627pub type ethash_h256_t = ethash_h256;
628#[repr(C)]
629#[derive(Debug, Copy)]
630pub struct ethash_light {
631    pub cache: *mut ::std::os::raw::c_void,
632    pub cache_size: u64,
633    pub block_number: u64,
634}
635#[test]
636fn bindgen_test_layout_ethash_light() {
637    assert_eq!(::std::mem::size_of::<ethash_light>() , 24usize , concat ! (
638               "Size of: " , stringify ! ( ethash_light ) ));
639    assert_eq! (::std::mem::align_of::<ethash_light>() , 8usize , concat ! (
640                "Alignment of " , stringify ! ( ethash_light ) ));
641    assert_eq! (unsafe {
642        & ( * ( 0 as * const ethash_light ) ) . cache as * const _ as
643            usize } , 0usize , concat ! (
644                "Alignment of field: " , stringify ! ( ethash_light ) , "::" ,
645                stringify ! ( cache ) ));
646    assert_eq! (unsafe {
647        & ( * ( 0 as * const ethash_light ) ) . cache_size as * const
648        _ as usize } , 8usize , concat ! (
649                "Alignment of field: " , stringify ! ( ethash_light ) , "::" ,
650                stringify ! ( cache_size ) ));
651    assert_eq! (unsafe {
652        & ( * ( 0 as * const ethash_light ) ) . block_number as *
653        const _ as usize } , 16usize , concat ! (
654                "Alignment of field: " , stringify ! ( ethash_light ) , "::" ,
655                stringify ! ( block_number ) ));
656}
657impl Clone for ethash_light {
658    fn clone(&self) -> Self { *self }
659}
660pub type ethash_light_t = *mut ethash_light;
661#[repr(C)]
662#[derive(Debug, Copy)]
663pub struct ethash_return_value {
664    pub result: ethash_h256_t,
665    pub mix_hash: ethash_h256_t,
666    pub success: bool,
667}
668#[test]
669fn bindgen_test_layout_ethash_return_value() {
670    assert_eq!(::std::mem::size_of::<ethash_return_value>() , 65usize , concat
671    ! ( "Size of: " , stringify ! ( ethash_return_value ) ));
672    assert_eq! (::std::mem::align_of::<ethash_return_value>() , 1usize ,
673    concat ! (
674                "Alignment of " , stringify ! ( ethash_return_value ) ));
675    assert_eq! (unsafe {
676        & ( * ( 0 as * const ethash_return_value ) ) . result as *
677        const _ as usize } , 0usize , concat ! (
678                "Alignment of field: " , stringify ! ( ethash_return_value ) ,
679                "::" , stringify ! ( result ) ));
680    assert_eq! (unsafe {
681        & ( * ( 0 as * const ethash_return_value ) ) . mix_hash as *
682        const _ as usize } , 32usize , concat ! (
683                "Alignment of field: " , stringify ! ( ethash_return_value ) ,
684                "::" , stringify ! ( mix_hash ) ));
685    assert_eq! (unsafe {
686        & ( * ( 0 as * const ethash_return_value ) ) . success as *
687        const _ as usize } , 64usize , concat ! (
688                "Alignment of field: " , stringify ! ( ethash_return_value ) ,
689                "::" , stringify ! ( success ) ));
690}
691impl Clone for ethash_return_value {
692    fn clone(&self) -> Self { *self }
693}
694pub type ethash_return_value_t = ethash_return_value;
695extern "C" {
696    /**
697 * Allocate and initialize a new ethash_light handler
698 *
699 * @param block_number   The block number for which to create the handler
700 * @return               Newly allocated ethash_light handler or NULL in case of
701 *                       ERRNOMEM or invalid parameters used for @ref ethash_compute_cache_nodes()
702 */
703    pub fn ethash_light_new(block_number: u64) -> ethash_light_t;
704}
705extern "C" {
706    /**
707 * Frees a previously allocated ethash_light handler
708 * @param light        The light handler to free
709 */
710    pub fn ethash_light_delete(light: ethash_light_t);
711}
712extern "C" {
713    /**
714 * Calculate the light client data
715 *
716 * @param light          The light client handler
717 * @param header_hash    The header hash to pack into the mix
718 * @param nonce          The nonce to pack into the mix
719 * @return               an object of ethash_return_value_t holding the return values
720 */
721    pub fn ethash_light_compute(light: ethash_light_t,
722                                header_hash: ethash_h256_t, nonce: u64)
723                                -> ethash_return_value_t;
724}
725extern "C" {
726    /**
727 * Calculate the seedhash for a given block number
728 */
729    pub fn ethash_get_seedhash(block_number: u64) -> ethash_h256_t;
730}
731#[repr(C)]
732#[derive(Debug, Copy)]
733pub struct _IO_FILE {
734    pub _flags: ::std::os::raw::c_int,
735    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
736    pub _IO_read_end: *mut ::std::os::raw::c_char,
737    pub _IO_read_base: *mut ::std::os::raw::c_char,
738    pub _IO_write_base: *mut ::std::os::raw::c_char,
739    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
740    pub _IO_write_end: *mut ::std::os::raw::c_char,
741    pub _IO_buf_base: *mut ::std::os::raw::c_char,
742    pub _IO_buf_end: *mut ::std::os::raw::c_char,
743    pub _IO_save_base: *mut ::std::os::raw::c_char,
744    pub _IO_backup_base: *mut ::std::os::raw::c_char,
745    pub _IO_save_end: *mut ::std::os::raw::c_char,
746    pub _markers: *mut _IO_marker,
747    pub _chain: *mut _IO_FILE,
748    pub _fileno: ::std::os::raw::c_int,
749    pub _flags2: ::std::os::raw::c_int,
750    pub _old_offset: __off_t,
751    pub _cur_column: ::std::os::raw::c_ushort,
752    pub _vtable_offset: ::std::os::raw::c_schar,
753    pub _shortbuf: [::std::os::raw::c_char; 1usize],
754    pub _lock: *mut _IO_lock_t,
755    pub _offset: __off64_t,
756    pub __pad1: *mut ::std::os::raw::c_void,
757    pub __pad2: *mut ::std::os::raw::c_void,
758    pub __pad3: *mut ::std::os::raw::c_void,
759    pub __pad4: *mut ::std::os::raw::c_void,
760    pub __pad5: usize,
761    pub _mode: ::std::os::raw::c_int,
762    pub _unused2: [::std::os::raw::c_char; 20usize],
763}
764#[test]
765fn bindgen_test_layout__IO_FILE() {
766    assert_eq!(::std::mem::size_of::<_IO_FILE>() , 216usize , concat ! (
767               "Size of: " , stringify ! ( _IO_FILE ) ));
768    assert_eq! (::std::mem::align_of::<_IO_FILE>() , 8usize , concat ! (
769                "Alignment of " , stringify ! ( _IO_FILE ) ));
770    assert_eq! (unsafe {
771        & ( * ( 0 as * const _IO_FILE ) ) . _flags as * const _ as
772            usize } , 0usize , concat ! (
773                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
774                stringify ! ( _flags ) ));
775    assert_eq! (unsafe {
776        & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_ptr as * const _
777            as usize } , 8usize , concat ! (
778                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
779                stringify ! ( _IO_read_ptr ) ));
780    assert_eq! (unsafe {
781        & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_end as * const _
782            as usize } , 16usize , concat ! (
783                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
784                stringify ! ( _IO_read_end ) ));
785    assert_eq! (unsafe {
786        & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_base as * const _
787            as usize } , 24usize , concat ! (
788                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
789                stringify ! ( _IO_read_base ) ));
790    assert_eq! (unsafe {
791        & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_base as * const
792        _ as usize } , 32usize , concat ! (
793                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
794                stringify ! ( _IO_write_base ) ));
795    assert_eq! (unsafe {
796        & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_ptr as * const _
797            as usize } , 40usize , concat ! (
798                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
799                stringify ! ( _IO_write_ptr ) ));
800    assert_eq! (unsafe {
801        & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_end as * const _
802            as usize } , 48usize , concat ! (
803                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
804                stringify ! ( _IO_write_end ) ));
805    assert_eq! (unsafe {
806        & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_base as * const _
807            as usize } , 56usize , concat ! (
808                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
809                stringify ! ( _IO_buf_base ) ));
810    assert_eq! (unsafe {
811        & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_end as * const _
812            as usize } , 64usize , concat ! (
813                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
814                stringify ! ( _IO_buf_end ) ));
815    assert_eq! (unsafe {
816        & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_base as * const _
817            as usize } , 72usize , concat ! (
818                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
819                stringify ! ( _IO_save_base ) ));
820    assert_eq! (unsafe {
821        & ( * ( 0 as * const _IO_FILE ) ) . _IO_backup_base as * const
822        _ as usize } , 80usize , concat ! (
823                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
824                stringify ! ( _IO_backup_base ) ));
825    assert_eq! (unsafe {
826        & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_end as * const _
827            as usize } , 88usize , concat ! (
828                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
829                stringify ! ( _IO_save_end ) ));
830    assert_eq! (unsafe {
831        & ( * ( 0 as * const _IO_FILE ) ) . _markers as * const _ as
832            usize } , 96usize , concat ! (
833                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
834                stringify ! ( _markers ) ));
835    assert_eq! (unsafe {
836        & ( * ( 0 as * const _IO_FILE ) ) . _chain as * const _ as
837            usize } , 104usize , concat ! (
838                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
839                stringify ! ( _chain ) ));
840    assert_eq! (unsafe {
841        & ( * ( 0 as * const _IO_FILE ) ) . _fileno as * const _ as
842            usize } , 112usize , concat ! (
843                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
844                stringify ! ( _fileno ) ));
845    assert_eq! (unsafe {
846        & ( * ( 0 as * const _IO_FILE ) ) . _flags2 as * const _ as
847            usize } , 116usize , concat ! (
848                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
849                stringify ! ( _flags2 ) ));
850    assert_eq! (unsafe {
851        & ( * ( 0 as * const _IO_FILE ) ) . _old_offset as * const _
852            as usize } , 120usize , concat ! (
853                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
854                stringify ! ( _old_offset ) ));
855    assert_eq! (unsafe {
856        & ( * ( 0 as * const _IO_FILE ) ) . _cur_column as * const _
857            as usize } , 128usize , concat ! (
858                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
859                stringify ! ( _cur_column ) ));
860    assert_eq! (unsafe {
861        & ( * ( 0 as * const _IO_FILE ) ) . _vtable_offset as * const
862        _ as usize } , 130usize , concat ! (
863                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
864                stringify ! ( _vtable_offset ) ));
865    assert_eq! (unsafe {
866        & ( * ( 0 as * const _IO_FILE ) ) . _shortbuf as * const _ as
867            usize } , 131usize , concat ! (
868                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
869                stringify ! ( _shortbuf ) ));
870    assert_eq! (unsafe {
871        & ( * ( 0 as * const _IO_FILE ) ) . _lock as * const _ as
872            usize } , 136usize , concat ! (
873                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
874                stringify ! ( _lock ) ));
875    assert_eq! (unsafe {
876        & ( * ( 0 as * const _IO_FILE ) ) . _offset as * const _ as
877            usize } , 144usize , concat ! (
878                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
879                stringify ! ( _offset ) ));
880    assert_eq! (unsafe {
881        & ( * ( 0 as * const _IO_FILE ) ) . __pad1 as * const _ as
882            usize } , 152usize , concat ! (
883                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
884                stringify ! ( __pad1 ) ));
885    assert_eq! (unsafe {
886        & ( * ( 0 as * const _IO_FILE ) ) . __pad2 as * const _ as
887            usize } , 160usize , concat ! (
888                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
889                stringify ! ( __pad2 ) ));
890    assert_eq! (unsafe {
891        & ( * ( 0 as * const _IO_FILE ) ) . __pad3 as * const _ as
892            usize } , 168usize , concat ! (
893                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
894                stringify ! ( __pad3 ) ));
895    assert_eq! (unsafe {
896        & ( * ( 0 as * const _IO_FILE ) ) . __pad4 as * const _ as
897            usize } , 176usize , concat ! (
898                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
899                stringify ! ( __pad4 ) ));
900    assert_eq! (unsafe {
901        & ( * ( 0 as * const _IO_FILE ) ) . __pad5 as * const _ as
902            usize } , 184usize , concat ! (
903                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
904                stringify ! ( __pad5 ) ));
905    assert_eq! (unsafe {
906        & ( * ( 0 as * const _IO_FILE ) ) . _mode as * const _ as
907            usize } , 192usize , concat ! (
908                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
909                stringify ! ( _mode ) ));
910    assert_eq! (unsafe {
911        & ( * ( 0 as * const _IO_FILE ) ) . _unused2 as * const _ as
912            usize } , 196usize , concat ! (
913                "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" ,
914                stringify ! ( _unused2 ) ));
915}
916impl Clone for _IO_FILE {
917    fn clone(&self) -> Self { *self }
918}
919pub type FILE = _IO_FILE;
920pub type __FILE = _IO_FILE;
921#[repr(C)]
922#[derive(Debug, Copy)]
923pub struct __mbstate_t {
924    pub __count: ::std::os::raw::c_int,
925    pub __value: __mbstate_t__bindgen_ty_1,
926}
927#[repr(C)]
928#[derive(Debug, Copy)]
929pub struct __mbstate_t__bindgen_ty_1 {
930    pub __wch: __BindgenUnionField<::std::os::raw::c_uint>,
931    pub __wchb: __BindgenUnionField<[::std::os::raw::c_char; 4usize]>,
932    pub bindgen_union_field: u32,
933}
934#[test]
935fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
936    assert_eq!(::std::mem::size_of::<__mbstate_t__bindgen_ty_1>() , 4usize ,
937    concat ! (
938               "Size of: " , stringify ! ( __mbstate_t__bindgen_ty_1 ) ));
939    assert_eq! (::std::mem::align_of::<__mbstate_t__bindgen_ty_1>() , 4usize ,
940    concat ! (
941                "Alignment of " , stringify ! ( __mbstate_t__bindgen_ty_1 )
942                ));
943    assert_eq! (unsafe {
944        & ( * ( 0 as * const __mbstate_t__bindgen_ty_1 ) ) . __wch as
945            * const _ as usize } , 0usize , concat ! (
946                "Alignment of field: " , stringify ! (
947                __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wch ) ));
948    assert_eq! (unsafe {
949        & ( * ( 0 as * const __mbstate_t__bindgen_ty_1 ) ) . __wchb as
950            * const _ as usize } , 0usize , concat ! (
951                "Alignment of field: " , stringify ! (
952                __mbstate_t__bindgen_ty_1 ) , "::" , stringify ! ( __wchb )
953                ));
954}
955impl Clone for __mbstate_t__bindgen_ty_1 {
956    fn clone(&self) -> Self { *self }
957}
958#[test]
959fn bindgen_test_layout___mbstate_t() {
960    assert_eq!(::std::mem::size_of::<__mbstate_t>() , 8usize , concat ! (
961               "Size of: " , stringify ! ( __mbstate_t ) ));
962    assert_eq! (::std::mem::align_of::<__mbstate_t>() , 4usize , concat ! (
963                "Alignment of " , stringify ! ( __mbstate_t ) ));
964    assert_eq! (unsafe {
965        & ( * ( 0 as * const __mbstate_t ) ) . __count as * const _ as
966            usize } , 0usize , concat ! (
967                "Alignment of field: " , stringify ! ( __mbstate_t ) , "::" ,
968                stringify ! ( __count ) ));
969    assert_eq! (unsafe {
970        & ( * ( 0 as * const __mbstate_t ) ) . __value as * const _ as
971            usize } , 4usize , concat ! (
972                "Alignment of field: " , stringify ! ( __mbstate_t ) , "::" ,
973                stringify ! ( __value ) ));
974}
975impl Clone for __mbstate_t {
976    fn clone(&self) -> Self { *self }
977}
978#[repr(C)]
979#[derive(Debug, Copy)]
980pub struct _G_fpos_t {
981    pub __pos: __off_t,
982    pub __state: __mbstate_t,
983}
984#[test]
985fn bindgen_test_layout__G_fpos_t() {
986    assert_eq!(::std::mem::size_of::<_G_fpos_t>() , 16usize , concat ! (
987               "Size of: " , stringify ! ( _G_fpos_t ) ));
988    assert_eq! (::std::mem::align_of::<_G_fpos_t>() , 8usize , concat ! (
989                "Alignment of " , stringify ! ( _G_fpos_t ) ));
990    assert_eq! (unsafe {
991        & ( * ( 0 as * const _G_fpos_t ) ) . __pos as * const _ as
992            usize } , 0usize , concat ! (
993                "Alignment of field: " , stringify ! ( _G_fpos_t ) , "::" ,
994                stringify ! ( __pos ) ));
995    assert_eq! (unsafe {
996        & ( * ( 0 as * const _G_fpos_t ) ) . __state as * const _ as
997            usize } , 8usize , concat ! (
998                "Alignment of field: " , stringify ! ( _G_fpos_t ) , "::" ,
999                stringify ! ( __state ) ));
1000}
1001impl Clone for _G_fpos_t {
1002    fn clone(&self) -> Self { *self }
1003}
1004#[repr(C)]
1005#[derive(Debug, Copy)]
1006pub struct _G_fpos64_t {
1007    pub __pos: __off64_t,
1008    pub __state: __mbstate_t,
1009}
1010#[test]
1011fn bindgen_test_layout__G_fpos64_t() {
1012    assert_eq!(::std::mem::size_of::<_G_fpos64_t>() , 16usize , concat ! (
1013               "Size of: " , stringify ! ( _G_fpos64_t ) ));
1014    assert_eq! (::std::mem::align_of::<_G_fpos64_t>() , 8usize , concat ! (
1015                "Alignment of " , stringify ! ( _G_fpos64_t ) ));
1016    assert_eq! (unsafe {
1017        & ( * ( 0 as * const _G_fpos64_t ) ) . __pos as * const _ as
1018            usize } , 0usize , concat ! (
1019                "Alignment of field: " , stringify ! ( _G_fpos64_t ) , "::" ,
1020                stringify ! ( __pos ) ));
1021    assert_eq! (unsafe {
1022        & ( * ( 0 as * const _G_fpos64_t ) ) . __state as * const _ as
1023            usize } , 8usize , concat ! (
1024                "Alignment of field: " , stringify ! ( _G_fpos64_t ) , "::" ,
1025                stringify ! ( __state ) ));
1026}
1027impl Clone for _G_fpos64_t {
1028    fn clone(&self) -> Self { *self }
1029}
1030pub type va_list = __builtin_va_list;
1031pub type __gnuc_va_list = __builtin_va_list;
1032#[repr(C)]
1033#[derive(Debug, Copy, Clone)]
1034pub struct _IO_jump_t {
1035    _unused: [u8; 0],
1036}
1037pub type _IO_lock_t = ::std::os::raw::c_void;
1038#[repr(C)]
1039#[derive(Debug, Copy)]
1040pub struct _IO_marker {
1041    pub _next: *mut _IO_marker,
1042    pub _sbuf: *mut _IO_FILE,
1043    pub _pos: ::std::os::raw::c_int,
1044}
1045#[test]
1046fn bindgen_test_layout__IO_marker() {
1047    assert_eq!(::std::mem::size_of::<_IO_marker>() , 24usize , concat ! (
1048               "Size of: " , stringify ! ( _IO_marker ) ));
1049    assert_eq! (::std::mem::align_of::<_IO_marker>() , 8usize , concat ! (
1050                "Alignment of " , stringify ! ( _IO_marker ) ));
1051    assert_eq! (unsafe {
1052        & ( * ( 0 as * const _IO_marker ) ) . _next as * const _ as
1053            usize } , 0usize , concat ! (
1054                "Alignment of field: " , stringify ! ( _IO_marker ) , "::" ,
1055                stringify ! ( _next ) ));
1056    assert_eq! (unsafe {
1057        & ( * ( 0 as * const _IO_marker ) ) . _sbuf as * const _ as
1058            usize } , 8usize , concat ! (
1059                "Alignment of field: " , stringify ! ( _IO_marker ) , "::" ,
1060                stringify ! ( _sbuf ) ));
1061    assert_eq! (unsafe {
1062        & ( * ( 0 as * const _IO_marker ) ) . _pos as * const _ as
1063            usize } , 16usize , concat ! (
1064                "Alignment of field: " , stringify ! ( _IO_marker ) , "::" ,
1065                stringify ! ( _pos ) ));
1066}
1067impl Clone for _IO_marker {
1068    fn clone(&self) -> Self { *self }
1069}
1070#[repr(u32)]
1071#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1072pub enum __codecvt_result {
1073    __codecvt_ok = 0,
1074    __codecvt_partial = 1,
1075    __codecvt_error = 2,
1076    __codecvt_noconv = 3,
1077}
1078#[repr(C)]
1079#[derive(Debug, Copy, Clone)]
1080pub struct _IO_FILE_plus {
1081    _unused: [u8; 0],
1082}
1083extern "C" {
1084    #[link_name = "_IO_2_1_stdin_"]
1085    pub static mut _IO_2_1_stdin_: _IO_FILE_plus;
1086}
1087extern "C" {
1088    #[link_name = "_IO_2_1_stdout_"]
1089    pub static mut _IO_2_1_stdout_: _IO_FILE_plus;
1090}
1091extern "C" {
1092    #[link_name = "_IO_2_1_stderr_"]
1093    pub static mut _IO_2_1_stderr_: _IO_FILE_plus;
1094}
1095pub type __io_read_fn =
1096::std::option::Option<unsafe extern "C" fn(__cookie:
1097                                           *mut ::std::os::raw::c_void,
1098                                           __buf:
1099                                           *mut ::std::os::raw::c_char,
1100                                           __nbytes: usize) -> __ssize_t>;
1101pub type __io_write_fn =
1102::std::option::Option<unsafe extern "C" fn(__cookie:
1103                                           *mut ::std::os::raw::c_void,
1104                                           __buf:
1105                                           *const ::std::os::raw::c_char,
1106                                           __n: usize) -> __ssize_t>;
1107pub type __io_seek_fn =
1108::std::option::Option<unsafe extern "C" fn(__cookie:
1109                                           *mut ::std::os::raw::c_void,
1110                                           __pos: *mut __off64_t,
1111                                           __w: ::std::os::raw::c_int)
1112                                           -> ::std::os::raw::c_int>;
1113pub type __io_close_fn =
1114::std::option::Option<unsafe extern "C" fn(__cookie:
1115                                           *mut ::std::os::raw::c_void)
1116                                           -> ::std::os::raw::c_int>;
1117extern "C" {
1118    pub fn __underflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
1119}
1120extern "C" {
1121    pub fn __uflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
1122}
1123extern "C" {
1124    pub fn __overflow(arg1: *mut _IO_FILE, arg2: ::std::os::raw::c_int)
1125                      -> ::std::os::raw::c_int;
1126}
1127extern "C" {
1128    pub fn _IO_getc(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1129}
1130extern "C" {
1131    pub fn _IO_putc(__c: ::std::os::raw::c_int, __fp: *mut _IO_FILE)
1132                    -> ::std::os::raw::c_int;
1133}
1134extern "C" {
1135    pub fn _IO_feof(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1136}
1137extern "C" {
1138    pub fn _IO_ferror(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1139}
1140extern "C" {
1141    pub fn _IO_peekc_locked(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1142}
1143extern "C" {
1144    pub fn _IO_flockfile(arg1: *mut _IO_FILE);
1145}
1146extern "C" {
1147    pub fn _IO_funlockfile(arg1: *mut _IO_FILE);
1148}
1149extern "C" {
1150    pub fn _IO_ftrylockfile(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
1151}
1152extern "C" {
1153    pub fn _IO_vfscanf(arg1: *mut _IO_FILE,
1154                       arg2: *const ::std::os::raw::c_char,
1155                       arg3: *mut __va_list_tag,
1156                       arg4: *mut ::std::os::raw::c_int)
1157                       -> ::std::os::raw::c_int;
1158}
1159extern "C" {
1160    pub fn _IO_vfprintf(arg1: *mut _IO_FILE,
1161                        arg2: *const ::std::os::raw::c_char,
1162                        arg3: *mut __va_list_tag) -> ::std::os::raw::c_int;
1163}
1164extern "C" {
1165    pub fn _IO_padn(arg1: *mut _IO_FILE, arg2: ::std::os::raw::c_int,
1166                    arg3: __ssize_t) -> __ssize_t;
1167}
1168extern "C" {
1169    pub fn _IO_sgetn(arg1: *mut _IO_FILE, arg2: *mut ::std::os::raw::c_void,
1170                     arg3: usize) -> usize;
1171}
1172extern "C" {
1173    pub fn _IO_seekoff(arg1: *mut _IO_FILE, arg2: __off64_t,
1174                       arg3: ::std::os::raw::c_int,
1175                       arg4: ::std::os::raw::c_int) -> __off64_t;
1176}
1177extern "C" {
1178    pub fn _IO_seekpos(arg1: *mut _IO_FILE, arg2: __off64_t,
1179                       arg3: ::std::os::raw::c_int) -> __off64_t;
1180}
1181extern "C" {
1182    pub fn _IO_free_backup_area(arg1: *mut _IO_FILE);
1183}
1184pub type off_t = __off_t;
1185pub type fpos_t = _G_fpos_t;
1186extern "C" {
1187    #[link_name = "stdin"]
1188    pub static mut stdin: *mut _IO_FILE;
1189}
1190extern "C" {
1191    #[link_name = "stdout"]
1192    pub static mut stdout: *mut _IO_FILE;
1193}
1194extern "C" {
1195    #[link_name = "stderr"]
1196    pub static mut stderr: *mut _IO_FILE;
1197}
1198extern "C" {
1199    pub fn remove(__filename: *const ::std::os::raw::c_char)
1200                  -> ::std::os::raw::c_int;
1201}
1202extern "C" {
1203    pub fn rename(__old: *const ::std::os::raw::c_char,
1204                  __new: *const ::std::os::raw::c_char)
1205                  -> ::std::os::raw::c_int;
1206}
1207extern "C" {
1208    pub fn renameat(__oldfd: ::std::os::raw::c_int,
1209                    __old: *const ::std::os::raw::c_char,
1210                    __newfd: ::std::os::raw::c_int,
1211                    __new: *const ::std::os::raw::c_char)
1212                    -> ::std::os::raw::c_int;
1213}
1214extern "C" {
1215    pub fn tmpfile() -> *mut FILE;
1216}
1217extern "C" {
1218    pub fn tmpnam(__s: *mut ::std::os::raw::c_char)
1219                  -> *mut ::std::os::raw::c_char;
1220}
1221extern "C" {
1222    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char)
1223                    -> *mut ::std::os::raw::c_char;
1224}
1225extern "C" {
1226    pub fn tempnam(__dir: *const ::std::os::raw::c_char,
1227                   __pfx: *const ::std::os::raw::c_char)
1228                   -> *mut ::std::os::raw::c_char;
1229}
1230extern "C" {
1231    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1232}
1233extern "C" {
1234    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
1235}
1236extern "C" {
1237    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1238}
1239extern "C" {
1240    pub fn fopen(__filename: *const ::std::os::raw::c_char,
1241                 __modes: *const ::std::os::raw::c_char) -> *mut FILE;
1242}
1243extern "C" {
1244    pub fn freopen(__filename: *const ::std::os::raw::c_char,
1245                   __modes: *const ::std::os::raw::c_char,
1246                   __stream: *mut FILE) -> *mut FILE;
1247}
1248extern "C" {
1249    pub fn fdopen(__fd: ::std::os::raw::c_int,
1250                  __modes: *const ::std::os::raw::c_char) -> *mut FILE;
1251}
1252extern "C" {
1253    pub fn fmemopen(__s: *mut ::std::os::raw::c_void, __len: usize,
1254                    __modes: *const ::std::os::raw::c_char) -> *mut FILE;
1255}
1256extern "C" {
1257    pub fn open_memstream(__bufloc: *mut *mut ::std::os::raw::c_char,
1258                          __sizeloc: *mut usize) -> *mut FILE;
1259}
1260extern "C" {
1261    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
1262}
1263extern "C" {
1264    pub fn setvbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char,
1265                   __modes: ::std::os::raw::c_int, __n: usize)
1266                   -> ::std::os::raw::c_int;
1267}
1268extern "C" {
1269    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char,
1270                     __size: usize);
1271}
1272extern "C" {
1273    pub fn setlinebuf(__stream: *mut FILE);
1274}
1275extern "C" {
1276    pub fn fprintf(__stream: *mut FILE,
1277                   __format: *const ::std::os::raw::c_char, ...)
1278                   -> ::std::os::raw::c_int;
1279}
1280extern "C" {
1281    pub fn printf(__format: *const ::std::os::raw::c_char, ...)
1282                  -> ::std::os::raw::c_int;
1283}
1284extern "C" {
1285    pub fn sprintf(__s: *mut ::std::os::raw::c_char,
1286                   __format: *const ::std::os::raw::c_char, ...)
1287                   -> ::std::os::raw::c_int;
1288}
1289extern "C" {
1290    pub fn vfprintf(__s: *mut FILE, __format: *const ::std::os::raw::c_char,
1291                    __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1292}
1293extern "C" {
1294    pub fn vprintf(__format: *const ::std::os::raw::c_char,
1295                   __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1296}
1297extern "C" {
1298    pub fn vsprintf(__s: *mut ::std::os::raw::c_char,
1299                    __format: *const ::std::os::raw::c_char,
1300                    __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1301}
1302extern "C" {
1303    pub fn snprintf(__s: *mut ::std::os::raw::c_char, __maxlen: usize,
1304                    __format: *const ::std::os::raw::c_char, ...)
1305                    -> ::std::os::raw::c_int;
1306}
1307extern "C" {
1308    pub fn vsnprintf(__s: *mut ::std::os::raw::c_char, __maxlen: usize,
1309                     __format: *const ::std::os::raw::c_char,
1310                     __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1311}
1312extern "C" {
1313    pub fn vdprintf(__fd: ::std::os::raw::c_int,
1314                    __fmt: *const ::std::os::raw::c_char,
1315                    __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1316}
1317extern "C" {
1318    pub fn dprintf(__fd: ::std::os::raw::c_int,
1319                   __fmt: *const ::std::os::raw::c_char, ...)
1320                   -> ::std::os::raw::c_int;
1321}
1322extern "C" {
1323    pub fn fscanf(__stream: *mut FILE,
1324                  __format: *const ::std::os::raw::c_char, ...)
1325                  -> ::std::os::raw::c_int;
1326}
1327extern "C" {
1328    pub fn scanf(__format: *const ::std::os::raw::c_char, ...)
1329                 -> ::std::os::raw::c_int;
1330}
1331extern "C" {
1332    pub fn sscanf(__s: *const ::std::os::raw::c_char,
1333                  __format: *const ::std::os::raw::c_char, ...)
1334                  -> ::std::os::raw::c_int;
1335}
1336extern "C" {
1337    #[link_name = "__isoc99_fscanf"]
1338    pub fn fscanf1(__stream: *mut FILE,
1339                   __format: *const ::std::os::raw::c_char, ...)
1340                   -> ::std::os::raw::c_int;
1341}
1342extern "C" {
1343    #[link_name = "__isoc99_scanf"]
1344    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...)
1345                  -> ::std::os::raw::c_int;
1346}
1347extern "C" {
1348    #[link_name = "__isoc99_sscanf"]
1349    pub fn sscanf1(__s: *const ::std::os::raw::c_char,
1350                   __format: *const ::std::os::raw::c_char, ...)
1351                   -> ::std::os::raw::c_int;
1352}
1353extern "C" {
1354    pub fn vfscanf(__s: *mut FILE, __format: *const ::std::os::raw::c_char,
1355                   __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1356}
1357extern "C" {
1358    pub fn vscanf(__format: *const ::std::os::raw::c_char,
1359                  __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1360}
1361extern "C" {
1362    pub fn vsscanf(__s: *const ::std::os::raw::c_char,
1363                   __format: *const ::std::os::raw::c_char,
1364                   __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1365}
1366extern "C" {
1367    #[link_name = "__isoc99_vfscanf"]
1368    pub fn vfscanf1(__s: *mut FILE, __format: *const ::std::os::raw::c_char,
1369                    __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1370}
1371extern "C" {
1372    #[link_name = "__isoc99_vscanf"]
1373    pub fn vscanf1(__format: *const ::std::os::raw::c_char,
1374                   __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1375}
1376extern "C" {
1377    #[link_name = "__isoc99_vsscanf"]
1378    pub fn vsscanf1(__s: *const ::std::os::raw::c_char,
1379                    __format: *const ::std::os::raw::c_char,
1380                    __arg: *mut __va_list_tag) -> ::std::os::raw::c_int;
1381}
1382extern "C" {
1383    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1384}
1385extern "C" {
1386    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1387}
1388extern "C" {
1389    pub fn getchar() -> ::std::os::raw::c_int;
1390}
1391extern "C" {
1392    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1393}
1394extern "C" {
1395    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
1396}
1397extern "C" {
1398    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1399}
1400extern "C" {
1401    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE)
1402                 -> ::std::os::raw::c_int;
1403}
1404extern "C" {
1405    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE)
1406                -> ::std::os::raw::c_int;
1407}
1408extern "C" {
1409    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1410}
1411extern "C" {
1412    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
1413                          -> ::std::os::raw::c_int;
1414}
1415extern "C" {
1416    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
1417                         -> ::std::os::raw::c_int;
1418}
1419extern "C" {
1420    pub fn putchar_unlocked(__c: ::std::os::raw::c_int)
1421                            -> ::std::os::raw::c_int;
1422}
1423extern "C" {
1424    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
1425}
1426extern "C" {
1427    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE)
1428                -> ::std::os::raw::c_int;
1429}
1430extern "C" {
1431    pub fn fgets(__s: *mut ::std::os::raw::c_char, __n: ::std::os::raw::c_int,
1432                 __stream: *mut FILE) -> *mut ::std::os::raw::c_char;
1433}
1434extern "C" {
1435    pub fn __getdelim(__lineptr: *mut *mut ::std::os::raw::c_char,
1436                      __n: *mut usize, __delimiter: ::std::os::raw::c_int,
1437                      __stream: *mut FILE) -> __ssize_t;
1438}
1439extern "C" {
1440    pub fn getdelim(__lineptr: *mut *mut ::std::os::raw::c_char,
1441                    __n: *mut usize, __delimiter: ::std::os::raw::c_int,
1442                    __stream: *mut FILE) -> __ssize_t;
1443}
1444extern "C" {
1445    pub fn getline(__lineptr: *mut *mut ::std::os::raw::c_char,
1446                   __n: *mut usize, __stream: *mut FILE) -> __ssize_t;
1447}
1448extern "C" {
1449    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE)
1450                 -> ::std::os::raw::c_int;
1451}
1452extern "C" {
1453    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1454}
1455extern "C" {
1456    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE)
1457                  -> ::std::os::raw::c_int;
1458}
1459extern "C" {
1460    pub fn fread(__ptr: *mut ::std::os::raw::c_void, __size: usize,
1461                 __n: usize, __stream: *mut FILE) -> usize;
1462}
1463extern "C" {
1464    pub fn fwrite(__ptr: *const ::std::os::raw::c_void, __size: usize,
1465                  __n: usize, __s: *mut FILE) -> usize;
1466}
1467extern "C" {
1468    pub fn fread_unlocked(__ptr: *mut ::std::os::raw::c_void, __size: usize,
1469                          __n: usize, __stream: *mut FILE) -> usize;
1470}
1471extern "C" {
1472    pub fn fwrite_unlocked(__ptr: *const ::std::os::raw::c_void,
1473                           __size: usize, __n: usize, __stream: *mut FILE)
1474                           -> usize;
1475}
1476extern "C" {
1477    pub fn fseek(__stream: *mut FILE, __off: ::std::os::raw::c_long,
1478                 __whence: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1479}
1480extern "C" {
1481    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
1482}
1483extern "C" {
1484    pub fn rewind(__stream: *mut FILE);
1485}
1486extern "C" {
1487    pub fn fseeko(__stream: *mut FILE, __off: __off_t,
1488                  __whence: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1489}
1490extern "C" {
1491    pub fn ftello(__stream: *mut FILE) -> __off_t;
1492}
1493extern "C" {
1494    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t)
1495                   -> ::std::os::raw::c_int;
1496}
1497extern "C" {
1498    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t)
1499                   -> ::std::os::raw::c_int;
1500}
1501extern "C" {
1502    pub fn clearerr(__stream: *mut FILE);
1503}
1504extern "C" {
1505    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
1506}
1507extern "C" {
1508    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
1509}
1510extern "C" {
1511    pub fn clearerr_unlocked(__stream: *mut FILE);
1512}
1513extern "C" {
1514    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1515}
1516extern "C" {
1517    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1518}
1519extern "C" {
1520    pub fn perror(__s: *const ::std::os::raw::c_char);
1521}
1522extern "C" {
1523    #[link_name = "sys_nerr"]
1524    pub static mut sys_nerr: ::std::os::raw::c_int;
1525}
1526extern "C" {
1527    #[link_name = "sys_errlist"]
1528    pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
1529}
1530extern "C" {
1531    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
1532}
1533extern "C" {
1534    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1535}
1536extern "C" {
1537    pub fn popen(__command: *const ::std::os::raw::c_char,
1538                 __modes: *const ::std::os::raw::c_char) -> *mut FILE;
1539}
1540extern "C" {
1541    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1542}
1543extern "C" {
1544    pub fn ctermid(__s: *mut ::std::os::raw::c_char)
1545                   -> *mut ::std::os::raw::c_char;
1546}
1547extern "C" {
1548    pub fn flockfile(__stream: *mut FILE);
1549}
1550extern "C" {
1551    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
1552}
1553extern "C" {
1554    pub fn funlockfile(__stream: *mut FILE);
1555}
1556#[repr(C)]
1557#[derive(Debug, Copy)]
1558pub struct node {
1559    pub bytes: __BindgenUnionField<[u8; 64usize]>,
1560    pub words: __BindgenUnionField<[u32; 16usize]>,
1561    pub double_words: __BindgenUnionField<[u64; 8usize]>,
1562    pub bindgen_union_field: [u64; 8usize],
1563}
1564#[test]
1565fn bindgen_test_layout_node() {
1566    assert_eq!(::std::mem::size_of::<node>() , 64usize , concat ! (
1567               "Size of: " , stringify ! ( node ) ));
1568    assert_eq! (::std::mem::align_of::<node>() , 8usize , concat ! (
1569                "Alignment of " , stringify ! ( node ) ));
1570    assert_eq! (unsafe {
1571        & ( * ( 0 as * const node ) ) . bytes as * const _ as usize }
1572    , 0usize , concat ! (
1573                "Alignment of field: " , stringify ! ( node ) , "::" ,
1574                stringify ! ( bytes ) ));
1575    assert_eq! (unsafe {
1576        & ( * ( 0 as * const node ) ) . words as * const _ as usize }
1577    , 0usize , concat ! (
1578                "Alignment of field: " , stringify ! ( node ) , "::" ,
1579                stringify ! ( words ) ));
1580    assert_eq! (unsafe {
1581        & ( * ( 0 as * const node ) ) . double_words as * const _ as
1582            usize } , 0usize , concat ! (
1583                "Alignment of field: " , stringify ! ( node ) , "::" ,
1584                stringify ! ( double_words ) ));
1585}
1586impl Clone for node {
1587    fn clone(&self) -> Self { *self }
1588}
1589extern "C" {
1590    /**
1591 * Allocate and initialize a new ethash_light handler. Internal version
1592 *
1593 * @param cache_size    The size of the cache in bytes
1594 * @param seed          Block seedhash to be used during the computation of the
1595 *                      cache nodes
1596 * @return              Newly allocated ethash_light handler or NULL in case of
1597 *                      ERRNOMEM or invalid parameters used for @ref ethash_compute_cache_nodes()
1598 */
1599    pub fn ethash_light_new_internal(cache_size: u64,
1600                                     seed: *const ethash_h256_t)
1601                                     -> ethash_light_t;
1602}
1603extern "C" {
1604    /**
1605 * Calculate the light client data. Internal version.
1606 *
1607 * @param light          The light client handler
1608 * @param full_size      The size of the full data in bytes.
1609 * @param header_hash    The header hash to pack into the mix
1610 * @param nonce          The nonce to pack into the mix
1611 * @return               The resulting hash.
1612 */
1613    pub fn ethash_light_compute_internal(light: ethash_light_t,
1614                                         full_size: u64,
1615                                         header_hash: ethash_h256_t,
1616                                         nonce: u64) -> ethash_return_value_t;
1617}
1618extern "C" {
1619    pub fn ethash_calculate_dag_item(ret: *const node, node_index: u32,
1620                                     cache: ethash_light_t);
1621}
1622extern "C" {
1623    pub fn ethash_get_datasize(block_number: u64) -> u64;
1624}
1625extern "C" {
1626    pub fn ethash_get_cachesize(block_number: u64) -> u64;
1627}
1628#[repr(C)]
1629#[derive(Debug, Copy)]
1630pub struct __locale_data {
1631    pub _address: u8,
1632}
1633impl Clone for __locale_data {
1634    fn clone(&self) -> Self { *self }
1635}
1636pub type __builtin_va_list = [__va_list_tag; 1usize];
1637#[repr(C)]
1638#[derive(Debug, Copy)]
1639pub struct __va_list_tag {
1640    pub gp_offset: ::std::os::raw::c_uint,
1641    pub fp_offset: ::std::os::raw::c_uint,
1642    pub overflow_arg_area: *mut ::std::os::raw::c_void,
1643    pub reg_save_area: *mut ::std::os::raw::c_void,
1644}
1645#[test]
1646fn bindgen_test_layout___va_list_tag() {
1647    assert_eq!(::std::mem::size_of::<__va_list_tag>() , 24usize , concat ! (
1648               "Size of: " , stringify ! ( __va_list_tag ) ));
1649    assert_eq! (::std::mem::align_of::<__va_list_tag>() , 8usize , concat ! (
1650                "Alignment of " , stringify ! ( __va_list_tag ) ));
1651    assert_eq! (unsafe {
1652        & ( * ( 0 as * const __va_list_tag ) ) . gp_offset as * const
1653        _ as usize } , 0usize , concat ! (
1654                "Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
1655                , stringify ! ( gp_offset ) ));
1656    assert_eq! (unsafe {
1657        & ( * ( 0 as * const __va_list_tag ) ) . fp_offset as * const
1658        _ as usize } , 4usize , concat ! (
1659                "Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
1660                , stringify ! ( fp_offset ) ));
1661    assert_eq! (unsafe {
1662        & ( * ( 0 as * const __va_list_tag ) ) . overflow_arg_area as
1663            * const _ as usize } , 8usize , concat ! (
1664                "Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
1665                , stringify ! ( overflow_arg_area ) ));
1666    assert_eq! (unsafe {
1667        & ( * ( 0 as * const __va_list_tag ) ) . reg_save_area as *
1668        const _ as usize } , 16usize , concat ! (
1669                "Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
1670                , stringify ! ( reg_save_area ) ));
1671}
1672impl Clone for __va_list_tag {
1673    fn clone(&self) -> Self { *self }
1674}