12add0d91Sopenharmony_ci//! Interface to the [SOLID] C library
22add0d91Sopenharmony_ci//!
32add0d91Sopenharmony_ci//! [SOLID]: https://solid.kmckk.com/
42add0d91Sopenharmony_ci
52add0d91Sopenharmony_cipub type c_schar = i8;
62add0d91Sopenharmony_cipub type c_uchar = u8;
72add0d91Sopenharmony_cipub type c_short = i16;
82add0d91Sopenharmony_cipub type c_ushort = u16;
92add0d91Sopenharmony_cipub type c_int = i32;
102add0d91Sopenharmony_cipub type c_uint = u32;
112add0d91Sopenharmony_cipub type c_float = f32;
122add0d91Sopenharmony_cipub type c_double = f64;
132add0d91Sopenharmony_cipub type c_longlong = i64;
142add0d91Sopenharmony_cipub type c_ulonglong = u64;
152add0d91Sopenharmony_cipub type intmax_t = i64;
162add0d91Sopenharmony_cipub type uintmax_t = u64;
172add0d91Sopenharmony_ci
182add0d91Sopenharmony_cipub type uintptr_t = usize;
192add0d91Sopenharmony_cipub type intptr_t = isize;
202add0d91Sopenharmony_cipub type ptrdiff_t = isize;
212add0d91Sopenharmony_cipub type size_t = ::uintptr_t;
222add0d91Sopenharmony_cipub type ssize_t = ::intptr_t;
232add0d91Sopenharmony_ci
242add0d91Sopenharmony_cipub type clock_t = c_uint;
252add0d91Sopenharmony_cipub type time_t = i64;
262add0d91Sopenharmony_cipub type clockid_t = c_int;
272add0d91Sopenharmony_cipub type timer_t = c_int;
282add0d91Sopenharmony_cipub type suseconds_t = c_int;
292add0d91Sopenharmony_cipub type useconds_t = c_uint;
302add0d91Sopenharmony_ci
312add0d91Sopenharmony_cipub type sighandler_t = size_t;
322add0d91Sopenharmony_ci
332add0d91Sopenharmony_ci// sys/ansi.h
342add0d91Sopenharmony_cipub type __caddr_t = *mut c_char;
352add0d91Sopenharmony_cipub type __gid_t = u32;
362add0d91Sopenharmony_cipub type __in_addr_t = u32;
372add0d91Sopenharmony_cipub type __in_port_t = u16;
382add0d91Sopenharmony_cipub type __mode_t = u32;
392add0d91Sopenharmony_cipub type __off_t = i64;
402add0d91Sopenharmony_cipub type __pid_t = i32;
412add0d91Sopenharmony_cipub type __sa_family_t = u8;
422add0d91Sopenharmony_cipub type __socklen_t = c_uint;
432add0d91Sopenharmony_cipub type __uid_t = u32;
442add0d91Sopenharmony_cipub type __fsblkcnt_t = u64;
452add0d91Sopenharmony_cipub type __fsfilcnt_t = u64;
462add0d91Sopenharmony_ci
472add0d91Sopenharmony_ci// locale.h
482add0d91Sopenharmony_cipub type locale_t = usize;
492add0d91Sopenharmony_ci
502add0d91Sopenharmony_ci// nl_types.h
512add0d91Sopenharmony_cipub type nl_item = c_long;
522add0d91Sopenharmony_ci
532add0d91Sopenharmony_ci// sys/types.h
542add0d91Sopenharmony_cipub type __va_list = *mut c_char;
552add0d91Sopenharmony_cipub type u_int8_t = u8;
562add0d91Sopenharmony_cipub type u_int16_t = u16;
572add0d91Sopenharmony_cipub type u_int32_t = u32;
582add0d91Sopenharmony_cipub type u_int64_t = u64;
592add0d91Sopenharmony_cipub type u_char = c_uchar;
602add0d91Sopenharmony_cipub type u_short = c_ushort;
612add0d91Sopenharmony_cipub type u_int = c_uint;
622add0d91Sopenharmony_cipub type u_long = c_ulong;
632add0d91Sopenharmony_cipub type unchar = c_uchar;
642add0d91Sopenharmony_cipub type ushort = c_ushort;
652add0d91Sopenharmony_cipub type uint = c_uint;
662add0d91Sopenharmony_cipub type ulong = c_ulong;
672add0d91Sopenharmony_cipub type u_quad_t = u64;
682add0d91Sopenharmony_cipub type quad_t = i64;
692add0d91Sopenharmony_cipub type qaddr_t = *mut quad_t;
702add0d91Sopenharmony_cipub type longlong_t = i64;
712add0d91Sopenharmony_cipub type u_longlong_t = u64;
722add0d91Sopenharmony_cipub type blkcnt_t = i64;
732add0d91Sopenharmony_cipub type blksize_t = i32;
742add0d91Sopenharmony_cipub type fsblkcnt_t = __fsblkcnt_t;
752add0d91Sopenharmony_cipub type fsfilcnt_t = __fsfilcnt_t;
762add0d91Sopenharmony_cipub type caddr_t = __caddr_t;
772add0d91Sopenharmony_cipub type daddr_t = i64;
782add0d91Sopenharmony_cipub type dev_t = u64;
792add0d91Sopenharmony_cipub type fixpt_t = u32;
802add0d91Sopenharmony_cipub type gid_t = __gid_t;
812add0d91Sopenharmony_cipub type idtype_t = c_int;
822add0d91Sopenharmony_cipub type id_t = u32;
832add0d91Sopenharmony_cipub type ino_t = u64;
842add0d91Sopenharmony_cipub type key_t = c_long;
852add0d91Sopenharmony_cipub type mode_t = __mode_t;
862add0d91Sopenharmony_cipub type nlink_t = u32;
872add0d91Sopenharmony_cipub type off_t = __off_t;
882add0d91Sopenharmony_cipub type pid_t = __pid_t;
892add0d91Sopenharmony_cipub type lwpid_t = i32;
902add0d91Sopenharmony_cipub type rlim_t = u64;
912add0d91Sopenharmony_cipub type segsz_t = i32;
922add0d91Sopenharmony_cipub type swblk_t = i32;
932add0d91Sopenharmony_cipub type mqd_t = c_int;
942add0d91Sopenharmony_cipub type cpuid_t = c_ulong;
952add0d91Sopenharmony_cipub type psetid_t = c_int;
962add0d91Sopenharmony_ci
972add0d91Sopenharmony_cis! {
982add0d91Sopenharmony_ci    // stat.h
992add0d91Sopenharmony_ci    pub struct stat {
1002add0d91Sopenharmony_ci        pub st_dev: dev_t,
1012add0d91Sopenharmony_ci        pub st_ino: ino_t,
1022add0d91Sopenharmony_ci        pub st_mode: c_short,
1032add0d91Sopenharmony_ci        pub st_nlink: c_short,
1042add0d91Sopenharmony_ci        pub st_uid: c_short,
1052add0d91Sopenharmony_ci        pub st_gid: c_short,
1062add0d91Sopenharmony_ci        pub st_rdev: dev_t,
1072add0d91Sopenharmony_ci        pub st_size: off_t,
1082add0d91Sopenharmony_ci        pub st_atime: time_t,
1092add0d91Sopenharmony_ci        pub st_mtime: time_t,
1102add0d91Sopenharmony_ci        pub st_ctime: time_t,
1112add0d91Sopenharmony_ci        pub st_blksize: blksize_t,
1122add0d91Sopenharmony_ci    }
1132add0d91Sopenharmony_ci
1142add0d91Sopenharmony_ci    // time.h
1152add0d91Sopenharmony_ci    pub struct tm {
1162add0d91Sopenharmony_ci        pub tm_sec: c_int,
1172add0d91Sopenharmony_ci        pub tm_min: c_int,
1182add0d91Sopenharmony_ci        pub tm_hour: c_int,
1192add0d91Sopenharmony_ci        pub tm_mday: c_int,
1202add0d91Sopenharmony_ci        pub tm_mon: c_int,
1212add0d91Sopenharmony_ci        pub tm_year: c_int,
1222add0d91Sopenharmony_ci        pub tm_wday: c_int,
1232add0d91Sopenharmony_ci        pub tm_yday: c_int,
1242add0d91Sopenharmony_ci        pub tm_isdst: c_int,
1252add0d91Sopenharmony_ci        pub tm_gmtoff: c_long,
1262add0d91Sopenharmony_ci        pub tm_zone: *mut c_char,
1272add0d91Sopenharmony_ci    }
1282add0d91Sopenharmony_ci
1292add0d91Sopenharmony_ci    // stdlib.h
1302add0d91Sopenharmony_ci    pub struct qdiv_t {
1312add0d91Sopenharmony_ci        pub quot: quad_t,
1322add0d91Sopenharmony_ci        pub rem: quad_t,
1332add0d91Sopenharmony_ci    }
1342add0d91Sopenharmony_ci    pub struct lldiv_t {
1352add0d91Sopenharmony_ci        pub quot: c_longlong,
1362add0d91Sopenharmony_ci        pub rem: c_longlong,
1372add0d91Sopenharmony_ci    }
1382add0d91Sopenharmony_ci    pub struct div_t {
1392add0d91Sopenharmony_ci        pub quot: c_int,
1402add0d91Sopenharmony_ci        pub rem: c_int,
1412add0d91Sopenharmony_ci    }
1422add0d91Sopenharmony_ci    pub struct ldiv_t {
1432add0d91Sopenharmony_ci        pub quot: c_long,
1442add0d91Sopenharmony_ci        pub rem: c_long,
1452add0d91Sopenharmony_ci    }
1462add0d91Sopenharmony_ci
1472add0d91Sopenharmony_ci    // locale.h
1482add0d91Sopenharmony_ci    pub struct lconv {
1492add0d91Sopenharmony_ci        pub decimal_point: *mut c_char,
1502add0d91Sopenharmony_ci        pub thousands_sep: *mut c_char,
1512add0d91Sopenharmony_ci        pub grouping: *mut c_char,
1522add0d91Sopenharmony_ci        pub int_curr_symbol: *mut c_char,
1532add0d91Sopenharmony_ci        pub currency_symbol: *mut c_char,
1542add0d91Sopenharmony_ci        pub mon_decimal_point: *mut c_char,
1552add0d91Sopenharmony_ci        pub mon_thousands_sep: *mut c_char,
1562add0d91Sopenharmony_ci        pub mon_grouping: *mut c_char,
1572add0d91Sopenharmony_ci        pub positive_sign: *mut c_char,
1582add0d91Sopenharmony_ci        pub negative_sign: *mut c_char,
1592add0d91Sopenharmony_ci        pub int_frac_digits: c_char,
1602add0d91Sopenharmony_ci        pub frac_digits: c_char,
1612add0d91Sopenharmony_ci        pub p_cs_precedes: c_char,
1622add0d91Sopenharmony_ci        pub p_sep_by_space: c_char,
1632add0d91Sopenharmony_ci        pub n_cs_precedes: c_char,
1642add0d91Sopenharmony_ci        pub n_sep_by_space: c_char,
1652add0d91Sopenharmony_ci        pub p_sign_posn: c_char,
1662add0d91Sopenharmony_ci        pub n_sign_posn: c_char,
1672add0d91Sopenharmony_ci        pub int_p_cs_precedes: c_char,
1682add0d91Sopenharmony_ci        pub int_n_cs_precedes: c_char,
1692add0d91Sopenharmony_ci        pub int_p_sep_by_space: c_char,
1702add0d91Sopenharmony_ci        pub int_n_sep_by_space: c_char,
1712add0d91Sopenharmony_ci        pub int_p_sign_posn: c_char,
1722add0d91Sopenharmony_ci        pub int_n_sign_posn: c_char,
1732add0d91Sopenharmony_ci    }
1742add0d91Sopenharmony_ci
1752add0d91Sopenharmony_ci    pub struct iovec {
1762add0d91Sopenharmony_ci        pub iov_base: *mut c_void,
1772add0d91Sopenharmony_ci        pub iov_len: size_t,
1782add0d91Sopenharmony_ci    }
1792add0d91Sopenharmony_ci
1802add0d91Sopenharmony_ci    pub struct timeval {
1812add0d91Sopenharmony_ci        pub tv_sec: c_long,
1822add0d91Sopenharmony_ci        pub tv_usec: c_long,
1832add0d91Sopenharmony_ci    }
1842add0d91Sopenharmony_ci}
1852add0d91Sopenharmony_ci
1862add0d91Sopenharmony_cipub const INT_MIN: c_int = -2147483648;
1872add0d91Sopenharmony_cipub const INT_MAX: c_int = 2147483647;
1882add0d91Sopenharmony_ci
1892add0d91Sopenharmony_cipub const EXIT_FAILURE: c_int = 1;
1902add0d91Sopenharmony_cipub const EXIT_SUCCESS: c_int = 0;
1912add0d91Sopenharmony_cipub const RAND_MAX: c_int = 0x7fffffff;
1922add0d91Sopenharmony_cipub const EOF: c_int = -1;
1932add0d91Sopenharmony_cipub const SEEK_SET: c_int = 0;
1942add0d91Sopenharmony_cipub const SEEK_CUR: c_int = 1;
1952add0d91Sopenharmony_cipub const SEEK_END: c_int = 2;
1962add0d91Sopenharmony_cipub const _IOFBF: c_int = 0;
1972add0d91Sopenharmony_cipub const _IONBF: c_int = 2;
1982add0d91Sopenharmony_cipub const _IOLBF: c_int = 1;
1992add0d91Sopenharmony_cipub const BUFSIZ: c_uint = 1024;
2002add0d91Sopenharmony_cipub const FOPEN_MAX: c_uint = 20;
2012add0d91Sopenharmony_cipub const FILENAME_MAX: c_uint = 1024;
2022add0d91Sopenharmony_ci
2032add0d91Sopenharmony_cipub const O_RDONLY: c_int = 1;
2042add0d91Sopenharmony_cipub const O_WRONLY: c_int = 2;
2052add0d91Sopenharmony_cipub const O_RDWR: c_int = 4;
2062add0d91Sopenharmony_cipub const O_APPEND: c_int = 8;
2072add0d91Sopenharmony_cipub const O_CREAT: c_int = 0x10;
2082add0d91Sopenharmony_cipub const O_EXCL: c_int = 0x400;
2092add0d91Sopenharmony_cipub const O_TEXT: c_int = 0x100;
2102add0d91Sopenharmony_cipub const O_BINARY: c_int = 0x200;
2112add0d91Sopenharmony_cipub const O_TRUNC: c_int = 0x20;
2122add0d91Sopenharmony_cipub const S_IEXEC: c_short = 0x0040;
2132add0d91Sopenharmony_cipub const S_IWRITE: c_short = 0x0080;
2142add0d91Sopenharmony_cipub const S_IREAD: c_short = 0x0100;
2152add0d91Sopenharmony_cipub const S_IFCHR: c_short = 0x2000;
2162add0d91Sopenharmony_cipub const S_IFDIR: c_short = 0x4000;
2172add0d91Sopenharmony_cipub const S_IFMT: c_short = 0o160000;
2182add0d91Sopenharmony_cipub const S_IFIFO: c_short = 0o0010000;
2192add0d91Sopenharmony_cipub const S_IFBLK: c_short = 0o0060000;
2202add0d91Sopenharmony_cipub const S_IFREG: c_short = 0o0100000;
2212add0d91Sopenharmony_ci
2222add0d91Sopenharmony_cipub const LC_ALL: c_int = 0;
2232add0d91Sopenharmony_cipub const LC_COLLATE: c_int = 1;
2242add0d91Sopenharmony_cipub const LC_CTYPE: c_int = 2;
2252add0d91Sopenharmony_cipub const LC_MONETARY: c_int = 3;
2262add0d91Sopenharmony_cipub const LC_NUMERIC: c_int = 4;
2272add0d91Sopenharmony_cipub const LC_TIME: c_int = 5;
2282add0d91Sopenharmony_cipub const LC_MESSAGES: c_int = 6;
2292add0d91Sopenharmony_cipub const _LC_LAST: c_int = 7;
2302add0d91Sopenharmony_ci
2312add0d91Sopenharmony_cipub const EPERM: c_int = 1;
2322add0d91Sopenharmony_cipub const ENOENT: c_int = 2;
2332add0d91Sopenharmony_cipub const ESRCH: c_int = 3;
2342add0d91Sopenharmony_cipub const EINTR: c_int = 4;
2352add0d91Sopenharmony_cipub const EIO: c_int = 5;
2362add0d91Sopenharmony_cipub const ENXIO: c_int = 6;
2372add0d91Sopenharmony_cipub const E2BIG: c_int = 7;
2382add0d91Sopenharmony_cipub const ENOEXEC: c_int = 8;
2392add0d91Sopenharmony_cipub const EBADF: c_int = 9;
2402add0d91Sopenharmony_cipub const ECHILD: c_int = 10;
2412add0d91Sopenharmony_cipub const EAGAIN: c_int = 11;
2422add0d91Sopenharmony_cipub const ENOMEM: c_int = 12;
2432add0d91Sopenharmony_cipub const EACCES: c_int = 13;
2442add0d91Sopenharmony_cipub const EFAULT: c_int = 14;
2452add0d91Sopenharmony_cipub const ENOTBLK: c_int = 15;
2462add0d91Sopenharmony_cipub const EBUSY: c_int = 16;
2472add0d91Sopenharmony_cipub const EEXIST: c_int = 17;
2482add0d91Sopenharmony_cipub const EXDEV: c_int = 18;
2492add0d91Sopenharmony_cipub const ENODEV: c_int = 19;
2502add0d91Sopenharmony_cipub const ENOTDIR: c_int = 20;
2512add0d91Sopenharmony_cipub const EISDIR: c_int = 21;
2522add0d91Sopenharmony_cipub const EINVAL: c_int = 22;
2532add0d91Sopenharmony_cipub const ENFILE: c_int = 23;
2542add0d91Sopenharmony_cipub const EMFILE: c_int = 24;
2552add0d91Sopenharmony_cipub const ENOTTY: c_int = 25;
2562add0d91Sopenharmony_cipub const ETXTBSY: c_int = 26;
2572add0d91Sopenharmony_cipub const EFBIG: c_int = 27;
2582add0d91Sopenharmony_cipub const ENOSPC: c_int = 28;
2592add0d91Sopenharmony_cipub const ESPIPE: c_int = 29;
2602add0d91Sopenharmony_cipub const EROFS: c_int = 30;
2612add0d91Sopenharmony_cipub const EMLINK: c_int = 31;
2622add0d91Sopenharmony_cipub const EPIPE: c_int = 32;
2632add0d91Sopenharmony_cipub const EDOM: c_int = 33;
2642add0d91Sopenharmony_cipub const ERANGE: c_int = 34;
2652add0d91Sopenharmony_ci
2662add0d91Sopenharmony_cipub const EDEADLK: c_int = 35;
2672add0d91Sopenharmony_cipub const ENAMETOOLONG: c_int = 36;
2682add0d91Sopenharmony_cipub const ENOLCK: c_int = 37;
2692add0d91Sopenharmony_cipub const ENOSYS: c_int = 38;
2702add0d91Sopenharmony_cipub const ENOTEMPTY: c_int = 39;
2712add0d91Sopenharmony_cipub const ELOOP: c_int = 40;
2722add0d91Sopenharmony_cipub const EWOULDBLOCK: c_int = EAGAIN;
2732add0d91Sopenharmony_cipub const ENOMSG: c_int = 42;
2742add0d91Sopenharmony_cipub const EIDRM: c_int = 43;
2752add0d91Sopenharmony_cipub const ECHRNG: c_int = 44;
2762add0d91Sopenharmony_cipub const EL2NSYNC: c_int = 45;
2772add0d91Sopenharmony_cipub const EL3HLT: c_int = 46;
2782add0d91Sopenharmony_cipub const EL3RST: c_int = 47;
2792add0d91Sopenharmony_cipub const ELNRNG: c_int = 48;
2802add0d91Sopenharmony_cipub const EUNATCH: c_int = 49;
2812add0d91Sopenharmony_cipub const ENOCSI: c_int = 50;
2822add0d91Sopenharmony_cipub const EL2HLT: c_int = 51;
2832add0d91Sopenharmony_cipub const EBADE: c_int = 52;
2842add0d91Sopenharmony_cipub const EBADR: c_int = 53;
2852add0d91Sopenharmony_cipub const EXFULL: c_int = 54;
2862add0d91Sopenharmony_cipub const ENOANO: c_int = 55;
2872add0d91Sopenharmony_cipub const EBADRQC: c_int = 56;
2882add0d91Sopenharmony_cipub const EBADSLT: c_int = 57;
2892add0d91Sopenharmony_ci
2902add0d91Sopenharmony_cipub const EDEADLOCK: c_int = EDEADLK;
2912add0d91Sopenharmony_ci
2922add0d91Sopenharmony_cipub const EBFONT: c_int = 59;
2932add0d91Sopenharmony_cipub const ENOSTR: c_int = 60;
2942add0d91Sopenharmony_cipub const ENODATA: c_int = 61;
2952add0d91Sopenharmony_cipub const ETIME: c_int = 62;
2962add0d91Sopenharmony_cipub const ENOSR: c_int = 63;
2972add0d91Sopenharmony_cipub const ENONET: c_int = 64;
2982add0d91Sopenharmony_cipub const ENOPKG: c_int = 65;
2992add0d91Sopenharmony_cipub const EREMOTE: c_int = 66;
3002add0d91Sopenharmony_cipub const ENOLINK: c_int = 67;
3012add0d91Sopenharmony_cipub const EADV: c_int = 68;
3022add0d91Sopenharmony_cipub const ESRMNT: c_int = 69;
3032add0d91Sopenharmony_cipub const ECOMM: c_int = 70;
3042add0d91Sopenharmony_cipub const EPROTO: c_int = 71;
3052add0d91Sopenharmony_cipub const EMULTIHOP: c_int = 72;
3062add0d91Sopenharmony_cipub const EDOTDOT: c_int = 73;
3072add0d91Sopenharmony_cipub const EBADMSG: c_int = 74;
3082add0d91Sopenharmony_cipub const EOVERFLOW: c_int = 75;
3092add0d91Sopenharmony_cipub const ENOTUNIQ: c_int = 76;
3102add0d91Sopenharmony_cipub const EBADFD: c_int = 77;
3112add0d91Sopenharmony_cipub const EREMCHG: c_int = 78;
3122add0d91Sopenharmony_cipub const ELIBACC: c_int = 79;
3132add0d91Sopenharmony_cipub const ELIBBAD: c_int = 80;
3142add0d91Sopenharmony_cipub const ELIBSCN: c_int = 81;
3152add0d91Sopenharmony_cipub const ELIBMAX: c_int = 82;
3162add0d91Sopenharmony_cipub const ELIBEXEC: c_int = 83;
3172add0d91Sopenharmony_cipub const EILSEQ: c_int = 84;
3182add0d91Sopenharmony_cipub const ERESTART: c_int = 85;
3192add0d91Sopenharmony_cipub const ESTRPIPE: c_int = 86;
3202add0d91Sopenharmony_cipub const EUSERS: c_int = 87;
3212add0d91Sopenharmony_cipub const ENOTSOCK: c_int = 88;
3222add0d91Sopenharmony_cipub const EDESTADDRREQ: c_int = 89;
3232add0d91Sopenharmony_cipub const EMSGSIZE: c_int = 90;
3242add0d91Sopenharmony_cipub const EPROTOTYPE: c_int = 91;
3252add0d91Sopenharmony_cipub const ENOPROTOOPT: c_int = 92;
3262add0d91Sopenharmony_cipub const EPROTONOSUPPORT: c_int = 93;
3272add0d91Sopenharmony_cipub const ESOCKTNOSUPPORT: c_int = 94;
3282add0d91Sopenharmony_cipub const EOPNOTSUPP: c_int = 95;
3292add0d91Sopenharmony_cipub const EPFNOSUPPORT: c_int = 96;
3302add0d91Sopenharmony_cipub const EAFNOSUPPORT: c_int = 97;
3312add0d91Sopenharmony_cipub const EADDRINUSE: c_int = 98;
3322add0d91Sopenharmony_cipub const EADDRNOTAVAIL: c_int = 99;
3332add0d91Sopenharmony_cipub const ENETDOWN: c_int = 100;
3342add0d91Sopenharmony_cipub const ENETUNREACH: c_int = 101;
3352add0d91Sopenharmony_cipub const ENETRESET: c_int = 102;
3362add0d91Sopenharmony_cipub const ECONNABORTED: c_int = 103;
3372add0d91Sopenharmony_cipub const ECONNRESET: c_int = 104;
3382add0d91Sopenharmony_cipub const ENOBUFS: c_int = 105;
3392add0d91Sopenharmony_cipub const EISCONN: c_int = 106;
3402add0d91Sopenharmony_cipub const ENOTCONN: c_int = 107;
3412add0d91Sopenharmony_cipub const ESHUTDOWN: c_int = 108;
3422add0d91Sopenharmony_cipub const ETOOMANYREFS: c_int = 109;
3432add0d91Sopenharmony_cipub const ETIMEDOUT: c_int = 110;
3442add0d91Sopenharmony_cipub const ECONNREFUSED: c_int = 111;
3452add0d91Sopenharmony_cipub const EHOSTDOWN: c_int = 112;
3462add0d91Sopenharmony_cipub const EHOSTUNREACH: c_int = 113;
3472add0d91Sopenharmony_cipub const EALREADY: c_int = 114;
3482add0d91Sopenharmony_cipub const EINPROGRESS: c_int = 115;
3492add0d91Sopenharmony_cipub const ESTALE: c_int = 116;
3502add0d91Sopenharmony_cipub const EUCLEAN: c_int = 117;
3512add0d91Sopenharmony_cipub const ENOTNAM: c_int = 118;
3522add0d91Sopenharmony_cipub const ENAVAIL: c_int = 119;
3532add0d91Sopenharmony_cipub const EISNAM: c_int = 120;
3542add0d91Sopenharmony_cipub const EREMOTEIO: c_int = 121;
3552add0d91Sopenharmony_cipub const EDQUOT: c_int = 122;
3562add0d91Sopenharmony_ci
3572add0d91Sopenharmony_cipub const ENOMEDIUM: c_int = 123;
3582add0d91Sopenharmony_cipub const EMEDIUMTYPE: c_int = 124;
3592add0d91Sopenharmony_cipub const ECANCELED: c_int = 125;
3602add0d91Sopenharmony_cipub const ENOKEY: c_int = 126;
3612add0d91Sopenharmony_cipub const EKEYEXPIRED: c_int = 127;
3622add0d91Sopenharmony_cipub const EKEYREVOKED: c_int = 128;
3632add0d91Sopenharmony_cipub const EKEYREJECTED: c_int = 129;
3642add0d91Sopenharmony_ci
3652add0d91Sopenharmony_cipub const EOWNERDEAD: c_int = 130;
3662add0d91Sopenharmony_cipub const ENOTRECOVERABLE: c_int = 131;
3672add0d91Sopenharmony_ci
3682add0d91Sopenharmony_cipub const ENOTSUP: c_int = 132;
3692add0d91Sopenharmony_cipub const EFTYPE: c_int = 133;
3702add0d91Sopenharmony_ci
3712add0d91Sopenharmony_ci// signal codes
3722add0d91Sopenharmony_cipub const SIGHUP: c_int = 1;
3732add0d91Sopenharmony_cipub const SIGINT: c_int = 2;
3742add0d91Sopenharmony_cipub const SIGQUIT: c_int = 3;
3752add0d91Sopenharmony_cipub const SIGILL: c_int = 4;
3762add0d91Sopenharmony_cipub const SIGTRAP: c_int = 5;
3772add0d91Sopenharmony_cipub const SIGABRT: c_int = 6;
3782add0d91Sopenharmony_cipub const SIGIOT: c_int = SIGABRT;
3792add0d91Sopenharmony_cipub const SIGEMT: c_int = 7;
3802add0d91Sopenharmony_cipub const SIGFPE: c_int = 8;
3812add0d91Sopenharmony_cipub const SIGKILL: c_int = 9;
3822add0d91Sopenharmony_cipub const SIGBUS: c_int = 10;
3832add0d91Sopenharmony_cipub const SIGSEGV: c_int = 11;
3842add0d91Sopenharmony_cipub const SIGSYS: c_int = 12;
3852add0d91Sopenharmony_cipub const SIGPIPE: c_int = 13;
3862add0d91Sopenharmony_cipub const SIGALRM: c_int = 14;
3872add0d91Sopenharmony_cipub const SIGTERM: c_int = 15;
3882add0d91Sopenharmony_cipub const SIGURG: c_int = 16;
3892add0d91Sopenharmony_cipub const SIGSTOP: c_int = 17;
3902add0d91Sopenharmony_cipub const SIGTSTP: c_int = 18;
3912add0d91Sopenharmony_cipub const SIGCONT: c_int = 19;
3922add0d91Sopenharmony_cipub const SIGCHLD: c_int = 20;
3932add0d91Sopenharmony_cipub const SIGTTIN: c_int = 21;
3942add0d91Sopenharmony_cipub const SIGTTOU: c_int = 22;
3952add0d91Sopenharmony_cipub const SIGIO: c_int = 23;
3962add0d91Sopenharmony_cipub const SIGXCPU: c_int = 24;
3972add0d91Sopenharmony_cipub const SIGXFSZ: c_int = 25;
3982add0d91Sopenharmony_cipub const SIGVTALRM: c_int = 26;
3992add0d91Sopenharmony_cipub const SIGPROF: c_int = 27;
4002add0d91Sopenharmony_cipub const SIGWINCH: c_int = 28;
4012add0d91Sopenharmony_cipub const SIGINFO: c_int = 29;
4022add0d91Sopenharmony_cipub const SIGUSR1: c_int = 30;
4032add0d91Sopenharmony_cipub const SIGUSR2: c_int = 31;
4042add0d91Sopenharmony_cipub const SIGPWR: c_int = 32;
4052add0d91Sopenharmony_ci
4062add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))]
4072add0d91Sopenharmony_cipub enum FILE {}
4082add0d91Sopenharmony_ciimpl ::Copy for FILE {}
4092add0d91Sopenharmony_ciimpl ::Clone for FILE {
4102add0d91Sopenharmony_ci    fn clone(&self) -> FILE {
4112add0d91Sopenharmony_ci        *self
4122add0d91Sopenharmony_ci    }
4132add0d91Sopenharmony_ci}
4142add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))]
4152add0d91Sopenharmony_cipub enum fpos_t {}
4162add0d91Sopenharmony_ciimpl ::Copy for fpos_t {}
4172add0d91Sopenharmony_ciimpl ::Clone for fpos_t {
4182add0d91Sopenharmony_ci    fn clone(&self) -> fpos_t {
4192add0d91Sopenharmony_ci        *self
4202add0d91Sopenharmony_ci    }
4212add0d91Sopenharmony_ci}
4222add0d91Sopenharmony_ci
4232add0d91Sopenharmony_ciextern "C" {
4242add0d91Sopenharmony_ci    // ctype.h
4252add0d91Sopenharmony_ci    pub fn isalnum(c: c_int) -> c_int;
4262add0d91Sopenharmony_ci    pub fn isalpha(c: c_int) -> c_int;
4272add0d91Sopenharmony_ci    pub fn iscntrl(c: c_int) -> c_int;
4282add0d91Sopenharmony_ci    pub fn isdigit(c: c_int) -> c_int;
4292add0d91Sopenharmony_ci    pub fn isgraph(c: c_int) -> c_int;
4302add0d91Sopenharmony_ci    pub fn islower(c: c_int) -> c_int;
4312add0d91Sopenharmony_ci    pub fn isprint(c: c_int) -> c_int;
4322add0d91Sopenharmony_ci    pub fn ispunct(c: c_int) -> c_int;
4332add0d91Sopenharmony_ci    pub fn isspace(c: c_int) -> c_int;
4342add0d91Sopenharmony_ci    pub fn isupper(c: c_int) -> c_int;
4352add0d91Sopenharmony_ci    pub fn isxdigit(c: c_int) -> c_int;
4362add0d91Sopenharmony_ci    pub fn isblank(c: c_int) -> c_int;
4372add0d91Sopenharmony_ci    pub fn tolower(c: c_int) -> c_int;
4382add0d91Sopenharmony_ci    pub fn toupper(c: c_int) -> c_int;
4392add0d91Sopenharmony_ci
4402add0d91Sopenharmony_ci    // stdio.h
4412add0d91Sopenharmony_ci    pub fn __get_stdio_file(fileno: c_int) -> *mut FILE;
4422add0d91Sopenharmony_ci    pub fn clearerr(arg1: *mut FILE);
4432add0d91Sopenharmony_ci    pub fn fclose(arg1: *mut FILE) -> c_int;
4442add0d91Sopenharmony_ci    pub fn feof(arg1: *mut FILE) -> c_int;
4452add0d91Sopenharmony_ci    pub fn ferror(arg1: *mut FILE) -> c_int;
4462add0d91Sopenharmony_ci    pub fn fflush(arg1: *mut FILE) -> c_int;
4472add0d91Sopenharmony_ci    pub fn fgetc(arg1: *mut FILE) -> c_int;
4482add0d91Sopenharmony_ci    pub fn fgets(arg1: *mut c_char, arg2: c_int, arg3: *mut FILE) -> *mut c_char;
4492add0d91Sopenharmony_ci    pub fn fopen(arg1: *const c_char, arg2: *const c_char) -> *mut FILE;
4502add0d91Sopenharmony_ci    pub fn fprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4512add0d91Sopenharmony_ci    pub fn fputc(arg1: c_int, arg2: *mut FILE) -> c_int;
4522add0d91Sopenharmony_ci    pub fn fputs(arg1: *const c_char, arg2: *mut FILE) -> c_int;
4532add0d91Sopenharmony_ci    pub fn fread(arg1: *mut c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
4542add0d91Sopenharmony_ci    pub fn freopen(arg1: *const c_char, arg2: *const c_char, arg3: *mut FILE) -> *mut FILE;
4552add0d91Sopenharmony_ci    pub fn fscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4562add0d91Sopenharmony_ci    pub fn fseek(arg1: *mut FILE, arg2: c_long, arg3: c_int) -> c_int;
4572add0d91Sopenharmony_ci    pub fn ftell(arg1: *mut FILE) -> c_long;
4582add0d91Sopenharmony_ci    pub fn fwrite(arg1: *const c_void, arg2: size_t, arg3: size_t, arg4: *mut FILE) -> size_t;
4592add0d91Sopenharmony_ci    pub fn getc(arg1: *mut FILE) -> c_int;
4602add0d91Sopenharmony_ci    pub fn getchar() -> c_int;
4612add0d91Sopenharmony_ci    pub fn perror(arg1: *const c_char);
4622add0d91Sopenharmony_ci    pub fn printf(arg1: *const c_char, ...) -> c_int;
4632add0d91Sopenharmony_ci    pub fn putc(arg1: c_int, arg2: *mut FILE) -> c_int;
4642add0d91Sopenharmony_ci    pub fn putchar(arg1: c_int) -> c_int;
4652add0d91Sopenharmony_ci    pub fn puts(arg1: *const c_char) -> c_int;
4662add0d91Sopenharmony_ci    pub fn remove(arg1: *const c_char) -> c_int;
4672add0d91Sopenharmony_ci    pub fn rewind(arg1: *mut FILE);
4682add0d91Sopenharmony_ci    pub fn scanf(arg1: *const c_char, ...) -> c_int;
4692add0d91Sopenharmony_ci    pub fn setbuf(arg1: *mut FILE, arg2: *mut c_char);
4702add0d91Sopenharmony_ci    pub fn setvbuf(arg1: *mut FILE, arg2: *mut c_char, arg3: c_int, arg4: size_t) -> c_int;
4712add0d91Sopenharmony_ci    pub fn sscanf(arg1: *const c_char, arg2: *const c_char, ...) -> c_int;
4722add0d91Sopenharmony_ci    pub fn tmpfile() -> *mut FILE;
4732add0d91Sopenharmony_ci    pub fn ungetc(arg1: c_int, arg2: *mut FILE) -> c_int;
4742add0d91Sopenharmony_ci    pub fn vfprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
4752add0d91Sopenharmony_ci    pub fn vprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
4762add0d91Sopenharmony_ci    pub fn gets(arg1: *mut c_char) -> *mut c_char;
4772add0d91Sopenharmony_ci    pub fn sprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
4782add0d91Sopenharmony_ci    pub fn tmpnam(arg1: *const c_char) -> *mut c_char;
4792add0d91Sopenharmony_ci    pub fn vsprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4802add0d91Sopenharmony_ci    pub fn rename(arg1: *const c_char, arg2: *const c_char) -> c_int;
4812add0d91Sopenharmony_ci    pub fn asiprintf(arg1: *mut *mut c_char, arg2: *const c_char, ...) -> c_int;
4822add0d91Sopenharmony_ci    pub fn fiprintf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4832add0d91Sopenharmony_ci    pub fn fiscanf(arg1: *mut FILE, arg2: *const c_char, ...) -> c_int;
4842add0d91Sopenharmony_ci    pub fn iprintf(arg1: *const c_char, ...) -> c_int;
4852add0d91Sopenharmony_ci    pub fn iscanf(arg1: *const c_char, ...) -> c_int;
4862add0d91Sopenharmony_ci    pub fn siprintf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
4872add0d91Sopenharmony_ci    pub fn siscanf(arg1: *mut c_char, arg2: *const c_char, ...) -> c_int;
4882add0d91Sopenharmony_ci    pub fn sniprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
4892add0d91Sopenharmony_ci    pub fn vasiprintf(arg1: *mut *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4902add0d91Sopenharmony_ci    pub fn vfiprintf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
4912add0d91Sopenharmony_ci    pub fn vfiscanf(arg1: *mut FILE, arg2: *const c_char, arg3: __va_list) -> c_int;
4922add0d91Sopenharmony_ci    pub fn viprintf(arg1: *const c_char, arg2: __va_list) -> c_int;
4932add0d91Sopenharmony_ci    pub fn viscanf(arg1: *const c_char, arg2: __va_list) -> c_int;
4942add0d91Sopenharmony_ci    pub fn vsiprintf(arg1: *mut c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4952add0d91Sopenharmony_ci    pub fn vsiscanf(arg1: *const c_char, arg2: *const c_char, arg3: __va_list) -> c_int;
4962add0d91Sopenharmony_ci    pub fn vsniprintf(
4972add0d91Sopenharmony_ci        arg1: *mut c_char,
4982add0d91Sopenharmony_ci        arg2: size_t,
4992add0d91Sopenharmony_ci        arg3: *const c_char,
5002add0d91Sopenharmony_ci        arg4: __va_list,
5012add0d91Sopenharmony_ci    ) -> c_int;
5022add0d91Sopenharmony_ci    pub fn vdiprintf(arg1: c_int, arg2: *const c_char, arg3: __va_list) -> c_int;
5032add0d91Sopenharmony_ci    pub fn diprintf(arg1: c_int, arg2: *const c_char, ...) -> c_int;
5042add0d91Sopenharmony_ci    pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> c_int;
5052add0d91Sopenharmony_ci    pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> c_int;
5062add0d91Sopenharmony_ci    pub fn fdopen(arg1: c_int, arg2: *const c_char) -> *mut FILE;
5072add0d91Sopenharmony_ci    pub fn fileno(arg1: *mut FILE) -> c_int;
5082add0d91Sopenharmony_ci    pub fn flockfile(arg1: *mut FILE);
5092add0d91Sopenharmony_ci    pub fn ftrylockfile(arg1: *mut FILE) -> c_int;
5102add0d91Sopenharmony_ci    pub fn funlockfile(arg1: *mut FILE);
5112add0d91Sopenharmony_ci    pub fn getc_unlocked(arg1: *mut FILE) -> c_int;
5122add0d91Sopenharmony_ci    pub fn getchar_unlocked() -> c_int;
5132add0d91Sopenharmony_ci    pub fn putc_unlocked(arg1: c_int, arg2: *mut FILE) -> c_int;
5142add0d91Sopenharmony_ci    pub fn putchar_unlocked(arg1: c_int) -> c_int;
5152add0d91Sopenharmony_ci    pub fn snprintf(arg1: *mut c_char, arg2: size_t, arg3: *const c_char, ...) -> c_int;
5162add0d91Sopenharmony_ci    pub fn vsnprintf(
5172add0d91Sopenharmony_ci        arg1: *mut c_char,
5182add0d91Sopenharmony_ci        arg2: size_t,
5192add0d91Sopenharmony_ci        arg3: *const c_char,
5202add0d91Sopenharmony_ci        arg4: __va_list,
5212add0d91Sopenharmony_ci    ) -> c_int;
5222add0d91Sopenharmony_ci    pub fn getw(arg1: *mut FILE) -> c_int;
5232add0d91Sopenharmony_ci    pub fn putw(arg1: c_int, arg2: *mut FILE) -> c_int;
5242add0d91Sopenharmony_ci    pub fn tempnam(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
5252add0d91Sopenharmony_ci    pub fn fseeko(stream: *mut FILE, offset: off_t, whence: c_int) -> c_int;
5262add0d91Sopenharmony_ci    pub fn ftello(stream: *mut FILE) -> off_t;
5272add0d91Sopenharmony_ci
5282add0d91Sopenharmony_ci    // stdlib.h
5292add0d91Sopenharmony_ci    pub fn atof(arg1: *const c_char) -> f64;
5302add0d91Sopenharmony_ci    pub fn strtod(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
5312add0d91Sopenharmony_ci    pub fn drand48() -> f64;
5322add0d91Sopenharmony_ci    pub fn erand48(arg1: *mut c_ushort) -> f64;
5332add0d91Sopenharmony_ci    pub fn strtof(arg1: *const c_char, arg2: *mut *mut c_char) -> f32;
5342add0d91Sopenharmony_ci    pub fn strtold(arg1: *const c_char, arg2: *mut *mut c_char) -> f64;
5352add0d91Sopenharmony_ci    pub fn strtod_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
5362add0d91Sopenharmony_ci    pub fn strtof_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f32;
5372add0d91Sopenharmony_ci    pub fn strtold_l(arg1: *const c_char, arg2: *mut *mut c_char, arg3: locale_t) -> f64;
5382add0d91Sopenharmony_ci    pub fn _Exit(arg1: c_int) -> !;
5392add0d91Sopenharmony_ci    pub fn abort() -> !;
5402add0d91Sopenharmony_ci    pub fn abs(arg1: c_int) -> c_int;
5412add0d91Sopenharmony_ci    pub fn atexit(arg1: ::Option<unsafe extern "C" fn()>) -> c_int;
5422add0d91Sopenharmony_ci    pub fn atoi(arg1: *const c_char) -> c_int;
5432add0d91Sopenharmony_ci    pub fn atol(arg1: *const c_char) -> c_long;
5442add0d91Sopenharmony_ci    pub fn itoa(arg1: c_int, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
5452add0d91Sopenharmony_ci    pub fn ltoa(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
5462add0d91Sopenharmony_ci    pub fn ultoa(arg1: c_ulong, arg2: *mut c_char, arg3: c_int) -> *mut c_char;
5472add0d91Sopenharmony_ci    pub fn bsearch(
5482add0d91Sopenharmony_ci        arg1: *const c_void,
5492add0d91Sopenharmony_ci        arg2: *const c_void,
5502add0d91Sopenharmony_ci        arg3: size_t,
5512add0d91Sopenharmony_ci        arg4: size_t,
5522add0d91Sopenharmony_ci        arg5: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
5532add0d91Sopenharmony_ci    ) -> *mut c_void;
5542add0d91Sopenharmony_ci    pub fn calloc(arg1: size_t, arg2: size_t) -> *mut c_void;
5552add0d91Sopenharmony_ci    pub fn div(arg1: c_int, arg2: c_int) -> div_t;
5562add0d91Sopenharmony_ci    pub fn exit(arg1: c_int) -> !;
5572add0d91Sopenharmony_ci    pub fn free(arg1: *mut c_void);
5582add0d91Sopenharmony_ci    pub fn getenv(arg1: *const c_char) -> *mut c_char;
5592add0d91Sopenharmony_ci    pub fn labs(arg1: c_long) -> c_long;
5602add0d91Sopenharmony_ci    pub fn ldiv(arg1: c_long, arg2: c_long) -> ldiv_t;
5612add0d91Sopenharmony_ci    pub fn malloc(arg1: size_t) -> *mut c_void;
5622add0d91Sopenharmony_ci    pub fn qsort(
5632add0d91Sopenharmony_ci        arg1: *mut c_void,
5642add0d91Sopenharmony_ci        arg2: size_t,
5652add0d91Sopenharmony_ci        arg3: size_t,
5662add0d91Sopenharmony_ci        arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
5672add0d91Sopenharmony_ci    );
5682add0d91Sopenharmony_ci    pub fn rand() -> c_int;
5692add0d91Sopenharmony_ci    pub fn realloc(arg1: *mut c_void, arg2: size_t) -> *mut c_void;
5702add0d91Sopenharmony_ci    pub fn srand(arg1: c_uint);
5712add0d91Sopenharmony_ci    pub fn strtol(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_long;
5722add0d91Sopenharmony_ci    pub fn strtoul(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulong;
5732add0d91Sopenharmony_ci    pub fn mblen(arg1: *const c_char, arg2: size_t) -> c_int;
5742add0d91Sopenharmony_ci    pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> size_t;
5752add0d91Sopenharmony_ci    pub fn wctomb(arg1: *mut c_char, arg2: wchar_t) -> c_int;
5762add0d91Sopenharmony_ci    pub fn mbtowc(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t) -> c_int;
5772add0d91Sopenharmony_ci    pub fn wcstombs(arg1: *mut c_char, arg2: *const wchar_t, arg3: size_t) -> size_t;
5782add0d91Sopenharmony_ci    pub fn rand_r(arg1: *mut c_uint) -> c_int;
5792add0d91Sopenharmony_ci    pub fn jrand48(arg1: *mut c_ushort) -> c_long;
5802add0d91Sopenharmony_ci    pub fn lcong48(arg1: *mut c_ushort);
5812add0d91Sopenharmony_ci    pub fn lrand48() -> c_long;
5822add0d91Sopenharmony_ci    pub fn mrand48() -> c_long;
5832add0d91Sopenharmony_ci    pub fn nrand48(arg1: *mut c_ushort) -> c_long;
5842add0d91Sopenharmony_ci    pub fn seed48(arg1: *mut c_ushort) -> *mut c_ushort;
5852add0d91Sopenharmony_ci    pub fn srand48(arg1: c_long);
5862add0d91Sopenharmony_ci    pub fn putenv(arg1: *mut c_char) -> c_int;
5872add0d91Sopenharmony_ci    pub fn a64l(arg1: *const c_char) -> c_long;
5882add0d91Sopenharmony_ci    pub fn l64a(arg1: c_long) -> *mut c_char;
5892add0d91Sopenharmony_ci    pub fn random() -> c_long;
5902add0d91Sopenharmony_ci    pub fn setstate(arg1: *mut c_char) -> *mut c_char;
5912add0d91Sopenharmony_ci    pub fn initstate(arg1: c_uint, arg2: *mut c_char, arg3: size_t) -> *mut c_char;
5922add0d91Sopenharmony_ci    pub fn srandom(arg1: c_uint);
5932add0d91Sopenharmony_ci    pub fn mkostemp(arg1: *mut c_char, arg2: c_int) -> c_int;
5942add0d91Sopenharmony_ci    pub fn mkostemps(arg1: *mut c_char, arg2: c_int, arg3: c_int) -> c_int;
5952add0d91Sopenharmony_ci    pub fn mkdtemp(arg1: *mut c_char) -> *mut c_char;
5962add0d91Sopenharmony_ci    pub fn mkstemp(arg1: *mut c_char) -> c_int;
5972add0d91Sopenharmony_ci    pub fn mktemp(arg1: *mut c_char) -> *mut c_char;
5982add0d91Sopenharmony_ci    pub fn atoll(arg1: *const c_char) -> c_longlong;
5992add0d91Sopenharmony_ci    pub fn llabs(arg1: c_longlong) -> c_longlong;
6002add0d91Sopenharmony_ci    pub fn lldiv(arg1: c_longlong, arg2: c_longlong) -> lldiv_t;
6012add0d91Sopenharmony_ci    pub fn strtoll(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_longlong;
6022add0d91Sopenharmony_ci    pub fn strtoull(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> c_ulonglong;
6032add0d91Sopenharmony_ci    pub fn aligned_alloc(arg1: size_t, arg2: size_t) -> *mut c_void;
6042add0d91Sopenharmony_ci    pub fn at_quick_exit(arg1: ::Option<unsafe extern "C" fn()>) -> c_int;
6052add0d91Sopenharmony_ci    pub fn quick_exit(arg1: c_int);
6062add0d91Sopenharmony_ci    pub fn setenv(arg1: *const c_char, arg2: *const c_char, arg3: c_int) -> c_int;
6072add0d91Sopenharmony_ci    pub fn unsetenv(arg1: *const c_char) -> c_int;
6082add0d91Sopenharmony_ci    pub fn humanize_number(
6092add0d91Sopenharmony_ci        arg1: *mut c_char,
6102add0d91Sopenharmony_ci        arg2: size_t,
6112add0d91Sopenharmony_ci        arg3: i64,
6122add0d91Sopenharmony_ci        arg4: *const c_char,
6132add0d91Sopenharmony_ci        arg5: c_int,
6142add0d91Sopenharmony_ci        arg6: c_int,
6152add0d91Sopenharmony_ci    ) -> c_int;
6162add0d91Sopenharmony_ci    pub fn dehumanize_number(arg1: *const c_char, arg2: *mut i64) -> c_int;
6172add0d91Sopenharmony_ci    pub fn getenv_r(arg1: *const c_char, arg2: *mut c_char, arg3: size_t) -> c_int;
6182add0d91Sopenharmony_ci    pub fn heapsort(
6192add0d91Sopenharmony_ci        arg1: *mut c_void,
6202add0d91Sopenharmony_ci        arg2: size_t,
6212add0d91Sopenharmony_ci        arg3: size_t,
6222add0d91Sopenharmony_ci        arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
6232add0d91Sopenharmony_ci    ) -> c_int;
6242add0d91Sopenharmony_ci    pub fn mergesort(
6252add0d91Sopenharmony_ci        arg1: *mut c_void,
6262add0d91Sopenharmony_ci        arg2: size_t,
6272add0d91Sopenharmony_ci        arg3: size_t,
6282add0d91Sopenharmony_ci        arg4: ::Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>,
6292add0d91Sopenharmony_ci    ) -> c_int;
6302add0d91Sopenharmony_ci    pub fn radixsort(
6312add0d91Sopenharmony_ci        arg1: *mut *const c_uchar,
6322add0d91Sopenharmony_ci        arg2: c_int,
6332add0d91Sopenharmony_ci        arg3: *const c_uchar,
6342add0d91Sopenharmony_ci        arg4: c_uint,
6352add0d91Sopenharmony_ci    ) -> c_int;
6362add0d91Sopenharmony_ci    pub fn sradixsort(
6372add0d91Sopenharmony_ci        arg1: *mut *const c_uchar,
6382add0d91Sopenharmony_ci        arg2: c_int,
6392add0d91Sopenharmony_ci        arg3: *const c_uchar,
6402add0d91Sopenharmony_ci        arg4: c_uint,
6412add0d91Sopenharmony_ci    ) -> c_int;
6422add0d91Sopenharmony_ci    pub fn getprogname() -> *const c_char;
6432add0d91Sopenharmony_ci    pub fn setprogname(arg1: *const c_char);
6442add0d91Sopenharmony_ci    pub fn qabs(arg1: quad_t) -> quad_t;
6452add0d91Sopenharmony_ci    pub fn strtoq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> quad_t;
6462add0d91Sopenharmony_ci    pub fn strtouq(arg1: *const c_char, arg2: *mut *mut c_char, arg3: c_int) -> u_quad_t;
6472add0d91Sopenharmony_ci    pub fn strsuftoll(
6482add0d91Sopenharmony_ci        arg1: *const c_char,
6492add0d91Sopenharmony_ci        arg2: *const c_char,
6502add0d91Sopenharmony_ci        arg3: c_longlong,
6512add0d91Sopenharmony_ci        arg4: c_longlong,
6522add0d91Sopenharmony_ci    ) -> c_longlong;
6532add0d91Sopenharmony_ci    pub fn strsuftollx(
6542add0d91Sopenharmony_ci        arg1: *const c_char,
6552add0d91Sopenharmony_ci        arg2: *const c_char,
6562add0d91Sopenharmony_ci        arg3: c_longlong,
6572add0d91Sopenharmony_ci        arg4: c_longlong,
6582add0d91Sopenharmony_ci        arg5: *mut c_char,
6592add0d91Sopenharmony_ci        arg6: size_t,
6602add0d91Sopenharmony_ci    ) -> c_longlong;
6612add0d91Sopenharmony_ci    pub fn l64a_r(arg1: c_long, arg2: *mut c_char, arg3: c_int) -> c_int;
6622add0d91Sopenharmony_ci    pub fn qdiv(arg1: quad_t, arg2: quad_t) -> qdiv_t;
6632add0d91Sopenharmony_ci    pub fn strtol_l(
6642add0d91Sopenharmony_ci        arg1: *const c_char,
6652add0d91Sopenharmony_ci        arg2: *mut *mut c_char,
6662add0d91Sopenharmony_ci        arg3: c_int,
6672add0d91Sopenharmony_ci        arg4: locale_t,
6682add0d91Sopenharmony_ci    ) -> c_long;
6692add0d91Sopenharmony_ci    pub fn strtoul_l(
6702add0d91Sopenharmony_ci        arg1: *const c_char,
6712add0d91Sopenharmony_ci        arg2: *mut *mut c_char,
6722add0d91Sopenharmony_ci        arg3: c_int,
6732add0d91Sopenharmony_ci        arg4: locale_t,
6742add0d91Sopenharmony_ci    ) -> c_ulong;
6752add0d91Sopenharmony_ci    pub fn strtoll_l(
6762add0d91Sopenharmony_ci        arg1: *const c_char,
6772add0d91Sopenharmony_ci        arg2: *mut *mut c_char,
6782add0d91Sopenharmony_ci        arg3: c_int,
6792add0d91Sopenharmony_ci        arg4: locale_t,
6802add0d91Sopenharmony_ci    ) -> c_longlong;
6812add0d91Sopenharmony_ci    pub fn strtoull_l(
6822add0d91Sopenharmony_ci        arg1: *const c_char,
6832add0d91Sopenharmony_ci        arg2: *mut *mut c_char,
6842add0d91Sopenharmony_ci        arg3: c_int,
6852add0d91Sopenharmony_ci        arg4: locale_t,
6862add0d91Sopenharmony_ci    ) -> c_ulonglong;
6872add0d91Sopenharmony_ci    pub fn strtoq_l(
6882add0d91Sopenharmony_ci        arg1: *const c_char,
6892add0d91Sopenharmony_ci        arg2: *mut *mut c_char,
6902add0d91Sopenharmony_ci        arg3: c_int,
6912add0d91Sopenharmony_ci        arg4: locale_t,
6922add0d91Sopenharmony_ci    ) -> quad_t;
6932add0d91Sopenharmony_ci    pub fn strtouq_l(
6942add0d91Sopenharmony_ci        arg1: *const c_char,
6952add0d91Sopenharmony_ci        arg2: *mut *mut c_char,
6962add0d91Sopenharmony_ci        arg3: c_int,
6972add0d91Sopenharmony_ci        arg4: locale_t,
6982add0d91Sopenharmony_ci    ) -> u_quad_t;
6992add0d91Sopenharmony_ci    pub fn _mb_cur_max_l(arg1: locale_t) -> size_t;
7002add0d91Sopenharmony_ci    pub fn mblen_l(arg1: *const c_char, arg2: size_t, arg3: locale_t) -> c_int;
7012add0d91Sopenharmony_ci    pub fn mbstowcs_l(
7022add0d91Sopenharmony_ci        arg1: *mut wchar_t,
7032add0d91Sopenharmony_ci        arg2: *const c_char,
7042add0d91Sopenharmony_ci        arg3: size_t,
7052add0d91Sopenharmony_ci        arg4: locale_t,
7062add0d91Sopenharmony_ci    ) -> size_t;
7072add0d91Sopenharmony_ci    pub fn wctomb_l(arg1: *mut c_char, arg2: wchar_t, arg3: locale_t) -> c_int;
7082add0d91Sopenharmony_ci    pub fn mbtowc_l(arg1: *mut wchar_t, arg2: *const c_char, arg3: size_t, arg4: locale_t)
7092add0d91Sopenharmony_ci        -> c_int;
7102add0d91Sopenharmony_ci    pub fn wcstombs_l(
7112add0d91Sopenharmony_ci        arg1: *mut c_char,
7122add0d91Sopenharmony_ci        arg2: *const wchar_t,
7132add0d91Sopenharmony_ci        arg3: size_t,
7142add0d91Sopenharmony_ci        arg4: locale_t,
7152add0d91Sopenharmony_ci    ) -> size_t;
7162add0d91Sopenharmony_ci
7172add0d91Sopenharmony_ci    // string.h
7182add0d91Sopenharmony_ci    pub fn memchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7192add0d91Sopenharmony_ci    pub fn memcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
7202add0d91Sopenharmony_ci    pub fn memcpy(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
7212add0d91Sopenharmony_ci    pub fn memmove(arg1: *mut c_void, arg2: *const c_void, arg3: size_t) -> *mut c_void;
7222add0d91Sopenharmony_ci    pub fn memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7232add0d91Sopenharmony_ci    pub fn strcat(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7242add0d91Sopenharmony_ci    pub fn strchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
7252add0d91Sopenharmony_ci    pub fn strcmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
7262add0d91Sopenharmony_ci    pub fn strcoll(arg1: *const c_char, arg2: *const c_char) -> c_int;
7272add0d91Sopenharmony_ci    pub fn strcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7282add0d91Sopenharmony_ci    pub fn strcspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
7292add0d91Sopenharmony_ci    pub fn strerror(arg1: c_int) -> *mut c_char;
7302add0d91Sopenharmony_ci    pub fn strlen(arg1: *const c_char) -> size_t;
7312add0d91Sopenharmony_ci    pub fn strncat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
7322add0d91Sopenharmony_ci    pub fn strncmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
7332add0d91Sopenharmony_ci    pub fn strncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
7342add0d91Sopenharmony_ci    pub fn strpbrk(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
7352add0d91Sopenharmony_ci    pub fn strrchr(arg1: *const c_char, arg2: c_int) -> *mut c_char;
7362add0d91Sopenharmony_ci    pub fn strspn(arg1: *const c_char, arg2: *const c_char) -> size_t;
7372add0d91Sopenharmony_ci    pub fn strstr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
7382add0d91Sopenharmony_ci    pub fn strtok(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7392add0d91Sopenharmony_ci    pub fn strtok_r(arg1: *mut c_char, arg2: *const c_char, arg3: *mut *mut c_char) -> *mut c_char;
7402add0d91Sopenharmony_ci    pub fn strerror_r(arg1: c_int, arg2: *mut c_char, arg3: size_t) -> c_int;
7412add0d91Sopenharmony_ci    pub fn strxfrm(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
7422add0d91Sopenharmony_ci    pub fn memccpy(
7432add0d91Sopenharmony_ci        arg1: *mut c_void,
7442add0d91Sopenharmony_ci        arg2: *const c_void,
7452add0d91Sopenharmony_ci        arg3: c_int,
7462add0d91Sopenharmony_ci        arg4: size_t,
7472add0d91Sopenharmony_ci    ) -> *mut c_void;
7482add0d91Sopenharmony_ci    pub fn strdup(arg1: *const c_char) -> *mut c_char;
7492add0d91Sopenharmony_ci    pub fn stpcpy(arg1: *mut c_char, arg2: *const c_char) -> *mut c_char;
7502add0d91Sopenharmony_ci    pub fn stpncpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> *mut c_char;
7512add0d91Sopenharmony_ci    pub fn strnlen(arg1: *const c_char, arg2: size_t) -> size_t;
7522add0d91Sopenharmony_ci    pub fn memmem(
7532add0d91Sopenharmony_ci        arg1: *const c_void,
7542add0d91Sopenharmony_ci        arg2: size_t,
7552add0d91Sopenharmony_ci        arg3: *const c_void,
7562add0d91Sopenharmony_ci        arg4: size_t,
7572add0d91Sopenharmony_ci    ) -> *mut c_void;
7582add0d91Sopenharmony_ci    pub fn strcasestr(arg1: *const c_char, arg2: *const c_char) -> *mut c_char;
7592add0d91Sopenharmony_ci    pub fn strlcat(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
7602add0d91Sopenharmony_ci    pub fn strlcpy(arg1: *mut c_char, arg2: *const c_char, arg3: size_t) -> size_t;
7612add0d91Sopenharmony_ci    pub fn strsep(arg1: *mut *mut c_char, arg2: *const c_char) -> *mut c_char;
7622add0d91Sopenharmony_ci    pub fn stresep(arg1: *mut *mut c_char, arg2: *const c_char, arg3: c_int) -> *mut c_char;
7632add0d91Sopenharmony_ci    pub fn strndup(arg1: *const c_char, arg2: size_t) -> *mut c_char;
7642add0d91Sopenharmony_ci    pub fn memrchr(arg1: *const c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7652add0d91Sopenharmony_ci    pub fn explicit_memset(arg1: *mut c_void, arg2: c_int, arg3: size_t) -> *mut c_void;
7662add0d91Sopenharmony_ci    pub fn consttime_memequal(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
7672add0d91Sopenharmony_ci    pub fn strcoll_l(arg1: *const c_char, arg2: *const c_char, arg3: locale_t) -> c_int;
7682add0d91Sopenharmony_ci    pub fn strxfrm_l(
7692add0d91Sopenharmony_ci        arg1: *mut c_char,
7702add0d91Sopenharmony_ci        arg2: *const c_char,
7712add0d91Sopenharmony_ci        arg3: size_t,
7722add0d91Sopenharmony_ci        arg4: locale_t,
7732add0d91Sopenharmony_ci    ) -> size_t;
7742add0d91Sopenharmony_ci    pub fn strerror_l(arg1: c_int, arg2: locale_t) -> *mut c_char;
7752add0d91Sopenharmony_ci
7762add0d91Sopenharmony_ci    // strings.h
7772add0d91Sopenharmony_ci    pub fn bcmp(arg1: *const c_void, arg2: *const c_void, arg3: size_t) -> c_int;
7782add0d91Sopenharmony_ci    pub fn bcopy(arg1: *const c_void, arg2: *mut c_void, arg3: size_t);
7792add0d91Sopenharmony_ci    pub fn bzero(arg1: *mut c_void, arg2: size_t);
7802add0d91Sopenharmony_ci    pub fn ffs(arg1: c_int) -> c_int;
7812add0d91Sopenharmony_ci    pub fn popcount(arg1: c_uint) -> c_uint;
7822add0d91Sopenharmony_ci    pub fn popcountl(arg1: c_ulong) -> c_uint;
7832add0d91Sopenharmony_ci    pub fn popcountll(arg1: c_ulonglong) -> c_uint;
7842add0d91Sopenharmony_ci    pub fn popcount32(arg1: u32) -> c_uint;
7852add0d91Sopenharmony_ci    pub fn popcount64(arg1: u64) -> c_uint;
7862add0d91Sopenharmony_ci    pub fn rindex(arg1: *const c_char, arg2: c_int) -> *mut c_char;
7872add0d91Sopenharmony_ci    pub fn strcasecmp(arg1: *const c_char, arg2: *const c_char) -> c_int;
7882add0d91Sopenharmony_ci    pub fn strncasecmp(arg1: *const c_char, arg2: *const c_char, arg3: size_t) -> c_int;
7892add0d91Sopenharmony_ci
7902add0d91Sopenharmony_ci    // signal.h
7912add0d91Sopenharmony_ci    pub fn signal(arg1: c_int, arg2: sighandler_t) -> sighandler_t;
7922add0d91Sopenharmony_ci    pub fn raise(arg1: c_int) -> c_int;
7932add0d91Sopenharmony_ci
7942add0d91Sopenharmony_ci    // time.h
7952add0d91Sopenharmony_ci    pub fn asctime(arg1: *const tm) -> *mut c_char;
7962add0d91Sopenharmony_ci    pub fn clock() -> clock_t;
7972add0d91Sopenharmony_ci    pub fn ctime(arg1: *const time_t) -> *mut c_char;
7982add0d91Sopenharmony_ci    pub fn difftime(arg1: time_t, arg2: time_t) -> f64;
7992add0d91Sopenharmony_ci    pub fn gmtime(arg1: *const time_t) -> *mut tm;
8002add0d91Sopenharmony_ci    pub fn localtime(arg1: *const time_t) -> *mut tm;
8012add0d91Sopenharmony_ci    pub fn time(arg1: *mut time_t) -> time_t;
8022add0d91Sopenharmony_ci    pub fn mktime(arg1: *mut tm) -> time_t;
8032add0d91Sopenharmony_ci    pub fn strftime(
8042add0d91Sopenharmony_ci        arg1: *mut c_char,
8052add0d91Sopenharmony_ci        arg2: size_t,
8062add0d91Sopenharmony_ci        arg3: *const c_char,
8072add0d91Sopenharmony_ci        arg4: *const tm,
8082add0d91Sopenharmony_ci    ) -> size_t;
8092add0d91Sopenharmony_ci    pub fn utime(arg1: *const c_char, arg2: *mut time_t) -> c_int;
8102add0d91Sopenharmony_ci    pub fn asctime_r(arg1: *const tm, arg2: *mut c_char) -> *mut c_char;
8112add0d91Sopenharmony_ci    pub fn ctime_r(arg1: *const time_t, arg2: *mut c_char) -> *mut c_char;
8122add0d91Sopenharmony_ci    pub fn gmtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
8132add0d91Sopenharmony_ci    pub fn localtime_r(arg1: *const time_t, arg2: *mut tm) -> *mut tm;
8142add0d91Sopenharmony_ci
8152add0d91Sopenharmony_ci    // sys/stat.h
8162add0d91Sopenharmony_ci    pub fn stat(arg1: *const c_char, arg2: *mut stat) -> c_int;
8172add0d91Sopenharmony_ci    pub fn lstat(arg1: *const c_char, arg2: *mut stat) -> c_int;
8182add0d91Sopenharmony_ci    pub fn fstat(arg1: c_int, arg2: *mut stat) -> c_int;
8192add0d91Sopenharmony_ci    pub fn chmod(arg1: *const c_char, arg2: __mode_t) -> c_int;
8202add0d91Sopenharmony_ci    pub fn mkdir(arg1: *const c_char, arg2: __mode_t) -> c_int;
8212add0d91Sopenharmony_ci
8222add0d91Sopenharmony_ci    // fcntl.h
8232add0d91Sopenharmony_ci    pub fn open(arg1: *const c_char, arg2: c_int, ...) -> c_int;
8242add0d91Sopenharmony_ci    pub fn creat(arg1: *const c_char, arg2: c_int) -> c_int;
8252add0d91Sopenharmony_ci    pub fn close(arg1: c_int) -> c_int;
8262add0d91Sopenharmony_ci    pub fn read(arg1: c_int, arg2: *mut c_void, arg3: c_int) -> c_int;
8272add0d91Sopenharmony_ci    pub fn write(arg1: c_int, arg2: *const c_void, arg3: c_int) -> c_int;
8282add0d91Sopenharmony_ci    pub fn unlink(arg1: *const c_char) -> c_int;
8292add0d91Sopenharmony_ci    pub fn tell(arg1: c_int) -> c_long;
8302add0d91Sopenharmony_ci    pub fn dup(arg1: c_int) -> c_int;
8312add0d91Sopenharmony_ci    pub fn dup2(arg1: c_int, arg2: c_int) -> c_int;
8322add0d91Sopenharmony_ci    pub fn access(arg1: *const c_char, arg2: c_int) -> c_int;
8332add0d91Sopenharmony_ci    pub fn rmdir(arg1: *const c_char) -> c_int;
8342add0d91Sopenharmony_ci    pub fn chdir(arg1: *const c_char) -> c_int;
8352add0d91Sopenharmony_ci    pub fn _exit(arg1: c_int);
8362add0d91Sopenharmony_ci    pub fn getwd(arg1: *mut c_char) -> *mut c_char;
8372add0d91Sopenharmony_ci    pub fn getcwd(arg1: *mut c_char, arg2: size_t) -> *mut c_char;
8382add0d91Sopenharmony_ci    pub static mut optarg: *mut c_char;
8392add0d91Sopenharmony_ci    pub static mut opterr: c_int;
8402add0d91Sopenharmony_ci    pub static mut optind: c_int;
8412add0d91Sopenharmony_ci    pub static mut optopt: c_int;
8422add0d91Sopenharmony_ci    pub static mut optreset: c_int;
8432add0d91Sopenharmony_ci    pub fn getopt(arg1: c_int, arg2: *mut *mut c_char, arg3: *const c_char) -> c_int;
8442add0d91Sopenharmony_ci    pub static mut suboptarg: *mut c_char;
8452add0d91Sopenharmony_ci    pub fn getsubopt(
8462add0d91Sopenharmony_ci        arg1: *mut *mut c_char,
8472add0d91Sopenharmony_ci        arg2: *const *mut c_char,
8482add0d91Sopenharmony_ci        arg3: *mut *mut c_char,
8492add0d91Sopenharmony_ci    ) -> c_int;
8502add0d91Sopenharmony_ci    pub fn fcntl(arg1: c_int, arg2: c_int, ...) -> c_int;
8512add0d91Sopenharmony_ci    pub fn getpid() -> pid_t;
8522add0d91Sopenharmony_ci    pub fn sleep(arg1: c_uint) -> c_uint;
8532add0d91Sopenharmony_ci    pub fn usleep(arg1: useconds_t) -> c_int;
8542add0d91Sopenharmony_ci
8552add0d91Sopenharmony_ci    // locale.h
8562add0d91Sopenharmony_ci    pub fn localeconv() -> *mut lconv;
8572add0d91Sopenharmony_ci    pub fn setlocale(arg1: c_int, arg2: *const c_char) -> *mut c_char;
8582add0d91Sopenharmony_ci    pub fn duplocale(arg1: locale_t) -> locale_t;
8592add0d91Sopenharmony_ci    pub fn freelocale(arg1: locale_t);
8602add0d91Sopenharmony_ci    pub fn localeconv_l(arg1: locale_t) -> *mut lconv;
8612add0d91Sopenharmony_ci    pub fn newlocale(arg1: c_int, arg2: *const c_char, arg3: locale_t) -> locale_t;
8622add0d91Sopenharmony_ci
8632add0d91Sopenharmony_ci    // langinfo.h
8642add0d91Sopenharmony_ci    pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
8652add0d91Sopenharmony_ci    pub fn nl_langinfo_l(item: ::nl_item, locale: locale_t) -> *mut ::c_char;
8662add0d91Sopenharmony_ci
8672add0d91Sopenharmony_ci    // malloc.h
8682add0d91Sopenharmony_ci    pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
8692add0d91Sopenharmony_ci
8702add0d91Sopenharmony_ci    // sys/types.h
8712add0d91Sopenharmony_ci    pub fn lseek(arg1: c_int, arg2: __off_t, arg3: c_int) -> __off_t;
8722add0d91Sopenharmony_ci}
8732add0d91Sopenharmony_ci
8742add0d91Sopenharmony_cicfg_if! {
8752add0d91Sopenharmony_ci    if #[cfg(libc_core_cvoid)] {
8762add0d91Sopenharmony_ci        pub use ::ffi::c_void;
8772add0d91Sopenharmony_ci    } else {
8782add0d91Sopenharmony_ci        // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help
8792add0d91Sopenharmony_ci        // enable more optimization opportunities around it recognizing things
8802add0d91Sopenharmony_ci        // like malloc/free.
8812add0d91Sopenharmony_ci        #[repr(u8)]
8822add0d91Sopenharmony_ci        #[allow(missing_copy_implementations)]
8832add0d91Sopenharmony_ci        #[allow(missing_debug_implementations)]
8842add0d91Sopenharmony_ci        pub enum c_void {
8852add0d91Sopenharmony_ci            // Two dummy variants so the #[repr] attribute can be used.
8862add0d91Sopenharmony_ci            #[doc(hidden)]
8872add0d91Sopenharmony_ci            __variant1,
8882add0d91Sopenharmony_ci            #[doc(hidden)]
8892add0d91Sopenharmony_ci            __variant2,
8902add0d91Sopenharmony_ci        }
8912add0d91Sopenharmony_ci    }
8922add0d91Sopenharmony_ci}
8932add0d91Sopenharmony_ci
8942add0d91Sopenharmony_cicfg_if! {
8952add0d91Sopenharmony_ci    if #[cfg(target_arch = "aarch64")] {
8962add0d91Sopenharmony_ci        mod aarch64;
8972add0d91Sopenharmony_ci        pub use self::aarch64::*;
8982add0d91Sopenharmony_ci    } else if #[cfg(any(target_arch = "arm"))] {
8992add0d91Sopenharmony_ci        mod arm;
9002add0d91Sopenharmony_ci        pub use self::arm::*;
9012add0d91Sopenharmony_ci    } else {
9022add0d91Sopenharmony_ci        // Unknown target_arch
9032add0d91Sopenharmony_ci    }
9042add0d91Sopenharmony_ci}
905