eccodes_sys/
bindings-docs.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3pub const _STDIO_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC2X: u32 = 0;
7pub const __USE_ISOC11: u32 = 1;
8pub const __USE_ISOC99: u32 = 1;
9pub const __USE_ISOC95: u32 = 1;
10pub const __USE_POSIX_IMPLICITLY: u32 = 1;
11pub const _POSIX_SOURCE: u32 = 1;
12pub const _POSIX_C_SOURCE: u32 = 200809;
13pub const __USE_POSIX: u32 = 1;
14pub const __USE_POSIX2: u32 = 1;
15pub const __USE_POSIX199309: u32 = 1;
16pub const __USE_POSIX199506: u32 = 1;
17pub const __USE_XOPEN2K: u32 = 1;
18pub const __USE_XOPEN2K8: u32 = 1;
19pub const _ATFILE_SOURCE: u32 = 1;
20pub const __WORDSIZE: u32 = 64;
21pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
22pub const __SYSCALL_WORDSIZE: u32 = 64;
23pub const __TIMESIZE: u32 = 64;
24pub const __USE_MISC: u32 = 1;
25pub const __USE_ATFILE: u32 = 1;
26pub const __USE_FORTIFY_LEVEL: u32 = 0;
27pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
28pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
29pub const __GLIBC_USE_C2X_STRTOL: u32 = 0;
30pub const _STDC_PREDEF_H: u32 = 1;
31pub const __STDC_IEC_559__: u32 = 1;
32pub const __STDC_IEC_60559_BFP__: u32 = 201404;
33pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
34pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
35pub const __STDC_ISO_10646__: u32 = 201706;
36pub const __GNU_LIBRARY__: u32 = 6;
37pub const __GLIBC__: u32 = 2;
38pub const __GLIBC_MINOR__: u32 = 39;
39pub const _SYS_CDEFS_H: u32 = 1;
40pub const __glibc_c99_flexarr_available: u32 = 1;
41pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
42pub const __HAVE_GENERIC_SELECTION: u32 = 1;
43pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
45pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
49pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
50pub const _BITS_TYPES_H: u32 = 1;
51pub const _BITS_TYPESIZES_H: u32 = 1;
52pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
53pub const __INO_T_MATCHES_INO64_T: u32 = 1;
54pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
55pub const __STATFS_MATCHES_STATFS64: u32 = 1;
56pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
57pub const __FD_SETSIZE: u32 = 1024;
58pub const _BITS_TIME64_H: u32 = 1;
59pub const _____fpos_t_defined: u32 = 1;
60pub const ____mbstate_t_defined: u32 = 1;
61pub const _____fpos64_t_defined: u32 = 1;
62pub const ____FILE_defined: u32 = 1;
63pub const __FILE_defined: u32 = 1;
64pub const __struct_FILE_defined: u32 = 1;
65pub const _IO_EOF_SEEN: u32 = 16;
66pub const _IO_ERR_SEEN: u32 = 32;
67pub const _IO_USER_LOCK: u32 = 32768;
68pub const __cookie_io_functions_t_defined: u32 = 1;
69pub const _IOFBF: u32 = 0;
70pub const _IOLBF: u32 = 1;
71pub const _IONBF: u32 = 2;
72pub const BUFSIZ: u32 = 8192;
73pub const EOF: i32 = -1;
74pub const SEEK_SET: u32 = 0;
75pub const SEEK_CUR: u32 = 1;
76pub const SEEK_END: u32 = 2;
77pub const P_tmpdir: &[u8; 5] = b"/tmp\0";
78pub const L_tmpnam: u32 = 20;
79pub const TMP_MAX: u32 = 238328;
80pub const _BITS_STDIO_LIM_H: u32 = 1;
81pub const FILENAME_MAX: u32 = 4096;
82pub const L_ctermid: u32 = 9;
83pub const FOPEN_MAX: u32 = 16;
84pub const __HAVE_FLOAT128: u32 = 0;
85pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
86pub const __HAVE_FLOAT64X: u32 = 1;
87pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
88pub const __HAVE_FLOAT16: u32 = 0;
89pub const __HAVE_FLOAT32: u32 = 1;
90pub const __HAVE_FLOAT64: u32 = 1;
91pub const __HAVE_FLOAT32X: u32 = 1;
92pub const __HAVE_FLOAT128X: u32 = 0;
93pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
94pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
95pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
96pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
97pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
98pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
99pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
100pub const _STDLIB_H: u32 = 1;
101pub const WNOHANG: u32 = 1;
102pub const WUNTRACED: u32 = 2;
103pub const WSTOPPED: u32 = 2;
104pub const WEXITED: u32 = 4;
105pub const WCONTINUED: u32 = 8;
106pub const WNOWAIT: u32 = 16777216;
107pub const __WNOTHREAD: u32 = 536870912;
108pub const __WALL: u32 = 1073741824;
109pub const __WCLONE: u32 = 2147483648;
110pub const __W_CONTINUED: u32 = 65535;
111pub const __WCOREFLAG: u32 = 128;
112pub const __ldiv_t_defined: u32 = 1;
113pub const __lldiv_t_defined: u32 = 1;
114pub const RAND_MAX: u32 = 2147483647;
115pub const EXIT_FAILURE: u32 = 1;
116pub const EXIT_SUCCESS: u32 = 0;
117pub const _SYS_TYPES_H: u32 = 1;
118pub const __clock_t_defined: u32 = 1;
119pub const __clockid_t_defined: u32 = 1;
120pub const __time_t_defined: u32 = 1;
121pub const __timer_t_defined: u32 = 1;
122pub const _BITS_STDINT_INTN_H: u32 = 1;
123pub const __BIT_TYPES_DEFINED__: u32 = 1;
124pub const _ENDIAN_H: u32 = 1;
125pub const _BITS_ENDIAN_H: u32 = 1;
126pub const __LITTLE_ENDIAN: u32 = 1234;
127pub const __BIG_ENDIAN: u32 = 4321;
128pub const __PDP_ENDIAN: u32 = 3412;
129pub const _BITS_ENDIANNESS_H: u32 = 1;
130pub const __BYTE_ORDER: u32 = 1234;
131pub const __FLOAT_WORD_ORDER: u32 = 1234;
132pub const LITTLE_ENDIAN: u32 = 1234;
133pub const BIG_ENDIAN: u32 = 4321;
134pub const PDP_ENDIAN: u32 = 3412;
135pub const BYTE_ORDER: u32 = 1234;
136pub const _BITS_BYTESWAP_H: u32 = 1;
137pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
138pub const _SYS_SELECT_H: u32 = 1;
139pub const __sigset_t_defined: u32 = 1;
140pub const __timeval_defined: u32 = 1;
141pub const _STRUCT_TIMESPEC: u32 = 1;
142pub const FD_SETSIZE: u32 = 1024;
143pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
144pub const _THREAD_SHARED_TYPES_H: u32 = 1;
145pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
146pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
147pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
148pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
149pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
150pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
151pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
152pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
153pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
154pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
155pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
156pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
157pub const __have_pthread_attr_t: u32 = 1;
158pub const _ALLOCA_H: u32 = 1;
159pub const _STRING_H: u32 = 1;
160pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
161pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
162pub const _STRINGS_H: u32 = 1;
163pub const _SYS_TIME_H: u32 = 1;
164pub const _MATH_H: u32 = 1;
165pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
166pub const __FP_LOGB0_IS_MIN: u32 = 1;
167pub const __FP_LOGBNAN_IS_MIN: u32 = 1;
168pub const FP_ILOGB0: i32 = -2147483648;
169pub const FP_ILOGBNAN: i32 = -2147483648;
170pub const __MATH_DECLARING_DOUBLE: u32 = 1;
171pub const __MATH_DECLARING_FLOATN: u32 = 0;
172pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
173pub const MATH_ERRNO: u32 = 1;
174pub const MATH_ERREXCEPT: u32 = 2;
175pub const math_errhandling: u32 = 3;
176pub const M_E: f64 = 2.718281828459045;
177pub const M_LOG2E: f64 = 1.4426950408889634;
178pub const M_LOG10E: f64 = 0.4342944819032518;
179pub const M_LN2: f64 = 0.6931471805599453;
180pub const M_LN10: f64 = 2.302585092994046;
181pub const M_PI: f64 = 3.141592653589793;
182pub const M_PI_2: f64 = 1.5707963267948966;
183pub const M_PI_4: f64 = 0.7853981633974483;
184pub const M_1_PI: f64 = 0.3183098861837907;
185pub const M_2_PI: f64 = 0.6366197723675814;
186pub const M_2_SQRTPI: f64 = 1.1283791670955126;
187pub const M_SQRT2: f64 = 1.4142135623730951;
188pub const M_SQRT1_2: f64 = 0.7071067811865476;
189pub const ECCODES_VERSION_STR: &[u8; 7] = b"2.34.1\0";
190pub const ECCODES_MAJOR_VERSION: u32 = 2;
191pub const ECCODES_MINOR_VERSION: u32 = 34;
192pub const ECCODES_REVISION_VERSION: u32 = 1;
193pub const ECCODES_VERSION: u32 = 23401;
194pub const GRIB_SECTION_PRODUCT: u32 = 1;
195pub const GRIB_SECTION_GRID: u32 = 2;
196pub const GRIB_SECTION_LOCAL: u32 = 4;
197pub const GRIB_SECTION_DATA: u32 = 8;
198pub const GRIB_SECTION_BITMAP: u32 = 16;
199pub const GRIB_LOG_INFO: u32 = 0;
200pub const GRIB_LOG_WARNING: u32 = 1;
201pub const GRIB_LOG_ERROR: u32 = 2;
202pub const GRIB_LOG_FATAL: u32 = 3;
203pub const GRIB_LOG_DEBUG: u32 = 4;
204pub const GRIB_TYPE_UNDEFINED: u32 = 0;
205pub const GRIB_TYPE_LONG: u32 = 1;
206pub const GRIB_TYPE_DOUBLE: u32 = 2;
207pub const GRIB_TYPE_STRING: u32 = 3;
208pub const GRIB_TYPE_BYTES: u32 = 4;
209pub const GRIB_TYPE_SECTION: u32 = 5;
210pub const GRIB_TYPE_LABEL: u32 = 6;
211pub const GRIB_TYPE_MISSING: u32 = 7;
212pub const GRIB_MISSING_LONG: u32 = 2147483647;
213pub const GRIB_MISSING_DOUBLE : f64 = - 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0 ;
214pub const GRIB_DUMP_FLAG_READ_ONLY: u32 = 1;
215pub const GRIB_DUMP_FLAG_DUMP_OK: u32 = 2;
216pub const GRIB_DUMP_FLAG_VALUES: u32 = 4;
217pub const GRIB_DUMP_FLAG_CODED: u32 = 8;
218pub const GRIB_DUMP_FLAG_OCTET: u32 = 16;
219pub const GRIB_DUMP_FLAG_ALIASES: u32 = 32;
220pub const GRIB_DUMP_FLAG_TYPE: u32 = 64;
221pub const GRIB_DUMP_FLAG_HEXADECIMAL: u32 = 128;
222pub const GRIB_DUMP_FLAG_NO_DATA: u32 = 256;
223pub const GRIB_DUMP_FLAG_ALL_DATA: u32 = 512;
224pub const GRIB_DUMP_FLAG_ALL_ATTRIBUTES: u32 = 1024;
225pub const GRIB_NEAREST_SAME_GRID: u32 = 1;
226pub const GRIB_NEAREST_SAME_DATA: u32 = 2;
227pub const GRIB_NEAREST_SAME_POINT: u32 = 4;
228pub const GRIB_GEOITERATOR_NO_VALUES: u32 = 1;
229pub const GRIB_KEYS_ITERATOR_ALL_KEYS: u32 = 0;
230pub const GRIB_KEYS_ITERATOR_SKIP_READ_ONLY: u32 = 1;
231pub const GRIB_KEYS_ITERATOR_SKIP_OPTIONAL: u32 = 2;
232pub const GRIB_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC: u32 = 4;
233pub const GRIB_KEYS_ITERATOR_SKIP_CODED: u32 = 8;
234pub const GRIB_KEYS_ITERATOR_SKIP_COMPUTED: u32 = 16;
235pub const GRIB_KEYS_ITERATOR_SKIP_DUPLICATES: u32 = 32;
236pub const GRIB_KEYS_ITERATOR_SKIP_FUNCTION: u32 = 64;
237pub const GRIB_KEYS_ITERATOR_DUMP_ONLY: u32 = 128;
238pub const GRIB_UTIL_GRID_SPEC_REGULAR_LL: u32 = 1;
239pub const GRIB_UTIL_GRID_SPEC_ROTATED_LL: u32 = 2;
240pub const GRIB_UTIL_GRID_SPEC_REGULAR_GG: u32 = 3;
241pub const GRIB_UTIL_GRID_SPEC_ROTATED_GG: u32 = 4;
242pub const GRIB_UTIL_GRID_SPEC_REDUCED_GG: u32 = 5;
243pub const GRIB_UTIL_GRID_SPEC_SH: u32 = 6;
244pub const GRIB_UTIL_GRID_SPEC_REDUCED_LL: u32 = 7;
245pub const GRIB_UTIL_GRID_SPEC_POLAR_STEREOGRAPHIC: u32 = 8;
246pub const GRIB_UTIL_GRID_SPEC_REDUCED_ROTATED_GG: u32 = 9;
247pub const GRIB_UTIL_GRID_SPEC_LAMBERT_AZIMUTHAL_EQUAL_AREA: u32 = 10;
248pub const GRIB_UTIL_GRID_SPEC_LAMBERT_CONFORMAL: u32 = 11;
249pub const GRIB_UTIL_GRID_SPEC_UNSTRUCTURED: u32 = 12;
250pub const GRIB_UTIL_GRID_SPEC_HEALPIX: u32 = 13;
251pub const GRIB_UTIL_PACKING_TYPE_SAME_AS_INPUT: u32 = 0;
252pub const GRIB_UTIL_PACKING_TYPE_SPECTRAL_COMPLEX: u32 = 1;
253pub const GRIB_UTIL_PACKING_TYPE_SPECTRAL_SIMPLE: u32 = 2;
254pub const GRIB_UTIL_PACKING_TYPE_JPEG: u32 = 3;
255pub const GRIB_UTIL_PACKING_TYPE_GRID_COMPLEX: u32 = 4;
256pub const GRIB_UTIL_PACKING_TYPE_GRID_SIMPLE: u32 = 5;
257pub const GRIB_UTIL_PACKING_TYPE_GRID_SIMPLE_MATRIX: u32 = 6;
258pub const GRIB_UTIL_PACKING_TYPE_GRID_SECOND_ORDER: u32 = 7;
259pub const GRIB_UTIL_PACKING_TYPE_CCSDS: u32 = 8;
260pub const GRIB_UTIL_PACKING_TYPE_IEEE: u32 = 9;
261pub const GRIB_UTIL_PACKING_SAME_AS_INPUT: u32 = 0;
262pub const GRIB_UTIL_PACKING_USE_PROVIDED: u32 = 1;
263pub const GRIB_UTIL_ACCURACY_SAME_BITS_PER_VALUES_AS_INPUT: u32 = 0;
264pub const GRIB_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES: u32 = 1;
265pub const GRIB_UTIL_ACCURACY_SAME_DECIMAL_SCALE_FACTOR_AS_INPUT: u32 = 2;
266pub const GRIB_UTIL_ACCURACY_USE_PROVIDED_DECIMAL_SCALE_FACTOR: u32 = 3;
267pub const GRIB_SUCCESS: u32 = 0;
268pub const GRIB_END_OF_FILE: i32 = -1;
269pub const GRIB_INTERNAL_ERROR: i32 = -2;
270pub const GRIB_BUFFER_TOO_SMALL: i32 = -3;
271pub const GRIB_NOT_IMPLEMENTED: i32 = -4;
272pub const GRIB_7777_NOT_FOUND: i32 = -5;
273pub const GRIB_ARRAY_TOO_SMALL: i32 = -6;
274pub const GRIB_FILE_NOT_FOUND: i32 = -7;
275pub const GRIB_CODE_NOT_FOUND_IN_TABLE: i32 = -8;
276pub const GRIB_WRONG_ARRAY_SIZE: i32 = -9;
277pub const GRIB_NOT_FOUND: i32 = -10;
278pub const GRIB_IO_PROBLEM: i32 = -11;
279pub const GRIB_INVALID_MESSAGE: i32 = -12;
280pub const GRIB_DECODING_ERROR: i32 = -13;
281pub const GRIB_ENCODING_ERROR: i32 = -14;
282pub const GRIB_NO_MORE_IN_SET: i32 = -15;
283pub const GRIB_GEOCALCULUS_PROBLEM: i32 = -16;
284pub const GRIB_OUT_OF_MEMORY: i32 = -17;
285pub const GRIB_READ_ONLY: i32 = -18;
286pub const GRIB_INVALID_ARGUMENT: i32 = -19;
287pub const GRIB_NULL_HANDLE: i32 = -20;
288pub const GRIB_INVALID_SECTION_NUMBER: i32 = -21;
289pub const GRIB_VALUE_CANNOT_BE_MISSING: i32 = -22;
290pub const GRIB_WRONG_LENGTH: i32 = -23;
291pub const GRIB_INVALID_TYPE: i32 = -24;
292pub const GRIB_WRONG_STEP: i32 = -25;
293pub const GRIB_WRONG_STEP_UNIT: i32 = -26;
294pub const GRIB_INVALID_FILE: i32 = -27;
295pub const GRIB_INVALID_GRIB: i32 = -28;
296pub const GRIB_INVALID_INDEX: i32 = -29;
297pub const GRIB_INVALID_ITERATOR: i32 = -30;
298pub const GRIB_INVALID_KEYS_ITERATOR: i32 = -31;
299pub const GRIB_INVALID_NEAREST: i32 = -32;
300pub const GRIB_INVALID_ORDERBY: i32 = -33;
301pub const GRIB_MISSING_KEY: i32 = -34;
302pub const GRIB_OUT_OF_AREA: i32 = -35;
303pub const GRIB_CONCEPT_NO_MATCH: i32 = -36;
304pub const GRIB_HASH_ARRAY_NO_MATCH: i32 = -37;
305pub const GRIB_NO_DEFINITIONS: i32 = -38;
306pub const GRIB_WRONG_TYPE: i32 = -39;
307pub const GRIB_END: i32 = -40;
308pub const GRIB_NO_VALUES: i32 = -41;
309pub const GRIB_WRONG_GRID: i32 = -42;
310pub const GRIB_END_OF_INDEX: i32 = -43;
311pub const GRIB_NULL_INDEX: i32 = -44;
312pub const GRIB_PREMATURE_END_OF_FILE: i32 = -45;
313pub const GRIB_INTERNAL_ARRAY_TOO_SMALL: i32 = -46;
314pub const GRIB_MESSAGE_TOO_LARGE: i32 = -47;
315pub const GRIB_CONSTANT_FIELD: i32 = -48;
316pub const GRIB_SWITCH_NO_MATCH: i32 = -49;
317pub const GRIB_UNDERFLOW: i32 = -50;
318pub const GRIB_MESSAGE_MALFORMED: i32 = -51;
319pub const GRIB_CORRUPTED_INDEX: i32 = -52;
320pub const GRIB_INVALID_BPV: i32 = -53;
321pub const GRIB_DIFFERENT_EDITION: i32 = -54;
322pub const GRIB_VALUE_DIFFERENT: i32 = -55;
323pub const GRIB_INVALID_KEY_VALUE: i32 = -56;
324pub const GRIB_STRING_TOO_SMALL: i32 = -57;
325pub const GRIB_WRONG_CONVERSION: i32 = -58;
326pub const GRIB_MISSING_BUFR_ENTRY: i32 = -59;
327pub const GRIB_NULL_POINTER: i32 = -60;
328pub const GRIB_ATTRIBUTE_CLASH: i32 = -61;
329pub const GRIB_TOO_MANY_ATTRIBUTES: i32 = -62;
330pub const GRIB_ATTRIBUTE_NOT_FOUND: i32 = -63;
331pub const GRIB_UNSUPPORTED_EDITION: i32 = -64;
332pub const GRIB_OUT_OF_RANGE: i32 = -65;
333pub const GRIB_WRONG_BITMAP_SIZE: i32 = -66;
334pub const GRIB_FUNCTIONALITY_NOT_ENABLED: i32 = -67;
335pub const GRIB_VALUE_MISMATCH: i32 = -68;
336pub const GRIB_DOUBLE_VALUE_MISMATCH: i32 = -69;
337pub const GRIB_LONG_VALUE_MISMATCH: i32 = -70;
338pub const GRIB_BYTE_VALUE_MISMATCH: i32 = -71;
339pub const GRIB_STRING_VALUE_MISMATCH: i32 = -72;
340pub const GRIB_OFFSET_MISMATCH: i32 = -73;
341pub const GRIB_COUNT_MISMATCH: i32 = -74;
342pub const GRIB_NAME_MISMATCH: i32 = -75;
343pub const GRIB_TYPE_MISMATCH: i32 = -76;
344pub const GRIB_TYPE_AND_VALUE_MISMATCH: i32 = -77;
345pub const GRIB_UNABLE_TO_COMPARE_ACCESSORS: i32 = -78;
346pub const GRIB_ASSERTION_FAILURE: i32 = -79;
347pub const CODES_VERSION: u32 = 23401;
348pub const CODES_SECTION_PRODUCT: u32 = 1;
349pub const CODES_SECTION_GRID: u32 = 2;
350pub const CODES_SECTION_LOCAL: u32 = 4;
351pub const CODES_SECTION_DATA: u32 = 8;
352pub const CODES_SECTION_BITMAP: u32 = 16;
353pub const CODES_LOG_INFO: u32 = 0;
354pub const CODES_LOG_WARNING: u32 = 1;
355pub const CODES_LOG_ERROR: u32 = 2;
356pub const CODES_LOG_FATAL: u32 = 3;
357pub const CODES_LOG_DEBUG: u32 = 4;
358pub const CODES_TYPE_UNDEFINED: u32 = 0;
359pub const CODES_TYPE_LONG: u32 = 1;
360pub const CODES_TYPE_DOUBLE: u32 = 2;
361pub const CODES_TYPE_STRING: u32 = 3;
362pub const CODES_TYPE_BYTES: u32 = 4;
363pub const CODES_TYPE_SECTION: u32 = 5;
364pub const CODES_TYPE_LABEL: u32 = 6;
365pub const CODES_TYPE_MISSING: u32 = 7;
366pub const CODES_MISSING_LONG: u32 = 2147483647;
367pub const CODES_MISSING_DOUBLE : f64 = - 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0 ;
368pub const CODES_DUMP_FLAG_READ_ONLY: u32 = 1;
369pub const CODES_DUMP_FLAG_DUMP_OK: u32 = 2;
370pub const CODES_DUMP_FLAG_VALUES: u32 = 4;
371pub const CODES_DUMP_FLAG_CODED: u32 = 8;
372pub const CODES_DUMP_FLAG_OCTET: u32 = 16;
373pub const CODES_DUMP_FLAG_ALIASES: u32 = 32;
374pub const CODES_DUMP_FLAG_TYPE: u32 = 64;
375pub const CODES_DUMP_FLAG_HEXADECIMAL: u32 = 128;
376pub const CODES_DUMP_FLAG_NO_DATA: u32 = 256;
377pub const CODES_DUMP_FLAG_ALL_DATA: u32 = 512;
378pub const CODES_DUMP_FLAG_ALL_ATTRIBUTES: u32 = 1024;
379pub const CODES_NEAREST_SAME_GRID: u32 = 1;
380pub const CODES_NEAREST_SAME_DATA: u32 = 2;
381pub const CODES_NEAREST_SAME_POINT: u32 = 4;
382pub const CODES_GEOITERATOR_NO_VALUES: u32 = 1;
383pub const CODES_KEYS_ITERATOR_ALL_KEYS: u32 = 0;
384pub const CODES_KEYS_ITERATOR_SKIP_READ_ONLY: u32 = 1;
385pub const CODES_KEYS_ITERATOR_SKIP_OPTIONAL: u32 = 2;
386pub const CODES_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC: u32 = 4;
387pub const CODES_KEYS_ITERATOR_SKIP_CODED: u32 = 8;
388pub const CODES_KEYS_ITERATOR_SKIP_COMPUTED: u32 = 16;
389pub const CODES_KEYS_ITERATOR_SKIP_DUPLICATES: u32 = 32;
390pub const CODES_KEYS_ITERATOR_SKIP_FUNCTION: u32 = 64;
391pub const CODES_KEYS_ITERATOR_DUMP_ONLY: u32 = 128;
392pub const CODES_UTIL_GRID_SPEC_REGULAR_LL: u32 = 1;
393pub const CODES_UTIL_GRID_SPEC_ROTATED_LL: u32 = 2;
394pub const CODES_UTIL_GRID_SPEC_REGULAR_GG: u32 = 3;
395pub const CODES_UTIL_GRID_SPEC_ROTATED_GG: u32 = 4;
396pub const CODES_UTIL_GRID_SPEC_REDUCED_GG: u32 = 5;
397pub const CODES_UTIL_GRID_SPEC_SH: u32 = 6;
398pub const CODES_UTIL_GRID_SPEC_REDUCED_LL: u32 = 7;
399pub const CODES_UTIL_GRID_SPEC_POLAR_STEREOGRAPHIC: u32 = 8;
400pub const CODES_UTIL_GRID_SPEC_REDUCED_ROTATED_GG: u32 = 9;
401pub const CODES_UTIL_GRID_SPEC_LAMBERT_AZIMUTHAL_EQUAL_AREA: u32 = 10;
402pub const CODES_UTIL_GRID_SPEC_LAMBERT_CONFORMAL: u32 = 11;
403pub const CODES_UTIL_GRID_SPEC_UNSTRUCTURED: u32 = 12;
404pub const CODES_UTIL_GRID_SPEC_HEALPIX: u32 = 13;
405pub const CODES_UTIL_PACKING_TYPE_SAME_AS_INPUT: u32 = 0;
406pub const CODES_UTIL_PACKING_TYPE_SPECTRAL_COMPLEX: u32 = 1;
407pub const CODES_UTIL_PACKING_TYPE_SPECTRAL_SIMPLE: u32 = 2;
408pub const CODES_UTIL_PACKING_TYPE_JPEG: u32 = 3;
409pub const CODES_UTIL_PACKING_TYPE_GRID_COMPLEX: u32 = 4;
410pub const CODES_UTIL_PACKING_TYPE_GRID_SIMPLE: u32 = 5;
411pub const CODES_UTIL_PACKING_TYPE_GRID_SIMPLE_MATRIX: u32 = 6;
412pub const CODES_UTIL_PACKING_TYPE_GRID_SECOND_ORDER: u32 = 7;
413pub const CODES_UTIL_PACKING_TYPE_CCSDS: u32 = 8;
414pub const CODES_UTIL_PACKING_TYPE_IEEE: u32 = 9;
415pub const CODES_UTIL_PACKING_SAME_AS_INPUT: u32 = 0;
416pub const CODES_UTIL_PACKING_USE_PROVIDED: u32 = 1;
417pub const CODES_UTIL_ACCURACY_SAME_BITS_PER_VALUES_AS_INPUT: u32 = 0;
418pub const CODES_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES: u32 = 1;
419pub const CODES_UTIL_ACCURACY_SAME_DECIMAL_SCALE_FACTOR_AS_INPUT: u32 = 2;
420pub const CODES_UTIL_ACCURACY_USE_PROVIDED_DECIMAL_SCALE_FACTOR: u32 = 3;
421pub const CODES_SUCCESS: u32 = 0;
422pub const CODES_END_OF_FILE: i32 = -1;
423pub const CODES_INTERNAL_ERROR: i32 = -2;
424pub const CODES_BUFFER_TOO_SMALL: i32 = -3;
425pub const CODES_NOT_IMPLEMENTED: i32 = -4;
426pub const CODES_7777_NOT_FOUND: i32 = -5;
427pub const CODES_ARRAY_TOO_SMALL: i32 = -6;
428pub const CODES_FILE_NOT_FOUND: i32 = -7;
429pub const CODES_CODE_NOT_FOUND_IN_TABLE: i32 = -8;
430pub const CODES_WRONG_ARRAY_SIZE: i32 = -9;
431pub const CODES_NOT_FOUND: i32 = -10;
432pub const CODES_IO_PROBLEM: i32 = -11;
433pub const CODES_INVALID_MESSAGE: i32 = -12;
434pub const CODES_DECODING_ERROR: i32 = -13;
435pub const CODES_ENCODING_ERROR: i32 = -14;
436pub const CODES_NO_MORE_IN_SET: i32 = -15;
437pub const CODES_GEOCALCULUS_PROBLEM: i32 = -16;
438pub const CODES_OUT_OF_MEMORY: i32 = -17;
439pub const CODES_READ_ONLY: i32 = -18;
440pub const CODES_INVALID_ARGUMENT: i32 = -19;
441pub const CODES_NULL_HANDLE: i32 = -20;
442pub const CODES_INVALID_SECTION_NUMBER: i32 = -21;
443pub const CODES_VALUE_CANNOT_BE_MISSING: i32 = -22;
444pub const CODES_WRONG_LENGTH: i32 = -23;
445pub const CODES_INVALID_TYPE: i32 = -24;
446pub const CODES_WRONG_STEP: i32 = -25;
447pub const CODES_WRONG_STEP_UNIT: i32 = -26;
448pub const CODES_INVALID_FILE: i32 = -27;
449pub const CODES_INVALID_GRIB: i32 = -28;
450pub const CODES_INVALID_INDEX: i32 = -29;
451pub const CODES_INVALID_ITERATOR: i32 = -30;
452pub const CODES_INVALID_KEYS_ITERATOR: i32 = -31;
453pub const CODES_INVALID_NEAREST: i32 = -32;
454pub const CODES_INVALID_ORDERBY: i32 = -33;
455pub const CODES_MISSING_KEY: i32 = -34;
456pub const CODES_OUT_OF_AREA: i32 = -35;
457pub const CODES_CONCEPT_NO_MATCH: i32 = -36;
458pub const CODES_HASH_ARRAY_NO_MATCH: i32 = -37;
459pub const CODES_NO_DEFINITIONS: i32 = -38;
460pub const CODES_WRONG_TYPE: i32 = -39;
461pub const CODES_END: i32 = -40;
462pub const CODES_NO_VALUES: i32 = -41;
463pub const CODES_WRONG_GRID: i32 = -42;
464pub const CODES_END_OF_INDEX: i32 = -43;
465pub const CODES_NULL_INDEX: i32 = -44;
466pub const CODES_PREMATURE_END_OF_FILE: i32 = -45;
467pub const CODES_INTERNAL_ARRAY_TOO_SMALL: i32 = -46;
468pub const CODES_MESSAGE_TOO_LARGE: i32 = -47;
469pub const CODES_CONSTANT_FIELD: i32 = -48;
470pub const CODES_SWITCH_NO_MATCH: i32 = -49;
471pub const CODES_UNDERFLOW: i32 = -50;
472pub const CODES_MESSAGE_MALFORMED: i32 = -51;
473pub const CODES_CORRUPTED_INDEX: i32 = -52;
474pub const CODES_INVALID_BPV: i32 = -53;
475pub const CODES_DIFFERENT_EDITION: i32 = -54;
476pub const CODES_VALUE_DIFFERENT: i32 = -55;
477pub const CODES_INVALID_KEY_VALUE: i32 = -56;
478pub const CODES_STRING_TOO_SMALL: i32 = -57;
479pub const CODES_WRONG_CONVERSION: i32 = -58;
480pub const CODES_MISSING_BUFR_ENTRY: i32 = -59;
481pub const CODES_NULL_POINTER: i32 = -60;
482pub const CODES_ATTRIBUTE_CLASH: i32 = -61;
483pub const CODES_TOO_MANY_ATTRIBUTES: i32 = -62;
484pub const CODES_ATTRIBUTE_NOT_FOUND: i32 = -63;
485pub const CODES_UNSUPPORTED_EDITION: i32 = -64;
486pub const CODES_OUT_OF_RANGE: i32 = -65;
487pub const CODES_WRONG_BITMAP_SIZE: i32 = -66;
488pub const CODES_FUNCTIONALITY_NOT_ENABLED: i32 = -67;
489pub const CODES_VALUE_MISMATCH: i32 = -68;
490pub const CODES_DOUBLE_VALUE_MISMATCH: i32 = -69;
491pub const CODES_LONG_VALUE_MISMATCH: i32 = -70;
492pub const CODES_BYTE_VALUE_MISMATCH: i32 = -71;
493pub const CODES_STRING_VALUE_MISMATCH: i32 = -72;
494pub const CODES_OFFSET_MISMATCH: i32 = -73;
495pub const CODES_COUNT_MISMATCH: i32 = -74;
496pub const CODES_NAME_MISMATCH: i32 = -75;
497pub const CODES_TYPE_MISMATCH: i32 = -76;
498pub const CODES_TYPE_AND_VALUE_MISMATCH: i32 = -77;
499pub const CODES_UNABLE_TO_COMPARE_ACCESSORS: i32 = -78;
500pub const CODES_ASSERTION_FAILURE: i32 = -79;
501pub type __gnuc_va_list = __builtin_va_list;
502pub type __u_char = ::std::os::raw::c_uchar;
503pub type __u_short = ::std::os::raw::c_ushort;
504pub type __u_int = ::std::os::raw::c_uint;
505pub type __u_long = ::std::os::raw::c_ulong;
506pub type __int8_t = ::std::os::raw::c_schar;
507pub type __uint8_t = ::std::os::raw::c_uchar;
508pub type __int16_t = ::std::os::raw::c_short;
509pub type __uint16_t = ::std::os::raw::c_ushort;
510pub type __int32_t = ::std::os::raw::c_int;
511pub type __uint32_t = ::std::os::raw::c_uint;
512pub type __int64_t = ::std::os::raw::c_long;
513pub type __uint64_t = ::std::os::raw::c_ulong;
514pub type __int_least8_t = __int8_t;
515pub type __uint_least8_t = __uint8_t;
516pub type __int_least16_t = __int16_t;
517pub type __uint_least16_t = __uint16_t;
518pub type __int_least32_t = __int32_t;
519pub type __uint_least32_t = __uint32_t;
520pub type __int_least64_t = __int64_t;
521pub type __uint_least64_t = __uint64_t;
522pub type __quad_t = ::std::os::raw::c_long;
523pub type __u_quad_t = ::std::os::raw::c_ulong;
524pub type __intmax_t = ::std::os::raw::c_long;
525pub type __uintmax_t = ::std::os::raw::c_ulong;
526pub type __dev_t = ::std::os::raw::c_ulong;
527pub type __uid_t = ::std::os::raw::c_uint;
528pub type __gid_t = ::std::os::raw::c_uint;
529pub type __ino_t = ::std::os::raw::c_ulong;
530pub type __ino64_t = ::std::os::raw::c_ulong;
531pub type __mode_t = ::std::os::raw::c_uint;
532pub type __nlink_t = ::std::os::raw::c_ulong;
533pub type __off_t = ::std::os::raw::c_long;
534pub type __off64_t = ::std::os::raw::c_long;
535pub type __pid_t = ::std::os::raw::c_int;
536#[repr(C)]
537#[derive(Debug, Copy, Clone)]
538pub struct __fsid_t {
539    pub __val: [::std::os::raw::c_int; 2usize],
540}
541pub type __clock_t = ::std::os::raw::c_long;
542pub type __rlim_t = ::std::os::raw::c_ulong;
543pub type __rlim64_t = ::std::os::raw::c_ulong;
544pub type __id_t = ::std::os::raw::c_uint;
545pub type __time_t = ::std::os::raw::c_long;
546pub type __useconds_t = ::std::os::raw::c_uint;
547pub type __suseconds_t = ::std::os::raw::c_long;
548pub type __suseconds64_t = ::std::os::raw::c_long;
549pub type __daddr_t = ::std::os::raw::c_int;
550pub type __key_t = ::std::os::raw::c_int;
551pub type __clockid_t = ::std::os::raw::c_int;
552pub type __timer_t = *mut ::std::os::raw::c_void;
553pub type __blksize_t = ::std::os::raw::c_long;
554pub type __blkcnt_t = ::std::os::raw::c_long;
555pub type __blkcnt64_t = ::std::os::raw::c_long;
556pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
557pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
558pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
559pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
560pub type __fsword_t = ::std::os::raw::c_long;
561pub type __ssize_t = ::std::os::raw::c_long;
562pub type __syscall_slong_t = ::std::os::raw::c_long;
563pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
564pub type __loff_t = __off64_t;
565pub type __caddr_t = *mut ::std::os::raw::c_char;
566pub type __intptr_t = ::std::os::raw::c_long;
567pub type __socklen_t = ::std::os::raw::c_uint;
568pub type __sig_atomic_t = ::std::os::raw::c_int;
569#[repr(C)]
570#[derive(Copy, Clone)]
571pub struct __mbstate_t {
572    pub __count: ::std::os::raw::c_int,
573    pub __value: __mbstate_t__bindgen_ty_1,
574}
575#[repr(C)]
576#[derive(Copy, Clone)]
577pub union __mbstate_t__bindgen_ty_1 {
578    pub __wch: ::std::os::raw::c_uint,
579    pub __wchb: [::std::os::raw::c_char; 4usize],
580}
581#[repr(C)]
582#[derive(Copy, Clone)]
583pub struct _G_fpos_t {
584    pub __pos: __off_t,
585    pub __state: __mbstate_t,
586}
587pub type __fpos_t = _G_fpos_t;
588#[repr(C)]
589#[derive(Copy, Clone)]
590pub struct _G_fpos64_t {
591    pub __pos: __off64_t,
592    pub __state: __mbstate_t,
593}
594pub type __fpos64_t = _G_fpos64_t;
595pub type __FILE = _IO_FILE;
596pub type FILE = _IO_FILE;
597#[repr(C)]
598#[derive(Debug, Copy, Clone)]
599pub struct _IO_marker {
600    _unused: [u8; 0],
601}
602#[repr(C)]
603#[derive(Debug, Copy, Clone)]
604pub struct _IO_codecvt {
605    _unused: [u8; 0],
606}
607#[repr(C)]
608#[derive(Debug, Copy, Clone)]
609pub struct _IO_wide_data {
610    _unused: [u8; 0],
611}
612pub type _IO_lock_t = ::std::os::raw::c_void;
613#[repr(C)]
614#[derive(Debug, Copy, Clone)]
615pub struct _IO_FILE {
616    pub _flags: ::std::os::raw::c_int,
617    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
618    pub _IO_read_end: *mut ::std::os::raw::c_char,
619    pub _IO_read_base: *mut ::std::os::raw::c_char,
620    pub _IO_write_base: *mut ::std::os::raw::c_char,
621    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
622    pub _IO_write_end: *mut ::std::os::raw::c_char,
623    pub _IO_buf_base: *mut ::std::os::raw::c_char,
624    pub _IO_buf_end: *mut ::std::os::raw::c_char,
625    pub _IO_save_base: *mut ::std::os::raw::c_char,
626    pub _IO_backup_base: *mut ::std::os::raw::c_char,
627    pub _IO_save_end: *mut ::std::os::raw::c_char,
628    pub _markers: *mut _IO_marker,
629    pub _chain: *mut _IO_FILE,
630    pub _fileno: ::std::os::raw::c_int,
631    pub _flags2: ::std::os::raw::c_int,
632    pub _old_offset: __off_t,
633    pub _cur_column: ::std::os::raw::c_ushort,
634    pub _vtable_offset: ::std::os::raw::c_schar,
635    pub _shortbuf: [::std::os::raw::c_char; 1usize],
636    pub _lock: *mut _IO_lock_t,
637    pub _offset: __off64_t,
638    pub _codecvt: *mut _IO_codecvt,
639    pub _wide_data: *mut _IO_wide_data,
640    pub _freeres_list: *mut _IO_FILE,
641    pub _freeres_buf: *mut ::std::os::raw::c_void,
642    pub __pad5: usize,
643    pub _mode: ::std::os::raw::c_int,
644    pub _unused2: [::std::os::raw::c_char; 20usize],
645}
646pub type cookie_read_function_t = ::std::option::Option<
647    unsafe extern "C" fn(
648        __cookie: *mut ::std::os::raw::c_void,
649        __buf: *mut ::std::os::raw::c_char,
650        __nbytes: usize,
651    ) -> __ssize_t,
652>;
653pub type cookie_write_function_t = ::std::option::Option<
654    unsafe extern "C" fn(
655        __cookie: *mut ::std::os::raw::c_void,
656        __buf: *const ::std::os::raw::c_char,
657        __nbytes: usize,
658    ) -> __ssize_t,
659>;
660pub type cookie_seek_function_t = ::std::option::Option<
661    unsafe extern "C" fn(
662        __cookie: *mut ::std::os::raw::c_void,
663        __pos: *mut __off64_t,
664        __w: ::std::os::raw::c_int,
665    ) -> ::std::os::raw::c_int,
666>;
667pub type cookie_close_function_t = ::std::option::Option<
668    unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
669>;
670#[repr(C)]
671#[derive(Debug, Copy, Clone)]
672pub struct _IO_cookie_io_functions_t {
673    pub read: cookie_read_function_t,
674    pub write: cookie_write_function_t,
675    pub seek: cookie_seek_function_t,
676    pub close: cookie_close_function_t,
677}
678pub type cookie_io_functions_t = _IO_cookie_io_functions_t;
679pub type va_list = __gnuc_va_list;
680pub type off_t = __off_t;
681pub type fpos_t = __fpos_t;
682unsafe extern "C" {
683    pub static mut stdin: *mut FILE;
684}
685unsafe extern "C" {
686    pub static mut stdout: *mut FILE;
687}
688unsafe extern "C" {
689    pub static mut stderr: *mut FILE;
690}
691unsafe extern "C" {
692    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
693}
694unsafe extern "C" {
695    pub fn rename(
696        __old: *const ::std::os::raw::c_char,
697        __new: *const ::std::os::raw::c_char,
698    ) -> ::std::os::raw::c_int;
699}
700unsafe extern "C" {
701    pub fn renameat(
702        __oldfd: ::std::os::raw::c_int,
703        __old: *const ::std::os::raw::c_char,
704        __newfd: ::std::os::raw::c_int,
705        __new: *const ::std::os::raw::c_char,
706    ) -> ::std::os::raw::c_int;
707}
708unsafe extern "C" {
709    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
710}
711unsafe extern "C" {
712    pub fn tmpfile() -> *mut FILE;
713}
714unsafe extern "C" {
715    pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
716}
717unsafe extern "C" {
718    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
719}
720unsafe extern "C" {
721    pub fn tempnam(
722        __dir: *const ::std::os::raw::c_char,
723        __pfx: *const ::std::os::raw::c_char,
724    ) -> *mut ::std::os::raw::c_char;
725}
726unsafe extern "C" {
727    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
728}
729unsafe extern "C" {
730    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
731}
732unsafe extern "C" {
733    pub fn fopen(
734        __filename: *const ::std::os::raw::c_char,
735        __modes: *const ::std::os::raw::c_char,
736    ) -> *mut FILE;
737}
738unsafe extern "C" {
739    pub fn freopen(
740        __filename: *const ::std::os::raw::c_char,
741        __modes: *const ::std::os::raw::c_char,
742        __stream: *mut FILE,
743    ) -> *mut FILE;
744}
745unsafe extern "C" {
746    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
747        -> *mut FILE;
748}
749unsafe extern "C" {
750    pub fn fopencookie(
751        __magic_cookie: *mut ::std::os::raw::c_void,
752        __modes: *const ::std::os::raw::c_char,
753        __io_funcs: cookie_io_functions_t,
754    ) -> *mut FILE;
755}
756unsafe extern "C" {
757    pub fn fmemopen(
758        __s: *mut ::std::os::raw::c_void,
759        __len: usize,
760        __modes: *const ::std::os::raw::c_char,
761    ) -> *mut FILE;
762}
763unsafe extern "C" {
764    pub fn open_memstream(
765        __bufloc: *mut *mut ::std::os::raw::c_char,
766        __sizeloc: *mut usize,
767    ) -> *mut FILE;
768}
769unsafe extern "C" {
770    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
771}
772unsafe extern "C" {
773    pub fn setvbuf(
774        __stream: *mut FILE,
775        __buf: *mut ::std::os::raw::c_char,
776        __modes: ::std::os::raw::c_int,
777        __n: usize,
778    ) -> ::std::os::raw::c_int;
779}
780unsafe extern "C" {
781    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
782}
783unsafe extern "C" {
784    pub fn setlinebuf(__stream: *mut FILE);
785}
786unsafe extern "C" {
787    pub fn fprintf(
788        __stream: *mut FILE,
789        __format: *const ::std::os::raw::c_char,
790        ...
791    ) -> ::std::os::raw::c_int;
792}
793unsafe extern "C" {
794    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
795}
796unsafe extern "C" {
797    pub fn sprintf(
798        __s: *mut ::std::os::raw::c_char,
799        __format: *const ::std::os::raw::c_char,
800        ...
801    ) -> ::std::os::raw::c_int;
802}
803unsafe extern "C" {
804    pub fn vfprintf(
805        __s: *mut FILE,
806        __format: *const ::std::os::raw::c_char,
807        __arg: *mut __va_list_tag,
808    ) -> ::std::os::raw::c_int;
809}
810unsafe extern "C" {
811    pub fn vprintf(
812        __format: *const ::std::os::raw::c_char,
813        __arg: *mut __va_list_tag,
814    ) -> ::std::os::raw::c_int;
815}
816unsafe extern "C" {
817    pub fn vsprintf(
818        __s: *mut ::std::os::raw::c_char,
819        __format: *const ::std::os::raw::c_char,
820        __arg: *mut __va_list_tag,
821    ) -> ::std::os::raw::c_int;
822}
823unsafe extern "C" {
824    pub fn snprintf(
825        __s: *mut ::std::os::raw::c_char,
826        __maxlen: ::std::os::raw::c_ulong,
827        __format: *const ::std::os::raw::c_char,
828        ...
829    ) -> ::std::os::raw::c_int;
830}
831unsafe extern "C" {
832    pub fn vsnprintf(
833        __s: *mut ::std::os::raw::c_char,
834        __maxlen: ::std::os::raw::c_ulong,
835        __format: *const ::std::os::raw::c_char,
836        __arg: *mut __va_list_tag,
837    ) -> ::std::os::raw::c_int;
838}
839unsafe extern "C" {
840    pub fn vasprintf(
841        __ptr: *mut *mut ::std::os::raw::c_char,
842        __f: *const ::std::os::raw::c_char,
843        __arg: *mut __va_list_tag,
844    ) -> ::std::os::raw::c_int;
845}
846unsafe extern "C" {
847    pub fn __asprintf(
848        __ptr: *mut *mut ::std::os::raw::c_char,
849        __fmt: *const ::std::os::raw::c_char,
850        ...
851    ) -> ::std::os::raw::c_int;
852}
853unsafe extern "C" {
854    pub fn asprintf(
855        __ptr: *mut *mut ::std::os::raw::c_char,
856        __fmt: *const ::std::os::raw::c_char,
857        ...
858    ) -> ::std::os::raw::c_int;
859}
860unsafe extern "C" {
861    pub fn vdprintf(
862        __fd: ::std::os::raw::c_int,
863        __fmt: *const ::std::os::raw::c_char,
864        __arg: *mut __va_list_tag,
865    ) -> ::std::os::raw::c_int;
866}
867unsafe extern "C" {
868    pub fn dprintf(
869        __fd: ::std::os::raw::c_int,
870        __fmt: *const ::std::os::raw::c_char,
871        ...
872    ) -> ::std::os::raw::c_int;
873}
874unsafe extern "C" {
875    pub fn fscanf(
876        __stream: *mut FILE,
877        __format: *const ::std::os::raw::c_char,
878        ...
879    ) -> ::std::os::raw::c_int;
880}
881unsafe extern "C" {
882    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
883}
884unsafe extern "C" {
885    pub fn sscanf(
886        __s: *const ::std::os::raw::c_char,
887        __format: *const ::std::os::raw::c_char,
888        ...
889    ) -> ::std::os::raw::c_int;
890}
891pub type _Float32 = f32;
892pub type _Float64 = f64;
893pub type _Float32x = f64;
894pub type _Float64x = u128;
895unsafe extern "C" {
896    pub fn vfscanf(
897        __s: *mut FILE,
898        __format: *const ::std::os::raw::c_char,
899        __arg: *mut __va_list_tag,
900    ) -> ::std::os::raw::c_int;
901}
902unsafe extern "C" {
903    pub fn vscanf(
904        __format: *const ::std::os::raw::c_char,
905        __arg: *mut __va_list_tag,
906    ) -> ::std::os::raw::c_int;
907}
908unsafe extern "C" {
909    pub fn vsscanf(
910        __s: *const ::std::os::raw::c_char,
911        __format: *const ::std::os::raw::c_char,
912        __arg: *mut __va_list_tag,
913    ) -> ::std::os::raw::c_int;
914}
915unsafe extern "C" {
916    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
917}
918unsafe extern "C" {
919    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
920}
921unsafe extern "C" {
922    pub fn getchar() -> ::std::os::raw::c_int;
923}
924unsafe extern "C" {
925    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
926}
927unsafe extern "C" {
928    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
929}
930unsafe extern "C" {
931    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
932}
933unsafe extern "C" {
934    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
935}
936unsafe extern "C" {
937    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
938}
939unsafe extern "C" {
940    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
941}
942unsafe extern "C" {
943    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
944        -> ::std::os::raw::c_int;
945}
946unsafe extern "C" {
947    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
948}
949unsafe extern "C" {
950    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
951}
952unsafe extern "C" {
953    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
954}
955unsafe extern "C" {
956    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
957}
958unsafe extern "C" {
959    pub fn fgets(
960        __s: *mut ::std::os::raw::c_char,
961        __n: ::std::os::raw::c_int,
962        __stream: *mut FILE,
963    ) -> *mut ::std::os::raw::c_char;
964}
965unsafe extern "C" {
966    pub fn __getdelim(
967        __lineptr: *mut *mut ::std::os::raw::c_char,
968        __n: *mut usize,
969        __delimiter: ::std::os::raw::c_int,
970        __stream: *mut FILE,
971    ) -> __ssize_t;
972}
973unsafe extern "C" {
974    pub fn getdelim(
975        __lineptr: *mut *mut ::std::os::raw::c_char,
976        __n: *mut usize,
977        __delimiter: ::std::os::raw::c_int,
978        __stream: *mut FILE,
979    ) -> __ssize_t;
980}
981unsafe extern "C" {
982    pub fn getline(
983        __lineptr: *mut *mut ::std::os::raw::c_char,
984        __n: *mut usize,
985        __stream: *mut FILE,
986    ) -> __ssize_t;
987}
988unsafe extern "C" {
989    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
990}
991unsafe extern "C" {
992    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
993}
994unsafe extern "C" {
995    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
996}
997unsafe extern "C" {
998    pub fn fread(
999        __ptr: *mut ::std::os::raw::c_void,
1000        __size: ::std::os::raw::c_ulong,
1001        __n: ::std::os::raw::c_ulong,
1002        __stream: *mut FILE,
1003    ) -> ::std::os::raw::c_ulong;
1004}
1005unsafe extern "C" {
1006    pub fn fwrite(
1007        __ptr: *const ::std::os::raw::c_void,
1008        __size: ::std::os::raw::c_ulong,
1009        __n: ::std::os::raw::c_ulong,
1010        __s: *mut FILE,
1011    ) -> ::std::os::raw::c_ulong;
1012}
1013unsafe extern "C" {
1014    pub fn fread_unlocked(
1015        __ptr: *mut ::std::os::raw::c_void,
1016        __size: usize,
1017        __n: usize,
1018        __stream: *mut FILE,
1019    ) -> usize;
1020}
1021unsafe extern "C" {
1022    pub fn fwrite_unlocked(
1023        __ptr: *const ::std::os::raw::c_void,
1024        __size: usize,
1025        __n: usize,
1026        __stream: *mut FILE,
1027    ) -> usize;
1028}
1029unsafe extern "C" {
1030    pub fn fseek(
1031        __stream: *mut FILE,
1032        __off: ::std::os::raw::c_long,
1033        __whence: ::std::os::raw::c_int,
1034    ) -> ::std::os::raw::c_int;
1035}
1036unsafe extern "C" {
1037    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
1038}
1039unsafe extern "C" {
1040    pub fn rewind(__stream: *mut FILE);
1041}
1042unsafe extern "C" {
1043    pub fn fseeko(
1044        __stream: *mut FILE,
1045        __off: __off_t,
1046        __whence: ::std::os::raw::c_int,
1047    ) -> ::std::os::raw::c_int;
1048}
1049unsafe extern "C" {
1050    pub fn ftello(__stream: *mut FILE) -> __off_t;
1051}
1052unsafe extern "C" {
1053    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
1054}
1055unsafe extern "C" {
1056    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
1057}
1058unsafe extern "C" {
1059    pub fn clearerr(__stream: *mut FILE);
1060}
1061unsafe extern "C" {
1062    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
1063}
1064unsafe extern "C" {
1065    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
1066}
1067unsafe extern "C" {
1068    pub fn clearerr_unlocked(__stream: *mut FILE);
1069}
1070unsafe extern "C" {
1071    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1072}
1073unsafe extern "C" {
1074    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1075}
1076unsafe extern "C" {
1077    pub fn perror(__s: *const ::std::os::raw::c_char);
1078}
1079unsafe extern "C" {
1080    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
1081}
1082unsafe extern "C" {
1083    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1084}
1085unsafe extern "C" {
1086    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1087}
1088unsafe extern "C" {
1089    pub fn popen(
1090        __command: *const ::std::os::raw::c_char,
1091        __modes: *const ::std::os::raw::c_char,
1092    ) -> *mut FILE;
1093}
1094unsafe extern "C" {
1095    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1096}
1097unsafe extern "C" {
1098    pub fn flockfile(__stream: *mut FILE);
1099}
1100unsafe extern "C" {
1101    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
1102}
1103unsafe extern "C" {
1104    pub fn funlockfile(__stream: *mut FILE);
1105}
1106unsafe extern "C" {
1107    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
1108}
1109unsafe extern "C" {
1110    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1111}
1112pub type wchar_t = ::std::os::raw::c_int;
1113#[repr(C)]
1114#[derive(Debug, Copy, Clone)]
1115pub struct div_t {
1116    pub quot: ::std::os::raw::c_int,
1117    pub rem: ::std::os::raw::c_int,
1118}
1119#[repr(C)]
1120#[derive(Debug, Copy, Clone)]
1121pub struct ldiv_t {
1122    pub quot: ::std::os::raw::c_long,
1123    pub rem: ::std::os::raw::c_long,
1124}
1125#[repr(C)]
1126#[derive(Debug, Copy, Clone)]
1127pub struct lldiv_t {
1128    pub quot: ::std::os::raw::c_longlong,
1129    pub rem: ::std::os::raw::c_longlong,
1130}
1131unsafe extern "C" {
1132    pub fn __ctype_get_mb_cur_max() -> usize;
1133}
1134unsafe extern "C" {
1135    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
1136}
1137unsafe extern "C" {
1138    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1139}
1140unsafe extern "C" {
1141    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
1142}
1143unsafe extern "C" {
1144    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
1145}
1146unsafe extern "C" {
1147    pub fn strtod(
1148        __nptr: *const ::std::os::raw::c_char,
1149        __endptr: *mut *mut ::std::os::raw::c_char,
1150    ) -> f64;
1151}
1152unsafe extern "C" {
1153    pub fn strtof(
1154        __nptr: *const ::std::os::raw::c_char,
1155        __endptr: *mut *mut ::std::os::raw::c_char,
1156    ) -> f32;
1157}
1158unsafe extern "C" {
1159    pub fn strtold(
1160        __nptr: *const ::std::os::raw::c_char,
1161        __endptr: *mut *mut ::std::os::raw::c_char,
1162    ) -> u128;
1163}
1164unsafe extern "C" {
1165    pub fn strtol(
1166        __nptr: *const ::std::os::raw::c_char,
1167        __endptr: *mut *mut ::std::os::raw::c_char,
1168        __base: ::std::os::raw::c_int,
1169    ) -> ::std::os::raw::c_long;
1170}
1171unsafe extern "C" {
1172    pub fn strtoul(
1173        __nptr: *const ::std::os::raw::c_char,
1174        __endptr: *mut *mut ::std::os::raw::c_char,
1175        __base: ::std::os::raw::c_int,
1176    ) -> ::std::os::raw::c_ulong;
1177}
1178unsafe extern "C" {
1179    pub fn strtoq(
1180        __nptr: *const ::std::os::raw::c_char,
1181        __endptr: *mut *mut ::std::os::raw::c_char,
1182        __base: ::std::os::raw::c_int,
1183    ) -> ::std::os::raw::c_longlong;
1184}
1185unsafe extern "C" {
1186    pub fn strtouq(
1187        __nptr: *const ::std::os::raw::c_char,
1188        __endptr: *mut *mut ::std::os::raw::c_char,
1189        __base: ::std::os::raw::c_int,
1190    ) -> ::std::os::raw::c_ulonglong;
1191}
1192unsafe extern "C" {
1193    pub fn strtoll(
1194        __nptr: *const ::std::os::raw::c_char,
1195        __endptr: *mut *mut ::std::os::raw::c_char,
1196        __base: ::std::os::raw::c_int,
1197    ) -> ::std::os::raw::c_longlong;
1198}
1199unsafe extern "C" {
1200    pub fn strtoull(
1201        __nptr: *const ::std::os::raw::c_char,
1202        __endptr: *mut *mut ::std::os::raw::c_char,
1203        __base: ::std::os::raw::c_int,
1204    ) -> ::std::os::raw::c_ulonglong;
1205}
1206unsafe extern "C" {
1207    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
1208}
1209unsafe extern "C" {
1210    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
1211}
1212pub type u_char = __u_char;
1213pub type u_short = __u_short;
1214pub type u_int = __u_int;
1215pub type u_long = __u_long;
1216pub type quad_t = __quad_t;
1217pub type u_quad_t = __u_quad_t;
1218pub type fsid_t = __fsid_t;
1219pub type loff_t = __loff_t;
1220pub type ino_t = __ino_t;
1221pub type dev_t = __dev_t;
1222pub type gid_t = __gid_t;
1223pub type mode_t = __mode_t;
1224pub type nlink_t = __nlink_t;
1225pub type uid_t = __uid_t;
1226pub type pid_t = __pid_t;
1227pub type id_t = __id_t;
1228pub type daddr_t = __daddr_t;
1229pub type caddr_t = __caddr_t;
1230pub type key_t = __key_t;
1231pub type clock_t = __clock_t;
1232pub type clockid_t = __clockid_t;
1233pub type time_t = __time_t;
1234pub type timer_t = __timer_t;
1235pub type ulong = ::std::os::raw::c_ulong;
1236pub type ushort = ::std::os::raw::c_ushort;
1237pub type uint = ::std::os::raw::c_uint;
1238pub type u_int8_t = __uint8_t;
1239pub type u_int16_t = __uint16_t;
1240pub type u_int32_t = __uint32_t;
1241pub type u_int64_t = __uint64_t;
1242pub type register_t = ::std::os::raw::c_long;
1243#[repr(C)]
1244#[derive(Debug, Copy, Clone)]
1245pub struct __sigset_t {
1246    pub __val: [::std::os::raw::c_ulong; 16usize],
1247}
1248pub type sigset_t = __sigset_t;
1249#[repr(C)]
1250#[derive(Debug, Copy, Clone)]
1251pub struct timeval {
1252    pub tv_sec: __time_t,
1253    pub tv_usec: __suseconds_t,
1254}
1255#[repr(C)]
1256#[derive(Debug, Copy, Clone)]
1257pub struct timespec {
1258    pub tv_sec: __time_t,
1259    pub tv_nsec: __syscall_slong_t,
1260}
1261pub type suseconds_t = __suseconds_t;
1262pub type __fd_mask = ::std::os::raw::c_long;
1263#[repr(C)]
1264#[derive(Debug, Copy, Clone)]
1265pub struct fd_set {
1266    pub __fds_bits: [__fd_mask; 16usize],
1267}
1268pub type fd_mask = __fd_mask;
1269unsafe extern "C" {
1270    pub fn select(
1271        __nfds: ::std::os::raw::c_int,
1272        __readfds: *mut fd_set,
1273        __writefds: *mut fd_set,
1274        __exceptfds: *mut fd_set,
1275        __timeout: *mut timeval,
1276    ) -> ::std::os::raw::c_int;
1277}
1278unsafe extern "C" {
1279    pub fn pselect(
1280        __nfds: ::std::os::raw::c_int,
1281        __readfds: *mut fd_set,
1282        __writefds: *mut fd_set,
1283        __exceptfds: *mut fd_set,
1284        __timeout: *const timespec,
1285        __sigmask: *const __sigset_t,
1286    ) -> ::std::os::raw::c_int;
1287}
1288pub type blksize_t = __blksize_t;
1289pub type blkcnt_t = __blkcnt_t;
1290pub type fsblkcnt_t = __fsblkcnt_t;
1291pub type fsfilcnt_t = __fsfilcnt_t;
1292#[repr(C)]
1293#[derive(Copy, Clone)]
1294pub union __atomic_wide_counter {
1295    pub __value64: ::std::os::raw::c_ulonglong,
1296    pub __value32: __atomic_wide_counter__bindgen_ty_1,
1297}
1298#[repr(C)]
1299#[derive(Debug, Copy, Clone)]
1300pub struct __atomic_wide_counter__bindgen_ty_1 {
1301    pub __low: ::std::os::raw::c_uint,
1302    pub __high: ::std::os::raw::c_uint,
1303}
1304#[repr(C)]
1305#[derive(Debug, Copy, Clone)]
1306pub struct __pthread_internal_list {
1307    pub __prev: *mut __pthread_internal_list,
1308    pub __next: *mut __pthread_internal_list,
1309}
1310pub type __pthread_list_t = __pthread_internal_list;
1311#[repr(C)]
1312#[derive(Debug, Copy, Clone)]
1313pub struct __pthread_internal_slist {
1314    pub __next: *mut __pthread_internal_slist,
1315}
1316pub type __pthread_slist_t = __pthread_internal_slist;
1317#[repr(C)]
1318#[derive(Debug, Copy, Clone)]
1319pub struct __pthread_mutex_s {
1320    pub __lock: ::std::os::raw::c_int,
1321    pub __count: ::std::os::raw::c_uint,
1322    pub __owner: ::std::os::raw::c_int,
1323    pub __nusers: ::std::os::raw::c_uint,
1324    pub __kind: ::std::os::raw::c_int,
1325    pub __spins: ::std::os::raw::c_short,
1326    pub __elision: ::std::os::raw::c_short,
1327    pub __list: __pthread_list_t,
1328}
1329#[repr(C)]
1330#[derive(Debug, Copy, Clone)]
1331pub struct __pthread_rwlock_arch_t {
1332    pub __readers: ::std::os::raw::c_uint,
1333    pub __writers: ::std::os::raw::c_uint,
1334    pub __wrphase_futex: ::std::os::raw::c_uint,
1335    pub __writers_futex: ::std::os::raw::c_uint,
1336    pub __pad3: ::std::os::raw::c_uint,
1337    pub __pad4: ::std::os::raw::c_uint,
1338    pub __cur_writer: ::std::os::raw::c_int,
1339    pub __shared: ::std::os::raw::c_int,
1340    pub __rwelision: ::std::os::raw::c_schar,
1341    pub __pad1: [::std::os::raw::c_uchar; 7usize],
1342    pub __pad2: ::std::os::raw::c_ulong,
1343    pub __flags: ::std::os::raw::c_uint,
1344}
1345#[repr(C)]
1346#[derive(Copy, Clone)]
1347pub struct __pthread_cond_s {
1348    pub __wseq: __atomic_wide_counter,
1349    pub __g1_start: __atomic_wide_counter,
1350    pub __g_refs: [::std::os::raw::c_uint; 2usize],
1351    pub __g_size: [::std::os::raw::c_uint; 2usize],
1352    pub __g1_orig_size: ::std::os::raw::c_uint,
1353    pub __wrefs: ::std::os::raw::c_uint,
1354    pub __g_signals: [::std::os::raw::c_uint; 2usize],
1355}
1356pub type __tss_t = ::std::os::raw::c_uint;
1357pub type __thrd_t = ::std::os::raw::c_ulong;
1358#[repr(C)]
1359#[derive(Debug, Copy, Clone)]
1360pub struct __once_flag {
1361    pub __data: ::std::os::raw::c_int,
1362}
1363pub type pthread_t = ::std::os::raw::c_ulong;
1364#[repr(C)]
1365#[derive(Copy, Clone)]
1366pub union pthread_mutexattr_t {
1367    pub __size: [::std::os::raw::c_char; 4usize],
1368    pub __align: ::std::os::raw::c_int,
1369}
1370#[repr(C)]
1371#[derive(Copy, Clone)]
1372pub union pthread_condattr_t {
1373    pub __size: [::std::os::raw::c_char; 4usize],
1374    pub __align: ::std::os::raw::c_int,
1375}
1376pub type pthread_key_t = ::std::os::raw::c_uint;
1377pub type pthread_once_t = ::std::os::raw::c_int;
1378#[repr(C)]
1379#[derive(Copy, Clone)]
1380pub union pthread_attr_t {
1381    pub __size: [::std::os::raw::c_char; 56usize],
1382    pub __align: ::std::os::raw::c_long,
1383}
1384#[repr(C)]
1385#[derive(Copy, Clone)]
1386pub union pthread_mutex_t {
1387    pub __data: __pthread_mutex_s,
1388    pub __size: [::std::os::raw::c_char; 40usize],
1389    pub __align: ::std::os::raw::c_long,
1390}
1391#[repr(C)]
1392#[derive(Copy, Clone)]
1393pub union pthread_cond_t {
1394    pub __data: __pthread_cond_s,
1395    pub __size: [::std::os::raw::c_char; 48usize],
1396    pub __align: ::std::os::raw::c_longlong,
1397}
1398#[repr(C)]
1399#[derive(Copy, Clone)]
1400pub union pthread_rwlock_t {
1401    pub __data: __pthread_rwlock_arch_t,
1402    pub __size: [::std::os::raw::c_char; 56usize],
1403    pub __align: ::std::os::raw::c_long,
1404}
1405#[repr(C)]
1406#[derive(Copy, Clone)]
1407pub union pthread_rwlockattr_t {
1408    pub __size: [::std::os::raw::c_char; 8usize],
1409    pub __align: ::std::os::raw::c_long,
1410}
1411pub type pthread_spinlock_t = ::std::os::raw::c_int;
1412#[repr(C)]
1413#[derive(Copy, Clone)]
1414pub union pthread_barrier_t {
1415    pub __size: [::std::os::raw::c_char; 32usize],
1416    pub __align: ::std::os::raw::c_long,
1417}
1418#[repr(C)]
1419#[derive(Copy, Clone)]
1420pub union pthread_barrierattr_t {
1421    pub __size: [::std::os::raw::c_char; 4usize],
1422    pub __align: ::std::os::raw::c_int,
1423}
1424unsafe extern "C" {
1425    pub fn random() -> ::std::os::raw::c_long;
1426}
1427unsafe extern "C" {
1428    pub fn srandom(__seed: ::std::os::raw::c_uint);
1429}
1430unsafe extern "C" {
1431    pub fn initstate(
1432        __seed: ::std::os::raw::c_uint,
1433        __statebuf: *mut ::std::os::raw::c_char,
1434        __statelen: usize,
1435    ) -> *mut ::std::os::raw::c_char;
1436}
1437unsafe extern "C" {
1438    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1439}
1440#[repr(C)]
1441#[derive(Debug, Copy, Clone)]
1442pub struct random_data {
1443    pub fptr: *mut i32,
1444    pub rptr: *mut i32,
1445    pub state: *mut i32,
1446    pub rand_type: ::std::os::raw::c_int,
1447    pub rand_deg: ::std::os::raw::c_int,
1448    pub rand_sep: ::std::os::raw::c_int,
1449    pub end_ptr: *mut i32,
1450}
1451unsafe extern "C" {
1452    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
1453}
1454unsafe extern "C" {
1455    pub fn srandom_r(
1456        __seed: ::std::os::raw::c_uint,
1457        __buf: *mut random_data,
1458    ) -> ::std::os::raw::c_int;
1459}
1460unsafe extern "C" {
1461    pub fn initstate_r(
1462        __seed: ::std::os::raw::c_uint,
1463        __statebuf: *mut ::std::os::raw::c_char,
1464        __statelen: usize,
1465        __buf: *mut random_data,
1466    ) -> ::std::os::raw::c_int;
1467}
1468unsafe extern "C" {
1469    pub fn setstate_r(
1470        __statebuf: *mut ::std::os::raw::c_char,
1471        __buf: *mut random_data,
1472    ) -> ::std::os::raw::c_int;
1473}
1474unsafe extern "C" {
1475    pub fn rand() -> ::std::os::raw::c_int;
1476}
1477unsafe extern "C" {
1478    pub fn srand(__seed: ::std::os::raw::c_uint);
1479}
1480unsafe extern "C" {
1481    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
1482}
1483unsafe extern "C" {
1484    pub fn drand48() -> f64;
1485}
1486unsafe extern "C" {
1487    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
1488}
1489unsafe extern "C" {
1490    pub fn lrand48() -> ::std::os::raw::c_long;
1491}
1492unsafe extern "C" {
1493    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
1494}
1495unsafe extern "C" {
1496    pub fn mrand48() -> ::std::os::raw::c_long;
1497}
1498unsafe extern "C" {
1499    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
1500}
1501unsafe extern "C" {
1502    pub fn srand48(__seedval: ::std::os::raw::c_long);
1503}
1504unsafe extern "C" {
1505    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
1506}
1507unsafe extern "C" {
1508    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
1509}
1510#[repr(C)]
1511#[derive(Debug, Copy, Clone)]
1512pub struct drand48_data {
1513    pub __x: [::std::os::raw::c_ushort; 3usize],
1514    pub __old_x: [::std::os::raw::c_ushort; 3usize],
1515    pub __c: ::std::os::raw::c_ushort,
1516    pub __init: ::std::os::raw::c_ushort,
1517    pub __a: ::std::os::raw::c_ulonglong,
1518}
1519unsafe extern "C" {
1520    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
1521}
1522unsafe extern "C" {
1523    pub fn erand48_r(
1524        __xsubi: *mut ::std::os::raw::c_ushort,
1525        __buffer: *mut drand48_data,
1526        __result: *mut f64,
1527    ) -> ::std::os::raw::c_int;
1528}
1529unsafe extern "C" {
1530    pub fn lrand48_r(
1531        __buffer: *mut drand48_data,
1532        __result: *mut ::std::os::raw::c_long,
1533    ) -> ::std::os::raw::c_int;
1534}
1535unsafe extern "C" {
1536    pub fn nrand48_r(
1537        __xsubi: *mut ::std::os::raw::c_ushort,
1538        __buffer: *mut drand48_data,
1539        __result: *mut ::std::os::raw::c_long,
1540    ) -> ::std::os::raw::c_int;
1541}
1542unsafe extern "C" {
1543    pub fn mrand48_r(
1544        __buffer: *mut drand48_data,
1545        __result: *mut ::std::os::raw::c_long,
1546    ) -> ::std::os::raw::c_int;
1547}
1548unsafe extern "C" {
1549    pub fn jrand48_r(
1550        __xsubi: *mut ::std::os::raw::c_ushort,
1551        __buffer: *mut drand48_data,
1552        __result: *mut ::std::os::raw::c_long,
1553    ) -> ::std::os::raw::c_int;
1554}
1555unsafe extern "C" {
1556    pub fn srand48_r(
1557        __seedval: ::std::os::raw::c_long,
1558        __buffer: *mut drand48_data,
1559    ) -> ::std::os::raw::c_int;
1560}
1561unsafe extern "C" {
1562    pub fn seed48_r(
1563        __seed16v: *mut ::std::os::raw::c_ushort,
1564        __buffer: *mut drand48_data,
1565    ) -> ::std::os::raw::c_int;
1566}
1567unsafe extern "C" {
1568    pub fn lcong48_r(
1569        __param: *mut ::std::os::raw::c_ushort,
1570        __buffer: *mut drand48_data,
1571    ) -> ::std::os::raw::c_int;
1572}
1573unsafe extern "C" {
1574    pub fn arc4random() -> __uint32_t;
1575}
1576unsafe extern "C" {
1577    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __size: usize);
1578}
1579unsafe extern "C" {
1580    pub fn arc4random_uniform(__upper_bound: __uint32_t) -> __uint32_t;
1581}
1582unsafe extern "C" {
1583    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
1584}
1585unsafe extern "C" {
1586    pub fn calloc(
1587        __nmemb: ::std::os::raw::c_ulong,
1588        __size: ::std::os::raw::c_ulong,
1589    ) -> *mut ::std::os::raw::c_void;
1590}
1591unsafe extern "C" {
1592    pub fn realloc(
1593        __ptr: *mut ::std::os::raw::c_void,
1594        __size: ::std::os::raw::c_ulong,
1595    ) -> *mut ::std::os::raw::c_void;
1596}
1597unsafe extern "C" {
1598    pub fn free(__ptr: *mut ::std::os::raw::c_void);
1599}
1600unsafe extern "C" {
1601    pub fn reallocarray(
1602        __ptr: *mut ::std::os::raw::c_void,
1603        __nmemb: usize,
1604        __size: usize,
1605    ) -> *mut ::std::os::raw::c_void;
1606}
1607unsafe extern "C" {
1608    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
1609}
1610unsafe extern "C" {
1611    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
1612}
1613unsafe extern "C" {
1614    pub fn posix_memalign(
1615        __memptr: *mut *mut ::std::os::raw::c_void,
1616        __alignment: usize,
1617        __size: usize,
1618    ) -> ::std::os::raw::c_int;
1619}
1620unsafe extern "C" {
1621    pub fn aligned_alloc(
1622        __alignment: ::std::os::raw::c_ulong,
1623        __size: ::std::os::raw::c_ulong,
1624    ) -> *mut ::std::os::raw::c_void;
1625}
1626unsafe extern "C" {
1627    pub fn abort() -> !;
1628}
1629unsafe extern "C" {
1630    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
1631}
1632unsafe extern "C" {
1633    pub fn at_quick_exit(
1634        __func: ::std::option::Option<unsafe extern "C" fn()>,
1635    ) -> ::std::os::raw::c_int;
1636}
1637unsafe extern "C" {
1638    pub fn on_exit(
1639        __func: ::std::option::Option<
1640            unsafe extern "C" fn(
1641                __status: ::std::os::raw::c_int,
1642                __arg: *mut ::std::os::raw::c_void,
1643            ),
1644        >,
1645        __arg: *mut ::std::os::raw::c_void,
1646    ) -> ::std::os::raw::c_int;
1647}
1648unsafe extern "C" {
1649    pub fn exit(__status: ::std::os::raw::c_int) -> !;
1650}
1651unsafe extern "C" {
1652    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
1653}
1654unsafe extern "C" {
1655    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
1656}
1657unsafe extern "C" {
1658    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1659}
1660unsafe extern "C" {
1661    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1662}
1663unsafe extern "C" {
1664    pub fn setenv(
1665        __name: *const ::std::os::raw::c_char,
1666        __value: *const ::std::os::raw::c_char,
1667        __replace: ::std::os::raw::c_int,
1668    ) -> ::std::os::raw::c_int;
1669}
1670unsafe extern "C" {
1671    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1672}
1673unsafe extern "C" {
1674    pub fn clearenv() -> ::std::os::raw::c_int;
1675}
1676unsafe extern "C" {
1677    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1678}
1679unsafe extern "C" {
1680    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1681}
1682unsafe extern "C" {
1683    pub fn mkstemps(
1684        __template: *mut ::std::os::raw::c_char,
1685        __suffixlen: ::std::os::raw::c_int,
1686    ) -> ::std::os::raw::c_int;
1687}
1688unsafe extern "C" {
1689    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1690}
1691unsafe extern "C" {
1692    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1693}
1694unsafe extern "C" {
1695    pub fn realpath(
1696        __name: *const ::std::os::raw::c_char,
1697        __resolved: *mut ::std::os::raw::c_char,
1698    ) -> *mut ::std::os::raw::c_char;
1699}
1700pub type __compar_fn_t = ::std::option::Option<
1701    unsafe extern "C" fn(
1702        arg1: *const ::std::os::raw::c_void,
1703        arg2: *const ::std::os::raw::c_void,
1704    ) -> ::std::os::raw::c_int,
1705>;
1706unsafe extern "C" {
1707    pub fn bsearch(
1708        __key: *const ::std::os::raw::c_void,
1709        __base: *const ::std::os::raw::c_void,
1710        __nmemb: usize,
1711        __size: usize,
1712        __compar: __compar_fn_t,
1713    ) -> *mut ::std::os::raw::c_void;
1714}
1715unsafe extern "C" {
1716    pub fn qsort(
1717        __base: *mut ::std::os::raw::c_void,
1718        __nmemb: usize,
1719        __size: usize,
1720        __compar: __compar_fn_t,
1721    );
1722}
1723unsafe extern "C" {
1724    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1725}
1726unsafe extern "C" {
1727    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
1728}
1729unsafe extern "C" {
1730    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
1731}
1732unsafe extern "C" {
1733    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
1734}
1735unsafe extern "C" {
1736    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
1737}
1738unsafe extern "C" {
1739    pub fn lldiv(
1740        __numer: ::std::os::raw::c_longlong,
1741        __denom: ::std::os::raw::c_longlong,
1742    ) -> lldiv_t;
1743}
1744unsafe extern "C" {
1745    pub fn ecvt(
1746        __value: f64,
1747        __ndigit: ::std::os::raw::c_int,
1748        __decpt: *mut ::std::os::raw::c_int,
1749        __sign: *mut ::std::os::raw::c_int,
1750    ) -> *mut ::std::os::raw::c_char;
1751}
1752unsafe extern "C" {
1753    pub fn fcvt(
1754        __value: f64,
1755        __ndigit: ::std::os::raw::c_int,
1756        __decpt: *mut ::std::os::raw::c_int,
1757        __sign: *mut ::std::os::raw::c_int,
1758    ) -> *mut ::std::os::raw::c_char;
1759}
1760unsafe extern "C" {
1761    pub fn gcvt(
1762        __value: f64,
1763        __ndigit: ::std::os::raw::c_int,
1764        __buf: *mut ::std::os::raw::c_char,
1765    ) -> *mut ::std::os::raw::c_char;
1766}
1767unsafe extern "C" {
1768    pub fn qecvt(
1769        __value: u128,
1770        __ndigit: ::std::os::raw::c_int,
1771        __decpt: *mut ::std::os::raw::c_int,
1772        __sign: *mut ::std::os::raw::c_int,
1773    ) -> *mut ::std::os::raw::c_char;
1774}
1775unsafe extern "C" {
1776    pub fn qfcvt(
1777        __value: u128,
1778        __ndigit: ::std::os::raw::c_int,
1779        __decpt: *mut ::std::os::raw::c_int,
1780        __sign: *mut ::std::os::raw::c_int,
1781    ) -> *mut ::std::os::raw::c_char;
1782}
1783unsafe extern "C" {
1784    pub fn qgcvt(
1785        __value: u128,
1786        __ndigit: ::std::os::raw::c_int,
1787        __buf: *mut ::std::os::raw::c_char,
1788    ) -> *mut ::std::os::raw::c_char;
1789}
1790unsafe extern "C" {
1791    pub fn ecvt_r(
1792        __value: f64,
1793        __ndigit: ::std::os::raw::c_int,
1794        __decpt: *mut ::std::os::raw::c_int,
1795        __sign: *mut ::std::os::raw::c_int,
1796        __buf: *mut ::std::os::raw::c_char,
1797        __len: usize,
1798    ) -> ::std::os::raw::c_int;
1799}
1800unsafe extern "C" {
1801    pub fn fcvt_r(
1802        __value: f64,
1803        __ndigit: ::std::os::raw::c_int,
1804        __decpt: *mut ::std::os::raw::c_int,
1805        __sign: *mut ::std::os::raw::c_int,
1806        __buf: *mut ::std::os::raw::c_char,
1807        __len: usize,
1808    ) -> ::std::os::raw::c_int;
1809}
1810unsafe extern "C" {
1811    pub fn qecvt_r(
1812        __value: u128,
1813        __ndigit: ::std::os::raw::c_int,
1814        __decpt: *mut ::std::os::raw::c_int,
1815        __sign: *mut ::std::os::raw::c_int,
1816        __buf: *mut ::std::os::raw::c_char,
1817        __len: usize,
1818    ) -> ::std::os::raw::c_int;
1819}
1820unsafe extern "C" {
1821    pub fn qfcvt_r(
1822        __value: u128,
1823        __ndigit: ::std::os::raw::c_int,
1824        __decpt: *mut ::std::os::raw::c_int,
1825        __sign: *mut ::std::os::raw::c_int,
1826        __buf: *mut ::std::os::raw::c_char,
1827        __len: usize,
1828    ) -> ::std::os::raw::c_int;
1829}
1830unsafe extern "C" {
1831    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
1832}
1833unsafe extern "C" {
1834    pub fn mbtowc(
1835        __pwc: *mut wchar_t,
1836        __s: *const ::std::os::raw::c_char,
1837        __n: usize,
1838    ) -> ::std::os::raw::c_int;
1839}
1840unsafe extern "C" {
1841    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
1842}
1843unsafe extern "C" {
1844    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
1845}
1846unsafe extern "C" {
1847    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
1848}
1849unsafe extern "C" {
1850    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1851}
1852unsafe extern "C" {
1853    pub fn getsubopt(
1854        __optionp: *mut *mut ::std::os::raw::c_char,
1855        __tokens: *const *mut ::std::os::raw::c_char,
1856        __valuep: *mut *mut ::std::os::raw::c_char,
1857    ) -> ::std::os::raw::c_int;
1858}
1859unsafe extern "C" {
1860    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
1861        -> ::std::os::raw::c_int;
1862}
1863unsafe extern "C" {
1864    pub fn memcpy(
1865        __dest: *mut ::std::os::raw::c_void,
1866        __src: *const ::std::os::raw::c_void,
1867        __n: ::std::os::raw::c_ulong,
1868    ) -> *mut ::std::os::raw::c_void;
1869}
1870unsafe extern "C" {
1871    pub fn memmove(
1872        __dest: *mut ::std::os::raw::c_void,
1873        __src: *const ::std::os::raw::c_void,
1874        __n: ::std::os::raw::c_ulong,
1875    ) -> *mut ::std::os::raw::c_void;
1876}
1877unsafe extern "C" {
1878    pub fn memccpy(
1879        __dest: *mut ::std::os::raw::c_void,
1880        __src: *const ::std::os::raw::c_void,
1881        __c: ::std::os::raw::c_int,
1882        __n: ::std::os::raw::c_ulong,
1883    ) -> *mut ::std::os::raw::c_void;
1884}
1885unsafe extern "C" {
1886    pub fn memset(
1887        __s: *mut ::std::os::raw::c_void,
1888        __c: ::std::os::raw::c_int,
1889        __n: ::std::os::raw::c_ulong,
1890    ) -> *mut ::std::os::raw::c_void;
1891}
1892unsafe extern "C" {
1893    pub fn memcmp(
1894        __s1: *const ::std::os::raw::c_void,
1895        __s2: *const ::std::os::raw::c_void,
1896        __n: ::std::os::raw::c_ulong,
1897    ) -> ::std::os::raw::c_int;
1898}
1899unsafe extern "C" {
1900    pub fn __memcmpeq(
1901        __s1: *const ::std::os::raw::c_void,
1902        __s2: *const ::std::os::raw::c_void,
1903        __n: usize,
1904    ) -> ::std::os::raw::c_int;
1905}
1906unsafe extern "C" {
1907    pub fn memchr(
1908        __s: *const ::std::os::raw::c_void,
1909        __c: ::std::os::raw::c_int,
1910        __n: ::std::os::raw::c_ulong,
1911    ) -> *mut ::std::os::raw::c_void;
1912}
1913unsafe extern "C" {
1914    pub fn strcpy(
1915        __dest: *mut ::std::os::raw::c_char,
1916        __src: *const ::std::os::raw::c_char,
1917    ) -> *mut ::std::os::raw::c_char;
1918}
1919unsafe extern "C" {
1920    pub fn strncpy(
1921        __dest: *mut ::std::os::raw::c_char,
1922        __src: *const ::std::os::raw::c_char,
1923        __n: ::std::os::raw::c_ulong,
1924    ) -> *mut ::std::os::raw::c_char;
1925}
1926unsafe extern "C" {
1927    pub fn strcat(
1928        __dest: *mut ::std::os::raw::c_char,
1929        __src: *const ::std::os::raw::c_char,
1930    ) -> *mut ::std::os::raw::c_char;
1931}
1932unsafe extern "C" {
1933    pub fn strncat(
1934        __dest: *mut ::std::os::raw::c_char,
1935        __src: *const ::std::os::raw::c_char,
1936        __n: ::std::os::raw::c_ulong,
1937    ) -> *mut ::std::os::raw::c_char;
1938}
1939unsafe extern "C" {
1940    pub fn strcmp(
1941        __s1: *const ::std::os::raw::c_char,
1942        __s2: *const ::std::os::raw::c_char,
1943    ) -> ::std::os::raw::c_int;
1944}
1945unsafe extern "C" {
1946    pub fn strncmp(
1947        __s1: *const ::std::os::raw::c_char,
1948        __s2: *const ::std::os::raw::c_char,
1949        __n: ::std::os::raw::c_ulong,
1950    ) -> ::std::os::raw::c_int;
1951}
1952unsafe extern "C" {
1953    pub fn strcoll(
1954        __s1: *const ::std::os::raw::c_char,
1955        __s2: *const ::std::os::raw::c_char,
1956    ) -> ::std::os::raw::c_int;
1957}
1958unsafe extern "C" {
1959    pub fn strxfrm(
1960        __dest: *mut ::std::os::raw::c_char,
1961        __src: *const ::std::os::raw::c_char,
1962        __n: ::std::os::raw::c_ulong,
1963    ) -> ::std::os::raw::c_ulong;
1964}
1965#[repr(C)]
1966#[derive(Debug, Copy, Clone)]
1967pub struct __locale_struct {
1968    pub __locales: [*mut __locale_data; 13usize],
1969    pub __ctype_b: *const ::std::os::raw::c_ushort,
1970    pub __ctype_tolower: *const ::std::os::raw::c_int,
1971    pub __ctype_toupper: *const ::std::os::raw::c_int,
1972    pub __names: [*const ::std::os::raw::c_char; 13usize],
1973}
1974pub type __locale_t = *mut __locale_struct;
1975pub type locale_t = __locale_t;
1976unsafe extern "C" {
1977    pub fn strcoll_l(
1978        __s1: *const ::std::os::raw::c_char,
1979        __s2: *const ::std::os::raw::c_char,
1980        __l: locale_t,
1981    ) -> ::std::os::raw::c_int;
1982}
1983unsafe extern "C" {
1984    pub fn strxfrm_l(
1985        __dest: *mut ::std::os::raw::c_char,
1986        __src: *const ::std::os::raw::c_char,
1987        __n: usize,
1988        __l: locale_t,
1989    ) -> usize;
1990}
1991unsafe extern "C" {
1992    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1993}
1994unsafe extern "C" {
1995    pub fn strndup(
1996        __string: *const ::std::os::raw::c_char,
1997        __n: ::std::os::raw::c_ulong,
1998    ) -> *mut ::std::os::raw::c_char;
1999}
2000unsafe extern "C" {
2001    pub fn strchr(
2002        __s: *const ::std::os::raw::c_char,
2003        __c: ::std::os::raw::c_int,
2004    ) -> *mut ::std::os::raw::c_char;
2005}
2006unsafe extern "C" {
2007    pub fn strrchr(
2008        __s: *const ::std::os::raw::c_char,
2009        __c: ::std::os::raw::c_int,
2010    ) -> *mut ::std::os::raw::c_char;
2011}
2012unsafe extern "C" {
2013    pub fn strchrnul(
2014        __s: *const ::std::os::raw::c_char,
2015        __c: ::std::os::raw::c_int,
2016    ) -> *mut ::std::os::raw::c_char;
2017}
2018unsafe extern "C" {
2019    pub fn strcspn(
2020        __s: *const ::std::os::raw::c_char,
2021        __reject: *const ::std::os::raw::c_char,
2022    ) -> ::std::os::raw::c_ulong;
2023}
2024unsafe extern "C" {
2025    pub fn strspn(
2026        __s: *const ::std::os::raw::c_char,
2027        __accept: *const ::std::os::raw::c_char,
2028    ) -> ::std::os::raw::c_ulong;
2029}
2030unsafe extern "C" {
2031    pub fn strpbrk(
2032        __s: *const ::std::os::raw::c_char,
2033        __accept: *const ::std::os::raw::c_char,
2034    ) -> *mut ::std::os::raw::c_char;
2035}
2036unsafe extern "C" {
2037    pub fn strstr(
2038        __haystack: *const ::std::os::raw::c_char,
2039        __needle: *const ::std::os::raw::c_char,
2040    ) -> *mut ::std::os::raw::c_char;
2041}
2042unsafe extern "C" {
2043    pub fn strtok(
2044        __s: *mut ::std::os::raw::c_char,
2045        __delim: *const ::std::os::raw::c_char,
2046    ) -> *mut ::std::os::raw::c_char;
2047}
2048unsafe extern "C" {
2049    pub fn __strtok_r(
2050        __s: *mut ::std::os::raw::c_char,
2051        __delim: *const ::std::os::raw::c_char,
2052        __save_ptr: *mut *mut ::std::os::raw::c_char,
2053    ) -> *mut ::std::os::raw::c_char;
2054}
2055unsafe extern "C" {
2056    pub fn strtok_r(
2057        __s: *mut ::std::os::raw::c_char,
2058        __delim: *const ::std::os::raw::c_char,
2059        __save_ptr: *mut *mut ::std::os::raw::c_char,
2060    ) -> *mut ::std::os::raw::c_char;
2061}
2062unsafe extern "C" {
2063    pub fn strcasestr(
2064        __haystack: *const ::std::os::raw::c_char,
2065        __needle: *const ::std::os::raw::c_char,
2066    ) -> *mut ::std::os::raw::c_char;
2067}
2068unsafe extern "C" {
2069    pub fn memmem(
2070        __haystack: *const ::std::os::raw::c_void,
2071        __haystacklen: usize,
2072        __needle: *const ::std::os::raw::c_void,
2073        __needlelen: usize,
2074    ) -> *mut ::std::os::raw::c_void;
2075}
2076unsafe extern "C" {
2077    pub fn __mempcpy(
2078        __dest: *mut ::std::os::raw::c_void,
2079        __src: *const ::std::os::raw::c_void,
2080        __n: usize,
2081    ) -> *mut ::std::os::raw::c_void;
2082}
2083unsafe extern "C" {
2084    pub fn mempcpy(
2085        __dest: *mut ::std::os::raw::c_void,
2086        __src: *const ::std::os::raw::c_void,
2087        __n: ::std::os::raw::c_ulong,
2088    ) -> *mut ::std::os::raw::c_void;
2089}
2090unsafe extern "C" {
2091    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
2092}
2093unsafe extern "C" {
2094    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
2095}
2096unsafe extern "C" {
2097    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2098}
2099unsafe extern "C" {
2100    pub fn strerror_r(
2101        __errnum: ::std::os::raw::c_int,
2102        __buf: *mut ::std::os::raw::c_char,
2103        __buflen: usize,
2104    ) -> ::std::os::raw::c_int;
2105}
2106unsafe extern "C" {
2107    pub fn strerror_l(
2108        __errnum: ::std::os::raw::c_int,
2109        __l: locale_t,
2110    ) -> *mut ::std::os::raw::c_char;
2111}
2112unsafe extern "C" {
2113    pub fn bcmp(
2114        __s1: *const ::std::os::raw::c_void,
2115        __s2: *const ::std::os::raw::c_void,
2116        __n: ::std::os::raw::c_ulong,
2117    ) -> ::std::os::raw::c_int;
2118}
2119unsafe extern "C" {
2120    pub fn bcopy(
2121        __src: *const ::std::os::raw::c_void,
2122        __dest: *mut ::std::os::raw::c_void,
2123        __n: ::std::os::raw::c_ulong,
2124    );
2125}
2126unsafe extern "C" {
2127    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
2128}
2129unsafe extern "C" {
2130    pub fn index(
2131        __s: *const ::std::os::raw::c_char,
2132        __c: ::std::os::raw::c_int,
2133    ) -> *mut ::std::os::raw::c_char;
2134}
2135unsafe extern "C" {
2136    pub fn rindex(
2137        __s: *const ::std::os::raw::c_char,
2138        __c: ::std::os::raw::c_int,
2139    ) -> *mut ::std::os::raw::c_char;
2140}
2141unsafe extern "C" {
2142    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2143}
2144unsafe extern "C" {
2145    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
2146}
2147unsafe extern "C" {
2148    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
2149}
2150unsafe extern "C" {
2151    pub fn strcasecmp(
2152        __s1: *const ::std::os::raw::c_char,
2153        __s2: *const ::std::os::raw::c_char,
2154    ) -> ::std::os::raw::c_int;
2155}
2156unsafe extern "C" {
2157    pub fn strncasecmp(
2158        __s1: *const ::std::os::raw::c_char,
2159        __s2: *const ::std::os::raw::c_char,
2160        __n: ::std::os::raw::c_ulong,
2161    ) -> ::std::os::raw::c_int;
2162}
2163unsafe extern "C" {
2164    pub fn strcasecmp_l(
2165        __s1: *const ::std::os::raw::c_char,
2166        __s2: *const ::std::os::raw::c_char,
2167        __loc: locale_t,
2168    ) -> ::std::os::raw::c_int;
2169}
2170unsafe extern "C" {
2171    pub fn strncasecmp_l(
2172        __s1: *const ::std::os::raw::c_char,
2173        __s2: *const ::std::os::raw::c_char,
2174        __n: usize,
2175        __loc: locale_t,
2176    ) -> ::std::os::raw::c_int;
2177}
2178unsafe extern "C" {
2179    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
2180}
2181unsafe extern "C" {
2182    pub fn strsep(
2183        __stringp: *mut *mut ::std::os::raw::c_char,
2184        __delim: *const ::std::os::raw::c_char,
2185    ) -> *mut ::std::os::raw::c_char;
2186}
2187unsafe extern "C" {
2188    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2189}
2190unsafe extern "C" {
2191    pub fn __stpcpy(
2192        __dest: *mut ::std::os::raw::c_char,
2193        __src: *const ::std::os::raw::c_char,
2194    ) -> *mut ::std::os::raw::c_char;
2195}
2196unsafe extern "C" {
2197    pub fn stpcpy(
2198        __dest: *mut ::std::os::raw::c_char,
2199        __src: *const ::std::os::raw::c_char,
2200    ) -> *mut ::std::os::raw::c_char;
2201}
2202unsafe extern "C" {
2203    pub fn __stpncpy(
2204        __dest: *mut ::std::os::raw::c_char,
2205        __src: *const ::std::os::raw::c_char,
2206        __n: usize,
2207    ) -> *mut ::std::os::raw::c_char;
2208}
2209unsafe extern "C" {
2210    pub fn stpncpy(
2211        __dest: *mut ::std::os::raw::c_char,
2212        __src: *const ::std::os::raw::c_char,
2213        __n: ::std::os::raw::c_ulong,
2214    ) -> *mut ::std::os::raw::c_char;
2215}
2216unsafe extern "C" {
2217    pub fn strlcpy(
2218        __dest: *mut ::std::os::raw::c_char,
2219        __src: *const ::std::os::raw::c_char,
2220        __n: usize,
2221    ) -> usize;
2222}
2223unsafe extern "C" {
2224    pub fn strlcat(
2225        __dest: *mut ::std::os::raw::c_char,
2226        __src: *const ::std::os::raw::c_char,
2227        __n: usize,
2228    ) -> usize;
2229}
2230#[repr(C)]
2231#[derive(Debug, Copy, Clone)]
2232pub struct timezone {
2233    pub tz_minuteswest: ::std::os::raw::c_int,
2234    pub tz_dsttime: ::std::os::raw::c_int,
2235}
2236unsafe extern "C" {
2237    pub fn gettimeofday(
2238        __tv: *mut timeval,
2239        __tz: *mut ::std::os::raw::c_void,
2240    ) -> ::std::os::raw::c_int;
2241}
2242unsafe extern "C" {
2243    pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
2244}
2245unsafe extern "C" {
2246    pub fn adjtime(__delta: *const timeval, __olddelta: *mut timeval) -> ::std::os::raw::c_int;
2247}
2248pub const __itimer_which_ITIMER_REAL: __itimer_which = 0;
2249pub const __itimer_which_ITIMER_VIRTUAL: __itimer_which = 1;
2250pub const __itimer_which_ITIMER_PROF: __itimer_which = 2;
2251pub type __itimer_which = ::std::os::raw::c_uint;
2252#[repr(C)]
2253#[derive(Debug, Copy, Clone)]
2254pub struct itimerval {
2255    pub it_interval: timeval,
2256    pub it_value: timeval,
2257}
2258pub type __itimer_which_t = ::std::os::raw::c_int;
2259unsafe extern "C" {
2260    pub fn getitimer(__which: __itimer_which_t, __value: *mut itimerval) -> ::std::os::raw::c_int;
2261}
2262unsafe extern "C" {
2263    pub fn setitimer(
2264        __which: __itimer_which_t,
2265        __new: *const itimerval,
2266        __old: *mut itimerval,
2267    ) -> ::std::os::raw::c_int;
2268}
2269unsafe extern "C" {
2270    pub fn utimes(
2271        __file: *const ::std::os::raw::c_char,
2272        __tvp: *const timeval,
2273    ) -> ::std::os::raw::c_int;
2274}
2275unsafe extern "C" {
2276    pub fn lutimes(
2277        __file: *const ::std::os::raw::c_char,
2278        __tvp: *const timeval,
2279    ) -> ::std::os::raw::c_int;
2280}
2281unsafe extern "C" {
2282    pub fn futimes(__fd: ::std::os::raw::c_int, __tvp: *const timeval) -> ::std::os::raw::c_int;
2283}
2284pub type float_t = f32;
2285pub type double_t = f64;
2286unsafe extern "C" {
2287    pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int;
2288}
2289unsafe extern "C" {
2290    pub fn __signbit(__value: f64) -> ::std::os::raw::c_int;
2291}
2292unsafe extern "C" {
2293    pub fn __isinf(__value: f64) -> ::std::os::raw::c_int;
2294}
2295unsafe extern "C" {
2296    pub fn __finite(__value: f64) -> ::std::os::raw::c_int;
2297}
2298unsafe extern "C" {
2299    pub fn __isnan(__value: f64) -> ::std::os::raw::c_int;
2300}
2301unsafe extern "C" {
2302    pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int;
2303}
2304unsafe extern "C" {
2305    pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int;
2306}
2307unsafe extern "C" {
2308    pub fn acos(__x: f64) -> f64;
2309}
2310unsafe extern "C" {
2311    pub fn __acos(__x: f64) -> f64;
2312}
2313unsafe extern "C" {
2314    pub fn asin(__x: f64) -> f64;
2315}
2316unsafe extern "C" {
2317    pub fn __asin(__x: f64) -> f64;
2318}
2319unsafe extern "C" {
2320    pub fn atan(__x: f64) -> f64;
2321}
2322unsafe extern "C" {
2323    pub fn __atan(__x: f64) -> f64;
2324}
2325unsafe extern "C" {
2326    pub fn atan2(__y: f64, __x: f64) -> f64;
2327}
2328unsafe extern "C" {
2329    pub fn __atan2(__y: f64, __x: f64) -> f64;
2330}
2331unsafe extern "C" {
2332    pub fn cos(__x: f64) -> f64;
2333}
2334unsafe extern "C" {
2335    pub fn __cos(__x: f64) -> f64;
2336}
2337unsafe extern "C" {
2338    pub fn sin(__x: f64) -> f64;
2339}
2340unsafe extern "C" {
2341    pub fn __sin(__x: f64) -> f64;
2342}
2343unsafe extern "C" {
2344    pub fn tan(__x: f64) -> f64;
2345}
2346unsafe extern "C" {
2347    pub fn __tan(__x: f64) -> f64;
2348}
2349unsafe extern "C" {
2350    pub fn cosh(__x: f64) -> f64;
2351}
2352unsafe extern "C" {
2353    pub fn __cosh(__x: f64) -> f64;
2354}
2355unsafe extern "C" {
2356    pub fn sinh(__x: f64) -> f64;
2357}
2358unsafe extern "C" {
2359    pub fn __sinh(__x: f64) -> f64;
2360}
2361unsafe extern "C" {
2362    pub fn tanh(__x: f64) -> f64;
2363}
2364unsafe extern "C" {
2365    pub fn __tanh(__x: f64) -> f64;
2366}
2367unsafe extern "C" {
2368    pub fn acosh(__x: f64) -> f64;
2369}
2370unsafe extern "C" {
2371    pub fn __acosh(__x: f64) -> f64;
2372}
2373unsafe extern "C" {
2374    pub fn asinh(__x: f64) -> f64;
2375}
2376unsafe extern "C" {
2377    pub fn __asinh(__x: f64) -> f64;
2378}
2379unsafe extern "C" {
2380    pub fn atanh(__x: f64) -> f64;
2381}
2382unsafe extern "C" {
2383    pub fn __atanh(__x: f64) -> f64;
2384}
2385unsafe extern "C" {
2386    pub fn exp(__x: f64) -> f64;
2387}
2388unsafe extern "C" {
2389    pub fn __exp(__x: f64) -> f64;
2390}
2391unsafe extern "C" {
2392    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
2393}
2394unsafe extern "C" {
2395    pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
2396}
2397unsafe extern "C" {
2398    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
2399}
2400unsafe extern "C" {
2401    pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
2402}
2403unsafe extern "C" {
2404    pub fn log(__x: f64) -> f64;
2405}
2406unsafe extern "C" {
2407    pub fn __log(__x: f64) -> f64;
2408}
2409unsafe extern "C" {
2410    pub fn log10(__x: f64) -> f64;
2411}
2412unsafe extern "C" {
2413    pub fn __log10(__x: f64) -> f64;
2414}
2415unsafe extern "C" {
2416    pub fn modf(__x: f64, __iptr: *mut f64) -> f64;
2417}
2418unsafe extern "C" {
2419    pub fn __modf(__x: f64, __iptr: *mut f64) -> f64;
2420}
2421unsafe extern "C" {
2422    pub fn expm1(__x: f64) -> f64;
2423}
2424unsafe extern "C" {
2425    pub fn __expm1(__x: f64) -> f64;
2426}
2427unsafe extern "C" {
2428    pub fn log1p(__x: f64) -> f64;
2429}
2430unsafe extern "C" {
2431    pub fn __log1p(__x: f64) -> f64;
2432}
2433unsafe extern "C" {
2434    pub fn logb(__x: f64) -> f64;
2435}
2436unsafe extern "C" {
2437    pub fn __logb(__x: f64) -> f64;
2438}
2439unsafe extern "C" {
2440    pub fn exp2(__x: f64) -> f64;
2441}
2442unsafe extern "C" {
2443    pub fn __exp2(__x: f64) -> f64;
2444}
2445unsafe extern "C" {
2446    pub fn log2(__x: f64) -> f64;
2447}
2448unsafe extern "C" {
2449    pub fn __log2(__x: f64) -> f64;
2450}
2451unsafe extern "C" {
2452    pub fn pow(__x: f64, __y: f64) -> f64;
2453}
2454unsafe extern "C" {
2455    pub fn __pow(__x: f64, __y: f64) -> f64;
2456}
2457unsafe extern "C" {
2458    pub fn sqrt(__x: f64) -> f64;
2459}
2460unsafe extern "C" {
2461    pub fn __sqrt(__x: f64) -> f64;
2462}
2463unsafe extern "C" {
2464    pub fn hypot(__x: f64, __y: f64) -> f64;
2465}
2466unsafe extern "C" {
2467    pub fn __hypot(__x: f64, __y: f64) -> f64;
2468}
2469unsafe extern "C" {
2470    pub fn cbrt(__x: f64) -> f64;
2471}
2472unsafe extern "C" {
2473    pub fn __cbrt(__x: f64) -> f64;
2474}
2475unsafe extern "C" {
2476    pub fn ceil(__x: f64) -> f64;
2477}
2478unsafe extern "C" {
2479    pub fn __ceil(__x: f64) -> f64;
2480}
2481unsafe extern "C" {
2482    pub fn fabs(__x: f64) -> f64;
2483}
2484unsafe extern "C" {
2485    pub fn __fabs(__x: f64) -> f64;
2486}
2487unsafe extern "C" {
2488    pub fn floor(__x: f64) -> f64;
2489}
2490unsafe extern "C" {
2491    pub fn __floor(__x: f64) -> f64;
2492}
2493unsafe extern "C" {
2494    pub fn fmod(__x: f64, __y: f64) -> f64;
2495}
2496unsafe extern "C" {
2497    pub fn __fmod(__x: f64, __y: f64) -> f64;
2498}
2499unsafe extern "C" {
2500    pub fn isinf(__value: f64) -> ::std::os::raw::c_int;
2501}
2502unsafe extern "C" {
2503    pub fn finite(__value: f64) -> ::std::os::raw::c_int;
2504}
2505unsafe extern "C" {
2506    pub fn drem(__x: f64, __y: f64) -> f64;
2507}
2508unsafe extern "C" {
2509    pub fn __drem(__x: f64, __y: f64) -> f64;
2510}
2511unsafe extern "C" {
2512    pub fn significand(__x: f64) -> f64;
2513}
2514unsafe extern "C" {
2515    pub fn __significand(__x: f64) -> f64;
2516}
2517unsafe extern "C" {
2518    pub fn copysign(__x: f64, __y: f64) -> f64;
2519}
2520unsafe extern "C" {
2521    pub fn __copysign(__x: f64, __y: f64) -> f64;
2522}
2523unsafe extern "C" {
2524    pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64;
2525}
2526unsafe extern "C" {
2527    pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64;
2528}
2529unsafe extern "C" {
2530    pub fn isnan(__value: f64) -> ::std::os::raw::c_int;
2531}
2532unsafe extern "C" {
2533    pub fn j0(arg1: f64) -> f64;
2534}
2535unsafe extern "C" {
2536    pub fn __j0(arg1: f64) -> f64;
2537}
2538unsafe extern "C" {
2539    pub fn j1(arg1: f64) -> f64;
2540}
2541unsafe extern "C" {
2542    pub fn __j1(arg1: f64) -> f64;
2543}
2544unsafe extern "C" {
2545    pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2546}
2547unsafe extern "C" {
2548    pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2549}
2550unsafe extern "C" {
2551    pub fn y0(arg1: f64) -> f64;
2552}
2553unsafe extern "C" {
2554    pub fn __y0(arg1: f64) -> f64;
2555}
2556unsafe extern "C" {
2557    pub fn y1(arg1: f64) -> f64;
2558}
2559unsafe extern "C" {
2560    pub fn __y1(arg1: f64) -> f64;
2561}
2562unsafe extern "C" {
2563    pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2564}
2565unsafe extern "C" {
2566    pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64;
2567}
2568unsafe extern "C" {
2569    pub fn erf(arg1: f64) -> f64;
2570}
2571unsafe extern "C" {
2572    pub fn __erf(arg1: f64) -> f64;
2573}
2574unsafe extern "C" {
2575    pub fn erfc(arg1: f64) -> f64;
2576}
2577unsafe extern "C" {
2578    pub fn __erfc(arg1: f64) -> f64;
2579}
2580unsafe extern "C" {
2581    pub fn lgamma(arg1: f64) -> f64;
2582}
2583unsafe extern "C" {
2584    pub fn __lgamma(arg1: f64) -> f64;
2585}
2586unsafe extern "C" {
2587    pub fn tgamma(arg1: f64) -> f64;
2588}
2589unsafe extern "C" {
2590    pub fn __tgamma(arg1: f64) -> f64;
2591}
2592unsafe extern "C" {
2593    pub fn gamma(arg1: f64) -> f64;
2594}
2595unsafe extern "C" {
2596    pub fn __gamma(arg1: f64) -> f64;
2597}
2598unsafe extern "C" {
2599    pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
2600}
2601unsafe extern "C" {
2602    pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64;
2603}
2604unsafe extern "C" {
2605    pub fn rint(__x: f64) -> f64;
2606}
2607unsafe extern "C" {
2608    pub fn __rint(__x: f64) -> f64;
2609}
2610unsafe extern "C" {
2611    pub fn nextafter(__x: f64, __y: f64) -> f64;
2612}
2613unsafe extern "C" {
2614    pub fn __nextafter(__x: f64, __y: f64) -> f64;
2615}
2616unsafe extern "C" {
2617    pub fn nexttoward(__x: f64, __y: u128) -> f64;
2618}
2619unsafe extern "C" {
2620    pub fn __nexttoward(__x: f64, __y: u128) -> f64;
2621}
2622unsafe extern "C" {
2623    pub fn remainder(__x: f64, __y: f64) -> f64;
2624}
2625unsafe extern "C" {
2626    pub fn __remainder(__x: f64, __y: f64) -> f64;
2627}
2628unsafe extern "C" {
2629    pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
2630}
2631unsafe extern "C" {
2632    pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64;
2633}
2634unsafe extern "C" {
2635    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
2636}
2637unsafe extern "C" {
2638    pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int;
2639}
2640unsafe extern "C" {
2641    pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
2642}
2643unsafe extern "C" {
2644    pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64;
2645}
2646unsafe extern "C" {
2647    pub fn nearbyint(__x: f64) -> f64;
2648}
2649unsafe extern "C" {
2650    pub fn __nearbyint(__x: f64) -> f64;
2651}
2652unsafe extern "C" {
2653    pub fn round(__x: f64) -> f64;
2654}
2655unsafe extern "C" {
2656    pub fn __round(__x: f64) -> f64;
2657}
2658unsafe extern "C" {
2659    pub fn trunc(__x: f64) -> f64;
2660}
2661unsafe extern "C" {
2662    pub fn __trunc(__x: f64) -> f64;
2663}
2664unsafe extern "C" {
2665    pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
2666}
2667unsafe extern "C" {
2668    pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64;
2669}
2670unsafe extern "C" {
2671    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
2672}
2673unsafe extern "C" {
2674    pub fn __lrint(__x: f64) -> ::std::os::raw::c_long;
2675}
2676unsafe extern "C" {
2677    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
2678}
2679unsafe extern "C" {
2680    pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong;
2681}
2682unsafe extern "C" {
2683    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
2684}
2685unsafe extern "C" {
2686    pub fn __lround(__x: f64) -> ::std::os::raw::c_long;
2687}
2688unsafe extern "C" {
2689    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
2690}
2691unsafe extern "C" {
2692    pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong;
2693}
2694unsafe extern "C" {
2695    pub fn fdim(__x: f64, __y: f64) -> f64;
2696}
2697unsafe extern "C" {
2698    pub fn __fdim(__x: f64, __y: f64) -> f64;
2699}
2700unsafe extern "C" {
2701    pub fn fmax(__x: f64, __y: f64) -> f64;
2702}
2703unsafe extern "C" {
2704    pub fn __fmax(__x: f64, __y: f64) -> f64;
2705}
2706unsafe extern "C" {
2707    pub fn fmin(__x: f64, __y: f64) -> f64;
2708}
2709unsafe extern "C" {
2710    pub fn __fmin(__x: f64, __y: f64) -> f64;
2711}
2712unsafe extern "C" {
2713    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
2714}
2715unsafe extern "C" {
2716    pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64;
2717}
2718unsafe extern "C" {
2719    pub fn scalb(__x: f64, __n: f64) -> f64;
2720}
2721unsafe extern "C" {
2722    pub fn __scalb(__x: f64, __n: f64) -> f64;
2723}
2724unsafe extern "C" {
2725    pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int;
2726}
2727unsafe extern "C" {
2728    pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int;
2729}
2730unsafe extern "C" {
2731    pub fn __isinff(__value: f32) -> ::std::os::raw::c_int;
2732}
2733unsafe extern "C" {
2734    pub fn __finitef(__value: f32) -> ::std::os::raw::c_int;
2735}
2736unsafe extern "C" {
2737    pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int;
2738}
2739unsafe extern "C" {
2740    pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int;
2741}
2742unsafe extern "C" {
2743    pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int;
2744}
2745unsafe extern "C" {
2746    pub fn acosf(__x: f32) -> f32;
2747}
2748unsafe extern "C" {
2749    pub fn __acosf(__x: f32) -> f32;
2750}
2751unsafe extern "C" {
2752    pub fn asinf(__x: f32) -> f32;
2753}
2754unsafe extern "C" {
2755    pub fn __asinf(__x: f32) -> f32;
2756}
2757unsafe extern "C" {
2758    pub fn atanf(__x: f32) -> f32;
2759}
2760unsafe extern "C" {
2761    pub fn __atanf(__x: f32) -> f32;
2762}
2763unsafe extern "C" {
2764    pub fn atan2f(__y: f32, __x: f32) -> f32;
2765}
2766unsafe extern "C" {
2767    pub fn __atan2f(__y: f32, __x: f32) -> f32;
2768}
2769unsafe extern "C" {
2770    pub fn cosf(__x: f32) -> f32;
2771}
2772unsafe extern "C" {
2773    pub fn __cosf(__x: f32) -> f32;
2774}
2775unsafe extern "C" {
2776    pub fn sinf(__x: f32) -> f32;
2777}
2778unsafe extern "C" {
2779    pub fn __sinf(__x: f32) -> f32;
2780}
2781unsafe extern "C" {
2782    pub fn tanf(__x: f32) -> f32;
2783}
2784unsafe extern "C" {
2785    pub fn __tanf(__x: f32) -> f32;
2786}
2787unsafe extern "C" {
2788    pub fn coshf(__x: f32) -> f32;
2789}
2790unsafe extern "C" {
2791    pub fn __coshf(__x: f32) -> f32;
2792}
2793unsafe extern "C" {
2794    pub fn sinhf(__x: f32) -> f32;
2795}
2796unsafe extern "C" {
2797    pub fn __sinhf(__x: f32) -> f32;
2798}
2799unsafe extern "C" {
2800    pub fn tanhf(__x: f32) -> f32;
2801}
2802unsafe extern "C" {
2803    pub fn __tanhf(__x: f32) -> f32;
2804}
2805unsafe extern "C" {
2806    pub fn acoshf(__x: f32) -> f32;
2807}
2808unsafe extern "C" {
2809    pub fn __acoshf(__x: f32) -> f32;
2810}
2811unsafe extern "C" {
2812    pub fn asinhf(__x: f32) -> f32;
2813}
2814unsafe extern "C" {
2815    pub fn __asinhf(__x: f32) -> f32;
2816}
2817unsafe extern "C" {
2818    pub fn atanhf(__x: f32) -> f32;
2819}
2820unsafe extern "C" {
2821    pub fn __atanhf(__x: f32) -> f32;
2822}
2823unsafe extern "C" {
2824    pub fn expf(__x: f32) -> f32;
2825}
2826unsafe extern "C" {
2827    pub fn __expf(__x: f32) -> f32;
2828}
2829unsafe extern "C" {
2830    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
2831}
2832unsafe extern "C" {
2833    pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
2834}
2835unsafe extern "C" {
2836    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
2837}
2838unsafe extern "C" {
2839    pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
2840}
2841unsafe extern "C" {
2842    pub fn logf(__x: f32) -> f32;
2843}
2844unsafe extern "C" {
2845    pub fn __logf(__x: f32) -> f32;
2846}
2847unsafe extern "C" {
2848    pub fn log10f(__x: f32) -> f32;
2849}
2850unsafe extern "C" {
2851    pub fn __log10f(__x: f32) -> f32;
2852}
2853unsafe extern "C" {
2854    pub fn modff(__x: f32, __iptr: *mut f32) -> f32;
2855}
2856unsafe extern "C" {
2857    pub fn __modff(__x: f32, __iptr: *mut f32) -> f32;
2858}
2859unsafe extern "C" {
2860    pub fn expm1f(__x: f32) -> f32;
2861}
2862unsafe extern "C" {
2863    pub fn __expm1f(__x: f32) -> f32;
2864}
2865unsafe extern "C" {
2866    pub fn log1pf(__x: f32) -> f32;
2867}
2868unsafe extern "C" {
2869    pub fn __log1pf(__x: f32) -> f32;
2870}
2871unsafe extern "C" {
2872    pub fn logbf(__x: f32) -> f32;
2873}
2874unsafe extern "C" {
2875    pub fn __logbf(__x: f32) -> f32;
2876}
2877unsafe extern "C" {
2878    pub fn exp2f(__x: f32) -> f32;
2879}
2880unsafe extern "C" {
2881    pub fn __exp2f(__x: f32) -> f32;
2882}
2883unsafe extern "C" {
2884    pub fn log2f(__x: f32) -> f32;
2885}
2886unsafe extern "C" {
2887    pub fn __log2f(__x: f32) -> f32;
2888}
2889unsafe extern "C" {
2890    pub fn powf(__x: f32, __y: f32) -> f32;
2891}
2892unsafe extern "C" {
2893    pub fn __powf(__x: f32, __y: f32) -> f32;
2894}
2895unsafe extern "C" {
2896    pub fn sqrtf(__x: f32) -> f32;
2897}
2898unsafe extern "C" {
2899    pub fn __sqrtf(__x: f32) -> f32;
2900}
2901unsafe extern "C" {
2902    pub fn hypotf(__x: f32, __y: f32) -> f32;
2903}
2904unsafe extern "C" {
2905    pub fn __hypotf(__x: f32, __y: f32) -> f32;
2906}
2907unsafe extern "C" {
2908    pub fn cbrtf(__x: f32) -> f32;
2909}
2910unsafe extern "C" {
2911    pub fn __cbrtf(__x: f32) -> f32;
2912}
2913unsafe extern "C" {
2914    pub fn ceilf(__x: f32) -> f32;
2915}
2916unsafe extern "C" {
2917    pub fn __ceilf(__x: f32) -> f32;
2918}
2919unsafe extern "C" {
2920    pub fn fabsf(__x: f32) -> f32;
2921}
2922unsafe extern "C" {
2923    pub fn __fabsf(__x: f32) -> f32;
2924}
2925unsafe extern "C" {
2926    pub fn floorf(__x: f32) -> f32;
2927}
2928unsafe extern "C" {
2929    pub fn __floorf(__x: f32) -> f32;
2930}
2931unsafe extern "C" {
2932    pub fn fmodf(__x: f32, __y: f32) -> f32;
2933}
2934unsafe extern "C" {
2935    pub fn __fmodf(__x: f32, __y: f32) -> f32;
2936}
2937unsafe extern "C" {
2938    pub fn isinff(__value: f32) -> ::std::os::raw::c_int;
2939}
2940unsafe extern "C" {
2941    pub fn finitef(__value: f32) -> ::std::os::raw::c_int;
2942}
2943unsafe extern "C" {
2944    pub fn dremf(__x: f32, __y: f32) -> f32;
2945}
2946unsafe extern "C" {
2947    pub fn __dremf(__x: f32, __y: f32) -> f32;
2948}
2949unsafe extern "C" {
2950    pub fn significandf(__x: f32) -> f32;
2951}
2952unsafe extern "C" {
2953    pub fn __significandf(__x: f32) -> f32;
2954}
2955unsafe extern "C" {
2956    pub fn copysignf(__x: f32, __y: f32) -> f32;
2957}
2958unsafe extern "C" {
2959    pub fn __copysignf(__x: f32, __y: f32) -> f32;
2960}
2961unsafe extern "C" {
2962    pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
2963}
2964unsafe extern "C" {
2965    pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32;
2966}
2967unsafe extern "C" {
2968    pub fn isnanf(__value: f32) -> ::std::os::raw::c_int;
2969}
2970unsafe extern "C" {
2971    pub fn j0f(arg1: f32) -> f32;
2972}
2973unsafe extern "C" {
2974    pub fn __j0f(arg1: f32) -> f32;
2975}
2976unsafe extern "C" {
2977    pub fn j1f(arg1: f32) -> f32;
2978}
2979unsafe extern "C" {
2980    pub fn __j1f(arg1: f32) -> f32;
2981}
2982unsafe extern "C" {
2983    pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2984}
2985unsafe extern "C" {
2986    pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
2987}
2988unsafe extern "C" {
2989    pub fn y0f(arg1: f32) -> f32;
2990}
2991unsafe extern "C" {
2992    pub fn __y0f(arg1: f32) -> f32;
2993}
2994unsafe extern "C" {
2995    pub fn y1f(arg1: f32) -> f32;
2996}
2997unsafe extern "C" {
2998    pub fn __y1f(arg1: f32) -> f32;
2999}
3000unsafe extern "C" {
3001    pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
3002}
3003unsafe extern "C" {
3004    pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32;
3005}
3006unsafe extern "C" {
3007    pub fn erff(arg1: f32) -> f32;
3008}
3009unsafe extern "C" {
3010    pub fn __erff(arg1: f32) -> f32;
3011}
3012unsafe extern "C" {
3013    pub fn erfcf(arg1: f32) -> f32;
3014}
3015unsafe extern "C" {
3016    pub fn __erfcf(arg1: f32) -> f32;
3017}
3018unsafe extern "C" {
3019    pub fn lgammaf(arg1: f32) -> f32;
3020}
3021unsafe extern "C" {
3022    pub fn __lgammaf(arg1: f32) -> f32;
3023}
3024unsafe extern "C" {
3025    pub fn tgammaf(arg1: f32) -> f32;
3026}
3027unsafe extern "C" {
3028    pub fn __tgammaf(arg1: f32) -> f32;
3029}
3030unsafe extern "C" {
3031    pub fn gammaf(arg1: f32) -> f32;
3032}
3033unsafe extern "C" {
3034    pub fn __gammaf(arg1: f32) -> f32;
3035}
3036unsafe extern "C" {
3037    pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
3038}
3039unsafe extern "C" {
3040    pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32;
3041}
3042unsafe extern "C" {
3043    pub fn rintf(__x: f32) -> f32;
3044}
3045unsafe extern "C" {
3046    pub fn __rintf(__x: f32) -> f32;
3047}
3048unsafe extern "C" {
3049    pub fn nextafterf(__x: f32, __y: f32) -> f32;
3050}
3051unsafe extern "C" {
3052    pub fn __nextafterf(__x: f32, __y: f32) -> f32;
3053}
3054unsafe extern "C" {
3055    pub fn nexttowardf(__x: f32, __y: u128) -> f32;
3056}
3057unsafe extern "C" {
3058    pub fn __nexttowardf(__x: f32, __y: u128) -> f32;
3059}
3060unsafe extern "C" {
3061    pub fn remainderf(__x: f32, __y: f32) -> f32;
3062}
3063unsafe extern "C" {
3064    pub fn __remainderf(__x: f32, __y: f32) -> f32;
3065}
3066unsafe extern "C" {
3067    pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
3068}
3069unsafe extern "C" {
3070    pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32;
3071}
3072unsafe extern "C" {
3073    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
3074}
3075unsafe extern "C" {
3076    pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int;
3077}
3078unsafe extern "C" {
3079    pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
3080}
3081unsafe extern "C" {
3082    pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32;
3083}
3084unsafe extern "C" {
3085    pub fn nearbyintf(__x: f32) -> f32;
3086}
3087unsafe extern "C" {
3088    pub fn __nearbyintf(__x: f32) -> f32;
3089}
3090unsafe extern "C" {
3091    pub fn roundf(__x: f32) -> f32;
3092}
3093unsafe extern "C" {
3094    pub fn __roundf(__x: f32) -> f32;
3095}
3096unsafe extern "C" {
3097    pub fn truncf(__x: f32) -> f32;
3098}
3099unsafe extern "C" {
3100    pub fn __truncf(__x: f32) -> f32;
3101}
3102unsafe extern "C" {
3103    pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
3104}
3105unsafe extern "C" {
3106    pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32;
3107}
3108unsafe extern "C" {
3109    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
3110}
3111unsafe extern "C" {
3112    pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long;
3113}
3114unsafe extern "C" {
3115    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
3116}
3117unsafe extern "C" {
3118    pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong;
3119}
3120unsafe extern "C" {
3121    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
3122}
3123unsafe extern "C" {
3124    pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long;
3125}
3126unsafe extern "C" {
3127    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
3128}
3129unsafe extern "C" {
3130    pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong;
3131}
3132unsafe extern "C" {
3133    pub fn fdimf(__x: f32, __y: f32) -> f32;
3134}
3135unsafe extern "C" {
3136    pub fn __fdimf(__x: f32, __y: f32) -> f32;
3137}
3138unsafe extern "C" {
3139    pub fn fmaxf(__x: f32, __y: f32) -> f32;
3140}
3141unsafe extern "C" {
3142    pub fn __fmaxf(__x: f32, __y: f32) -> f32;
3143}
3144unsafe extern "C" {
3145    pub fn fminf(__x: f32, __y: f32) -> f32;
3146}
3147unsafe extern "C" {
3148    pub fn __fminf(__x: f32, __y: f32) -> f32;
3149}
3150unsafe extern "C" {
3151    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
3152}
3153unsafe extern "C" {
3154    pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32;
3155}
3156unsafe extern "C" {
3157    pub fn scalbf(__x: f32, __n: f32) -> f32;
3158}
3159unsafe extern "C" {
3160    pub fn __scalbf(__x: f32, __n: f32) -> f32;
3161}
3162unsafe extern "C" {
3163    pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int;
3164}
3165unsafe extern "C" {
3166    pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int;
3167}
3168unsafe extern "C" {
3169    pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int;
3170}
3171unsafe extern "C" {
3172    pub fn __finitel(__value: u128) -> ::std::os::raw::c_int;
3173}
3174unsafe extern "C" {
3175    pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int;
3176}
3177unsafe extern "C" {
3178    pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int;
3179}
3180unsafe extern "C" {
3181    pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int;
3182}
3183unsafe extern "C" {
3184    pub fn acosl(__x: u128) -> u128;
3185}
3186unsafe extern "C" {
3187    pub fn __acosl(__x: u128) -> u128;
3188}
3189unsafe extern "C" {
3190    pub fn asinl(__x: u128) -> u128;
3191}
3192unsafe extern "C" {
3193    pub fn __asinl(__x: u128) -> u128;
3194}
3195unsafe extern "C" {
3196    pub fn atanl(__x: u128) -> u128;
3197}
3198unsafe extern "C" {
3199    pub fn __atanl(__x: u128) -> u128;
3200}
3201unsafe extern "C" {
3202    pub fn atan2l(__y: u128, __x: u128) -> u128;
3203}
3204unsafe extern "C" {
3205    pub fn __atan2l(__y: u128, __x: u128) -> u128;
3206}
3207unsafe extern "C" {
3208    pub fn cosl(__x: u128) -> u128;
3209}
3210unsafe extern "C" {
3211    pub fn __cosl(__x: u128) -> u128;
3212}
3213unsafe extern "C" {
3214    pub fn sinl(__x: u128) -> u128;
3215}
3216unsafe extern "C" {
3217    pub fn __sinl(__x: u128) -> u128;
3218}
3219unsafe extern "C" {
3220    pub fn tanl(__x: u128) -> u128;
3221}
3222unsafe extern "C" {
3223    pub fn __tanl(__x: u128) -> u128;
3224}
3225unsafe extern "C" {
3226    pub fn coshl(__x: u128) -> u128;
3227}
3228unsafe extern "C" {
3229    pub fn __coshl(__x: u128) -> u128;
3230}
3231unsafe extern "C" {
3232    pub fn sinhl(__x: u128) -> u128;
3233}
3234unsafe extern "C" {
3235    pub fn __sinhl(__x: u128) -> u128;
3236}
3237unsafe extern "C" {
3238    pub fn tanhl(__x: u128) -> u128;
3239}
3240unsafe extern "C" {
3241    pub fn __tanhl(__x: u128) -> u128;
3242}
3243unsafe extern "C" {
3244    pub fn acoshl(__x: u128) -> u128;
3245}
3246unsafe extern "C" {
3247    pub fn __acoshl(__x: u128) -> u128;
3248}
3249unsafe extern "C" {
3250    pub fn asinhl(__x: u128) -> u128;
3251}
3252unsafe extern "C" {
3253    pub fn __asinhl(__x: u128) -> u128;
3254}
3255unsafe extern "C" {
3256    pub fn atanhl(__x: u128) -> u128;
3257}
3258unsafe extern "C" {
3259    pub fn __atanhl(__x: u128) -> u128;
3260}
3261unsafe extern "C" {
3262    pub fn expl(__x: u128) -> u128;
3263}
3264unsafe extern "C" {
3265    pub fn __expl(__x: u128) -> u128;
3266}
3267unsafe extern "C" {
3268    pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
3269}
3270unsafe extern "C" {
3271    pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
3272}
3273unsafe extern "C" {
3274    pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
3275}
3276unsafe extern "C" {
3277    pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
3278}
3279unsafe extern "C" {
3280    pub fn logl(__x: u128) -> u128;
3281}
3282unsafe extern "C" {
3283    pub fn __logl(__x: u128) -> u128;
3284}
3285unsafe extern "C" {
3286    pub fn log10l(__x: u128) -> u128;
3287}
3288unsafe extern "C" {
3289    pub fn __log10l(__x: u128) -> u128;
3290}
3291unsafe extern "C" {
3292    pub fn modfl(__x: u128, __iptr: *mut u128) -> u128;
3293}
3294unsafe extern "C" {
3295    pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128;
3296}
3297unsafe extern "C" {
3298    pub fn expm1l(__x: u128) -> u128;
3299}
3300unsafe extern "C" {
3301    pub fn __expm1l(__x: u128) -> u128;
3302}
3303unsafe extern "C" {
3304    pub fn log1pl(__x: u128) -> u128;
3305}
3306unsafe extern "C" {
3307    pub fn __log1pl(__x: u128) -> u128;
3308}
3309unsafe extern "C" {
3310    pub fn logbl(__x: u128) -> u128;
3311}
3312unsafe extern "C" {
3313    pub fn __logbl(__x: u128) -> u128;
3314}
3315unsafe extern "C" {
3316    pub fn exp2l(__x: u128) -> u128;
3317}
3318unsafe extern "C" {
3319    pub fn __exp2l(__x: u128) -> u128;
3320}
3321unsafe extern "C" {
3322    pub fn log2l(__x: u128) -> u128;
3323}
3324unsafe extern "C" {
3325    pub fn __log2l(__x: u128) -> u128;
3326}
3327unsafe extern "C" {
3328    pub fn powl(__x: u128, __y: u128) -> u128;
3329}
3330unsafe extern "C" {
3331    pub fn __powl(__x: u128, __y: u128) -> u128;
3332}
3333unsafe extern "C" {
3334    pub fn sqrtl(__x: u128) -> u128;
3335}
3336unsafe extern "C" {
3337    pub fn __sqrtl(__x: u128) -> u128;
3338}
3339unsafe extern "C" {
3340    pub fn hypotl(__x: u128, __y: u128) -> u128;
3341}
3342unsafe extern "C" {
3343    pub fn __hypotl(__x: u128, __y: u128) -> u128;
3344}
3345unsafe extern "C" {
3346    pub fn cbrtl(__x: u128) -> u128;
3347}
3348unsafe extern "C" {
3349    pub fn __cbrtl(__x: u128) -> u128;
3350}
3351unsafe extern "C" {
3352    pub fn ceill(__x: u128) -> u128;
3353}
3354unsafe extern "C" {
3355    pub fn __ceill(__x: u128) -> u128;
3356}
3357unsafe extern "C" {
3358    pub fn fabsl(__x: u128) -> u128;
3359}
3360unsafe extern "C" {
3361    pub fn __fabsl(__x: u128) -> u128;
3362}
3363unsafe extern "C" {
3364    pub fn floorl(__x: u128) -> u128;
3365}
3366unsafe extern "C" {
3367    pub fn __floorl(__x: u128) -> u128;
3368}
3369unsafe extern "C" {
3370    pub fn fmodl(__x: u128, __y: u128) -> u128;
3371}
3372unsafe extern "C" {
3373    pub fn __fmodl(__x: u128, __y: u128) -> u128;
3374}
3375unsafe extern "C" {
3376    pub fn isinfl(__value: u128) -> ::std::os::raw::c_int;
3377}
3378unsafe extern "C" {
3379    pub fn finitel(__value: u128) -> ::std::os::raw::c_int;
3380}
3381unsafe extern "C" {
3382    pub fn dreml(__x: u128, __y: u128) -> u128;
3383}
3384unsafe extern "C" {
3385    pub fn __dreml(__x: u128, __y: u128) -> u128;
3386}
3387unsafe extern "C" {
3388    pub fn significandl(__x: u128) -> u128;
3389}
3390unsafe extern "C" {
3391    pub fn __significandl(__x: u128) -> u128;
3392}
3393unsafe extern "C" {
3394    pub fn copysignl(__x: u128, __y: u128) -> u128;
3395}
3396unsafe extern "C" {
3397    pub fn __copysignl(__x: u128, __y: u128) -> u128;
3398}
3399unsafe extern "C" {
3400    pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
3401}
3402unsafe extern "C" {
3403    pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128;
3404}
3405unsafe extern "C" {
3406    pub fn isnanl(__value: u128) -> ::std::os::raw::c_int;
3407}
3408unsafe extern "C" {
3409    pub fn j0l(arg1: u128) -> u128;
3410}
3411unsafe extern "C" {
3412    pub fn __j0l(arg1: u128) -> u128;
3413}
3414unsafe extern "C" {
3415    pub fn j1l(arg1: u128) -> u128;
3416}
3417unsafe extern "C" {
3418    pub fn __j1l(arg1: u128) -> u128;
3419}
3420unsafe extern "C" {
3421    pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3422}
3423unsafe extern "C" {
3424    pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3425}
3426unsafe extern "C" {
3427    pub fn y0l(arg1: u128) -> u128;
3428}
3429unsafe extern "C" {
3430    pub fn __y0l(arg1: u128) -> u128;
3431}
3432unsafe extern "C" {
3433    pub fn y1l(arg1: u128) -> u128;
3434}
3435unsafe extern "C" {
3436    pub fn __y1l(arg1: u128) -> u128;
3437}
3438unsafe extern "C" {
3439    pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3440}
3441unsafe extern "C" {
3442    pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128;
3443}
3444unsafe extern "C" {
3445    pub fn erfl(arg1: u128) -> u128;
3446}
3447unsafe extern "C" {
3448    pub fn __erfl(arg1: u128) -> u128;
3449}
3450unsafe extern "C" {
3451    pub fn erfcl(arg1: u128) -> u128;
3452}
3453unsafe extern "C" {
3454    pub fn __erfcl(arg1: u128) -> u128;
3455}
3456unsafe extern "C" {
3457    pub fn lgammal(arg1: u128) -> u128;
3458}
3459unsafe extern "C" {
3460    pub fn __lgammal(arg1: u128) -> u128;
3461}
3462unsafe extern "C" {
3463    pub fn tgammal(arg1: u128) -> u128;
3464}
3465unsafe extern "C" {
3466    pub fn __tgammal(arg1: u128) -> u128;
3467}
3468unsafe extern "C" {
3469    pub fn gammal(arg1: u128) -> u128;
3470}
3471unsafe extern "C" {
3472    pub fn __gammal(arg1: u128) -> u128;
3473}
3474unsafe extern "C" {
3475    pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
3476}
3477unsafe extern "C" {
3478    pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128;
3479}
3480unsafe extern "C" {
3481    pub fn rintl(__x: u128) -> u128;
3482}
3483unsafe extern "C" {
3484    pub fn __rintl(__x: u128) -> u128;
3485}
3486unsafe extern "C" {
3487    pub fn nextafterl(__x: u128, __y: u128) -> u128;
3488}
3489unsafe extern "C" {
3490    pub fn __nextafterl(__x: u128, __y: u128) -> u128;
3491}
3492unsafe extern "C" {
3493    pub fn nexttowardl(__x: u128, __y: u128) -> u128;
3494}
3495unsafe extern "C" {
3496    pub fn __nexttowardl(__x: u128, __y: u128) -> u128;
3497}
3498unsafe extern "C" {
3499    pub fn remainderl(__x: u128, __y: u128) -> u128;
3500}
3501unsafe extern "C" {
3502    pub fn __remainderl(__x: u128, __y: u128) -> u128;
3503}
3504unsafe extern "C" {
3505    pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
3506}
3507unsafe extern "C" {
3508    pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128;
3509}
3510unsafe extern "C" {
3511    pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
3512}
3513unsafe extern "C" {
3514    pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int;
3515}
3516unsafe extern "C" {
3517    pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
3518}
3519unsafe extern "C" {
3520    pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128;
3521}
3522unsafe extern "C" {
3523    pub fn nearbyintl(__x: u128) -> u128;
3524}
3525unsafe extern "C" {
3526    pub fn __nearbyintl(__x: u128) -> u128;
3527}
3528unsafe extern "C" {
3529    pub fn roundl(__x: u128) -> u128;
3530}
3531unsafe extern "C" {
3532    pub fn __roundl(__x: u128) -> u128;
3533}
3534unsafe extern "C" {
3535    pub fn truncl(__x: u128) -> u128;
3536}
3537unsafe extern "C" {
3538    pub fn __truncl(__x: u128) -> u128;
3539}
3540unsafe extern "C" {
3541    pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
3542}
3543unsafe extern "C" {
3544    pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128;
3545}
3546unsafe extern "C" {
3547    pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
3548}
3549unsafe extern "C" {
3550    pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long;
3551}
3552unsafe extern "C" {
3553    pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
3554}
3555unsafe extern "C" {
3556    pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong;
3557}
3558unsafe extern "C" {
3559    pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
3560}
3561unsafe extern "C" {
3562    pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long;
3563}
3564unsafe extern "C" {
3565    pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
3566}
3567unsafe extern "C" {
3568    pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong;
3569}
3570unsafe extern "C" {
3571    pub fn fdiml(__x: u128, __y: u128) -> u128;
3572}
3573unsafe extern "C" {
3574    pub fn __fdiml(__x: u128, __y: u128) -> u128;
3575}
3576unsafe extern "C" {
3577    pub fn fmaxl(__x: u128, __y: u128) -> u128;
3578}
3579unsafe extern "C" {
3580    pub fn __fmaxl(__x: u128, __y: u128) -> u128;
3581}
3582unsafe extern "C" {
3583    pub fn fminl(__x: u128, __y: u128) -> u128;
3584}
3585unsafe extern "C" {
3586    pub fn __fminl(__x: u128, __y: u128) -> u128;
3587}
3588unsafe extern "C" {
3589    pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
3590}
3591unsafe extern "C" {
3592    pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128;
3593}
3594unsafe extern "C" {
3595    pub fn scalbl(__x: u128, __n: u128) -> u128;
3596}
3597unsafe extern "C" {
3598    pub fn __scalbl(__x: u128, __n: u128) -> u128;
3599}
3600unsafe extern "C" {
3601    pub static mut signgam: ::std::os::raw::c_int;
3602}
3603pub const FP_NAN: _bindgen_ty_1 = 0;
3604pub const FP_INFINITE: _bindgen_ty_1 = 1;
3605pub const FP_ZERO: _bindgen_ty_1 = 2;
3606pub const FP_SUBNORMAL: _bindgen_ty_1 = 3;
3607pub const FP_NORMAL: _bindgen_ty_1 = 4;
3608pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
3609pub const ProductKind_PRODUCT_ANY: ProductKind = 0;
3610pub const ProductKind_PRODUCT_GRIB: ProductKind = 1;
3611pub const ProductKind_PRODUCT_BUFR: ProductKind = 2;
3612pub const ProductKind_PRODUCT_METAR: ProductKind = 3;
3613pub const ProductKind_PRODUCT_GTS: ProductKind = 4;
3614pub const ProductKind_PRODUCT_TAF: ProductKind = 5;
3615pub type ProductKind = ::std::os::raw::c_uint;
3616#[repr(C)]
3617#[derive(Debug, Copy, Clone)]
3618pub struct grib_key_value_list {
3619    _unused: [u8; 0],
3620}
3621#[repr(C)]
3622#[derive(Debug, Copy, Clone)]
3623pub struct grib_values {
3624    pub name: *const ::std::os::raw::c_char,
3625    pub type_: ::std::os::raw::c_int,
3626    pub long_value: ::std::os::raw::c_long,
3627    pub double_value: f64,
3628    pub string_value: *const ::std::os::raw::c_char,
3629    pub error: ::std::os::raw::c_int,
3630    pub has_value: ::std::os::raw::c_int,
3631    pub equal: ::std::os::raw::c_int,
3632    pub next: *mut grib_values,
3633}
3634#[repr(C)]
3635#[derive(Debug, Copy, Clone)]
3636pub struct grib_handle {
3637    _unused: [u8; 0],
3638}
3639#[repr(C)]
3640#[derive(Debug, Copy, Clone)]
3641pub struct grib_multi_handle {
3642    _unused: [u8; 0],
3643}
3644#[repr(C)]
3645#[derive(Debug, Copy, Clone)]
3646pub struct grib_context {
3647    _unused: [u8; 0],
3648}
3649#[repr(C)]
3650#[derive(Debug, Copy, Clone)]
3651pub struct grib_iterator {
3652    _unused: [u8; 0],
3653}
3654#[repr(C)]
3655#[derive(Debug, Copy, Clone)]
3656pub struct grib_nearest {
3657    _unused: [u8; 0],
3658}
3659#[repr(C)]
3660#[derive(Debug, Copy, Clone)]
3661pub struct grib_keys_iterator {
3662    _unused: [u8; 0],
3663}
3664#[repr(C)]
3665#[derive(Debug, Copy, Clone)]
3666pub struct bufr_keys_iterator {
3667    _unused: [u8; 0],
3668}
3669#[repr(C)]
3670#[derive(Debug, Copy, Clone)]
3671pub struct grib_fieldset {
3672    _unused: [u8; 0],
3673}
3674#[repr(C)]
3675#[derive(Debug, Copy, Clone)]
3676pub struct grib_order_by {
3677    _unused: [u8; 0],
3678}
3679#[repr(C)]
3680#[derive(Debug, Copy, Clone)]
3681pub struct grib_where {
3682    _unused: [u8; 0],
3683}
3684#[repr(C)]
3685#[derive(Debug, Copy, Clone)]
3686pub struct grib_sarray {
3687    _unused: [u8; 0],
3688}
3689#[repr(C)]
3690#[derive(Debug, Copy, Clone)]
3691pub struct grib_oarray {
3692    _unused: [u8; 0],
3693}
3694#[repr(C)]
3695#[derive(Debug, Copy, Clone)]
3696pub struct grib_darray {
3697    _unused: [u8; 0],
3698}
3699#[repr(C)]
3700#[derive(Debug, Copy, Clone)]
3701pub struct grib_iarray {
3702    _unused: [u8; 0],
3703}
3704#[repr(C)]
3705#[derive(Debug, Copy, Clone)]
3706pub struct grib_vdarray {
3707    _unused: [u8; 0],
3708}
3709#[repr(C)]
3710#[derive(Debug, Copy, Clone)]
3711pub struct grib_vsarray {
3712    _unused: [u8; 0],
3713}
3714#[repr(C)]
3715#[derive(Debug, Copy, Clone)]
3716pub struct grib_viarray {
3717    _unused: [u8; 0],
3718}
3719#[repr(C)]
3720#[derive(Debug, Copy, Clone)]
3721pub struct bufr_descriptor {
3722    _unused: [u8; 0],
3723}
3724#[repr(C)]
3725#[derive(Debug, Copy, Clone)]
3726pub struct bufr_descriptors_array {
3727    _unused: [u8; 0],
3728}
3729#[repr(C)]
3730#[derive(Debug, Copy, Clone)]
3731pub struct bufr_descriptors_map_list {
3732    _unused: [u8; 0],
3733}
3734unsafe extern "C" {
3735    pub fn grib_fieldset_new_from_files(
3736        c: *mut grib_context,
3737        filenames: *mut *const ::std::os::raw::c_char,
3738        nfiles: ::std::os::raw::c_int,
3739        keys: *mut *const ::std::os::raw::c_char,
3740        nkeys: ::std::os::raw::c_int,
3741        where_string: *const ::std::os::raw::c_char,
3742        order_by_string: *const ::std::os::raw::c_char,
3743        err: *mut ::std::os::raw::c_int,
3744    ) -> *mut grib_fieldset;
3745}
3746unsafe extern "C" {
3747    pub fn grib_fieldset_delete(set: *mut grib_fieldset);
3748}
3749unsafe extern "C" {
3750    pub fn grib_fieldset_rewind(set: *mut grib_fieldset);
3751}
3752unsafe extern "C" {
3753    pub fn grib_fieldset_apply_order_by(
3754        set: *mut grib_fieldset,
3755        order_by_string: *const ::std::os::raw::c_char,
3756    ) -> ::std::os::raw::c_int;
3757}
3758unsafe extern "C" {
3759    pub fn grib_fieldset_next_handle(
3760        set: *mut grib_fieldset,
3761        err: *mut ::std::os::raw::c_int,
3762    ) -> *mut grib_handle;
3763}
3764unsafe extern "C" {
3765    pub fn grib_fieldset_count(set: *const grib_fieldset) -> ::std::os::raw::c_int;
3766}
3767unsafe extern "C" {
3768    pub fn grib_values_check(
3769        h: *mut grib_handle,
3770        values: *mut grib_values,
3771        count: ::std::os::raw::c_int,
3772    ) -> ::std::os::raw::c_int;
3773}
3774#[repr(C)]
3775#[derive(Debug, Copy, Clone)]
3776pub struct grib_index {
3777    _unused: [u8; 0],
3778}
3779unsafe extern "C" {
3780    pub fn grib_index_new_from_file(
3781        c: *mut grib_context,
3782        filename: *const ::std::os::raw::c_char,
3783        keys: *const ::std::os::raw::c_char,
3784        err: *mut ::std::os::raw::c_int,
3785    ) -> *mut grib_index;
3786}
3787unsafe extern "C" {
3788    pub fn grib_index_new(
3789        c: *mut grib_context,
3790        keys: *const ::std::os::raw::c_char,
3791        err: *mut ::std::os::raw::c_int,
3792    ) -> *mut grib_index;
3793}
3794unsafe extern "C" {
3795    pub fn codes_index_set_product_kind(
3796        index: *mut grib_index,
3797        product_kind: ProductKind,
3798    ) -> ::std::os::raw::c_int;
3799}
3800unsafe extern "C" {
3801    pub fn codes_index_set_unpack_bufr(
3802        index: *mut grib_index,
3803        unpack: ::std::os::raw::c_int,
3804    ) -> ::std::os::raw::c_int;
3805}
3806unsafe extern "C" {
3807    pub fn grib_index_add_file(
3808        index: *mut grib_index,
3809        filename: *const ::std::os::raw::c_char,
3810    ) -> ::std::os::raw::c_int;
3811}
3812unsafe extern "C" {
3813    pub fn grib_index_write(
3814        index: *mut grib_index,
3815        filename: *const ::std::os::raw::c_char,
3816    ) -> ::std::os::raw::c_int;
3817}
3818unsafe extern "C" {
3819    pub fn grib_index_read(
3820        c: *mut grib_context,
3821        filename: *const ::std::os::raw::c_char,
3822        err: *mut ::std::os::raw::c_int,
3823    ) -> *mut grib_index;
3824}
3825unsafe extern "C" {
3826    pub fn grib_index_get_size(
3827        index: *const grib_index,
3828        key: *const ::std::os::raw::c_char,
3829        size: *mut usize,
3830    ) -> ::std::os::raw::c_int;
3831}
3832unsafe extern "C" {
3833    pub fn grib_index_get_long(
3834        index: *const grib_index,
3835        key: *const ::std::os::raw::c_char,
3836        values: *mut ::std::os::raw::c_long,
3837        size: *mut usize,
3838    ) -> ::std::os::raw::c_int;
3839}
3840unsafe extern "C" {
3841    pub fn grib_index_get_double(
3842        index: *const grib_index,
3843        key: *const ::std::os::raw::c_char,
3844        values: *mut f64,
3845        size: *mut usize,
3846    ) -> ::std::os::raw::c_int;
3847}
3848unsafe extern "C" {
3849    pub fn grib_index_get_string(
3850        index: *const grib_index,
3851        key: *const ::std::os::raw::c_char,
3852        values: *mut *mut ::std::os::raw::c_char,
3853        size: *mut usize,
3854    ) -> ::std::os::raw::c_int;
3855}
3856unsafe extern "C" {
3857    pub fn grib_index_select_long(
3858        index: *mut grib_index,
3859        key: *const ::std::os::raw::c_char,
3860        value: ::std::os::raw::c_long,
3861    ) -> ::std::os::raw::c_int;
3862}
3863unsafe extern "C" {
3864    pub fn grib_index_select_double(
3865        index: *mut grib_index,
3866        key: *const ::std::os::raw::c_char,
3867        value: f64,
3868    ) -> ::std::os::raw::c_int;
3869}
3870unsafe extern "C" {
3871    pub fn grib_index_select_string(
3872        index: *mut grib_index,
3873        key: *const ::std::os::raw::c_char,
3874        value: *const ::std::os::raw::c_char,
3875    ) -> ::std::os::raw::c_int;
3876}
3877unsafe extern "C" {
3878    pub fn grib_handle_new_from_index(
3879        index: *mut grib_index,
3880        err: *mut ::std::os::raw::c_int,
3881    ) -> *mut grib_handle;
3882}
3883unsafe extern "C" {
3884    pub fn grib_index_delete(index: *mut grib_index);
3885}
3886unsafe extern "C" {
3887    pub fn grib_count_in_file(
3888        c: *mut grib_context,
3889        f: *mut FILE,
3890        n: *mut ::std::os::raw::c_int,
3891    ) -> ::std::os::raw::c_int;
3892}
3893unsafe extern "C" {
3894    pub fn grib_count_in_filename(
3895        c: *mut grib_context,
3896        filename: *const ::std::os::raw::c_char,
3897        n: *mut ::std::os::raw::c_int,
3898    ) -> ::std::os::raw::c_int;
3899}
3900unsafe extern "C" {
3901    pub fn grib_handle_new_from_file(
3902        c: *mut grib_context,
3903        f: *mut FILE,
3904        error: *mut ::std::os::raw::c_int,
3905    ) -> *mut grib_handle;
3906}
3907unsafe extern "C" {
3908    pub fn grib_write_message(
3909        h: *const grib_handle,
3910        file: *const ::std::os::raw::c_char,
3911        mode: *const ::std::os::raw::c_char,
3912    ) -> ::std::os::raw::c_int;
3913}
3914#[repr(C)]
3915#[derive(Debug, Copy, Clone)]
3916pub struct grib_string_list {
3917    pub value: *mut ::std::os::raw::c_char,
3918    pub count: ::std::os::raw::c_int,
3919    pub next: *mut grib_string_list,
3920}
3921unsafe extern "C" {
3922    pub fn grib_util_sections_copy(
3923        hfrom: *mut grib_handle,
3924        hto: *mut grib_handle,
3925        what: ::std::os::raw::c_int,
3926        err: *mut ::std::os::raw::c_int,
3927    ) -> *mut grib_handle;
3928}
3929unsafe extern "C" {
3930    pub fn grib_util_get_param_id(
3931        mars_param: *const ::std::os::raw::c_char,
3932    ) -> *mut grib_string_list;
3933}
3934unsafe extern "C" {
3935    pub fn grib_util_get_mars_param(
3936        param_id: *const ::std::os::raw::c_char,
3937    ) -> *mut grib_string_list;
3938}
3939unsafe extern "C" {
3940    pub fn grib_handle_new_from_message(
3941        c: *mut grib_context,
3942        data: *const ::std::os::raw::c_void,
3943        data_len: usize,
3944    ) -> *mut grib_handle;
3945}
3946unsafe extern "C" {
3947    pub fn grib_handle_new_from_multi_message(
3948        c: *mut grib_context,
3949        data: *mut *mut ::std::os::raw::c_void,
3950        data_len: *mut usize,
3951        error: *mut ::std::os::raw::c_int,
3952    ) -> *mut grib_handle;
3953}
3954unsafe extern "C" {
3955    pub fn grib_handle_new_from_message_copy(
3956        c: *mut grib_context,
3957        data: *const ::std::os::raw::c_void,
3958        data_len: usize,
3959    ) -> *mut grib_handle;
3960}
3961unsafe extern "C" {
3962    pub fn grib_handle_new_from_samples(
3963        c: *mut grib_context,
3964        sample_name: *const ::std::os::raw::c_char,
3965    ) -> *mut grib_handle;
3966}
3967unsafe extern "C" {
3968    pub fn grib_handle_clone(h: *const grib_handle) -> *mut grib_handle;
3969}
3970unsafe extern "C" {
3971    pub fn grib_handle_clone_headers_only(h: *const grib_handle) -> *mut grib_handle;
3972}
3973unsafe extern "C" {
3974    pub fn grib_handle_delete(h: *mut grib_handle) -> ::std::os::raw::c_int;
3975}
3976unsafe extern "C" {
3977    pub fn grib_multi_handle_new(c: *mut grib_context) -> *mut grib_multi_handle;
3978}
3979unsafe extern "C" {
3980    pub fn grib_multi_handle_append(
3981        h: *mut grib_handle,
3982        start_section: ::std::os::raw::c_int,
3983        mh: *mut grib_multi_handle,
3984    ) -> ::std::os::raw::c_int;
3985}
3986unsafe extern "C" {
3987    pub fn grib_multi_handle_delete(mh: *mut grib_multi_handle) -> ::std::os::raw::c_int;
3988}
3989unsafe extern "C" {
3990    pub fn grib_multi_handle_write(
3991        mh: *mut grib_multi_handle,
3992        f: *mut FILE,
3993    ) -> ::std::os::raw::c_int;
3994}
3995unsafe extern "C" {
3996    pub fn grib_get_message(
3997        h: *const grib_handle,
3998        message: *mut *const ::std::os::raw::c_void,
3999        message_length: *mut usize,
4000    ) -> ::std::os::raw::c_int;
4001}
4002unsafe extern "C" {
4003    pub fn grib_get_message_copy(
4004        h: *const grib_handle,
4005        message: *mut ::std::os::raw::c_void,
4006        message_length: *mut usize,
4007    ) -> ::std::os::raw::c_int;
4008}
4009unsafe extern "C" {
4010    pub fn grib_iterator_new(
4011        h: *const grib_handle,
4012        flags: ::std::os::raw::c_ulong,
4013        error: *mut ::std::os::raw::c_int,
4014    ) -> *mut grib_iterator;
4015}
4016unsafe extern "C" {
4017    pub fn grib_get_data(
4018        h: *const grib_handle,
4019        lats: *mut f64,
4020        lons: *mut f64,
4021        values: *mut f64,
4022    ) -> ::std::os::raw::c_int;
4023}
4024unsafe extern "C" {
4025    pub fn grib_iterator_next(
4026        i: *mut grib_iterator,
4027        lat: *mut f64,
4028        lon: *mut f64,
4029        value: *mut f64,
4030    ) -> ::std::os::raw::c_int;
4031}
4032unsafe extern "C" {
4033    pub fn grib_iterator_previous(
4034        i: *mut grib_iterator,
4035        lat: *mut f64,
4036        lon: *mut f64,
4037        value: *mut f64,
4038    ) -> ::std::os::raw::c_int;
4039}
4040unsafe extern "C" {
4041    pub fn grib_iterator_has_next(i: *mut grib_iterator) -> ::std::os::raw::c_int;
4042}
4043unsafe extern "C" {
4044    pub fn grib_iterator_reset(i: *mut grib_iterator) -> ::std::os::raw::c_int;
4045}
4046unsafe extern "C" {
4047    pub fn grib_iterator_delete(i: *mut grib_iterator) -> ::std::os::raw::c_int;
4048}
4049unsafe extern "C" {
4050    pub fn grib_nearest_new(
4051        h: *const grib_handle,
4052        error: *mut ::std::os::raw::c_int,
4053    ) -> *mut grib_nearest;
4054}
4055unsafe extern "C" {
4056    pub fn grib_nearest_find(
4057        nearest: *mut grib_nearest,
4058        h: *const grib_handle,
4059        inlat: f64,
4060        inlon: f64,
4061        flags: ::std::os::raw::c_ulong,
4062        outlats: *mut f64,
4063        outlons: *mut f64,
4064        values: *mut f64,
4065        distances: *mut f64,
4066        indexes: *mut ::std::os::raw::c_int,
4067        len: *mut usize,
4068    ) -> ::std::os::raw::c_int;
4069}
4070unsafe extern "C" {
4071    pub fn grib_nearest_delete(nearest: *mut grib_nearest) -> ::std::os::raw::c_int;
4072}
4073unsafe extern "C" {
4074    pub fn grib_nearest_find_multiple(
4075        h: *const grib_handle,
4076        is_lsm: ::std::os::raw::c_int,
4077        inlats: *const f64,
4078        inlons: *const f64,
4079        npoints: ::std::os::raw::c_long,
4080        outlats: *mut f64,
4081        outlons: *mut f64,
4082        values: *mut f64,
4083        distances: *mut f64,
4084        indexes: *mut ::std::os::raw::c_int,
4085    ) -> ::std::os::raw::c_int;
4086}
4087unsafe extern "C" {
4088    pub fn grib_get_offset(
4089        h: *const grib_handle,
4090        key: *const ::std::os::raw::c_char,
4091        offset: *mut usize,
4092    ) -> ::std::os::raw::c_int;
4093}
4094unsafe extern "C" {
4095    pub fn grib_get_size(
4096        h: *const grib_handle,
4097        key: *const ::std::os::raw::c_char,
4098        size: *mut usize,
4099    ) -> ::std::os::raw::c_int;
4100}
4101unsafe extern "C" {
4102    pub fn grib_get_length(
4103        h: *const grib_handle,
4104        key: *const ::std::os::raw::c_char,
4105        length: *mut usize,
4106    ) -> ::std::os::raw::c_int;
4107}
4108unsafe extern "C" {
4109    pub fn grib_get_long(
4110        h: *const grib_handle,
4111        key: *const ::std::os::raw::c_char,
4112        value: *mut ::std::os::raw::c_long,
4113    ) -> ::std::os::raw::c_int;
4114}
4115unsafe extern "C" {
4116    pub fn grib_get_double(
4117        h: *const grib_handle,
4118        key: *const ::std::os::raw::c_char,
4119        value: *mut f64,
4120    ) -> ::std::os::raw::c_int;
4121}
4122unsafe extern "C" {
4123    pub fn grib_get_float(
4124        h: *const grib_handle,
4125        key: *const ::std::os::raw::c_char,
4126        value: *mut f32,
4127    ) -> ::std::os::raw::c_int;
4128}
4129unsafe extern "C" {
4130    pub fn grib_get_double_element(
4131        h: *const grib_handle,
4132        key: *const ::std::os::raw::c_char,
4133        i: ::std::os::raw::c_int,
4134        value: *mut f64,
4135    ) -> ::std::os::raw::c_int;
4136}
4137unsafe extern "C" {
4138    pub fn grib_get_float_element(
4139        h: *const grib_handle,
4140        key: *const ::std::os::raw::c_char,
4141        i: ::std::os::raw::c_int,
4142        value: *mut f32,
4143    ) -> ::std::os::raw::c_int;
4144}
4145unsafe extern "C" {
4146    pub fn grib_get_double_elements(
4147        h: *const grib_handle,
4148        key: *const ::std::os::raw::c_char,
4149        index_array: *const ::std::os::raw::c_int,
4150        size: ::std::os::raw::c_long,
4151        value: *mut f64,
4152    ) -> ::std::os::raw::c_int;
4153}
4154unsafe extern "C" {
4155    pub fn grib_get_float_elements(
4156        h: *const grib_handle,
4157        key: *const ::std::os::raw::c_char,
4158        index_array: *const ::std::os::raw::c_int,
4159        size: ::std::os::raw::c_long,
4160        value: *mut f32,
4161    ) -> ::std::os::raw::c_int;
4162}
4163unsafe extern "C" {
4164    pub fn grib_get_string(
4165        h: *const grib_handle,
4166        key: *const ::std::os::raw::c_char,
4167        mesg: *mut ::std::os::raw::c_char,
4168        length: *mut usize,
4169    ) -> ::std::os::raw::c_int;
4170}
4171unsafe extern "C" {
4172    pub fn grib_get_string_array(
4173        h: *const grib_handle,
4174        key: *const ::std::os::raw::c_char,
4175        vals: *mut *mut ::std::os::raw::c_char,
4176        length: *mut usize,
4177    ) -> ::std::os::raw::c_int;
4178}
4179unsafe extern "C" {
4180    pub fn grib_get_bytes(
4181        h: *const grib_handle,
4182        key: *const ::std::os::raw::c_char,
4183        bytes: *mut ::std::os::raw::c_uchar,
4184        length: *mut usize,
4185    ) -> ::std::os::raw::c_int;
4186}
4187unsafe extern "C" {
4188    pub fn grib_get_double_array(
4189        h: *const grib_handle,
4190        key: *const ::std::os::raw::c_char,
4191        vals: *mut f64,
4192        length: *mut usize,
4193    ) -> ::std::os::raw::c_int;
4194}
4195unsafe extern "C" {
4196    pub fn grib_get_float_array(
4197        h: *const grib_handle,
4198        key: *const ::std::os::raw::c_char,
4199        vals: *mut f32,
4200        length: *mut usize,
4201    ) -> ::std::os::raw::c_int;
4202}
4203unsafe extern "C" {
4204    pub fn grib_get_long_array(
4205        h: *const grib_handle,
4206        key: *const ::std::os::raw::c_char,
4207        vals: *mut ::std::os::raw::c_long,
4208        length: *mut usize,
4209    ) -> ::std::os::raw::c_int;
4210}
4211unsafe extern "C" {
4212    pub fn grib_copy_namespace(
4213        dest: *mut grib_handle,
4214        name: *const ::std::os::raw::c_char,
4215        src: *mut grib_handle,
4216    ) -> ::std::os::raw::c_int;
4217}
4218unsafe extern "C" {
4219    pub fn grib_set_long(
4220        h: *mut grib_handle,
4221        key: *const ::std::os::raw::c_char,
4222        val: ::std::os::raw::c_long,
4223    ) -> ::std::os::raw::c_int;
4224}
4225unsafe extern "C" {
4226    pub fn grib_set_double(
4227        h: *mut grib_handle,
4228        key: *const ::std::os::raw::c_char,
4229        val: f64,
4230    ) -> ::std::os::raw::c_int;
4231}
4232unsafe extern "C" {
4233    pub fn grib_set_string(
4234        h: *mut grib_handle,
4235        key: *const ::std::os::raw::c_char,
4236        mesg: *const ::std::os::raw::c_char,
4237        length: *mut usize,
4238    ) -> ::std::os::raw::c_int;
4239}
4240unsafe extern "C" {
4241    pub fn grib_set_bytes(
4242        h: *mut grib_handle,
4243        key: *const ::std::os::raw::c_char,
4244        bytes: *const ::std::os::raw::c_uchar,
4245        length: *mut usize,
4246    ) -> ::std::os::raw::c_int;
4247}
4248unsafe extern "C" {
4249    pub fn grib_set_double_array(
4250        h: *mut grib_handle,
4251        key: *const ::std::os::raw::c_char,
4252        vals: *const f64,
4253        length: usize,
4254    ) -> ::std::os::raw::c_int;
4255}
4256unsafe extern "C" {
4257    pub fn grib_set_float_array(
4258        h: *mut grib_handle,
4259        key: *const ::std::os::raw::c_char,
4260        vals: *const f32,
4261        length: usize,
4262    ) -> ::std::os::raw::c_int;
4263}
4264unsafe extern "C" {
4265    pub fn grib_set_force_double_array(
4266        h: *mut grib_handle,
4267        key: *const ::std::os::raw::c_char,
4268        vals: *const f64,
4269        length: usize,
4270    ) -> ::std::os::raw::c_int;
4271}
4272unsafe extern "C" {
4273    pub fn grib_set_force_float_array(
4274        h: *mut grib_handle,
4275        key: *const ::std::os::raw::c_char,
4276        vals: *const f32,
4277        length: usize,
4278    ) -> ::std::os::raw::c_int;
4279}
4280unsafe extern "C" {
4281    pub fn grib_set_long_array(
4282        h: *mut grib_handle,
4283        key: *const ::std::os::raw::c_char,
4284        vals: *const ::std::os::raw::c_long,
4285        length: usize,
4286    ) -> ::std::os::raw::c_int;
4287}
4288unsafe extern "C" {
4289    pub fn grib_set_string_array(
4290        h: *mut grib_handle,
4291        key: *const ::std::os::raw::c_char,
4292        vals: *mut *const ::std::os::raw::c_char,
4293        length: usize,
4294    ) -> ::std::os::raw::c_int;
4295}
4296unsafe extern "C" {
4297    pub fn grib_dump_content(
4298        h: *const grib_handle,
4299        out: *mut FILE,
4300        mode: *const ::std::os::raw::c_char,
4301        option_flags: ::std::os::raw::c_ulong,
4302        arg: *mut ::std::os::raw::c_void,
4303    );
4304}
4305unsafe extern "C" {
4306    pub fn grib_dump_action_tree(c: *mut grib_context, f: *mut FILE);
4307}
4308pub type grib_free_proc = ::std::option::Option<
4309    unsafe extern "C" fn(c: *const grib_context, data: *mut ::std::os::raw::c_void),
4310>;
4311pub type grib_malloc_proc = ::std::option::Option<
4312    unsafe extern "C" fn(c: *const grib_context, length: usize) -> *mut ::std::os::raw::c_void,
4313>;
4314pub type grib_realloc_proc = ::std::option::Option<
4315    unsafe extern "C" fn(
4316        c: *const grib_context,
4317        data: *mut ::std::os::raw::c_void,
4318        length: usize,
4319    ) -> *mut ::std::os::raw::c_void,
4320>;
4321pub type grib_log_proc = ::std::option::Option<
4322    unsafe extern "C" fn(
4323        c: *const grib_context,
4324        level: ::std::os::raw::c_int,
4325        mesg: *const ::std::os::raw::c_char,
4326    ),
4327>;
4328pub type grib_print_proc = ::std::option::Option<
4329    unsafe extern "C" fn(
4330        c: *const grib_context,
4331        descriptor: *mut ::std::os::raw::c_void,
4332        mesg: *const ::std::os::raw::c_char,
4333    ),
4334>;
4335pub type grib_data_read_proc = ::std::option::Option<
4336    unsafe extern "C" fn(
4337        c: *const grib_context,
4338        ptr: *mut ::std::os::raw::c_void,
4339        size: usize,
4340        stream: *mut ::std::os::raw::c_void,
4341    ) -> usize,
4342>;
4343pub type grib_data_write_proc = ::std::option::Option<
4344    unsafe extern "C" fn(
4345        c: *const grib_context,
4346        ptr: *const ::std::os::raw::c_void,
4347        size: usize,
4348        stream: *mut ::std::os::raw::c_void,
4349    ) -> usize,
4350>;
4351pub type grib_data_tell_proc = ::std::option::Option<
4352    unsafe extern "C" fn(c: *const grib_context, stream: *mut ::std::os::raw::c_void) -> off_t,
4353>;
4354pub type grib_data_seek_proc = ::std::option::Option<
4355    unsafe extern "C" fn(
4356        c: *const grib_context,
4357        offset: off_t,
4358        whence: ::std::os::raw::c_int,
4359        stream: *mut ::std::os::raw::c_void,
4360    ) -> off_t,
4361>;
4362pub type grib_data_eof_proc = ::std::option::Option<
4363    unsafe extern "C" fn(
4364        c: *const grib_context,
4365        stream: *mut ::std::os::raw::c_void,
4366    ) -> ::std::os::raw::c_int,
4367>;
4368unsafe extern "C" {
4369    pub fn grib_context_get_default() -> *mut grib_context;
4370}
4371unsafe extern "C" {
4372    pub fn grib_context_delete(c: *mut grib_context);
4373}
4374unsafe extern "C" {
4375    pub fn grib_gts_header_on(c: *mut grib_context);
4376}
4377unsafe extern "C" {
4378    pub fn grib_gts_header_off(c: *mut grib_context);
4379}
4380unsafe extern "C" {
4381    pub fn grib_gribex_mode_on(c: *mut grib_context);
4382}
4383unsafe extern "C" {
4384    pub fn grib_get_gribex_mode(c: *mut grib_context) -> ::std::os::raw::c_int;
4385}
4386unsafe extern "C" {
4387    pub fn grib_gribex_mode_off(c: *mut grib_context);
4388}
4389unsafe extern "C" {
4390    pub fn grib_context_set_definitions_path(
4391        c: *mut grib_context,
4392        path: *const ::std::os::raw::c_char,
4393    );
4394}
4395unsafe extern "C" {
4396    pub fn grib_context_set_samples_path(c: *mut grib_context, path: *const ::std::os::raw::c_char);
4397}
4398unsafe extern "C" {
4399    pub fn grib_context_set_memory_proc(
4400        c: *mut grib_context,
4401        griballoc: grib_malloc_proc,
4402        gribfree: grib_free_proc,
4403        gribrealloc: grib_realloc_proc,
4404    );
4405}
4406unsafe extern "C" {
4407    pub fn grib_context_set_persistent_memory_proc(
4408        c: *mut grib_context,
4409        griballoc: grib_malloc_proc,
4410        gribfree: grib_free_proc,
4411    );
4412}
4413unsafe extern "C" {
4414    pub fn grib_context_set_buffer_memory_proc(
4415        c: *mut grib_context,
4416        griballoc: grib_malloc_proc,
4417        gribfree: grib_free_proc,
4418        gribrealloc: grib_realloc_proc,
4419    );
4420}
4421unsafe extern "C" {
4422    pub fn grib_context_set_print_proc(c: *mut grib_context, printp: grib_print_proc);
4423}
4424unsafe extern "C" {
4425    pub fn grib_context_set_logging_proc(c: *mut grib_context, logp: grib_log_proc);
4426}
4427unsafe extern "C" {
4428    pub fn grib_multi_support_on(c: *mut grib_context);
4429}
4430unsafe extern "C" {
4431    pub fn grib_multi_support_off(c: *mut grib_context);
4432}
4433unsafe extern "C" {
4434    pub fn grib_multi_support_reset_file(c: *mut grib_context, f: *mut FILE);
4435}
4436unsafe extern "C" {
4437    pub fn grib_samples_path(c: *const grib_context) -> *mut ::std::os::raw::c_char;
4438}
4439unsafe extern "C" {
4440    pub fn grib_definition_path(c: *const grib_context) -> *mut ::std::os::raw::c_char;
4441}
4442unsafe extern "C" {
4443    pub fn grib_get_api_version() -> ::std::os::raw::c_long;
4444}
4445unsafe extern "C" {
4446    pub fn grib_get_git_sha1() -> *const ::std::os::raw::c_char;
4447}
4448unsafe extern "C" {
4449    pub fn grib_get_package_name() -> *const ::std::os::raw::c_char;
4450}
4451unsafe extern "C" {
4452    pub fn grib_print_api_version(out: *mut FILE);
4453}
4454unsafe extern "C" {
4455    pub fn grib_keys_iterator_new(
4456        h: *mut grib_handle,
4457        filter_flags: ::std::os::raw::c_ulong,
4458        name_space: *const ::std::os::raw::c_char,
4459    ) -> *mut grib_keys_iterator;
4460}
4461unsafe extern "C" {
4462    pub fn codes_bufr_keys_iterator_new(
4463        h: *mut grib_handle,
4464        filter_flags: ::std::os::raw::c_ulong,
4465    ) -> *mut bufr_keys_iterator;
4466}
4467unsafe extern "C" {
4468    pub fn codes_bufr_data_section_keys_iterator_new(
4469        h: *mut grib_handle,
4470    ) -> *mut bufr_keys_iterator;
4471}
4472unsafe extern "C" {
4473    pub fn grib_keys_iterator_next(kiter: *mut grib_keys_iterator) -> ::std::os::raw::c_int;
4474}
4475unsafe extern "C" {
4476    pub fn codes_bufr_keys_iterator_next(kiter: *mut bufr_keys_iterator) -> ::std::os::raw::c_int;
4477}
4478unsafe extern "C" {
4479    pub fn grib_keys_iterator_get_name(
4480        kiter: *const grib_keys_iterator,
4481    ) -> *const ::std::os::raw::c_char;
4482}
4483unsafe extern "C" {
4484    pub fn codes_bufr_keys_iterator_get_name(
4485        kiter: *const bufr_keys_iterator,
4486    ) -> *mut ::std::os::raw::c_char;
4487}
4488unsafe extern "C" {
4489    pub fn grib_keys_iterator_delete(kiter: *mut grib_keys_iterator) -> ::std::os::raw::c_int;
4490}
4491unsafe extern "C" {
4492    pub fn codes_bufr_keys_iterator_delete(kiter: *mut bufr_keys_iterator)
4493        -> ::std::os::raw::c_int;
4494}
4495unsafe extern "C" {
4496    pub fn grib_keys_iterator_rewind(kiter: *mut grib_keys_iterator) -> ::std::os::raw::c_int;
4497}
4498unsafe extern "C" {
4499    pub fn codes_bufr_keys_iterator_rewind(kiter: *mut bufr_keys_iterator)
4500        -> ::std::os::raw::c_int;
4501}
4502unsafe extern "C" {
4503    pub fn grib_keys_iterator_set_flags(
4504        kiter: *mut grib_keys_iterator,
4505        flags: ::std::os::raw::c_ulong,
4506    ) -> ::std::os::raw::c_int;
4507}
4508unsafe extern "C" {
4509    pub fn grib_keys_iterator_get_long(
4510        kiter: *const grib_keys_iterator,
4511        v: *mut ::std::os::raw::c_long,
4512        len: *mut usize,
4513    ) -> ::std::os::raw::c_int;
4514}
4515unsafe extern "C" {
4516    pub fn grib_keys_iterator_get_double(
4517        kiter: *const grib_keys_iterator,
4518        v: *mut f64,
4519        len: *mut usize,
4520    ) -> ::std::os::raw::c_int;
4521}
4522unsafe extern "C" {
4523    pub fn grib_keys_iterator_get_float(
4524        kiter: *const grib_keys_iterator,
4525        v: *mut f32,
4526        len: *mut usize,
4527    ) -> ::std::os::raw::c_int;
4528}
4529unsafe extern "C" {
4530    pub fn grib_keys_iterator_get_string(
4531        kiter: *const grib_keys_iterator,
4532        v: *mut ::std::os::raw::c_char,
4533        len: *mut usize,
4534    ) -> ::std::os::raw::c_int;
4535}
4536unsafe extern "C" {
4537    pub fn grib_keys_iterator_get_bytes(
4538        kiter: *const grib_keys_iterator,
4539        v: *mut ::std::os::raw::c_uchar,
4540        len: *mut usize,
4541    ) -> ::std::os::raw::c_int;
4542}
4543unsafe extern "C" {
4544    pub fn codes_copy_key(
4545        h1: *mut grib_handle,
4546        h2: *mut grib_handle,
4547        key: *const ::std::os::raw::c_char,
4548        type_: ::std::os::raw::c_int,
4549    ) -> ::std::os::raw::c_int;
4550}
4551unsafe extern "C" {
4552    pub fn grib_update_sections_lengths(h: *mut grib_handle);
4553}
4554unsafe extern "C" {
4555    pub fn grib_get_error_message(code: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4556}
4557unsafe extern "C" {
4558    pub fn grib_get_type_name(type_: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4559}
4560unsafe extern "C" {
4561    pub fn grib_get_native_type(
4562        h: *const grib_handle,
4563        name: *const ::std::os::raw::c_char,
4564        type_: *mut ::std::os::raw::c_int,
4565    ) -> ::std::os::raw::c_int;
4566}
4567unsafe extern "C" {
4568    pub fn grib_check(
4569        call: *const ::std::os::raw::c_char,
4570        file: *const ::std::os::raw::c_char,
4571        line: ::std::os::raw::c_int,
4572        e: ::std::os::raw::c_int,
4573        msg: *const ::std::os::raw::c_char,
4574    );
4575}
4576unsafe extern "C" {
4577    pub fn grib_set_values(
4578        h: *mut grib_handle,
4579        grib_values: *mut grib_values,
4580        arg_count: usize,
4581    ) -> ::std::os::raw::c_int;
4582}
4583unsafe extern "C" {
4584    pub fn grib_handle_new_from_partial_message_copy(
4585        c: *mut grib_context,
4586        data: *const ::std::os::raw::c_void,
4587        size: usize,
4588    ) -> *mut grib_handle;
4589}
4590unsafe extern "C" {
4591    pub fn grib_handle_new_from_partial_message(
4592        c: *mut grib_context,
4593        data: *const ::std::os::raw::c_void,
4594        buflen: usize,
4595    ) -> *mut grib_handle;
4596}
4597unsafe extern "C" {
4598    pub fn grib_is_missing(
4599        h: *const grib_handle,
4600        key: *const ::std::os::raw::c_char,
4601        err: *mut ::std::os::raw::c_int,
4602    ) -> ::std::os::raw::c_int;
4603}
4604unsafe extern "C" {
4605    pub fn grib_is_defined(
4606        h: *const grib_handle,
4607        key: *const ::std::os::raw::c_char,
4608    ) -> ::std::os::raw::c_int;
4609}
4610unsafe extern "C" {
4611    pub fn grib_set_missing(
4612        h: *mut grib_handle,
4613        key: *const ::std::os::raw::c_char,
4614    ) -> ::std::os::raw::c_int;
4615}
4616unsafe extern "C" {
4617    pub fn grib_get_gaussian_latitudes(
4618        truncation: ::std::os::raw::c_long,
4619        latitudes: *mut f64,
4620    ) -> ::std::os::raw::c_int;
4621}
4622unsafe extern "C" {
4623    pub fn grib_julian_to_datetime(
4624        jd: f64,
4625        year: *mut ::std::os::raw::c_long,
4626        month: *mut ::std::os::raw::c_long,
4627        day: *mut ::std::os::raw::c_long,
4628        hour: *mut ::std::os::raw::c_long,
4629        minute: *mut ::std::os::raw::c_long,
4630        second: *mut ::std::os::raw::c_long,
4631    ) -> ::std::os::raw::c_int;
4632}
4633unsafe extern "C" {
4634    pub fn grib_datetime_to_julian(
4635        year: ::std::os::raw::c_long,
4636        month: ::std::os::raw::c_long,
4637        day: ::std::os::raw::c_long,
4638        hour: ::std::os::raw::c_long,
4639        minute: ::std::os::raw::c_long,
4640        second: ::std::os::raw::c_long,
4641        jd: *mut f64,
4642    ) -> ::std::os::raw::c_int;
4643}
4644unsafe extern "C" {
4645    pub fn grib_julian_to_date(jdate: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
4646}
4647unsafe extern "C" {
4648    pub fn grib_date_to_julian(ddate: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
4649}
4650unsafe extern "C" {
4651    pub fn grib_get_reduced_row(
4652        pl: ::std::os::raw::c_long,
4653        lon_first: f64,
4654        lon_last: f64,
4655        npoints: *mut ::std::os::raw::c_long,
4656        ilon_first: *mut ::std::os::raw::c_long,
4657        ilon_last: *mut ::std::os::raw::c_long,
4658    );
4659}
4660unsafe extern "C" {
4661    pub fn grib_get_reduced_row_p(
4662        pl: ::std::os::raw::c_long,
4663        lon_first: f64,
4664        lon_last: f64,
4665        npoints: *mut ::std::os::raw::c_long,
4666        olon_first: *mut f64,
4667        olon_last: *mut f64,
4668    );
4669}
4670unsafe extern "C" {
4671    pub fn wmo_read_any_from_file(
4672        f: *mut FILE,
4673        buffer: *mut ::std::os::raw::c_void,
4674        len: *mut usize,
4675    ) -> ::std::os::raw::c_int;
4676}
4677unsafe extern "C" {
4678    pub fn wmo_read_grib_from_file(
4679        f: *mut FILE,
4680        buffer: *mut ::std::os::raw::c_void,
4681        len: *mut usize,
4682    ) -> ::std::os::raw::c_int;
4683}
4684unsafe extern "C" {
4685    pub fn wmo_read_bufr_from_file(
4686        f: *mut FILE,
4687        buffer: *mut ::std::os::raw::c_void,
4688        len: *mut usize,
4689    ) -> ::std::os::raw::c_int;
4690}
4691unsafe extern "C" {
4692    pub fn wmo_read_gts_from_file(
4693        f: *mut FILE,
4694        buffer: *mut ::std::os::raw::c_void,
4695        len: *mut usize,
4696    ) -> ::std::os::raw::c_int;
4697}
4698unsafe extern "C" {
4699    pub fn wmo_read_any_from_stream(
4700        stream_data: *mut ::std::os::raw::c_void,
4701        stream_proc: ::std::option::Option<
4702            unsafe extern "C" fn(
4703                arg1: *mut ::std::os::raw::c_void,
4704                buffer: *mut ::std::os::raw::c_void,
4705                len: ::std::os::raw::c_long,
4706            ) -> ::std::os::raw::c_long,
4707        >,
4708        buffer: *mut ::std::os::raw::c_void,
4709        len: *mut usize,
4710    ) -> ::std::os::raw::c_int;
4711}
4712unsafe extern "C" {
4713    pub fn wmo_read_any_from_stream_malloc(
4714        stream_data: *mut ::std::os::raw::c_void,
4715        stream_proc: ::std::option::Option<
4716            unsafe extern "C" fn(
4717                arg1: *mut ::std::os::raw::c_void,
4718                buffer: *mut ::std::os::raw::c_void,
4719                len: ::std::os::raw::c_long,
4720            ) -> ::std::os::raw::c_long,
4721        >,
4722        size: *mut usize,
4723        err: *mut ::std::os::raw::c_int,
4724    ) -> *mut ::std::os::raw::c_void;
4725}
4726unsafe extern "C" {
4727    pub fn wmo_read_any_from_file_malloc(
4728        f: *mut FILE,
4729        headers_only: ::std::os::raw::c_int,
4730        size: *mut usize,
4731        offset: *mut off_t,
4732        err: *mut ::std::os::raw::c_int,
4733    ) -> *mut ::std::os::raw::c_void;
4734}
4735unsafe extern "C" {
4736    pub fn wmo_read_gts_from_file_malloc(
4737        f: *mut FILE,
4738        headers_only: ::std::os::raw::c_int,
4739        size: *mut usize,
4740        offset: *mut off_t,
4741        err: *mut ::std::os::raw::c_int,
4742    ) -> *mut ::std::os::raw::c_void;
4743}
4744unsafe extern "C" {
4745    pub fn wmo_read_bufr_from_file_malloc(
4746        f: *mut FILE,
4747        headers_only: ::std::os::raw::c_int,
4748        size: *mut usize,
4749        offset: *mut off_t,
4750        err: *mut ::std::os::raw::c_int,
4751    ) -> *mut ::std::os::raw::c_void;
4752}
4753unsafe extern "C" {
4754    pub fn wmo_read_grib_from_file_malloc(
4755        f: *mut FILE,
4756        headers_only: ::std::os::raw::c_int,
4757        size: *mut usize,
4758        offset: *mut off_t,
4759        err: *mut ::std::os::raw::c_int,
4760    ) -> *mut ::std::os::raw::c_void;
4761}
4762unsafe extern "C" {
4763    pub fn grib_read_any_from_file(
4764        ctx: *mut grib_context,
4765        f: *mut FILE,
4766        buffer: *mut ::std::os::raw::c_void,
4767        len: *mut usize,
4768    ) -> ::std::os::raw::c_int;
4769}
4770unsafe extern "C" {
4771    pub fn grib_get_message_offset(
4772        h: *const grib_handle,
4773        offset: *mut off_t,
4774    ) -> ::std::os::raw::c_int;
4775}
4776unsafe extern "C" {
4777    pub fn grib_get_message_size(h: *const grib_handle, size: *mut usize) -> ::std::os::raw::c_int;
4778}
4779#[repr(C)]
4780#[derive(Debug, Copy, Clone)]
4781pub struct grib_util_grid_spec {
4782    pub grid_type: ::std::os::raw::c_int,
4783    pub grid_name: *const ::std::os::raw::c_char,
4784    pub Ni: ::std::os::raw::c_long,
4785    pub Nj: ::std::os::raw::c_long,
4786    pub iDirectionIncrementInDegrees: f64,
4787    pub jDirectionIncrementInDegrees: f64,
4788    pub longitudeOfFirstGridPointInDegrees: f64,
4789    pub longitudeOfLastGridPointInDegrees: f64,
4790    pub latitudeOfFirstGridPointInDegrees: f64,
4791    pub latitudeOfLastGridPointInDegrees: f64,
4792    pub uvRelativeToGrid: ::std::os::raw::c_long,
4793    pub latitudeOfSouthernPoleInDegrees: f64,
4794    pub longitudeOfSouthernPoleInDegrees: f64,
4795    pub angleOfRotationInDegrees: f64,
4796    pub iScansNegatively: ::std::os::raw::c_long,
4797    pub jScansPositively: ::std::os::raw::c_long,
4798    pub N: ::std::os::raw::c_long,
4799    pub bitmapPresent: ::std::os::raw::c_long,
4800    pub missingValue: f64,
4801    pub pl: *const ::std::os::raw::c_long,
4802    pub pl_size: ::std::os::raw::c_long,
4803    pub truncation: ::std::os::raw::c_long,
4804    pub orientationOfTheGridInDegrees: f64,
4805    pub DyInMetres: ::std::os::raw::c_long,
4806    pub DxInMetres: ::std::os::raw::c_long,
4807}
4808#[repr(C)]
4809#[derive(Debug, Copy, Clone)]
4810pub struct grib_util_packing_spec {
4811    pub packing_type: ::std::os::raw::c_long,
4812    pub packing: ::std::os::raw::c_long,
4813    pub boustrophedonic: ::std::os::raw::c_long,
4814    pub editionNumber: ::std::os::raw::c_long,
4815    pub accuracy: ::std::os::raw::c_long,
4816    pub bitsPerValue: ::std::os::raw::c_long,
4817    pub decimalScaleFactor: ::std::os::raw::c_long,
4818    pub computeLaplacianOperator: ::std::os::raw::c_long,
4819    pub truncateLaplacian: ::std::os::raw::c_int,
4820    pub laplacianOperator: f64,
4821    pub deleteLocalDefinition: ::std::os::raw::c_long,
4822    pub extra_settings: [grib_values; 80usize],
4823    pub extra_settings_count: ::std::os::raw::c_long,
4824}
4825unsafe extern "C" {
4826    pub fn grib_util_set_spec(
4827        h: *mut grib_handle,
4828        grid_spec: *const grib_util_grid_spec,
4829        packing_spec: *const grib_util_packing_spec,
4830        flags: ::std::os::raw::c_int,
4831        data_values: *const f64,
4832        data_values_count: usize,
4833        err: *mut ::std::os::raw::c_int,
4834    ) -> *mut grib_handle;
4835}
4836unsafe extern "C" {
4837    pub fn parse_keyval_string(
4838        grib_tool: *const ::std::os::raw::c_char,
4839        arg: *mut ::std::os::raw::c_char,
4840        values_required: ::std::os::raw::c_int,
4841        default_type: ::std::os::raw::c_int,
4842        values: *mut grib_values,
4843        count: *mut ::std::os::raw::c_int,
4844    ) -> ::std::os::raw::c_int;
4845}
4846unsafe extern "C" {
4847    pub fn grib_new_from_file(
4848        c: *mut grib_context,
4849        f: *mut FILE,
4850        headers_only: ::std::os::raw::c_int,
4851        error: *mut ::std::os::raw::c_int,
4852    ) -> *mut grib_handle;
4853}
4854#[repr(C)]
4855#[derive(Debug, Copy, Clone)]
4856pub struct codes_bufr_header {
4857    pub message_offset: ::std::os::raw::c_ulong,
4858    pub message_size: ::std::os::raw::c_ulong,
4859    pub edition: ::std::os::raw::c_long,
4860    pub masterTableNumber: ::std::os::raw::c_long,
4861    pub bufrHeaderSubCentre: ::std::os::raw::c_long,
4862    pub bufrHeaderCentre: ::std::os::raw::c_long,
4863    pub updateSequenceNumber: ::std::os::raw::c_long,
4864    pub dataCategory: ::std::os::raw::c_long,
4865    pub dataSubCategory: ::std::os::raw::c_long,
4866    pub masterTablesVersionNumber: ::std::os::raw::c_long,
4867    pub localTablesVersionNumber: ::std::os::raw::c_long,
4868    pub typicalYear: ::std::os::raw::c_long,
4869    pub typicalMonth: ::std::os::raw::c_long,
4870    pub typicalDay: ::std::os::raw::c_long,
4871    pub typicalHour: ::std::os::raw::c_long,
4872    pub typicalMinute: ::std::os::raw::c_long,
4873    pub typicalSecond: ::std::os::raw::c_long,
4874    pub typicalDate: ::std::os::raw::c_long,
4875    pub typicalTime: ::std::os::raw::c_long,
4876    pub internationalDataSubCategory: ::std::os::raw::c_long,
4877    pub localSectionPresent: ::std::os::raw::c_long,
4878    pub ecmwfLocalSectionPresent: ::std::os::raw::c_long,
4879    pub rdbType: ::std::os::raw::c_long,
4880    pub oldSubtype: ::std::os::raw::c_long,
4881    pub rdbSubtype: ::std::os::raw::c_long,
4882    pub ident: [::std::os::raw::c_char; 9usize],
4883    pub localYear: ::std::os::raw::c_long,
4884    pub localMonth: ::std::os::raw::c_long,
4885    pub localDay: ::std::os::raw::c_long,
4886    pub localHour: ::std::os::raw::c_long,
4887    pub localMinute: ::std::os::raw::c_long,
4888    pub localSecond: ::std::os::raw::c_long,
4889    pub rdbtimeDay: ::std::os::raw::c_long,
4890    pub rdbtimeHour: ::std::os::raw::c_long,
4891    pub rdbtimeMinute: ::std::os::raw::c_long,
4892    pub rdbtimeSecond: ::std::os::raw::c_long,
4893    pub rectimeDay: ::std::os::raw::c_long,
4894    pub rectimeHour: ::std::os::raw::c_long,
4895    pub rectimeMinute: ::std::os::raw::c_long,
4896    pub rectimeSecond: ::std::os::raw::c_long,
4897    pub restricted: ::std::os::raw::c_long,
4898    pub isSatellite: ::std::os::raw::c_long,
4899    pub localLongitude1: f64,
4900    pub localLatitude1: f64,
4901    pub localLongitude2: f64,
4902    pub localLatitude2: f64,
4903    pub localLatitude: f64,
4904    pub localLongitude: f64,
4905    pub localNumberOfObservations: ::std::os::raw::c_long,
4906    pub satelliteID: ::std::os::raw::c_long,
4907    pub qualityControl: ::std::os::raw::c_long,
4908    pub newSubtype: ::std::os::raw::c_long,
4909    pub daLoop: ::std::os::raw::c_long,
4910    pub numberOfSubsets: ::std::os::raw::c_ulong,
4911    pub observedData: ::std::os::raw::c_long,
4912    pub compressedData: ::std::os::raw::c_long,
4913}
4914pub type codes_assertion_failed_proc =
4915    ::std::option::Option<unsafe extern "C" fn(message: *const ::std::os::raw::c_char)>;
4916unsafe extern "C" {
4917    pub fn codes_set_codes_assertion_failed_proc(proc_: codes_assertion_failed_proc);
4918}
4919pub type codes_values = grib_values;
4920pub type codes_key_value_list = grib_key_value_list;
4921pub type codes_handle = grib_handle;
4922pub type codes_multi_handle = grib_multi_handle;
4923pub type codes_context = grib_context;
4924pub type codes_iterator = grib_iterator;
4925pub type codes_nearest = grib_nearest;
4926pub type codes_keys_iterator = grib_keys_iterator;
4927pub type codes_bufr_keys_iterator = bufr_keys_iterator;
4928pub type codes_fieldset = grib_fieldset;
4929pub type codes_order_by = grib_order_by;
4930pub type codes_where = grib_where;
4931pub type codes_sarray = grib_sarray;
4932pub type codes_oarray = grib_oarray;
4933pub type codes_darray = grib_darray;
4934pub type codes_iarray = grib_iarray;
4935pub type codes_vdarray = grib_vdarray;
4936pub type codes_vsarray = grib_vsarray;
4937pub type codes_viarray = grib_viarray;
4938pub type codes_string_list = grib_string_list;
4939pub type codes_util_packing_spec = grib_util_packing_spec;
4940pub type codes_util_grid_spec = grib_util_grid_spec;
4941unsafe extern "C" {
4942    pub fn codes_fieldset_new_from_files(
4943        c: *mut codes_context,
4944        filenames: *mut *const ::std::os::raw::c_char,
4945        nfiles: ::std::os::raw::c_int,
4946        keys: *mut *const ::std::os::raw::c_char,
4947        nkeys: ::std::os::raw::c_int,
4948        where_string: *const ::std::os::raw::c_char,
4949        order_by_string: *const ::std::os::raw::c_char,
4950        err: *mut ::std::os::raw::c_int,
4951    ) -> *mut codes_fieldset;
4952}
4953unsafe extern "C" {
4954    pub fn codes_fieldset_delete(set: *mut codes_fieldset);
4955}
4956unsafe extern "C" {
4957    pub fn codes_fieldset_rewind(set: *mut codes_fieldset);
4958}
4959unsafe extern "C" {
4960    pub fn codes_fieldset_apply_order_by(
4961        set: *mut codes_fieldset,
4962        order_by_string: *const ::std::os::raw::c_char,
4963    ) -> ::std::os::raw::c_int;
4964}
4965unsafe extern "C" {
4966    pub fn codes_fieldset_next_handle(
4967        set: *mut codes_fieldset,
4968        err: *mut ::std::os::raw::c_int,
4969    ) -> *mut codes_handle;
4970}
4971unsafe extern "C" {
4972    pub fn codes_fieldset_count(set: *const codes_fieldset) -> ::std::os::raw::c_int;
4973}
4974unsafe extern "C" {
4975    pub fn codes_values_check(
4976        h: *mut codes_handle,
4977        values: *mut codes_values,
4978        count: ::std::os::raw::c_int,
4979    ) -> ::std::os::raw::c_int;
4980}
4981pub type codes_index = grib_index;
4982unsafe extern "C" {
4983    pub fn codes_index_new_from_file(
4984        c: *mut codes_context,
4985        filename: *const ::std::os::raw::c_char,
4986        keys: *const ::std::os::raw::c_char,
4987        err: *mut ::std::os::raw::c_int,
4988    ) -> *mut codes_index;
4989}
4990unsafe extern "C" {
4991    pub fn codes_index_new(
4992        c: *mut codes_context,
4993        keys: *const ::std::os::raw::c_char,
4994        err: *mut ::std::os::raw::c_int,
4995    ) -> *mut codes_index;
4996}
4997unsafe extern "C" {
4998    pub fn codes_index_add_file(
4999        index: *mut codes_index,
5000        filename: *const ::std::os::raw::c_char,
5001    ) -> ::std::os::raw::c_int;
5002}
5003unsafe extern "C" {
5004    pub fn codes_index_write(
5005        index: *mut codes_index,
5006        filename: *const ::std::os::raw::c_char,
5007    ) -> ::std::os::raw::c_int;
5008}
5009unsafe extern "C" {
5010    pub fn codes_index_read(
5011        c: *mut codes_context,
5012        filename: *const ::std::os::raw::c_char,
5013        err: *mut ::std::os::raw::c_int,
5014    ) -> *mut codes_index;
5015}
5016unsafe extern "C" {
5017    pub fn codes_index_get_size(
5018        index: *const codes_index,
5019        key: *const ::std::os::raw::c_char,
5020        size: *mut usize,
5021    ) -> ::std::os::raw::c_int;
5022}
5023unsafe extern "C" {
5024    pub fn codes_index_get_long(
5025        index: *const codes_index,
5026        key: *const ::std::os::raw::c_char,
5027        values: *mut ::std::os::raw::c_long,
5028        size: *mut usize,
5029    ) -> ::std::os::raw::c_int;
5030}
5031unsafe extern "C" {
5032    pub fn codes_index_get_double(
5033        index: *const codes_index,
5034        key: *const ::std::os::raw::c_char,
5035        values: *mut f64,
5036        size: *mut usize,
5037    ) -> ::std::os::raw::c_int;
5038}
5039unsafe extern "C" {
5040    pub fn codes_index_get_string(
5041        index: *const codes_index,
5042        key: *const ::std::os::raw::c_char,
5043        values: *mut *mut ::std::os::raw::c_char,
5044        size: *mut usize,
5045    ) -> ::std::os::raw::c_int;
5046}
5047unsafe extern "C" {
5048    pub fn codes_index_select_long(
5049        index: *mut codes_index,
5050        key: *const ::std::os::raw::c_char,
5051        value: ::std::os::raw::c_long,
5052    ) -> ::std::os::raw::c_int;
5053}
5054unsafe extern "C" {
5055    pub fn codes_index_select_double(
5056        index: *mut codes_index,
5057        key: *const ::std::os::raw::c_char,
5058        value: f64,
5059    ) -> ::std::os::raw::c_int;
5060}
5061unsafe extern "C" {
5062    pub fn codes_index_select_string(
5063        index: *mut codes_index,
5064        key: *const ::std::os::raw::c_char,
5065        value: *const ::std::os::raw::c_char,
5066    ) -> ::std::os::raw::c_int;
5067}
5068unsafe extern "C" {
5069    pub fn codes_handle_new_from_index(
5070        index: *mut codes_index,
5071        err: *mut ::std::os::raw::c_int,
5072    ) -> *mut codes_handle;
5073}
5074unsafe extern "C" {
5075    pub fn codes_index_delete(index: *mut codes_index);
5076}
5077unsafe extern "C" {
5078    pub fn codes_count_in_file(
5079        c: *mut codes_context,
5080        f: *mut FILE,
5081        n: *mut ::std::os::raw::c_int,
5082    ) -> ::std::os::raw::c_int;
5083}
5084unsafe extern "C" {
5085    pub fn codes_count_in_filename(
5086        c: *mut codes_context,
5087        filename: *const ::std::os::raw::c_char,
5088        n: *mut ::std::os::raw::c_int,
5089    ) -> ::std::os::raw::c_int;
5090}
5091unsafe extern "C" {
5092    pub fn codes_handle_new_from_file(
5093        c: *mut codes_context,
5094        f: *mut FILE,
5095        product: ProductKind,
5096        error: *mut ::std::os::raw::c_int,
5097    ) -> *mut codes_handle;
5098}
5099unsafe extern "C" {
5100    pub fn codes_grib_handle_new_from_file(
5101        c: *mut codes_context,
5102        f: *mut FILE,
5103        error: *mut ::std::os::raw::c_int,
5104    ) -> *mut codes_handle;
5105}
5106unsafe extern "C" {
5107    pub fn codes_bufr_handle_new_from_file(
5108        c: *mut codes_context,
5109        f: *mut FILE,
5110        error: *mut ::std::os::raw::c_int,
5111    ) -> *mut codes_handle;
5112}
5113unsafe extern "C" {
5114    pub fn codes_write_message(
5115        h: *const codes_handle,
5116        file: *const ::std::os::raw::c_char,
5117        mode: *const ::std::os::raw::c_char,
5118    ) -> ::std::os::raw::c_int;
5119}
5120unsafe extern "C" {
5121    pub fn codes_grib_util_sections_copy(
5122        hfrom: *mut codes_handle,
5123        hto: *mut codes_handle,
5124        what: ::std::os::raw::c_int,
5125        err: *mut ::std::os::raw::c_int,
5126    ) -> *mut codes_handle;
5127}
5128unsafe extern "C" {
5129    pub fn codes_grib_util_get_param_id(
5130        mars_param: *const ::std::os::raw::c_char,
5131    ) -> *mut codes_string_list;
5132}
5133unsafe extern "C" {
5134    pub fn codes_grib_util_get_mars_param(
5135        param_id: *const ::std::os::raw::c_char,
5136    ) -> *mut codes_string_list;
5137}
5138unsafe extern "C" {
5139    pub fn codes_handle_new_from_message(
5140        c: *mut codes_context,
5141        data: *const ::std::os::raw::c_void,
5142        data_len: usize,
5143    ) -> *mut codes_handle;
5144}
5145unsafe extern "C" {
5146    pub fn codes_grib_handle_new_from_multi_message(
5147        c: *mut codes_context,
5148        data: *mut *mut ::std::os::raw::c_void,
5149        data_len: *mut usize,
5150        error: *mut ::std::os::raw::c_int,
5151    ) -> *mut codes_handle;
5152}
5153unsafe extern "C" {
5154    pub fn codes_handle_new_from_message_copy(
5155        c: *mut codes_context,
5156        data: *const ::std::os::raw::c_void,
5157        data_len: usize,
5158    ) -> *mut codes_handle;
5159}
5160unsafe extern "C" {
5161    pub fn codes_grib_handle_new_from_samples(
5162        c: *mut codes_context,
5163        sample_name: *const ::std::os::raw::c_char,
5164    ) -> *mut codes_handle;
5165}
5166unsafe extern "C" {
5167    pub fn codes_bufr_handle_new_from_samples(
5168        c: *mut codes_context,
5169        sample_name: *const ::std::os::raw::c_char,
5170    ) -> *mut codes_handle;
5171}
5172unsafe extern "C" {
5173    pub fn codes_handle_new_from_samples(
5174        c: *mut codes_context,
5175        sample_name: *const ::std::os::raw::c_char,
5176    ) -> *mut codes_handle;
5177}
5178unsafe extern "C" {
5179    pub fn codes_handle_clone(h: *const codes_handle) -> *mut codes_handle;
5180}
5181unsafe extern "C" {
5182    pub fn codes_handle_clone_headers_only(h: *const codes_handle) -> *mut codes_handle;
5183}
5184unsafe extern "C" {
5185    pub fn codes_handle_delete(h: *mut codes_handle) -> ::std::os::raw::c_int;
5186}
5187unsafe extern "C" {
5188    pub fn codes_grib_multi_handle_new(c: *mut codes_context) -> *mut codes_multi_handle;
5189}
5190unsafe extern "C" {
5191    pub fn codes_grib_multi_handle_append(
5192        h: *mut codes_handle,
5193        start_section: ::std::os::raw::c_int,
5194        mh: *mut codes_multi_handle,
5195    ) -> ::std::os::raw::c_int;
5196}
5197unsafe extern "C" {
5198    pub fn codes_grib_multi_handle_delete(mh: *mut codes_multi_handle) -> ::std::os::raw::c_int;
5199}
5200unsafe extern "C" {
5201    pub fn codes_grib_multi_handle_write(
5202        mh: *mut codes_multi_handle,
5203        f: *mut FILE,
5204    ) -> ::std::os::raw::c_int;
5205}
5206unsafe extern "C" {
5207    pub fn codes_get_message(
5208        h: *const codes_handle,
5209        message: *mut *const ::std::os::raw::c_void,
5210        message_length: *mut usize,
5211    ) -> ::std::os::raw::c_int;
5212}
5213unsafe extern "C" {
5214    pub fn codes_get_message_copy(
5215        h: *const codes_handle,
5216        message: *mut ::std::os::raw::c_void,
5217        message_length: *mut usize,
5218    ) -> ::std::os::raw::c_int;
5219}
5220unsafe extern "C" {
5221    pub fn codes_grib_iterator_new(
5222        h: *const codes_handle,
5223        flags: ::std::os::raw::c_ulong,
5224        error: *mut ::std::os::raw::c_int,
5225    ) -> *mut codes_iterator;
5226}
5227unsafe extern "C" {
5228    pub fn codes_grib_get_data(
5229        h: *const codes_handle,
5230        lats: *mut f64,
5231        lons: *mut f64,
5232        values: *mut f64,
5233    ) -> ::std::os::raw::c_int;
5234}
5235unsafe extern "C" {
5236    pub fn codes_grib_iterator_next(
5237        i: *mut codes_iterator,
5238        lat: *mut f64,
5239        lon: *mut f64,
5240        value: *mut f64,
5241    ) -> ::std::os::raw::c_int;
5242}
5243unsafe extern "C" {
5244    pub fn codes_grib_iterator_previous(
5245        i: *mut codes_iterator,
5246        lat: *mut f64,
5247        lon: *mut f64,
5248        value: *mut f64,
5249    ) -> ::std::os::raw::c_int;
5250}
5251unsafe extern "C" {
5252    pub fn codes_grib_iterator_has_next(i: *mut codes_iterator) -> ::std::os::raw::c_int;
5253}
5254unsafe extern "C" {
5255    pub fn codes_grib_iterator_reset(i: *mut codes_iterator) -> ::std::os::raw::c_int;
5256}
5257unsafe extern "C" {
5258    pub fn codes_grib_iterator_delete(i: *mut codes_iterator) -> ::std::os::raw::c_int;
5259}
5260unsafe extern "C" {
5261    pub fn codes_grib_nearest_new(
5262        h: *const codes_handle,
5263        error: *mut ::std::os::raw::c_int,
5264    ) -> *mut codes_nearest;
5265}
5266unsafe extern "C" {
5267    pub fn codes_grib_nearest_find(
5268        nearest: *mut codes_nearest,
5269        h: *const codes_handle,
5270        inlat: f64,
5271        inlon: f64,
5272        flags: ::std::os::raw::c_ulong,
5273        outlats: *mut f64,
5274        outlons: *mut f64,
5275        values: *mut f64,
5276        distances: *mut f64,
5277        indexes: *mut ::std::os::raw::c_int,
5278        len: *mut usize,
5279    ) -> ::std::os::raw::c_int;
5280}
5281unsafe extern "C" {
5282    pub fn codes_grib_nearest_delete(nearest: *mut codes_nearest) -> ::std::os::raw::c_int;
5283}
5284unsafe extern "C" {
5285    pub fn codes_grib_nearest_find_multiple(
5286        h: *const codes_handle,
5287        is_lsm: ::std::os::raw::c_int,
5288        inlats: *const f64,
5289        inlons: *const f64,
5290        npoints: ::std::os::raw::c_long,
5291        outlats: *mut f64,
5292        outlons: *mut f64,
5293        values: *mut f64,
5294        distances: *mut f64,
5295        indexes: *mut ::std::os::raw::c_int,
5296    ) -> ::std::os::raw::c_int;
5297}
5298unsafe extern "C" {
5299    pub fn codes_get_offset(
5300        h: *const codes_handle,
5301        key: *const ::std::os::raw::c_char,
5302        offset: *mut usize,
5303    ) -> ::std::os::raw::c_int;
5304}
5305unsafe extern "C" {
5306    pub fn codes_get_size(
5307        h: *const codes_handle,
5308        key: *const ::std::os::raw::c_char,
5309        size: *mut usize,
5310    ) -> ::std::os::raw::c_int;
5311}
5312unsafe extern "C" {
5313    pub fn codes_get_length(
5314        h: *const codes_handle,
5315        key: *const ::std::os::raw::c_char,
5316        length: *mut usize,
5317    ) -> ::std::os::raw::c_int;
5318}
5319unsafe extern "C" {
5320    pub fn codes_get_long(
5321        h: *const codes_handle,
5322        key: *const ::std::os::raw::c_char,
5323        value: *mut ::std::os::raw::c_long,
5324    ) -> ::std::os::raw::c_int;
5325}
5326unsafe extern "C" {
5327    pub fn codes_get_double(
5328        h: *const codes_handle,
5329        key: *const ::std::os::raw::c_char,
5330        value: *mut f64,
5331    ) -> ::std::os::raw::c_int;
5332}
5333unsafe extern "C" {
5334    pub fn codes_get_float(
5335        h: *const codes_handle,
5336        key: *const ::std::os::raw::c_char,
5337        value: *mut f32,
5338    ) -> ::std::os::raw::c_int;
5339}
5340unsafe extern "C" {
5341    pub fn codes_get_double_element(
5342        h: *const codes_handle,
5343        key: *const ::std::os::raw::c_char,
5344        i: ::std::os::raw::c_int,
5345        value: *mut f64,
5346    ) -> ::std::os::raw::c_int;
5347}
5348unsafe extern "C" {
5349    pub fn codes_get_float_element(
5350        h: *const codes_handle,
5351        key: *const ::std::os::raw::c_char,
5352        i: ::std::os::raw::c_int,
5353        value: *mut f32,
5354    ) -> ::std::os::raw::c_int;
5355}
5356unsafe extern "C" {
5357    pub fn codes_get_double_elements(
5358        h: *const codes_handle,
5359        key: *const ::std::os::raw::c_char,
5360        index_array: *const ::std::os::raw::c_int,
5361        size: ::std::os::raw::c_long,
5362        value: *mut f64,
5363    ) -> ::std::os::raw::c_int;
5364}
5365unsafe extern "C" {
5366    pub fn codes_get_float_elements(
5367        h: *const codes_handle,
5368        key: *const ::std::os::raw::c_char,
5369        index_array: *const ::std::os::raw::c_int,
5370        size: ::std::os::raw::c_long,
5371        value: *mut f32,
5372    ) -> ::std::os::raw::c_int;
5373}
5374unsafe extern "C" {
5375    pub fn codes_get_string(
5376        h: *const codes_handle,
5377        key: *const ::std::os::raw::c_char,
5378        mesg: *mut ::std::os::raw::c_char,
5379        length: *mut usize,
5380    ) -> ::std::os::raw::c_int;
5381}
5382unsafe extern "C" {
5383    pub fn codes_get_string_array(
5384        h: *const codes_handle,
5385        key: *const ::std::os::raw::c_char,
5386        vals: *mut *mut ::std::os::raw::c_char,
5387        length: *mut usize,
5388    ) -> ::std::os::raw::c_int;
5389}
5390unsafe extern "C" {
5391    pub fn codes_get_bytes(
5392        h: *const codes_handle,
5393        key: *const ::std::os::raw::c_char,
5394        bytes: *mut ::std::os::raw::c_uchar,
5395        length: *mut usize,
5396    ) -> ::std::os::raw::c_int;
5397}
5398unsafe extern "C" {
5399    pub fn codes_get_double_array(
5400        h: *const codes_handle,
5401        key: *const ::std::os::raw::c_char,
5402        vals: *mut f64,
5403        length: *mut usize,
5404    ) -> ::std::os::raw::c_int;
5405}
5406unsafe extern "C" {
5407    pub fn codes_get_float_array(
5408        h: *const codes_handle,
5409        key: *const ::std::os::raw::c_char,
5410        vals: *mut f32,
5411        length: *mut usize,
5412    ) -> ::std::os::raw::c_int;
5413}
5414unsafe extern "C" {
5415    pub fn codes_get_long_array(
5416        h: *const codes_handle,
5417        key: *const ::std::os::raw::c_char,
5418        vals: *mut ::std::os::raw::c_long,
5419        length: *mut usize,
5420    ) -> ::std::os::raw::c_int;
5421}
5422unsafe extern "C" {
5423    pub fn codes_copy_namespace(
5424        dest: *mut codes_handle,
5425        name: *const ::std::os::raw::c_char,
5426        src: *mut codes_handle,
5427    ) -> ::std::os::raw::c_int;
5428}
5429unsafe extern "C" {
5430    pub fn codes_set_long(
5431        h: *mut codes_handle,
5432        key: *const ::std::os::raw::c_char,
5433        val: ::std::os::raw::c_long,
5434    ) -> ::std::os::raw::c_int;
5435}
5436unsafe extern "C" {
5437    pub fn codes_set_double(
5438        h: *mut codes_handle,
5439        key: *const ::std::os::raw::c_char,
5440        val: f64,
5441    ) -> ::std::os::raw::c_int;
5442}
5443unsafe extern "C" {
5444    pub fn codes_set_string(
5445        h: *mut codes_handle,
5446        key: *const ::std::os::raw::c_char,
5447        mesg: *const ::std::os::raw::c_char,
5448        length: *mut usize,
5449    ) -> ::std::os::raw::c_int;
5450}
5451unsafe extern "C" {
5452    pub fn codes_set_bytes(
5453        h: *mut codes_handle,
5454        key: *const ::std::os::raw::c_char,
5455        bytes: *const ::std::os::raw::c_uchar,
5456        length: *mut usize,
5457    ) -> ::std::os::raw::c_int;
5458}
5459unsafe extern "C" {
5460    pub fn codes_set_double_array(
5461        h: *mut codes_handle,
5462        key: *const ::std::os::raw::c_char,
5463        vals: *const f64,
5464        length: usize,
5465    ) -> ::std::os::raw::c_int;
5466}
5467unsafe extern "C" {
5468    pub fn codes_set_float_array(
5469        h: *mut codes_handle,
5470        key: *const ::std::os::raw::c_char,
5471        vals: *const f32,
5472        length: usize,
5473    ) -> ::std::os::raw::c_int;
5474}
5475unsafe extern "C" {
5476    pub fn codes_set_force_double_array(
5477        h: *mut codes_handle,
5478        key: *const ::std::os::raw::c_char,
5479        vals: *const f64,
5480        length: usize,
5481    ) -> ::std::os::raw::c_int;
5482}
5483unsafe extern "C" {
5484    pub fn codes_set_force_float_array(
5485        h: *mut codes_handle,
5486        key: *const ::std::os::raw::c_char,
5487        vals: *const f32,
5488        length: usize,
5489    ) -> ::std::os::raw::c_int;
5490}
5491unsafe extern "C" {
5492    pub fn codes_set_long_array(
5493        h: *mut codes_handle,
5494        key: *const ::std::os::raw::c_char,
5495        vals: *const ::std::os::raw::c_long,
5496        length: usize,
5497    ) -> ::std::os::raw::c_int;
5498}
5499unsafe extern "C" {
5500    pub fn codes_set_string_array(
5501        h: *mut codes_handle,
5502        key: *const ::std::os::raw::c_char,
5503        vals: *mut *const ::std::os::raw::c_char,
5504        length: usize,
5505    ) -> ::std::os::raw::c_int;
5506}
5507unsafe extern "C" {
5508    pub fn codes_dump_content(
5509        h: *const codes_handle,
5510        out: *mut FILE,
5511        mode: *const ::std::os::raw::c_char,
5512        option_flags: ::std::os::raw::c_ulong,
5513        arg: *mut ::std::os::raw::c_void,
5514    );
5515}
5516unsafe extern "C" {
5517    pub fn codes_dump_action_tree(c: *mut codes_context, f: *mut FILE);
5518}
5519pub type codes_free_proc = ::std::option::Option<
5520    unsafe extern "C" fn(c: *const codes_context, data: *mut ::std::os::raw::c_void),
5521>;
5522pub type codes_malloc_proc = ::std::option::Option<
5523    unsafe extern "C" fn(c: *const codes_context, length: usize) -> *mut ::std::os::raw::c_void,
5524>;
5525pub type codes_realloc_proc = ::std::option::Option<
5526    unsafe extern "C" fn(
5527        c: *const codes_context,
5528        data: *mut ::std::os::raw::c_void,
5529        length: usize,
5530    ) -> *mut ::std::os::raw::c_void,
5531>;
5532pub type codes_log_proc = ::std::option::Option<
5533    unsafe extern "C" fn(
5534        c: *const codes_context,
5535        level: ::std::os::raw::c_int,
5536        mesg: *const ::std::os::raw::c_char,
5537    ),
5538>;
5539pub type codes_print_proc = ::std::option::Option<
5540    unsafe extern "C" fn(
5541        c: *const codes_context,
5542        descriptor: *mut ::std::os::raw::c_void,
5543        mesg: *const ::std::os::raw::c_char,
5544    ),
5545>;
5546pub type codes_data_read_proc = ::std::option::Option<
5547    unsafe extern "C" fn(
5548        c: *const codes_context,
5549        ptr: *mut ::std::os::raw::c_void,
5550        size: usize,
5551        stream: *mut ::std::os::raw::c_void,
5552    ) -> usize,
5553>;
5554pub type codes_data_write_proc = ::std::option::Option<
5555    unsafe extern "C" fn(
5556        c: *const codes_context,
5557        ptr: *const ::std::os::raw::c_void,
5558        size: usize,
5559        stream: *mut ::std::os::raw::c_void,
5560    ) -> usize,
5561>;
5562pub type codes_data_tell_proc = ::std::option::Option<
5563    unsafe extern "C" fn(c: *const codes_context, stream: *mut ::std::os::raw::c_void) -> off_t,
5564>;
5565pub type codes_data_seek_proc = ::std::option::Option<
5566    unsafe extern "C" fn(
5567        c: *const codes_context,
5568        offset: off_t,
5569        whence: ::std::os::raw::c_int,
5570        stream: *mut ::std::os::raw::c_void,
5571    ) -> off_t,
5572>;
5573pub type codes_data_eof_proc = ::std::option::Option<
5574    unsafe extern "C" fn(
5575        c: *const codes_context,
5576        stream: *mut ::std::os::raw::c_void,
5577    ) -> ::std::os::raw::c_int,
5578>;
5579unsafe extern "C" {
5580    pub fn codes_context_get_default() -> *mut codes_context;
5581}
5582unsafe extern "C" {
5583    pub fn codes_context_delete(c: *mut codes_context);
5584}
5585unsafe extern "C" {
5586    pub fn codes_gts_header_on(c: *mut codes_context);
5587}
5588unsafe extern "C" {
5589    pub fn codes_gts_header_off(c: *mut codes_context);
5590}
5591unsafe extern "C" {
5592    pub fn codes_gribex_mode_on(c: *mut codes_context);
5593}
5594unsafe extern "C" {
5595    pub fn codes_get_gribex_mode(c: *mut codes_context) -> ::std::os::raw::c_int;
5596}
5597unsafe extern "C" {
5598    pub fn codes_gribex_mode_off(c: *mut codes_context);
5599}
5600unsafe extern "C" {
5601    pub fn codes_bufr_multi_element_constant_arrays_on(c: *mut codes_context);
5602}
5603unsafe extern "C" {
5604    pub fn codes_bufr_multi_element_constant_arrays_off(c: *mut codes_context);
5605}
5606unsafe extern "C" {
5607    pub fn codes_context_set_definitions_path(
5608        c: *mut codes_context,
5609        path: *const ::std::os::raw::c_char,
5610    );
5611}
5612unsafe extern "C" {
5613    pub fn codes_context_set_samples_path(
5614        c: *mut codes_context,
5615        path: *const ::std::os::raw::c_char,
5616    );
5617}
5618unsafe extern "C" {
5619    pub fn codes_context_set_memory_proc(
5620        c: *mut codes_context,
5621        p_malloc: codes_malloc_proc,
5622        p_free: codes_free_proc,
5623        p_realloc: codes_realloc_proc,
5624    );
5625}
5626unsafe extern "C" {
5627    pub fn codes_context_set_persistent_memory_proc(
5628        c: *mut codes_context,
5629        p_malloc: codes_malloc_proc,
5630        p_free: codes_free_proc,
5631    );
5632}
5633unsafe extern "C" {
5634    pub fn codes_context_set_buffer_memory_proc(
5635        c: *mut codes_context,
5636        p_malloc: codes_malloc_proc,
5637        p_free: codes_free_proc,
5638        p_realloc: codes_realloc_proc,
5639    );
5640}
5641unsafe extern "C" {
5642    pub fn codes_context_set_print_proc(c: *mut codes_context, p_print: codes_print_proc);
5643}
5644unsafe extern "C" {
5645    pub fn codes_context_set_logging_proc(c: *mut codes_context, p_log: codes_log_proc);
5646}
5647unsafe extern "C" {
5648    pub fn codes_grib_multi_support_on(c: *mut codes_context);
5649}
5650unsafe extern "C" {
5651    pub fn codes_grib_multi_support_off(c: *mut codes_context);
5652}
5653unsafe extern "C" {
5654    pub fn codes_grib_multi_support_reset_file(c: *mut codes_context, f: *mut FILE);
5655}
5656unsafe extern "C" {
5657    pub fn codes_samples_path(c: *const codes_context) -> *mut ::std::os::raw::c_char;
5658}
5659unsafe extern "C" {
5660    pub fn codes_definition_path(c: *const codes_context) -> *mut ::std::os::raw::c_char;
5661}
5662unsafe extern "C" {
5663    pub fn codes_get_api_version() -> ::std::os::raw::c_long;
5664}
5665unsafe extern "C" {
5666    pub fn codes_get_git_sha1() -> *const ::std::os::raw::c_char;
5667}
5668unsafe extern "C" {
5669    pub fn codes_get_build_date() -> *const ::std::os::raw::c_char;
5670}
5671unsafe extern "C" {
5672    pub fn codes_get_package_name() -> *const ::std::os::raw::c_char;
5673}
5674unsafe extern "C" {
5675    pub fn codes_print_api_version(out: *mut FILE);
5676}
5677unsafe extern "C" {
5678    pub fn codes_keys_iterator_new(
5679        h: *mut codes_handle,
5680        filter_flags: ::std::os::raw::c_ulong,
5681        name_space: *const ::std::os::raw::c_char,
5682    ) -> *mut codes_keys_iterator;
5683}
5684unsafe extern "C" {
5685    pub fn codes_bufr_copy_data_return_copied_keys(
5686        hin: *mut codes_handle,
5687        hout: *mut codes_handle,
5688        nkeys: *mut usize,
5689        err: *mut ::std::os::raw::c_int,
5690    ) -> *mut *mut ::std::os::raw::c_char;
5691}
5692unsafe extern "C" {
5693    pub fn codes_bufr_copy_data(
5694        hin: *mut codes_handle,
5695        hout: *mut codes_handle,
5696    ) -> ::std::os::raw::c_int;
5697}
5698unsafe extern "C" {
5699    pub fn codes_keys_iterator_next(kiter: *mut codes_keys_iterator) -> ::std::os::raw::c_int;
5700}
5701unsafe extern "C" {
5702    pub fn codes_keys_iterator_get_name(
5703        kiter: *const codes_keys_iterator,
5704    ) -> *const ::std::os::raw::c_char;
5705}
5706unsafe extern "C" {
5707    pub fn codes_keys_iterator_delete(kiter: *mut codes_keys_iterator) -> ::std::os::raw::c_int;
5708}
5709unsafe extern "C" {
5710    pub fn codes_keys_iterator_rewind(kiter: *mut codes_keys_iterator) -> ::std::os::raw::c_int;
5711}
5712unsafe extern "C" {
5713    pub fn codes_keys_iterator_set_flags(
5714        kiter: *mut codes_keys_iterator,
5715        flags: ::std::os::raw::c_ulong,
5716    ) -> ::std::os::raw::c_int;
5717}
5718unsafe extern "C" {
5719    pub fn codes_keys_iterator_get_long(
5720        kiter: *const codes_keys_iterator,
5721        v: *mut ::std::os::raw::c_long,
5722        len: *mut usize,
5723    ) -> ::std::os::raw::c_int;
5724}
5725unsafe extern "C" {
5726    pub fn codes_keys_iterator_get_double(
5727        kiter: *const codes_keys_iterator,
5728        v: *mut f64,
5729        len: *mut usize,
5730    ) -> ::std::os::raw::c_int;
5731}
5732unsafe extern "C" {
5733    pub fn codes_keys_iterator_get_float(
5734        kiter: *const codes_keys_iterator,
5735        v: *mut f32,
5736        len: *mut usize,
5737    ) -> ::std::os::raw::c_int;
5738}
5739unsafe extern "C" {
5740    pub fn codes_keys_iterator_get_string(
5741        kiter: *const codes_keys_iterator,
5742        v: *mut ::std::os::raw::c_char,
5743        len: *mut usize,
5744    ) -> ::std::os::raw::c_int;
5745}
5746unsafe extern "C" {
5747    pub fn codes_keys_iterator_get_bytes(
5748        kiter: *const codes_keys_iterator,
5749        v: *mut ::std::os::raw::c_uchar,
5750        len: *mut usize,
5751    ) -> ::std::os::raw::c_int;
5752}
5753unsafe extern "C" {
5754    pub fn codes_update_sections_lengths(h: *mut codes_handle);
5755}
5756unsafe extern "C" {
5757    pub fn codes_get_error_message(code: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5758}
5759unsafe extern "C" {
5760    pub fn codes_get_type_name(type_: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5761}
5762unsafe extern "C" {
5763    pub fn codes_get_native_type(
5764        h: *const codes_handle,
5765        name: *const ::std::os::raw::c_char,
5766        type_: *mut ::std::os::raw::c_int,
5767    ) -> ::std::os::raw::c_int;
5768}
5769unsafe extern "C" {
5770    pub fn codes_check(
5771        call: *const ::std::os::raw::c_char,
5772        file: *const ::std::os::raw::c_char,
5773        line: ::std::os::raw::c_int,
5774        e: ::std::os::raw::c_int,
5775        msg: *const ::std::os::raw::c_char,
5776    );
5777}
5778unsafe extern "C" {
5779    pub fn codes_set_values(
5780        h: *mut codes_handle,
5781        codes_values: *mut codes_values,
5782        arg_count: usize,
5783    ) -> ::std::os::raw::c_int;
5784}
5785unsafe extern "C" {
5786    pub fn codes_handle_new_from_partial_message_copy(
5787        c: *mut codes_context,
5788        data: *const ::std::os::raw::c_void,
5789        size: usize,
5790    ) -> *mut codes_handle;
5791}
5792unsafe extern "C" {
5793    pub fn codes_handle_new_from_partial_message(
5794        c: *mut codes_context,
5795        data: *const ::std::os::raw::c_void,
5796        buflen: usize,
5797    ) -> *mut codes_handle;
5798}
5799unsafe extern "C" {
5800    pub fn codes_is_missing(
5801        h: *const codes_handle,
5802        key: *const ::std::os::raw::c_char,
5803        err: *mut ::std::os::raw::c_int,
5804    ) -> ::std::os::raw::c_int;
5805}
5806unsafe extern "C" {
5807    pub fn codes_is_defined(
5808        h: *const codes_handle,
5809        key: *const ::std::os::raw::c_char,
5810    ) -> ::std::os::raw::c_int;
5811}
5812unsafe extern "C" {
5813    pub fn codes_bufr_key_is_header(
5814        h: *const codes_handle,
5815        key: *const ::std::os::raw::c_char,
5816        err: *mut ::std::os::raw::c_int,
5817    ) -> ::std::os::raw::c_int;
5818}
5819unsafe extern "C" {
5820    pub fn codes_bufr_key_is_coordinate(
5821        h: *const codes_handle,
5822        key: *const ::std::os::raw::c_char,
5823        err: *mut ::std::os::raw::c_int,
5824    ) -> ::std::os::raw::c_int;
5825}
5826unsafe extern "C" {
5827    pub fn codes_set_missing(
5828        h: *mut codes_handle,
5829        key: *const ::std::os::raw::c_char,
5830    ) -> ::std::os::raw::c_int;
5831}
5832unsafe extern "C" {
5833    pub fn codes_get_gaussian_latitudes(
5834        truncation: ::std::os::raw::c_long,
5835        latitudes: *mut f64,
5836    ) -> ::std::os::raw::c_int;
5837}
5838unsafe extern "C" {
5839    pub fn codes_julian_to_datetime(
5840        jd: f64,
5841        year: *mut ::std::os::raw::c_long,
5842        month: *mut ::std::os::raw::c_long,
5843        day: *mut ::std::os::raw::c_long,
5844        hour: *mut ::std::os::raw::c_long,
5845        minute: *mut ::std::os::raw::c_long,
5846        second: *mut ::std::os::raw::c_long,
5847    ) -> ::std::os::raw::c_int;
5848}
5849unsafe extern "C" {
5850    pub fn codes_datetime_to_julian(
5851        year: ::std::os::raw::c_long,
5852        month: ::std::os::raw::c_long,
5853        day: ::std::os::raw::c_long,
5854        hour: ::std::os::raw::c_long,
5855        minute: ::std::os::raw::c_long,
5856        second: ::std::os::raw::c_long,
5857        jd: *mut f64,
5858    ) -> ::std::os::raw::c_int;
5859}
5860unsafe extern "C" {
5861    pub fn codes_julian_to_date(jdate: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
5862}
5863unsafe extern "C" {
5864    pub fn codes_date_to_julian(ddate: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
5865}
5866unsafe extern "C" {
5867    pub fn codes_get_reduced_row(
5868        pl: ::std::os::raw::c_long,
5869        lon_first: f64,
5870        lon_last: f64,
5871        npoints: *mut ::std::os::raw::c_long,
5872        ilon_first: *mut ::std::os::raw::c_long,
5873        ilon_last: *mut ::std::os::raw::c_long,
5874    );
5875}
5876unsafe extern "C" {
5877    pub fn codes_get_reduced_row_p(
5878        pl: ::std::os::raw::c_long,
5879        lon_first: f64,
5880        lon_last: f64,
5881        npoints: *mut ::std::os::raw::c_long,
5882        olon_first: *mut f64,
5883        olon_last: *mut f64,
5884    );
5885}
5886unsafe extern "C" {
5887    pub fn codes_get_message_offset(
5888        h: *const codes_handle,
5889        offset: *mut off_t,
5890    ) -> ::std::os::raw::c_int;
5891}
5892unsafe extern "C" {
5893    pub fn codes_get_message_size(
5894        h: *const codes_handle,
5895        size: *mut usize,
5896    ) -> ::std::os::raw::c_int;
5897}
5898unsafe extern "C" {
5899    pub fn codes_get_product_kind(
5900        h: *const codes_handle,
5901        product_kind: *mut ProductKind,
5902    ) -> ::std::os::raw::c_int;
5903}
5904unsafe extern "C" {
5905    pub fn codes_check_message_header(
5906        bytes: *const ::std::os::raw::c_void,
5907        length: usize,
5908        product: ProductKind,
5909    ) -> ::std::os::raw::c_int;
5910}
5911unsafe extern "C" {
5912    pub fn codes_check_message_footer(
5913        bytes: *const ::std::os::raw::c_void,
5914        length: usize,
5915        product: ProductKind,
5916    ) -> ::std::os::raw::c_int;
5917}
5918unsafe extern "C" {
5919    pub fn codes_grib_util_set_spec(
5920        h: *mut codes_handle,
5921        grid_spec: *const codes_util_grid_spec,
5922        packing_spec: *const codes_util_packing_spec,
5923        flags: ::std::os::raw::c_int,
5924        data_values: *const f64,
5925        data_values_count: usize,
5926        err: *mut ::std::os::raw::c_int,
5927    ) -> *mut codes_handle;
5928}
5929unsafe extern "C" {
5930    pub fn codes_bufr_extract_headers_malloc(
5931        c: *mut codes_context,
5932        filename: *const ::std::os::raw::c_char,
5933        result: *mut *mut codes_bufr_header,
5934        num_messages: *mut ::std::os::raw::c_int,
5935        strict_mode: ::std::os::raw::c_int,
5936    ) -> ::std::os::raw::c_int;
5937}
5938unsafe extern "C" {
5939    pub fn codes_bufr_header_get_string(
5940        bh: *mut codes_bufr_header,
5941        key: *const ::std::os::raw::c_char,
5942        val: *mut ::std::os::raw::c_char,
5943        len: *mut usize,
5944    ) -> ::std::os::raw::c_int;
5945}
5946unsafe extern "C" {
5947    pub fn codes_extract_offsets_malloc(
5948        c: *mut codes_context,
5949        filename: *const ::std::os::raw::c_char,
5950        product: ProductKind,
5951        offsets: *mut *mut off_t,
5952        num_messages: *mut ::std::os::raw::c_int,
5953        strict_mode: ::std::os::raw::c_int,
5954    ) -> ::std::os::raw::c_int;
5955}
5956unsafe extern "C" {
5957    pub fn codes_extract_offsets_sizes_malloc(
5958        c: *mut codes_context,
5959        filename: *const ::std::os::raw::c_char,
5960        product: ProductKind,
5961        offsets: *mut *mut off_t,
5962        sizes: *mut *mut usize,
5963        num_messages: *mut ::std::os::raw::c_int,
5964        strict_mode: ::std::os::raw::c_int,
5965    ) -> ::std::os::raw::c_int;
5966}
5967pub type __builtin_va_list = [__va_list_tag; 1usize];
5968#[repr(C)]
5969#[derive(Debug, Copy, Clone)]
5970pub struct __va_list_tag {
5971    pub gp_offset: ::std::os::raw::c_uint,
5972    pub fp_offset: ::std::os::raw::c_uint,
5973    pub overflow_arg_area: *mut ::std::os::raw::c_void,
5974    pub reg_save_area: *mut ::std::os::raw::c_void,
5975}
5976#[repr(C)]
5977#[derive(Debug, Copy, Clone)]
5978pub struct __locale_data {
5979    pub _address: u8,
5980}