xref: /rust-libc-0.2.174/src/solid/mod.rs (revision e2f92909)
1 //! Interface to the [SOLID] C library
2 //!
3 //! [SOLID]: https://solid.kmckk.com/
4 
5 use crate::prelude::*;
6 
7 pub type intmax_t = i64;
8 pub type uintmax_t = u64;
9 
10 pub type uintptr_t = usize;
11 pub type intptr_t = isize;
12 pub type ptrdiff_t = isize;
13 pub type size_t = crate::uintptr_t;
14 pub type ssize_t = intptr_t;
15 
16 pub type clock_t = c_uint;
17 pub type time_t = i64;
18 pub type clockid_t = c_int;
19 pub type timer_t = c_int;
20 pub type suseconds_t = c_int;
21 pub type useconds_t = c_uint;
22 
23 pub type sighandler_t = size_t;
24 
25 // sys/ansi.h
26 pub type __caddr_t = *mut c_char;
27 pub type __gid_t = u32;
28 pub type __in_addr_t = u32;
29 pub type __in_port_t = u16;
30 pub type __mode_t = u32;
31 pub type __off_t = i64;
32 pub type __pid_t = i32;
33 pub type __sa_family_t = u8;
34 pub type __socklen_t = c_uint;
35 pub type __uid_t = u32;
36 pub type __fsblkcnt_t = u64;
37 pub type __fsfilcnt_t = u64;
38 
39 // locale.h
40 pub type locale_t = usize;
41 
42 // nl_types.h
43 pub type nl_item = c_long;
44 
45 // sys/types.h
46 pub type __va_list = *mut c_char;
47 pub type u_int8_t = u8;
48 pub type u_int16_t = u16;
49 pub type u_int32_t = u32;
50 pub type u_int64_t = u64;
51 pub type u_char = c_uchar;
52 pub type u_short = c_ushort;
53 pub type u_int = c_uint;
54 pub type u_long = c_ulong;
55 pub type unchar = c_uchar;
56 pub type ushort = c_ushort;
57 pub type uint = c_uint;
58 pub type ulong = c_ulong;
59 pub type u_quad_t = u64;
60 pub type quad_t = i64;
61 pub type qaddr_t = *mut quad_t;
62 pub type longlong_t = i64;
63 pub type u_longlong_t = u64;
64 pub type blkcnt_t = i64;
65 pub type blksize_t = i32;
66 pub type fsblkcnt_t = __fsblkcnt_t;
67 pub type fsfilcnt_t = __fsfilcnt_t;
68 pub type caddr_t = __caddr_t;
69 pub type daddr_t = i64;
70 pub type dev_t = u64;
71 pub type fixpt_t = u32;
72 pub type gid_t = __gid_t;
73 pub type idtype_t = c_int;
74 pub type id_t = u32;
75 pub type ino_t = u64;
76 pub type key_t = c_long;
77 pub type mode_t = __mode_t;
78 pub type nlink_t = u32;
79 pub type off_t = __off_t;
80 pub type pid_t = __pid_t;
81 pub type lwpid_t = i32;
82 pub type rlim_t = u64;
83 pub type segsz_t = i32;
84 pub type swblk_t = i32;
85 pub type mqd_t = c_int;
86 pub type cpuid_t = c_ulong;
87 pub type psetid_t = c_int;
88 
89 s! {
90     // stat.h
91     pub struct stat {
92         pub st_dev: dev_t,
93         pub st_ino: ino_t,
94         pub st_mode: c_short,
95         pub st_nlink: c_short,
96         pub st_uid: c_short,
97         pub st_gid: c_short,
98         pub st_rdev: dev_t,
99         pub st_size: off_t,
100         pub st_atime: time_t,
101         pub st_mtime: time_t,
102         pub st_ctime: time_t,
103         pub st_blksize: blksize_t,
104     }
105 
106     // time.h
107     pub struct tm {
108         pub tm_sec: c_int,
109         pub tm_min: c_int,
110         pub tm_hour: c_int,
111         pub tm_mday: c_int,
112         pub tm_mon: c_int,
113         pub tm_year: c_int,
114         pub tm_wday: c_int,
115         pub tm_yday: c_int,
116         pub tm_isdst: c_int,
117         pub tm_gmtoff: c_long,
118         pub tm_zone: *mut c_char,
119     }
120 
121     // stdlib.h
122     pub struct qdiv_t {
123         pub quot: quad_t,
124         pub rem: quad_t,
125     }
126     pub struct lldiv_t {
127         pub quot: c_longlong,
128         pub rem: c_longlong,
129     }
130     pub struct div_t {
131         pub quot: c_int,
132         pub rem: c_int,
133     }
134     pub struct ldiv_t {
135         pub quot: c_long,
136         pub rem: c_long,
137     }
138 
139     // locale.h
140     pub struct lconv {
141         pub decimal_point: *mut c_char,
142         pub thousands_sep: *mut c_char,
143         pub grouping: *mut c_char,
144         pub int_curr_symbol: *mut c_char,
145         pub currency_symbol: *mut c_char,
146         pub mon_decimal_point: *mut c_char,
147         pub mon_thousands_sep: *mut c_char,
148         pub mon_grouping: *mut c_char,
149         pub positive_sign: *mut c_char,
150         pub negative_sign: *mut c_char,
151         pub int_frac_digits: c_char,
152         pub frac_digits: c_char,
153         pub p_cs_precedes: c_char,
154         pub p_sep_by_space: c_char,
155         pub n_cs_precedes: c_char,
156         pub n_sep_by_space: c_char,
157         pub p_sign_posn: c_char,
158         pub n_sign_posn: c_char,
159         pub int_p_cs_precedes: c_char,
160         pub int_n_cs_precedes: c_char,
161         pub int_p_sep_by_space: c_char,
162         pub int_n_sep_by_space: c_char,
163         pub int_p_sign_posn: c_char,
164         pub int_n_sign_posn: c_char,
165     }
166 
167     pub struct iovec {
168         pub iov_base: *mut c_void,
169         pub iov_len: size_t,
170     }
171 
172     pub struct timeval {
173         pub tv_sec: c_long,
174         pub tv_usec: c_long,
175     }
176 }
177 
178 pub const INT_MIN: c_int = -2147483648;
179 pub const INT_MAX: c_int = 2147483647;
180 
181 pub const EXIT_FAILURE: c_int = 1;
182 pub const EXIT_SUCCESS: c_int = 0;
183 pub const RAND_MAX: c_int = 0x7fffffff;
184 pub const EOF: c_int = -1;
185 pub const SEEK_SET: c_int = 0;
186 pub const SEEK_CUR: c_int = 1;
187 pub const SEEK_END: c_int = 2;
188 pub const _IOFBF: c_int = 0;
189 pub const _IONBF: c_int = 2;
190 pub const _IOLBF: c_int = 1;
191 pub const BUFSIZ: c_uint = 1024;
192 pub const FOPEN_MAX: c_uint = 20;
193 pub const FILENAME_MAX: c_uint = 1024;
194 
195 pub const O_RDONLY: c_int = 1;
196 pub const O_WRONLY: c_int = 2;
197 pub const O_RDWR: c_int = 4;
198 pub const O_APPEND: c_int = 8;
199 pub const O_CREAT: c_int = 0x10;
200 pub const O_EXCL: c_int = 0x400;
201 pub const O_TEXT: c_int = 0x100;
202 pub const O_BINARY: c_int = 0x200;
203 pub const O_TRUNC: c_int = 0x20;
204 pub const S_IEXEC: c_short = 0o0100;
205 pub const S_IWRITE: c_short = 0o0200;
206 pub const S_IREAD: c_short = 0o0400;
207 pub const S_IFCHR: c_short = 0o2_0000;
208 pub const S_IFDIR: c_short = 0o4_0000;
209 pub const S_IFMT: c_short = 0o16_0000;
210 pub const S_IFIFO: c_short = 0o1_0000;
211 pub const S_IFBLK: c_short = 0o6_0000;
212 pub const S_IFREG: c_short = 0o10_0000;
213 
214 pub const LC_ALL: c_int = 0;
215 pub const LC_COLLATE: c_int = 1;
216 pub const LC_CTYPE: c_int = 2;
217 pub const LC_MONETARY: c_int = 3;
218 pub const LC_NUMERIC: c_int = 4;
219 pub const LC_TIME: c_int = 5;
220 pub const LC_MESSAGES: c_int = 6;
221 pub const _LC_LAST: c_int = 7;
222 
223 pub const EPERM: c_int = 1;
224 pub const ENOENT: c_int = 2;
225 pub const ESRCH: c_int = 3;
226 pub const EINTR: c_int = 4;
227 pub const EIO: c_int = 5;
228 pub const ENXIO: c_int = 6;
229 pub const E2BIG: c_int = 7;
230 pub const ENOEXEC: c_int = 8;
231 pub const EBADF: c_int = 9;
232 pub const ECHILD: c_int = 10;
233 pub const EAGAIN: c_int = 11;
234 pub const ENOMEM: c_int = 12;
235 pub const EACCES: c_int = 13;
236 pub const EFAULT: c_int = 14;
237 pub const ENOTBLK: c_int = 15;
238 pub const EBUSY: c_int = 16;
239 pub const EEXIST: c_int = 17;
240 pub const EXDEV: c_int = 18;
241 pub const ENODEV: c_int = 19;
242 pub const ENOTDIR: c_int = 20;
243 pub const EISDIR: c_int = 21;
244 pub const EINVAL: c_int = 22;
245 pub const ENFILE: c_int = 23;
246 pub const EMFILE: c_int = 24;
247 pub const ENOTTY: c_int = 25;
248 pub const ETXTBSY: c_int = 26;
249 pub const EFBIG: c_int = 27;
250 pub const ENOSPC: c_int = 28;
251 pub const ESPIPE: c_int = 29;
252 pub const EROFS: c_int = 30;
253 pub const EMLINK: c_int = 31;
254 pub const EPIPE: c_int = 32;
255 pub const EDOM: c_int = 33;
256 pub const ERANGE: c_int = 34;
257 
258 pub const EDEADLK: c_int = 35;
259 pub const ENAMETOOLONG: c_int = 36;
260 pub const ENOLCK: c_int = 37;
261 pub const ENOSYS: c_int = 38;
262 pub const ENOTEMPTY: c_int = 39;
263 pub const ELOOP: c_int = 40;
264 pub const EWOULDBLOCK: c_int = EAGAIN;
265 pub const ENOMSG: c_int = 42;
266 pub const EIDRM: c_int = 43;
267 pub const ECHRNG: c_int = 44;
268 pub const EL2NSYNC: c_int = 45;
269 pub const EL3HLT: c_int = 46;
270 pub const EL3RST: c_int = 47;
271 pub const ELNRNG: c_int = 48;
272 pub const EUNATCH: c_int = 49;
273 pub const ENOCSI: c_int = 50;
274 pub const EL2HLT: c_int = 51;
275 pub const EBADE: c_int = 52;
276 pub const EBADR: c_int = 53;
277 pub const EXFULL: c_int = 54;
278 pub const ENOANO: c_int = 55;
279 pub const EBADRQC: c_int = 56;
280 pub const EBADSLT: c_int = 57;
281 
282 pub const EDEADLOCK: c_int = EDEADLK;
283 
284 pub const EBFONT: c_int = 59;
285 pub const ENOSTR: c_int = 60;
286 pub const ENODATA: c_int = 61;
287 pub const ETIME: c_int = 62;
288 pub const ENOSR: c_int = 63;
289 pub const ENONET: c_int = 64;
290 pub const ENOPKG: c_int = 65;
291 pub const EREMOTE: c_int = 66;
292 pub const ENOLINK: c_int = 67;
293 pub const EADV: c_int = 68;
294 pub const ESRMNT: c_int = 69;
295 pub const ECOMM: c_int = 70;
296 pub const EPROTO: c_int = 71;
297 pub const EMULTIHOP: c_int = 72;
298 pub const EDOTDOT: c_int = 73;
299 pub const EBADMSG: c_int = 74;
300 pub const EOVERFLOW: c_int = 75;
301 pub const ENOTUNIQ: c_int = 76;
302 pub const EBADFD: c_int = 77;
303 pub const EREMCHG: c_int = 78;
304 pub const ELIBACC: c_int = 79;
305 pub const ELIBBAD: c_int = 80;
306 pub const ELIBSCN: c_int = 81;
307 pub const ELIBMAX: c_int = 82;
308 pub const ELIBEXEC: c_int = 83;
309 pub const EILSEQ: c_int = 84;
310 pub const ERESTART: c_int = 85;
311 pub const ESTRPIPE: c_int = 86;
312 pub const EUSERS: c_int = 87;
313 pub const ENOTSOCK: c_int = 88;
314 pub const EDESTADDRREQ: c_int = 89;
315 pub const EMSGSIZE: c_int = 90;
316 pub const EPROTOTYPE: c_int = 91;
317 pub const ENOPROTOOPT: c_int = 92;
318 pub const EPROTONOSUPPORT: c_int = 93;
319 pub const ESOCKTNOSUPPORT: c_int = 94;
320 pub const EOPNOTSUPP: c_int = 95;
321 pub const EPFNOSUPPORT: c_int = 96;
322 pub const EAFNOSUPPORT: c_int = 97;
323 pub const EADDRINUSE: c_int = 98;
324 pub const EADDRNOTAVAIL: c_int = 99;
325 pub const ENETDOWN: c_int = 100;
326 pub const ENETUNREACH: c_int = 101;
327 pub const ENETRESET: c_int = 102;
328 pub const ECONNABORTED: c_int = 103;
329 pub const ECONNRESET: c_int = 104;
330 pub const ENOBUFS: c_int = 105;
331 pub const EISCONN: c_int = 106;
332 pub const ENOTCONN: c_int = 107;
333 pub const ESHUTDOWN: c_int = 108;
334 pub const ETOOMANYREFS: c_int = 109;
335 pub const ETIMEDOUT: c_int = 110;
336 pub const ECONNREFUSED: c_int = 111;
337 pub const EHOSTDOWN: c_int = 112;
338 pub const EHOSTUNREACH: c_int = 113;
339 pub const EALREADY: c_int = 114;
340 pub const EINPROGRESS: c_int = 115;
341 pub const ESTALE: c_int = 116;
342 pub const EUCLEAN: c_int = 117;
343 pub const ENOTNAM: c_int = 118;
344 pub const ENAVAIL: c_int = 119;
345 pub const EISNAM: c_int = 120;
346 pub const EREMOTEIO: c_int = 121;
347 pub const EDQUOT: c_int = 122;
348 
349 pub const ENOMEDIUM: c_int = 123;
350 pub const EMEDIUMTYPE: c_int = 124;
351 pub const ECANCELED: c_int = 125;
352 pub const ENOKEY: c_int = 126;
353 pub const EKEYEXPIRED: c_int = 127;
354 pub const EKEYREVOKED: c_int = 128;
355 pub const EKEYREJECTED: c_int = 129;
356 
357 pub const EOWNERDEAD: c_int = 130;
358 pub const ENOTRECOVERABLE: c_int = 131;
359 
360 pub const ENOTSUP: c_int = 132;
361 pub const EFTYPE: c_int = 133;
362 
363 // signal codes
364 pub const SIGHUP: c_int = 1;
365 pub const SIGINT: c_int = 2;
366 pub const SIGQUIT: c_int = 3;
367 pub const SIGILL: c_int = 4;
368 pub const SIGTRAP: c_int = 5;
369 pub const SIGABRT: c_int = 6;
370 pub const SIGIOT: c_int = SIGABRT;
371 pub const SIGEMT: c_int = 7;
372 pub const SIGFPE: c_int = 8;
373 pub const SIGKILL: c_int = 9;
374 pub const SIGBUS: c_int = 10;
375 pub const SIGSEGV: c_int = 11;
376 pub const SIGSYS: c_int = 12;
377 pub const SIGPIPE: c_int = 13;
378 pub const SIGALRM: c_int = 14;
379 pub const SIGTERM: c_int = 15;
380 pub const SIGURG: c_int = 16;
381 pub const SIGSTOP: c_int = 17;
382 pub const SIGTSTP: c_int = 18;
383 pub const SIGCONT: c_int = 19;
384 pub const SIGCHLD: c_int = 20;
385 pub const SIGTTIN: c_int = 21;
386 pub const SIGTTOU: c_int = 22;
387 pub const SIGIO: c_int = 23;
388 pub const SIGXCPU: c_int = 24;
389 pub const SIGXFSZ: c_int = 25;
390 pub const SIGVTALRM: c_int = 26;
391 pub const SIGPROF: c_int = 27;
392 pub const SIGWINCH: c_int = 28;
393 pub const SIGINFO: c_int = 29;
394 pub const SIGUSR1: c_int = 30;
395 pub const SIGUSR2: c_int = 31;
396 pub const SIGPWR: c_int = 32;
397 
398 #[cfg_attr(feature = "extra_traits", derive(Debug))]
399 pub enum FILE {}
400 impl Copy for FILE {}
401 impl Clone for FILE {
clone(&self) -> FILE402     fn clone(&self) -> FILE {
403         *self
404     }
405 }
406 #[cfg_attr(feature = "extra_traits", derive(Debug))]
407 pub enum fpos_t {}
408 impl Copy for fpos_t {}
409 impl Clone for fpos_t {
clone(&self) -> fpos_t410     fn clone(&self) -> fpos_t {
411         *self
412     }
413 }
414 
415 extern "C" {
416     // ctype.h
isalnum(c: c_int) -> c_int417     pub fn isalnum(c: c_int) -> c_int;
isalpha(c: c_int) -> c_int418     pub fn isalpha(c: c_int) -> c_int;
iscntrl(c: c_int) -> c_int419     pub fn iscntrl(c: c_int) -> c_int;
isdigit(c: c_int) -> c_int420     pub fn isdigit(c: c_int) -> c_int;
isgraph(c: c_int) -> c_int421     pub fn isgraph(c: c_int) -> c_int;
islower(c: c_int) -> c_int422     pub fn islower(c: c_int) -> c_int;
isprint(c: c_int) -> c_int423     pub fn isprint(c: c_int) -> c_int;
ispunct(c: c_int) -> c_int424     pub fn ispunct(c: c_int) -> c_int;
isspace(c: c_int) -> c_int425     pub fn isspace(c: c_int) -> c_int;
isupper(c: c_int) -> c_int426     pub fn isupper(c: c_int) -> c_int;
isxdigit(c: c_int) -> c_int427     pub fn isxdigit(c: c_int) -> c_int;
isblank(c: c_int) -> c_int428     pub fn isblank(c: c_int) -> c_int;
tolower(c: c_int) -> c_int429     pub fn tolower(c: c_int) -> c_int;
toupper(c: c_int) -> c_int430     pub fn toupper(c: c_int) -> c_int;
431 
432     // stdio.h
__get_stdio_file(fileno: c_int) -> *mut FILE433     pub fn __get_stdio_file(fileno: c_int) -> *mut FILE;
clearerr(arg1: *mut FILE)434     pub fn clearerr(arg1: *mut FILE);
fclose(arg1: *mut FILE) -> c_int435     pub fn fclose(arg1: *mut FILE) -> c_int;
feof(arg1: *mut FILE) -> c_int436     pub fn feof(arg1: *mut FILE) -> c_int;
ferror(arg1: *mut FILE) -> c_int437     pub fn ferror(arg1: *mut FILE) -> c_int;
fflush(arg1: *mut FILE) -> c_int438     pub fn fflush(arg1: *mut FILE) -> c_int;
fgetc(arg1: *mut FILE) -> c_int439     pub fn fgetc(arg1: *mut FILE) -> c_int;
fgets(arg1: *mut c_char, arg2: c_int, arg3: *mut FILE) -> *mut c_char440     pub fn fgets(arg1: *mut c_char, arg2: c_int, arg3: *mut FILE) -> *mut c_char;
fopen(arg1: *const c_char, arg2: *const c_char) -> *mut FILE441     pub fn fopen(arg1: *const c_char, arg2: *const c_char) -> *mut FILE;
fprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int442     pub fn fprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
fputc(arg1: c_int, arg2: *mut FILE) -> c_int443     pub fn fputc(arg1: c_int, arg2: *mut FILE) -> c_int;
fputs(arg1: *const c_char, arg2: *mut FILE) -> c_int444     pub fn fputs(arg1: *const c_char, arg2: *mut FILE) -> c_int;
fread(arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t445     pub fn fread(arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
freopen(arg1: *const c_char, arg2: *const c_char, arg3: *mut FILE) -> *mut FILE446     pub fn freopen(arg1: *const c_char, arg2: *const c_char, arg3: *mut FILE) -> *mut FILE;
fscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int447     pub fn fscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
fseek(arg1: *mut FILE, arg2: c_long, arg3: c_int) -> c_int448     pub fn fseek(arg1: *mut FILE, arg2: c_long, arg3: c_int) -> c_int;
ftell(arg1: *mut FILE) -> c_long449     pub fn ftell(arg1: *mut FILE) -> c_long;
fwrite(arg1: *const c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t450     pub fn fwrite(arg1: *const c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
getc(arg1: *mut FILE) -> c_int451     pub fn getc(arg1: *mut FILE) -> c_int;
getchar() -> c_int452     pub fn getchar() -> c_int;
perror(arg1: *const c_char)453     pub fn perror(arg1: *const c_char);
printf(arg1: *const c_char, ...) -> c_int454     pub fn printf(arg1: *const c_char, ...) -> c_int;
putc(arg1: c_int, arg2: *mut FILE) -> c_int455     pub fn putc(arg1: c_int, arg2: *mut FILE) -> c_int;
putchar(arg1: c_int) -> c_int456     pub fn putchar(arg1: c_int) -> c_int;
puts(arg1: *const c_char) -> c_int457     pub fn puts(arg1: *const c_char) -> c_int;
remove(arg1: *const c_char) -> c_int458     pub fn remove(arg1: *const c_char) -> c_int;
rewind(arg1: *mut FILE)459     pub fn rewind(arg1: *mut FILE);
scanf(arg1: *const c_char, ...) -> c_int460     pub fn scanf(arg1: *const c_char, ...) -> c_int;
setbuf(arg1: *mut FILE, arg2: *mut c_char)461     pub fn setbuf(arg1: *mut FILE, arg2: *mut c_char);
setvbuf(arg1: *mut FILE, arg2: *mut c_char, arg3: c_int, arg4: size_t) -> c_int462     pub fn setvbuf(arg1: *mut FILE, arg2: *mut c_char, arg3: c_int, arg4: size_t) -> c_int;
sscanf(arg1: *const c_char, arg2: *const c_char, ...) -> c_int463     pub fn sscanf(arg1: *const c_char, arg2: *const c_char, ...) -> c_int;
tmpfile() -> *mut FILE464     pub fn tmpfile() -> *mut FILE;
ungetc(arg1: c_int, arg2: *mut FILE) -> c_int465     pub fn ungetc(arg1: c_int, arg2: *mut FILE) -> c_int;
vfprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int466     pub fn vfprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
vprintf(arg1: *const c_char, arg2: __va_list) -> c_int467     pub fn vprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
gets(arg1: *mut c_char) -> *mut c_char468     pub fn gets(arg1: *mut c_char) -> *mut c_char;
sprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int469     pub fn sprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
tmpnam(arg1: *const c_char) -> *mut c_char470     pub fn tmpnam(arg1: *const c_char) -> *mut c_char;
vsprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int471     pub fn vsprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
rename(arg1: *const c_char, arg2: *const c_char) -> c_int472     pub fn rename(arg1: *const c_char, arg2: *const c_char) -> c_int;
asiprintf(arg1: *mut *mut c_char, arg2: *const c_char, ...) -> c_int473     pub fn asiprintf(arg1: *mut *mut c_char, arg2: *const c_char, ...) -> c_int;
fiprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int474     pub fn fiprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
fiscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int475     pub fn fiscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
iprintf(arg1: *const c_char, ...) -> c_int476     pub fn iprintf(arg1: *const c_char, ...) -> c_int;
iscanf(arg1: *const c_char, ...) -> c_int477     pub fn iscanf(arg1: *const c_char, ...) -> c_int;
siprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int478     pub fn siprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
siscanf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int479     pub fn siscanf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
sniprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int480     pub fn sniprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
vasiprintf(arg1: *mut *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int481     pub fn vasiprintf(arg1: *mut *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
vfiprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int482     pub fn vfiprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
vfiscanf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int483     pub fn vfiscanf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
viprintf(arg1: *const c_char, arg2: __va_list) -> c_int484     pub fn viprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
viscanf(arg1: *const c_char, arg2: __va_list) -> c_int485     pub fn viscanf(arg1: *const c_char, arg2: __va_list) -> c_int;
vsiprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int486     pub fn vsiprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
vsiscanf(arg1: *const c_char, arg2: *const c_char, arg3: __va_list) -> c_int487     pub fn vsiscanf(arg1: *const c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
vsniprintf( arg1: *mut c_char, arg2: size_t, arg3: *const c_char, arg4: __va_list, ) -> c_int488     pub fn vsniprintf(
489         arg1: *mut c_char,
490         arg2: size_t,
491         arg3: *const c_char,
492         arg4: __va_list,
493     ) -> c_int;
vdiprintf(arg1: c_int, arg2: *const c_char, arg3: __va_list) -> c_int494     pub fn vdiprintf(arg1: c_int, arg2: *const c_char, arg3: __va_list) -> c_int;
diprintf(arg1: c_int, arg2: *const c_char, ...) -> c_int495     pub fn diprintf(arg1: c_int, arg2: *const c_char, ...) -> c_int;
fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> c_int496     pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> c_int;
fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> c_int497     pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> c_int;
fdopen(arg1: c_int, arg2: *const c_char) -> *mut FILE498     pub fn fdopen(arg1: c_int, arg2: *const c_char) -> *mut FILE;
fileno(arg1: *mut FILE) -> c_int499     pub fn fileno(arg1: *mut FILE) -> c_int;
flockfile(arg1: *mut FILE)500     pub fn flockfile(arg1: *mut FILE);
ftrylockfile(arg1: *mut FILE) -> c_int501     pub fn ftrylockfile(arg1: *mut FILE) -> c_int;
funlockfile(arg1: *mut FILE)502     pub fn funlockfile(arg1: *mut FILE);
getc_unlocked(arg1: *mut FILE) -> c_int503     pub fn getc_unlocked(arg1: *mut FILE) -> c_int;
getchar_unlocked() -> c_int504     pub fn getchar_unlocked() -> c_int;
putc_unlocked(arg1: c_int, arg2: *mut FILE) -> c_int505     pub fn putc_unlocked(arg1: c_int, arg2: *mut FILE) -> c_int;
putchar_unlocked(arg1: c_int) -> c_int506     pub fn putchar_unlocked(arg1: c_int) -> c_int;
snprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int507     pub fn snprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
vsnprintf( arg1: *mut c_char, arg2: size_t, arg3: *const c_char, arg4: __va_list, ) -> c_int508     pub fn vsnprintf(
509         arg1: *mut c_char,
510         arg2: size_t,
511         arg3: *const c_char,
512         arg4: __va_list,
513     ) -> c_int;
getw(arg1: *mut FILE) -> c_int514     pub fn getw(arg1: *mut FILE) -> c_int;
putw(arg1: c_int, arg2: *mut FILE) -> c_int515     pub fn putw(arg1: c_int, arg2: *mut FILE) -> c_int;
tempnam(arg1: *const c_char, arg2: *const c_char) -> *mut c_char516     pub fn tempnam(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
fseeko(stream: *mut FILE, offset: off_t, whence: c_int) -> c_int517     pub fn fseeko(stream: *mut FILE, offset: off_t, whence: c_int) -> c_int;
ftello(stream: *mut FILE) -> off_t518     pub fn ftello(stream: *mut FILE) -> off_t;
519 
520     // stdlib.h
atof(arg1: *const c_char) -> f64521     pub fn atof(arg1: *const c_char) -> f64;
strtod(arg1: *const c_char, arg2: *mut *mut c_char) -> f64522     pub fn strtod(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
drand48() -> f64523     pub fn drand48() -> f64;
erand48(arg1: *mut c_ushort) -> f64524     pub fn erand48(arg1: *mut c_ushort) -> f64;
strtof(arg1: *const c_char, arg2: *mut *mut c_char) -> f32525     pub fn strtof(arg1: *const c_char, arg2: *mut *mut c_char) -> f32;
strtold(arg1: *const c_char, arg2: *mut *mut c_char) -> f64526     pub fn strtold(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
strtod_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64527     pub fn strtod_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
strtof_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f32528     pub fn strtof_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f32;
strtold_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64529     pub fn strtold_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
_Exit(arg1: c_int) -> !530     pub fn _Exit(arg1: c_int) -> !;
abort() -> !531     pub fn abort() -> !;
abs(arg1: c_int) -> c_int532     pub fn abs(arg1: c_int) -> c_int;
atexit(arg1: Option<unsafe extern "C" fn()>) -> c_int533     pub fn atexit(arg1: Option<unsafe extern "C" fn()>) -> c_int;
atoi(arg1: *const c_char) -> c_int534     pub fn atoi(arg1: *const c_char) -> c_int;
atol(arg1: *const c_char) -> c_long535     pub fn atol(arg1: *const c_char) -> c_long;
itoa(arg1: c_int, arg2: *mut c_char, arg3: c_int) -> *mut c_char536     pub fn itoa(arg1: c_int, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
ltoa(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> *mut c_char537     pub fn ltoa(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
ultoa(arg1: c_ulong, arg2: *mut c_char, arg3: c_int) -> *mut c_char538     pub fn ultoa(arg1: c_ulong, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
bsearch( arg1: *const c_void, arg2: *const c_void, arg3: size_t, arg4: size_t, arg5: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>, ) -> *mut c_void539     pub fn bsearch(
540         arg1: *const c_void,
541         arg2: *const c_void,
542         arg3: size_t,
543         arg4: size_t,
544         arg5: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
545     ) -> *mut c_void;
calloc(arg1: size_t, arg2: size_t) -> *mut c_void546     pub fn calloc(arg1: size_t, arg2: size_t) -> *mut c_void;
div(arg1: c_int, arg2: c_int) -> div_t547     pub fn div(arg1: c_int, arg2: c_int) -> div_t;
exit(arg1: c_int) -> !548     pub fn exit(arg1: c_int) -> !;
free(arg1: *mut c_void)549     pub fn free(arg1: *mut c_void);
getenv(arg1: *const c_char) -> *mut c_char550     pub fn getenv(arg1: *const c_char) -> *mut c_char;
labs(arg1: c_long) -> c_long551     pub fn labs(arg1: c_long) -> c_long;
ldiv(arg1: c_long, arg2: c_long) -> ldiv_t552     pub fn ldiv(arg1: c_long, arg2: c_long) -> ldiv_t;
malloc(arg1: size_t) -> *mut c_void553     pub fn malloc(arg1: size_t) -> *mut c_void;
qsort( arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>, )554     pub fn qsort(
555         arg1: *mut c_void,
556         arg2: size_t,
557         arg3: size_t,
558         arg4: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
559     );
rand() -> c_int560     pub fn rand() -> c_int;
realloc(arg1: *mut c_void, arg2: size_t) -> *mut c_void561     pub fn realloc(arg1: *mut c_void, arg2: size_t) -> *mut c_void;
srand(arg1: c_uint)562     pub fn srand(arg1: c_uint);
strtol(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_long563     pub fn strtol(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_long;
strtoul(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulong564     pub fn strtoul(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulong;
mblen(arg1: *const c_char, arg2: size_t) -> c_int565     pub fn mblen(arg1: *const c_char, arg2: size_t) -> c_int;
mbstowcs(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> size_t566     pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> size_t;
wctomb(arg1: *mut c_char, arg2: wchar_t) -> c_int567     pub fn wctomb(arg1: *mut c_char, arg2: wchar_t) -> c_int;
mbtowc(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> c_int568     pub fn mbtowc(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> c_int;
wcstombs(arg1: *mut c_char, arg2: *const wchar_t, arg3: size_t) -> size_t569     pub fn wcstombs(arg1: *mut c_char, arg2: *const wchar_t, arg3: size_t) -> size_t;
rand_r(arg1: *mut c_uint) -> c_int570     pub fn rand_r(arg1: *mut c_uint) -> c_int;
jrand48(arg1: *mut c_ushort) -> c_long571     pub fn jrand48(arg1: *mut c_ushort) -> c_long;
lcong48(arg1: *mut c_ushort)572     pub fn lcong48(arg1: *mut c_ushort);
lrand48() -> c_long573     pub fn lrand48() -> c_long;
mrand48() -> c_long574     pub fn mrand48() -> c_long;
nrand48(arg1: *mut c_ushort) -> c_long575     pub fn nrand48(arg1: *mut c_ushort) -> c_long;
seed48(arg1: *mut c_ushort) -> *mut c_ushort576     pub fn seed48(arg1: *mut c_ushort) -> *mut c_ushort;
srand48(arg1: c_long)577     pub fn srand48(arg1: c_long);
putenv(arg1: *mut c_char) -> c_int578     pub fn putenv(arg1: *mut c_char) -> c_int;
a64l(arg1: *const c_char) -> c_long579     pub fn a64l(arg1: *const c_char) -> c_long;
l64a(arg1: c_long) -> *mut c_char580     pub fn l64a(arg1: c_long) -> *mut c_char;
random() -> c_long581     pub fn random() -> c_long;
setstate(arg1: *mut c_char) -> *mut c_char582     pub fn setstate(arg1: *mut c_char) -> *mut c_char;
initstate(arg1: c_uint, arg2: *mut c_char, arg3: size_t) -> *mut c_char583     pub fn initstate(arg1: c_uint, arg2: *mut c_char, arg3: size_t) -> *mut c_char;
srandom(arg1: c_uint)584     pub fn srandom(arg1: c_uint);
mkostemp(arg1: *mut c_char, arg2: c_int) -> c_int585     pub fn mkostemp(arg1: *mut c_char, arg2: c_int) -> c_int;
mkostemps(arg1: *mut c_char, arg2: c_int, arg3: c_int) -> c_int586     pub fn mkostemps(arg1: *mut c_char, arg2: c_int, arg3: c_int) -> c_int;
mkdtemp(arg1: *mut c_char) -> *mut c_char587     pub fn mkdtemp(arg1: *mut c_char) -> *mut c_char;
mkstemp(arg1: *mut c_char) -> c_int588     pub fn mkstemp(arg1: *mut c_char) -> c_int;
mktemp(arg1: *mut c_char) -> *mut c_char589     pub fn mktemp(arg1: *mut c_char) -> *mut c_char;
atoll(arg1: *const c_char) -> c_longlong590     pub fn atoll(arg1: *const c_char) -> c_longlong;
llabs(arg1: c_longlong) -> c_longlong591     pub fn llabs(arg1: c_longlong) -> c_longlong;
lldiv(arg1: c_longlong, arg2: c_longlong) -> lldiv_t592     pub fn lldiv(arg1: c_longlong, arg2: c_longlong) -> lldiv_t;
strtoll(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_longlong593     pub fn strtoll(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_longlong;
strtoull(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulonglong594     pub fn strtoull(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulonglong;
aligned_alloc(arg1: size_t, arg2: size_t) -> *mut c_void595     pub fn aligned_alloc(arg1: size_t, arg2: size_t) -> *mut c_void;
at_quick_exit(arg1: Option<unsafe extern "C" fn()>) -> c_int596     pub fn at_quick_exit(arg1: Option<unsafe extern "C" fn()>) -> c_int;
quick_exit(arg1: c_int)597     pub fn quick_exit(arg1: c_int);
setenv(arg1: *const c_char, arg2: *const c_char, arg3: c_int) -> c_int598     pub fn setenv(arg1: *const c_char, arg2: *const c_char, arg3: c_int) -> c_int;
unsetenv(arg1: *const c_char) -> c_int599     pub fn unsetenv(arg1: *const c_char) -> c_int;
humanize_number( arg1: *mut c_char, arg2: size_t, arg3: i64, arg4: *const c_char, arg5: c_int, arg6: c_int, ) -> c_int600     pub fn humanize_number(
601         arg1: *mut c_char,
602         arg2: size_t,
603         arg3: i64,
604         arg4: *const c_char,
605         arg5: c_int,
606         arg6: c_int,
607     ) -> c_int;
dehumanize_number(arg1: *const c_char, arg2: *mut i64) -> c_int608     pub fn dehumanize_number(arg1: *const c_char, arg2: *mut i64) -> c_int;
getenv_r(arg1: *const c_char, arg2: *mut c_char, arg3: size_t) -> c_int609     pub fn getenv_r(arg1: *const c_char, arg2: *mut c_char, arg3: size_t) -> c_int;
heapsort( arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>, ) -> c_int610     pub fn heapsort(
611         arg1: *mut c_void,
612         arg2: size_t,
613         arg3: size_t,
614         arg4: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
615     ) -> c_int;
mergesort( arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>, ) -> c_int616     pub fn mergesort(
617         arg1: *mut c_void,
618         arg2: size_t,
619         arg3: size_t,
620         arg4: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
621     ) -> c_int;
radixsort( arg1: *mut *const c_uchar, arg2: c_int, arg3: *const c_uchar, arg4: c_uint, ) -> c_int622     pub fn radixsort(
623         arg1: *mut *const c_uchar,
624         arg2: c_int,
625         arg3: *const c_uchar,
626         arg4: c_uint,
627     ) -> c_int;
sradixsort( arg1: *mut *const c_uchar, arg2: c_int, arg3: *const c_uchar, arg4: c_uint, ) -> c_int628     pub fn sradixsort(
629         arg1: *mut *const c_uchar,
630         arg2: c_int,
631         arg3: *const c_uchar,
632         arg4: c_uint,
633     ) -> c_int;
getprogname() -> *const c_char634     pub fn getprogname() -> *const c_char;
setprogname(arg1: *const c_char)635     pub fn setprogname(arg1: *const c_char);
qabs(arg1: quad_t) -> quad_t636     pub fn qabs(arg1: quad_t) -> quad_t;
strtoq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> quad_t637     pub fn strtoq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> quad_t;
strtouq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> u_quad_t638     pub fn strtouq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> u_quad_t;
strsuftoll( arg1: *const c_char, arg2: *const c_char, arg3: c_longlong, arg4: c_longlong, ) -> c_longlong639     pub fn strsuftoll(
640         arg1: *const c_char,
641         arg2: *const c_char,
642         arg3: c_longlong,
643         arg4: c_longlong,
644     ) -> c_longlong;
strsuftollx( arg1: *const c_char, arg2: *const c_char, arg3: c_longlong, arg4: c_longlong, arg5: *mut c_char, arg6: size_t, ) -> c_longlong645     pub fn strsuftollx(
646         arg1: *const c_char,
647         arg2: *const c_char,
648         arg3: c_longlong,
649         arg4: c_longlong,
650         arg5: *mut c_char,
651         arg6: size_t,
652     ) -> c_longlong;
l64a_r(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> c_int653     pub fn l64a_r(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> c_int;
qdiv(arg1: quad_t, arg2: quad_t) -> qdiv_t654     pub fn qdiv(arg1: quad_t, arg2: quad_t) -> qdiv_t;
strtol_l( arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int, arg4: locale_t, ) -> c_long655     pub fn strtol_l(
656         arg1: *const c_char,
657         arg2: *mut *mut c_char,
658         arg3: c_int,
659         arg4: locale_t,
660     ) -> c_long;
strtoul_l( arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int, arg4: locale_t, ) -> c_ulong661     pub fn strtoul_l(
662         arg1: *const c_char,
663         arg2: *mut *mut c_char,
664         arg3: c_int,
665         arg4: locale_t,
666     ) -> c_ulong;
strtoll_l( arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int, arg4: locale_t, ) -> c_longlong667     pub fn strtoll_l(
668         arg1: *const c_char,
669         arg2: *mut *mut c_char,
670         arg3: c_int,
671         arg4: locale_t,
672     ) -> c_longlong;
strtoull_l( arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int, arg4: locale_t, ) -> c_ulonglong673     pub fn strtoull_l(
674         arg1: *const c_char,
675         arg2: *mut *mut c_char,
676         arg3: c_int,
677         arg4: locale_t,
678     ) -> c_ulonglong;
strtoq_l( arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int, arg4: locale_t, ) -> quad_t679     pub fn strtoq_l(
680         arg1: *const c_char,
681         arg2: *mut *mut c_char,
682         arg3: c_int,
683         arg4: locale_t,
684     ) -> quad_t;
strtouq_l( arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int, arg4: locale_t, ) -> u_quad_t685     pub fn strtouq_l(
686         arg1: *const c_char,
687         arg2: *mut *mut c_char,
688         arg3: c_int,
689         arg4: locale_t,
690     ) -> u_quad_t;
_mb_cur_max_l(arg1: locale_t) -> size_t691     pub fn _mb_cur_max_l(arg1: locale_t) -> size_t;
mblen_l(arg1: *const c_char, arg2: size_t, arg3: locale_t) -> c_int692     pub fn mblen_l(arg1: *const c_char, arg2: size_t, arg3: locale_t) -> c_int;
mbstowcs_l( arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t, arg4: locale_t, ) -> size_t693     pub fn mbstowcs_l(
694         arg1: *mut wchar_t,
695         arg2: *const c_char,
696         arg3: size_t,
697         arg4: locale_t,
698     ) -> size_t;
wctomb_l(arg1: *mut c_char, arg2: wchar_t, arg3: locale_t) -> c_int699     pub fn wctomb_l(arg1: *mut c_char, arg2: wchar_t, arg3: locale_t) -> c_int;
mbtowc_l(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t, arg4: locale_t) -> c_int700     pub fn mbtowc_l(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t, arg4: locale_t)
701         -> c_int;
wcstombs_l( arg1: *mut c_char, arg2: *const wchar_t, arg3: size_t, arg4: locale_t, ) -> size_t702     pub fn wcstombs_l(
703         arg1: *mut c_char,
704         arg2: *const wchar_t,
705         arg3: size_t,
706         arg4: locale_t,
707     ) -> size_t;
708 
709     // string.h
memchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void710     pub fn memchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
memcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int711     pub fn memcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
memcpy(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void712     pub fn memcpy(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
memmove(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void713     pub fn memmove(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void714     pub fn memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
strcat(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char715     pub fn strcat(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
strchr(arg1: *const c_char, arg2: c_int) -> *mut c_char716     pub fn strchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
strcmp(arg1: *const c_char, arg2: *const c_char) -> c_int717     pub fn strcmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
strcoll(arg1: *const c_char, arg2: *const c_char) -> c_int718     pub fn strcoll(arg1: *const c_char, arg2: *const c_char) -> c_int;
strcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char719     pub fn strcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
strcspn(arg1: *const c_char, arg2: *const c_char) -> size_t720     pub fn strcspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
strerror(arg1: c_int) -> *mut c_char721     pub fn strerror(arg1: c_int) -> *mut c_char;
strlen(arg1: *const c_char) -> size_t722     pub fn strlen(arg1: *const c_char) -> size_t;
strncat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char723     pub fn strncat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
strncmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int724     pub fn strncmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
strncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char725     pub fn strncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
strpbrk(arg1: *const c_char, arg2: *const c_char) -> *mut c_char726     pub fn strpbrk(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
strrchr(arg1: *const c_char, arg2: c_int) -> *mut c_char727     pub fn strrchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
strspn(arg1: *const c_char, arg2: *const c_char) -> size_t728     pub fn strspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
strstr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char729     pub fn strstr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
strtok(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char730     pub fn strtok(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
strtok_r(arg1: *mut c_char, arg2: *const c_char, arg3: *mut *mut c_char) -> *mut c_char731     pub fn strtok_r(arg1: *mut c_char, arg2: *const c_char, arg3: *mut *mut c_char) -> *mut c_char;
strerror_r(arg1: c_int, arg2: *mut c_char, arg3: size_t) -> c_int732     pub fn strerror_r(arg1: c_int, arg2: *mut c_char, arg3: size_t) -> c_int;
strxfrm(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t733     pub fn strxfrm(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
memccpy( arg1: *mut c_void, arg2: *const c_void, arg3: c_int, arg4: size_t, ) -> *mut c_void734     pub fn memccpy(
735         arg1: *mut c_void,
736         arg2: *const c_void,
737         arg3: c_int,
738         arg4: size_t,
739     ) -> *mut c_void;
strdup(arg1: *const c_char) -> *mut c_char740     pub fn strdup(arg1: *const c_char) -> *mut c_char;
stpcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char741     pub fn stpcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
stpncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char742     pub fn stpncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
strnlen(arg1: *const c_char, arg2: size_t) -> size_t743     pub fn strnlen(arg1: *const c_char, arg2: size_t) -> size_t;
memmem( arg1: *const c_void, arg2: size_t, arg3: *const c_void, arg4: size_t, ) -> *mut c_void744     pub fn memmem(
745         arg1: *const c_void,
746         arg2: size_t,
747         arg3: *const c_void,
748         arg4: size_t,
749     ) -> *mut c_void;
strcasestr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char750     pub fn strcasestr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
strlcat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t751     pub fn strlcat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
strlcpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t752     pub fn strlcpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
strsep(arg1: *mut *mut c_char, arg2: *const c_char) -> *mut c_char753     pub fn strsep(arg1: *mut *mut c_char, arg2: *const c_char) -> *mut c_char;
stresep(arg1: *mut *mut c_char, arg2: *const c_char, arg3: c_int) -> *mut c_char754     pub fn stresep(arg1: *mut *mut c_char, arg2: *const c_char, arg3: c_int) -> *mut c_char;
strndup(arg1: *const c_char, arg2: size_t) -> *mut c_char755     pub fn strndup(arg1: *const c_char, arg2: size_t) -> *mut c_char;
memrchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void756     pub fn memrchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
explicit_memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void757     pub fn explicit_memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
consttime_memequal(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int758     pub fn consttime_memequal(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
strcoll_l(arg1: *const c_char, arg2: *const c_char, arg3: locale_t) -> c_int759     pub fn strcoll_l(arg1: *const c_char, arg2: *const c_char, arg3: locale_t) -> c_int;
strxfrm_l( arg1: *mut c_char, arg2: *const c_char, arg3: size_t, arg4: locale_t, ) -> size_t760     pub fn strxfrm_l(
761         arg1: *mut c_char,
762         arg2: *const c_char,
763         arg3: size_t,
764         arg4: locale_t,
765     ) -> size_t;
strerror_l(arg1: c_int, arg2: locale_t) -> *mut c_char766     pub fn strerror_l(arg1: c_int, arg2: locale_t) -> *mut c_char;
767 
768     // strings.h
bcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int769     pub fn bcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
bcopy(arg1: *const c_void, arg2: *mut c_void, arg3: size_t)770     pub fn bcopy(arg1: *const c_void, arg2: *mut c_void, arg3: size_t);
bzero(arg1: *mut c_void, arg2: size_t)771     pub fn bzero(arg1: *mut c_void, arg2: size_t);
ffs(arg1: c_int) -> c_int772     pub fn ffs(arg1: c_int) -> c_int;
popcount(arg1: c_uint) -> c_uint773     pub fn popcount(arg1: c_uint) -> c_uint;
popcountl(arg1: c_ulong) -> c_uint774     pub fn popcountl(arg1: c_ulong) -> c_uint;
popcountll(arg1: c_ulonglong) -> c_uint775     pub fn popcountll(arg1: c_ulonglong) -> c_uint;
popcount32(arg1: u32) -> c_uint776     pub fn popcount32(arg1: u32) -> c_uint;
popcount64(arg1: u64) -> c_uint777     pub fn popcount64(arg1: u64) -> c_uint;
rindex(arg1: *const c_char, arg2: c_int) -> *mut c_char778     pub fn rindex(arg1: *const c_char, arg2: c_int) -> *mut c_char;
strcasecmp(arg1: *const c_char, arg2: *const c_char) -> c_int779     pub fn strcasecmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
strncasecmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int780     pub fn strncasecmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
781 
782     // signal.h
signal(arg1: c_int, arg2: sighandler_t) -> sighandler_t783     pub fn signal(arg1: c_int, arg2: sighandler_t) -> sighandler_t;
raise(arg1: c_int) -> c_int784     pub fn raise(arg1: c_int) -> c_int;
785 
786     // time.h
asctime(arg1: *const tm) -> *mut c_char787     pub fn asctime(arg1: *const tm) -> *mut c_char;
clock() -> clock_t788     pub fn clock() -> clock_t;
ctime(arg1: *const time_t) -> *mut c_char789     pub fn ctime(arg1: *const time_t) -> *mut c_char;
difftime(arg1: time_t, arg2: time_t) -> f64790     pub fn difftime(arg1: time_t, arg2: time_t) -> f64;
gmtime(arg1: *const time_t) -> *mut tm791     pub fn gmtime(arg1: *const time_t) -> *mut tm;
localtime(arg1: *const time_t) -> *mut tm792     pub fn localtime(arg1: *const time_t) -> *mut tm;
time(arg1: *mut time_t) -> time_t793     pub fn time(arg1: *mut time_t) -> time_t;
mktime(arg1: *mut tm) -> time_t794     pub fn mktime(arg1: *mut tm) -> time_t;
strftime( arg1: *mut c_char, arg2: size_t, arg3: *const c_char, arg4: *const tm, ) -> size_t795     pub fn strftime(
796         arg1: *mut c_char,
797         arg2: size_t,
798         arg3: *const c_char,
799         arg4: *const tm,
800     ) -> size_t;
utime(arg1: *const c_char, arg2: *mut time_t) -> c_int801     pub fn utime(arg1: *const c_char, arg2: *mut time_t) -> c_int;
asctime_r(arg1: *const tm, arg2: *mut c_char) -> *mut c_char802     pub fn asctime_r(arg1: *const tm, arg2: *mut c_char) -> *mut c_char;
ctime_r(arg1: *const time_t, arg2: *mut c_char) -> *mut c_char803     pub fn ctime_r(arg1: *const time_t, arg2: *mut c_char) -> *mut c_char;
gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm804     pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm805     pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
806 
807     // sys/stat.h
stat(arg1: *const c_char, arg2: *mut stat) -> c_int808     pub fn stat(arg1: *const c_char, arg2: *mut stat) -> c_int;
lstat(arg1: *const c_char, arg2: *mut stat) -> c_int809     pub fn lstat(arg1: *const c_char, arg2: *mut stat) -> c_int;
fstat(arg1: c_int, arg2: *mut stat) -> c_int810     pub fn fstat(arg1: c_int, arg2: *mut stat) -> c_int;
chmod(arg1: *const c_char, arg2: __mode_t) -> c_int811     pub fn chmod(arg1: *const c_char, arg2: __mode_t) -> c_int;
mkdir(arg1: *const c_char, arg2: __mode_t) -> c_int812     pub fn mkdir(arg1: *const c_char, arg2: __mode_t) -> c_int;
813 
814     // fcntl.h
open(arg1: *const c_char, arg2: c_int, ...) -> c_int815     pub fn open(arg1: *const c_char, arg2: c_int, ...) -> c_int;
creat(arg1: *const c_char, arg2: c_int) -> c_int816     pub fn creat(arg1: *const c_char, arg2: c_int) -> c_int;
close(arg1: c_int) -> c_int817     pub fn close(arg1: c_int) -> c_int;
read(arg1: c_int, arg2: *mut c_void, arg3: c_int) -> c_int818     pub fn read(arg1: c_int, arg2: *mut c_void, arg3: c_int) -> c_int;
write(arg1: c_int, arg2: *const c_void, arg3: c_int) -> c_int819     pub fn write(arg1: c_int, arg2: *const c_void, arg3: c_int) -> c_int;
unlink(arg1: *const c_char) -> c_int820     pub fn unlink(arg1: *const c_char) -> c_int;
tell(arg1: c_int) -> c_long821     pub fn tell(arg1: c_int) -> c_long;
dup(arg1: c_int) -> c_int822     pub fn dup(arg1: c_int) -> c_int;
dup2(arg1: c_int, arg2: c_int) -> c_int823     pub fn dup2(arg1: c_int, arg2: c_int) -> c_int;
access(arg1: *const c_char, arg2: c_int) -> c_int824     pub fn access(arg1: *const c_char, arg2: c_int) -> c_int;
rmdir(arg1: *const c_char) -> c_int825     pub fn rmdir(arg1: *const c_char) -> c_int;
chdir(arg1: *const c_char) -> c_int826     pub fn chdir(arg1: *const c_char) -> c_int;
_exit(arg1: c_int)827     pub fn _exit(arg1: c_int);
getwd(arg1: *mut c_char) -> *mut c_char828     pub fn getwd(arg1: *mut c_char) -> *mut c_char;
getcwd(arg1: *mut c_char, arg2: size_t) -> *mut c_char829     pub fn getcwd(arg1: *mut c_char, arg2: size_t) -> *mut c_char;
830     pub static mut optarg: *mut c_char;
831     pub static mut opterr: c_int;
832     pub static mut optind: c_int;
833     pub static mut optopt: c_int;
834     pub static mut optreset: c_int;
getopt(arg1: c_int, arg2: *mut *mut c_char, arg3: *const c_char) -> c_int835     pub fn getopt(arg1: c_int, arg2: *mut *mut c_char, arg3: *const c_char) -> c_int;
836     pub static mut suboptarg: *mut c_char;
getsubopt( arg1: *mut *mut c_char, arg2: *const *mut c_char, arg3: *mut *mut c_char, ) -> c_int837     pub fn getsubopt(
838         arg1: *mut *mut c_char,
839         arg2: *const *mut c_char,
840         arg3: *mut *mut c_char,
841     ) -> c_int;
fcntl(arg1: c_int, arg2: c_int, ...) -> c_int842     pub fn fcntl(arg1: c_int, arg2: c_int, ...) -> c_int;
getpid() -> pid_t843     pub fn getpid() -> pid_t;
sleep(arg1: c_uint) -> c_uint844     pub fn sleep(arg1: c_uint) -> c_uint;
usleep(arg1: useconds_t) -> c_int845     pub fn usleep(arg1: useconds_t) -> c_int;
846 
847     // locale.h
localeconv() -> *mut lconv848     pub fn localeconv() -> *mut lconv;
setlocale(arg1: c_int, arg2: *const c_char) -> *mut c_char849     pub fn setlocale(arg1: c_int, arg2: *const c_char) -> *mut c_char;
duplocale(arg1: locale_t) -> locale_t850     pub fn duplocale(arg1: locale_t) -> locale_t;
freelocale(arg1: locale_t)851     pub fn freelocale(arg1: locale_t);
localeconv_l(arg1: locale_t) -> *mut lconv852     pub fn localeconv_l(arg1: locale_t) -> *mut lconv;
newlocale(arg1: c_int, arg2: *const c_char, arg3: locale_t) -> locale_t853     pub fn newlocale(arg1: c_int, arg2: *const c_char, arg3: locale_t) -> locale_t;
854 
855     // langinfo.h
nl_langinfo(item: crate::nl_item) -> *mut c_char856     pub fn nl_langinfo(item: crate::nl_item) -> *mut c_char;
nl_langinfo_l(item: crate::nl_item, locale: locale_t) -> *mut c_char857     pub fn nl_langinfo_l(item: crate::nl_item, locale: locale_t) -> *mut c_char;
858 
859     // malloc.h
memalign(align: size_t, size: size_t) -> *mut c_void860     pub fn memalign(align: size_t, size: size_t) -> *mut c_void;
861 
862     // sys/types.h
lseek(arg1: c_int, arg2: __off_t, arg3: c_int) -> __off_t863     pub fn lseek(arg1: c_int, arg2: __off_t, arg3: c_int) -> __off_t;
864 }
865 
866 cfg_if! {
867     if #[cfg(target_arch = "aarch64")] {
868         mod aarch64;
869         pub use self::aarch64::*;
870     } else if #[cfg(any(target_arch = "arm"))] {
871         mod arm;
872         pub use self::arm::*;
873     } else {
874         // Unknown target_arch
875     }
876 }
877