12add0d91Sopenharmony_cipub type c_char = i8;
22add0d91Sopenharmony_cipub type c_long = i64;
32add0d91Sopenharmony_cipub type c_ulong = u64;
42add0d91Sopenharmony_cipub type caddr_t = *mut ::c_char;
52add0d91Sopenharmony_ci
62add0d91Sopenharmony_cipub type clockid_t = ::c_int;
72add0d91Sopenharmony_cipub type blkcnt_t = ::c_long;
82add0d91Sopenharmony_cipub type clock_t = ::c_long;
92add0d91Sopenharmony_cipub type daddr_t = ::c_long;
102add0d91Sopenharmony_cipub type dev_t = ::c_ulong;
112add0d91Sopenharmony_cipub type fsblkcnt_t = ::c_ulong;
122add0d91Sopenharmony_cipub type fsfilcnt_t = ::c_ulong;
132add0d91Sopenharmony_cipub type ino_t = ::c_ulong;
142add0d91Sopenharmony_cipub type key_t = ::c_int;
152add0d91Sopenharmony_cipub type major_t = ::c_uint;
162add0d91Sopenharmony_cipub type minor_t = ::c_uint;
172add0d91Sopenharmony_cipub type mode_t = ::c_uint;
182add0d91Sopenharmony_cipub type nlink_t = ::c_uint;
192add0d91Sopenharmony_cipub type rlim_t = ::c_ulong;
202add0d91Sopenharmony_cipub type speed_t = ::c_uint;
212add0d91Sopenharmony_cipub type tcflag_t = ::c_uint;
222add0d91Sopenharmony_cipub type time_t = ::c_long;
232add0d91Sopenharmony_cipub type timer_t = ::c_int;
242add0d91Sopenharmony_cipub type wchar_t = ::c_int;
252add0d91Sopenharmony_cipub type nfds_t = ::c_ulong;
262add0d91Sopenharmony_cipub type projid_t = ::c_int;
272add0d91Sopenharmony_cipub type zoneid_t = ::c_int;
282add0d91Sopenharmony_cipub type psetid_t = ::c_int;
292add0d91Sopenharmony_cipub type processorid_t = ::c_int;
302add0d91Sopenharmony_cipub type chipid_t = ::c_int;
312add0d91Sopenharmony_cipub type ctid_t = ::id_t;
322add0d91Sopenharmony_ci
332add0d91Sopenharmony_cipub type suseconds_t = ::c_long;
342add0d91Sopenharmony_cipub type off_t = ::c_long;
352add0d91Sopenharmony_cipub type useconds_t = ::c_uint;
362add0d91Sopenharmony_cipub type socklen_t = ::c_uint;
372add0d91Sopenharmony_cipub type sa_family_t = u16;
382add0d91Sopenharmony_cipub type pthread_t = ::c_uint;
392add0d91Sopenharmony_cipub type pthread_key_t = ::c_uint;
402add0d91Sopenharmony_cipub type thread_t = ::c_uint;
412add0d91Sopenharmony_cipub type blksize_t = ::c_int;
422add0d91Sopenharmony_cipub type nl_item = ::c_int;
432add0d91Sopenharmony_cipub type mqd_t = *mut ::c_void;
442add0d91Sopenharmony_cipub type id_t = ::c_int;
452add0d91Sopenharmony_cipub type idtype_t = ::c_uint;
462add0d91Sopenharmony_cipub type shmatt_t = ::c_ulong;
472add0d91Sopenharmony_ci
482add0d91Sopenharmony_cipub type lgrp_rsrc_t = ::c_int;
492add0d91Sopenharmony_cipub type lgrp_affinity_t = ::c_int;
502add0d91Sopenharmony_cipub type lgrp_id_t = ::id_t;
512add0d91Sopenharmony_cipub type lgrp_mem_size_t = ::c_longlong;
522add0d91Sopenharmony_cipub type lgrp_cookie_t = ::uintptr_t;
532add0d91Sopenharmony_cipub type lgrp_content_t = ::c_uint;
542add0d91Sopenharmony_cipub type lgrp_lat_between_t = ::c_uint;
552add0d91Sopenharmony_cipub type lgrp_mem_size_flag_t = ::c_uint;
562add0d91Sopenharmony_cipub type lgrp_view_t = ::c_uint;
572add0d91Sopenharmony_ci
582add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))]
592add0d91Sopenharmony_cipub enum timezone {}
602add0d91Sopenharmony_ciimpl ::Copy for timezone {}
612add0d91Sopenharmony_ciimpl ::Clone for timezone {
622add0d91Sopenharmony_ci    fn clone(&self) -> timezone {
632add0d91Sopenharmony_ci        *self
642add0d91Sopenharmony_ci    }
652add0d91Sopenharmony_ci}
662add0d91Sopenharmony_ci
672add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))]
682add0d91Sopenharmony_cipub enum ucred_t {}
692add0d91Sopenharmony_ciimpl ::Copy for ucred_t {}
702add0d91Sopenharmony_ciimpl ::Clone for ucred_t {
712add0d91Sopenharmony_ci    fn clone(&self) -> ucred_t {
722add0d91Sopenharmony_ci        *self
732add0d91Sopenharmony_ci    }
742add0d91Sopenharmony_ci}
752add0d91Sopenharmony_ci
762add0d91Sopenharmony_cis! {
772add0d91Sopenharmony_ci    pub struct in_addr {
782add0d91Sopenharmony_ci        pub s_addr: ::in_addr_t,
792add0d91Sopenharmony_ci    }
802add0d91Sopenharmony_ci
812add0d91Sopenharmony_ci    pub struct ip_mreq {
822add0d91Sopenharmony_ci        pub imr_multiaddr: in_addr,
832add0d91Sopenharmony_ci        pub imr_interface: in_addr,
842add0d91Sopenharmony_ci    }
852add0d91Sopenharmony_ci
862add0d91Sopenharmony_ci    pub struct ip_mreq_source {
872add0d91Sopenharmony_ci        pub imr_multiaddr: in_addr,
882add0d91Sopenharmony_ci        pub imr_sourceaddr: in_addr,
892add0d91Sopenharmony_ci        pub imr_interface: in_addr,
902add0d91Sopenharmony_ci    }
912add0d91Sopenharmony_ci
922add0d91Sopenharmony_ci    pub struct ipc_perm {
932add0d91Sopenharmony_ci        pub uid: ::uid_t,
942add0d91Sopenharmony_ci        pub gid: ::gid_t,
952add0d91Sopenharmony_ci        pub cuid: ::uid_t,
962add0d91Sopenharmony_ci        pub cgid: ::gid_t,
972add0d91Sopenharmony_ci        pub mode: ::mode_t,
982add0d91Sopenharmony_ci        pub seq: ::c_uint,
992add0d91Sopenharmony_ci        pub key: ::key_t,
1002add0d91Sopenharmony_ci    }
1012add0d91Sopenharmony_ci
1022add0d91Sopenharmony_ci    pub struct sockaddr {
1032add0d91Sopenharmony_ci        pub sa_family: sa_family_t,
1042add0d91Sopenharmony_ci        pub sa_data: [::c_char; 14],
1052add0d91Sopenharmony_ci    }
1062add0d91Sopenharmony_ci
1072add0d91Sopenharmony_ci    pub struct sockaddr_in {
1082add0d91Sopenharmony_ci        pub sin_family: sa_family_t,
1092add0d91Sopenharmony_ci        pub sin_port: ::in_port_t,
1102add0d91Sopenharmony_ci        pub sin_addr: ::in_addr,
1112add0d91Sopenharmony_ci        pub sin_zero: [::c_char; 8]
1122add0d91Sopenharmony_ci    }
1132add0d91Sopenharmony_ci
1142add0d91Sopenharmony_ci    pub struct sockaddr_in6 {
1152add0d91Sopenharmony_ci        pub sin6_family: sa_family_t,
1162add0d91Sopenharmony_ci        pub sin6_port: ::in_port_t,
1172add0d91Sopenharmony_ci        pub sin6_flowinfo: u32,
1182add0d91Sopenharmony_ci        pub sin6_addr: ::in6_addr,
1192add0d91Sopenharmony_ci        pub sin6_scope_id: u32,
1202add0d91Sopenharmony_ci        pub __sin6_src_id: u32
1212add0d91Sopenharmony_ci    }
1222add0d91Sopenharmony_ci
1232add0d91Sopenharmony_ci    pub struct passwd {
1242add0d91Sopenharmony_ci        pub pw_name: *mut ::c_char,
1252add0d91Sopenharmony_ci        pub pw_passwd: *mut ::c_char,
1262add0d91Sopenharmony_ci        pub pw_uid: ::uid_t,
1272add0d91Sopenharmony_ci        pub pw_gid: ::gid_t,
1282add0d91Sopenharmony_ci        pub pw_age: *mut ::c_char,
1292add0d91Sopenharmony_ci        pub pw_comment: *mut ::c_char,
1302add0d91Sopenharmony_ci        pub pw_gecos: *mut ::c_char,
1312add0d91Sopenharmony_ci        pub pw_dir: *mut ::c_char,
1322add0d91Sopenharmony_ci        pub pw_shell: *mut ::c_char
1332add0d91Sopenharmony_ci    }
1342add0d91Sopenharmony_ci
1352add0d91Sopenharmony_ci    pub struct ifaddrs {
1362add0d91Sopenharmony_ci        pub ifa_next: *mut ifaddrs,
1372add0d91Sopenharmony_ci        pub ifa_name: *mut ::c_char,
1382add0d91Sopenharmony_ci        pub ifa_flags: ::c_ulong,
1392add0d91Sopenharmony_ci        pub ifa_addr: *mut ::sockaddr,
1402add0d91Sopenharmony_ci        pub ifa_netmask: *mut ::sockaddr,
1412add0d91Sopenharmony_ci        pub ifa_dstaddr: *mut ::sockaddr,
1422add0d91Sopenharmony_ci        pub ifa_data: *mut ::c_void
1432add0d91Sopenharmony_ci    }
1442add0d91Sopenharmony_ci
1452add0d91Sopenharmony_ci    pub struct itimerspec {
1462add0d91Sopenharmony_ci        pub it_interval: ::timespec,
1472add0d91Sopenharmony_ci        pub it_value: ::timespec,
1482add0d91Sopenharmony_ci    }
1492add0d91Sopenharmony_ci
1502add0d91Sopenharmony_ci    pub struct tm {
1512add0d91Sopenharmony_ci        pub tm_sec: ::c_int,
1522add0d91Sopenharmony_ci        pub tm_min: ::c_int,
1532add0d91Sopenharmony_ci        pub tm_hour: ::c_int,
1542add0d91Sopenharmony_ci        pub tm_mday: ::c_int,
1552add0d91Sopenharmony_ci        pub tm_mon: ::c_int,
1562add0d91Sopenharmony_ci        pub tm_year: ::c_int,
1572add0d91Sopenharmony_ci        pub tm_wday: ::c_int,
1582add0d91Sopenharmony_ci        pub tm_yday: ::c_int,
1592add0d91Sopenharmony_ci        pub tm_isdst: ::c_int
1602add0d91Sopenharmony_ci    }
1612add0d91Sopenharmony_ci
1622add0d91Sopenharmony_ci     pub struct msghdr {
1632add0d91Sopenharmony_ci        pub msg_name: *mut ::c_void,
1642add0d91Sopenharmony_ci        pub msg_namelen: ::socklen_t,
1652add0d91Sopenharmony_ci        pub msg_iov: *mut ::iovec,
1662add0d91Sopenharmony_ci        pub msg_iovlen: ::c_int,
1672add0d91Sopenharmony_ci        pub msg_control: *mut ::c_void,
1682add0d91Sopenharmony_ci        pub msg_controllen: ::socklen_t,
1692add0d91Sopenharmony_ci        pub msg_flags: ::c_int,
1702add0d91Sopenharmony_ci    }
1712add0d91Sopenharmony_ci
1722add0d91Sopenharmony_ci    pub struct cmsghdr {
1732add0d91Sopenharmony_ci        pub cmsg_len: ::socklen_t,
1742add0d91Sopenharmony_ci        pub cmsg_level: ::c_int,
1752add0d91Sopenharmony_ci        pub cmsg_type: ::c_int,
1762add0d91Sopenharmony_ci    }
1772add0d91Sopenharmony_ci
1782add0d91Sopenharmony_ci    pub struct pthread_attr_t {
1792add0d91Sopenharmony_ci        __pthread_attrp: *mut ::c_void
1802add0d91Sopenharmony_ci    }
1812add0d91Sopenharmony_ci
1822add0d91Sopenharmony_ci    pub struct pthread_mutex_t {
1832add0d91Sopenharmony_ci        __pthread_mutex_flag1: u16,
1842add0d91Sopenharmony_ci        __pthread_mutex_flag2: u8,
1852add0d91Sopenharmony_ci        __pthread_mutex_ceiling: u8,
1862add0d91Sopenharmony_ci        __pthread_mutex_type: u16,
1872add0d91Sopenharmony_ci        __pthread_mutex_magic: u16,
1882add0d91Sopenharmony_ci        __pthread_mutex_lock: u64,
1892add0d91Sopenharmony_ci        __pthread_mutex_data: u64
1902add0d91Sopenharmony_ci    }
1912add0d91Sopenharmony_ci
1922add0d91Sopenharmony_ci    pub struct pthread_mutexattr_t {
1932add0d91Sopenharmony_ci        __pthread_mutexattrp: *mut ::c_void
1942add0d91Sopenharmony_ci    }
1952add0d91Sopenharmony_ci
1962add0d91Sopenharmony_ci    pub struct pthread_cond_t {
1972add0d91Sopenharmony_ci        __pthread_cond_flag: [u8; 4],
1982add0d91Sopenharmony_ci        __pthread_cond_type: u16,
1992add0d91Sopenharmony_ci        __pthread_cond_magic: u16,
2002add0d91Sopenharmony_ci        __pthread_cond_data: u64
2012add0d91Sopenharmony_ci    }
2022add0d91Sopenharmony_ci
2032add0d91Sopenharmony_ci    pub struct pthread_condattr_t {
2042add0d91Sopenharmony_ci        __pthread_condattrp: *mut ::c_void,
2052add0d91Sopenharmony_ci    }
2062add0d91Sopenharmony_ci
2072add0d91Sopenharmony_ci    pub struct pthread_rwlock_t {
2082add0d91Sopenharmony_ci        __pthread_rwlock_readers: i32,
2092add0d91Sopenharmony_ci        __pthread_rwlock_type: u16,
2102add0d91Sopenharmony_ci        __pthread_rwlock_magic: u16,
2112add0d91Sopenharmony_ci        __pthread_rwlock_mutex: ::pthread_mutex_t,
2122add0d91Sopenharmony_ci        __pthread_rwlock_readercv: ::pthread_cond_t,
2132add0d91Sopenharmony_ci        __pthread_rwlock_writercv: ::pthread_cond_t
2142add0d91Sopenharmony_ci    }
2152add0d91Sopenharmony_ci
2162add0d91Sopenharmony_ci    pub struct pthread_rwlockattr_t {
2172add0d91Sopenharmony_ci        __pthread_rwlockattrp: *mut ::c_void,
2182add0d91Sopenharmony_ci    }
2192add0d91Sopenharmony_ci
2202add0d91Sopenharmony_ci    pub struct dirent {
2212add0d91Sopenharmony_ci        pub d_ino: ::ino_t,
2222add0d91Sopenharmony_ci        pub d_off: ::off_t,
2232add0d91Sopenharmony_ci        pub d_reclen: u16,
2242add0d91Sopenharmony_ci        pub d_name: [::c_char; 3]
2252add0d91Sopenharmony_ci    }
2262add0d91Sopenharmony_ci
2272add0d91Sopenharmony_ci    pub struct glob_t {
2282add0d91Sopenharmony_ci        pub gl_pathc: ::size_t,
2292add0d91Sopenharmony_ci        pub gl_pathv:  *mut *mut ::c_char,
2302add0d91Sopenharmony_ci        pub gl_offs: ::size_t,
2312add0d91Sopenharmony_ci        __unused1: *mut ::c_void,
2322add0d91Sopenharmony_ci        __unused2: ::c_int,
2332add0d91Sopenharmony_ci        __unused3: ::c_int,
2342add0d91Sopenharmony_ci        __unused4: ::c_int,
2352add0d91Sopenharmony_ci        __unused5: *mut ::c_void,
2362add0d91Sopenharmony_ci        __unused6: *mut ::c_void,
2372add0d91Sopenharmony_ci        __unused7: *mut ::c_void,
2382add0d91Sopenharmony_ci        __unused8: *mut ::c_void,
2392add0d91Sopenharmony_ci        __unused9: *mut ::c_void,
2402add0d91Sopenharmony_ci        __unused10: *mut ::c_void,
2412add0d91Sopenharmony_ci    }
2422add0d91Sopenharmony_ci
2432add0d91Sopenharmony_ci    pub struct addrinfo {
2442add0d91Sopenharmony_ci        pub ai_flags: ::c_int,
2452add0d91Sopenharmony_ci        pub ai_family: ::c_int,
2462add0d91Sopenharmony_ci        pub ai_socktype: ::c_int,
2472add0d91Sopenharmony_ci        pub ai_protocol: ::c_int,
2482add0d91Sopenharmony_ci        #[cfg(target_arch = "sparc64")]
2492add0d91Sopenharmony_ci        __sparcv9_pad: ::c_int,
2502add0d91Sopenharmony_ci        pub ai_addrlen: ::socklen_t,
2512add0d91Sopenharmony_ci        pub ai_canonname: *mut ::c_char,
2522add0d91Sopenharmony_ci        pub ai_addr: *mut ::sockaddr,
2532add0d91Sopenharmony_ci        pub ai_next: *mut addrinfo,
2542add0d91Sopenharmony_ci    }
2552add0d91Sopenharmony_ci
2562add0d91Sopenharmony_ci    pub struct sigset_t {
2572add0d91Sopenharmony_ci        bits: [u32; 4],
2582add0d91Sopenharmony_ci    }
2592add0d91Sopenharmony_ci
2602add0d91Sopenharmony_ci    pub struct sigaction {
2612add0d91Sopenharmony_ci        pub sa_flags: ::c_int,
2622add0d91Sopenharmony_ci        pub sa_sigaction: ::sighandler_t,
2632add0d91Sopenharmony_ci        pub sa_mask: sigset_t,
2642add0d91Sopenharmony_ci    }
2652add0d91Sopenharmony_ci
2662add0d91Sopenharmony_ci    pub struct stack_t {
2672add0d91Sopenharmony_ci        pub ss_sp: *mut ::c_void,
2682add0d91Sopenharmony_ci        pub ss_size: ::size_t,
2692add0d91Sopenharmony_ci        pub ss_flags: ::c_int,
2702add0d91Sopenharmony_ci    }
2712add0d91Sopenharmony_ci
2722add0d91Sopenharmony_ci    pub struct statvfs {
2732add0d91Sopenharmony_ci        pub f_bsize: ::c_ulong,
2742add0d91Sopenharmony_ci        pub f_frsize: ::c_ulong,
2752add0d91Sopenharmony_ci        pub f_blocks: ::fsblkcnt_t,
2762add0d91Sopenharmony_ci        pub f_bfree: ::fsblkcnt_t,
2772add0d91Sopenharmony_ci        pub f_bavail: ::fsblkcnt_t,
2782add0d91Sopenharmony_ci        pub f_files: ::fsfilcnt_t,
2792add0d91Sopenharmony_ci        pub f_ffree: ::fsfilcnt_t,
2802add0d91Sopenharmony_ci        pub f_favail: ::fsfilcnt_t,
2812add0d91Sopenharmony_ci        pub f_fsid: ::c_ulong,
2822add0d91Sopenharmony_ci        pub f_basetype: [::c_char; 16],
2832add0d91Sopenharmony_ci        pub f_flag: ::c_ulong,
2842add0d91Sopenharmony_ci        pub f_namemax: ::c_ulong,
2852add0d91Sopenharmony_ci        pub f_fstr: [::c_char; 32]
2862add0d91Sopenharmony_ci    }
2872add0d91Sopenharmony_ci
2882add0d91Sopenharmony_ci    pub struct sendfilevec_t {
2892add0d91Sopenharmony_ci        pub sfv_fd: ::c_int,
2902add0d91Sopenharmony_ci        pub sfv_flag: ::c_uint,
2912add0d91Sopenharmony_ci        pub sfv_off: ::off_t,
2922add0d91Sopenharmony_ci        pub sfv_len: ::size_t,
2932add0d91Sopenharmony_ci    }
2942add0d91Sopenharmony_ci
2952add0d91Sopenharmony_ci    pub struct sched_param {
2962add0d91Sopenharmony_ci        pub sched_priority: ::c_int,
2972add0d91Sopenharmony_ci        sched_pad: [::c_int; 8]
2982add0d91Sopenharmony_ci    }
2992add0d91Sopenharmony_ci
3002add0d91Sopenharmony_ci    pub struct Dl_info {
3012add0d91Sopenharmony_ci        pub dli_fname: *const ::c_char,
3022add0d91Sopenharmony_ci        pub dli_fbase: *mut ::c_void,
3032add0d91Sopenharmony_ci        pub dli_sname: *const ::c_char,
3042add0d91Sopenharmony_ci        pub dli_saddr: *mut ::c_void,
3052add0d91Sopenharmony_ci    }
3062add0d91Sopenharmony_ci
3072add0d91Sopenharmony_ci    pub struct stat {
3082add0d91Sopenharmony_ci        pub st_dev: ::dev_t,
3092add0d91Sopenharmony_ci        pub st_ino: ::ino_t,
3102add0d91Sopenharmony_ci        pub st_mode: ::mode_t,
3112add0d91Sopenharmony_ci        pub st_nlink: ::nlink_t,
3122add0d91Sopenharmony_ci        pub st_uid: ::uid_t,
3132add0d91Sopenharmony_ci        pub st_gid: ::gid_t,
3142add0d91Sopenharmony_ci        pub st_rdev: ::dev_t,
3152add0d91Sopenharmony_ci        pub st_size: ::off_t,
3162add0d91Sopenharmony_ci        pub st_atime: ::time_t,
3172add0d91Sopenharmony_ci        pub st_atime_nsec: ::c_long,
3182add0d91Sopenharmony_ci        pub st_mtime: ::time_t,
3192add0d91Sopenharmony_ci        pub st_mtime_nsec: ::c_long,
3202add0d91Sopenharmony_ci        pub st_ctime: ::time_t,
3212add0d91Sopenharmony_ci        pub st_ctime_nsec: ::c_long,
3222add0d91Sopenharmony_ci        pub st_blksize: ::blksize_t,
3232add0d91Sopenharmony_ci        pub st_blocks: ::blkcnt_t,
3242add0d91Sopenharmony_ci        __unused: [::c_char; 16]
3252add0d91Sopenharmony_ci    }
3262add0d91Sopenharmony_ci
3272add0d91Sopenharmony_ci    pub struct termios {
3282add0d91Sopenharmony_ci        pub c_iflag: ::tcflag_t,
3292add0d91Sopenharmony_ci        pub c_oflag: ::tcflag_t,
3302add0d91Sopenharmony_ci        pub c_cflag: ::tcflag_t,
3312add0d91Sopenharmony_ci        pub c_lflag: ::tcflag_t,
3322add0d91Sopenharmony_ci        pub c_cc: [::cc_t; ::NCCS]
3332add0d91Sopenharmony_ci    }
3342add0d91Sopenharmony_ci
3352add0d91Sopenharmony_ci    pub struct lconv {
3362add0d91Sopenharmony_ci        pub decimal_point: *mut ::c_char,
3372add0d91Sopenharmony_ci        pub thousands_sep: *mut ::c_char,
3382add0d91Sopenharmony_ci        pub grouping: *mut ::c_char,
3392add0d91Sopenharmony_ci        pub int_curr_symbol: *mut ::c_char,
3402add0d91Sopenharmony_ci        pub currency_symbol: *mut ::c_char,
3412add0d91Sopenharmony_ci        pub mon_decimal_point: *mut ::c_char,
3422add0d91Sopenharmony_ci        pub mon_thousands_sep: *mut ::c_char,
3432add0d91Sopenharmony_ci        pub mon_grouping: *mut ::c_char,
3442add0d91Sopenharmony_ci        pub positive_sign: *mut ::c_char,
3452add0d91Sopenharmony_ci        pub negative_sign: *mut ::c_char,
3462add0d91Sopenharmony_ci        pub int_frac_digits: ::c_char,
3472add0d91Sopenharmony_ci        pub frac_digits: ::c_char,
3482add0d91Sopenharmony_ci        pub p_cs_precedes: ::c_char,
3492add0d91Sopenharmony_ci        pub p_sep_by_space: ::c_char,
3502add0d91Sopenharmony_ci        pub n_cs_precedes: ::c_char,
3512add0d91Sopenharmony_ci        pub n_sep_by_space: ::c_char,
3522add0d91Sopenharmony_ci        pub p_sign_posn: ::c_char,
3532add0d91Sopenharmony_ci        pub n_sign_posn: ::c_char,
3542add0d91Sopenharmony_ci        pub int_p_cs_precedes: ::c_char,
3552add0d91Sopenharmony_ci        pub int_p_sep_by_space: ::c_char,
3562add0d91Sopenharmony_ci        pub int_n_cs_precedes: ::c_char,
3572add0d91Sopenharmony_ci        pub int_n_sep_by_space: ::c_char,
3582add0d91Sopenharmony_ci        pub int_p_sign_posn: ::c_char,
3592add0d91Sopenharmony_ci        pub int_n_sign_posn: ::c_char,
3602add0d91Sopenharmony_ci    }
3612add0d91Sopenharmony_ci
3622add0d91Sopenharmony_ci    pub struct sem_t {
3632add0d91Sopenharmony_ci        pub sem_count: u32,
3642add0d91Sopenharmony_ci        pub sem_type: u16,
3652add0d91Sopenharmony_ci        pub sem_magic: u16,
3662add0d91Sopenharmony_ci        pub sem_pad1: [u64; 3],
3672add0d91Sopenharmony_ci        pub sem_pad2: [u64; 2]
3682add0d91Sopenharmony_ci    }
3692add0d91Sopenharmony_ci
3702add0d91Sopenharmony_ci    pub struct flock {
3712add0d91Sopenharmony_ci        pub l_type: ::c_short,
3722add0d91Sopenharmony_ci        pub l_whence: ::c_short,
3732add0d91Sopenharmony_ci        pub l_start: ::off_t,
3742add0d91Sopenharmony_ci        pub l_len: ::off_t,
3752add0d91Sopenharmony_ci        pub l_sysid: ::c_int,
3762add0d91Sopenharmony_ci        pub l_pid: ::pid_t,
3772add0d91Sopenharmony_ci        pub l_pad: [::c_long; 4]
3782add0d91Sopenharmony_ci    }
3792add0d91Sopenharmony_ci
3802add0d91Sopenharmony_ci    pub struct if_nameindex {
3812add0d91Sopenharmony_ci        pub if_index: ::c_uint,
3822add0d91Sopenharmony_ci        pub if_name: *mut ::c_char,
3832add0d91Sopenharmony_ci    }
3842add0d91Sopenharmony_ci
3852add0d91Sopenharmony_ci    pub struct mq_attr {
3862add0d91Sopenharmony_ci        pub mq_flags: ::c_long,
3872add0d91Sopenharmony_ci        pub mq_maxmsg: ::c_long,
3882add0d91Sopenharmony_ci        pub mq_msgsize: ::c_long,
3892add0d91Sopenharmony_ci        pub mq_curmsgs: ::c_long,
3902add0d91Sopenharmony_ci        _pad: [::c_int; 12]
3912add0d91Sopenharmony_ci    }
3922add0d91Sopenharmony_ci
3932add0d91Sopenharmony_ci    pub struct port_event {
3942add0d91Sopenharmony_ci        pub portev_events: ::c_int,
3952add0d91Sopenharmony_ci        pub portev_source: ::c_ushort,
3962add0d91Sopenharmony_ci        pub portev_pad: ::c_ushort,
3972add0d91Sopenharmony_ci        pub portev_object: ::uintptr_t,
3982add0d91Sopenharmony_ci        pub portev_user: *mut ::c_void,
3992add0d91Sopenharmony_ci    }
4002add0d91Sopenharmony_ci
4012add0d91Sopenharmony_ci    pub struct port_notify {
4022add0d91Sopenharmony_ci        pub portnfy_port: ::c_int,
4032add0d91Sopenharmony_ci        pub portnfy_user: *mut ::c_void,
4042add0d91Sopenharmony_ci    }
4052add0d91Sopenharmony_ci
4062add0d91Sopenharmony_ci    pub struct exit_status {
4072add0d91Sopenharmony_ci        e_termination: ::c_short,
4082add0d91Sopenharmony_ci        e_exit: ::c_short,
4092add0d91Sopenharmony_ci    }
4102add0d91Sopenharmony_ci
4112add0d91Sopenharmony_ci    pub struct utmp {
4122add0d91Sopenharmony_ci        pub ut_user: [::c_char; 8],
4132add0d91Sopenharmony_ci        pub ut_id: [::c_char; 4],
4142add0d91Sopenharmony_ci        pub ut_line: [::c_char; 12],
4152add0d91Sopenharmony_ci        pub ut_pid: ::c_short,
4162add0d91Sopenharmony_ci        pub ut_type: ::c_short,
4172add0d91Sopenharmony_ci        pub ut_exit: exit_status,
4182add0d91Sopenharmony_ci        pub ut_time: ::time_t,
4192add0d91Sopenharmony_ci    }
4202add0d91Sopenharmony_ci
4212add0d91Sopenharmony_ci    pub struct timex {
4222add0d91Sopenharmony_ci        pub modes: u32,
4232add0d91Sopenharmony_ci        pub offset: i32,
4242add0d91Sopenharmony_ci        pub freq: i32,
4252add0d91Sopenharmony_ci        pub maxerror: i32,
4262add0d91Sopenharmony_ci        pub esterror: i32,
4272add0d91Sopenharmony_ci        pub status: i32,
4282add0d91Sopenharmony_ci        pub constant: i32,
4292add0d91Sopenharmony_ci        pub precision: i32,
4302add0d91Sopenharmony_ci        pub tolerance: i32,
4312add0d91Sopenharmony_ci        pub ppsfreq: i32,
4322add0d91Sopenharmony_ci        pub jitter: i32,
4332add0d91Sopenharmony_ci        pub shift: i32,
4342add0d91Sopenharmony_ci        pub stabil: i32,
4352add0d91Sopenharmony_ci        pub jitcnt: i32,
4362add0d91Sopenharmony_ci        pub calcnt: i32,
4372add0d91Sopenharmony_ci        pub errcnt: i32,
4382add0d91Sopenharmony_ci        pub stbcnt: i32,
4392add0d91Sopenharmony_ci    }
4402add0d91Sopenharmony_ci
4412add0d91Sopenharmony_ci    pub struct ntptimeval {
4422add0d91Sopenharmony_ci        pub time: ::timeval,
4432add0d91Sopenharmony_ci        pub maxerror: i32,
4442add0d91Sopenharmony_ci        pub esterror: i32,
4452add0d91Sopenharmony_ci    }
4462add0d91Sopenharmony_ci
4472add0d91Sopenharmony_ci    pub struct mmapobj_result_t {
4482add0d91Sopenharmony_ci        pub mr_addr: ::caddr_t,
4492add0d91Sopenharmony_ci        pub mr_msize: ::size_t,
4502add0d91Sopenharmony_ci        pub mr_fsize: ::size_t,
4512add0d91Sopenharmony_ci        pub mr_offset: ::size_t,
4522add0d91Sopenharmony_ci        pub mr_prot: ::c_uint,
4532add0d91Sopenharmony_ci        pub mr_flags: ::c_uint,
4542add0d91Sopenharmony_ci    }
4552add0d91Sopenharmony_ci
4562add0d91Sopenharmony_ci    pub struct lgrp_affinity_args {
4572add0d91Sopenharmony_ci        pub idtype: ::idtype_t,
4582add0d91Sopenharmony_ci        pub id: ::id_t,
4592add0d91Sopenharmony_ci        pub lgrp: ::lgrp_id_t,
4602add0d91Sopenharmony_ci        pub aff: ::lgrp_affinity_t,
4612add0d91Sopenharmony_ci    }
4622add0d91Sopenharmony_ci
4632add0d91Sopenharmony_ci    pub struct processor_info_t {
4642add0d91Sopenharmony_ci        pub pi_state: ::c_int,
4652add0d91Sopenharmony_ci        pub pi_processor_type: [::c_char; PI_TYPELEN as usize],
4662add0d91Sopenharmony_ci        pub pi_fputypes: [::c_char; PI_FPUTYPE as usize],
4672add0d91Sopenharmony_ci        pub pi_clock: ::c_int,
4682add0d91Sopenharmony_ci    }
4692add0d91Sopenharmony_ci
4702add0d91Sopenharmony_ci    pub struct option {
4712add0d91Sopenharmony_ci        pub name: *const ::c_char,
4722add0d91Sopenharmony_ci        pub has_arg: ::c_int,
4732add0d91Sopenharmony_ci        pub flag: *mut ::c_int,
4742add0d91Sopenharmony_ci        pub val: ::c_int,
4752add0d91Sopenharmony_ci    }
4762add0d91Sopenharmony_ci}
4772add0d91Sopenharmony_ci
4782add0d91Sopenharmony_cis_no_extra_traits! {
4792add0d91Sopenharmony_ci    #[cfg_attr(all(
4802add0d91Sopenharmony_ci            any(target_arch = "x86", target_arch = "x86_64"),
4812add0d91Sopenharmony_ci            libc_packedN
4822add0d91Sopenharmony_ci        ), repr(packed(4)))]
4832add0d91Sopenharmony_ci    #[cfg_attr(all(
4842add0d91Sopenharmony_ci            any(target_arch = "x86", target_arch = "x86_64"),
4852add0d91Sopenharmony_ci            not(libc_packedN)
4862add0d91Sopenharmony_ci        ), repr(packed))]
4872add0d91Sopenharmony_ci    pub struct epoll_event {
4882add0d91Sopenharmony_ci        pub events: u32,
4892add0d91Sopenharmony_ci        pub u64: u64,
4902add0d91Sopenharmony_ci    }
4912add0d91Sopenharmony_ci
4922add0d91Sopenharmony_ci    pub struct utmpx {
4932add0d91Sopenharmony_ci        pub ut_user: [::c_char; _UTX_USERSIZE],
4942add0d91Sopenharmony_ci        pub ut_id: [::c_char; _UTX_IDSIZE],
4952add0d91Sopenharmony_ci        pub ut_line: [::c_char; _UTX_LINESIZE],
4962add0d91Sopenharmony_ci        pub ut_pid: ::pid_t,
4972add0d91Sopenharmony_ci        pub ut_type: ::c_short,
4982add0d91Sopenharmony_ci        pub ut_exit: exit_status,
4992add0d91Sopenharmony_ci        pub ut_tv: ::timeval,
5002add0d91Sopenharmony_ci        pub ut_session: ::c_int,
5012add0d91Sopenharmony_ci        pub ut_pad: [::c_int; _UTX_PADSIZE],
5022add0d91Sopenharmony_ci        pub ut_syslen: ::c_short,
5032add0d91Sopenharmony_ci        pub ut_host: [::c_char; _UTX_HOSTSIZE],
5042add0d91Sopenharmony_ci    }
5052add0d91Sopenharmony_ci
5062add0d91Sopenharmony_ci    pub struct sockaddr_un {
5072add0d91Sopenharmony_ci        pub sun_family: sa_family_t,
5082add0d91Sopenharmony_ci        pub sun_path: [c_char; 108]
5092add0d91Sopenharmony_ci    }
5102add0d91Sopenharmony_ci
5112add0d91Sopenharmony_ci    pub struct utsname {
5122add0d91Sopenharmony_ci        pub sysname: [::c_char; 257],
5132add0d91Sopenharmony_ci        pub nodename: [::c_char; 257],
5142add0d91Sopenharmony_ci        pub release: [::c_char; 257],
5152add0d91Sopenharmony_ci        pub version: [::c_char; 257],
5162add0d91Sopenharmony_ci        pub machine: [::c_char; 257],
5172add0d91Sopenharmony_ci    }
5182add0d91Sopenharmony_ci
5192add0d91Sopenharmony_ci    pub struct fd_set {
5202add0d91Sopenharmony_ci        #[cfg(target_pointer_width = "64")]
5212add0d91Sopenharmony_ci        fds_bits: [i64; FD_SETSIZE / 64],
5222add0d91Sopenharmony_ci        #[cfg(target_pointer_width = "32")]
5232add0d91Sopenharmony_ci        fds_bits: [i32; FD_SETSIZE / 32],
5242add0d91Sopenharmony_ci    }
5252add0d91Sopenharmony_ci
5262add0d91Sopenharmony_ci    pub struct sockaddr_storage {
5272add0d91Sopenharmony_ci        pub ss_family: ::sa_family_t,
5282add0d91Sopenharmony_ci        __ss_pad1: [u8; 6],
5292add0d91Sopenharmony_ci        __ss_align: i64,
5302add0d91Sopenharmony_ci        __ss_pad2: [u8; 240],
5312add0d91Sopenharmony_ci    }
5322add0d91Sopenharmony_ci
5332add0d91Sopenharmony_ci    #[cfg_attr(all(target_pointer_width = "64", libc_align), repr(align(8)))]
5342add0d91Sopenharmony_ci    pub struct siginfo_t {
5352add0d91Sopenharmony_ci        pub si_signo: ::c_int,
5362add0d91Sopenharmony_ci        pub si_code: ::c_int,
5372add0d91Sopenharmony_ci        pub si_errno: ::c_int,
5382add0d91Sopenharmony_ci        #[cfg(target_pointer_width = "64")]
5392add0d91Sopenharmony_ci        pub si_pad: ::c_int,
5402add0d91Sopenharmony_ci
5412add0d91Sopenharmony_ci        __data_pad: [::c_int; SIGINFO_DATA_SIZE],
5422add0d91Sopenharmony_ci    }
5432add0d91Sopenharmony_ci
5442add0d91Sopenharmony_ci    pub struct sockaddr_dl {
5452add0d91Sopenharmony_ci        pub sdl_family: ::c_ushort,
5462add0d91Sopenharmony_ci        pub sdl_index: ::c_ushort,
5472add0d91Sopenharmony_ci        pub sdl_type: ::c_uchar,
5482add0d91Sopenharmony_ci        pub sdl_nlen: ::c_uchar,
5492add0d91Sopenharmony_ci        pub sdl_alen: ::c_uchar,
5502add0d91Sopenharmony_ci        pub sdl_slen: ::c_uchar,
5512add0d91Sopenharmony_ci        pub sdl_data: [::c_char; 244],
5522add0d91Sopenharmony_ci    }
5532add0d91Sopenharmony_ci
5542add0d91Sopenharmony_ci    pub struct sigevent {
5552add0d91Sopenharmony_ci        pub sigev_notify: ::c_int,
5562add0d91Sopenharmony_ci        pub sigev_signo: ::c_int,
5572add0d91Sopenharmony_ci        pub sigev_value: ::sigval,
5582add0d91Sopenharmony_ci        pub ss_sp: *mut ::c_void,
5592add0d91Sopenharmony_ci        pub sigev_notify_attributes: *const ::pthread_attr_t,
5602add0d91Sopenharmony_ci        __sigev_pad2: ::c_int,
5612add0d91Sopenharmony_ci    }
5622add0d91Sopenharmony_ci
5632add0d91Sopenharmony_ci    #[cfg(libc_union)]
5642add0d91Sopenharmony_ci    #[cfg_attr(libc_align, repr(align(16)))]
5652add0d91Sopenharmony_ci    pub union pad128_t {
5662add0d91Sopenharmony_ci        // pub _q in this structure would be a "long double", of 16 bytes
5672add0d91Sopenharmony_ci        pub _l: [i32; 4],
5682add0d91Sopenharmony_ci    }
5692add0d91Sopenharmony_ci
5702add0d91Sopenharmony_ci    #[cfg(libc_union)]
5712add0d91Sopenharmony_ci    #[cfg_attr(libc_align, repr(align(16)))]
5722add0d91Sopenharmony_ci    pub union upad128_t {
5732add0d91Sopenharmony_ci        // pub _q in this structure would be a "long double", of 16 bytes
5742add0d91Sopenharmony_ci        pub _l: [u32; 4],
5752add0d91Sopenharmony_ci    }
5762add0d91Sopenharmony_ci}
5772add0d91Sopenharmony_ci
5782add0d91Sopenharmony_cicfg_if! {
5792add0d91Sopenharmony_ci    if #[cfg(feature = "extra_traits")] {
5802add0d91Sopenharmony_ci        impl PartialEq for utmpx {
5812add0d91Sopenharmony_ci            fn eq(&self, other: &utmpx) -> bool {
5822add0d91Sopenharmony_ci                self.ut_type == other.ut_type
5832add0d91Sopenharmony_ci                    && self.ut_pid == other.ut_pid
5842add0d91Sopenharmony_ci                    && self.ut_user == other.ut_user
5852add0d91Sopenharmony_ci                    && self.ut_line == other.ut_line
5862add0d91Sopenharmony_ci                    && self.ut_id == other.ut_id
5872add0d91Sopenharmony_ci                    && self.ut_exit == other.ut_exit
5882add0d91Sopenharmony_ci                    && self.ut_session == other.ut_session
5892add0d91Sopenharmony_ci                    && self.ut_tv == other.ut_tv
5902add0d91Sopenharmony_ci                    && self.ut_syslen == other.ut_syslen
5912add0d91Sopenharmony_ci                    && self.ut_pad == other.ut_pad
5922add0d91Sopenharmony_ci                    && self
5932add0d91Sopenharmony_ci                    .ut_host
5942add0d91Sopenharmony_ci                    .iter()
5952add0d91Sopenharmony_ci                    .zip(other.ut_host.iter())
5962add0d91Sopenharmony_ci                    .all(|(a,b)| a == b)
5972add0d91Sopenharmony_ci            }
5982add0d91Sopenharmony_ci        }
5992add0d91Sopenharmony_ci
6002add0d91Sopenharmony_ci        impl Eq for utmpx {}
6012add0d91Sopenharmony_ci
6022add0d91Sopenharmony_ci        impl ::fmt::Debug for utmpx {
6032add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
6042add0d91Sopenharmony_ci                f.debug_struct("utmpx")
6052add0d91Sopenharmony_ci                    .field("ut_user", &self.ut_user)
6062add0d91Sopenharmony_ci                    .field("ut_id", &self.ut_id)
6072add0d91Sopenharmony_ci                    .field("ut_line", &self.ut_line)
6082add0d91Sopenharmony_ci                    .field("ut_pid", &self.ut_pid)
6092add0d91Sopenharmony_ci                    .field("ut_type", &self.ut_type)
6102add0d91Sopenharmony_ci                    .field("ut_exit", &self.ut_exit)
6112add0d91Sopenharmony_ci                    .field("ut_tv", &self.ut_tv)
6122add0d91Sopenharmony_ci                    .field("ut_session", &self.ut_session)
6132add0d91Sopenharmony_ci                    .field("ut_pad", &self.ut_pad)
6142add0d91Sopenharmony_ci                    .field("ut_syslen", &self.ut_syslen)
6152add0d91Sopenharmony_ci                    .field("ut_host", &&self.ut_host[..])
6162add0d91Sopenharmony_ci                    .finish()
6172add0d91Sopenharmony_ci            }
6182add0d91Sopenharmony_ci        }
6192add0d91Sopenharmony_ci
6202add0d91Sopenharmony_ci        impl ::hash::Hash for utmpx {
6212add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
6222add0d91Sopenharmony_ci                self.ut_user.hash(state);
6232add0d91Sopenharmony_ci                self.ut_type.hash(state);
6242add0d91Sopenharmony_ci                self.ut_pid.hash(state);
6252add0d91Sopenharmony_ci                self.ut_line.hash(state);
6262add0d91Sopenharmony_ci                self.ut_id.hash(state);
6272add0d91Sopenharmony_ci                self.ut_host.hash(state);
6282add0d91Sopenharmony_ci                self.ut_exit.hash(state);
6292add0d91Sopenharmony_ci                self.ut_session.hash(state);
6302add0d91Sopenharmony_ci                self.ut_tv.hash(state);
6312add0d91Sopenharmony_ci                self.ut_syslen.hash(state);
6322add0d91Sopenharmony_ci                self.ut_pad.hash(state);
6332add0d91Sopenharmony_ci            }
6342add0d91Sopenharmony_ci        }
6352add0d91Sopenharmony_ci
6362add0d91Sopenharmony_ci        impl PartialEq for epoll_event {
6372add0d91Sopenharmony_ci            fn eq(&self, other: &epoll_event) -> bool {
6382add0d91Sopenharmony_ci                self.events == other.events
6392add0d91Sopenharmony_ci                    && self.u64 == other.u64
6402add0d91Sopenharmony_ci            }
6412add0d91Sopenharmony_ci        }
6422add0d91Sopenharmony_ci        impl Eq for epoll_event {}
6432add0d91Sopenharmony_ci        impl ::fmt::Debug for epoll_event {
6442add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
6452add0d91Sopenharmony_ci                let events = self.events;
6462add0d91Sopenharmony_ci                let u64 = self.u64;
6472add0d91Sopenharmony_ci                f.debug_struct("epoll_event")
6482add0d91Sopenharmony_ci                    .field("events", &events)
6492add0d91Sopenharmony_ci                    .field("u64", &u64)
6502add0d91Sopenharmony_ci                    .finish()
6512add0d91Sopenharmony_ci            }
6522add0d91Sopenharmony_ci        }
6532add0d91Sopenharmony_ci        impl ::hash::Hash for epoll_event {
6542add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
6552add0d91Sopenharmony_ci                let events = self.events;
6562add0d91Sopenharmony_ci                let u64 = self.u64;
6572add0d91Sopenharmony_ci                events.hash(state);
6582add0d91Sopenharmony_ci                u64.hash(state);
6592add0d91Sopenharmony_ci            }
6602add0d91Sopenharmony_ci        }
6612add0d91Sopenharmony_ci
6622add0d91Sopenharmony_ci        impl PartialEq for sockaddr_un {
6632add0d91Sopenharmony_ci            fn eq(&self, other: &sockaddr_un) -> bool {
6642add0d91Sopenharmony_ci                self.sun_family == other.sun_family
6652add0d91Sopenharmony_ci                    && self
6662add0d91Sopenharmony_ci                    .sun_path
6672add0d91Sopenharmony_ci                    .iter()
6682add0d91Sopenharmony_ci                    .zip(other.sun_path.iter())
6692add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
6702add0d91Sopenharmony_ci            }
6712add0d91Sopenharmony_ci        }
6722add0d91Sopenharmony_ci        impl Eq for sockaddr_un {}
6732add0d91Sopenharmony_ci        impl ::fmt::Debug for sockaddr_un {
6742add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
6752add0d91Sopenharmony_ci                f.debug_struct("sockaddr_un")
6762add0d91Sopenharmony_ci                    .field("sun_family", &self.sun_family)
6772add0d91Sopenharmony_ci                    // FIXME: .field("sun_path", &self.sun_path)
6782add0d91Sopenharmony_ci                    .finish()
6792add0d91Sopenharmony_ci            }
6802add0d91Sopenharmony_ci        }
6812add0d91Sopenharmony_ci        impl ::hash::Hash for sockaddr_un {
6822add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
6832add0d91Sopenharmony_ci                self.sun_family.hash(state);
6842add0d91Sopenharmony_ci                self.sun_path.hash(state);
6852add0d91Sopenharmony_ci            }
6862add0d91Sopenharmony_ci        }
6872add0d91Sopenharmony_ci
6882add0d91Sopenharmony_ci        impl PartialEq for utsname {
6892add0d91Sopenharmony_ci            fn eq(&self, other: &utsname) -> bool {
6902add0d91Sopenharmony_ci                self.sysname
6912add0d91Sopenharmony_ci                    .iter()
6922add0d91Sopenharmony_ci                    .zip(other.sysname.iter())
6932add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
6942add0d91Sopenharmony_ci                    && self
6952add0d91Sopenharmony_ci                    .nodename
6962add0d91Sopenharmony_ci                    .iter()
6972add0d91Sopenharmony_ci                    .zip(other.nodename.iter())
6982add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
6992add0d91Sopenharmony_ci                    && self
7002add0d91Sopenharmony_ci                    .release
7012add0d91Sopenharmony_ci                    .iter()
7022add0d91Sopenharmony_ci                    .zip(other.release.iter())
7032add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
7042add0d91Sopenharmony_ci                    && self
7052add0d91Sopenharmony_ci                    .version
7062add0d91Sopenharmony_ci                    .iter()
7072add0d91Sopenharmony_ci                    .zip(other.version.iter())
7082add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
7092add0d91Sopenharmony_ci                    && self
7102add0d91Sopenharmony_ci                    .machine
7112add0d91Sopenharmony_ci                    .iter()
7122add0d91Sopenharmony_ci                    .zip(other.machine.iter())
7132add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
7142add0d91Sopenharmony_ci            }
7152add0d91Sopenharmony_ci        }
7162add0d91Sopenharmony_ci        impl Eq for utsname {}
7172add0d91Sopenharmony_ci        impl ::fmt::Debug for utsname {
7182add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
7192add0d91Sopenharmony_ci                f.debug_struct("utsname")
7202add0d91Sopenharmony_ci                    // FIXME: .field("sysname", &self.sysname)
7212add0d91Sopenharmony_ci                    // FIXME: .field("nodename", &self.nodename)
7222add0d91Sopenharmony_ci                    // FIXME: .field("release", &self.release)
7232add0d91Sopenharmony_ci                    // FIXME: .field("version", &self.version)
7242add0d91Sopenharmony_ci                    // FIXME: .field("machine", &self.machine)
7252add0d91Sopenharmony_ci                    .finish()
7262add0d91Sopenharmony_ci            }
7272add0d91Sopenharmony_ci        }
7282add0d91Sopenharmony_ci        impl ::hash::Hash for utsname {
7292add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
7302add0d91Sopenharmony_ci                self.sysname.hash(state);
7312add0d91Sopenharmony_ci                self.nodename.hash(state);
7322add0d91Sopenharmony_ci                self.release.hash(state);
7332add0d91Sopenharmony_ci                self.version.hash(state);
7342add0d91Sopenharmony_ci                self.machine.hash(state);
7352add0d91Sopenharmony_ci            }
7362add0d91Sopenharmony_ci        }
7372add0d91Sopenharmony_ci
7382add0d91Sopenharmony_ci        impl PartialEq for fd_set {
7392add0d91Sopenharmony_ci            fn eq(&self, other: &fd_set) -> bool {
7402add0d91Sopenharmony_ci                self.fds_bits
7412add0d91Sopenharmony_ci                    .iter()
7422add0d91Sopenharmony_ci                    .zip(other.fds_bits.iter())
7432add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
7442add0d91Sopenharmony_ci            }
7452add0d91Sopenharmony_ci        }
7462add0d91Sopenharmony_ci        impl Eq for fd_set {}
7472add0d91Sopenharmony_ci        impl ::fmt::Debug for fd_set {
7482add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
7492add0d91Sopenharmony_ci                f.debug_struct("fd_set")
7502add0d91Sopenharmony_ci                    // FIXME: .field("fds_bits", &self.fds_bits)
7512add0d91Sopenharmony_ci                    .finish()
7522add0d91Sopenharmony_ci            }
7532add0d91Sopenharmony_ci        }
7542add0d91Sopenharmony_ci        impl ::hash::Hash for fd_set {
7552add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
7562add0d91Sopenharmony_ci                self.fds_bits.hash(state);
7572add0d91Sopenharmony_ci            }
7582add0d91Sopenharmony_ci        }
7592add0d91Sopenharmony_ci
7602add0d91Sopenharmony_ci        impl PartialEq for sockaddr_storage {
7612add0d91Sopenharmony_ci            fn eq(&self, other: &sockaddr_storage) -> bool {
7622add0d91Sopenharmony_ci                self.ss_family == other.ss_family
7632add0d91Sopenharmony_ci                    && self.__ss_pad1 == other.__ss_pad1
7642add0d91Sopenharmony_ci                    && self.__ss_align == other.__ss_align
7652add0d91Sopenharmony_ci                    && self
7662add0d91Sopenharmony_ci                    .__ss_pad2
7672add0d91Sopenharmony_ci                    .iter()
7682add0d91Sopenharmony_ci                    .zip(other.__ss_pad2.iter())
7692add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
7702add0d91Sopenharmony_ci            }
7712add0d91Sopenharmony_ci        }
7722add0d91Sopenharmony_ci        impl Eq for sockaddr_storage {}
7732add0d91Sopenharmony_ci        impl ::fmt::Debug for sockaddr_storage {
7742add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
7752add0d91Sopenharmony_ci                f.debug_struct("sockaddr_storage")
7762add0d91Sopenharmony_ci                    .field("ss_family", &self.ss_family)
7772add0d91Sopenharmony_ci                    .field("__ss_pad1", &self.__ss_pad1)
7782add0d91Sopenharmony_ci                    .field("__ss_align", &self.__ss_align)
7792add0d91Sopenharmony_ci                    // FIXME: .field("__ss_pad2", &self.__ss_pad2)
7802add0d91Sopenharmony_ci                    .finish()
7812add0d91Sopenharmony_ci            }
7822add0d91Sopenharmony_ci        }
7832add0d91Sopenharmony_ci        impl ::hash::Hash for sockaddr_storage {
7842add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
7852add0d91Sopenharmony_ci                self.ss_family.hash(state);
7862add0d91Sopenharmony_ci                self.__ss_pad1.hash(state);
7872add0d91Sopenharmony_ci                self.__ss_align.hash(state);
7882add0d91Sopenharmony_ci                self.__ss_pad2.hash(state);
7892add0d91Sopenharmony_ci            }
7902add0d91Sopenharmony_ci        }
7912add0d91Sopenharmony_ci
7922add0d91Sopenharmony_ci        impl siginfo_t {
7932add0d91Sopenharmony_ci            /// The siginfo_t will have differing contents based on the delivered signal.  Based on
7942add0d91Sopenharmony_ci            /// `si_signo`, this determines how many of the `c_int` pad fields contain valid data
7952add0d91Sopenharmony_ci            /// exposed by the C unions.
7962add0d91Sopenharmony_ci            ///
7972add0d91Sopenharmony_ci            /// It is not yet exhausitive for the OS-defined types, and defaults to assuming the
7982add0d91Sopenharmony_ci            /// entire data pad area is "valid" for otherwise unrecognized signal numbers.
7992add0d91Sopenharmony_ci            fn data_field_count(&self) -> usize {
8002add0d91Sopenharmony_ci                match self.si_signo {
8012add0d91Sopenharmony_ci                    ::SIGSEGV | ::SIGBUS | ::SIGILL | ::SIGTRAP | ::SIGFPE => {
8022add0d91Sopenharmony_ci                        ::mem::size_of::<siginfo_fault>() / ::mem::size_of::<::c_int>()
8032add0d91Sopenharmony_ci                    }
8042add0d91Sopenharmony_ci                    ::SIGCLD => ::mem::size_of::<siginfo_sigcld>() / ::mem::size_of::<::c_int>(),
8052add0d91Sopenharmony_ci                    ::SIGHUP
8062add0d91Sopenharmony_ci                    | ::SIGINT
8072add0d91Sopenharmony_ci                    | ::SIGQUIT
8082add0d91Sopenharmony_ci                    | ::SIGABRT
8092add0d91Sopenharmony_ci                    | ::SIGSYS
8102add0d91Sopenharmony_ci                    | ::SIGPIPE
8112add0d91Sopenharmony_ci                    | ::SIGALRM
8122add0d91Sopenharmony_ci                    | ::SIGTERM
8132add0d91Sopenharmony_ci                    | ::SIGUSR1
8142add0d91Sopenharmony_ci                    | ::SIGUSR2
8152add0d91Sopenharmony_ci                    | ::SIGPWR
8162add0d91Sopenharmony_ci                    | ::SIGWINCH
8172add0d91Sopenharmony_ci                    | ::SIGURG => ::mem::size_of::<siginfo_kill>() / ::mem::size_of::<::c_int>(),
8182add0d91Sopenharmony_ci                    _ => SIGINFO_DATA_SIZE,
8192add0d91Sopenharmony_ci                }
8202add0d91Sopenharmony_ci            }
8212add0d91Sopenharmony_ci        }
8222add0d91Sopenharmony_ci        impl PartialEq for siginfo_t {
8232add0d91Sopenharmony_ci            fn eq(&self, other: &siginfo_t) -> bool {
8242add0d91Sopenharmony_ci                if self.si_signo == other.si_signo
8252add0d91Sopenharmony_ci                    && self.si_code == other.si_code
8262add0d91Sopenharmony_ci                    && self.si_errno == other.si_errno {
8272add0d91Sopenharmony_ci                        // FIXME: The `si_pad` field in the 64-bit version of the struct is ignored
8282add0d91Sopenharmony_ci                        // (for now) when doing comparisons.
8292add0d91Sopenharmony_ci
8302add0d91Sopenharmony_ci                        let field_count = self.data_field_count();
8312add0d91Sopenharmony_ci                        self.__data_pad[..field_count]
8322add0d91Sopenharmony_ci                            .iter()
8332add0d91Sopenharmony_ci                            .zip(other.__data_pad[..field_count].iter())
8342add0d91Sopenharmony_ci                            .all(|(a, b)| a == b)
8352add0d91Sopenharmony_ci                } else {
8362add0d91Sopenharmony_ci                    false
8372add0d91Sopenharmony_ci                }
8382add0d91Sopenharmony_ci            }
8392add0d91Sopenharmony_ci        }
8402add0d91Sopenharmony_ci        impl Eq for siginfo_t {}
8412add0d91Sopenharmony_ci        impl ::fmt::Debug for siginfo_t {
8422add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
8432add0d91Sopenharmony_ci                f.debug_struct("siginfo_t")
8442add0d91Sopenharmony_ci                    .field("si_signo", &self.si_signo)
8452add0d91Sopenharmony_ci                    .field("si_code", &self.si_code)
8462add0d91Sopenharmony_ci                    .field("si_errno", &self.si_errno)
8472add0d91Sopenharmony_ci                    // FIXME: .field("__pad", &self.__pad)
8482add0d91Sopenharmony_ci                    .finish()
8492add0d91Sopenharmony_ci            }
8502add0d91Sopenharmony_ci        }
8512add0d91Sopenharmony_ci        impl ::hash::Hash for siginfo_t {
8522add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
8532add0d91Sopenharmony_ci                self.si_signo.hash(state);
8542add0d91Sopenharmony_ci                self.si_code.hash(state);
8552add0d91Sopenharmony_ci                self.si_errno.hash(state);
8562add0d91Sopenharmony_ci
8572add0d91Sopenharmony_ci                // FIXME: The `si_pad` field in the 64-bit version of the struct is ignored
8582add0d91Sopenharmony_ci                // (for now) when doing hashing.
8592add0d91Sopenharmony_ci
8602add0d91Sopenharmony_ci                let field_count = self.data_field_count();
8612add0d91Sopenharmony_ci                self.__data_pad[..field_count].hash(state)
8622add0d91Sopenharmony_ci            }
8632add0d91Sopenharmony_ci        }
8642add0d91Sopenharmony_ci
8652add0d91Sopenharmony_ci        impl PartialEq for sockaddr_dl {
8662add0d91Sopenharmony_ci            fn eq(&self, other: &sockaddr_dl) -> bool {
8672add0d91Sopenharmony_ci                self.sdl_family == other.sdl_family
8682add0d91Sopenharmony_ci                    && self.sdl_index == other.sdl_index
8692add0d91Sopenharmony_ci                    && self.sdl_type == other.sdl_type
8702add0d91Sopenharmony_ci                    && self.sdl_nlen == other.sdl_nlen
8712add0d91Sopenharmony_ci                    && self.sdl_alen == other.sdl_alen
8722add0d91Sopenharmony_ci                    && self.sdl_slen == other.sdl_slen
8732add0d91Sopenharmony_ci                    && self
8742add0d91Sopenharmony_ci                    .sdl_data
8752add0d91Sopenharmony_ci                    .iter()
8762add0d91Sopenharmony_ci                    .zip(other.sdl_data.iter())
8772add0d91Sopenharmony_ci                    .all(|(a,b)| a == b)
8782add0d91Sopenharmony_ci            }
8792add0d91Sopenharmony_ci        }
8802add0d91Sopenharmony_ci        impl Eq for sockaddr_dl {}
8812add0d91Sopenharmony_ci        impl ::fmt::Debug for sockaddr_dl {
8822add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
8832add0d91Sopenharmony_ci                f.debug_struct("sockaddr_dl")
8842add0d91Sopenharmony_ci                    .field("sdl_family", &self.sdl_family)
8852add0d91Sopenharmony_ci                    .field("sdl_index", &self.sdl_index)
8862add0d91Sopenharmony_ci                    .field("sdl_type", &self.sdl_type)
8872add0d91Sopenharmony_ci                    .field("sdl_nlen", &self.sdl_nlen)
8882add0d91Sopenharmony_ci                    .field("sdl_alen", &self.sdl_alen)
8892add0d91Sopenharmony_ci                    .field("sdl_slen", &self.sdl_slen)
8902add0d91Sopenharmony_ci                    // FIXME: .field("sdl_data", &self.sdl_data)
8912add0d91Sopenharmony_ci                    .finish()
8922add0d91Sopenharmony_ci            }
8932add0d91Sopenharmony_ci        }
8942add0d91Sopenharmony_ci        impl ::hash::Hash for sockaddr_dl {
8952add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
8962add0d91Sopenharmony_ci                self.sdl_family.hash(state);
8972add0d91Sopenharmony_ci                self.sdl_index.hash(state);
8982add0d91Sopenharmony_ci                self.sdl_type.hash(state);
8992add0d91Sopenharmony_ci                self.sdl_nlen.hash(state);
9002add0d91Sopenharmony_ci                self.sdl_alen.hash(state);
9012add0d91Sopenharmony_ci                self.sdl_slen.hash(state);
9022add0d91Sopenharmony_ci                self.sdl_data.hash(state);
9032add0d91Sopenharmony_ci            }
9042add0d91Sopenharmony_ci        }
9052add0d91Sopenharmony_ci
9062add0d91Sopenharmony_ci        impl PartialEq for sigevent {
9072add0d91Sopenharmony_ci            fn eq(&self, other: &sigevent) -> bool {
9082add0d91Sopenharmony_ci                self.sigev_notify == other.sigev_notify
9092add0d91Sopenharmony_ci                    && self.sigev_signo == other.sigev_signo
9102add0d91Sopenharmony_ci                    && self.sigev_value == other.sigev_value
9112add0d91Sopenharmony_ci                    && self.ss_sp == other.ss_sp
9122add0d91Sopenharmony_ci                    && self.sigev_notify_attributes
9132add0d91Sopenharmony_ci                        == other.sigev_notify_attributes
9142add0d91Sopenharmony_ci            }
9152add0d91Sopenharmony_ci        }
9162add0d91Sopenharmony_ci        impl Eq for sigevent {}
9172add0d91Sopenharmony_ci        impl ::fmt::Debug for sigevent {
9182add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
9192add0d91Sopenharmony_ci                f.debug_struct("sigevent")
9202add0d91Sopenharmony_ci                    .field("sigev_notify", &self.sigev_notify)
9212add0d91Sopenharmony_ci                    .field("sigev_signo", &self.sigev_signo)
9222add0d91Sopenharmony_ci                    .field("sigev_value", &self.sigev_value)
9232add0d91Sopenharmony_ci                    .field("ss_sp", &self.ss_sp)
9242add0d91Sopenharmony_ci                    .field("sigev_notify_attributes",
9252add0d91Sopenharmony_ci                           &self.sigev_notify_attributes)
9262add0d91Sopenharmony_ci                    .finish()
9272add0d91Sopenharmony_ci            }
9282add0d91Sopenharmony_ci        }
9292add0d91Sopenharmony_ci        impl ::hash::Hash for sigevent {
9302add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
9312add0d91Sopenharmony_ci                self.sigev_notify.hash(state);
9322add0d91Sopenharmony_ci                self.sigev_signo.hash(state);
9332add0d91Sopenharmony_ci                self.sigev_value.hash(state);
9342add0d91Sopenharmony_ci                self.ss_sp.hash(state);
9352add0d91Sopenharmony_ci                self.sigev_notify_attributes.hash(state);
9362add0d91Sopenharmony_ci            }
9372add0d91Sopenharmony_ci        }
9382add0d91Sopenharmony_ci
9392add0d91Sopenharmony_ci        #[cfg(libc_union)]
9402add0d91Sopenharmony_ci        impl PartialEq for pad128_t {
9412add0d91Sopenharmony_ci            fn eq(&self, other: &pad128_t) -> bool {
9422add0d91Sopenharmony_ci                unsafe {
9432add0d91Sopenharmony_ci                // FIXME: self._q == other._q ||
9442add0d91Sopenharmony_ci                    self._l == other._l
9452add0d91Sopenharmony_ci                }
9462add0d91Sopenharmony_ci            }
9472add0d91Sopenharmony_ci        }
9482add0d91Sopenharmony_ci        #[cfg(libc_union)]
9492add0d91Sopenharmony_ci        impl Eq for pad128_t {}
9502add0d91Sopenharmony_ci        #[cfg(libc_union)]
9512add0d91Sopenharmony_ci        impl ::fmt::Debug for pad128_t {
9522add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
9532add0d91Sopenharmony_ci                unsafe {
9542add0d91Sopenharmony_ci                f.debug_struct("pad128_t")
9552add0d91Sopenharmony_ci                    // FIXME: .field("_q", &{self._q})
9562add0d91Sopenharmony_ci                    .field("_l", &{self._l})
9572add0d91Sopenharmony_ci                    .finish()
9582add0d91Sopenharmony_ci                }
9592add0d91Sopenharmony_ci            }
9602add0d91Sopenharmony_ci        }
9612add0d91Sopenharmony_ci        #[cfg(libc_union)]
9622add0d91Sopenharmony_ci        impl ::hash::Hash for pad128_t {
9632add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
9642add0d91Sopenharmony_ci                unsafe {
9652add0d91Sopenharmony_ci                // FIXME: state.write_i64(self._q as i64);
9662add0d91Sopenharmony_ci                self._l.hash(state);
9672add0d91Sopenharmony_ci                }
9682add0d91Sopenharmony_ci            }
9692add0d91Sopenharmony_ci        }
9702add0d91Sopenharmony_ci        #[cfg(libc_union)]
9712add0d91Sopenharmony_ci        impl PartialEq for upad128_t {
9722add0d91Sopenharmony_ci            fn eq(&self, other: &upad128_t) -> bool {
9732add0d91Sopenharmony_ci                unsafe {
9742add0d91Sopenharmony_ci                // FIXME: self._q == other._q ||
9752add0d91Sopenharmony_ci                    self._l == other._l
9762add0d91Sopenharmony_ci                }
9772add0d91Sopenharmony_ci            }
9782add0d91Sopenharmony_ci        }
9792add0d91Sopenharmony_ci        #[cfg(libc_union)]
9802add0d91Sopenharmony_ci        impl Eq for upad128_t {}
9812add0d91Sopenharmony_ci        #[cfg(libc_union)]
9822add0d91Sopenharmony_ci        impl ::fmt::Debug for upad128_t {
9832add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
9842add0d91Sopenharmony_ci                unsafe {
9852add0d91Sopenharmony_ci                f.debug_struct("upad128_t")
9862add0d91Sopenharmony_ci                    // FIXME: .field("_q", &{self._q})
9872add0d91Sopenharmony_ci                    .field("_l", &{self._l})
9882add0d91Sopenharmony_ci                    .finish()
9892add0d91Sopenharmony_ci                }
9902add0d91Sopenharmony_ci            }
9912add0d91Sopenharmony_ci        }
9922add0d91Sopenharmony_ci        #[cfg(libc_union)]
9932add0d91Sopenharmony_ci        impl ::hash::Hash for upad128_t {
9942add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
9952add0d91Sopenharmony_ci                unsafe {
9962add0d91Sopenharmony_ci                // FIXME: state.write_i64(self._q as i64);
9972add0d91Sopenharmony_ci                self._l.hash(state);
9982add0d91Sopenharmony_ci                }
9992add0d91Sopenharmony_ci            }
10002add0d91Sopenharmony_ci        }
10012add0d91Sopenharmony_ci    }
10022add0d91Sopenharmony_ci}
10032add0d91Sopenharmony_ci
10042add0d91Sopenharmony_cicfg_if! {
10052add0d91Sopenharmony_ci    if #[cfg(target_pointer_width = "64")] {
10062add0d91Sopenharmony_ci        const SIGINFO_DATA_SIZE: usize = 60;
10072add0d91Sopenharmony_ci    } else {
10082add0d91Sopenharmony_ci        const SIGINFO_DATA_SIZE: usize = 29;
10092add0d91Sopenharmony_ci    }
10102add0d91Sopenharmony_ci}
10112add0d91Sopenharmony_ci
10122add0d91Sopenharmony_ci#[repr(C)]
10132add0d91Sopenharmony_cistruct siginfo_fault {
10142add0d91Sopenharmony_ci    addr: *mut ::c_void,
10152add0d91Sopenharmony_ci    trapno: ::c_int,
10162add0d91Sopenharmony_ci    pc: *mut ::caddr_t,
10172add0d91Sopenharmony_ci}
10182add0d91Sopenharmony_ciimpl ::Copy for siginfo_fault {}
10192add0d91Sopenharmony_ciimpl ::Clone for siginfo_fault {
10202add0d91Sopenharmony_ci    fn clone(&self) -> Self {
10212add0d91Sopenharmony_ci        *self
10222add0d91Sopenharmony_ci    }
10232add0d91Sopenharmony_ci}
10242add0d91Sopenharmony_ci
10252add0d91Sopenharmony_ci#[repr(C)]
10262add0d91Sopenharmony_cistruct siginfo_cldval {
10272add0d91Sopenharmony_ci    utime: ::clock_t,
10282add0d91Sopenharmony_ci    status: ::c_int,
10292add0d91Sopenharmony_ci    stime: ::clock_t,
10302add0d91Sopenharmony_ci}
10312add0d91Sopenharmony_ciimpl ::Copy for siginfo_cldval {}
10322add0d91Sopenharmony_ciimpl ::Clone for siginfo_cldval {
10332add0d91Sopenharmony_ci    fn clone(&self) -> Self {
10342add0d91Sopenharmony_ci        *self
10352add0d91Sopenharmony_ci    }
10362add0d91Sopenharmony_ci}
10372add0d91Sopenharmony_ci
10382add0d91Sopenharmony_ci#[repr(C)]
10392add0d91Sopenharmony_cistruct siginfo_killval {
10402add0d91Sopenharmony_ci    uid: ::uid_t,
10412add0d91Sopenharmony_ci    value: ::sigval,
10422add0d91Sopenharmony_ci    // Pad out to match the SIGCLD value size
10432add0d91Sopenharmony_ci    _pad: *mut ::c_void,
10442add0d91Sopenharmony_ci}
10452add0d91Sopenharmony_ciimpl ::Copy for siginfo_killval {}
10462add0d91Sopenharmony_ciimpl ::Clone for siginfo_killval {
10472add0d91Sopenharmony_ci    fn clone(&self) -> Self {
10482add0d91Sopenharmony_ci        *self
10492add0d91Sopenharmony_ci    }
10502add0d91Sopenharmony_ci}
10512add0d91Sopenharmony_ci
10522add0d91Sopenharmony_ci#[repr(C)]
10532add0d91Sopenharmony_cistruct siginfo_sigcld {
10542add0d91Sopenharmony_ci    pid: ::pid_t,
10552add0d91Sopenharmony_ci    val: siginfo_cldval,
10562add0d91Sopenharmony_ci    ctid: ::ctid_t,
10572add0d91Sopenharmony_ci    zoneid: ::zoneid_t,
10582add0d91Sopenharmony_ci}
10592add0d91Sopenharmony_ciimpl ::Copy for siginfo_sigcld {}
10602add0d91Sopenharmony_ciimpl ::Clone for siginfo_sigcld {
10612add0d91Sopenharmony_ci    fn clone(&self) -> Self {
10622add0d91Sopenharmony_ci        *self
10632add0d91Sopenharmony_ci    }
10642add0d91Sopenharmony_ci}
10652add0d91Sopenharmony_ci
10662add0d91Sopenharmony_ci#[repr(C)]
10672add0d91Sopenharmony_cistruct siginfo_kill {
10682add0d91Sopenharmony_ci    pid: ::pid_t,
10692add0d91Sopenharmony_ci    val: siginfo_killval,
10702add0d91Sopenharmony_ci    ctid: ::ctid_t,
10712add0d91Sopenharmony_ci    zoneid: ::zoneid_t,
10722add0d91Sopenharmony_ci}
10732add0d91Sopenharmony_ciimpl ::Copy for siginfo_kill {}
10742add0d91Sopenharmony_ciimpl ::Clone for siginfo_kill {
10752add0d91Sopenharmony_ci    fn clone(&self) -> Self {
10762add0d91Sopenharmony_ci        *self
10772add0d91Sopenharmony_ci    }
10782add0d91Sopenharmony_ci}
10792add0d91Sopenharmony_ci
10802add0d91Sopenharmony_ciimpl siginfo_t {
10812add0d91Sopenharmony_ci    unsafe fn sidata<T: ::Copy>(&self) -> T {
10822add0d91Sopenharmony_ci        *((&self.__data_pad) as *const ::c_int as *const T)
10832add0d91Sopenharmony_ci    }
10842add0d91Sopenharmony_ci    pub unsafe fn si_addr(&self) -> *mut ::c_void {
10852add0d91Sopenharmony_ci        let sifault: siginfo_fault = self.sidata();
10862add0d91Sopenharmony_ci        sifault.addr
10872add0d91Sopenharmony_ci    }
10882add0d91Sopenharmony_ci    pub unsafe fn si_uid(&self) -> ::uid_t {
10892add0d91Sopenharmony_ci        let kill: siginfo_kill = self.sidata();
10902add0d91Sopenharmony_ci        kill.val.uid
10912add0d91Sopenharmony_ci    }
10922add0d91Sopenharmony_ci    pub unsafe fn si_value(&self) -> ::sigval {
10932add0d91Sopenharmony_ci        let kill: siginfo_kill = self.sidata();
10942add0d91Sopenharmony_ci        kill.val.value
10952add0d91Sopenharmony_ci    }
10962add0d91Sopenharmony_ci    pub unsafe fn si_pid(&self) -> ::pid_t {
10972add0d91Sopenharmony_ci        let sigcld: siginfo_sigcld = self.sidata();
10982add0d91Sopenharmony_ci        sigcld.pid
10992add0d91Sopenharmony_ci    }
11002add0d91Sopenharmony_ci    pub unsafe fn si_status(&self) -> ::c_int {
11012add0d91Sopenharmony_ci        let sigcld: siginfo_sigcld = self.sidata();
11022add0d91Sopenharmony_ci        sigcld.val.status
11032add0d91Sopenharmony_ci    }
11042add0d91Sopenharmony_ci    pub unsafe fn si_utime(&self) -> ::c_long {
11052add0d91Sopenharmony_ci        let sigcld: siginfo_sigcld = self.sidata();
11062add0d91Sopenharmony_ci        sigcld.val.utime
11072add0d91Sopenharmony_ci    }
11082add0d91Sopenharmony_ci    pub unsafe fn si_stime(&self) -> ::c_long {
11092add0d91Sopenharmony_ci        let sigcld: siginfo_sigcld = self.sidata();
11102add0d91Sopenharmony_ci        sigcld.val.stime
11112add0d91Sopenharmony_ci    }
11122add0d91Sopenharmony_ci}
11132add0d91Sopenharmony_ci
11142add0d91Sopenharmony_cipub const LC_CTYPE: ::c_int = 0;
11152add0d91Sopenharmony_cipub const LC_NUMERIC: ::c_int = 1;
11162add0d91Sopenharmony_cipub const LC_TIME: ::c_int = 2;
11172add0d91Sopenharmony_cipub const LC_COLLATE: ::c_int = 3;
11182add0d91Sopenharmony_cipub const LC_MONETARY: ::c_int = 4;
11192add0d91Sopenharmony_cipub const LC_MESSAGES: ::c_int = 5;
11202add0d91Sopenharmony_cipub const LC_ALL: ::c_int = 6;
11212add0d91Sopenharmony_cipub const LC_CTYPE_MASK: ::c_int = 1 << LC_CTYPE;
11222add0d91Sopenharmony_cipub const LC_NUMERIC_MASK: ::c_int = 1 << LC_NUMERIC;
11232add0d91Sopenharmony_cipub const LC_TIME_MASK: ::c_int = 1 << LC_TIME;
11242add0d91Sopenharmony_cipub const LC_COLLATE_MASK: ::c_int = 1 << LC_COLLATE;
11252add0d91Sopenharmony_cipub const LC_MONETARY_MASK: ::c_int = 1 << LC_MONETARY;
11262add0d91Sopenharmony_cipub const LC_MESSAGES_MASK: ::c_int = 1 << LC_MESSAGES;
11272add0d91Sopenharmony_cipub const LC_ALL_MASK: ::c_int = LC_CTYPE_MASK
11282add0d91Sopenharmony_ci    | LC_NUMERIC_MASK
11292add0d91Sopenharmony_ci    | LC_TIME_MASK
11302add0d91Sopenharmony_ci    | LC_COLLATE_MASK
11312add0d91Sopenharmony_ci    | LC_MONETARY_MASK
11322add0d91Sopenharmony_ci    | LC_MESSAGES_MASK;
11332add0d91Sopenharmony_ci
11342add0d91Sopenharmony_cipub const DAY_1: ::nl_item = 1;
11352add0d91Sopenharmony_cipub const DAY_2: ::nl_item = 2;
11362add0d91Sopenharmony_cipub const DAY_3: ::nl_item = 3;
11372add0d91Sopenharmony_cipub const DAY_4: ::nl_item = 4;
11382add0d91Sopenharmony_cipub const DAY_5: ::nl_item = 5;
11392add0d91Sopenharmony_cipub const DAY_6: ::nl_item = 6;
11402add0d91Sopenharmony_cipub const DAY_7: ::nl_item = 7;
11412add0d91Sopenharmony_ci
11422add0d91Sopenharmony_cipub const ABDAY_1: ::nl_item = 8;
11432add0d91Sopenharmony_cipub const ABDAY_2: ::nl_item = 9;
11442add0d91Sopenharmony_cipub const ABDAY_3: ::nl_item = 10;
11452add0d91Sopenharmony_cipub const ABDAY_4: ::nl_item = 11;
11462add0d91Sopenharmony_cipub const ABDAY_5: ::nl_item = 12;
11472add0d91Sopenharmony_cipub const ABDAY_6: ::nl_item = 13;
11482add0d91Sopenharmony_cipub const ABDAY_7: ::nl_item = 14;
11492add0d91Sopenharmony_ci
11502add0d91Sopenharmony_cipub const MON_1: ::nl_item = 15;
11512add0d91Sopenharmony_cipub const MON_2: ::nl_item = 16;
11522add0d91Sopenharmony_cipub const MON_3: ::nl_item = 17;
11532add0d91Sopenharmony_cipub const MON_4: ::nl_item = 18;
11542add0d91Sopenharmony_cipub const MON_5: ::nl_item = 19;
11552add0d91Sopenharmony_cipub const MON_6: ::nl_item = 20;
11562add0d91Sopenharmony_cipub const MON_7: ::nl_item = 21;
11572add0d91Sopenharmony_cipub const MON_8: ::nl_item = 22;
11582add0d91Sopenharmony_cipub const MON_9: ::nl_item = 23;
11592add0d91Sopenharmony_cipub const MON_10: ::nl_item = 24;
11602add0d91Sopenharmony_cipub const MON_11: ::nl_item = 25;
11612add0d91Sopenharmony_cipub const MON_12: ::nl_item = 26;
11622add0d91Sopenharmony_ci
11632add0d91Sopenharmony_cipub const ABMON_1: ::nl_item = 27;
11642add0d91Sopenharmony_cipub const ABMON_2: ::nl_item = 28;
11652add0d91Sopenharmony_cipub const ABMON_3: ::nl_item = 29;
11662add0d91Sopenharmony_cipub const ABMON_4: ::nl_item = 30;
11672add0d91Sopenharmony_cipub const ABMON_5: ::nl_item = 31;
11682add0d91Sopenharmony_cipub const ABMON_6: ::nl_item = 32;
11692add0d91Sopenharmony_cipub const ABMON_7: ::nl_item = 33;
11702add0d91Sopenharmony_cipub const ABMON_8: ::nl_item = 34;
11712add0d91Sopenharmony_cipub const ABMON_9: ::nl_item = 35;
11722add0d91Sopenharmony_cipub const ABMON_10: ::nl_item = 36;
11732add0d91Sopenharmony_cipub const ABMON_11: ::nl_item = 37;
11742add0d91Sopenharmony_cipub const ABMON_12: ::nl_item = 38;
11752add0d91Sopenharmony_ci
11762add0d91Sopenharmony_cipub const RADIXCHAR: ::nl_item = 39;
11772add0d91Sopenharmony_cipub const THOUSEP: ::nl_item = 40;
11782add0d91Sopenharmony_cipub const YESSTR: ::nl_item = 41;
11792add0d91Sopenharmony_cipub const NOSTR: ::nl_item = 42;
11802add0d91Sopenharmony_cipub const CRNCYSTR: ::nl_item = 43;
11812add0d91Sopenharmony_ci
11822add0d91Sopenharmony_cipub const D_T_FMT: ::nl_item = 44;
11832add0d91Sopenharmony_cipub const D_FMT: ::nl_item = 45;
11842add0d91Sopenharmony_cipub const T_FMT: ::nl_item = 46;
11852add0d91Sopenharmony_cipub const AM_STR: ::nl_item = 47;
11862add0d91Sopenharmony_cipub const PM_STR: ::nl_item = 48;
11872add0d91Sopenharmony_ci
11882add0d91Sopenharmony_cipub const CODESET: ::nl_item = 49;
11892add0d91Sopenharmony_cipub const T_FMT_AMPM: ::nl_item = 50;
11902add0d91Sopenharmony_cipub const ERA: ::nl_item = 51;
11912add0d91Sopenharmony_cipub const ERA_D_FMT: ::nl_item = 52;
11922add0d91Sopenharmony_cipub const ERA_D_T_FMT: ::nl_item = 53;
11932add0d91Sopenharmony_cipub const ERA_T_FMT: ::nl_item = 54;
11942add0d91Sopenharmony_cipub const ALT_DIGITS: ::nl_item = 55;
11952add0d91Sopenharmony_cipub const YESEXPR: ::nl_item = 56;
11962add0d91Sopenharmony_cipub const NOEXPR: ::nl_item = 57;
11972add0d91Sopenharmony_cipub const _DATE_FMT: ::nl_item = 58;
11982add0d91Sopenharmony_cipub const MAXSTRMSG: ::nl_item = 58;
11992add0d91Sopenharmony_ci
12002add0d91Sopenharmony_cipub const PATH_MAX: ::c_int = 1024;
12012add0d91Sopenharmony_ci
12022add0d91Sopenharmony_cipub const SA_ONSTACK: ::c_int = 0x00000001;
12032add0d91Sopenharmony_cipub const SA_RESETHAND: ::c_int = 0x00000002;
12042add0d91Sopenharmony_cipub const SA_RESTART: ::c_int = 0x00000004;
12052add0d91Sopenharmony_cipub const SA_SIGINFO: ::c_int = 0x00000008;
12062add0d91Sopenharmony_cipub const SA_NODEFER: ::c_int = 0x00000010;
12072add0d91Sopenharmony_cipub const SA_NOCLDWAIT: ::c_int = 0x00010000;
12082add0d91Sopenharmony_cipub const SA_NOCLDSTOP: ::c_int = 0x00020000;
12092add0d91Sopenharmony_ci
12102add0d91Sopenharmony_cipub const SS_ONSTACK: ::c_int = 1;
12112add0d91Sopenharmony_cipub const SS_DISABLE: ::c_int = 2;
12122add0d91Sopenharmony_ci
12132add0d91Sopenharmony_cipub const FIOCLEX: ::c_int = 0x20006601;
12142add0d91Sopenharmony_cipub const FIONCLEX: ::c_int = 0x20006602;
12152add0d91Sopenharmony_cipub const FIONREAD: ::c_int = 0x4004667f;
12162add0d91Sopenharmony_cipub const FIONBIO: ::c_int = 0x8004667e;
12172add0d91Sopenharmony_cipub const FIOASYNC: ::c_int = 0x8004667d;
12182add0d91Sopenharmony_cipub const FIOSETOWN: ::c_int = 0x8004667c;
12192add0d91Sopenharmony_cipub const FIOGETOWN: ::c_int = 0x4004667b;
12202add0d91Sopenharmony_ci
12212add0d91Sopenharmony_cipub const SIGCHLD: ::c_int = 18;
12222add0d91Sopenharmony_cipub const SIGCLD: ::c_int = ::SIGCHLD;
12232add0d91Sopenharmony_cipub const SIGBUS: ::c_int = 10;
12242add0d91Sopenharmony_cipub const SIGINFO: ::c_int = 41;
12252add0d91Sopenharmony_cipub const SIG_BLOCK: ::c_int = 1;
12262add0d91Sopenharmony_cipub const SIG_UNBLOCK: ::c_int = 2;
12272add0d91Sopenharmony_cipub const SIG_SETMASK: ::c_int = 3;
12282add0d91Sopenharmony_ci
12292add0d91Sopenharmony_cipub const SIGEV_NONE: ::c_int = 1;
12302add0d91Sopenharmony_cipub const SIGEV_SIGNAL: ::c_int = 2;
12312add0d91Sopenharmony_cipub const SIGEV_THREAD: ::c_int = 3;
12322add0d91Sopenharmony_ci
12332add0d91Sopenharmony_cipub const CLD_EXITED: ::c_int = 1;
12342add0d91Sopenharmony_cipub const CLD_KILLED: ::c_int = 2;
12352add0d91Sopenharmony_cipub const CLD_DUMPED: ::c_int = 3;
12362add0d91Sopenharmony_cipub const CLD_TRAPPED: ::c_int = 4;
12372add0d91Sopenharmony_cipub const CLD_STOPPED: ::c_int = 5;
12382add0d91Sopenharmony_cipub const CLD_CONTINUED: ::c_int = 6;
12392add0d91Sopenharmony_ci
12402add0d91Sopenharmony_cipub const IP_RECVDSTADDR: ::c_int = 0x7;
12412add0d91Sopenharmony_cipub const IP_SEC_OPT: ::c_int = 0x22;
12422add0d91Sopenharmony_ci
12432add0d91Sopenharmony_cipub const IPV6_UNICAST_HOPS: ::c_int = 0x5;
12442add0d91Sopenharmony_cipub const IPV6_MULTICAST_IF: ::c_int = 0x6;
12452add0d91Sopenharmony_cipub const IPV6_MULTICAST_HOPS: ::c_int = 0x7;
12462add0d91Sopenharmony_cipub const IPV6_MULTICAST_LOOP: ::c_int = 0x8;
12472add0d91Sopenharmony_cipub const IPV6_RECVPKTINFO: ::c_int = 0x12;
12482add0d91Sopenharmony_cipub const IPV6_SEC_OPT: ::c_int = 0x22;
12492add0d91Sopenharmony_cipub const IPV6_V6ONLY: ::c_int = 0x27;
12502add0d91Sopenharmony_ci
12512add0d91Sopenharmony_cicfg_if! {
12522add0d91Sopenharmony_ci    if #[cfg(target_pointer_width = "64")] {
12532add0d91Sopenharmony_ci        pub const FD_SETSIZE: usize = 65536;
12542add0d91Sopenharmony_ci    } else {
12552add0d91Sopenharmony_ci        pub const FD_SETSIZE: usize = 1024;
12562add0d91Sopenharmony_ci    }
12572add0d91Sopenharmony_ci}
12582add0d91Sopenharmony_ci
12592add0d91Sopenharmony_cipub const ST_RDONLY: ::c_ulong = 1;
12602add0d91Sopenharmony_cipub const ST_NOSUID: ::c_ulong = 2;
12612add0d91Sopenharmony_ci
12622add0d91Sopenharmony_cipub const NI_MAXHOST: ::socklen_t = 1025;
12632add0d91Sopenharmony_cipub const NI_MAXSERV: ::socklen_t = 32;
12642add0d91Sopenharmony_ci
12652add0d91Sopenharmony_cipub const EXIT_FAILURE: ::c_int = 1;
12662add0d91Sopenharmony_cipub const EXIT_SUCCESS: ::c_int = 0;
12672add0d91Sopenharmony_cipub const RAND_MAX: ::c_int = 32767;
12682add0d91Sopenharmony_cipub const EOF: ::c_int = -1;
12692add0d91Sopenharmony_cipub const SEEK_SET: ::c_int = 0;
12702add0d91Sopenharmony_cipub const SEEK_CUR: ::c_int = 1;
12712add0d91Sopenharmony_cipub const SEEK_END: ::c_int = 2;
12722add0d91Sopenharmony_cipub const SEEK_DATA: ::c_int = 3;
12732add0d91Sopenharmony_cipub const SEEK_HOLE: ::c_int = 4;
12742add0d91Sopenharmony_cipub const _IOFBF: ::c_int = 0;
12752add0d91Sopenharmony_cipub const _IONBF: ::c_int = 4;
12762add0d91Sopenharmony_cipub const _IOLBF: ::c_int = 64;
12772add0d91Sopenharmony_cipub const BUFSIZ: ::c_uint = 1024;
12782add0d91Sopenharmony_cipub const FOPEN_MAX: ::c_uint = 20;
12792add0d91Sopenharmony_cipub const FILENAME_MAX: ::c_uint = 1024;
12802add0d91Sopenharmony_cipub const L_tmpnam: ::c_uint = 25;
12812add0d91Sopenharmony_cipub const TMP_MAX: ::c_uint = 17576;
12822add0d91Sopenharmony_ci
12832add0d91Sopenharmony_cipub const GRND_NONBLOCK: ::c_int = 0x0001;
12842add0d91Sopenharmony_cipub const GRND_RANDOM: ::c_int = 0x0002;
12852add0d91Sopenharmony_ci
12862add0d91Sopenharmony_cipub const O_RDONLY: ::c_int = 0;
12872add0d91Sopenharmony_cipub const O_WRONLY: ::c_int = 1;
12882add0d91Sopenharmony_cipub const O_RDWR: ::c_int = 2;
12892add0d91Sopenharmony_cipub const O_NDELAY: ::c_int = 0x04;
12902add0d91Sopenharmony_cipub const O_APPEND: ::c_int = 8;
12912add0d91Sopenharmony_cipub const O_DSYNC: ::c_int = 0x40;
12922add0d91Sopenharmony_cipub const O_CREAT: ::c_int = 256;
12932add0d91Sopenharmony_cipub const O_EXCL: ::c_int = 1024;
12942add0d91Sopenharmony_cipub const O_NOCTTY: ::c_int = 2048;
12952add0d91Sopenharmony_cipub const O_TRUNC: ::c_int = 512;
12962add0d91Sopenharmony_cipub const O_NOFOLLOW: ::c_int = 0x20000;
12972add0d91Sopenharmony_cipub const O_DIRECTORY: ::c_int = 0x1000000;
12982add0d91Sopenharmony_cipub const O_SEARCH: ::c_int = 0x200000;
12992add0d91Sopenharmony_cipub const O_EXEC: ::c_int = 0x400000;
13002add0d91Sopenharmony_cipub const O_CLOEXEC: ::c_int = 0x800000;
13012add0d91Sopenharmony_cipub const O_ACCMODE: ::c_int = 0x600003;
13022add0d91Sopenharmony_cipub const O_XATTR: ::c_int = 0x4000;
13032add0d91Sopenharmony_cipub const S_IFIFO: mode_t = 4096;
13042add0d91Sopenharmony_cipub const S_IFCHR: mode_t = 8192;
13052add0d91Sopenharmony_cipub const S_IFBLK: mode_t = 24576;
13062add0d91Sopenharmony_cipub const S_IFDIR: mode_t = 16384;
13072add0d91Sopenharmony_cipub const S_IFREG: mode_t = 32768;
13082add0d91Sopenharmony_cipub const S_IFLNK: mode_t = 40960;
13092add0d91Sopenharmony_cipub const S_IFSOCK: mode_t = 49152;
13102add0d91Sopenharmony_cipub const S_IFMT: mode_t = 61440;
13112add0d91Sopenharmony_cipub const S_IEXEC: mode_t = 64;
13122add0d91Sopenharmony_cipub const S_IWRITE: mode_t = 128;
13132add0d91Sopenharmony_cipub const S_IREAD: mode_t = 256;
13142add0d91Sopenharmony_cipub const S_IRWXU: mode_t = 448;
13152add0d91Sopenharmony_cipub const S_IXUSR: mode_t = 64;
13162add0d91Sopenharmony_cipub const S_IWUSR: mode_t = 128;
13172add0d91Sopenharmony_cipub const S_IRUSR: mode_t = 256;
13182add0d91Sopenharmony_cipub const S_IRWXG: mode_t = 56;
13192add0d91Sopenharmony_cipub const S_IXGRP: mode_t = 8;
13202add0d91Sopenharmony_cipub const S_IWGRP: mode_t = 16;
13212add0d91Sopenharmony_cipub const S_IRGRP: mode_t = 32;
13222add0d91Sopenharmony_cipub const S_IRWXO: mode_t = 7;
13232add0d91Sopenharmony_cipub const S_IXOTH: mode_t = 1;
13242add0d91Sopenharmony_cipub const S_IWOTH: mode_t = 2;
13252add0d91Sopenharmony_cipub const S_IROTH: mode_t = 4;
13262add0d91Sopenharmony_cipub const F_OK: ::c_int = 0;
13272add0d91Sopenharmony_cipub const R_OK: ::c_int = 4;
13282add0d91Sopenharmony_cipub const W_OK: ::c_int = 2;
13292add0d91Sopenharmony_cipub const X_OK: ::c_int = 1;
13302add0d91Sopenharmony_cipub const STDIN_FILENO: ::c_int = 0;
13312add0d91Sopenharmony_cipub const STDOUT_FILENO: ::c_int = 1;
13322add0d91Sopenharmony_cipub const STDERR_FILENO: ::c_int = 2;
13332add0d91Sopenharmony_cipub const F_LOCK: ::c_int = 1;
13342add0d91Sopenharmony_cipub const F_TEST: ::c_int = 3;
13352add0d91Sopenharmony_cipub const F_TLOCK: ::c_int = 2;
13362add0d91Sopenharmony_cipub const F_ULOCK: ::c_int = 0;
13372add0d91Sopenharmony_cipub const F_SETLK: ::c_int = 6;
13382add0d91Sopenharmony_cipub const F_SETLKW: ::c_int = 7;
13392add0d91Sopenharmony_cipub const F_GETLK: ::c_int = 14;
13402add0d91Sopenharmony_cipub const F_ALLOCSP: ::c_int = 10;
13412add0d91Sopenharmony_cipub const F_FREESP: ::c_int = 11;
13422add0d91Sopenharmony_cipub const F_BLOCKS: ::c_int = 18;
13432add0d91Sopenharmony_cipub const F_BLKSIZE: ::c_int = 19;
13442add0d91Sopenharmony_cipub const F_SHARE: ::c_int = 40;
13452add0d91Sopenharmony_cipub const F_UNSHARE: ::c_int = 41;
13462add0d91Sopenharmony_cipub const F_ISSTREAM: ::c_int = 13;
13472add0d91Sopenharmony_cipub const F_PRIV: ::c_int = 15;
13482add0d91Sopenharmony_cipub const F_NPRIV: ::c_int = 16;
13492add0d91Sopenharmony_cipub const F_QUOTACTL: ::c_int = 17;
13502add0d91Sopenharmony_cipub const F_GETOWN: ::c_int = 23;
13512add0d91Sopenharmony_cipub const F_SETOWN: ::c_int = 24;
13522add0d91Sopenharmony_cipub const F_REVOKE: ::c_int = 25;
13532add0d91Sopenharmony_cipub const F_HASREMOTELOCKS: ::c_int = 26;
13542add0d91Sopenharmony_cipub const SIGHUP: ::c_int = 1;
13552add0d91Sopenharmony_cipub const SIGINT: ::c_int = 2;
13562add0d91Sopenharmony_cipub const SIGQUIT: ::c_int = 3;
13572add0d91Sopenharmony_cipub const SIGILL: ::c_int = 4;
13582add0d91Sopenharmony_cipub const SIGABRT: ::c_int = 6;
13592add0d91Sopenharmony_cipub const SIGEMT: ::c_int = 7;
13602add0d91Sopenharmony_cipub const SIGFPE: ::c_int = 8;
13612add0d91Sopenharmony_cipub const SIGKILL: ::c_int = 9;
13622add0d91Sopenharmony_cipub const SIGSEGV: ::c_int = 11;
13632add0d91Sopenharmony_cipub const SIGSYS: ::c_int = 12;
13642add0d91Sopenharmony_cipub const SIGPIPE: ::c_int = 13;
13652add0d91Sopenharmony_cipub const SIGALRM: ::c_int = 14;
13662add0d91Sopenharmony_cipub const SIGTERM: ::c_int = 15;
13672add0d91Sopenharmony_cipub const SIGUSR1: ::c_int = 16;
13682add0d91Sopenharmony_cipub const SIGUSR2: ::c_int = 17;
13692add0d91Sopenharmony_cipub const SIGPWR: ::c_int = 19;
13702add0d91Sopenharmony_cipub const SIGWINCH: ::c_int = 20;
13712add0d91Sopenharmony_cipub const SIGURG: ::c_int = 21;
13722add0d91Sopenharmony_cipub const SIGPOLL: ::c_int = 22;
13732add0d91Sopenharmony_cipub const SIGIO: ::c_int = SIGPOLL;
13742add0d91Sopenharmony_cipub const SIGSTOP: ::c_int = 23;
13752add0d91Sopenharmony_cipub const SIGTSTP: ::c_int = 24;
13762add0d91Sopenharmony_cipub const SIGCONT: ::c_int = 25;
13772add0d91Sopenharmony_cipub const SIGTTIN: ::c_int = 26;
13782add0d91Sopenharmony_cipub const SIGTTOU: ::c_int = 27;
13792add0d91Sopenharmony_cipub const SIGVTALRM: ::c_int = 28;
13802add0d91Sopenharmony_cipub const SIGPROF: ::c_int = 29;
13812add0d91Sopenharmony_cipub const SIGXCPU: ::c_int = 30;
13822add0d91Sopenharmony_cipub const SIGXFSZ: ::c_int = 31;
13832add0d91Sopenharmony_ci
13842add0d91Sopenharmony_cipub const WNOHANG: ::c_int = 0x40;
13852add0d91Sopenharmony_cipub const WUNTRACED: ::c_int = 0x04;
13862add0d91Sopenharmony_ci
13872add0d91Sopenharmony_cipub const WEXITED: ::c_int = 0x01;
13882add0d91Sopenharmony_cipub const WTRAPPED: ::c_int = 0x02;
13892add0d91Sopenharmony_cipub const WSTOPPED: ::c_int = WUNTRACED;
13902add0d91Sopenharmony_cipub const WCONTINUED: ::c_int = 0x08;
13912add0d91Sopenharmony_cipub const WNOWAIT: ::c_int = 0x80;
13922add0d91Sopenharmony_ci
13932add0d91Sopenharmony_cipub const AT_FDCWD: ::c_int = 0xffd19553;
13942add0d91Sopenharmony_cipub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x1000;
13952add0d91Sopenharmony_cipub const AT_SYMLINK_FOLLOW: ::c_int = 0x2000;
13962add0d91Sopenharmony_cipub const AT_REMOVEDIR: ::c_int = 0x1;
13972add0d91Sopenharmony_cipub const _AT_TRIGGER: ::c_int = 0x2;
13982add0d91Sopenharmony_cipub const AT_EACCESS: ::c_int = 0x4;
13992add0d91Sopenharmony_ci
14002add0d91Sopenharmony_cipub const P_PID: idtype_t = 0;
14012add0d91Sopenharmony_cipub const P_PPID: idtype_t = 1;
14022add0d91Sopenharmony_cipub const P_PGID: idtype_t = 2;
14032add0d91Sopenharmony_cipub const P_SID: idtype_t = 3;
14042add0d91Sopenharmony_cipub const P_CID: idtype_t = 4;
14052add0d91Sopenharmony_cipub const P_UID: idtype_t = 5;
14062add0d91Sopenharmony_cipub const P_GID: idtype_t = 6;
14072add0d91Sopenharmony_cipub const P_ALL: idtype_t = 7;
14082add0d91Sopenharmony_cipub const P_LWPID: idtype_t = 8;
14092add0d91Sopenharmony_cipub const P_TASKID: idtype_t = 9;
14102add0d91Sopenharmony_cipub const P_PROJID: idtype_t = 10;
14112add0d91Sopenharmony_cipub const P_POOLID: idtype_t = 11;
14122add0d91Sopenharmony_cipub const P_ZONEID: idtype_t = 12;
14132add0d91Sopenharmony_cipub const P_CTID: idtype_t = 13;
14142add0d91Sopenharmony_cipub const P_CPUID: idtype_t = 14;
14152add0d91Sopenharmony_cipub const P_PSETID: idtype_t = 15;
14162add0d91Sopenharmony_ci
14172add0d91Sopenharmony_cipub const PBIND_NONE: ::processorid_t = -1;
14182add0d91Sopenharmony_cipub const PBIND_QUERY: ::processorid_t = -2;
14192add0d91Sopenharmony_cipub const PBIND_HARD: ::processorid_t = -3;
14202add0d91Sopenharmony_cipub const PBIND_SOFT: ::processorid_t = -4;
14212add0d91Sopenharmony_ci
14222add0d91Sopenharmony_cipub const PS_NONE: ::c_int = -1;
14232add0d91Sopenharmony_cipub const PS_QUERY: ::c_int = -2;
14242add0d91Sopenharmony_cipub const PS_MYID: ::c_int = -3;
14252add0d91Sopenharmony_cipub const PS_SOFT: ::c_int = -4;
14262add0d91Sopenharmony_cipub const PS_HARD: ::c_int = -5;
14272add0d91Sopenharmony_cipub const PS_QUERY_TYPE: ::c_int = -6;
14282add0d91Sopenharmony_cipub const PS_SYSTEM: ::c_int = 1;
14292add0d91Sopenharmony_cipub const PS_PRIVATE: ::c_int = 2;
14302add0d91Sopenharmony_ci
14312add0d91Sopenharmony_cipub const UTIME_OMIT: c_long = -2;
14322add0d91Sopenharmony_cipub const UTIME_NOW: c_long = -1;
14332add0d91Sopenharmony_ci
14342add0d91Sopenharmony_cipub const PROT_NONE: ::c_int = 0;
14352add0d91Sopenharmony_cipub const PROT_READ: ::c_int = 1;
14362add0d91Sopenharmony_cipub const PROT_WRITE: ::c_int = 2;
14372add0d91Sopenharmony_cipub const PROT_EXEC: ::c_int = 4;
14382add0d91Sopenharmony_ci
14392add0d91Sopenharmony_cipub const MAP_FILE: ::c_int = 0;
14402add0d91Sopenharmony_cipub const MAP_SHARED: ::c_int = 0x0001;
14412add0d91Sopenharmony_cipub const MAP_PRIVATE: ::c_int = 0x0002;
14422add0d91Sopenharmony_cipub const MAP_FIXED: ::c_int = 0x0010;
14432add0d91Sopenharmony_cipub const MAP_NORESERVE: ::c_int = 0x40;
14442add0d91Sopenharmony_cipub const MAP_ANON: ::c_int = 0x0100;
14452add0d91Sopenharmony_cipub const MAP_ANONYMOUS: ::c_int = 0x0100;
14462add0d91Sopenharmony_cipub const MAP_RENAME: ::c_int = 0x20;
14472add0d91Sopenharmony_cipub const MAP_ALIGN: ::c_int = 0x200;
14482add0d91Sopenharmony_cipub const MAP_TEXT: ::c_int = 0x400;
14492add0d91Sopenharmony_cipub const MAP_INITDATA: ::c_int = 0x800;
14502add0d91Sopenharmony_cipub const MAP_32BIT: ::c_int = 0x80;
14512add0d91Sopenharmony_cipub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void;
14522add0d91Sopenharmony_ci
14532add0d91Sopenharmony_cipub const MCL_CURRENT: ::c_int = 0x0001;
14542add0d91Sopenharmony_cipub const MCL_FUTURE: ::c_int = 0x0002;
14552add0d91Sopenharmony_ci
14562add0d91Sopenharmony_cipub const MS_SYNC: ::c_int = 0x0004;
14572add0d91Sopenharmony_cipub const MS_ASYNC: ::c_int = 0x0001;
14582add0d91Sopenharmony_cipub const MS_INVALIDATE: ::c_int = 0x0002;
14592add0d91Sopenharmony_ci
14602add0d91Sopenharmony_cipub const MMOBJ_PADDING: ::c_uint = 0x10000;
14612add0d91Sopenharmony_cipub const MMOBJ_INTERPRET: ::c_uint = 0x20000;
14622add0d91Sopenharmony_cipub const MR_PADDING: ::c_uint = 0x1;
14632add0d91Sopenharmony_cipub const MR_HDR_ELF: ::c_uint = 0x2;
14642add0d91Sopenharmony_ci
14652add0d91Sopenharmony_cipub const EPERM: ::c_int = 1;
14662add0d91Sopenharmony_cipub const ENOENT: ::c_int = 2;
14672add0d91Sopenharmony_cipub const ESRCH: ::c_int = 3;
14682add0d91Sopenharmony_cipub const EINTR: ::c_int = 4;
14692add0d91Sopenharmony_cipub const EIO: ::c_int = 5;
14702add0d91Sopenharmony_cipub const ENXIO: ::c_int = 6;
14712add0d91Sopenharmony_cipub const E2BIG: ::c_int = 7;
14722add0d91Sopenharmony_cipub const ENOEXEC: ::c_int = 8;
14732add0d91Sopenharmony_cipub const EBADF: ::c_int = 9;
14742add0d91Sopenharmony_cipub const ECHILD: ::c_int = 10;
14752add0d91Sopenharmony_cipub const EAGAIN: ::c_int = 11;
14762add0d91Sopenharmony_cipub const ENOMEM: ::c_int = 12;
14772add0d91Sopenharmony_cipub const EACCES: ::c_int = 13;
14782add0d91Sopenharmony_cipub const EFAULT: ::c_int = 14;
14792add0d91Sopenharmony_cipub const ENOTBLK: ::c_int = 15;
14802add0d91Sopenharmony_cipub const EBUSY: ::c_int = 16;
14812add0d91Sopenharmony_cipub const EEXIST: ::c_int = 17;
14822add0d91Sopenharmony_cipub const EXDEV: ::c_int = 18;
14832add0d91Sopenharmony_cipub const ENODEV: ::c_int = 19;
14842add0d91Sopenharmony_cipub const ENOTDIR: ::c_int = 20;
14852add0d91Sopenharmony_cipub const EISDIR: ::c_int = 21;
14862add0d91Sopenharmony_cipub const EINVAL: ::c_int = 22;
14872add0d91Sopenharmony_cipub const ENFILE: ::c_int = 23;
14882add0d91Sopenharmony_cipub const EMFILE: ::c_int = 24;
14892add0d91Sopenharmony_cipub const ENOTTY: ::c_int = 25;
14902add0d91Sopenharmony_cipub const ETXTBSY: ::c_int = 26;
14912add0d91Sopenharmony_cipub const EFBIG: ::c_int = 27;
14922add0d91Sopenharmony_cipub const ENOSPC: ::c_int = 28;
14932add0d91Sopenharmony_cipub const ESPIPE: ::c_int = 29;
14942add0d91Sopenharmony_cipub const EROFS: ::c_int = 30;
14952add0d91Sopenharmony_cipub const EMLINK: ::c_int = 31;
14962add0d91Sopenharmony_cipub const EPIPE: ::c_int = 32;
14972add0d91Sopenharmony_cipub const EDOM: ::c_int = 33;
14982add0d91Sopenharmony_cipub const ERANGE: ::c_int = 34;
14992add0d91Sopenharmony_cipub const ENOMSG: ::c_int = 35;
15002add0d91Sopenharmony_cipub const EIDRM: ::c_int = 36;
15012add0d91Sopenharmony_cipub const ECHRNG: ::c_int = 37;
15022add0d91Sopenharmony_cipub const EL2NSYNC: ::c_int = 38;
15032add0d91Sopenharmony_cipub const EL3HLT: ::c_int = 39;
15042add0d91Sopenharmony_cipub const EL3RST: ::c_int = 40;
15052add0d91Sopenharmony_cipub const ELNRNG: ::c_int = 41;
15062add0d91Sopenharmony_cipub const EUNATCH: ::c_int = 42;
15072add0d91Sopenharmony_cipub const ENOCSI: ::c_int = 43;
15082add0d91Sopenharmony_cipub const EL2HLT: ::c_int = 44;
15092add0d91Sopenharmony_cipub const EDEADLK: ::c_int = 45;
15102add0d91Sopenharmony_cipub const ENOLCK: ::c_int = 46;
15112add0d91Sopenharmony_cipub const ECANCELED: ::c_int = 47;
15122add0d91Sopenharmony_cipub const ENOTSUP: ::c_int = 48;
15132add0d91Sopenharmony_cipub const EDQUOT: ::c_int = 49;
15142add0d91Sopenharmony_cipub const EBADE: ::c_int = 50;
15152add0d91Sopenharmony_cipub const EBADR: ::c_int = 51;
15162add0d91Sopenharmony_cipub const EXFULL: ::c_int = 52;
15172add0d91Sopenharmony_cipub const ENOANO: ::c_int = 53;
15182add0d91Sopenharmony_cipub const EBADRQC: ::c_int = 54;
15192add0d91Sopenharmony_cipub const EBADSLT: ::c_int = 55;
15202add0d91Sopenharmony_cipub const EDEADLOCK: ::c_int = 56;
15212add0d91Sopenharmony_cipub const EBFONT: ::c_int = 57;
15222add0d91Sopenharmony_cipub const EOWNERDEAD: ::c_int = 58;
15232add0d91Sopenharmony_cipub const ENOTRECOVERABLE: ::c_int = 59;
15242add0d91Sopenharmony_cipub const ENOSTR: ::c_int = 60;
15252add0d91Sopenharmony_cipub const ENODATA: ::c_int = 61;
15262add0d91Sopenharmony_cipub const ETIME: ::c_int = 62;
15272add0d91Sopenharmony_cipub const ENOSR: ::c_int = 63;
15282add0d91Sopenharmony_cipub const ENONET: ::c_int = 64;
15292add0d91Sopenharmony_cipub const ENOPKG: ::c_int = 65;
15302add0d91Sopenharmony_cipub const EREMOTE: ::c_int = 66;
15312add0d91Sopenharmony_cipub const ENOLINK: ::c_int = 67;
15322add0d91Sopenharmony_cipub const EADV: ::c_int = 68;
15332add0d91Sopenharmony_cipub const ESRMNT: ::c_int = 69;
15342add0d91Sopenharmony_cipub const ECOMM: ::c_int = 70;
15352add0d91Sopenharmony_cipub const EPROTO: ::c_int = 71;
15362add0d91Sopenharmony_cipub const ELOCKUNMAPPED: ::c_int = 72;
15372add0d91Sopenharmony_cipub const ENOTACTIVE: ::c_int = 73;
15382add0d91Sopenharmony_cipub const EMULTIHOP: ::c_int = 74;
15392add0d91Sopenharmony_cipub const EADI: ::c_int = 75;
15402add0d91Sopenharmony_cipub const EBADMSG: ::c_int = 77;
15412add0d91Sopenharmony_cipub const ENAMETOOLONG: ::c_int = 78;
15422add0d91Sopenharmony_cipub const EOVERFLOW: ::c_int = 79;
15432add0d91Sopenharmony_cipub const ENOTUNIQ: ::c_int = 80;
15442add0d91Sopenharmony_cipub const EBADFD: ::c_int = 81;
15452add0d91Sopenharmony_cipub const EREMCHG: ::c_int = 82;
15462add0d91Sopenharmony_cipub const ELIBACC: ::c_int = 83;
15472add0d91Sopenharmony_cipub const ELIBBAD: ::c_int = 84;
15482add0d91Sopenharmony_cipub const ELIBSCN: ::c_int = 85;
15492add0d91Sopenharmony_cipub const ELIBMAX: ::c_int = 86;
15502add0d91Sopenharmony_cipub const ELIBEXEC: ::c_int = 87;
15512add0d91Sopenharmony_cipub const EILSEQ: ::c_int = 88;
15522add0d91Sopenharmony_cipub const ENOSYS: ::c_int = 89;
15532add0d91Sopenharmony_cipub const ELOOP: ::c_int = 90;
15542add0d91Sopenharmony_cipub const ERESTART: ::c_int = 91;
15552add0d91Sopenharmony_cipub const ESTRPIPE: ::c_int = 92;
15562add0d91Sopenharmony_cipub const ENOTEMPTY: ::c_int = 93;
15572add0d91Sopenharmony_cipub const EUSERS: ::c_int = 94;
15582add0d91Sopenharmony_cipub const ENOTSOCK: ::c_int = 95;
15592add0d91Sopenharmony_cipub const EDESTADDRREQ: ::c_int = 96;
15602add0d91Sopenharmony_cipub const EMSGSIZE: ::c_int = 97;
15612add0d91Sopenharmony_cipub const EPROTOTYPE: ::c_int = 98;
15622add0d91Sopenharmony_cipub const ENOPROTOOPT: ::c_int = 99;
15632add0d91Sopenharmony_cipub const EPROTONOSUPPORT: ::c_int = 120;
15642add0d91Sopenharmony_cipub const ESOCKTNOSUPPORT: ::c_int = 121;
15652add0d91Sopenharmony_cipub const EOPNOTSUPP: ::c_int = 122;
15662add0d91Sopenharmony_cipub const EPFNOSUPPORT: ::c_int = 123;
15672add0d91Sopenharmony_cipub const EAFNOSUPPORT: ::c_int = 124;
15682add0d91Sopenharmony_cipub const EADDRINUSE: ::c_int = 125;
15692add0d91Sopenharmony_cipub const EADDRNOTAVAIL: ::c_int = 126;
15702add0d91Sopenharmony_cipub const ENETDOWN: ::c_int = 127;
15712add0d91Sopenharmony_cipub const ENETUNREACH: ::c_int = 128;
15722add0d91Sopenharmony_cipub const ENETRESET: ::c_int = 129;
15732add0d91Sopenharmony_cipub const ECONNABORTED: ::c_int = 130;
15742add0d91Sopenharmony_cipub const ECONNRESET: ::c_int = 131;
15752add0d91Sopenharmony_cipub const ENOBUFS: ::c_int = 132;
15762add0d91Sopenharmony_cipub const EISCONN: ::c_int = 133;
15772add0d91Sopenharmony_cipub const ENOTCONN: ::c_int = 134;
15782add0d91Sopenharmony_cipub const ESHUTDOWN: ::c_int = 143;
15792add0d91Sopenharmony_cipub const ETOOMANYREFS: ::c_int = 144;
15802add0d91Sopenharmony_cipub const ETIMEDOUT: ::c_int = 145;
15812add0d91Sopenharmony_cipub const ECONNREFUSED: ::c_int = 146;
15822add0d91Sopenharmony_cipub const EHOSTDOWN: ::c_int = 147;
15832add0d91Sopenharmony_cipub const EHOSTUNREACH: ::c_int = 148;
15842add0d91Sopenharmony_cipub const EWOULDBLOCK: ::c_int = EAGAIN;
15852add0d91Sopenharmony_cipub const EALREADY: ::c_int = 149;
15862add0d91Sopenharmony_cipub const EINPROGRESS: ::c_int = 150;
15872add0d91Sopenharmony_cipub const ESTALE: ::c_int = 151;
15882add0d91Sopenharmony_ci
15892add0d91Sopenharmony_cipub const EAI_AGAIN: ::c_int = 2;
15902add0d91Sopenharmony_cipub const EAI_BADFLAGS: ::c_int = 3;
15912add0d91Sopenharmony_cipub const EAI_FAIL: ::c_int = 4;
15922add0d91Sopenharmony_cipub const EAI_FAMILY: ::c_int = 5;
15932add0d91Sopenharmony_cipub const EAI_MEMORY: ::c_int = 6;
15942add0d91Sopenharmony_cipub const EAI_NODATA: ::c_int = 7;
15952add0d91Sopenharmony_cipub const EAI_NONAME: ::c_int = 8;
15962add0d91Sopenharmony_cipub const EAI_SERVICE: ::c_int = 9;
15972add0d91Sopenharmony_cipub const EAI_SOCKTYPE: ::c_int = 10;
15982add0d91Sopenharmony_cipub const EAI_SYSTEM: ::c_int = 11;
15992add0d91Sopenharmony_cipub const EAI_OVERFLOW: ::c_int = 12;
16002add0d91Sopenharmony_ci
16012add0d91Sopenharmony_cipub const NI_NOFQDN: ::c_uint = 0x0001;
16022add0d91Sopenharmony_cipub const NI_NUMERICHOST: ::c_uint = 0x0002;
16032add0d91Sopenharmony_cipub const NI_NAMEREQD: ::c_uint = 0x0004;
16042add0d91Sopenharmony_cipub const NI_NUMERICSERV: ::c_uint = 0x0008;
16052add0d91Sopenharmony_cipub const NI_DGRAM: ::c_uint = 0x0010;
16062add0d91Sopenharmony_cipub const NI_WITHSCOPEID: ::c_uint = 0x0020;
16072add0d91Sopenharmony_cipub const NI_NUMERICSCOPE: ::c_uint = 0x0040;
16082add0d91Sopenharmony_ci
16092add0d91Sopenharmony_cipub const F_DUPFD: ::c_int = 0;
16102add0d91Sopenharmony_cipub const F_DUP2FD: ::c_int = 9;
16112add0d91Sopenharmony_cipub const F_GETFD: ::c_int = 1;
16122add0d91Sopenharmony_cipub const F_SETFD: ::c_int = 2;
16132add0d91Sopenharmony_cipub const F_GETFL: ::c_int = 3;
16142add0d91Sopenharmony_cipub const F_SETFL: ::c_int = 4;
16152add0d91Sopenharmony_cipub const F_GETXFL: ::c_int = 45;
16162add0d91Sopenharmony_ci
16172add0d91Sopenharmony_cipub const SIGTRAP: ::c_int = 5;
16182add0d91Sopenharmony_ci
16192add0d91Sopenharmony_cipub const GLOB_APPEND: ::c_int = 32;
16202add0d91Sopenharmony_cipub const GLOB_DOOFFS: ::c_int = 16;
16212add0d91Sopenharmony_cipub const GLOB_ERR: ::c_int = 1;
16222add0d91Sopenharmony_cipub const GLOB_MARK: ::c_int = 2;
16232add0d91Sopenharmony_cipub const GLOB_NOCHECK: ::c_int = 8;
16242add0d91Sopenharmony_cipub const GLOB_NOSORT: ::c_int = 4;
16252add0d91Sopenharmony_cipub const GLOB_NOESCAPE: ::c_int = 64;
16262add0d91Sopenharmony_ci
16272add0d91Sopenharmony_cipub const GLOB_NOSPACE: ::c_int = -2;
16282add0d91Sopenharmony_cipub const GLOB_ABORTED: ::c_int = -1;
16292add0d91Sopenharmony_cipub const GLOB_NOMATCH: ::c_int = -3;
16302add0d91Sopenharmony_ci
16312add0d91Sopenharmony_cipub const POLLIN: ::c_short = 0x1;
16322add0d91Sopenharmony_cipub const POLLPRI: ::c_short = 0x2;
16332add0d91Sopenharmony_cipub const POLLOUT: ::c_short = 0x4;
16342add0d91Sopenharmony_cipub const POLLERR: ::c_short = 0x8;
16352add0d91Sopenharmony_cipub const POLLHUP: ::c_short = 0x10;
16362add0d91Sopenharmony_cipub const POLLNVAL: ::c_short = 0x20;
16372add0d91Sopenharmony_cipub const POLLNORM: ::c_short = 0x0040;
16382add0d91Sopenharmony_cipub const POLLRDNORM: ::c_short = 0x0040;
16392add0d91Sopenharmony_cipub const POLLWRNORM: ::c_short = 0x4; /* POLLOUT */
16402add0d91Sopenharmony_cipub const POLLRDBAND: ::c_short = 0x0080;
16412add0d91Sopenharmony_cipub const POLLWRBAND: ::c_short = 0x0100;
16422add0d91Sopenharmony_ci
16432add0d91Sopenharmony_cipub const POSIX_MADV_NORMAL: ::c_int = 0;
16442add0d91Sopenharmony_cipub const POSIX_MADV_RANDOM: ::c_int = 1;
16452add0d91Sopenharmony_cipub const POSIX_MADV_SEQUENTIAL: ::c_int = 2;
16462add0d91Sopenharmony_cipub const POSIX_MADV_WILLNEED: ::c_int = 3;
16472add0d91Sopenharmony_cipub const POSIX_MADV_DONTNEED: ::c_int = 4;
16482add0d91Sopenharmony_ci
16492add0d91Sopenharmony_cipub const PTHREAD_CREATE_JOINABLE: ::c_int = 0;
16502add0d91Sopenharmony_cipub const PTHREAD_CREATE_DETACHED: ::c_int = 0x40;
16512add0d91Sopenharmony_cipub const PTHREAD_PROCESS_SHARED: ::c_int = 1;
16522add0d91Sopenharmony_cipub const PTHREAD_PROCESS_PRIVATE: ::c_ushort = 0;
16532add0d91Sopenharmony_cipub const PTHREAD_STACK_MIN: ::size_t = 4096;
16542add0d91Sopenharmony_ci
16552add0d91Sopenharmony_cipub const SIGSTKSZ: ::size_t = 8192;
16562add0d91Sopenharmony_ci
16572add0d91Sopenharmony_ci// https://illumos.org/man/3c/clock_gettime
16582add0d91Sopenharmony_ci// https://github.com/illumos/illumos-gate/
16592add0d91Sopenharmony_ci//   blob/HEAD/usr/src/lib/libc/amd64/sys/__clock_gettime.s
16602add0d91Sopenharmony_ci// clock_gettime(3c) doesn't seem to accept anything other than CLOCK_REALTIME
16612add0d91Sopenharmony_ci// or __CLOCK_REALTIME0
16622add0d91Sopenharmony_ci//
16632add0d91Sopenharmony_ci// https://github.com/illumos/illumos-gate/
16642add0d91Sopenharmony_ci//   blob/HEAD/usr/src/uts/common/sys/time_impl.h
16652add0d91Sopenharmony_ci// Confusing! CLOCK_HIGHRES==CLOCK_MONOTONIC==4
16662add0d91Sopenharmony_ci// __CLOCK_REALTIME0==0 is an obsoleted version of CLOCK_REALTIME==3
16672add0d91Sopenharmony_cipub const CLOCK_REALTIME: ::clockid_t = 3;
16682add0d91Sopenharmony_cipub const CLOCK_MONOTONIC: ::clockid_t = 4;
16692add0d91Sopenharmony_cipub const TIMER_RELTIME: ::c_int = 0;
16702add0d91Sopenharmony_cipub const TIMER_ABSTIME: ::c_int = 1;
16712add0d91Sopenharmony_ci
16722add0d91Sopenharmony_cipub const RLIMIT_CPU: ::c_int = 0;
16732add0d91Sopenharmony_cipub const RLIMIT_FSIZE: ::c_int = 1;
16742add0d91Sopenharmony_cipub const RLIMIT_DATA: ::c_int = 2;
16752add0d91Sopenharmony_cipub const RLIMIT_STACK: ::c_int = 3;
16762add0d91Sopenharmony_cipub const RLIMIT_CORE: ::c_int = 4;
16772add0d91Sopenharmony_cipub const RLIMIT_NOFILE: ::c_int = 5;
16782add0d91Sopenharmony_cipub const RLIMIT_VMEM: ::c_int = 6;
16792add0d91Sopenharmony_cipub const RLIMIT_AS: ::c_int = RLIMIT_VMEM;
16802add0d91Sopenharmony_ci
16812add0d91Sopenharmony_ci#[deprecated(since = "0.2.64", note = "Not stable across OS versions")]
16822add0d91Sopenharmony_cipub const RLIM_NLIMITS: rlim_t = 7;
16832add0d91Sopenharmony_cipub const RLIM_INFINITY: rlim_t = 0xfffffffffffffffd;
16842add0d91Sopenharmony_ci
16852add0d91Sopenharmony_cipub const RUSAGE_SELF: ::c_int = 0;
16862add0d91Sopenharmony_cipub const RUSAGE_CHILDREN: ::c_int = -1;
16872add0d91Sopenharmony_ci
16882add0d91Sopenharmony_cipub const MADV_NORMAL: ::c_int = 0;
16892add0d91Sopenharmony_cipub const MADV_RANDOM: ::c_int = 1;
16902add0d91Sopenharmony_cipub const MADV_SEQUENTIAL: ::c_int = 2;
16912add0d91Sopenharmony_cipub const MADV_WILLNEED: ::c_int = 3;
16922add0d91Sopenharmony_cipub const MADV_DONTNEED: ::c_int = 4;
16932add0d91Sopenharmony_cipub const MADV_FREE: ::c_int = 5;
16942add0d91Sopenharmony_cipub const MADV_ACCESS_DEFAULT: ::c_int = 6;
16952add0d91Sopenharmony_cipub const MADV_ACCESS_LWP: ::c_int = 7;
16962add0d91Sopenharmony_cipub const MADV_ACCESS_MANY: ::c_int = 8;
16972add0d91Sopenharmony_ci
16982add0d91Sopenharmony_cipub const AF_UNSPEC: ::c_int = 0;
16992add0d91Sopenharmony_cipub const AF_UNIX: ::c_int = 1;
17002add0d91Sopenharmony_cipub const AF_INET: ::c_int = 2;
17012add0d91Sopenharmony_cipub const AF_IMPLINK: ::c_int = 3;
17022add0d91Sopenharmony_cipub const AF_PUP: ::c_int = 4;
17032add0d91Sopenharmony_cipub const AF_CHAOS: ::c_int = 5;
17042add0d91Sopenharmony_cipub const AF_NS: ::c_int = 6;
17052add0d91Sopenharmony_cipub const AF_NBS: ::c_int = 7;
17062add0d91Sopenharmony_cipub const AF_ECMA: ::c_int = 8;
17072add0d91Sopenharmony_cipub const AF_DATAKIT: ::c_int = 9;
17082add0d91Sopenharmony_cipub const AF_CCITT: ::c_int = 10;
17092add0d91Sopenharmony_cipub const AF_SNA: ::c_int = 11;
17102add0d91Sopenharmony_cipub const AF_DECnet: ::c_int = 12;
17112add0d91Sopenharmony_cipub const AF_DLI: ::c_int = 13;
17122add0d91Sopenharmony_cipub const AF_LAT: ::c_int = 14;
17132add0d91Sopenharmony_cipub const AF_HYLINK: ::c_int = 15;
17142add0d91Sopenharmony_cipub const AF_APPLETALK: ::c_int = 16;
17152add0d91Sopenharmony_cipub const AF_NIT: ::c_int = 17;
17162add0d91Sopenharmony_cipub const AF_802: ::c_int = 18;
17172add0d91Sopenharmony_cipub const AF_OSI: ::c_int = 19;
17182add0d91Sopenharmony_cipub const AF_X25: ::c_int = 20;
17192add0d91Sopenharmony_cipub const AF_OSINET: ::c_int = 21;
17202add0d91Sopenharmony_cipub const AF_GOSIP: ::c_int = 22;
17212add0d91Sopenharmony_cipub const AF_IPX: ::c_int = 23;
17222add0d91Sopenharmony_cipub const AF_ROUTE: ::c_int = 24;
17232add0d91Sopenharmony_cipub const AF_LINK: ::c_int = 25;
17242add0d91Sopenharmony_cipub const AF_INET6: ::c_int = 26;
17252add0d91Sopenharmony_cipub const AF_KEY: ::c_int = 27;
17262add0d91Sopenharmony_cipub const AF_NCA: ::c_int = 28;
17272add0d91Sopenharmony_cipub const AF_POLICY: ::c_int = 29;
17282add0d91Sopenharmony_cipub const AF_INET_OFFLOAD: ::c_int = 30;
17292add0d91Sopenharmony_cipub const AF_TRILL: ::c_int = 31;
17302add0d91Sopenharmony_cipub const AF_PACKET: ::c_int = 32;
17312add0d91Sopenharmony_ci
17322add0d91Sopenharmony_cipub const PF_UNSPEC: ::c_int = AF_UNSPEC;
17332add0d91Sopenharmony_cipub const PF_UNIX: ::c_int = AF_UNIX;
17342add0d91Sopenharmony_cipub const PF_LOCAL: ::c_int = PF_UNIX;
17352add0d91Sopenharmony_cipub const PF_FILE: ::c_int = PF_UNIX;
17362add0d91Sopenharmony_cipub const PF_INET: ::c_int = AF_INET;
17372add0d91Sopenharmony_cipub const PF_IMPLINK: ::c_int = AF_IMPLINK;
17382add0d91Sopenharmony_cipub const PF_PUP: ::c_int = AF_PUP;
17392add0d91Sopenharmony_cipub const PF_CHAOS: ::c_int = AF_CHAOS;
17402add0d91Sopenharmony_cipub const PF_NS: ::c_int = AF_NS;
17412add0d91Sopenharmony_cipub const PF_NBS: ::c_int = AF_NBS;
17422add0d91Sopenharmony_cipub const PF_ECMA: ::c_int = AF_ECMA;
17432add0d91Sopenharmony_cipub const PF_DATAKIT: ::c_int = AF_DATAKIT;
17442add0d91Sopenharmony_cipub const PF_CCITT: ::c_int = AF_CCITT;
17452add0d91Sopenharmony_cipub const PF_SNA: ::c_int = AF_SNA;
17462add0d91Sopenharmony_cipub const PF_DECnet: ::c_int = AF_DECnet;
17472add0d91Sopenharmony_cipub const PF_DLI: ::c_int = AF_DLI;
17482add0d91Sopenharmony_cipub const PF_LAT: ::c_int = AF_LAT;
17492add0d91Sopenharmony_cipub const PF_HYLINK: ::c_int = AF_HYLINK;
17502add0d91Sopenharmony_cipub const PF_APPLETALK: ::c_int = AF_APPLETALK;
17512add0d91Sopenharmony_cipub const PF_NIT: ::c_int = AF_NIT;
17522add0d91Sopenharmony_cipub const PF_802: ::c_int = AF_802;
17532add0d91Sopenharmony_cipub const PF_OSI: ::c_int = AF_OSI;
17542add0d91Sopenharmony_cipub const PF_X25: ::c_int = AF_X25;
17552add0d91Sopenharmony_cipub const PF_OSINET: ::c_int = AF_OSINET;
17562add0d91Sopenharmony_cipub const PF_GOSIP: ::c_int = AF_GOSIP;
17572add0d91Sopenharmony_cipub const PF_IPX: ::c_int = AF_IPX;
17582add0d91Sopenharmony_cipub const PF_ROUTE: ::c_int = AF_ROUTE;
17592add0d91Sopenharmony_cipub const PF_LINK: ::c_int = AF_LINK;
17602add0d91Sopenharmony_cipub const PF_INET6: ::c_int = AF_INET6;
17612add0d91Sopenharmony_cipub const PF_KEY: ::c_int = AF_KEY;
17622add0d91Sopenharmony_cipub const PF_NCA: ::c_int = AF_NCA;
17632add0d91Sopenharmony_cipub const PF_POLICY: ::c_int = AF_POLICY;
17642add0d91Sopenharmony_cipub const PF_INET_OFFLOAD: ::c_int = AF_INET_OFFLOAD;
17652add0d91Sopenharmony_cipub const PF_TRILL: ::c_int = AF_TRILL;
17662add0d91Sopenharmony_cipub const PF_PACKET: ::c_int = AF_PACKET;
17672add0d91Sopenharmony_ci
17682add0d91Sopenharmony_cipub const SOCK_DGRAM: ::c_int = 1;
17692add0d91Sopenharmony_cipub const SOCK_STREAM: ::c_int = 2;
17702add0d91Sopenharmony_cipub const SOCK_RAW: ::c_int = 4;
17712add0d91Sopenharmony_cipub const SOCK_RDM: ::c_int = 5;
17722add0d91Sopenharmony_cipub const SOCK_SEQPACKET: ::c_int = 6;
17732add0d91Sopenharmony_cipub const IP_MULTICAST_IF: ::c_int = 16;
17742add0d91Sopenharmony_cipub const IP_MULTICAST_TTL: ::c_int = 17;
17752add0d91Sopenharmony_cipub const IP_MULTICAST_LOOP: ::c_int = 18;
17762add0d91Sopenharmony_cipub const IP_TTL: ::c_int = 4;
17772add0d91Sopenharmony_cipub const IP_HDRINCL: ::c_int = 2;
17782add0d91Sopenharmony_cipub const IP_ADD_MEMBERSHIP: ::c_int = 19;
17792add0d91Sopenharmony_cipub const IP_DROP_MEMBERSHIP: ::c_int = 20;
17802add0d91Sopenharmony_cipub const IPV6_JOIN_GROUP: ::c_int = 9;
17812add0d91Sopenharmony_cipub const IPV6_LEAVE_GROUP: ::c_int = 10;
17822add0d91Sopenharmony_cipub const IP_ADD_SOURCE_MEMBERSHIP: ::c_int = 23;
17832add0d91Sopenharmony_cipub const IP_DROP_SOURCE_MEMBERSHIP: ::c_int = 24;
17842add0d91Sopenharmony_cipub const IP_BLOCK_SOURCE: ::c_int = 21;
17852add0d91Sopenharmony_cipub const IP_UNBLOCK_SOURCE: ::c_int = 22;
17862add0d91Sopenharmony_ci
17872add0d91Sopenharmony_ci// These TCP socket options are common between illumos and Solaris, while higher
17882add0d91Sopenharmony_ci// numbers have generally diverged:
17892add0d91Sopenharmony_cipub const TCP_NODELAY: ::c_int = 0x1;
17902add0d91Sopenharmony_cipub const TCP_MAXSEG: ::c_int = 0x2;
17912add0d91Sopenharmony_cipub const TCP_KEEPALIVE: ::c_int = 0x8;
17922add0d91Sopenharmony_cipub const TCP_NOTIFY_THRESHOLD: ::c_int = 0x10;
17932add0d91Sopenharmony_cipub const TCP_ABORT_THRESHOLD: ::c_int = 0x11;
17942add0d91Sopenharmony_cipub const TCP_CONN_NOTIFY_THRESHOLD: ::c_int = 0x12;
17952add0d91Sopenharmony_cipub const TCP_CONN_ABORT_THRESHOLD: ::c_int = 0x13;
17962add0d91Sopenharmony_cipub const TCP_RECVDSTADDR: ::c_int = 0x14;
17972add0d91Sopenharmony_cipub const TCP_INIT_CWND: ::c_int = 0x15;
17982add0d91Sopenharmony_cipub const TCP_KEEPALIVE_THRESHOLD: ::c_int = 0x16;
17992add0d91Sopenharmony_cipub const TCP_KEEPALIVE_ABORT_THRESHOLD: ::c_int = 0x17;
18002add0d91Sopenharmony_cipub const TCP_CORK: ::c_int = 0x18;
18012add0d91Sopenharmony_cipub const TCP_RTO_INITIAL: ::c_int = 0x19;
18022add0d91Sopenharmony_cipub const TCP_RTO_MIN: ::c_int = 0x1a;
18032add0d91Sopenharmony_cipub const TCP_RTO_MAX: ::c_int = 0x1b;
18042add0d91Sopenharmony_cipub const TCP_LINGER2: ::c_int = 0x1c;
18052add0d91Sopenharmony_ci
18062add0d91Sopenharmony_cipub const UDP_NAT_T_ENDPOINT: ::c_int = 0x0103;
18072add0d91Sopenharmony_ci
18082add0d91Sopenharmony_cipub const SOMAXCONN: ::c_int = 128;
18092add0d91Sopenharmony_ci
18102add0d91Sopenharmony_cipub const SOL_SOCKET: ::c_int = 0xffff;
18112add0d91Sopenharmony_cipub const SO_DEBUG: ::c_int = 0x01;
18122add0d91Sopenharmony_cipub const SO_ACCEPTCONN: ::c_int = 0x0002;
18132add0d91Sopenharmony_cipub const SO_REUSEADDR: ::c_int = 0x0004;
18142add0d91Sopenharmony_cipub const SO_KEEPALIVE: ::c_int = 0x0008;
18152add0d91Sopenharmony_cipub const SO_DONTROUTE: ::c_int = 0x0010;
18162add0d91Sopenharmony_cipub const SO_BROADCAST: ::c_int = 0x0020;
18172add0d91Sopenharmony_cipub const SO_USELOOPBACK: ::c_int = 0x0040;
18182add0d91Sopenharmony_cipub const SO_LINGER: ::c_int = 0x0080;
18192add0d91Sopenharmony_cipub const SO_OOBINLINE: ::c_int = 0x0100;
18202add0d91Sopenharmony_cipub const SO_SNDBUF: ::c_int = 0x1001;
18212add0d91Sopenharmony_cipub const SO_RCVBUF: ::c_int = 0x1002;
18222add0d91Sopenharmony_cipub const SO_SNDLOWAT: ::c_int = 0x1003;
18232add0d91Sopenharmony_cipub const SO_RCVLOWAT: ::c_int = 0x1004;
18242add0d91Sopenharmony_cipub const SO_SNDTIMEO: ::c_int = 0x1005;
18252add0d91Sopenharmony_cipub const SO_RCVTIMEO: ::c_int = 0x1006;
18262add0d91Sopenharmony_cipub const SO_ERROR: ::c_int = 0x1007;
18272add0d91Sopenharmony_cipub const SO_TYPE: ::c_int = 0x1008;
18282add0d91Sopenharmony_cipub const SO_TIMESTAMP: ::c_int = 0x1013;
18292add0d91Sopenharmony_ci
18302add0d91Sopenharmony_cipub const SCM_RIGHTS: ::c_int = 0x1010;
18312add0d91Sopenharmony_cipub const SCM_UCRED: ::c_int = 0x1012;
18322add0d91Sopenharmony_cipub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
18332add0d91Sopenharmony_ci
18342add0d91Sopenharmony_cipub const MSG_OOB: ::c_int = 0x1;
18352add0d91Sopenharmony_cipub const MSG_PEEK: ::c_int = 0x2;
18362add0d91Sopenharmony_cipub const MSG_DONTROUTE: ::c_int = 0x4;
18372add0d91Sopenharmony_cipub const MSG_EOR: ::c_int = 0x8;
18382add0d91Sopenharmony_cipub const MSG_CTRUNC: ::c_int = 0x10;
18392add0d91Sopenharmony_cipub const MSG_TRUNC: ::c_int = 0x20;
18402add0d91Sopenharmony_cipub const MSG_WAITALL: ::c_int = 0x40;
18412add0d91Sopenharmony_cipub const MSG_DONTWAIT: ::c_int = 0x80;
18422add0d91Sopenharmony_cipub const MSG_NOTIFICATION: ::c_int = 0x100;
18432add0d91Sopenharmony_cipub const MSG_NOSIGNAL: ::c_int = 0x200;
18442add0d91Sopenharmony_cipub const MSG_DUPCTRL: ::c_int = 0x800;
18452add0d91Sopenharmony_cipub const MSG_XPG4_2: ::c_int = 0x8000;
18462add0d91Sopenharmony_cipub const MSG_MAXIOVLEN: ::c_int = 16;
18472add0d91Sopenharmony_ci
18482add0d91Sopenharmony_cipub const IF_NAMESIZE: ::size_t = 32;
18492add0d91Sopenharmony_cipub const IFNAMSIZ: ::size_t = 16;
18502add0d91Sopenharmony_ci
18512add0d91Sopenharmony_ci// https://docs.oracle.com/cd/E23824_01/html/821-1475/if-7p.html
18522add0d91Sopenharmony_cipub const IFF_UP: ::c_int = 0x0000000001; // Address is up
18532add0d91Sopenharmony_cipub const IFF_BROADCAST: ::c_int = 0x0000000002; // Broadcast address valid
18542add0d91Sopenharmony_cipub const IFF_DEBUG: ::c_int = 0x0000000004; // Turn on debugging
18552add0d91Sopenharmony_cipub const IFF_LOOPBACK: ::c_int = 0x0000000008; // Loopback net
18562add0d91Sopenharmony_cipub const IFF_POINTOPOINT: ::c_int = 0x0000000010; // Interface is p-to-p
18572add0d91Sopenharmony_cipub const IFF_NOTRAILERS: ::c_int = 0x0000000020; // Avoid use of trailers
18582add0d91Sopenharmony_cipub const IFF_RUNNING: ::c_int = 0x0000000040; // Resources allocated
18592add0d91Sopenharmony_cipub const IFF_NOARP: ::c_int = 0x0000000080; // No address res. protocol
18602add0d91Sopenharmony_cipub const IFF_PROMISC: ::c_int = 0x0000000100; // Receive all packets
18612add0d91Sopenharmony_cipub const IFF_ALLMULTI: ::c_int = 0x0000000200; // Receive all multicast pkts
18622add0d91Sopenharmony_cipub const IFF_INTELLIGENT: ::c_int = 0x0000000400; // Protocol code on board
18632add0d91Sopenharmony_cipub const IFF_MULTICAST: ::c_int = 0x0000000800; // Supports multicast
18642add0d91Sopenharmony_ci
18652add0d91Sopenharmony_ci// Multicast using broadcst. add.
18662add0d91Sopenharmony_cipub const IFF_MULTI_BCAST: ::c_int = 0x0000001000;
18672add0d91Sopenharmony_cipub const IFF_UNNUMBERED: ::c_int = 0x0000002000; // Non-unique address
18682add0d91Sopenharmony_cipub const IFF_DHCPRUNNING: ::c_int = 0x0000004000; // DHCP controls interface
18692add0d91Sopenharmony_cipub const IFF_PRIVATE: ::c_int = 0x0000008000; // Do not advertise
18702add0d91Sopenharmony_cipub const IFF_NOXMIT: ::c_int = 0x0000010000; // Do not transmit pkts
18712add0d91Sopenharmony_ci
18722add0d91Sopenharmony_ci// No address - just on-link subnet
18732add0d91Sopenharmony_cipub const IFF_NOLOCAL: ::c_int = 0x0000020000;
18742add0d91Sopenharmony_cipub const IFF_DEPRECATED: ::c_int = 0x0000040000; // Address is deprecated
18752add0d91Sopenharmony_cipub const IFF_ADDRCONF: ::c_int = 0x0000080000; // Addr. from stateless addrconf
18762add0d91Sopenharmony_cipub const IFF_ROUTER: ::c_int = 0x0000100000; // Router on interface
18772add0d91Sopenharmony_cipub const IFF_NONUD: ::c_int = 0x0000200000; // No NUD on interface
18782add0d91Sopenharmony_cipub const IFF_ANYCAST: ::c_int = 0x0000400000; // Anycast address
18792add0d91Sopenharmony_cipub const IFF_NORTEXCH: ::c_int = 0x0000800000; // Don't xchange rout. info
18802add0d91Sopenharmony_cipub const IFF_IPV4: ::c_int = 0x0001000000; // IPv4 interface
18812add0d91Sopenharmony_cipub const IFF_IPV6: ::c_int = 0x0002000000; // IPv6 interface
18822add0d91Sopenharmony_cipub const IFF_NOFAILOVER: ::c_int = 0x0008000000; // in.mpathd test address
18832add0d91Sopenharmony_cipub const IFF_FAILED: ::c_int = 0x0010000000; // Interface has failed
18842add0d91Sopenharmony_cipub const IFF_STANDBY: ::c_int = 0x0020000000; // Interface is a hot-spare
18852add0d91Sopenharmony_cipub const IFF_INACTIVE: ::c_int = 0x0040000000; // Functioning but not used
18862add0d91Sopenharmony_cipub const IFF_OFFLINE: ::c_int = 0x0080000000; // Interface is offline
18872add0d91Sopenharmony_ci                                               // If CoS marking is supported
18882add0d91Sopenharmony_cipub const IFF_COS_ENABLED: ::c_longlong = 0x0200000000;
18892add0d91Sopenharmony_cipub const IFF_PREFERRED: ::c_longlong = 0x0400000000; // Prefer as source addr.
18902add0d91Sopenharmony_cipub const IFF_TEMPORARY: ::c_longlong = 0x0800000000; // RFC3041
18912add0d91Sopenharmony_cipub const IFF_FIXEDMTU: ::c_longlong = 0x1000000000; // MTU set with SIOCSLIFMTU
18922add0d91Sopenharmony_cipub const IFF_VIRTUAL: ::c_longlong = 0x2000000000; // Cannot send/receive pkts
18932add0d91Sopenharmony_cipub const IFF_DUPLICATE: ::c_longlong = 0x4000000000; // Local address in use
18942add0d91Sopenharmony_cipub const IFF_IPMP: ::c_longlong = 0x8000000000; // IPMP IP interface
18952add0d91Sopenharmony_ci
18962add0d91Sopenharmony_ci// sys/ipc.h:
18972add0d91Sopenharmony_cipub const IPC_ALLOC: ::c_int = 0x8000;
18982add0d91Sopenharmony_cipub const IPC_CREAT: ::c_int = 0x200;
18992add0d91Sopenharmony_cipub const IPC_EXCL: ::c_int = 0x400;
19002add0d91Sopenharmony_cipub const IPC_NOWAIT: ::c_int = 0x800;
19012add0d91Sopenharmony_cipub const IPC_PRIVATE: key_t = 0;
19022add0d91Sopenharmony_cipub const IPC_RMID: ::c_int = 10;
19032add0d91Sopenharmony_cipub const IPC_SET: ::c_int = 11;
19042add0d91Sopenharmony_cipub const IPC_SEAT: ::c_int = 12;
19052add0d91Sopenharmony_ci
19062add0d91Sopenharmony_ci// sys/shm.h
19072add0d91Sopenharmony_cipub const SHM_R: ::c_int = 0o400;
19082add0d91Sopenharmony_cipub const SHM_W: ::c_int = 0o200;
19092add0d91Sopenharmony_cipub const SHM_RDONLY: ::c_int = 0o10000;
19102add0d91Sopenharmony_cipub const SHM_RND: ::c_int = 0o20000;
19112add0d91Sopenharmony_cipub const SHM_SHARE_MMU: ::c_int = 0o40000;
19122add0d91Sopenharmony_cipub const SHM_PAGEABLE: ::c_int = 0o100000;
19132add0d91Sopenharmony_ci
19142add0d91Sopenharmony_cipub const SHUT_RD: ::c_int = 0;
19152add0d91Sopenharmony_cipub const SHUT_WR: ::c_int = 1;
19162add0d91Sopenharmony_cipub const SHUT_RDWR: ::c_int = 2;
19172add0d91Sopenharmony_ci
19182add0d91Sopenharmony_cipub const LOCK_SH: ::c_int = 1;
19192add0d91Sopenharmony_cipub const LOCK_EX: ::c_int = 2;
19202add0d91Sopenharmony_cipub const LOCK_NB: ::c_int = 4;
19212add0d91Sopenharmony_cipub const LOCK_UN: ::c_int = 8;
19222add0d91Sopenharmony_ci
19232add0d91Sopenharmony_cipub const F_RDLCK: ::c_short = 1;
19242add0d91Sopenharmony_cipub const F_WRLCK: ::c_short = 2;
19252add0d91Sopenharmony_cipub const F_UNLCK: ::c_short = 3;
19262add0d91Sopenharmony_ci
19272add0d91Sopenharmony_cipub const O_SYNC: ::c_int = 16;
19282add0d91Sopenharmony_cipub const O_NONBLOCK: ::c_int = 128;
19292add0d91Sopenharmony_ci
19302add0d91Sopenharmony_cipub const IPPROTO_RAW: ::c_int = 255;
19312add0d91Sopenharmony_ci
19322add0d91Sopenharmony_cipub const _PC_LINK_MAX: ::c_int = 1;
19332add0d91Sopenharmony_cipub const _PC_MAX_CANON: ::c_int = 2;
19342add0d91Sopenharmony_cipub const _PC_MAX_INPUT: ::c_int = 3;
19352add0d91Sopenharmony_cipub const _PC_NAME_MAX: ::c_int = 4;
19362add0d91Sopenharmony_cipub const _PC_PATH_MAX: ::c_int = 5;
19372add0d91Sopenharmony_cipub const _PC_PIPE_BUF: ::c_int = 6;
19382add0d91Sopenharmony_cipub const _PC_NO_TRUNC: ::c_int = 7;
19392add0d91Sopenharmony_cipub const _PC_VDISABLE: ::c_int = 8;
19402add0d91Sopenharmony_cipub const _PC_CHOWN_RESTRICTED: ::c_int = 9;
19412add0d91Sopenharmony_cipub const _PC_ASYNC_IO: ::c_int = 10;
19422add0d91Sopenharmony_cipub const _PC_PRIO_IO: ::c_int = 11;
19432add0d91Sopenharmony_cipub const _PC_SYNC_IO: ::c_int = 12;
19442add0d91Sopenharmony_cipub const _PC_ALLOC_SIZE_MIN: ::c_int = 13;
19452add0d91Sopenharmony_cipub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14;
19462add0d91Sopenharmony_cipub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15;
19472add0d91Sopenharmony_cipub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16;
19482add0d91Sopenharmony_cipub const _PC_REC_XFER_ALIGN: ::c_int = 17;
19492add0d91Sopenharmony_cipub const _PC_SYMLINK_MAX: ::c_int = 18;
19502add0d91Sopenharmony_cipub const _PC_2_SYMLINKS: ::c_int = 19;
19512add0d91Sopenharmony_cipub const _PC_ACL_ENABLED: ::c_int = 20;
19522add0d91Sopenharmony_cipub const _PC_MIN_HOLE_SIZE: ::c_int = 21;
19532add0d91Sopenharmony_cipub const _PC_CASE_BEHAVIOR: ::c_int = 22;
19542add0d91Sopenharmony_cipub const _PC_SATTR_ENABLED: ::c_int = 23;
19552add0d91Sopenharmony_cipub const _PC_SATTR_EXISTS: ::c_int = 24;
19562add0d91Sopenharmony_cipub const _PC_ACCESS_FILTERING: ::c_int = 25;
19572add0d91Sopenharmony_cipub const _PC_TIMESTAMP_RESOLUTION: ::c_int = 26;
19582add0d91Sopenharmony_cipub const _PC_FILESIZEBITS: ::c_int = 67;
19592add0d91Sopenharmony_cipub const _PC_XATTR_ENABLED: ::c_int = 100;
19602add0d91Sopenharmony_cipub const _PC_LAST: ::c_int = 101;
19612add0d91Sopenharmony_cipub const _PC_XATTR_EXISTS: ::c_int = 101;
19622add0d91Sopenharmony_ci
19632add0d91Sopenharmony_cipub const _SC_ARG_MAX: ::c_int = 1;
19642add0d91Sopenharmony_cipub const _SC_CHILD_MAX: ::c_int = 2;
19652add0d91Sopenharmony_cipub const _SC_CLK_TCK: ::c_int = 3;
19662add0d91Sopenharmony_cipub const _SC_NGROUPS_MAX: ::c_int = 4;
19672add0d91Sopenharmony_cipub const _SC_OPEN_MAX: ::c_int = 5;
19682add0d91Sopenharmony_cipub const _SC_JOB_CONTROL: ::c_int = 6;
19692add0d91Sopenharmony_cipub const _SC_SAVED_IDS: ::c_int = 7;
19702add0d91Sopenharmony_cipub const _SC_VERSION: ::c_int = 8;
19712add0d91Sopenharmony_cipub const _SC_PASS_MAX: ::c_int = 9;
19722add0d91Sopenharmony_cipub const _SC_LOGNAME_MAX: ::c_int = 10;
19732add0d91Sopenharmony_cipub const _SC_PAGESIZE: ::c_int = 11;
19742add0d91Sopenharmony_cipub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE;
19752add0d91Sopenharmony_cipub const _SC_XOPEN_VERSION: ::c_int = 12;
19762add0d91Sopenharmony_cipub const _SC_NPROCESSORS_CONF: ::c_int = 14;
19772add0d91Sopenharmony_cipub const _SC_NPROCESSORS_ONLN: ::c_int = 15;
19782add0d91Sopenharmony_cipub const _SC_STREAM_MAX: ::c_int = 16;
19792add0d91Sopenharmony_cipub const _SC_TZNAME_MAX: ::c_int = 17;
19802add0d91Sopenharmony_cipub const _SC_AIO_LISTIO_MAX: ::c_int = 18;
19812add0d91Sopenharmony_cipub const _SC_AIO_MAX: ::c_int = 19;
19822add0d91Sopenharmony_cipub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 20;
19832add0d91Sopenharmony_cipub const _SC_ASYNCHRONOUS_IO: ::c_int = 21;
19842add0d91Sopenharmony_cipub const _SC_DELAYTIMER_MAX: ::c_int = 22;
19852add0d91Sopenharmony_cipub const _SC_FSYNC: ::c_int = 23;
19862add0d91Sopenharmony_cipub const _SC_MAPPED_FILES: ::c_int = 24;
19872add0d91Sopenharmony_cipub const _SC_MEMLOCK: ::c_int = 25;
19882add0d91Sopenharmony_cipub const _SC_MEMLOCK_RANGE: ::c_int = 26;
19892add0d91Sopenharmony_cipub const _SC_MEMORY_PROTECTION: ::c_int = 27;
19902add0d91Sopenharmony_cipub const _SC_MESSAGE_PASSING: ::c_int = 28;
19912add0d91Sopenharmony_cipub const _SC_MQ_OPEN_MAX: ::c_int = 29;
19922add0d91Sopenharmony_cipub const _SC_MQ_PRIO_MAX: ::c_int = 30;
19932add0d91Sopenharmony_cipub const _SC_PRIORITIZED_IO: ::c_int = 31;
19942add0d91Sopenharmony_cipub const _SC_PRIORITY_SCHEDULING: ::c_int = 32;
19952add0d91Sopenharmony_cipub const _SC_REALTIME_SIGNALS: ::c_int = 33;
19962add0d91Sopenharmony_cipub const _SC_RTSIG_MAX: ::c_int = 34;
19972add0d91Sopenharmony_cipub const _SC_SEMAPHORES: ::c_int = 35;
19982add0d91Sopenharmony_cipub const _SC_SEM_NSEMS_MAX: ::c_int = 36;
19992add0d91Sopenharmony_cipub const _SC_SEM_VALUE_MAX: ::c_int = 37;
20002add0d91Sopenharmony_cipub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 38;
20012add0d91Sopenharmony_cipub const _SC_SIGQUEUE_MAX: ::c_int = 39;
20022add0d91Sopenharmony_cipub const _SC_SIGRT_MIN: ::c_int = 40;
20032add0d91Sopenharmony_cipub const _SC_SIGRT_MAX: ::c_int = 41;
20042add0d91Sopenharmony_cipub const _SC_SYNCHRONIZED_IO: ::c_int = 42;
20052add0d91Sopenharmony_cipub const _SC_TIMERS: ::c_int = 43;
20062add0d91Sopenharmony_cipub const _SC_TIMER_MAX: ::c_int = 44;
20072add0d91Sopenharmony_cipub const _SC_2_C_BIND: ::c_int = 45;
20082add0d91Sopenharmony_cipub const _SC_2_C_DEV: ::c_int = 46;
20092add0d91Sopenharmony_cipub const _SC_2_C_VERSION: ::c_int = 47;
20102add0d91Sopenharmony_cipub const _SC_2_FORT_DEV: ::c_int = 48;
20112add0d91Sopenharmony_cipub const _SC_2_FORT_RUN: ::c_int = 49;
20122add0d91Sopenharmony_cipub const _SC_2_LOCALEDEF: ::c_int = 50;
20132add0d91Sopenharmony_cipub const _SC_2_SW_DEV: ::c_int = 51;
20142add0d91Sopenharmony_cipub const _SC_2_UPE: ::c_int = 52;
20152add0d91Sopenharmony_cipub const _SC_2_VERSION: ::c_int = 53;
20162add0d91Sopenharmony_cipub const _SC_BC_BASE_MAX: ::c_int = 54;
20172add0d91Sopenharmony_cipub const _SC_BC_DIM_MAX: ::c_int = 55;
20182add0d91Sopenharmony_cipub const _SC_BC_SCALE_MAX: ::c_int = 56;
20192add0d91Sopenharmony_cipub const _SC_BC_STRING_MAX: ::c_int = 57;
20202add0d91Sopenharmony_cipub const _SC_COLL_WEIGHTS_MAX: ::c_int = 58;
20212add0d91Sopenharmony_cipub const _SC_EXPR_NEST_MAX: ::c_int = 59;
20222add0d91Sopenharmony_cipub const _SC_LINE_MAX: ::c_int = 60;
20232add0d91Sopenharmony_cipub const _SC_RE_DUP_MAX: ::c_int = 61;
20242add0d91Sopenharmony_cipub const _SC_XOPEN_CRYPT: ::c_int = 62;
20252add0d91Sopenharmony_cipub const _SC_XOPEN_ENH_I18N: ::c_int = 63;
20262add0d91Sopenharmony_cipub const _SC_XOPEN_SHM: ::c_int = 64;
20272add0d91Sopenharmony_cipub const _SC_2_CHAR_TERM: ::c_int = 66;
20282add0d91Sopenharmony_cipub const _SC_XOPEN_XCU_VERSION: ::c_int = 67;
20292add0d91Sopenharmony_cipub const _SC_ATEXIT_MAX: ::c_int = 76;
20302add0d91Sopenharmony_cipub const _SC_IOV_MAX: ::c_int = 77;
20312add0d91Sopenharmony_cipub const _SC_XOPEN_UNIX: ::c_int = 78;
20322add0d91Sopenharmony_cipub const _SC_T_IOV_MAX: ::c_int = 79;
20332add0d91Sopenharmony_cipub const _SC_PHYS_PAGES: ::c_int = 500;
20342add0d91Sopenharmony_cipub const _SC_AVPHYS_PAGES: ::c_int = 501;
20352add0d91Sopenharmony_cipub const _SC_COHER_BLKSZ: ::c_int = 503;
20362add0d91Sopenharmony_cipub const _SC_SPLIT_CACHE: ::c_int = 504;
20372add0d91Sopenharmony_cipub const _SC_ICACHE_SZ: ::c_int = 505;
20382add0d91Sopenharmony_cipub const _SC_DCACHE_SZ: ::c_int = 506;
20392add0d91Sopenharmony_cipub const _SC_ICACHE_LINESZ: ::c_int = 507;
20402add0d91Sopenharmony_cipub const _SC_DCACHE_LINESZ: ::c_int = 508;
20412add0d91Sopenharmony_cipub const _SC_ICACHE_BLKSZ: ::c_int = 509;
20422add0d91Sopenharmony_cipub const _SC_DCACHE_BLKSZ: ::c_int = 510;
20432add0d91Sopenharmony_cipub const _SC_DCACHE_TBLKSZ: ::c_int = 511;
20442add0d91Sopenharmony_cipub const _SC_ICACHE_ASSOC: ::c_int = 512;
20452add0d91Sopenharmony_cipub const _SC_DCACHE_ASSOC: ::c_int = 513;
20462add0d91Sopenharmony_cipub const _SC_MAXPID: ::c_int = 514;
20472add0d91Sopenharmony_cipub const _SC_STACK_PROT: ::c_int = 515;
20482add0d91Sopenharmony_cipub const _SC_NPROCESSORS_MAX: ::c_int = 516;
20492add0d91Sopenharmony_cipub const _SC_CPUID_MAX: ::c_int = 517;
20502add0d91Sopenharmony_cipub const _SC_EPHID_MAX: ::c_int = 518;
20512add0d91Sopenharmony_cipub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 568;
20522add0d91Sopenharmony_cipub const _SC_GETGR_R_SIZE_MAX: ::c_int = 569;
20532add0d91Sopenharmony_cipub const _SC_GETPW_R_SIZE_MAX: ::c_int = 570;
20542add0d91Sopenharmony_cipub const _SC_LOGIN_NAME_MAX: ::c_int = 571;
20552add0d91Sopenharmony_cipub const _SC_THREAD_KEYS_MAX: ::c_int = 572;
20562add0d91Sopenharmony_cipub const _SC_THREAD_STACK_MIN: ::c_int = 573;
20572add0d91Sopenharmony_cipub const _SC_THREAD_THREADS_MAX: ::c_int = 574;
20582add0d91Sopenharmony_cipub const _SC_TTY_NAME_MAX: ::c_int = 575;
20592add0d91Sopenharmony_cipub const _SC_THREADS: ::c_int = 576;
20602add0d91Sopenharmony_cipub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 577;
20612add0d91Sopenharmony_cipub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 578;
20622add0d91Sopenharmony_cipub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 579;
20632add0d91Sopenharmony_cipub const _SC_THREAD_PRIO_INHERIT: ::c_int = 580;
20642add0d91Sopenharmony_cipub const _SC_THREAD_PRIO_PROTECT: ::c_int = 581;
20652add0d91Sopenharmony_cipub const _SC_THREAD_PROCESS_SHARED: ::c_int = 582;
20662add0d91Sopenharmony_cipub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 583;
20672add0d91Sopenharmony_cipub const _SC_XOPEN_LEGACY: ::c_int = 717;
20682add0d91Sopenharmony_cipub const _SC_XOPEN_REALTIME: ::c_int = 718;
20692add0d91Sopenharmony_cipub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 719;
20702add0d91Sopenharmony_cipub const _SC_XBS5_ILP32_OFF32: ::c_int = 720;
20712add0d91Sopenharmony_cipub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 721;
20722add0d91Sopenharmony_cipub const _SC_XBS5_LP64_OFF64: ::c_int = 722;
20732add0d91Sopenharmony_cipub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 723;
20742add0d91Sopenharmony_cipub const _SC_2_PBS: ::c_int = 724;
20752add0d91Sopenharmony_cipub const _SC_2_PBS_ACCOUNTING: ::c_int = 725;
20762add0d91Sopenharmony_cipub const _SC_2_PBS_CHECKPOINT: ::c_int = 726;
20772add0d91Sopenharmony_cipub const _SC_2_PBS_LOCATE: ::c_int = 728;
20782add0d91Sopenharmony_cipub const _SC_2_PBS_MESSAGE: ::c_int = 729;
20792add0d91Sopenharmony_cipub const _SC_2_PBS_TRACK: ::c_int = 730;
20802add0d91Sopenharmony_cipub const _SC_ADVISORY_INFO: ::c_int = 731;
20812add0d91Sopenharmony_cipub const _SC_BARRIERS: ::c_int = 732;
20822add0d91Sopenharmony_cipub const _SC_CLOCK_SELECTION: ::c_int = 733;
20832add0d91Sopenharmony_cipub const _SC_CPUTIME: ::c_int = 734;
20842add0d91Sopenharmony_cipub const _SC_HOST_NAME_MAX: ::c_int = 735;
20852add0d91Sopenharmony_cipub const _SC_MONOTONIC_CLOCK: ::c_int = 736;
20862add0d91Sopenharmony_cipub const _SC_READER_WRITER_LOCKS: ::c_int = 737;
20872add0d91Sopenharmony_cipub const _SC_REGEXP: ::c_int = 738;
20882add0d91Sopenharmony_cipub const _SC_SHELL: ::c_int = 739;
20892add0d91Sopenharmony_cipub const _SC_SPAWN: ::c_int = 740;
20902add0d91Sopenharmony_cipub const _SC_SPIN_LOCKS: ::c_int = 741;
20912add0d91Sopenharmony_cipub const _SC_SPORADIC_SERVER: ::c_int = 742;
20922add0d91Sopenharmony_cipub const _SC_SS_REPL_MAX: ::c_int = 743;
20932add0d91Sopenharmony_cipub const _SC_SYMLOOP_MAX: ::c_int = 744;
20942add0d91Sopenharmony_cipub const _SC_THREAD_CPUTIME: ::c_int = 745;
20952add0d91Sopenharmony_cipub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 746;
20962add0d91Sopenharmony_cipub const _SC_TIMEOUTS: ::c_int = 747;
20972add0d91Sopenharmony_cipub const _SC_TRACE: ::c_int = 748;
20982add0d91Sopenharmony_cipub const _SC_TRACE_EVENT_FILTER: ::c_int = 749;
20992add0d91Sopenharmony_cipub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 750;
21002add0d91Sopenharmony_cipub const _SC_TRACE_INHERIT: ::c_int = 751;
21012add0d91Sopenharmony_cipub const _SC_TRACE_LOG: ::c_int = 752;
21022add0d91Sopenharmony_cipub const _SC_TRACE_NAME_MAX: ::c_int = 753;
21032add0d91Sopenharmony_cipub const _SC_TRACE_SYS_MAX: ::c_int = 754;
21042add0d91Sopenharmony_cipub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 755;
21052add0d91Sopenharmony_cipub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 756;
21062add0d91Sopenharmony_cipub const _SC_V6_ILP32_OFF32: ::c_int = 757;
21072add0d91Sopenharmony_cipub const _SC_V6_ILP32_OFFBIG: ::c_int = 758;
21082add0d91Sopenharmony_cipub const _SC_V6_LP64_OFF64: ::c_int = 759;
21092add0d91Sopenharmony_cipub const _SC_V6_LPBIG_OFFBIG: ::c_int = 760;
21102add0d91Sopenharmony_cipub const _SC_XOPEN_STREAMS: ::c_int = 761;
21112add0d91Sopenharmony_cipub const _SC_IPV6: ::c_int = 762;
21122add0d91Sopenharmony_cipub const _SC_RAW_SOCKETS: ::c_int = 763;
21132add0d91Sopenharmony_ci
21142add0d91Sopenharmony_cipub const _MUTEX_MAGIC: u16 = 0x4d58; // MX
21152add0d91Sopenharmony_cipub const _COND_MAGIC: u16 = 0x4356; // CV
21162add0d91Sopenharmony_cipub const _RWL_MAGIC: u16 = 0x5257; // RW
21172add0d91Sopenharmony_ci
21182add0d91Sopenharmony_cipub const NCCS: usize = 19;
21192add0d91Sopenharmony_ci
21202add0d91Sopenharmony_cipub const LOG_CRON: ::c_int = 15 << 3;
21212add0d91Sopenharmony_ci
21222add0d91Sopenharmony_cipub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
21232add0d91Sopenharmony_ci    __pthread_mutex_flag1: 0,
21242add0d91Sopenharmony_ci    __pthread_mutex_flag2: 0,
21252add0d91Sopenharmony_ci    __pthread_mutex_ceiling: 0,
21262add0d91Sopenharmony_ci    __pthread_mutex_type: PTHREAD_PROCESS_PRIVATE,
21272add0d91Sopenharmony_ci    __pthread_mutex_magic: _MUTEX_MAGIC,
21282add0d91Sopenharmony_ci    __pthread_mutex_lock: 0,
21292add0d91Sopenharmony_ci    __pthread_mutex_data: 0,
21302add0d91Sopenharmony_ci};
21312add0d91Sopenharmony_cipub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t {
21322add0d91Sopenharmony_ci    __pthread_cond_flag: [0; 4],
21332add0d91Sopenharmony_ci    __pthread_cond_type: PTHREAD_PROCESS_PRIVATE,
21342add0d91Sopenharmony_ci    __pthread_cond_magic: _COND_MAGIC,
21352add0d91Sopenharmony_ci    __pthread_cond_data: 0,
21362add0d91Sopenharmony_ci};
21372add0d91Sopenharmony_cipub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
21382add0d91Sopenharmony_ci    __pthread_rwlock_readers: 0,
21392add0d91Sopenharmony_ci    __pthread_rwlock_type: PTHREAD_PROCESS_PRIVATE,
21402add0d91Sopenharmony_ci    __pthread_rwlock_magic: _RWL_MAGIC,
21412add0d91Sopenharmony_ci    __pthread_rwlock_mutex: PTHREAD_MUTEX_INITIALIZER,
21422add0d91Sopenharmony_ci    __pthread_rwlock_readercv: PTHREAD_COND_INITIALIZER,
21432add0d91Sopenharmony_ci    __pthread_rwlock_writercv: PTHREAD_COND_INITIALIZER,
21442add0d91Sopenharmony_ci};
21452add0d91Sopenharmony_cipub const PTHREAD_MUTEX_NORMAL: ::c_int = 0;
21462add0d91Sopenharmony_cipub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2;
21472add0d91Sopenharmony_cipub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 4;
21482add0d91Sopenharmony_cipub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL;
21492add0d91Sopenharmony_ci
21502add0d91Sopenharmony_cipub const RTLD_NEXT: *mut ::c_void = -1isize as *mut ::c_void;
21512add0d91Sopenharmony_cipub const RTLD_DEFAULT: *mut ::c_void = -2isize as *mut ::c_void;
21522add0d91Sopenharmony_cipub const RTLD_SELF: *mut ::c_void = -3isize as *mut ::c_void;
21532add0d91Sopenharmony_cipub const RTLD_PROBE: *mut ::c_void = -4isize as *mut ::c_void;
21542add0d91Sopenharmony_ci
21552add0d91Sopenharmony_cipub const RTLD_LAZY: ::c_int = 0x1;
21562add0d91Sopenharmony_cipub const RTLD_NOW: ::c_int = 0x2;
21572add0d91Sopenharmony_cipub const RTLD_NOLOAD: ::c_int = 0x4;
21582add0d91Sopenharmony_cipub const RTLD_GLOBAL: ::c_int = 0x100;
21592add0d91Sopenharmony_cipub const RTLD_LOCAL: ::c_int = 0x0;
21602add0d91Sopenharmony_cipub const RTLD_PARENT: ::c_int = 0x200;
21612add0d91Sopenharmony_cipub const RTLD_GROUP: ::c_int = 0x400;
21622add0d91Sopenharmony_cipub const RTLD_WORLD: ::c_int = 0x800;
21632add0d91Sopenharmony_cipub const RTLD_NODELETE: ::c_int = 0x1000;
21642add0d91Sopenharmony_cipub const RTLD_FIRST: ::c_int = 0x2000;
21652add0d91Sopenharmony_cipub const RTLD_CONFGEN: ::c_int = 0x10000;
21662add0d91Sopenharmony_ci
21672add0d91Sopenharmony_cipub const PORT_SOURCE_AIO: ::c_int = 1;
21682add0d91Sopenharmony_cipub const PORT_SOURCE_TIMER: ::c_int = 2;
21692add0d91Sopenharmony_cipub const PORT_SOURCE_USER: ::c_int = 3;
21702add0d91Sopenharmony_cipub const PORT_SOURCE_FD: ::c_int = 4;
21712add0d91Sopenharmony_cipub const PORT_SOURCE_ALERT: ::c_int = 5;
21722add0d91Sopenharmony_cipub const PORT_SOURCE_MQ: ::c_int = 6;
21732add0d91Sopenharmony_cipub const PORT_SOURCE_FILE: ::c_int = 7;
21742add0d91Sopenharmony_ci
21752add0d91Sopenharmony_cipub const NONROOT_USR: ::c_short = 2;
21762add0d91Sopenharmony_cipub const _UTX_USERSIZE: usize = 32;
21772add0d91Sopenharmony_cipub const _UTX_LINESIZE: usize = 32;
21782add0d91Sopenharmony_cipub const _UTX_PADSIZE: usize = 5;
21792add0d91Sopenharmony_cipub const _UTX_IDSIZE: usize = 4;
21802add0d91Sopenharmony_cipub const _UTX_HOSTSIZE: usize = 257;
21812add0d91Sopenharmony_cipub const EMPTY: ::c_short = 0;
21822add0d91Sopenharmony_cipub const RUN_LVL: ::c_short = 1;
21832add0d91Sopenharmony_cipub const BOOT_TIME: ::c_short = 2;
21842add0d91Sopenharmony_cipub const OLD_TIME: ::c_short = 3;
21852add0d91Sopenharmony_cipub const NEW_TIME: ::c_short = 4;
21862add0d91Sopenharmony_cipub const INIT_PROCESS: ::c_short = 5;
21872add0d91Sopenharmony_cipub const LOGIN_PROCESS: ::c_short = 6;
21882add0d91Sopenharmony_cipub const USER_PROCESS: ::c_short = 7;
21892add0d91Sopenharmony_cipub const DEAD_PROCESS: ::c_short = 8;
21902add0d91Sopenharmony_cipub const ACCOUNTING: ::c_short = 9;
21912add0d91Sopenharmony_cipub const DOWN_TIME: ::c_short = 10;
21922add0d91Sopenharmony_ci
21932add0d91Sopenharmony_ciconst _TIOC: ::c_int = ('T' as i32) << 8;
21942add0d91Sopenharmony_ciconst tIOC: ::c_int = ('t' as i32) << 8;
21952add0d91Sopenharmony_cipub const TCGETA: ::c_int = _TIOC | 1;
21962add0d91Sopenharmony_cipub const TCSETA: ::c_int = _TIOC | 2;
21972add0d91Sopenharmony_cipub const TCSETAW: ::c_int = _TIOC | 3;
21982add0d91Sopenharmony_cipub const TCSETAF: ::c_int = _TIOC | 4;
21992add0d91Sopenharmony_cipub const TCSBRK: ::c_int = _TIOC | 5;
22002add0d91Sopenharmony_cipub const TCXONC: ::c_int = _TIOC | 6;
22012add0d91Sopenharmony_cipub const TCFLSH: ::c_int = _TIOC | 7;
22022add0d91Sopenharmony_cipub const TCDSET: ::c_int = _TIOC | 32;
22032add0d91Sopenharmony_cipub const TCGETS: ::c_int = _TIOC | 13;
22042add0d91Sopenharmony_cipub const TCSETS: ::c_int = _TIOC | 14;
22052add0d91Sopenharmony_cipub const TCSANOW: ::c_int = _TIOC | 14;
22062add0d91Sopenharmony_cipub const TCSETSW: ::c_int = _TIOC | 15;
22072add0d91Sopenharmony_cipub const TCSADRAIN: ::c_int = _TIOC | 15;
22082add0d91Sopenharmony_cipub const TCSETSF: ::c_int = _TIOC | 16;
22092add0d91Sopenharmony_cipub const TCSAFLUSH: ::c_int = _TIOC | 16;
22102add0d91Sopenharmony_cipub const TCIFLUSH: ::c_int = 0;
22112add0d91Sopenharmony_cipub const TCOFLUSH: ::c_int = 1;
22122add0d91Sopenharmony_cipub const TCIOFLUSH: ::c_int = 2;
22132add0d91Sopenharmony_cipub const TCOOFF: ::c_int = 0;
22142add0d91Sopenharmony_cipub const TCOON: ::c_int = 1;
22152add0d91Sopenharmony_cipub const TCIOFF: ::c_int = 2;
22162add0d91Sopenharmony_cipub const TCION: ::c_int = 3;
22172add0d91Sopenharmony_cipub const TIOC: ::c_int = _TIOC;
22182add0d91Sopenharmony_cipub const TIOCKBON: ::c_int = _TIOC | 8;
22192add0d91Sopenharmony_cipub const TIOCKBOF: ::c_int = _TIOC | 9;
22202add0d91Sopenharmony_cipub const TIOCGWINSZ: ::c_int = _TIOC | 104;
22212add0d91Sopenharmony_cipub const TIOCSWINSZ: ::c_int = _TIOC | 103;
22222add0d91Sopenharmony_cipub const TIOCGSOFTCAR: ::c_int = _TIOC | 105;
22232add0d91Sopenharmony_cipub const TIOCSSOFTCAR: ::c_int = _TIOC | 106;
22242add0d91Sopenharmony_cipub const TIOCGPPS: ::c_int = _TIOC | 125;
22252add0d91Sopenharmony_cipub const TIOCSPPS: ::c_int = _TIOC | 126;
22262add0d91Sopenharmony_cipub const TIOCGPPSEV: ::c_int = _TIOC | 127;
22272add0d91Sopenharmony_cipub const TIOCGETD: ::c_int = tIOC | 0;
22282add0d91Sopenharmony_cipub const TIOCSETD: ::c_int = tIOC | 1;
22292add0d91Sopenharmony_cipub const TIOCHPCL: ::c_int = tIOC | 2;
22302add0d91Sopenharmony_cipub const TIOCGETP: ::c_int = tIOC | 8;
22312add0d91Sopenharmony_cipub const TIOCSETP: ::c_int = tIOC | 9;
22322add0d91Sopenharmony_cipub const TIOCSETN: ::c_int = tIOC | 10;
22332add0d91Sopenharmony_cipub const TIOCEXCL: ::c_int = tIOC | 13;
22342add0d91Sopenharmony_cipub const TIOCNXCL: ::c_int = tIOC | 14;
22352add0d91Sopenharmony_cipub const TIOCFLUSH: ::c_int = tIOC | 16;
22362add0d91Sopenharmony_cipub const TIOCSETC: ::c_int = tIOC | 17;
22372add0d91Sopenharmony_cipub const TIOCGETC: ::c_int = tIOC | 18;
22382add0d91Sopenharmony_cipub const TIOCLBIS: ::c_int = tIOC | 127;
22392add0d91Sopenharmony_cipub const TIOCLBIC: ::c_int = tIOC | 126;
22402add0d91Sopenharmony_cipub const TIOCLSET: ::c_int = tIOC | 125;
22412add0d91Sopenharmony_cipub const TIOCLGET: ::c_int = tIOC | 124;
22422add0d91Sopenharmony_cipub const TIOCSBRK: ::c_int = tIOC | 123;
22432add0d91Sopenharmony_cipub const TIOCCBRK: ::c_int = tIOC | 122;
22442add0d91Sopenharmony_cipub const TIOCSDTR: ::c_int = tIOC | 121;
22452add0d91Sopenharmony_cipub const TIOCCDTR: ::c_int = tIOC | 120;
22462add0d91Sopenharmony_cipub const TIOCSLTC: ::c_int = tIOC | 117;
22472add0d91Sopenharmony_cipub const TIOCGLTC: ::c_int = tIOC | 116;
22482add0d91Sopenharmony_cipub const TIOCOUTQ: ::c_int = tIOC | 115;
22492add0d91Sopenharmony_cipub const TIOCNOTTY: ::c_int = tIOC | 113;
22502add0d91Sopenharmony_cipub const TIOCSCTTY: ::c_int = tIOC | 132;
22512add0d91Sopenharmony_cipub const TIOCSTOP: ::c_int = tIOC | 111;
22522add0d91Sopenharmony_cipub const TIOCSTART: ::c_int = tIOC | 110;
22532add0d91Sopenharmony_cipub const TIOCSILOOP: ::c_int = tIOC | 109;
22542add0d91Sopenharmony_cipub const TIOCCILOOP: ::c_int = tIOC | 108;
22552add0d91Sopenharmony_cipub const TIOCGPGRP: ::c_int = tIOC | 20;
22562add0d91Sopenharmony_cipub const TIOCSPGRP: ::c_int = tIOC | 21;
22572add0d91Sopenharmony_cipub const TIOCGSID: ::c_int = tIOC | 22;
22582add0d91Sopenharmony_cipub const TIOCSTI: ::c_int = tIOC | 23;
22592add0d91Sopenharmony_cipub const TIOCMSET: ::c_int = tIOC | 26;
22602add0d91Sopenharmony_cipub const TIOCMBIS: ::c_int = tIOC | 27;
22612add0d91Sopenharmony_cipub const TIOCMBIC: ::c_int = tIOC | 28;
22622add0d91Sopenharmony_cipub const TIOCMGET: ::c_int = tIOC | 29;
22632add0d91Sopenharmony_cipub const TIOCREMOTE: ::c_int = tIOC | 30;
22642add0d91Sopenharmony_cipub const TIOCSIGNAL: ::c_int = tIOC | 31;
22652add0d91Sopenharmony_ci
22662add0d91Sopenharmony_cipub const TIOCM_LE: ::c_int = 0o0001;
22672add0d91Sopenharmony_cipub const TIOCM_DTR: ::c_int = 0o0002;
22682add0d91Sopenharmony_cipub const TIOCM_RTS: ::c_int = 0o0004;
22692add0d91Sopenharmony_cipub const TIOCM_ST: ::c_int = 0o0010;
22702add0d91Sopenharmony_cipub const TIOCM_SR: ::c_int = 0o0020;
22712add0d91Sopenharmony_cipub const TIOCM_CTS: ::c_int = 0o0040;
22722add0d91Sopenharmony_cipub const TIOCM_CAR: ::c_int = 0o0100;
22732add0d91Sopenharmony_cipub const TIOCM_CD: ::c_int = TIOCM_CAR;
22742add0d91Sopenharmony_cipub const TIOCM_RNG: ::c_int = 0o0200;
22752add0d91Sopenharmony_cipub const TIOCM_RI: ::c_int = TIOCM_RNG;
22762add0d91Sopenharmony_cipub const TIOCM_DSR: ::c_int = 0o0400;
22772add0d91Sopenharmony_ci
22782add0d91Sopenharmony_cipub const EPOLLIN: ::c_int = 0x1;
22792add0d91Sopenharmony_cipub const EPOLLPRI: ::c_int = 0x2;
22802add0d91Sopenharmony_cipub const EPOLLOUT: ::c_int = 0x4;
22812add0d91Sopenharmony_cipub const EPOLLRDNORM: ::c_int = 0x40;
22822add0d91Sopenharmony_cipub const EPOLLRDBAND: ::c_int = 0x80;
22832add0d91Sopenharmony_cipub const EPOLLWRNORM: ::c_int = 0x100;
22842add0d91Sopenharmony_cipub const EPOLLWRBAND: ::c_int = 0x200;
22852add0d91Sopenharmony_cipub const EPOLLMSG: ::c_int = 0x400;
22862add0d91Sopenharmony_cipub const EPOLLERR: ::c_int = 0x8;
22872add0d91Sopenharmony_cipub const EPOLLHUP: ::c_int = 0x10;
22882add0d91Sopenharmony_cipub const EPOLLET: ::c_int = 0x80000000;
22892add0d91Sopenharmony_cipub const EPOLLRDHUP: ::c_int = 0x2000;
22902add0d91Sopenharmony_cipub const EPOLLONESHOT: ::c_int = 0x40000000;
22912add0d91Sopenharmony_cipub const EPOLLWAKEUP: ::c_int = 0x20000000;
22922add0d91Sopenharmony_cipub const EPOLLEXCLUSIVE: ::c_int = 0x10000000;
22932add0d91Sopenharmony_cipub const EPOLL_CLOEXEC: ::c_int = 0x80000;
22942add0d91Sopenharmony_cipub const EPOLL_CTL_ADD: ::c_int = 1;
22952add0d91Sopenharmony_cipub const EPOLL_CTL_MOD: ::c_int = 3;
22962add0d91Sopenharmony_cipub const EPOLL_CTL_DEL: ::c_int = 2;
22972add0d91Sopenharmony_ci
22982add0d91Sopenharmony_ci/* termios */
22992add0d91Sopenharmony_cipub const B0: speed_t = 0;
23002add0d91Sopenharmony_cipub const B50: speed_t = 1;
23012add0d91Sopenharmony_cipub const B75: speed_t = 2;
23022add0d91Sopenharmony_cipub const B110: speed_t = 3;
23032add0d91Sopenharmony_cipub const B134: speed_t = 4;
23042add0d91Sopenharmony_cipub const B150: speed_t = 5;
23052add0d91Sopenharmony_cipub const B200: speed_t = 6;
23062add0d91Sopenharmony_cipub const B300: speed_t = 7;
23072add0d91Sopenharmony_cipub const B600: speed_t = 8;
23082add0d91Sopenharmony_cipub const B1200: speed_t = 9;
23092add0d91Sopenharmony_cipub const B1800: speed_t = 10;
23102add0d91Sopenharmony_cipub const B2400: speed_t = 11;
23112add0d91Sopenharmony_cipub const B4800: speed_t = 12;
23122add0d91Sopenharmony_cipub const B9600: speed_t = 13;
23132add0d91Sopenharmony_cipub const B19200: speed_t = 14;
23142add0d91Sopenharmony_cipub const B38400: speed_t = 15;
23152add0d91Sopenharmony_cipub const B57600: speed_t = 16;
23162add0d91Sopenharmony_cipub const B76800: speed_t = 17;
23172add0d91Sopenharmony_cipub const B115200: speed_t = 18;
23182add0d91Sopenharmony_cipub const B153600: speed_t = 19;
23192add0d91Sopenharmony_cipub const B230400: speed_t = 20;
23202add0d91Sopenharmony_cipub const B307200: speed_t = 21;
23212add0d91Sopenharmony_cipub const B460800: speed_t = 22;
23222add0d91Sopenharmony_cipub const B921600: speed_t = 23;
23232add0d91Sopenharmony_cipub const CSTART: ::tcflag_t = 0o21;
23242add0d91Sopenharmony_cipub const CSTOP: ::tcflag_t = 0o23;
23252add0d91Sopenharmony_cipub const CSWTCH: ::tcflag_t = 0o32;
23262add0d91Sopenharmony_cipub const CBAUD: ::tcflag_t = 0o17;
23272add0d91Sopenharmony_cipub const CIBAUD: ::tcflag_t = 0o3600000;
23282add0d91Sopenharmony_cipub const CBAUDEXT: ::tcflag_t = 0o10000000;
23292add0d91Sopenharmony_cipub const CIBAUDEXT: ::tcflag_t = 0o20000000;
23302add0d91Sopenharmony_cipub const CSIZE: ::tcflag_t = 0o000060;
23312add0d91Sopenharmony_cipub const CS5: ::tcflag_t = 0;
23322add0d91Sopenharmony_cipub const CS6: ::tcflag_t = 0o000020;
23332add0d91Sopenharmony_cipub const CS7: ::tcflag_t = 0o000040;
23342add0d91Sopenharmony_cipub const CS8: ::tcflag_t = 0o000060;
23352add0d91Sopenharmony_cipub const CSTOPB: ::tcflag_t = 0o000100;
23362add0d91Sopenharmony_cipub const ECHO: ::tcflag_t = 0o000010;
23372add0d91Sopenharmony_cipub const ECHOE: ::tcflag_t = 0o000020;
23382add0d91Sopenharmony_cipub const ECHOK: ::tcflag_t = 0o000040;
23392add0d91Sopenharmony_cipub const ECHONL: ::tcflag_t = 0o000100;
23402add0d91Sopenharmony_cipub const ECHOCTL: ::tcflag_t = 0o001000;
23412add0d91Sopenharmony_cipub const ECHOPRT: ::tcflag_t = 0o002000;
23422add0d91Sopenharmony_cipub const ECHOKE: ::tcflag_t = 0o004000;
23432add0d91Sopenharmony_cipub const EXTPROC: ::tcflag_t = 0o200000;
23442add0d91Sopenharmony_cipub const IGNBRK: ::tcflag_t = 0o000001;
23452add0d91Sopenharmony_cipub const BRKINT: ::tcflag_t = 0o000002;
23462add0d91Sopenharmony_cipub const IGNPAR: ::tcflag_t = 0o000004;
23472add0d91Sopenharmony_cipub const PARMRK: ::tcflag_t = 0o000010;
23482add0d91Sopenharmony_cipub const INPCK: ::tcflag_t = 0o000020;
23492add0d91Sopenharmony_cipub const ISTRIP: ::tcflag_t = 0o000040;
23502add0d91Sopenharmony_cipub const INLCR: ::tcflag_t = 0o000100;
23512add0d91Sopenharmony_cipub const IGNCR: ::tcflag_t = 0o000200;
23522add0d91Sopenharmony_cipub const ICRNL: ::tcflag_t = 0o000400;
23532add0d91Sopenharmony_cipub const IUCLC: ::tcflag_t = 0o001000;
23542add0d91Sopenharmony_cipub const IXON: ::tcflag_t = 0o002000;
23552add0d91Sopenharmony_cipub const IXOFF: ::tcflag_t = 0o010000;
23562add0d91Sopenharmony_cipub const IXANY: ::tcflag_t = 0o004000;
23572add0d91Sopenharmony_cipub const IMAXBEL: ::tcflag_t = 0o020000;
23582add0d91Sopenharmony_cipub const DOSMODE: ::tcflag_t = 0o100000;
23592add0d91Sopenharmony_cipub const OPOST: ::tcflag_t = 0o000001;
23602add0d91Sopenharmony_cipub const OLCUC: ::tcflag_t = 0o000002;
23612add0d91Sopenharmony_cipub const ONLCR: ::tcflag_t = 0o000004;
23622add0d91Sopenharmony_cipub const OCRNL: ::tcflag_t = 0o000010;
23632add0d91Sopenharmony_cipub const ONOCR: ::tcflag_t = 0o000020;
23642add0d91Sopenharmony_cipub const ONLRET: ::tcflag_t = 0o000040;
23652add0d91Sopenharmony_cipub const OFILL: ::tcflag_t = 0o0000100;
23662add0d91Sopenharmony_cipub const OFDEL: ::tcflag_t = 0o0000200;
23672add0d91Sopenharmony_cipub const CREAD: ::tcflag_t = 0o000200;
23682add0d91Sopenharmony_cipub const PARENB: ::tcflag_t = 0o000400;
23692add0d91Sopenharmony_cipub const PARODD: ::tcflag_t = 0o001000;
23702add0d91Sopenharmony_cipub const HUPCL: ::tcflag_t = 0o002000;
23712add0d91Sopenharmony_cipub const CLOCAL: ::tcflag_t = 0o004000;
23722add0d91Sopenharmony_cipub const CRTSXOFF: ::tcflag_t = 0o10000000000;
23732add0d91Sopenharmony_cipub const CRTSCTS: ::tcflag_t = 0o20000000000;
23742add0d91Sopenharmony_cipub const ISIG: ::tcflag_t = 0o000001;
23752add0d91Sopenharmony_cipub const ICANON: ::tcflag_t = 0o000002;
23762add0d91Sopenharmony_cipub const IEXTEN: ::tcflag_t = 0o100000;
23772add0d91Sopenharmony_cipub const TOSTOP: ::tcflag_t = 0o000400;
23782add0d91Sopenharmony_cipub const FLUSHO: ::tcflag_t = 0o020000;
23792add0d91Sopenharmony_cipub const PENDIN: ::tcflag_t = 0o040000;
23802add0d91Sopenharmony_cipub const NOFLSH: ::tcflag_t = 0o000200;
23812add0d91Sopenharmony_cipub const VINTR: usize = 0;
23822add0d91Sopenharmony_cipub const VQUIT: usize = 1;
23832add0d91Sopenharmony_cipub const VERASE: usize = 2;
23842add0d91Sopenharmony_cipub const VKILL: usize = 3;
23852add0d91Sopenharmony_cipub const VEOF: usize = 4;
23862add0d91Sopenharmony_cipub const VEOL: usize = 5;
23872add0d91Sopenharmony_cipub const VEOL2: usize = 6;
23882add0d91Sopenharmony_cipub const VMIN: usize = 4;
23892add0d91Sopenharmony_cipub const VTIME: usize = 5;
23902add0d91Sopenharmony_cipub const VSWTCH: usize = 7;
23912add0d91Sopenharmony_cipub const VSTART: usize = 8;
23922add0d91Sopenharmony_cipub const VSTOP: usize = 9;
23932add0d91Sopenharmony_cipub const VSUSP: usize = 10;
23942add0d91Sopenharmony_cipub const VDSUSP: usize = 11;
23952add0d91Sopenharmony_cipub const VREPRINT: usize = 12;
23962add0d91Sopenharmony_cipub const VDISCARD: usize = 13;
23972add0d91Sopenharmony_cipub const VWERASE: usize = 14;
23982add0d91Sopenharmony_cipub const VLNEXT: usize = 15;
23992add0d91Sopenharmony_cipub const VSTATUS: usize = 16;
24002add0d91Sopenharmony_cipub const VERASE2: usize = 17;
24012add0d91Sopenharmony_ci
24022add0d91Sopenharmony_ci// <sys/stropts.h>
24032add0d91Sopenharmony_ciconst STR: ::c_int = (b'S' as ::c_int) << 8;
24042add0d91Sopenharmony_cipub const I_NREAD: ::c_int = STR | 0o1;
24052add0d91Sopenharmony_cipub const I_PUSH: ::c_int = STR | 0o2;
24062add0d91Sopenharmony_cipub const I_POP: ::c_int = STR | 0o3;
24072add0d91Sopenharmony_cipub const I_LOOK: ::c_int = STR | 0o4;
24082add0d91Sopenharmony_cipub const I_FLUSH: ::c_int = STR | 0o5;
24092add0d91Sopenharmony_cipub const I_SRDOPT: ::c_int = STR | 0o6;
24102add0d91Sopenharmony_cipub const I_GRDOPT: ::c_int = STR | 0o7;
24112add0d91Sopenharmony_cipub const I_STR: ::c_int = STR | 0o10;
24122add0d91Sopenharmony_cipub const I_SETSIG: ::c_int = STR | 0o11;
24132add0d91Sopenharmony_cipub const I_GETSIG: ::c_int = STR | 0o12;
24142add0d91Sopenharmony_cipub const I_FIND: ::c_int = STR | 0o13;
24152add0d91Sopenharmony_cipub const I_LINK: ::c_int = STR | 0o14;
24162add0d91Sopenharmony_cipub const I_UNLINK: ::c_int = STR | 0o15;
24172add0d91Sopenharmony_cipub const I_PEEK: ::c_int = STR | 0o17;
24182add0d91Sopenharmony_cipub const I_FDINSERT: ::c_int = STR | 0o20;
24192add0d91Sopenharmony_cipub const I_SENDFD: ::c_int = STR | 0o21;
24202add0d91Sopenharmony_cipub const I_RECVFD: ::c_int = STR | 0o16;
24212add0d91Sopenharmony_cipub const I_SWROPT: ::c_int = STR | 0o23;
24222add0d91Sopenharmony_cipub const I_GWROPT: ::c_int = STR | 0o24;
24232add0d91Sopenharmony_cipub const I_LIST: ::c_int = STR | 0o25;
24242add0d91Sopenharmony_cipub const I_PLINK: ::c_int = STR | 0o26;
24252add0d91Sopenharmony_cipub const I_PUNLINK: ::c_int = STR | 0o27;
24262add0d91Sopenharmony_cipub const I_ANCHOR: ::c_int = STR | 0o30;
24272add0d91Sopenharmony_cipub const I_FLUSHBAND: ::c_int = STR | 0o34;
24282add0d91Sopenharmony_cipub const I_CKBAND: ::c_int = STR | 0o35;
24292add0d91Sopenharmony_cipub const I_GETBAND: ::c_int = STR | 0o36;
24302add0d91Sopenharmony_cipub const I_ATMARK: ::c_int = STR | 0o37;
24312add0d91Sopenharmony_cipub const I_SETCLTIME: ::c_int = STR | 0o40;
24322add0d91Sopenharmony_cipub const I_GETCLTIME: ::c_int = STR | 0o41;
24332add0d91Sopenharmony_cipub const I_CANPUT: ::c_int = STR | 0o42;
24342add0d91Sopenharmony_cipub const I_SERROPT: ::c_int = STR | 0o43;
24352add0d91Sopenharmony_cipub const I_GERROPT: ::c_int = STR | 0o44;
24362add0d91Sopenharmony_cipub const I_ESETSIG: ::c_int = STR | 0o45;
24372add0d91Sopenharmony_cipub const I_EGETSIG: ::c_int = STR | 0o46;
24382add0d91Sopenharmony_cipub const __I_PUSH_NOCTTY: ::c_int = STR | 0o47;
24392add0d91Sopenharmony_ci
24402add0d91Sopenharmony_ci// 3SOCKET flags
24412add0d91Sopenharmony_cipub const SOCK_CLOEXEC: ::c_int = 0x080000;
24422add0d91Sopenharmony_cipub const SOCK_NONBLOCK: ::c_int = 0x100000;
24432add0d91Sopenharmony_cipub const SOCK_NDELAY: ::c_int = 0x200000;
24442add0d91Sopenharmony_ci
24452add0d91Sopenharmony_ci//<sys/timex.h>
24462add0d91Sopenharmony_cipub const SCALE_KG: ::c_int = 1 << 6;
24472add0d91Sopenharmony_cipub const SCALE_KF: ::c_int = 1 << 16;
24482add0d91Sopenharmony_cipub const SCALE_KH: ::c_int = 1 << 2;
24492add0d91Sopenharmony_cipub const MAXTC: ::c_int = 1 << 6;
24502add0d91Sopenharmony_cipub const SCALE_PHASE: ::c_int = 1 << 22;
24512add0d91Sopenharmony_cipub const SCALE_USEC: ::c_int = 1 << 16;
24522add0d91Sopenharmony_cipub const SCALE_UPDATE: ::c_int = SCALE_KG * MAXTC;
24532add0d91Sopenharmony_cipub const FINEUSEC: ::c_int = 1 << 22;
24542add0d91Sopenharmony_cipub const MAXPHASE: ::c_int = 512000;
24552add0d91Sopenharmony_cipub const MAXFREQ: ::c_int = 512 * SCALE_USEC;
24562add0d91Sopenharmony_cipub const MAXTIME: ::c_int = 200 << PPS_AVG;
24572add0d91Sopenharmony_cipub const MINSEC: ::c_int = 16;
24582add0d91Sopenharmony_cipub const MAXSEC: ::c_int = 1200;
24592add0d91Sopenharmony_cipub const PPS_AVG: ::c_int = 2;
24602add0d91Sopenharmony_cipub const PPS_SHIFT: ::c_int = 2;
24612add0d91Sopenharmony_cipub const PPS_SHIFTMAX: ::c_int = 8;
24622add0d91Sopenharmony_cipub const PPS_VALID: ::c_int = 120;
24632add0d91Sopenharmony_cipub const MAXGLITCH: ::c_int = 30;
24642add0d91Sopenharmony_cipub const MOD_OFFSET: u32 = 0x0001;
24652add0d91Sopenharmony_cipub const MOD_FREQUENCY: u32 = 0x0002;
24662add0d91Sopenharmony_cipub const MOD_MAXERROR: u32 = 0x0004;
24672add0d91Sopenharmony_cipub const MOD_ESTERROR: u32 = 0x0008;
24682add0d91Sopenharmony_cipub const MOD_STATUS: u32 = 0x0010;
24692add0d91Sopenharmony_cipub const MOD_TIMECONST: u32 = 0x0020;
24702add0d91Sopenharmony_cipub const MOD_CLKB: u32 = 0x4000;
24712add0d91Sopenharmony_cipub const MOD_CLKA: u32 = 0x8000;
24722add0d91Sopenharmony_cipub const STA_PLL: u32 = 0x0001;
24732add0d91Sopenharmony_cipub const STA_PPSFREQ: i32 = 0x0002;
24742add0d91Sopenharmony_cipub const STA_PPSTIME: i32 = 0x0004;
24752add0d91Sopenharmony_cipub const STA_FLL: i32 = 0x0008;
24762add0d91Sopenharmony_cipub const STA_INS: i32 = 0x0010;
24772add0d91Sopenharmony_cipub const STA_DEL: i32 = 0x0020;
24782add0d91Sopenharmony_cipub const STA_UNSYNC: i32 = 0x0040;
24792add0d91Sopenharmony_cipub const STA_FREQHOLD: i32 = 0x0080;
24802add0d91Sopenharmony_cipub const STA_PPSSIGNAL: i32 = 0x0100;
24812add0d91Sopenharmony_cipub const STA_PPSJITTER: i32 = 0x0200;
24822add0d91Sopenharmony_cipub const STA_PPSWANDER: i32 = 0x0400;
24832add0d91Sopenharmony_cipub const STA_PPSERROR: i32 = 0x0800;
24842add0d91Sopenharmony_cipub const STA_CLOCKERR: i32 = 0x1000;
24852add0d91Sopenharmony_cipub const STA_RONLY: i32 =
24862add0d91Sopenharmony_ci    STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR;
24872add0d91Sopenharmony_cipub const TIME_OK: i32 = 0;
24882add0d91Sopenharmony_cipub const TIME_INS: i32 = 1;
24892add0d91Sopenharmony_cipub const TIME_DEL: i32 = 2;
24902add0d91Sopenharmony_cipub const TIME_OOP: i32 = 3;
24912add0d91Sopenharmony_cipub const TIME_WAIT: i32 = 4;
24922add0d91Sopenharmony_cipub const TIME_ERROR: i32 = 5;
24932add0d91Sopenharmony_ci
24942add0d91Sopenharmony_cipub const PRIO_PROCESS: ::c_int = 0;
24952add0d91Sopenharmony_cipub const PRIO_PGRP: ::c_int = 1;
24962add0d91Sopenharmony_cipub const PRIO_USER: ::c_int = 2;
24972add0d91Sopenharmony_ci
24982add0d91Sopenharmony_cipub const SCHED_OTHER: ::c_int = 0;
24992add0d91Sopenharmony_cipub const SCHED_FIFO: ::c_int = 1;
25002add0d91Sopenharmony_cipub const SCHED_RR: ::c_int = 2;
25012add0d91Sopenharmony_cipub const SCHED_SYS: ::c_int = 3;
25022add0d91Sopenharmony_cipub const SCHED_IA: ::c_int = 4;
25032add0d91Sopenharmony_cipub const SCHED_FSS: ::c_int = 5;
25042add0d91Sopenharmony_cipub const SCHED_FX: ::c_int = 6;
25052add0d91Sopenharmony_ci
25062add0d91Sopenharmony_ci// sys/priv.h
25072add0d91Sopenharmony_cipub const PRIV_DEBUG: ::c_uint = 0x0001;
25082add0d91Sopenharmony_cipub const PRIV_AWARE: ::c_uint = 0x0002;
25092add0d91Sopenharmony_cipub const PRIV_AWARE_INHERIT: ::c_uint = 0x0004;
25102add0d91Sopenharmony_cipub const __PROC_PROTECT: ::c_uint = 0x0008;
25112add0d91Sopenharmony_cipub const NET_MAC_AWARE: ::c_uint = 0x0010;
25122add0d91Sopenharmony_cipub const NET_MAC_AWARE_INHERIT: ::c_uint = 0x0020;
25132add0d91Sopenharmony_cipub const PRIV_AWARE_RESET: ::c_uint = 0x0040;
25142add0d91Sopenharmony_cipub const PRIV_XPOLICY: ::c_uint = 0x0080;
25152add0d91Sopenharmony_cipub const PRIV_PFEXEC: ::c_uint = 0x0100;
25162add0d91Sopenharmony_cipub const PRIV_USER: ::c_uint = PRIV_DEBUG
25172add0d91Sopenharmony_ci    | NET_MAC_AWARE
25182add0d91Sopenharmony_ci    | NET_MAC_AWARE_INHERIT
25192add0d91Sopenharmony_ci    | PRIV_XPOLICY
25202add0d91Sopenharmony_ci    | PRIV_AWARE_RESET
25212add0d91Sopenharmony_ci    | PRIV_PFEXEC;
25222add0d91Sopenharmony_ci
25232add0d91Sopenharmony_ci// sys/systeminfo.h
25242add0d91Sopenharmony_cipub const SI_SYSNAME: ::c_int = 1;
25252add0d91Sopenharmony_cipub const SI_HOSTNAME: ::c_int = 2;
25262add0d91Sopenharmony_cipub const SI_RELEASE: ::c_int = 3;
25272add0d91Sopenharmony_cipub const SI_VERSION: ::c_int = 4;
25282add0d91Sopenharmony_cipub const SI_MACHINE: ::c_int = 5;
25292add0d91Sopenharmony_cipub const SI_ARCHITECTURE: ::c_int = 6;
25302add0d91Sopenharmony_cipub const SI_HW_SERIAL: ::c_int = 7;
25312add0d91Sopenharmony_cipub const SI_HW_PROVIDER: ::c_int = 8;
25322add0d91Sopenharmony_cipub const SI_SET_HOSTNAME: ::c_int = 258;
25332add0d91Sopenharmony_cipub const SI_SET_SRPC_DOMAIN: ::c_int = 265;
25342add0d91Sopenharmony_cipub const SI_PLATFORM: ::c_int = 513;
25352add0d91Sopenharmony_cipub const SI_ISALIST: ::c_int = 514;
25362add0d91Sopenharmony_cipub const SI_DHCP_CACHE: ::c_int = 515;
25372add0d91Sopenharmony_cipub const SI_ARCHITECTURE_32: ::c_int = 516;
25382add0d91Sopenharmony_cipub const SI_ARCHITECTURE_64: ::c_int = 517;
25392add0d91Sopenharmony_cipub const SI_ARCHITECTURE_K: ::c_int = 518;
25402add0d91Sopenharmony_cipub const SI_ARCHITECTURE_NATIVE: ::c_int = 519;
25412add0d91Sopenharmony_ci
25422add0d91Sopenharmony_ci// sys/lgrp_user.h
25432add0d91Sopenharmony_cipub const LGRP_COOKIE_NONE: ::lgrp_cookie_t = 0;
25442add0d91Sopenharmony_cipub const LGRP_AFF_NONE: ::lgrp_affinity_t = 0x0;
25452add0d91Sopenharmony_cipub const LGRP_AFF_WEAK: ::lgrp_affinity_t = 0x10;
25462add0d91Sopenharmony_cipub const LGRP_AFF_STRONG: ::lgrp_affinity_t = 0x100;
25472add0d91Sopenharmony_cipub const LGRP_RSRC_COUNT: ::lgrp_rsrc_t = 2;
25482add0d91Sopenharmony_cipub const LGRP_RSRC_CPU: ::lgrp_rsrc_t = 0;
25492add0d91Sopenharmony_cipub const LGRP_RSRC_MEM: ::lgrp_rsrc_t = 1;
25502add0d91Sopenharmony_cipub const LGRP_CONTENT_ALL: ::lgrp_content_t = 0;
25512add0d91Sopenharmony_cipub const LGRP_CONTENT_HIERARCHY: ::lgrp_content_t = LGRP_CONTENT_ALL;
25522add0d91Sopenharmony_cipub const LGRP_CONTENT_DIRECT: ::lgrp_content_t = 1;
25532add0d91Sopenharmony_cipub const LGRP_LAT_CPU_TO_MEM: ::lgrp_lat_between_t = 0;
25542add0d91Sopenharmony_cipub const LGRP_MEM_SZ_FREE: ::lgrp_mem_size_flag_t = 0;
25552add0d91Sopenharmony_cipub const LGRP_MEM_SZ_INSTALLED: ::lgrp_mem_size_flag_t = 1;
25562add0d91Sopenharmony_cipub const LGRP_VIEW_CALLER: ::lgrp_view_t = 0;
25572add0d91Sopenharmony_cipub const LGRP_VIEW_OS: ::lgrp_view_t = 1;
25582add0d91Sopenharmony_ci
25592add0d91Sopenharmony_ci// sys/processor.h
25602add0d91Sopenharmony_ci
25612add0d91Sopenharmony_cipub const P_OFFLINE: ::c_int = 0x001;
25622add0d91Sopenharmony_cipub const P_ONLINE: ::c_int = 0x002;
25632add0d91Sopenharmony_cipub const P_STATUS: ::c_int = 0x003;
25642add0d91Sopenharmony_cipub const P_FAULTED: ::c_int = 0x004;
25652add0d91Sopenharmony_cipub const P_POWEROFF: ::c_int = 0x005;
25662add0d91Sopenharmony_cipub const P_NOINTR: ::c_int = 0x006;
25672add0d91Sopenharmony_cipub const P_SPARE: ::c_int = 0x007;
25682add0d91Sopenharmony_cipub const P_DISABLED: ::c_int = 0x008;
25692add0d91Sopenharmony_cipub const P_FORCED: ::c_int = 0x10000000;
25702add0d91Sopenharmony_cipub const PI_TYPELEN: ::c_int = 16;
25712add0d91Sopenharmony_cipub const PI_FPUTYPE: ::c_int = 32;
25722add0d91Sopenharmony_ci
25732add0d91Sopenharmony_ci// sys/auxv.h
25742add0d91Sopenharmony_cipub const AT_SUN_HWCAP: ::c_uint = 2009;
25752add0d91Sopenharmony_cipub const AT_SUN_HWCAP2: ::c_uint = 2023;
25762add0d91Sopenharmony_cipub const AT_SUN_FPTYPE: ::c_uint = 2027;
25772add0d91Sopenharmony_ci
25782add0d91Sopenharmony_ci// As per sys/socket.h, header alignment must be 8 bytes on SPARC
25792add0d91Sopenharmony_ci// and 4 bytes everywhere else:
25802add0d91Sopenharmony_ci#[cfg(target_arch = "sparc64")]
25812add0d91Sopenharmony_ciconst _CMSG_HDR_ALIGNMENT: usize = 8;
25822add0d91Sopenharmony_ci#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
25832add0d91Sopenharmony_ciconst _CMSG_HDR_ALIGNMENT: usize = 4;
25842add0d91Sopenharmony_ci
25852add0d91Sopenharmony_ciconst _CMSG_DATA_ALIGNMENT: usize = ::mem::size_of::<::c_int>();
25862add0d91Sopenharmony_ci
25872add0d91Sopenharmony_ciconst_fn! {
25882add0d91Sopenharmony_ci    {const} fn _CMSG_HDR_ALIGN(p: usize) -> usize {
25892add0d91Sopenharmony_ci        (p + _CMSG_HDR_ALIGNMENT - 1) & !(_CMSG_HDR_ALIGNMENT - 1)
25902add0d91Sopenharmony_ci    }
25912add0d91Sopenharmony_ci
25922add0d91Sopenharmony_ci    {const} fn _CMSG_DATA_ALIGN(p: usize) -> usize {
25932add0d91Sopenharmony_ci        (p + _CMSG_DATA_ALIGNMENT - 1) & !(_CMSG_DATA_ALIGNMENT - 1)
25942add0d91Sopenharmony_ci    }
25952add0d91Sopenharmony_ci}
25962add0d91Sopenharmony_ci
25972add0d91Sopenharmony_cif! {
25982add0d91Sopenharmony_ci    pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar {
25992add0d91Sopenharmony_ci        _CMSG_DATA_ALIGN(cmsg.offset(1) as usize) as *mut ::c_uchar
26002add0d91Sopenharmony_ci    }
26012add0d91Sopenharmony_ci
26022add0d91Sopenharmony_ci    pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
26032add0d91Sopenharmony_ci        _CMSG_DATA_ALIGN(::mem::size_of::<::cmsghdr>()) as ::c_uint + length
26042add0d91Sopenharmony_ci    }
26052add0d91Sopenharmony_ci
26062add0d91Sopenharmony_ci    pub fn CMSG_FIRSTHDR(mhdr: *const ::msghdr) -> *mut ::cmsghdr {
26072add0d91Sopenharmony_ci        if ((*mhdr).msg_controllen as usize) < ::mem::size_of::<::cmsghdr>() {
26082add0d91Sopenharmony_ci            0 as *mut ::cmsghdr
26092add0d91Sopenharmony_ci        } else {
26102add0d91Sopenharmony_ci            (*mhdr).msg_control as *mut ::cmsghdr
26112add0d91Sopenharmony_ci        }
26122add0d91Sopenharmony_ci    }
26132add0d91Sopenharmony_ci
26142add0d91Sopenharmony_ci    pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, cmsg: *const ::cmsghdr)
26152add0d91Sopenharmony_ci        -> *mut ::cmsghdr
26162add0d91Sopenharmony_ci    {
26172add0d91Sopenharmony_ci        if cmsg.is_null() {
26182add0d91Sopenharmony_ci            return ::CMSG_FIRSTHDR(mhdr);
26192add0d91Sopenharmony_ci        };
26202add0d91Sopenharmony_ci        let next = _CMSG_HDR_ALIGN(cmsg as usize + (*cmsg).cmsg_len as usize
26212add0d91Sopenharmony_ci            + ::mem::size_of::<::cmsghdr>());
26222add0d91Sopenharmony_ci        let max = (*mhdr).msg_control as usize
26232add0d91Sopenharmony_ci            + (*mhdr).msg_controllen as usize;
26242add0d91Sopenharmony_ci        if next > max {
26252add0d91Sopenharmony_ci            0 as *mut ::cmsghdr
26262add0d91Sopenharmony_ci        } else {
26272add0d91Sopenharmony_ci            _CMSG_HDR_ALIGN(cmsg as usize + (*cmsg).cmsg_len as usize)
26282add0d91Sopenharmony_ci                as *mut ::cmsghdr
26292add0d91Sopenharmony_ci        }
26302add0d91Sopenharmony_ci    }
26312add0d91Sopenharmony_ci
26322add0d91Sopenharmony_ci    pub {const} fn CMSG_SPACE(length: ::c_uint) -> ::c_uint {
26332add0d91Sopenharmony_ci        _CMSG_HDR_ALIGN(::mem::size_of::<::cmsghdr>() as usize
26342add0d91Sopenharmony_ci            + length as usize) as ::c_uint
26352add0d91Sopenharmony_ci    }
26362add0d91Sopenharmony_ci
26372add0d91Sopenharmony_ci    pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () {
26382add0d91Sopenharmony_ci        let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
26392add0d91Sopenharmony_ci        let fd = fd as usize;
26402add0d91Sopenharmony_ci        (*set).fds_bits[fd / bits] &= !(1 << (fd % bits));
26412add0d91Sopenharmony_ci        return
26422add0d91Sopenharmony_ci    }
26432add0d91Sopenharmony_ci
26442add0d91Sopenharmony_ci    pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
26452add0d91Sopenharmony_ci        let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
26462add0d91Sopenharmony_ci        let fd = fd as usize;
26472add0d91Sopenharmony_ci        return ((*set).fds_bits[fd / bits] & (1 << (fd % bits))) != 0
26482add0d91Sopenharmony_ci    }
26492add0d91Sopenharmony_ci
26502add0d91Sopenharmony_ci    pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () {
26512add0d91Sopenharmony_ci        let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
26522add0d91Sopenharmony_ci        let fd = fd as usize;
26532add0d91Sopenharmony_ci        (*set).fds_bits[fd / bits] |= 1 << (fd % bits);
26542add0d91Sopenharmony_ci        return
26552add0d91Sopenharmony_ci    }
26562add0d91Sopenharmony_ci
26572add0d91Sopenharmony_ci    pub fn FD_ZERO(set: *mut fd_set) -> () {
26582add0d91Sopenharmony_ci        for slot in (*set).fds_bits.iter_mut() {
26592add0d91Sopenharmony_ci            *slot = 0;
26602add0d91Sopenharmony_ci        }
26612add0d91Sopenharmony_ci    }
26622add0d91Sopenharmony_ci}
26632add0d91Sopenharmony_ci
26642add0d91Sopenharmony_cisafe_f! {
26652add0d91Sopenharmony_ci    pub {const} fn WIFEXITED(status: ::c_int) -> bool {
26662add0d91Sopenharmony_ci        (status & 0xFF) == 0
26672add0d91Sopenharmony_ci    }
26682add0d91Sopenharmony_ci
26692add0d91Sopenharmony_ci    pub {const} fn WEXITSTATUS(status: ::c_int) -> ::c_int {
26702add0d91Sopenharmony_ci        (status >> 8) & 0xFF
26712add0d91Sopenharmony_ci    }
26722add0d91Sopenharmony_ci
26732add0d91Sopenharmony_ci    pub {const} fn WTERMSIG(status: ::c_int) -> ::c_int {
26742add0d91Sopenharmony_ci        status & 0x7F
26752add0d91Sopenharmony_ci    }
26762add0d91Sopenharmony_ci
26772add0d91Sopenharmony_ci    pub {const} fn WIFCONTINUED(status: ::c_int) -> bool {
26782add0d91Sopenharmony_ci        (status & 0xffff) == 0xffff
26792add0d91Sopenharmony_ci    }
26802add0d91Sopenharmony_ci
26812add0d91Sopenharmony_ci    pub {const} fn WSTOPSIG(status: ::c_int) -> ::c_int {
26822add0d91Sopenharmony_ci        (status & 0xff00) >> 8
26832add0d91Sopenharmony_ci    }
26842add0d91Sopenharmony_ci
26852add0d91Sopenharmony_ci    pub {const} fn WIFSIGNALED(status: ::c_int) -> bool {
26862add0d91Sopenharmony_ci        ((status & 0xff) > 0) && (status & 0xff00 == 0)
26872add0d91Sopenharmony_ci    }
26882add0d91Sopenharmony_ci
26892add0d91Sopenharmony_ci    pub {const} fn WIFSTOPPED(status: ::c_int) -> bool {
26902add0d91Sopenharmony_ci        ((status & 0xff) == 0x7f) && ((status & 0xff00) != 0)
26912add0d91Sopenharmony_ci    }
26922add0d91Sopenharmony_ci
26932add0d91Sopenharmony_ci    pub {const} fn WCOREDUMP(status: ::c_int) -> bool {
26942add0d91Sopenharmony_ci        (status & 0x80) != 0
26952add0d91Sopenharmony_ci    }
26962add0d91Sopenharmony_ci
26972add0d91Sopenharmony_ci    pub {const} fn MR_GET_TYPE(flags: ::c_uint) -> ::c_uint {
26982add0d91Sopenharmony_ci        flags & 0x0000ffff
26992add0d91Sopenharmony_ci    }
27002add0d91Sopenharmony_ci}
27012add0d91Sopenharmony_ci
27022add0d91Sopenharmony_ciextern "C" {
27032add0d91Sopenharmony_ci    pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int;
27042add0d91Sopenharmony_ci    pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int;
27052add0d91Sopenharmony_ci
27062add0d91Sopenharmony_ci    pub fn strerror_r(errnum: ::c_int, buf: *mut c_char, buflen: ::size_t) -> ::c_int;
27072add0d91Sopenharmony_ci
27082add0d91Sopenharmony_ci    pub fn sem_destroy(sem: *mut sem_t) -> ::c_int;
27092add0d91Sopenharmony_ci    pub fn sem_init(sem: *mut sem_t, pshared: ::c_int, value: ::c_uint) -> ::c_int;
27102add0d91Sopenharmony_ci
27112add0d91Sopenharmony_ci    pub fn abs(i: ::c_int) -> ::c_int;
27122add0d91Sopenharmony_ci    pub fn acct(filename: *const ::c_char) -> ::c_int;
27132add0d91Sopenharmony_ci    pub fn dirfd(dirp: *mut ::DIR) -> ::c_int;
27142add0d91Sopenharmony_ci    pub fn labs(i: ::c_long) -> ::c_long;
27152add0d91Sopenharmony_ci    pub fn rand() -> ::c_int;
27162add0d91Sopenharmony_ci    pub fn srand(seed: ::c_uint);
27172add0d91Sopenharmony_ci    pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
27182add0d91Sopenharmony_ci    pub fn getrandom(bbuf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t;
27192add0d91Sopenharmony_ci
27202add0d91Sopenharmony_ci    pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int;
27212add0d91Sopenharmony_ci    pub fn settimeofday(tp: *const ::timeval, tz: *const ::c_void) -> ::c_int;
27222add0d91Sopenharmony_ci    pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int;
27232add0d91Sopenharmony_ci    pub fn freeifaddrs(ifa: *mut ::ifaddrs);
27242add0d91Sopenharmony_ci
27252add0d91Sopenharmony_ci    pub fn stack_getbounds(sp: *mut ::stack_t) -> ::c_int;
27262add0d91Sopenharmony_ci    pub fn getgrouplist(
27272add0d91Sopenharmony_ci        name: *const ::c_char,
27282add0d91Sopenharmony_ci        basegid: ::gid_t,
27292add0d91Sopenharmony_ci        groups: *mut ::gid_t,
27302add0d91Sopenharmony_ci        ngroups: *mut ::c_int,
27312add0d91Sopenharmony_ci    ) -> ::c_int;
27322add0d91Sopenharmony_ci    pub fn initgroups(name: *const ::c_char, basegid: ::gid_t) -> ::c_int;
27332add0d91Sopenharmony_ci    pub fn setgroups(ngroups: ::c_int, ptr: *const ::gid_t) -> ::c_int;
27342add0d91Sopenharmony_ci    pub fn ioctl(fildes: ::c_int, request: ::c_int, ...) -> ::c_int;
27352add0d91Sopenharmony_ci    pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
27362add0d91Sopenharmony_ci    pub fn ___errno() -> *mut ::c_int;
27372add0d91Sopenharmony_ci    pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
27382add0d91Sopenharmony_ci    pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
27392add0d91Sopenharmony_ci    pub fn clock_nanosleep(
27402add0d91Sopenharmony_ci        clk_id: ::clockid_t,
27412add0d91Sopenharmony_ci        flags: ::c_int,
27422add0d91Sopenharmony_ci        rqtp: *const ::timespec,
27432add0d91Sopenharmony_ci        rmtp: *mut ::timespec,
27442add0d91Sopenharmony_ci    ) -> ::c_int;
27452add0d91Sopenharmony_ci    pub fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
27462add0d91Sopenharmony_ci    pub fn getnameinfo(
27472add0d91Sopenharmony_ci        sa: *const ::sockaddr,
27482add0d91Sopenharmony_ci        salen: ::socklen_t,
27492add0d91Sopenharmony_ci        host: *mut ::c_char,
27502add0d91Sopenharmony_ci        hostlen: ::socklen_t,
27512add0d91Sopenharmony_ci        serv: *mut ::c_char,
27522add0d91Sopenharmony_ci        sevlen: ::socklen_t,
27532add0d91Sopenharmony_ci        flags: ::c_int,
27542add0d91Sopenharmony_ci    ) -> ::c_int;
27552add0d91Sopenharmony_ci    pub fn setpwent();
27562add0d91Sopenharmony_ci    pub fn endpwent();
27572add0d91Sopenharmony_ci    pub fn getpwent() -> *mut passwd;
27582add0d91Sopenharmony_ci    pub fn fdatasync(fd: ::c_int) -> ::c_int;
27592add0d91Sopenharmony_ci    pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
27602add0d91Sopenharmony_ci    pub fn duplocale(base: ::locale_t) -> ::locale_t;
27612add0d91Sopenharmony_ci    pub fn freelocale(loc: ::locale_t);
27622add0d91Sopenharmony_ci    pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
27632add0d91Sopenharmony_ci    pub fn uselocale(loc: ::locale_t) -> ::locale_t;
27642add0d91Sopenharmony_ci    pub fn getprogname() -> *const ::c_char;
27652add0d91Sopenharmony_ci    pub fn setprogname(name: *const ::c_char);
27662add0d91Sopenharmony_ci    pub fn getloadavg(loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int;
27672add0d91Sopenharmony_ci    pub fn getpriority(which: ::c_int, who: ::c_int) -> ::c_int;
27682add0d91Sopenharmony_ci    pub fn setpriority(which: ::c_int, who: ::c_int, prio: ::c_int) -> ::c_int;
27692add0d91Sopenharmony_ci
27702add0d91Sopenharmony_ci    pub fn mknodat(
27712add0d91Sopenharmony_ci        dirfd: ::c_int,
27722add0d91Sopenharmony_ci        pathname: *const ::c_char,
27732add0d91Sopenharmony_ci        mode: ::mode_t,
27742add0d91Sopenharmony_ci        dev: dev_t,
27752add0d91Sopenharmony_ci    ) -> ::c_int;
27762add0d91Sopenharmony_ci    pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int;
27772add0d91Sopenharmony_ci    pub fn sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int;
27782add0d91Sopenharmony_ci    pub fn if_nameindex() -> *mut if_nameindex;
27792add0d91Sopenharmony_ci    pub fn if_freenameindex(ptr: *mut if_nameindex);
27802add0d91Sopenharmony_ci    pub fn pthread_create(
27812add0d91Sopenharmony_ci        native: *mut ::pthread_t,
27822add0d91Sopenharmony_ci        attr: *const ::pthread_attr_t,
27832add0d91Sopenharmony_ci        f: extern "C" fn(*mut ::c_void) -> *mut ::c_void,
27842add0d91Sopenharmony_ci        value: *mut ::c_void,
27852add0d91Sopenharmony_ci    ) -> ::c_int;
27862add0d91Sopenharmony_ci    pub fn pthread_attr_getstack(
27872add0d91Sopenharmony_ci        attr: *const ::pthread_attr_t,
27882add0d91Sopenharmony_ci        stackaddr: *mut *mut ::c_void,
27892add0d91Sopenharmony_ci        stacksize: *mut ::size_t,
27902add0d91Sopenharmony_ci    ) -> ::c_int;
27912add0d91Sopenharmony_ci    pub fn pthread_condattr_getclock(
27922add0d91Sopenharmony_ci        attr: *const pthread_condattr_t,
27932add0d91Sopenharmony_ci        clock_id: *mut clockid_t,
27942add0d91Sopenharmony_ci    ) -> ::c_int;
27952add0d91Sopenharmony_ci    pub fn pthread_condattr_setclock(
27962add0d91Sopenharmony_ci        attr: *mut pthread_condattr_t,
27972add0d91Sopenharmony_ci        clock_id: ::clockid_t,
27982add0d91Sopenharmony_ci    ) -> ::c_int;
27992add0d91Sopenharmony_ci    pub fn sem_timedwait(sem: *mut sem_t, abstime: *const ::timespec) -> ::c_int;
28002add0d91Sopenharmony_ci    pub fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int;
28012add0d91Sopenharmony_ci    pub fn pthread_mutex_timedlock(
28022add0d91Sopenharmony_ci        lock: *mut pthread_mutex_t,
28032add0d91Sopenharmony_ci        abstime: *const ::timespec,
28042add0d91Sopenharmony_ci    ) -> ::c_int;
28052add0d91Sopenharmony_ci    pub fn pthread_getname_np(tid: ::pthread_t, name: *mut ::c_char, len: ::size_t) -> ::c_int;
28062add0d91Sopenharmony_ci    pub fn pthread_setname_np(tid: ::pthread_t, name: *const ::c_char) -> ::c_int;
28072add0d91Sopenharmony_ci    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int)
28082add0d91Sopenharmony_ci        -> ::c_int;
28092add0d91Sopenharmony_ci
28102add0d91Sopenharmony_ci    #[cfg_attr(target_os = "illumos", link_name = "_glob_ext")]
28112add0d91Sopenharmony_ci    pub fn glob(
28122add0d91Sopenharmony_ci        pattern: *const ::c_char,
28132add0d91Sopenharmony_ci        flags: ::c_int,
28142add0d91Sopenharmony_ci        errfunc: ::Option<extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int>,
28152add0d91Sopenharmony_ci        pglob: *mut ::glob_t,
28162add0d91Sopenharmony_ci    ) -> ::c_int;
28172add0d91Sopenharmony_ci
28182add0d91Sopenharmony_ci    #[cfg_attr(target_os = "illumos", link_name = "_globfree_ext")]
28192add0d91Sopenharmony_ci    pub fn globfree(pglob: *mut ::glob_t);
28202add0d91Sopenharmony_ci
28212add0d91Sopenharmony_ci    pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
28222add0d91Sopenharmony_ci
28232add0d91Sopenharmony_ci    pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void;
28242add0d91Sopenharmony_ci
28252add0d91Sopenharmony_ci    pub fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int;
28262add0d91Sopenharmony_ci
28272add0d91Sopenharmony_ci    pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int;
28282add0d91Sopenharmony_ci
28292add0d91Sopenharmony_ci    pub fn shmget(key: key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int;
28302add0d91Sopenharmony_ci
28312add0d91Sopenharmony_ci    pub fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: ::mode_t) -> ::c_int;
28322add0d91Sopenharmony_ci    pub fn shm_unlink(name: *const ::c_char) -> ::c_int;
28332add0d91Sopenharmony_ci
28342add0d91Sopenharmony_ci    pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long);
28352add0d91Sopenharmony_ci
28362add0d91Sopenharmony_ci    pub fn telldir(dirp: *mut ::DIR) -> ::c_long;
28372add0d91Sopenharmony_ci    pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
28382add0d91Sopenharmony_ci
28392add0d91Sopenharmony_ci    pub fn msync(addr: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::c_int;
28402add0d91Sopenharmony_ci
28412add0d91Sopenharmony_ci    pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
28422add0d91Sopenharmony_ci
28432add0d91Sopenharmony_ci    pub fn recvfrom(
28442add0d91Sopenharmony_ci        socket: ::c_int,
28452add0d91Sopenharmony_ci        buf: *mut ::c_void,
28462add0d91Sopenharmony_ci        len: ::size_t,
28472add0d91Sopenharmony_ci        flags: ::c_int,
28482add0d91Sopenharmony_ci        addr: *mut ::sockaddr,
28492add0d91Sopenharmony_ci        addrlen: *mut ::socklen_t,
28502add0d91Sopenharmony_ci    ) -> ::ssize_t;
28512add0d91Sopenharmony_ci    pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int;
28522add0d91Sopenharmony_ci    pub fn futimesat(fd: ::c_int, path: *const ::c_char, times: *const ::timeval) -> ::c_int;
28532add0d91Sopenharmony_ci    pub fn futimens(dirfd: ::c_int, times: *const ::timespec) -> ::c_int;
28542add0d91Sopenharmony_ci    pub fn utimensat(
28552add0d91Sopenharmony_ci        dirfd: ::c_int,
28562add0d91Sopenharmony_ci        path: *const ::c_char,
28572add0d91Sopenharmony_ci        times: *const ::timespec,
28582add0d91Sopenharmony_ci        flag: ::c_int,
28592add0d91Sopenharmony_ci    ) -> ::c_int;
28602add0d91Sopenharmony_ci    pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
28612add0d91Sopenharmony_ci
28622add0d91Sopenharmony_ci    #[cfg_attr(target_os = "illumos", link_name = "__xnet_bind")]
28632add0d91Sopenharmony_ci    pub fn bind(socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t) -> ::c_int;
28642add0d91Sopenharmony_ci
28652add0d91Sopenharmony_ci    pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
28662add0d91Sopenharmony_ci    pub fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
28672add0d91Sopenharmony_ci
28682add0d91Sopenharmony_ci    #[cfg_attr(target_os = "illumos", link_name = "__xnet_sendmsg")]
28692add0d91Sopenharmony_ci    pub fn sendmsg(fd: ::c_int, msg: *const ::msghdr, flags: ::c_int) -> ::ssize_t;
28702add0d91Sopenharmony_ci    #[cfg_attr(target_os = "illumos", link_name = "__xnet_recvmsg")]
28712add0d91Sopenharmony_ci    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int) -> ::ssize_t;
28722add0d91Sopenharmony_ci    pub fn accept4(
28732add0d91Sopenharmony_ci        fd: ::c_int,
28742add0d91Sopenharmony_ci        address: *mut sockaddr,
28752add0d91Sopenharmony_ci        address_len: *mut socklen_t,
28762add0d91Sopenharmony_ci        flags: ::c_int,
28772add0d91Sopenharmony_ci    ) -> ::c_int;
28782add0d91Sopenharmony_ci
28792add0d91Sopenharmony_ci    pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t;
28802add0d91Sopenharmony_ci    pub fn mq_close(mqd: ::mqd_t) -> ::c_int;
28812add0d91Sopenharmony_ci    pub fn mq_unlink(name: *const ::c_char) -> ::c_int;
28822add0d91Sopenharmony_ci    pub fn mq_receive(
28832add0d91Sopenharmony_ci        mqd: ::mqd_t,
28842add0d91Sopenharmony_ci        msg_ptr: *mut ::c_char,
28852add0d91Sopenharmony_ci        msg_len: ::size_t,
28862add0d91Sopenharmony_ci        msg_prio: *mut ::c_uint,
28872add0d91Sopenharmony_ci    ) -> ::ssize_t;
28882add0d91Sopenharmony_ci    pub fn mq_timedreceive(
28892add0d91Sopenharmony_ci        mqd: ::mqd_t,
28902add0d91Sopenharmony_ci        msg_ptr: *mut ::c_char,
28912add0d91Sopenharmony_ci        msg_len: ::size_t,
28922add0d91Sopenharmony_ci        msg_prio: *mut ::c_uint,
28932add0d91Sopenharmony_ci        abs_timeout: *const ::timespec,
28942add0d91Sopenharmony_ci    ) -> ::ssize_t;
28952add0d91Sopenharmony_ci    pub fn mq_send(
28962add0d91Sopenharmony_ci        mqd: ::mqd_t,
28972add0d91Sopenharmony_ci        msg_ptr: *const ::c_char,
28982add0d91Sopenharmony_ci        msg_len: ::size_t,
28992add0d91Sopenharmony_ci        msg_prio: ::c_uint,
29002add0d91Sopenharmony_ci    ) -> ::c_int;
29012add0d91Sopenharmony_ci    pub fn mq_timedsend(
29022add0d91Sopenharmony_ci        mqd: ::mqd_t,
29032add0d91Sopenharmony_ci        msg_ptr: *const ::c_char,
29042add0d91Sopenharmony_ci        msg_len: ::size_t,
29052add0d91Sopenharmony_ci        msg_prio: ::c_uint,
29062add0d91Sopenharmony_ci        abs_timeout: *const ::timespec,
29072add0d91Sopenharmony_ci    ) -> ::c_int;
29082add0d91Sopenharmony_ci    pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int;
29092add0d91Sopenharmony_ci    pub fn mq_setattr(mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr) -> ::c_int;
29102add0d91Sopenharmony_ci    pub fn port_create() -> ::c_int;
29112add0d91Sopenharmony_ci    pub fn port_associate(
29122add0d91Sopenharmony_ci        port: ::c_int,
29132add0d91Sopenharmony_ci        source: ::c_int,
29142add0d91Sopenharmony_ci        object: ::uintptr_t,
29152add0d91Sopenharmony_ci        events: ::c_int,
29162add0d91Sopenharmony_ci        user: *mut ::c_void,
29172add0d91Sopenharmony_ci    ) -> ::c_int;
29182add0d91Sopenharmony_ci    pub fn port_dissociate(port: ::c_int, source: ::c_int, object: ::uintptr_t) -> ::c_int;
29192add0d91Sopenharmony_ci    pub fn port_get(port: ::c_int, pe: *mut port_event, timeout: *mut ::timespec) -> ::c_int;
29202add0d91Sopenharmony_ci    pub fn port_getn(
29212add0d91Sopenharmony_ci        port: ::c_int,
29222add0d91Sopenharmony_ci        pe_list: *mut port_event,
29232add0d91Sopenharmony_ci        max: ::c_uint,
29242add0d91Sopenharmony_ci        nget: *mut ::c_uint,
29252add0d91Sopenharmony_ci        timeout: *mut ::timespec,
29262add0d91Sopenharmony_ci    ) -> ::c_int;
29272add0d91Sopenharmony_ci    pub fn port_send(port: ::c_int, events: ::c_int, user: *mut ::c_void) -> ::c_int;
29282add0d91Sopenharmony_ci    pub fn port_sendn(
29292add0d91Sopenharmony_ci        port_list: *mut ::c_int,
29302add0d91Sopenharmony_ci        error_list: *mut ::c_int,
29312add0d91Sopenharmony_ci        nent: ::c_uint,
29322add0d91Sopenharmony_ci        events: ::c_int,
29332add0d91Sopenharmony_ci        user: *mut ::c_void,
29342add0d91Sopenharmony_ci    ) -> ::c_int;
29352add0d91Sopenharmony_ci    #[cfg_attr(
29362add0d91Sopenharmony_ci        any(target_os = "solaris", target_os = "illumos"),
29372add0d91Sopenharmony_ci        link_name = "__posix_getgrgid_r"
29382add0d91Sopenharmony_ci    )]
29392add0d91Sopenharmony_ci    pub fn getgrgid_r(
29402add0d91Sopenharmony_ci        gid: ::gid_t,
29412add0d91Sopenharmony_ci        grp: *mut ::group,
29422add0d91Sopenharmony_ci        buf: *mut ::c_char,
29432add0d91Sopenharmony_ci        buflen: ::size_t,
29442add0d91Sopenharmony_ci        result: *mut *mut ::group,
29452add0d91Sopenharmony_ci    ) -> ::c_int;
29462add0d91Sopenharmony_ci    pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int;
29472add0d91Sopenharmony_ci    pub fn sem_close(sem: *mut sem_t) -> ::c_int;
29482add0d91Sopenharmony_ci    pub fn getdtablesize() -> ::c_int;
29492add0d91Sopenharmony_ci
29502add0d91Sopenharmony_ci    // The epoll functions are actually only present on illumos.  However,
29512add0d91Sopenharmony_ci    // there are things using epoll on illumos (built using the
29522add0d91Sopenharmony_ci    // x86_64-pc-solaris target) which would break until the illumos target is
29532add0d91Sopenharmony_ci    // present in rustc.
29542add0d91Sopenharmony_ci    pub fn epoll_pwait(
29552add0d91Sopenharmony_ci        epfd: ::c_int,
29562add0d91Sopenharmony_ci        events: *mut ::epoll_event,
29572add0d91Sopenharmony_ci        maxevents: ::c_int,
29582add0d91Sopenharmony_ci        timeout: ::c_int,
29592add0d91Sopenharmony_ci        sigmask: *const ::sigset_t,
29602add0d91Sopenharmony_ci    ) -> ::c_int;
29612add0d91Sopenharmony_ci
29622add0d91Sopenharmony_ci    pub fn epoll_create(size: ::c_int) -> ::c_int;
29632add0d91Sopenharmony_ci    pub fn epoll_create1(flags: ::c_int) -> ::c_int;
29642add0d91Sopenharmony_ci    pub fn epoll_wait(
29652add0d91Sopenharmony_ci        epfd: ::c_int,
29662add0d91Sopenharmony_ci        events: *mut ::epoll_event,
29672add0d91Sopenharmony_ci        maxevents: ::c_int,
29682add0d91Sopenharmony_ci        timeout: ::c_int,
29692add0d91Sopenharmony_ci    ) -> ::c_int;
29702add0d91Sopenharmony_ci    pub fn epoll_ctl(epfd: ::c_int, op: ::c_int, fd: ::c_int, event: *mut ::epoll_event)
29712add0d91Sopenharmony_ci        -> ::c_int;
29722add0d91Sopenharmony_ci
29732add0d91Sopenharmony_ci    #[cfg_attr(
29742add0d91Sopenharmony_ci        any(target_os = "solaris", target_os = "illumos"),
29752add0d91Sopenharmony_ci        link_name = "__posix_getgrnam_r"
29762add0d91Sopenharmony_ci    )]
29772add0d91Sopenharmony_ci    pub fn getgrnam_r(
29782add0d91Sopenharmony_ci        name: *const ::c_char,
29792add0d91Sopenharmony_ci        grp: *mut ::group,
29802add0d91Sopenharmony_ci        buf: *mut ::c_char,
29812add0d91Sopenharmony_ci        buflen: ::size_t,
29822add0d91Sopenharmony_ci        result: *mut *mut ::group,
29832add0d91Sopenharmony_ci    ) -> ::c_int;
29842add0d91Sopenharmony_ci    pub fn thr_self() -> ::thread_t;
29852add0d91Sopenharmony_ci    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int;
29862add0d91Sopenharmony_ci    pub fn sem_open(name: *const ::c_char, oflag: ::c_int, ...) -> *mut sem_t;
29872add0d91Sopenharmony_ci    pub fn getgrnam(name: *const ::c_char) -> *mut ::group;
29882add0d91Sopenharmony_ci    pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
29892add0d91Sopenharmony_ci    pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int;
29902add0d91Sopenharmony_ci    pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int;
29912add0d91Sopenharmony_ci    pub fn sched_getparam(pid: ::pid_t, param: *mut sched_param) -> ::c_int;
29922add0d91Sopenharmony_ci    pub fn sched_setparam(pid: ::pid_t, param: *const sched_param) -> ::c_int;
29932add0d91Sopenharmony_ci    pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int;
29942add0d91Sopenharmony_ci    pub fn sched_setscheduler(
29952add0d91Sopenharmony_ci        pid: ::pid_t,
29962add0d91Sopenharmony_ci        policy: ::c_int,
29972add0d91Sopenharmony_ci        param: *const ::sched_param,
29982add0d91Sopenharmony_ci    ) -> ::c_int;
29992add0d91Sopenharmony_ci    pub fn sem_unlink(name: *const ::c_char) -> ::c_int;
30002add0d91Sopenharmony_ci    pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int;
30012add0d91Sopenharmony_ci    #[cfg_attr(
30022add0d91Sopenharmony_ci        any(target_os = "solaris", target_os = "illumos"),
30032add0d91Sopenharmony_ci        link_name = "__posix_getpwnam_r"
30042add0d91Sopenharmony_ci    )]
30052add0d91Sopenharmony_ci    pub fn getpwnam_r(
30062add0d91Sopenharmony_ci        name: *const ::c_char,
30072add0d91Sopenharmony_ci        pwd: *mut passwd,
30082add0d91Sopenharmony_ci        buf: *mut ::c_char,
30092add0d91Sopenharmony_ci        buflen: ::size_t,
30102add0d91Sopenharmony_ci        result: *mut *mut passwd,
30112add0d91Sopenharmony_ci    ) -> ::c_int;
30122add0d91Sopenharmony_ci    #[cfg_attr(
30132add0d91Sopenharmony_ci        any(target_os = "solaris", target_os = "illumos"),
30142add0d91Sopenharmony_ci        link_name = "__posix_getpwuid_r"
30152add0d91Sopenharmony_ci    )]
30162add0d91Sopenharmony_ci    pub fn getpwuid_r(
30172add0d91Sopenharmony_ci        uid: ::uid_t,
30182add0d91Sopenharmony_ci        pwd: *mut passwd,
30192add0d91Sopenharmony_ci        buf: *mut ::c_char,
30202add0d91Sopenharmony_ci        buflen: ::size_t,
30212add0d91Sopenharmony_ci        result: *mut *mut passwd,
30222add0d91Sopenharmony_ci    ) -> ::c_int;
30232add0d91Sopenharmony_ci    #[cfg_attr(
30242add0d91Sopenharmony_ci        any(target_os = "solaris", target_os = "illumos"),
30252add0d91Sopenharmony_ci        link_name = "getpwent_r"
30262add0d91Sopenharmony_ci    )]
30272add0d91Sopenharmony_ci    fn native_getpwent_r(pwd: *mut passwd, buf: *mut ::c_char, buflen: ::c_int) -> *mut passwd;
30282add0d91Sopenharmony_ci    #[cfg_attr(
30292add0d91Sopenharmony_ci        any(target_os = "solaris", target_os = "illumos"),
30302add0d91Sopenharmony_ci        link_name = "getgrent_r"
30312add0d91Sopenharmony_ci    )]
30322add0d91Sopenharmony_ci    fn native_getgrent_r(grp: *mut ::group, buf: *mut ::c_char, buflen: ::c_int) -> *mut ::group;
30332add0d91Sopenharmony_ci    #[cfg_attr(
30342add0d91Sopenharmony_ci        any(target_os = "solaris", target_os = "illumos"),
30352add0d91Sopenharmony_ci        link_name = "__posix_sigwait"
30362add0d91Sopenharmony_ci    )]
30372add0d91Sopenharmony_ci    pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int;
30382add0d91Sopenharmony_ci    pub fn pthread_atfork(
30392add0d91Sopenharmony_ci        prepare: ::Option<unsafe extern "C" fn()>,
30402add0d91Sopenharmony_ci        parent: ::Option<unsafe extern "C" fn()>,
30412add0d91Sopenharmony_ci        child: ::Option<unsafe extern "C" fn()>,
30422add0d91Sopenharmony_ci    ) -> ::c_int;
30432add0d91Sopenharmony_ci    pub fn getgrgid(gid: ::gid_t) -> *mut ::group;
30442add0d91Sopenharmony_ci    pub fn setgrent();
30452add0d91Sopenharmony_ci    pub fn endgrent();
30462add0d91Sopenharmony_ci    pub fn getgrent() -> *mut ::group;
30472add0d91Sopenharmony_ci    pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE;
30482add0d91Sopenharmony_ci
30492add0d91Sopenharmony_ci    pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int;
30502add0d91Sopenharmony_ci    pub fn uname(buf: *mut ::utsname) -> ::c_int;
30512add0d91Sopenharmony_ci    pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
30522add0d91Sopenharmony_ci
30532add0d91Sopenharmony_ci    pub fn makeutx(ux: *const utmpx) -> *mut utmpx;
30542add0d91Sopenharmony_ci    pub fn modutx(ux: *const utmpx) -> *mut utmpx;
30552add0d91Sopenharmony_ci    pub fn updwtmpx(file: *const ::c_char, ut: *const utmpx) -> ::c_int;
30562add0d91Sopenharmony_ci    pub fn utmpxname(file: *const ::c_char) -> ::c_int;
30572add0d91Sopenharmony_ci    pub fn getutxent() -> *mut utmpx;
30582add0d91Sopenharmony_ci    pub fn getutxid(ut: *const utmpx) -> *mut utmpx;
30592add0d91Sopenharmony_ci    pub fn getutxline(ut: *const utmpx) -> *mut utmpx;
30602add0d91Sopenharmony_ci    pub fn pututxline(ut: *const utmpx) -> *mut utmpx;
30612add0d91Sopenharmony_ci    pub fn setutxent();
30622add0d91Sopenharmony_ci    pub fn endutxent();
30632add0d91Sopenharmony_ci
30642add0d91Sopenharmony_ci    pub fn endutent();
30652add0d91Sopenharmony_ci    pub fn getutent() -> *mut utmp;
30662add0d91Sopenharmony_ci    pub fn getutid(u: *const utmp) -> *mut utmp;
30672add0d91Sopenharmony_ci    pub fn getutline(u: *const utmp) -> *mut utmp;
30682add0d91Sopenharmony_ci    pub fn pututline(u: *const utmp) -> *mut utmp;
30692add0d91Sopenharmony_ci    pub fn setutent();
30702add0d91Sopenharmony_ci    pub fn utmpname(file: *const ::c_char) -> ::c_int;
30712add0d91Sopenharmony_ci
30722add0d91Sopenharmony_ci    pub fn getutmp(ux: *const utmpx, u: *mut utmp);
30732add0d91Sopenharmony_ci    pub fn getutmpx(u: *const utmp, ux: *mut utmpx);
30742add0d91Sopenharmony_ci    pub fn updwtmp(file: *const ::c_char, u: *mut utmp);
30752add0d91Sopenharmony_ci
30762add0d91Sopenharmony_ci    pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
30772add0d91Sopenharmony_ci    pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
30782add0d91Sopenharmony_ci
30792add0d91Sopenharmony_ci    pub fn timer_create(clock_id: clockid_t, evp: *mut sigevent, timerid: *mut timer_t) -> ::c_int;
30802add0d91Sopenharmony_ci    pub fn timer_delete(timerid: timer_t) -> ::c_int;
30812add0d91Sopenharmony_ci    pub fn timer_getoverrun(timerid: timer_t) -> ::c_int;
30822add0d91Sopenharmony_ci    pub fn timer_gettime(timerid: timer_t, value: *mut itimerspec) -> ::c_int;
30832add0d91Sopenharmony_ci    pub fn timer_settime(
30842add0d91Sopenharmony_ci        timerid: timer_t,
30852add0d91Sopenharmony_ci        flags: ::c_int,
30862add0d91Sopenharmony_ci        value: *const itimerspec,
30872add0d91Sopenharmony_ci        ovalue: *mut itimerspec,
30882add0d91Sopenharmony_ci    ) -> ::c_int;
30892add0d91Sopenharmony_ci
30902add0d91Sopenharmony_ci    pub fn ucred_get(pid: ::pid_t) -> *mut ucred_t;
30912add0d91Sopenharmony_ci    pub fn getpeerucred(fd: ::c_int, ucred: *mut *mut ucred_t) -> ::c_int;
30922add0d91Sopenharmony_ci
30932add0d91Sopenharmony_ci    pub fn ucred_free(ucred: *mut ucred_t);
30942add0d91Sopenharmony_ci
30952add0d91Sopenharmony_ci    pub fn ucred_geteuid(ucred: *const ucred_t) -> ::uid_t;
30962add0d91Sopenharmony_ci    pub fn ucred_getruid(ucred: *const ucred_t) -> ::uid_t;
30972add0d91Sopenharmony_ci    pub fn ucred_getsuid(ucred: *const ucred_t) -> ::uid_t;
30982add0d91Sopenharmony_ci    pub fn ucred_getegid(ucred: *const ucred_t) -> ::gid_t;
30992add0d91Sopenharmony_ci    pub fn ucred_getrgid(ucred: *const ucred_t) -> ::gid_t;
31002add0d91Sopenharmony_ci    pub fn ucred_getsgid(ucred: *const ucred_t) -> ::gid_t;
31012add0d91Sopenharmony_ci    pub fn ucred_getgroups(ucred: *const ucred_t, groups: *mut *const ::gid_t) -> ::c_int;
31022add0d91Sopenharmony_ci    pub fn ucred_getpid(ucred: *const ucred_t) -> ::pid_t;
31032add0d91Sopenharmony_ci    pub fn ucred_getprojid(ucred: *const ucred_t) -> projid_t;
31042add0d91Sopenharmony_ci    pub fn ucred_getzoneid(ucred: *const ucred_t) -> zoneid_t;
31052add0d91Sopenharmony_ci    pub fn ucred_getpflags(ucred: *const ucred_t, flags: ::c_uint) -> ::c_uint;
31062add0d91Sopenharmony_ci
31072add0d91Sopenharmony_ci    pub fn ucred_size() -> ::size_t;
31082add0d91Sopenharmony_ci
31092add0d91Sopenharmony_ci    pub fn pset_create(newpset: *mut ::psetid_t) -> ::c_int;
31102add0d91Sopenharmony_ci    pub fn pset_destroy(pset: ::psetid_t) -> ::c_int;
31112add0d91Sopenharmony_ci    pub fn pset_assign(pset: ::psetid_t, cpu: ::processorid_t, opset: *mut psetid_t) -> ::c_int;
31122add0d91Sopenharmony_ci    pub fn pset_info(
31132add0d91Sopenharmony_ci        pset: ::psetid_t,
31142add0d91Sopenharmony_ci        tpe: *mut ::c_int,
31152add0d91Sopenharmony_ci        numcpus: *mut ::c_uint,
31162add0d91Sopenharmony_ci        cpulist: *mut processorid_t,
31172add0d91Sopenharmony_ci    ) -> ::c_int;
31182add0d91Sopenharmony_ci    pub fn pset_bind(
31192add0d91Sopenharmony_ci        pset: ::psetid_t,
31202add0d91Sopenharmony_ci        idtype: ::idtype_t,
31212add0d91Sopenharmony_ci        id: ::id_t,
31222add0d91Sopenharmony_ci        opset: *mut psetid_t,
31232add0d91Sopenharmony_ci    ) -> ::c_int;
31242add0d91Sopenharmony_ci    pub fn pset_list(pset: *mut psetid_t, numpsets: *mut ::c_uint) -> ::c_int;
31252add0d91Sopenharmony_ci    pub fn pset_setattr(pset: psetid_t, attr: ::c_uint) -> ::c_int;
31262add0d91Sopenharmony_ci    pub fn pset_getattr(pset: psetid_t, attr: *mut ::c_uint) -> ::c_int;
31272add0d91Sopenharmony_ci    pub fn processor_bind(
31282add0d91Sopenharmony_ci        idtype: ::idtype_t,
31292add0d91Sopenharmony_ci        id: ::id_t,
31302add0d91Sopenharmony_ci        new_binding: ::processorid_t,
31312add0d91Sopenharmony_ci        old_binding: *mut processorid_t,
31322add0d91Sopenharmony_ci    ) -> ::c_int;
31332add0d91Sopenharmony_ci    pub fn p_online(processorid: ::processorid_t, flag: ::c_int) -> ::c_int;
31342add0d91Sopenharmony_ci    pub fn processor_info(processorid: ::processorid_t, infop: *mut processor_info_t) -> ::c_int;
31352add0d91Sopenharmony_ci
31362add0d91Sopenharmony_ci    pub fn getexecname() -> *const ::c_char;
31372add0d91Sopenharmony_ci
31382add0d91Sopenharmony_ci    pub fn gethostid() -> ::c_long;
31392add0d91Sopenharmony_ci
31402add0d91Sopenharmony_ci    pub fn getpflags(flags: ::c_uint) -> ::c_uint;
31412add0d91Sopenharmony_ci    pub fn setpflags(flags: ::c_uint, value: ::c_uint) -> ::c_int;
31422add0d91Sopenharmony_ci
31432add0d91Sopenharmony_ci    pub fn sysinfo(command: ::c_int, buf: *mut ::c_char, count: ::c_long) -> ::c_int;
31442add0d91Sopenharmony_ci
31452add0d91Sopenharmony_ci    pub fn faccessat(fd: ::c_int, path: *const ::c_char, amode: ::c_int, flag: ::c_int) -> ::c_int;
31462add0d91Sopenharmony_ci
31472add0d91Sopenharmony_ci    // #include <link.h>
31482add0d91Sopenharmony_ci    #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
31492add0d91Sopenharmony_ci    pub fn dl_iterate_phdr(
31502add0d91Sopenharmony_ci        callback: ::Option<
31512add0d91Sopenharmony_ci            unsafe extern "C" fn(
31522add0d91Sopenharmony_ci                info: *mut dl_phdr_info,
31532add0d91Sopenharmony_ci                size: usize,
31542add0d91Sopenharmony_ci                data: *mut ::c_void,
31552add0d91Sopenharmony_ci            ) -> ::c_int,
31562add0d91Sopenharmony_ci        >,
31572add0d91Sopenharmony_ci        data: *mut ::c_void,
31582add0d91Sopenharmony_ci    ) -> ::c_int;
31592add0d91Sopenharmony_ci    pub fn getpagesize() -> ::c_int;
31602add0d91Sopenharmony_ci    pub fn getpagesizes(pagesize: *mut ::size_t, nelem: ::c_int) -> ::c_int;
31612add0d91Sopenharmony_ci    pub fn mmapobj(
31622add0d91Sopenharmony_ci        fd: ::c_int,
31632add0d91Sopenharmony_ci        flags: ::c_uint,
31642add0d91Sopenharmony_ci        storage: *mut mmapobj_result_t,
31652add0d91Sopenharmony_ci        elements: *mut ::c_uint,
31662add0d91Sopenharmony_ci        arg: *mut ::c_void,
31672add0d91Sopenharmony_ci    ) -> ::c_int;
31682add0d91Sopenharmony_ci    pub fn meminfo(
31692add0d91Sopenharmony_ci        inaddr: *const u64,
31702add0d91Sopenharmony_ci        addr_count: ::c_int,
31712add0d91Sopenharmony_ci        info_req: *const ::c_uint,
31722add0d91Sopenharmony_ci        info_count: ::c_int,
31732add0d91Sopenharmony_ci        outdata: *mut u64,
31742add0d91Sopenharmony_ci        validity: *mut ::c_uint,
31752add0d91Sopenharmony_ci    ) -> ::c_int;
31762add0d91Sopenharmony_ci
31772add0d91Sopenharmony_ci    pub fn strcasecmp_l(s1: *const ::c_char, s2: *const ::c_char, loc: ::locale_t) -> ::c_int;
31782add0d91Sopenharmony_ci    pub fn strncasecmp_l(
31792add0d91Sopenharmony_ci        s1: *const ::c_char,
31802add0d91Sopenharmony_ci        s2: *const ::c_char,
31812add0d91Sopenharmony_ci        n: ::size_t,
31822add0d91Sopenharmony_ci        loc: ::locale_t,
31832add0d91Sopenharmony_ci    ) -> ::c_int;
31842add0d91Sopenharmony_ci    pub fn strsep(string: *mut *mut ::c_char, delim: *const ::c_char) -> *mut ::c_char;
31852add0d91Sopenharmony_ci
31862add0d91Sopenharmony_ci    pub fn getisax(array: *mut u32, n: ::c_uint) -> ::c_uint;
31872add0d91Sopenharmony_ci
31882add0d91Sopenharmony_ci    pub fn backtrace(buffer: *mut *mut ::c_void, size: ::c_int) -> ::c_int;
31892add0d91Sopenharmony_ci    pub fn backtrace_symbols(buffer: *const *mut ::c_void, size: ::c_int) -> *mut *mut ::c_char;
31902add0d91Sopenharmony_ci    pub fn backtrace_symbols_fd(buffer: *const *mut ::c_void, size: ::c_int, fd: ::c_int);
31912add0d91Sopenharmony_ci
31922add0d91Sopenharmony_ci    pub fn getopt_long(
31932add0d91Sopenharmony_ci        argc: ::c_int,
31942add0d91Sopenharmony_ci        argv: *const *mut c_char,
31952add0d91Sopenharmony_ci        optstring: *const c_char,
31962add0d91Sopenharmony_ci        longopts: *const option,
31972add0d91Sopenharmony_ci        longindex: *mut ::c_int,
31982add0d91Sopenharmony_ci    ) -> ::c_int;
31992add0d91Sopenharmony_ci}
32002add0d91Sopenharmony_ci
32012add0d91Sopenharmony_ci#[link(name = "sendfile")]
32022add0d91Sopenharmony_ciextern "C" {
32032add0d91Sopenharmony_ci    pub fn sendfile(out_fd: ::c_int, in_fd: ::c_int, off: *mut ::off_t, len: ::size_t)
32042add0d91Sopenharmony_ci        -> ::ssize_t;
32052add0d91Sopenharmony_ci    pub fn sendfilev(
32062add0d91Sopenharmony_ci        fildes: ::c_int,
32072add0d91Sopenharmony_ci        vec: *const sendfilevec_t,
32082add0d91Sopenharmony_ci        sfvcnt: ::c_int,
32092add0d91Sopenharmony_ci        xferred: *mut ::size_t,
32102add0d91Sopenharmony_ci    ) -> ::ssize_t;
32112add0d91Sopenharmony_ci}
32122add0d91Sopenharmony_ci
32132add0d91Sopenharmony_ci#[link(name = "lgrp")]
32142add0d91Sopenharmony_ciextern "C" {
32152add0d91Sopenharmony_ci    pub fn lgrp_init(view: lgrp_view_t) -> lgrp_cookie_t;
32162add0d91Sopenharmony_ci    pub fn lgrp_fini(cookie: lgrp_cookie_t) -> ::c_int;
32172add0d91Sopenharmony_ci    pub fn lgrp_affinity_get(
32182add0d91Sopenharmony_ci        idtype: ::idtype_t,
32192add0d91Sopenharmony_ci        id: ::id_t,
32202add0d91Sopenharmony_ci        lgrp: ::lgrp_id_t,
32212add0d91Sopenharmony_ci    ) -> ::lgrp_affinity_t;
32222add0d91Sopenharmony_ci    pub fn lgrp_affinity_set(
32232add0d91Sopenharmony_ci        idtype: ::idtype_t,
32242add0d91Sopenharmony_ci        id: ::id_t,
32252add0d91Sopenharmony_ci        lgrp: ::lgrp_id_t,
32262add0d91Sopenharmony_ci        aff: lgrp_affinity_t,
32272add0d91Sopenharmony_ci    ) -> ::lgrp_affinity_t;
32282add0d91Sopenharmony_ci    pub fn lgrp_cpus(
32292add0d91Sopenharmony_ci        cookie: ::lgrp_cookie_t,
32302add0d91Sopenharmony_ci        lgrp: ::lgrp_id_t,
32312add0d91Sopenharmony_ci        cpuids: *mut ::processorid_t,
32322add0d91Sopenharmony_ci        count: ::c_uint,
32332add0d91Sopenharmony_ci        content: ::lgrp_content_t,
32342add0d91Sopenharmony_ci    ) -> ::c_int;
32352add0d91Sopenharmony_ci    pub fn lgrp_mem_size(
32362add0d91Sopenharmony_ci        cookie: ::lgrp_cookie_t,
32372add0d91Sopenharmony_ci        lgrp: ::lgrp_id_t,
32382add0d91Sopenharmony_ci        tpe: ::lgrp_mem_size_flag_t,
32392add0d91Sopenharmony_ci        content: ::lgrp_content_t,
32402add0d91Sopenharmony_ci    ) -> ::lgrp_mem_size_t;
32412add0d91Sopenharmony_ci    pub fn lgrp_nlgrps(cookie: ::lgrp_cookie_t) -> ::c_int;
32422add0d91Sopenharmony_ci    pub fn lgrp_view(cookie: ::lgrp_cookie_t) -> ::lgrp_view_t;
32432add0d91Sopenharmony_ci    pub fn lgrp_home(idtype: ::idtype_t, id: ::id_t) -> ::lgrp_id_t;
32442add0d91Sopenharmony_ci    pub fn lgrp_version(version: ::c_int) -> ::c_int;
32452add0d91Sopenharmony_ci    pub fn lgrp_resources(
32462add0d91Sopenharmony_ci        cookie: ::lgrp_cookie_t,
32472add0d91Sopenharmony_ci        lgrp: ::lgrp_id_t,
32482add0d91Sopenharmony_ci        lgrps: *mut ::lgrp_id_t,
32492add0d91Sopenharmony_ci        count: ::c_uint,
32502add0d91Sopenharmony_ci        tpe: ::lgrp_rsrc_t,
32512add0d91Sopenharmony_ci    ) -> ::c_int;
32522add0d91Sopenharmony_ci    pub fn lgrp_root(cookie: ::lgrp_cookie_t) -> ::lgrp_id_t;
32532add0d91Sopenharmony_ci}
32542add0d91Sopenharmony_ci
32552add0d91Sopenharmony_cimod compat;
32562add0d91Sopenharmony_cipub use self::compat::*;
32572add0d91Sopenharmony_ci
32582add0d91Sopenharmony_cicfg_if! {
32592add0d91Sopenharmony_ci    if #[cfg(target_os = "illumos")] {
32602add0d91Sopenharmony_ci        mod illumos;
32612add0d91Sopenharmony_ci        pub use self::illumos::*;
32622add0d91Sopenharmony_ci    } else if #[cfg(target_os = "solaris")] {
32632add0d91Sopenharmony_ci        mod solaris;
32642add0d91Sopenharmony_ci        pub use self::solaris::*;
32652add0d91Sopenharmony_ci    } else {
32662add0d91Sopenharmony_ci        // Unknown target_os
32672add0d91Sopenharmony_ci    }
32682add0d91Sopenharmony_ci}
32692add0d91Sopenharmony_ci
32702add0d91Sopenharmony_cicfg_if! {
32712add0d91Sopenharmony_ci    if #[cfg(target_arch = "x86_64")] {
32722add0d91Sopenharmony_ci        mod x86_64;
32732add0d91Sopenharmony_ci        mod x86_common;
32742add0d91Sopenharmony_ci        pub use self::x86_64::*;
32752add0d91Sopenharmony_ci        pub use self::x86_common::*;
32762add0d91Sopenharmony_ci    } else if #[cfg(target_arch = "x86")] {
32772add0d91Sopenharmony_ci        mod x86;
32782add0d91Sopenharmony_ci        mod x86_common;
32792add0d91Sopenharmony_ci        pub use self::x86::*;
32802add0d91Sopenharmony_ci        pub use self::x86_common::*;
32812add0d91Sopenharmony_ci    }
32822add0d91Sopenharmony_ci}
3283