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