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