xref: /rust-libc-0.2.174/src/solid/mod.rs (revision e2218872)
19e27ce67STomoaki Kawada //! Interface to the [SOLID] C library
29e27ce67STomoaki Kawada //!
39e27ce67STomoaki Kawada //! [SOLID]: https://solid.kmckk.com/
49e27ce67STomoaki Kawada 
5*e2218872SJosh Triplett use c_void;
6*e2218872SJosh Triplett 
79e27ce67STomoaki Kawada pub type c_schar = i8;
89e27ce67STomoaki Kawada pub type c_uchar = u8;
99e27ce67STomoaki Kawada pub type c_short = i16;
109e27ce67STomoaki Kawada pub type c_ushort = u16;
119e27ce67STomoaki Kawada pub type c_int = i32;
129e27ce67STomoaki Kawada pub type c_uint = u32;
139e27ce67STomoaki Kawada pub type c_float = f32;
149e27ce67STomoaki Kawada pub type c_double = f64;
159e27ce67STomoaki Kawada pub type c_longlong = i64;
169e27ce67STomoaki Kawada pub type c_ulonglong = u64;
179e27ce67STomoaki Kawada pub type intmax_t = i64;
189e27ce67STomoaki Kawada pub type uintmax_t = u64;
199e27ce67STomoaki Kawada 
209e27ce67STomoaki Kawada pub type uintptr_t = usize;
219e27ce67STomoaki Kawada pub type intptr_t = isize;
229e27ce67STomoaki Kawada pub type ptrdiff_t = isize;
239e27ce67STomoaki Kawada pub type size_t = ::uintptr_t;
249e27ce67STomoaki Kawada pub type ssize_t = ::intptr_t;
259e27ce67STomoaki Kawada 
269e27ce67STomoaki Kawada pub type clock_t = c_uint;
279e27ce67STomoaki Kawada pub type time_t = i64;
289e27ce67STomoaki Kawada pub type clockid_t = c_int;
299e27ce67STomoaki Kawada pub type timer_t = c_int;
309e27ce67STomoaki Kawada pub type suseconds_t = c_int;
319e27ce67STomoaki Kawada pub type useconds_t = c_uint;
329e27ce67STomoaki Kawada 
339e27ce67STomoaki Kawada pub type sighandler_t = size_t;
349e27ce67STomoaki Kawada 
359e27ce67STomoaki Kawada // sys/ansi.h
369e27ce67STomoaki Kawada pub type __caddr_t = *mut c_char;
379e27ce67STomoaki Kawada pub type __gid_t = u32;
389e27ce67STomoaki Kawada pub type __in_addr_t = u32;
399e27ce67STomoaki Kawada pub type __in_port_t = u16;
409e27ce67STomoaki Kawada pub type __mode_t = u32;
419e27ce67STomoaki Kawada pub type __off_t = i64;
429e27ce67STomoaki Kawada pub type __pid_t = i32;
439e27ce67STomoaki Kawada pub type __sa_family_t = u8;
449e27ce67STomoaki Kawada pub type __socklen_t = c_uint;
459e27ce67STomoaki Kawada pub type __uid_t = u32;
469e27ce67STomoaki Kawada pub type __fsblkcnt_t = u64;
479e27ce67STomoaki Kawada pub type __fsfilcnt_t = u64;
489e27ce67STomoaki Kawada 
499e27ce67STomoaki Kawada // locale.h
509e27ce67STomoaki Kawada pub type locale_t = usize;
519e27ce67STomoaki Kawada 
529e27ce67STomoaki Kawada // nl_types.h
539e27ce67STomoaki Kawada pub type nl_item = c_long;
549e27ce67STomoaki Kawada 
559e27ce67STomoaki Kawada // sys/types.h
569e27ce67STomoaki Kawada pub type __va_list = *mut c_char;
579e27ce67STomoaki Kawada pub type u_int8_t = u8;
589e27ce67STomoaki Kawada pub type u_int16_t = u16;
599e27ce67STomoaki Kawada pub type u_int32_t = u32;
609e27ce67STomoaki Kawada pub type u_int64_t = u64;
619e27ce67STomoaki Kawada pub type u_char = c_uchar;
629e27ce67STomoaki Kawada pub type u_short = c_ushort;
639e27ce67STomoaki Kawada pub type u_int = c_uint;
649e27ce67STomoaki Kawada pub type u_long = c_ulong;
659e27ce67STomoaki Kawada pub type unchar = c_uchar;
669e27ce67STomoaki Kawada pub type ushort = c_ushort;
679e27ce67STomoaki Kawada pub type uint = c_uint;
689e27ce67STomoaki Kawada pub type ulong = c_ulong;
699e27ce67STomoaki Kawada pub type u_quad_t = u64;
709e27ce67STomoaki Kawada pub type quad_t = i64;
719e27ce67STomoaki Kawada pub type qaddr_t = *mut quad_t;
729e27ce67STomoaki Kawada pub type longlong_t = i64;
739e27ce67STomoaki Kawada pub type u_longlong_t = u64;
749e27ce67STomoaki Kawada pub type blkcnt_t = i64;
759e27ce67STomoaki Kawada pub type blksize_t = i32;
769e27ce67STomoaki Kawada pub type fsblkcnt_t = __fsblkcnt_t;
779e27ce67STomoaki Kawada pub type fsfilcnt_t = __fsfilcnt_t;
789e27ce67STomoaki Kawada pub type caddr_t = __caddr_t;
799e27ce67STomoaki Kawada pub type daddr_t = i64;
809e27ce67STomoaki Kawada pub type dev_t = u64;
819e27ce67STomoaki Kawada pub type fixpt_t = u32;
829e27ce67STomoaki Kawada pub type gid_t = __gid_t;
839e27ce67STomoaki Kawada pub type idtype_t = c_int;
849e27ce67STomoaki Kawada pub type id_t = u32;
859e27ce67STomoaki Kawada pub type ino_t = u64;
869e27ce67STomoaki Kawada pub type key_t = c_long;
879e27ce67STomoaki Kawada pub type mode_t = __mode_t;
889e27ce67STomoaki Kawada pub type nlink_t = u32;
899e27ce67STomoaki Kawada pub type off_t = __off_t;
909e27ce67STomoaki Kawada pub type pid_t = __pid_t;
919e27ce67STomoaki Kawada pub type lwpid_t = i32;
929e27ce67STomoaki Kawada pub type rlim_t = u64;
939e27ce67STomoaki Kawada pub type segsz_t = i32;
949e27ce67STomoaki Kawada pub type swblk_t = i32;
959e27ce67STomoaki Kawada pub type mqd_t = c_int;
969e27ce67STomoaki Kawada pub type cpuid_t = c_ulong;
979e27ce67STomoaki Kawada pub type psetid_t = c_int;
989e27ce67STomoaki Kawada 
999e27ce67STomoaki Kawada s! {
1009e27ce67STomoaki Kawada     // stat.h
1019e27ce67STomoaki Kawada     pub struct stat {
1029e27ce67STomoaki Kawada         pub st_dev: dev_t,
1039e27ce67STomoaki Kawada         pub st_ino: ino_t,
1049e27ce67STomoaki Kawada         pub st_mode: c_short,
1059e27ce67STomoaki Kawada         pub st_nlink: c_short,
1069e27ce67STomoaki Kawada         pub st_uid: c_short,
1079e27ce67STomoaki Kawada         pub st_gid: c_short,
1089e27ce67STomoaki Kawada         pub st_rdev: dev_t,
1099e27ce67STomoaki Kawada         pub st_size: off_t,
1109e27ce67STomoaki Kawada         pub st_atime: time_t,
1119e27ce67STomoaki Kawada         pub st_mtime: time_t,
1129e27ce67STomoaki Kawada         pub st_ctime: time_t,
1139e27ce67STomoaki Kawada         pub st_blksize: blksize_t,
1149e27ce67STomoaki Kawada     }
1159e27ce67STomoaki Kawada 
1169e27ce67STomoaki Kawada     // time.h
1179e27ce67STomoaki Kawada     pub struct tm {
1189e27ce67STomoaki Kawada         pub tm_sec: c_int,
1199e27ce67STomoaki Kawada         pub tm_min: c_int,
1209e27ce67STomoaki Kawada         pub tm_hour: c_int,
1219e27ce67STomoaki Kawada         pub tm_mday: c_int,
1229e27ce67STomoaki Kawada         pub tm_mon: c_int,
1239e27ce67STomoaki Kawada         pub tm_year: c_int,
1249e27ce67STomoaki Kawada         pub tm_wday: c_int,
1259e27ce67STomoaki Kawada         pub tm_yday: c_int,
1269e27ce67STomoaki Kawada         pub tm_isdst: c_int,
1279e27ce67STomoaki Kawada         pub tm_gmtoff: c_long,
1289e27ce67STomoaki Kawada         pub tm_zone: *mut c_char,
1299e27ce67STomoaki Kawada     }
1309e27ce67STomoaki Kawada 
1319e27ce67STomoaki Kawada     // stdlib.h
1329e27ce67STomoaki Kawada     pub struct qdiv_t {
1339e27ce67STomoaki Kawada         pub quot: quad_t,
1349e27ce67STomoaki Kawada         pub rem: quad_t,
1359e27ce67STomoaki Kawada     }
1369e27ce67STomoaki Kawada     pub struct lldiv_t {
1379e27ce67STomoaki Kawada         pub quot: c_longlong,
1389e27ce67STomoaki Kawada         pub rem: c_longlong,
1399e27ce67STomoaki Kawada     }
1409e27ce67STomoaki Kawada     pub struct div_t {
1419e27ce67STomoaki Kawada         pub quot: c_int,
1429e27ce67STomoaki Kawada         pub rem: c_int,
1439e27ce67STomoaki Kawada     }
1449e27ce67STomoaki Kawada     pub struct ldiv_t {
1459e27ce67STomoaki Kawada         pub quot: c_long,
1469e27ce67STomoaki Kawada         pub rem: c_long,
1479e27ce67STomoaki Kawada     }
1489e27ce67STomoaki Kawada 
1499e27ce67STomoaki Kawada     // locale.h
1509e27ce67STomoaki Kawada     pub struct lconv {
1519e27ce67STomoaki Kawada         pub decimal_point: *mut c_char,
1529e27ce67STomoaki Kawada         pub thousands_sep: *mut c_char,
1539e27ce67STomoaki Kawada         pub grouping: *mut c_char,
1549e27ce67STomoaki Kawada         pub int_curr_symbol: *mut c_char,
1559e27ce67STomoaki Kawada         pub currency_symbol: *mut c_char,
1569e27ce67STomoaki Kawada         pub mon_decimal_point: *mut c_char,
1579e27ce67STomoaki Kawada         pub mon_thousands_sep: *mut c_char,
1589e27ce67STomoaki Kawada         pub mon_grouping: *mut c_char,
1599e27ce67STomoaki Kawada         pub positive_sign: *mut c_char,
1609e27ce67STomoaki Kawada         pub negative_sign: *mut c_char,
1619e27ce67STomoaki Kawada         pub int_frac_digits: c_char,
1629e27ce67STomoaki Kawada         pub frac_digits: c_char,
1639e27ce67STomoaki Kawada         pub p_cs_precedes: c_char,
1649e27ce67STomoaki Kawada         pub p_sep_by_space: c_char,
1659e27ce67STomoaki Kawada         pub n_cs_precedes: c_char,
1669e27ce67STomoaki Kawada         pub n_sep_by_space: c_char,
1679e27ce67STomoaki Kawada         pub p_sign_posn: c_char,
1689e27ce67STomoaki Kawada         pub n_sign_posn: c_char,
1699e27ce67STomoaki Kawada         pub int_p_cs_precedes: c_char,
1709e27ce67STomoaki Kawada         pub int_n_cs_precedes: c_char,
1719e27ce67STomoaki Kawada         pub int_p_sep_by_space: c_char,
1729e27ce67STomoaki Kawada         pub int_n_sep_by_space: c_char,
1739e27ce67STomoaki Kawada         pub int_p_sign_posn: c_char,
1749e27ce67STomoaki Kawada         pub int_n_sign_posn: c_char,
1759e27ce67STomoaki Kawada     }
1769e27ce67STomoaki Kawada 
1779e27ce67STomoaki Kawada     pub struct iovec {
1789e27ce67STomoaki Kawada         pub iov_base: *mut c_void,
1799e27ce67STomoaki Kawada         pub iov_len: size_t,
1809e27ce67STomoaki Kawada     }
1819e27ce67STomoaki Kawada 
1829e27ce67STomoaki Kawada     pub struct timeval {
1839e27ce67STomoaki Kawada         pub tv_sec: c_long,
1849e27ce67STomoaki Kawada         pub tv_usec: c_long,
1859e27ce67STomoaki Kawada     }
1869e27ce67STomoaki Kawada }
1879e27ce67STomoaki Kawada 
1889e27ce67STomoaki Kawada pub const INT_MIN: c_int = -2147483648;
1899e27ce67STomoaki Kawada pub const INT_MAX: c_int = 2147483647;
1909e27ce67STomoaki Kawada 
1919e27ce67STomoaki Kawada pub const EXIT_FAILURE: c_int = 1;
1929e27ce67STomoaki Kawada pub const EXIT_SUCCESS: c_int = 0;
1939e27ce67STomoaki Kawada pub const RAND_MAX: c_int = 0x7fffffff;
1949e27ce67STomoaki Kawada pub const EOF: c_int = -1;
1959e27ce67STomoaki Kawada pub const SEEK_SET: c_int = 0;
1969e27ce67STomoaki Kawada pub const SEEK_CUR: c_int = 1;
1979e27ce67STomoaki Kawada pub const SEEK_END: c_int = 2;
1989e27ce67STomoaki Kawada pub const _IOFBF: c_int = 0;
1999e27ce67STomoaki Kawada pub const _IONBF: c_int = 2;
2009e27ce67STomoaki Kawada pub const _IOLBF: c_int = 1;
2019e27ce67STomoaki Kawada pub const BUFSIZ: c_uint = 1024;
2029e27ce67STomoaki Kawada pub const FOPEN_MAX: c_uint = 20;
2039e27ce67STomoaki Kawada pub const FILENAME_MAX: c_uint = 1024;
2049e27ce67STomoaki Kawada 
2059e27ce67STomoaki Kawada pub const O_RDONLY: c_int = 1;
2069e27ce67STomoaki Kawada pub const O_WRONLY: c_int = 2;
2079e27ce67STomoaki Kawada pub const O_RDWR: c_int = 4;
2089e27ce67STomoaki Kawada pub const O_APPEND: c_int = 8;
2099e27ce67STomoaki Kawada pub const O_CREAT: c_int = 0x10;
2109e27ce67STomoaki Kawada pub const O_EXCL: c_int = 0x400;
2119e27ce67STomoaki Kawada pub const O_TEXT: c_int = 0x100;
2129e27ce67STomoaki Kawada pub const O_BINARY: c_int = 0x200;
2139e27ce67STomoaki Kawada pub const O_TRUNC: c_int = 0x20;
214e4424387SDavid Tolnay pub const S_IEXEC: c_short = 0o0100;
215e4424387SDavid Tolnay pub const S_IWRITE: c_short = 0o0200;
216e4424387SDavid Tolnay pub const S_IREAD: c_short = 0o0400;
217e4424387SDavid Tolnay pub const S_IFCHR: c_short = 0o2_0000;
218e4424387SDavid Tolnay pub const S_IFDIR: c_short = 0o4_0000;
219e4424387SDavid Tolnay pub const S_IFMT: c_short = 0o16_0000;
220e4424387SDavid Tolnay pub const S_IFIFO: c_short = 0o1_0000;
221e4424387SDavid Tolnay pub const S_IFBLK: c_short = 0o6_0000;
222e4424387SDavid Tolnay pub const S_IFREG: c_short = 0o10_0000;
2239e27ce67STomoaki Kawada 
2249e27ce67STomoaki Kawada pub const LC_ALL: c_int = 0;
2259e27ce67STomoaki Kawada pub const LC_COLLATE: c_int = 1;
2269e27ce67STomoaki Kawada pub const LC_CTYPE: c_int = 2;
2279e27ce67STomoaki Kawada pub const LC_MONETARY: c_int = 3;
2289e27ce67STomoaki Kawada pub const LC_NUMERIC: c_int = 4;
2299e27ce67STomoaki Kawada pub const LC_TIME: c_int = 5;
2309e27ce67STomoaki Kawada pub const LC_MESSAGES: c_int = 6;
2319e27ce67STomoaki Kawada pub const _LC_LAST: c_int = 7;
2329e27ce67STomoaki Kawada 
2339e27ce67STomoaki Kawada pub const EPERM: c_int = 1;
2349e27ce67STomoaki Kawada pub const ENOENT: c_int = 2;
2359e27ce67STomoaki Kawada pub const ESRCH: c_int = 3;
2369e27ce67STomoaki Kawada pub const EINTR: c_int = 4;
2379e27ce67STomoaki Kawada pub const EIO: c_int = 5;
2389e27ce67STomoaki Kawada pub const ENXIO: c_int = 6;
2399e27ce67STomoaki Kawada pub const E2BIG: c_int = 7;
2409e27ce67STomoaki Kawada pub const ENOEXEC: c_int = 8;
2419e27ce67STomoaki Kawada pub const EBADF: c_int = 9;
2429e27ce67STomoaki Kawada pub const ECHILD: c_int = 10;
2439e27ce67STomoaki Kawada pub const EAGAIN: c_int = 11;
2449e27ce67STomoaki Kawada pub const ENOMEM: c_int = 12;
2459e27ce67STomoaki Kawada pub const EACCES: c_int = 13;
2469e27ce67STomoaki Kawada pub const EFAULT: c_int = 14;
2479e27ce67STomoaki Kawada pub const ENOTBLK: c_int = 15;
2489e27ce67STomoaki Kawada pub const EBUSY: c_int = 16;
2499e27ce67STomoaki Kawada pub const EEXIST: c_int = 17;
2509e27ce67STomoaki Kawada pub const EXDEV: c_int = 18;
2519e27ce67STomoaki Kawada pub const ENODEV: c_int = 19;
2529e27ce67STomoaki Kawada pub const ENOTDIR: c_int = 20;
2539e27ce67STomoaki Kawada pub const EISDIR: c_int = 21;
2549e27ce67STomoaki Kawada pub const EINVAL: c_int = 22;
2559e27ce67STomoaki Kawada pub const ENFILE: c_int = 23;
2569e27ce67STomoaki Kawada pub const EMFILE: c_int = 24;
2579e27ce67STomoaki Kawada pub const ENOTTY: c_int = 25;
2589e27ce67STomoaki Kawada pub const ETXTBSY: c_int = 26;
2599e27ce67STomoaki Kawada pub const EFBIG: c_int = 27;
2609e27ce67STomoaki Kawada pub const ENOSPC: c_int = 28;
2619e27ce67STomoaki Kawada pub const ESPIPE: c_int = 29;
2629e27ce67STomoaki Kawada pub const EROFS: c_int = 30;
2639e27ce67STomoaki Kawada pub const EMLINK: c_int = 31;
2649e27ce67STomoaki Kawada pub const EPIPE: c_int = 32;
2659e27ce67STomoaki Kawada pub const EDOM: c_int = 33;
2669e27ce67STomoaki Kawada pub const ERANGE: c_int = 34;
2679e27ce67STomoaki Kawada 
2689e27ce67STomoaki Kawada pub const EDEADLK: c_int = 35;
2699e27ce67STomoaki Kawada pub const ENAMETOOLONG: c_int = 36;
2709e27ce67STomoaki Kawada pub const ENOLCK: c_int = 37;
2719e27ce67STomoaki Kawada pub const ENOSYS: c_int = 38;
2729e27ce67STomoaki Kawada pub const ENOTEMPTY: c_int = 39;
2739e27ce67STomoaki Kawada pub const ELOOP: c_int = 40;
2749e27ce67STomoaki Kawada pub const EWOULDBLOCK: c_int = EAGAIN;
2759e27ce67STomoaki Kawada pub const ENOMSG: c_int = 42;
2769e27ce67STomoaki Kawada pub const EIDRM: c_int = 43;
2779e27ce67STomoaki Kawada pub const ECHRNG: c_int = 44;
2789e27ce67STomoaki Kawada pub const EL2NSYNC: c_int = 45;
2799e27ce67STomoaki Kawada pub const EL3HLT: c_int = 46;
2809e27ce67STomoaki Kawada pub const EL3RST: c_int = 47;
2819e27ce67STomoaki Kawada pub const ELNRNG: c_int = 48;
2829e27ce67STomoaki Kawada pub const EUNATCH: c_int = 49;
2839e27ce67STomoaki Kawada pub const ENOCSI: c_int = 50;
2849e27ce67STomoaki Kawada pub const EL2HLT: c_int = 51;
2859e27ce67STomoaki Kawada pub const EBADE: c_int = 52;
2869e27ce67STomoaki Kawada pub const EBADR: c_int = 53;
2879e27ce67STomoaki Kawada pub const EXFULL: c_int = 54;
2889e27ce67STomoaki Kawada pub const ENOANO: c_int = 55;
2899e27ce67STomoaki Kawada pub const EBADRQC: c_int = 56;
2909e27ce67STomoaki Kawada pub const EBADSLT: c_int = 57;
2919e27ce67STomoaki Kawada 
2929e27ce67STomoaki Kawada pub const EDEADLOCK: c_int = EDEADLK;
2939e27ce67STomoaki Kawada 
2949e27ce67STomoaki Kawada pub const EBFONT: c_int = 59;
2959e27ce67STomoaki Kawada pub const ENOSTR: c_int = 60;
2969e27ce67STomoaki Kawada pub const ENODATA: c_int = 61;
2979e27ce67STomoaki Kawada pub const ETIME: c_int = 62;
2989e27ce67STomoaki Kawada pub const ENOSR: c_int = 63;
2999e27ce67STomoaki Kawada pub const ENONET: c_int = 64;
3009e27ce67STomoaki Kawada pub const ENOPKG: c_int = 65;
3019e27ce67STomoaki Kawada pub const EREMOTE: c_int = 66;
3029e27ce67STomoaki Kawada pub const ENOLINK: c_int = 67;
3039e27ce67STomoaki Kawada pub const EADV: c_int = 68;
3049e27ce67STomoaki Kawada pub const ESRMNT: c_int = 69;
3059e27ce67STomoaki Kawada pub const ECOMM: c_int = 70;
3069e27ce67STomoaki Kawada pub const EPROTO: c_int = 71;
3079e27ce67STomoaki Kawada pub const EMULTIHOP: c_int = 72;
3089e27ce67STomoaki Kawada pub const EDOTDOT: c_int = 73;
3099e27ce67STomoaki Kawada pub const EBADMSG: c_int = 74;
3109e27ce67STomoaki Kawada pub const EOVERFLOW: c_int = 75;
3119e27ce67STomoaki Kawada pub const ENOTUNIQ: c_int = 76;
3129e27ce67STomoaki Kawada pub const EBADFD: c_int = 77;
3139e27ce67STomoaki Kawada pub const EREMCHG: c_int = 78;
3149e27ce67STomoaki Kawada pub const ELIBACC: c_int = 79;
3159e27ce67STomoaki Kawada pub const ELIBBAD: c_int = 80;
3169e27ce67STomoaki Kawada pub const ELIBSCN: c_int = 81;
3179e27ce67STomoaki Kawada pub const ELIBMAX: c_int = 82;
3189e27ce67STomoaki Kawada pub const ELIBEXEC: c_int = 83;
3199e27ce67STomoaki Kawada pub const EILSEQ: c_int = 84;
3209e27ce67STomoaki Kawada pub const ERESTART: c_int = 85;
3219e27ce67STomoaki Kawada pub const ESTRPIPE: c_int = 86;
3229e27ce67STomoaki Kawada pub const EUSERS: c_int = 87;
3239e27ce67STomoaki Kawada pub const ENOTSOCK: c_int = 88;
3249e27ce67STomoaki Kawada pub const EDESTADDRREQ: c_int = 89;
3259e27ce67STomoaki Kawada pub const EMSGSIZE: c_int = 90;
3269e27ce67STomoaki Kawada pub const EPROTOTYPE: c_int = 91;
3279e27ce67STomoaki Kawada pub const ENOPROTOOPT: c_int = 92;
3289e27ce67STomoaki Kawada pub const EPROTONOSUPPORT: c_int = 93;
3299e27ce67STomoaki Kawada pub const ESOCKTNOSUPPORT: c_int = 94;
3309e27ce67STomoaki Kawada pub const EOPNOTSUPP: c_int = 95;
3319e27ce67STomoaki Kawada pub const EPFNOSUPPORT: c_int = 96;
3329e27ce67STomoaki Kawada pub const EAFNOSUPPORT: c_int = 97;
3339e27ce67STomoaki Kawada pub const EADDRINUSE: c_int = 98;
3349e27ce67STomoaki Kawada pub const EADDRNOTAVAIL: c_int = 99;
3359e27ce67STomoaki Kawada pub const ENETDOWN: c_int = 100;
3369e27ce67STomoaki Kawada pub const ENETUNREACH: c_int = 101;
3379e27ce67STomoaki Kawada pub const ENETRESET: c_int = 102;
3389e27ce67STomoaki Kawada pub const ECONNABORTED: c_int = 103;
3399e27ce67STomoaki Kawada pub const ECONNRESET: c_int = 104;
3409e27ce67STomoaki Kawada pub const ENOBUFS: c_int = 105;
3419e27ce67STomoaki Kawada pub const EISCONN: c_int = 106;
3429e27ce67STomoaki Kawada pub const ENOTCONN: c_int = 107;
3439e27ce67STomoaki Kawada pub const ESHUTDOWN: c_int = 108;
3449e27ce67STomoaki Kawada pub const ETOOMANYREFS: c_int = 109;
3459e27ce67STomoaki Kawada pub const ETIMEDOUT: c_int = 110;
3469e27ce67STomoaki Kawada pub const ECONNREFUSED: c_int = 111;
3479e27ce67STomoaki Kawada pub const EHOSTDOWN: c_int = 112;
3489e27ce67STomoaki Kawada pub const EHOSTUNREACH: c_int = 113;
3499e27ce67STomoaki Kawada pub const EALREADY: c_int = 114;
3509e27ce67STomoaki Kawada pub const EINPROGRESS: c_int = 115;
3519e27ce67STomoaki Kawada pub const ESTALE: c_int = 116;
3529e27ce67STomoaki Kawada pub const EUCLEAN: c_int = 117;
3539e27ce67STomoaki Kawada pub const ENOTNAM: c_int = 118;
3549e27ce67STomoaki Kawada pub const ENAVAIL: c_int = 119;
3559e27ce67STomoaki Kawada pub const EISNAM: c_int = 120;
3569e27ce67STomoaki Kawada pub const EREMOTEIO: c_int = 121;
3579e27ce67STomoaki Kawada pub const EDQUOT: c_int = 122;
3589e27ce67STomoaki Kawada 
3599e27ce67STomoaki Kawada pub const ENOMEDIUM: c_int = 123;
3609e27ce67STomoaki Kawada pub const EMEDIUMTYPE: c_int = 124;
3619e27ce67STomoaki Kawada pub const ECANCELED: c_int = 125;
3629e27ce67STomoaki Kawada pub const ENOKEY: c_int = 126;
3639e27ce67STomoaki Kawada pub const EKEYEXPIRED: c_int = 127;
3649e27ce67STomoaki Kawada pub const EKEYREVOKED: c_int = 128;
3659e27ce67STomoaki Kawada pub const EKEYREJECTED: c_int = 129;
3669e27ce67STomoaki Kawada 
3679e27ce67STomoaki Kawada pub const EOWNERDEAD: c_int = 130;
3689e27ce67STomoaki Kawada pub const ENOTRECOVERABLE: c_int = 131;
3699e27ce67STomoaki Kawada 
3709e27ce67STomoaki Kawada pub const ENOTSUP: c_int = 132;
3719e27ce67STomoaki Kawada pub const EFTYPE: c_int = 133;
3729e27ce67STomoaki Kawada 
3739e27ce67STomoaki Kawada // signal codes
3749e27ce67STomoaki Kawada pub const SIGHUP: c_int = 1;
3759e27ce67STomoaki Kawada pub const SIGINT: c_int = 2;
3769e27ce67STomoaki Kawada pub const SIGQUIT: c_int = 3;
3779e27ce67STomoaki Kawada pub const SIGILL: c_int = 4;
3789e27ce67STomoaki Kawada pub const SIGTRAP: c_int = 5;
3799e27ce67STomoaki Kawada pub const SIGABRT: c_int = 6;
3809e27ce67STomoaki Kawada pub const SIGIOT: c_int = SIGABRT;
3819e27ce67STomoaki Kawada pub const SIGEMT: c_int = 7;
3829e27ce67STomoaki Kawada pub const SIGFPE: c_int = 8;
3839e27ce67STomoaki Kawada pub const SIGKILL: c_int = 9;
3849e27ce67STomoaki Kawada pub const SIGBUS: c_int = 10;
3859e27ce67STomoaki Kawada pub const SIGSEGV: c_int = 11;
3869e27ce67STomoaki Kawada pub const SIGSYS: c_int = 12;
3879e27ce67STomoaki Kawada pub const SIGPIPE: c_int = 13;
3889e27ce67STomoaki Kawada pub const SIGALRM: c_int = 14;
3899e27ce67STomoaki Kawada pub const SIGTERM: c_int = 15;
3909e27ce67STomoaki Kawada pub const SIGURG: c_int = 16;
3919e27ce67STomoaki Kawada pub const SIGSTOP: c_int = 17;
3929e27ce67STomoaki Kawada pub const SIGTSTP: c_int = 18;
3939e27ce67STomoaki Kawada pub const SIGCONT: c_int = 19;
3949e27ce67STomoaki Kawada pub const SIGCHLD: c_int = 20;
3959e27ce67STomoaki Kawada pub const SIGTTIN: c_int = 21;
3969e27ce67STomoaki Kawada pub const SIGTTOU: c_int = 22;
3979e27ce67STomoaki Kawada pub const SIGIO: c_int = 23;
3989e27ce67STomoaki Kawada pub const SIGXCPU: c_int = 24;
3999e27ce67STomoaki Kawada pub const SIGXFSZ: c_int = 25;
4009e27ce67STomoaki Kawada pub const SIGVTALRM: c_int = 26;
4019e27ce67STomoaki Kawada pub const SIGPROF: c_int = 27;
4029e27ce67STomoaki Kawada pub const SIGWINCH: c_int = 28;
4039e27ce67STomoaki Kawada pub const SIGINFO: c_int = 29;
4049e27ce67STomoaki Kawada pub const SIGUSR1: c_int = 30;
4059e27ce67STomoaki Kawada pub const SIGUSR2: c_int = 31;
4069e27ce67STomoaki Kawada pub const SIGPWR: c_int = 32;
4079e27ce67STomoaki Kawada 
4089e27ce67STomoaki Kawada #[cfg_attr(feature = "extra_traits", derive(Debug))]
4099e27ce67STomoaki Kawada pub enum FILE {}
4109e27ce67STomoaki Kawada impl ::Copy for FILE {}
4119e27ce67STomoaki Kawada impl ::Clone for FILE {
4129e27ce67STomoaki Kawada     fn clone(&self) -> FILE {
4139e27ce67STomoaki Kawada         *self
4149e27ce67STomoaki Kawada     }
4159e27ce67STomoaki Kawada }
4169e27ce67STomoaki Kawada #[cfg_attr(feature = "extra_traits", derive(Debug))]
4179e27ce67STomoaki Kawada pub enum fpos_t {}
4189e27ce67STomoaki Kawada impl ::Copy for fpos_t {}
4199e27ce67STomoaki Kawada impl ::Clone for fpos_t {
4209e27ce67STomoaki Kawada     fn clone(&self) -> fpos_t {
4219e27ce67STomoaki Kawada         *self
4229e27ce67STomoaki Kawada     }
4239e27ce67STomoaki Kawada }
4249e27ce67STomoaki Kawada 
4259e27ce67STomoaki Kawada extern "C" {
4269e27ce67STomoaki Kawada     // ctype.h
4279e27ce67STomoaki Kawada     pub fn isalnum(c: c_int) -> c_int;
4289e27ce67STomoaki Kawada     pub fn isalpha(c: c_int) -> c_int;
4299e27ce67STomoaki Kawada     pub fn iscntrl(c: c_int) -> c_int;
4309e27ce67STomoaki Kawada     pub fn isdigit(c: c_int) -> c_int;
4319e27ce67STomoaki Kawada     pub fn isgraph(c: c_int) -> c_int;
4329e27ce67STomoaki Kawada     pub fn islower(c: c_int) -> c_int;
4339e27ce67STomoaki Kawada     pub fn isprint(c: c_int) -> c_int;
4349e27ce67STomoaki Kawada     pub fn ispunct(c: c_int) -> c_int;
4359e27ce67STomoaki Kawada     pub fn isspace(c: c_int) -> c_int;
4369e27ce67STomoaki Kawada     pub fn isupper(c: c_int) -> c_int;
4379e27ce67STomoaki Kawada     pub fn isxdigit(c: c_int) -> c_int;
4389e27ce67STomoaki Kawada     pub fn isblank(c: c_int) -> c_int;
4399e27ce67STomoaki Kawada     pub fn tolower(c: c_int) -> c_int;
4409e27ce67STomoaki Kawada     pub fn toupper(c: c_int) -> c_int;
4419e27ce67STomoaki Kawada 
4429e27ce67STomoaki Kawada     // stdio.h
4439e27ce67STomoaki Kawada     pub fn __get_stdio_file(fileno: c_int) -> *mut FILE;
4449e27ce67STomoaki Kawada     pub fn clearerr(arg1: *mut FILE);
4459e27ce67STomoaki Kawada     pub fn fclose(arg1: *mut FILE) -> c_int;
4469e27ce67STomoaki Kawada     pub fn feof(arg1: *mut FILE) -> c_int;
4479e27ce67STomoaki Kawada     pub fn ferror(arg1: *mut FILE) -> c_int;
4489e27ce67STomoaki Kawada     pub fn fflush(arg1: *mut FILE) -> c_int;
4499e27ce67STomoaki Kawada     pub fn fgetc(arg1: *mut FILE) -> c_int;
4509e27ce67STomoaki Kawada     pub fn fgets(arg1: *mut c_char, arg2: c_int, arg3: *mut FILE) -> *mut c_char;
4519e27ce67STomoaki Kawada     pub fn fopen(arg1: *const c_char, arg2: *const c_char) -> *mut FILE;
4529e27ce67STomoaki Kawada     pub fn fprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4539e27ce67STomoaki Kawada     pub fn fputc(arg1: c_int, arg2: *mut FILE) -> c_int;
4549e27ce67STomoaki Kawada     pub fn fputs(arg1: *const c_char, arg2: *mut FILE) -> c_int;
4559e27ce67STomoaki Kawada     pub fn fread(arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
4569e27ce67STomoaki Kawada     pub fn freopen(arg1: *const c_char, arg2: *const c_char, arg3: *mut FILE) -> *mut FILE;
4579e27ce67STomoaki Kawada     pub fn fscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4589e27ce67STomoaki Kawada     pub fn fseek(arg1: *mut FILE, arg2: c_long, arg3: c_int) -> c_int;
4599e27ce67STomoaki Kawada     pub fn ftell(arg1: *mut FILE) -> c_long;
4609e27ce67STomoaki Kawada     pub fn fwrite(arg1: *const c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
4619e27ce67STomoaki Kawada     pub fn getc(arg1: *mut FILE) -> c_int;
4629e27ce67STomoaki Kawada     pub fn getchar() -> c_int;
4639e27ce67STomoaki Kawada     pub fn perror(arg1: *const c_char);
4649e27ce67STomoaki Kawada     pub fn printf(arg1: *const c_char, ...) -> c_int;
4659e27ce67STomoaki Kawada     pub fn putc(arg1: c_int, arg2: *mut FILE) -> c_int;
4669e27ce67STomoaki Kawada     pub fn putchar(arg1: c_int) -> c_int;
4679e27ce67STomoaki Kawada     pub fn puts(arg1: *const c_char) -> c_int;
4689e27ce67STomoaki Kawada     pub fn remove(arg1: *const c_char) -> c_int;
4699e27ce67STomoaki Kawada     pub fn rewind(arg1: *mut FILE);
4709e27ce67STomoaki Kawada     pub fn scanf(arg1: *const c_char, ...) -> c_int;
4719e27ce67STomoaki Kawada     pub fn setbuf(arg1: *mut FILE, arg2: *mut c_char);
4729e27ce67STomoaki Kawada     pub fn setvbuf(arg1: *mut FILE, arg2: *mut c_char, arg3: c_int, arg4: size_t) -> c_int;
4739e27ce67STomoaki Kawada     pub fn sscanf(arg1: *const c_char, arg2: *const c_char, ...) -> c_int;
4749e27ce67STomoaki Kawada     pub fn tmpfile() -> *mut FILE;
4759e27ce67STomoaki Kawada     pub fn ungetc(arg1: c_int, arg2: *mut FILE) -> c_int;
4769e27ce67STomoaki Kawada     pub fn vfprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
4779e27ce67STomoaki Kawada     pub fn vprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
4789e27ce67STomoaki Kawada     pub fn gets(arg1: *mut c_char) -> *mut c_char;
4799e27ce67STomoaki Kawada     pub fn sprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
4809e27ce67STomoaki Kawada     pub fn tmpnam(arg1: *const c_char) -> *mut c_char;
4819e27ce67STomoaki Kawada     pub fn vsprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4829e27ce67STomoaki Kawada     pub fn rename(arg1: *const c_char, arg2: *const c_char) -> c_int;
4839e27ce67STomoaki Kawada     pub fn asiprintf(arg1: *mut *mut c_char, arg2: *const c_char, ...) -> c_int;
4849e27ce67STomoaki Kawada     pub fn fiprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4859e27ce67STomoaki Kawada     pub fn fiscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4869e27ce67STomoaki Kawada     pub fn iprintf(arg1: *const c_char, ...) -> c_int;
4879e27ce67STomoaki Kawada     pub fn iscanf(arg1: *const c_char, ...) -> c_int;
4889e27ce67STomoaki Kawada     pub fn siprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
4899e27ce67STomoaki Kawada     pub fn siscanf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
4909e27ce67STomoaki Kawada     pub fn sniprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
4919e27ce67STomoaki Kawada     pub fn vasiprintf(arg1: *mut *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4929e27ce67STomoaki Kawada     pub fn vfiprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
4939e27ce67STomoaki Kawada     pub fn vfiscanf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
4949e27ce67STomoaki Kawada     pub fn viprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
4959e27ce67STomoaki Kawada     pub fn viscanf(arg1: *const c_char, arg2: __va_list) -> c_int;
4969e27ce67STomoaki Kawada     pub fn vsiprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4979e27ce67STomoaki Kawada     pub fn vsiscanf(arg1: *const c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4989e27ce67STomoaki Kawada     pub fn vsniprintf(
4999e27ce67STomoaki Kawada         arg1: *mut c_char,
5009e27ce67STomoaki Kawada         arg2: size_t,
5019e27ce67STomoaki Kawada         arg3: *const c_char,
5029e27ce67STomoaki Kawada         arg4: __va_list,
5039e27ce67STomoaki Kawada     ) -> c_int;
5049e27ce67STomoaki Kawada     pub fn vdiprintf(arg1: c_int, arg2: *const c_char, arg3: __va_list) -> c_int;
5059e27ce67STomoaki Kawada     pub fn diprintf(arg1: c_int, arg2: *const c_char, ...) -> c_int;
5069e27ce67STomoaki Kawada     pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> c_int;
5079e27ce67STomoaki Kawada     pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> c_int;
5089e27ce67STomoaki Kawada     pub fn fdopen(arg1: c_int, arg2: *const c_char) -> *mut FILE;
5099e27ce67STomoaki Kawada     pub fn fileno(arg1: *mut FILE) -> c_int;
5109e27ce67STomoaki Kawada     pub fn flockfile(arg1: *mut FILE);
5119e27ce67STomoaki Kawada     pub fn ftrylockfile(arg1: *mut FILE) -> c_int;
5129e27ce67STomoaki Kawada     pub fn funlockfile(arg1: *mut FILE);
5139e27ce67STomoaki Kawada     pub fn getc_unlocked(arg1: *mut FILE) -> c_int;
5149e27ce67STomoaki Kawada     pub fn getchar_unlocked() -> c_int;
5159e27ce67STomoaki Kawada     pub fn putc_unlocked(arg1: c_int, arg2: *mut FILE) -> c_int;
5169e27ce67STomoaki Kawada     pub fn putchar_unlocked(arg1: c_int) -> c_int;
5179e27ce67STomoaki Kawada     pub fn snprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
5189e27ce67STomoaki Kawada     pub fn vsnprintf(
5199e27ce67STomoaki Kawada         arg1: *mut c_char,
5209e27ce67STomoaki Kawada         arg2: size_t,
5219e27ce67STomoaki Kawada         arg3: *const c_char,
5229e27ce67STomoaki Kawada         arg4: __va_list,
5239e27ce67STomoaki Kawada     ) -> c_int;
5249e27ce67STomoaki Kawada     pub fn getw(arg1: *mut FILE) -> c_int;
5259e27ce67STomoaki Kawada     pub fn putw(arg1: c_int, arg2: *mut FILE) -> c_int;
5269e27ce67STomoaki Kawada     pub fn tempnam(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
5279e27ce67STomoaki Kawada     pub fn fseeko(stream: *mut FILE, offset: off_t, whence: c_int) -> c_int;
5289e27ce67STomoaki Kawada     pub fn ftello(stream: *mut FILE) -> off_t;
5299e27ce67STomoaki Kawada 
5309e27ce67STomoaki Kawada     // stdlib.h
5319e27ce67STomoaki Kawada     pub fn atof(arg1: *const c_char) -> f64;
5329e27ce67STomoaki Kawada     pub fn strtod(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
5339e27ce67STomoaki Kawada     pub fn drand48() -> f64;
5349e27ce67STomoaki Kawada     pub fn erand48(arg1: *mut c_ushort) -> f64;
5359e27ce67STomoaki Kawada     pub fn strtof(arg1: *const c_char, arg2: *mut *mut c_char) -> f32;
5369e27ce67STomoaki Kawada     pub fn strtold(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
5379e27ce67STomoaki Kawada     pub fn strtod_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
5389e27ce67STomoaki Kawada     pub fn strtof_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f32;
5399e27ce67STomoaki Kawada     pub fn strtold_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
540c5c8f593STomoaki Kawada     pub fn _Exit(arg1: c_int) -> !;
541c5c8f593STomoaki Kawada     pub fn abort() -> !;
5429e27ce67STomoaki Kawada     pub fn abs(arg1: c_int) -> c_int;
5439e27ce67STomoaki Kawada     pub fn atexit(arg1: ::Option<unsafe extern "C" fn()>) -> c_int;
5449e27ce67STomoaki Kawada     pub fn atoi(arg1: *const c_char) -> c_int;
5459e27ce67STomoaki Kawada     pub fn atol(arg1: *const c_char) -> c_long;
5469e27ce67STomoaki Kawada     pub fn itoa(arg1: c_int, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
5479e27ce67STomoaki Kawada     pub fn ltoa(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
5489e27ce67STomoaki Kawada     pub fn ultoa(arg1: c_ulong, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
5499e27ce67STomoaki Kawada     pub fn bsearch(
5509e27ce67STomoaki Kawada         arg1: *const c_void,
5519e27ce67STomoaki Kawada         arg2: *const c_void,
5529e27ce67STomoaki Kawada         arg3: size_t,
5539e27ce67STomoaki Kawada         arg4: size_t,
5549e27ce67STomoaki Kawada         arg5: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
5559e27ce67STomoaki Kawada     ) -> *mut c_void;
5569e27ce67STomoaki Kawada     pub fn calloc(arg1: size_t, arg2: size_t) -> *mut c_void;
5579e27ce67STomoaki Kawada     pub fn div(arg1: c_int, arg2: c_int) -> div_t;
558c5c8f593STomoaki Kawada     pub fn exit(arg1: c_int) -> !;
5599e27ce67STomoaki Kawada     pub fn free(arg1: *mut c_void);
5609e27ce67STomoaki Kawada     pub fn getenv(arg1: *const c_char) -> *mut c_char;
5619e27ce67STomoaki Kawada     pub fn labs(arg1: c_long) -> c_long;
5629e27ce67STomoaki Kawada     pub fn ldiv(arg1: c_long, arg2: c_long) -> ldiv_t;
5639e27ce67STomoaki Kawada     pub fn malloc(arg1: size_t) -> *mut c_void;
5649e27ce67STomoaki Kawada     pub fn qsort(
5659e27ce67STomoaki Kawada         arg1: *mut c_void,
5669e27ce67STomoaki Kawada         arg2: size_t,
5679e27ce67STomoaki Kawada         arg3: size_t,
5689e27ce67STomoaki Kawada         arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
5699e27ce67STomoaki Kawada     );
5709e27ce67STomoaki Kawada     pub fn rand() -> c_int;
5719e27ce67STomoaki Kawada     pub fn realloc(arg1: *mut c_void, arg2: size_t) -> *mut c_void;
5729e27ce67STomoaki Kawada     pub fn srand(arg1: c_uint);
5739e27ce67STomoaki Kawada     pub fn strtol(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_long;
5749e27ce67STomoaki Kawada     pub fn strtoul(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulong;
5759e27ce67STomoaki Kawada     pub fn mblen(arg1: *const c_char, arg2: size_t) -> c_int;
5769e27ce67STomoaki Kawada     pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> size_t;
5779e27ce67STomoaki Kawada     pub fn wctomb(arg1: *mut c_char, arg2: wchar_t) -> c_int;
5789e27ce67STomoaki Kawada     pub fn mbtowc(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> c_int;
5799e27ce67STomoaki Kawada     pub fn wcstombs(arg1: *mut c_char, arg2: *const wchar_t, arg3: size_t) -> size_t;
5809e27ce67STomoaki Kawada     pub fn rand_r(arg1: *mut c_uint) -> c_int;
5819e27ce67STomoaki Kawada     pub fn jrand48(arg1: *mut c_ushort) -> c_long;
5829e27ce67STomoaki Kawada     pub fn lcong48(arg1: *mut c_ushort);
5839e27ce67STomoaki Kawada     pub fn lrand48() -> c_long;
5849e27ce67STomoaki Kawada     pub fn mrand48() -> c_long;
5859e27ce67STomoaki Kawada     pub fn nrand48(arg1: *mut c_ushort) -> c_long;
5869e27ce67STomoaki Kawada     pub fn seed48(arg1: *mut c_ushort) -> *mut c_ushort;
5879e27ce67STomoaki Kawada     pub fn srand48(arg1: c_long);
5889e27ce67STomoaki Kawada     pub fn putenv(arg1: *mut c_char) -> c_int;
5899e27ce67STomoaki Kawada     pub fn a64l(arg1: *const c_char) -> c_long;
5909e27ce67STomoaki Kawada     pub fn l64a(arg1: c_long) -> *mut c_char;
5919e27ce67STomoaki Kawada     pub fn random() -> c_long;
5929e27ce67STomoaki Kawada     pub fn setstate(arg1: *mut c_char) -> *mut c_char;
5939e27ce67STomoaki Kawada     pub fn initstate(arg1: c_uint, arg2: *mut c_char, arg3: size_t) -> *mut c_char;
5949e27ce67STomoaki Kawada     pub fn srandom(arg1: c_uint);
5959e27ce67STomoaki Kawada     pub fn mkostemp(arg1: *mut c_char, arg2: c_int) -> c_int;
5969e27ce67STomoaki Kawada     pub fn mkostemps(arg1: *mut c_char, arg2: c_int, arg3: c_int) -> c_int;
5979e27ce67STomoaki Kawada     pub fn mkdtemp(arg1: *mut c_char) -> *mut c_char;
5989e27ce67STomoaki Kawada     pub fn mkstemp(arg1: *mut c_char) -> c_int;
5999e27ce67STomoaki Kawada     pub fn mktemp(arg1: *mut c_char) -> *mut c_char;
6009e27ce67STomoaki Kawada     pub fn atoll(arg1: *const c_char) -> c_longlong;
6019e27ce67STomoaki Kawada     pub fn llabs(arg1: c_longlong) -> c_longlong;
6029e27ce67STomoaki Kawada     pub fn lldiv(arg1: c_longlong, arg2: c_longlong) -> lldiv_t;
6039e27ce67STomoaki Kawada     pub fn strtoll(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_longlong;
6049e27ce67STomoaki Kawada     pub fn strtoull(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulonglong;
6059e27ce67STomoaki Kawada     pub fn aligned_alloc(arg1: size_t, arg2: size_t) -> *mut c_void;
6069e27ce67STomoaki Kawada     pub fn at_quick_exit(arg1: ::Option<unsafe extern "C" fn()>) -> c_int;
6079e27ce67STomoaki Kawada     pub fn quick_exit(arg1: c_int);
6089e27ce67STomoaki Kawada     pub fn setenv(arg1: *const c_char, arg2: *const c_char, arg3: c_int) -> c_int;
6099e27ce67STomoaki Kawada     pub fn unsetenv(arg1: *const c_char) -> c_int;
6109e27ce67STomoaki Kawada     pub fn humanize_number(
6119e27ce67STomoaki Kawada         arg1: *mut c_char,
6129e27ce67STomoaki Kawada         arg2: size_t,
6139e27ce67STomoaki Kawada         arg3: i64,
6149e27ce67STomoaki Kawada         arg4: *const c_char,
6159e27ce67STomoaki Kawada         arg5: c_int,
6169e27ce67STomoaki Kawada         arg6: c_int,
6179e27ce67STomoaki Kawada     ) -> c_int;
6189e27ce67STomoaki Kawada     pub fn dehumanize_number(arg1: *const c_char, arg2: *mut i64) -> c_int;
6199e27ce67STomoaki Kawada     pub fn getenv_r(arg1: *const c_char, arg2: *mut c_char, arg3: size_t) -> c_int;
6209e27ce67STomoaki Kawada     pub fn heapsort(
6219e27ce67STomoaki Kawada         arg1: *mut c_void,
6229e27ce67STomoaki Kawada         arg2: size_t,
6239e27ce67STomoaki Kawada         arg3: size_t,
6249e27ce67STomoaki Kawada         arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
6259e27ce67STomoaki Kawada     ) -> c_int;
6269e27ce67STomoaki Kawada     pub fn mergesort(
6279e27ce67STomoaki Kawada         arg1: *mut c_void,
6289e27ce67STomoaki Kawada         arg2: size_t,
6299e27ce67STomoaki Kawada         arg3: size_t,
6309e27ce67STomoaki Kawada         arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
6319e27ce67STomoaki Kawada     ) -> c_int;
6329e27ce67STomoaki Kawada     pub fn radixsort(
6339e27ce67STomoaki Kawada         arg1: *mut *const c_uchar,
6349e27ce67STomoaki Kawada         arg2: c_int,
6359e27ce67STomoaki Kawada         arg3: *const c_uchar,
6369e27ce67STomoaki Kawada         arg4: c_uint,
6379e27ce67STomoaki Kawada     ) -> c_int;
6389e27ce67STomoaki Kawada     pub fn sradixsort(
6399e27ce67STomoaki Kawada         arg1: *mut *const c_uchar,
6409e27ce67STomoaki Kawada         arg2: c_int,
6419e27ce67STomoaki Kawada         arg3: *const c_uchar,
6429e27ce67STomoaki Kawada         arg4: c_uint,
6439e27ce67STomoaki Kawada     ) -> c_int;
6449e27ce67STomoaki Kawada     pub fn getprogname() -> *const c_char;
6459e27ce67STomoaki Kawada     pub fn setprogname(arg1: *const c_char);
6469e27ce67STomoaki Kawada     pub fn qabs(arg1: quad_t) -> quad_t;
6479e27ce67STomoaki Kawada     pub fn strtoq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> quad_t;
6489e27ce67STomoaki Kawada     pub fn strtouq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> u_quad_t;
6499e27ce67STomoaki Kawada     pub fn strsuftoll(
6509e27ce67STomoaki Kawada         arg1: *const c_char,
6519e27ce67STomoaki Kawada         arg2: *const c_char,
6529e27ce67STomoaki Kawada         arg3: c_longlong,
6539e27ce67STomoaki Kawada         arg4: c_longlong,
6549e27ce67STomoaki Kawada     ) -> c_longlong;
6559e27ce67STomoaki Kawada     pub fn strsuftollx(
6569e27ce67STomoaki Kawada         arg1: *const c_char,
6579e27ce67STomoaki Kawada         arg2: *const c_char,
6589e27ce67STomoaki Kawada         arg3: c_longlong,
6599e27ce67STomoaki Kawada         arg4: c_longlong,
6609e27ce67STomoaki Kawada         arg5: *mut c_char,
6619e27ce67STomoaki Kawada         arg6: size_t,
6629e27ce67STomoaki Kawada     ) -> c_longlong;
6639e27ce67STomoaki Kawada     pub fn l64a_r(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> c_int;
6649e27ce67STomoaki Kawada     pub fn qdiv(arg1: quad_t, arg2: quad_t) -> qdiv_t;
6659e27ce67STomoaki Kawada     pub fn strtol_l(
6669e27ce67STomoaki Kawada         arg1: *const c_char,
6679e27ce67STomoaki Kawada         arg2: *mut *mut c_char,
6689e27ce67STomoaki Kawada         arg3: c_int,
6699e27ce67STomoaki Kawada         arg4: locale_t,
6709e27ce67STomoaki Kawada     ) -> c_long;
6719e27ce67STomoaki Kawada     pub fn strtoul_l(
6729e27ce67STomoaki Kawada         arg1: *const c_char,
6739e27ce67STomoaki Kawada         arg2: *mut *mut c_char,
6749e27ce67STomoaki Kawada         arg3: c_int,
6759e27ce67STomoaki Kawada         arg4: locale_t,
6769e27ce67STomoaki Kawada     ) -> c_ulong;
6779e27ce67STomoaki Kawada     pub fn strtoll_l(
6789e27ce67STomoaki Kawada         arg1: *const c_char,
6799e27ce67STomoaki Kawada         arg2: *mut *mut c_char,
6809e27ce67STomoaki Kawada         arg3: c_int,
6819e27ce67STomoaki Kawada         arg4: locale_t,
6829e27ce67STomoaki Kawada     ) -> c_longlong;
6839e27ce67STomoaki Kawada     pub fn strtoull_l(
6849e27ce67STomoaki Kawada         arg1: *const c_char,
6859e27ce67STomoaki Kawada         arg2: *mut *mut c_char,
6869e27ce67STomoaki Kawada         arg3: c_int,
6879e27ce67STomoaki Kawada         arg4: locale_t,
6889e27ce67STomoaki Kawada     ) -> c_ulonglong;
6899e27ce67STomoaki Kawada     pub fn strtoq_l(
6909e27ce67STomoaki Kawada         arg1: *const c_char,
6919e27ce67STomoaki Kawada         arg2: *mut *mut c_char,
6929e27ce67STomoaki Kawada         arg3: c_int,
6939e27ce67STomoaki Kawada         arg4: locale_t,
6949e27ce67STomoaki Kawada     ) -> quad_t;
6959e27ce67STomoaki Kawada     pub fn strtouq_l(
6969e27ce67STomoaki Kawada         arg1: *const c_char,
6979e27ce67STomoaki Kawada         arg2: *mut *mut c_char,
6989e27ce67STomoaki Kawada         arg3: c_int,
6999e27ce67STomoaki Kawada         arg4: locale_t,
7009e27ce67STomoaki Kawada     ) -> u_quad_t;
7019e27ce67STomoaki Kawada     pub fn _mb_cur_max_l(arg1: locale_t) -> size_t;
7029e27ce67STomoaki Kawada     pub fn mblen_l(arg1: *const c_char, arg2: size_t, arg3: locale_t) -> c_int;
7039e27ce67STomoaki Kawada     pub fn mbstowcs_l(
7049e27ce67STomoaki Kawada         arg1: *mut wchar_t,
7059e27ce67STomoaki Kawada         arg2: *const c_char,
7069e27ce67STomoaki Kawada         arg3: size_t,
7079e27ce67STomoaki Kawada         arg4: locale_t,
7089e27ce67STomoaki Kawada     ) -> size_t;
7099e27ce67STomoaki Kawada     pub fn wctomb_l(arg1: *mut c_char, arg2: wchar_t, arg3: locale_t) -> c_int;
7109e27ce67STomoaki Kawada     pub fn mbtowc_l(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t, arg4: locale_t)
7119e27ce67STomoaki Kawada         -> c_int;
7129e27ce67STomoaki Kawada     pub fn wcstombs_l(
7139e27ce67STomoaki Kawada         arg1: *mut c_char,
7149e27ce67STomoaki Kawada         arg2: *const wchar_t,
7159e27ce67STomoaki Kawada         arg3: size_t,
7169e27ce67STomoaki Kawada         arg4: locale_t,
7179e27ce67STomoaki Kawada     ) -> size_t;
7189e27ce67STomoaki Kawada 
7199e27ce67STomoaki Kawada     // string.h
7209e27ce67STomoaki Kawada     pub fn memchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7219e27ce67STomoaki Kawada     pub fn memcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
7229e27ce67STomoaki Kawada     pub fn memcpy(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
7239e27ce67STomoaki Kawada     pub fn memmove(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
7249e27ce67STomoaki Kawada     pub fn memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7259e27ce67STomoaki Kawada     pub fn strcat(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7269e27ce67STomoaki Kawada     pub fn strchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
7279e27ce67STomoaki Kawada     pub fn strcmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
7289e27ce67STomoaki Kawada     pub fn strcoll(arg1: *const c_char, arg2: *const c_char) -> c_int;
7299e27ce67STomoaki Kawada     pub fn strcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7309e27ce67STomoaki Kawada     pub fn strcspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
7319e27ce67STomoaki Kawada     pub fn strerror(arg1: c_int) -> *mut c_char;
7329e27ce67STomoaki Kawada     pub fn strlen(arg1: *const c_char) -> size_t;
7339e27ce67STomoaki Kawada     pub fn strncat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
7349e27ce67STomoaki Kawada     pub fn strncmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
7359e27ce67STomoaki Kawada     pub fn strncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
7369e27ce67STomoaki Kawada     pub fn strpbrk(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
7379e27ce67STomoaki Kawada     pub fn strrchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
7389e27ce67STomoaki Kawada     pub fn strspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
7399e27ce67STomoaki Kawada     pub fn strstr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
7409e27ce67STomoaki Kawada     pub fn strtok(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7419e27ce67STomoaki Kawada     pub fn strtok_r(arg1: *mut c_char, arg2: *const c_char, arg3: *mut *mut c_char) -> *mut c_char;
7429e27ce67STomoaki Kawada     pub fn strerror_r(arg1: c_int, arg2: *mut c_char, arg3: size_t) -> c_int;
7439e27ce67STomoaki Kawada     pub fn strxfrm(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
7449e27ce67STomoaki Kawada     pub fn memccpy(
7459e27ce67STomoaki Kawada         arg1: *mut c_void,
7469e27ce67STomoaki Kawada         arg2: *const c_void,
7479e27ce67STomoaki Kawada         arg3: c_int,
7489e27ce67STomoaki Kawada         arg4: size_t,
7499e27ce67STomoaki Kawada     ) -> *mut c_void;
7509e27ce67STomoaki Kawada     pub fn strdup(arg1: *const c_char) -> *mut c_char;
7519e27ce67STomoaki Kawada     pub fn stpcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7529e27ce67STomoaki Kawada     pub fn stpncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
7539e27ce67STomoaki Kawada     pub fn strnlen(arg1: *const c_char, arg2: size_t) -> size_t;
7549e27ce67STomoaki Kawada     pub fn memmem(
7559e27ce67STomoaki Kawada         arg1: *const c_void,
7569e27ce67STomoaki Kawada         arg2: size_t,
7579e27ce67STomoaki Kawada         arg3: *const c_void,
7589e27ce67STomoaki Kawada         arg4: size_t,
7599e27ce67STomoaki Kawada     ) -> *mut c_void;
7609e27ce67STomoaki Kawada     pub fn strcasestr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
7619e27ce67STomoaki Kawada     pub fn strlcat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
7629e27ce67STomoaki Kawada     pub fn strlcpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
7639e27ce67STomoaki Kawada     pub fn strsep(arg1: *mut *mut c_char, arg2: *const c_char) -> *mut c_char;
7649e27ce67STomoaki Kawada     pub fn stresep(arg1: *mut *mut c_char, arg2: *const c_char, arg3: c_int) -> *mut c_char;
7659e27ce67STomoaki Kawada     pub fn strndup(arg1: *const c_char, arg2: size_t) -> *mut c_char;
7669e27ce67STomoaki Kawada     pub fn memrchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7679e27ce67STomoaki Kawada     pub fn explicit_memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7689e27ce67STomoaki Kawada     pub fn consttime_memequal(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
7699e27ce67STomoaki Kawada     pub fn strcoll_l(arg1: *const c_char, arg2: *const c_char, arg3: locale_t) -> c_int;
7709e27ce67STomoaki Kawada     pub fn strxfrm_l(
7719e27ce67STomoaki Kawada         arg1: *mut c_char,
7729e27ce67STomoaki Kawada         arg2: *const c_char,
7739e27ce67STomoaki Kawada         arg3: size_t,
7749e27ce67STomoaki Kawada         arg4: locale_t,
7759e27ce67STomoaki Kawada     ) -> size_t;
7769e27ce67STomoaki Kawada     pub fn strerror_l(arg1: c_int, arg2: locale_t) -> *mut c_char;
7779e27ce67STomoaki Kawada 
7789e27ce67STomoaki Kawada     // strings.h
7799e27ce67STomoaki Kawada     pub fn bcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
7809e27ce67STomoaki Kawada     pub fn bcopy(arg1: *const c_void, arg2: *mut c_void, arg3: size_t);
7819e27ce67STomoaki Kawada     pub fn bzero(arg1: *mut c_void, arg2: size_t);
7829e27ce67STomoaki Kawada     pub fn ffs(arg1: c_int) -> c_int;
7839e27ce67STomoaki Kawada     pub fn popcount(arg1: c_uint) -> c_uint;
7849e27ce67STomoaki Kawada     pub fn popcountl(arg1: c_ulong) -> c_uint;
7859e27ce67STomoaki Kawada     pub fn popcountll(arg1: c_ulonglong) -> c_uint;
7869e27ce67STomoaki Kawada     pub fn popcount32(arg1: u32) -> c_uint;
7879e27ce67STomoaki Kawada     pub fn popcount64(arg1: u64) -> c_uint;
7889e27ce67STomoaki Kawada     pub fn rindex(arg1: *const c_char, arg2: c_int) -> *mut c_char;
7899e27ce67STomoaki Kawada     pub fn strcasecmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
7909e27ce67STomoaki Kawada     pub fn strncasecmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
7919e27ce67STomoaki Kawada 
7929e27ce67STomoaki Kawada     // signal.h
7939e27ce67STomoaki Kawada     pub fn signal(arg1: c_int, arg2: sighandler_t) -> sighandler_t;
7949e27ce67STomoaki Kawada     pub fn raise(arg1: c_int) -> c_int;
7959e27ce67STomoaki Kawada 
7969e27ce67STomoaki Kawada     // time.h
7979e27ce67STomoaki Kawada     pub fn asctime(arg1: *const tm) -> *mut c_char;
7989e27ce67STomoaki Kawada     pub fn clock() -> clock_t;
7999e27ce67STomoaki Kawada     pub fn ctime(arg1: *const time_t) -> *mut c_char;
8009e27ce67STomoaki Kawada     pub fn difftime(arg1: time_t, arg2: time_t) -> f64;
8019e27ce67STomoaki Kawada     pub fn gmtime(arg1: *const time_t) -> *mut tm;
8029e27ce67STomoaki Kawada     pub fn localtime(arg1: *const time_t) -> *mut tm;
8039e27ce67STomoaki Kawada     pub fn time(arg1: *mut time_t) -> time_t;
8049e27ce67STomoaki Kawada     pub fn mktime(arg1: *mut tm) -> time_t;
8059e27ce67STomoaki Kawada     pub fn strftime(
8069e27ce67STomoaki Kawada         arg1: *mut c_char,
8079e27ce67STomoaki Kawada         arg2: size_t,
8089e27ce67STomoaki Kawada         arg3: *const c_char,
8099e27ce67STomoaki Kawada         arg4: *const tm,
8109e27ce67STomoaki Kawada     ) -> size_t;
8119e27ce67STomoaki Kawada     pub fn utime(arg1: *const c_char, arg2: *mut time_t) -> c_int;
8129e27ce67STomoaki Kawada     pub fn asctime_r(arg1: *const tm, arg2: *mut c_char) -> *mut c_char;
8139e27ce67STomoaki Kawada     pub fn ctime_r(arg1: *const time_t, arg2: *mut c_char) -> *mut c_char;
8149e27ce67STomoaki Kawada     pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
8159e27ce67STomoaki Kawada     pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
8169e27ce67STomoaki Kawada 
8179e27ce67STomoaki Kawada     // sys/stat.h
8189e27ce67STomoaki Kawada     pub fn stat(arg1: *const c_char, arg2: *mut stat) -> c_int;
8199e27ce67STomoaki Kawada     pub fn lstat(arg1: *const c_char, arg2: *mut stat) -> c_int;
8209e27ce67STomoaki Kawada     pub fn fstat(arg1: c_int, arg2: *mut stat) -> c_int;
8219e27ce67STomoaki Kawada     pub fn chmod(arg1: *const c_char, arg2: __mode_t) -> c_int;
8229e27ce67STomoaki Kawada     pub fn mkdir(arg1: *const c_char, arg2: __mode_t) -> c_int;
8239e27ce67STomoaki Kawada 
8249e27ce67STomoaki Kawada     // fcntl.h
8259e27ce67STomoaki Kawada     pub fn open(arg1: *const c_char, arg2: c_int, ...) -> c_int;
8269e27ce67STomoaki Kawada     pub fn creat(arg1: *const c_char, arg2: c_int) -> c_int;
8279e27ce67STomoaki Kawada     pub fn close(arg1: c_int) -> c_int;
8289e27ce67STomoaki Kawada     pub fn read(arg1: c_int, arg2: *mut c_void, arg3: c_int) -> c_int;
8299e27ce67STomoaki Kawada     pub fn write(arg1: c_int, arg2: *const c_void, arg3: c_int) -> c_int;
8309e27ce67STomoaki Kawada     pub fn unlink(arg1: *const c_char) -> c_int;
8319e27ce67STomoaki Kawada     pub fn tell(arg1: c_int) -> c_long;
8329e27ce67STomoaki Kawada     pub fn dup(arg1: c_int) -> c_int;
8339e27ce67STomoaki Kawada     pub fn dup2(arg1: c_int, arg2: c_int) -> c_int;
8349e27ce67STomoaki Kawada     pub fn access(arg1: *const c_char, arg2: c_int) -> c_int;
8359e27ce67STomoaki Kawada     pub fn rmdir(arg1: *const c_char) -> c_int;
8369e27ce67STomoaki Kawada     pub fn chdir(arg1: *const c_char) -> c_int;
8379e27ce67STomoaki Kawada     pub fn _exit(arg1: c_int);
8389e27ce67STomoaki Kawada     pub fn getwd(arg1: *mut c_char) -> *mut c_char;
8399e27ce67STomoaki Kawada     pub fn getcwd(arg1: *mut c_char, arg2: size_t) -> *mut c_char;
8409e27ce67STomoaki Kawada     pub static mut optarg: *mut c_char;
8419e27ce67STomoaki Kawada     pub static mut opterr: c_int;
8429e27ce67STomoaki Kawada     pub static mut optind: c_int;
8439e27ce67STomoaki Kawada     pub static mut optopt: c_int;
8449e27ce67STomoaki Kawada     pub static mut optreset: c_int;
8459e27ce67STomoaki Kawada     pub fn getopt(arg1: c_int, arg2: *mut *mut c_char, arg3: *const c_char) -> c_int;
8469e27ce67STomoaki Kawada     pub static mut suboptarg: *mut c_char;
8479e27ce67STomoaki Kawada     pub fn getsubopt(
8489e27ce67STomoaki Kawada         arg1: *mut *mut c_char,
8499e27ce67STomoaki Kawada         arg2: *const *mut c_char,
8509e27ce67STomoaki Kawada         arg3: *mut *mut c_char,
8519e27ce67STomoaki Kawada     ) -> c_int;
8529e27ce67STomoaki Kawada     pub fn fcntl(arg1: c_int, arg2: c_int, ...) -> c_int;
8539e27ce67STomoaki Kawada     pub fn getpid() -> pid_t;
8549e27ce67STomoaki Kawada     pub fn sleep(arg1: c_uint) -> c_uint;
8559e27ce67STomoaki Kawada     pub fn usleep(arg1: useconds_t) -> c_int;
8569e27ce67STomoaki Kawada 
8579e27ce67STomoaki Kawada     // locale.h
8589e27ce67STomoaki Kawada     pub fn localeconv() -> *mut lconv;
8599e27ce67STomoaki Kawada     pub fn setlocale(arg1: c_int, arg2: *const c_char) -> *mut c_char;
8609e27ce67STomoaki Kawada     pub fn duplocale(arg1: locale_t) -> locale_t;
8619e27ce67STomoaki Kawada     pub fn freelocale(arg1: locale_t);
8629e27ce67STomoaki Kawada     pub fn localeconv_l(arg1: locale_t) -> *mut lconv;
8639e27ce67STomoaki Kawada     pub fn newlocale(arg1: c_int, arg2: *const c_char, arg3: locale_t) -> locale_t;
8649e27ce67STomoaki Kawada 
8659e27ce67STomoaki Kawada     // langinfo.h
8669e27ce67STomoaki Kawada     pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
8679e27ce67STomoaki Kawada     pub fn nl_langinfo_l(item: ::nl_item, locale: locale_t) -> *mut ::c_char;
8689e27ce67STomoaki Kawada 
8699e27ce67STomoaki Kawada     // malloc.h
8709e27ce67STomoaki Kawada     pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
8719e27ce67STomoaki Kawada 
8729e27ce67STomoaki Kawada     // sys/types.h
8739e27ce67STomoaki Kawada     pub fn lseek(arg1: c_int, arg2: __off_t, arg3: c_int) -> __off_t;
8749e27ce67STomoaki Kawada }
8759e27ce67STomoaki Kawada 
8769e27ce67STomoaki Kawada cfg_if! {
8779e27ce67STomoaki Kawada     if #[cfg(target_arch = "aarch64")] {
8789e27ce67STomoaki Kawada         mod aarch64;
8799e27ce67STomoaki Kawada         pub use self::aarch64::*;
8809e27ce67STomoaki Kawada     } else if #[cfg(any(target_arch = "arm"))] {
8819e27ce67STomoaki Kawada         mod arm;
8829e27ce67STomoaki Kawada         pub use self::arm::*;
8839e27ce67STomoaki Kawada     } else {
8849e27ce67STomoaki Kawada         // Unknown target_arch
8859e27ce67STomoaki Kawada     }
8869e27ce67STomoaki Kawada }
887