12add0d91Sopenharmony_cipub type sa_family_t = u16;
22add0d91Sopenharmony_cipub type speed_t = ::c_uint;
32add0d91Sopenharmony_cipub type tcflag_t = ::c_uint;
42add0d91Sopenharmony_cipub type clockid_t = ::c_int;
52add0d91Sopenharmony_cipub type timer_t = *mut ::c_void;
62add0d91Sopenharmony_cipub type key_t = ::c_int;
72add0d91Sopenharmony_cipub type id_t = ::c_uint;
82add0d91Sopenharmony_ci
92add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))]
102add0d91Sopenharmony_cipub enum timezone {}
112add0d91Sopenharmony_ciimpl ::Copy for timezone {}
122add0d91Sopenharmony_ciimpl ::Clone for timezone {
132add0d91Sopenharmony_ci    fn clone(&self) -> timezone {
142add0d91Sopenharmony_ci        *self
152add0d91Sopenharmony_ci    }
162add0d91Sopenharmony_ci}
172add0d91Sopenharmony_ci
182add0d91Sopenharmony_cis! {
192add0d91Sopenharmony_ci    pub struct in_addr {
202add0d91Sopenharmony_ci        pub s_addr: ::in_addr_t,
212add0d91Sopenharmony_ci    }
222add0d91Sopenharmony_ci
232add0d91Sopenharmony_ci    pub struct ip_mreq {
242add0d91Sopenharmony_ci        pub imr_multiaddr: in_addr,
252add0d91Sopenharmony_ci        pub imr_interface: in_addr,
262add0d91Sopenharmony_ci    }
272add0d91Sopenharmony_ci
282add0d91Sopenharmony_ci    pub struct ip_mreqn {
292add0d91Sopenharmony_ci        pub imr_multiaddr: in_addr,
302add0d91Sopenharmony_ci        pub imr_address: in_addr,
312add0d91Sopenharmony_ci        pub imr_ifindex: ::c_int,
322add0d91Sopenharmony_ci    }
332add0d91Sopenharmony_ci
342add0d91Sopenharmony_ci    pub struct ip_mreq_source {
352add0d91Sopenharmony_ci        pub imr_multiaddr: in_addr,
362add0d91Sopenharmony_ci        pub imr_interface: in_addr,
372add0d91Sopenharmony_ci        pub imr_sourceaddr: in_addr,
382add0d91Sopenharmony_ci    }
392add0d91Sopenharmony_ci
402add0d91Sopenharmony_ci    pub struct sockaddr {
412add0d91Sopenharmony_ci        pub sa_family: sa_family_t,
422add0d91Sopenharmony_ci        pub sa_data: [::c_char; 14],
432add0d91Sopenharmony_ci    }
442add0d91Sopenharmony_ci
452add0d91Sopenharmony_ci    pub struct sockaddr_in {
462add0d91Sopenharmony_ci        pub sin_family: sa_family_t,
472add0d91Sopenharmony_ci        pub sin_port: ::in_port_t,
482add0d91Sopenharmony_ci        pub sin_addr: ::in_addr,
492add0d91Sopenharmony_ci        pub sin_zero: [u8; 8],
502add0d91Sopenharmony_ci    }
512add0d91Sopenharmony_ci
522add0d91Sopenharmony_ci    pub struct sockaddr_in6 {
532add0d91Sopenharmony_ci        pub sin6_family: sa_family_t,
542add0d91Sopenharmony_ci        pub sin6_port: ::in_port_t,
552add0d91Sopenharmony_ci        pub sin6_flowinfo: u32,
562add0d91Sopenharmony_ci        pub sin6_addr: ::in6_addr,
572add0d91Sopenharmony_ci        pub sin6_scope_id: u32,
582add0d91Sopenharmony_ci    }
592add0d91Sopenharmony_ci
602add0d91Sopenharmony_ci    // The order of the `ai_addr` field in this struct is crucial
612add0d91Sopenharmony_ci    // for converting between the Rust and C types.
622add0d91Sopenharmony_ci    pub struct addrinfo {
632add0d91Sopenharmony_ci        pub ai_flags: ::c_int,
642add0d91Sopenharmony_ci        pub ai_family: ::c_int,
652add0d91Sopenharmony_ci        pub ai_socktype: ::c_int,
662add0d91Sopenharmony_ci        pub ai_protocol: ::c_int,
672add0d91Sopenharmony_ci        pub ai_addrlen: socklen_t,
682add0d91Sopenharmony_ci
692add0d91Sopenharmony_ci        #[cfg(any(target_os = "linux",
702add0d91Sopenharmony_ci                  target_os = "emscripten"))]
712add0d91Sopenharmony_ci        pub ai_addr: *mut ::sockaddr,
722add0d91Sopenharmony_ci
732add0d91Sopenharmony_ci        pub ai_canonname: *mut c_char,
742add0d91Sopenharmony_ci
752add0d91Sopenharmony_ci        #[cfg(target_os = "android")]
762add0d91Sopenharmony_ci        pub ai_addr: *mut ::sockaddr,
772add0d91Sopenharmony_ci
782add0d91Sopenharmony_ci        pub ai_next: *mut addrinfo,
792add0d91Sopenharmony_ci    }
802add0d91Sopenharmony_ci
812add0d91Sopenharmony_ci    pub struct sockaddr_ll {
822add0d91Sopenharmony_ci        pub sll_family: ::c_ushort,
832add0d91Sopenharmony_ci        pub sll_protocol: ::c_ushort,
842add0d91Sopenharmony_ci        pub sll_ifindex: ::c_int,
852add0d91Sopenharmony_ci        pub sll_hatype: ::c_ushort,
862add0d91Sopenharmony_ci        pub sll_pkttype: ::c_uchar,
872add0d91Sopenharmony_ci        pub sll_halen: ::c_uchar,
882add0d91Sopenharmony_ci        pub sll_addr: [::c_uchar; 8]
892add0d91Sopenharmony_ci    }
902add0d91Sopenharmony_ci
912add0d91Sopenharmony_ci    pub struct fd_set {
922add0d91Sopenharmony_ci        fds_bits: [::c_ulong; FD_SETSIZE / ULONG_SIZE],
932add0d91Sopenharmony_ci    }
942add0d91Sopenharmony_ci
952add0d91Sopenharmony_ci    pub struct tm {
962add0d91Sopenharmony_ci        pub tm_sec: ::c_int,
972add0d91Sopenharmony_ci        pub tm_min: ::c_int,
982add0d91Sopenharmony_ci        pub tm_hour: ::c_int,
992add0d91Sopenharmony_ci        pub tm_mday: ::c_int,
1002add0d91Sopenharmony_ci        pub tm_mon: ::c_int,
1012add0d91Sopenharmony_ci        pub tm_year: ::c_int,
1022add0d91Sopenharmony_ci        pub tm_wday: ::c_int,
1032add0d91Sopenharmony_ci        pub tm_yday: ::c_int,
1042add0d91Sopenharmony_ci        pub tm_isdst: ::c_int,
1052add0d91Sopenharmony_ci        pub tm_gmtoff: ::c_long,
1062add0d91Sopenharmony_ci        pub tm_zone: *const ::c_char,
1072add0d91Sopenharmony_ci    }
1082add0d91Sopenharmony_ci
1092add0d91Sopenharmony_ci    pub struct sched_param {
1102add0d91Sopenharmony_ci        pub sched_priority: ::c_int,
1112add0d91Sopenharmony_ci        #[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
1122add0d91Sopenharmony_ci        pub sched_ss_low_priority: ::c_int,
1132add0d91Sopenharmony_ci        #[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
1142add0d91Sopenharmony_ci        pub sched_ss_repl_period: ::timespec,
1152add0d91Sopenharmony_ci        #[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
1162add0d91Sopenharmony_ci        pub sched_ss_init_budget: ::timespec,
1172add0d91Sopenharmony_ci        #[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
1182add0d91Sopenharmony_ci        pub sched_ss_max_repl: ::c_int,
1192add0d91Sopenharmony_ci    }
1202add0d91Sopenharmony_ci
1212add0d91Sopenharmony_ci    pub struct Dl_info {
1222add0d91Sopenharmony_ci        pub dli_fname: *const ::c_char,
1232add0d91Sopenharmony_ci        pub dli_fbase: *mut ::c_void,
1242add0d91Sopenharmony_ci        pub dli_sname: *const ::c_char,
1252add0d91Sopenharmony_ci        pub dli_saddr: *mut ::c_void,
1262add0d91Sopenharmony_ci    }
1272add0d91Sopenharmony_ci
1282add0d91Sopenharmony_ci    pub struct lconv {
1292add0d91Sopenharmony_ci        pub decimal_point: *mut ::c_char,
1302add0d91Sopenharmony_ci        pub thousands_sep: *mut ::c_char,
1312add0d91Sopenharmony_ci        pub grouping: *mut ::c_char,
1322add0d91Sopenharmony_ci        pub int_curr_symbol: *mut ::c_char,
1332add0d91Sopenharmony_ci        pub currency_symbol: *mut ::c_char,
1342add0d91Sopenharmony_ci        pub mon_decimal_point: *mut ::c_char,
1352add0d91Sopenharmony_ci        pub mon_thousands_sep: *mut ::c_char,
1362add0d91Sopenharmony_ci        pub mon_grouping: *mut ::c_char,
1372add0d91Sopenharmony_ci        pub positive_sign: *mut ::c_char,
1382add0d91Sopenharmony_ci        pub negative_sign: *mut ::c_char,
1392add0d91Sopenharmony_ci        pub int_frac_digits: ::c_char,
1402add0d91Sopenharmony_ci        pub frac_digits: ::c_char,
1412add0d91Sopenharmony_ci        pub p_cs_precedes: ::c_char,
1422add0d91Sopenharmony_ci        pub p_sep_by_space: ::c_char,
1432add0d91Sopenharmony_ci        pub n_cs_precedes: ::c_char,
1442add0d91Sopenharmony_ci        pub n_sep_by_space: ::c_char,
1452add0d91Sopenharmony_ci        pub p_sign_posn: ::c_char,
1462add0d91Sopenharmony_ci        pub n_sign_posn: ::c_char,
1472add0d91Sopenharmony_ci        pub int_p_cs_precedes: ::c_char,
1482add0d91Sopenharmony_ci        pub int_p_sep_by_space: ::c_char,
1492add0d91Sopenharmony_ci        pub int_n_cs_precedes: ::c_char,
1502add0d91Sopenharmony_ci        pub int_n_sep_by_space: ::c_char,
1512add0d91Sopenharmony_ci        pub int_p_sign_posn: ::c_char,
1522add0d91Sopenharmony_ci        pub int_n_sign_posn: ::c_char,
1532add0d91Sopenharmony_ci    }
1542add0d91Sopenharmony_ci
1552add0d91Sopenharmony_ci    pub struct in_pktinfo {
1562add0d91Sopenharmony_ci        pub ipi_ifindex: ::c_int,
1572add0d91Sopenharmony_ci        pub ipi_spec_dst: ::in_addr,
1582add0d91Sopenharmony_ci        pub ipi_addr: ::in_addr,
1592add0d91Sopenharmony_ci    }
1602add0d91Sopenharmony_ci
1612add0d91Sopenharmony_ci    pub struct ifaddrs {
1622add0d91Sopenharmony_ci        pub ifa_next: *mut ifaddrs,
1632add0d91Sopenharmony_ci        pub ifa_name: *mut c_char,
1642add0d91Sopenharmony_ci        pub ifa_flags: ::c_uint,
1652add0d91Sopenharmony_ci        pub ifa_addr: *mut ::sockaddr,
1662add0d91Sopenharmony_ci        pub ifa_netmask: *mut ::sockaddr,
1672add0d91Sopenharmony_ci        pub ifa_ifu: *mut ::sockaddr, // FIXME This should be a union
1682add0d91Sopenharmony_ci        pub ifa_data: *mut ::c_void
1692add0d91Sopenharmony_ci    }
1702add0d91Sopenharmony_ci
1712add0d91Sopenharmony_ci    pub struct in6_rtmsg {
1722add0d91Sopenharmony_ci        rtmsg_dst: ::in6_addr,
1732add0d91Sopenharmony_ci        rtmsg_src: ::in6_addr,
1742add0d91Sopenharmony_ci        rtmsg_gateway: ::in6_addr,
1752add0d91Sopenharmony_ci        rtmsg_type: u32,
1762add0d91Sopenharmony_ci        rtmsg_dst_len: u16,
1772add0d91Sopenharmony_ci        rtmsg_src_len: u16,
1782add0d91Sopenharmony_ci        rtmsg_metric: u32,
1792add0d91Sopenharmony_ci        rtmsg_info: ::c_ulong,
1802add0d91Sopenharmony_ci        rtmsg_flags: u32,
1812add0d91Sopenharmony_ci        rtmsg_ifindex: ::c_int,
1822add0d91Sopenharmony_ci    }
1832add0d91Sopenharmony_ci
1842add0d91Sopenharmony_ci    pub struct arpreq {
1852add0d91Sopenharmony_ci        pub arp_pa: ::sockaddr,
1862add0d91Sopenharmony_ci        pub arp_ha: ::sockaddr,
1872add0d91Sopenharmony_ci        pub arp_flags: ::c_int,
1882add0d91Sopenharmony_ci        pub arp_netmask: ::sockaddr,
1892add0d91Sopenharmony_ci        pub arp_dev: [::c_char; 16],
1902add0d91Sopenharmony_ci    }
1912add0d91Sopenharmony_ci
1922add0d91Sopenharmony_ci    pub struct arpreq_old {
1932add0d91Sopenharmony_ci        pub arp_pa: ::sockaddr,
1942add0d91Sopenharmony_ci        pub arp_ha: ::sockaddr,
1952add0d91Sopenharmony_ci        pub arp_flags: ::c_int,
1962add0d91Sopenharmony_ci        pub arp_netmask: ::sockaddr,
1972add0d91Sopenharmony_ci    }
1982add0d91Sopenharmony_ci
1992add0d91Sopenharmony_ci    pub struct arphdr {
2002add0d91Sopenharmony_ci        pub ar_hrd: u16,
2012add0d91Sopenharmony_ci        pub ar_pro: u16,
2022add0d91Sopenharmony_ci        pub ar_hln: u8,
2032add0d91Sopenharmony_ci        pub ar_pln: u8,
2042add0d91Sopenharmony_ci        pub ar_op: u16,
2052add0d91Sopenharmony_ci    }
2062add0d91Sopenharmony_ci
2072add0d91Sopenharmony_ci    pub struct mmsghdr {
2082add0d91Sopenharmony_ci        pub msg_hdr: ::msghdr,
2092add0d91Sopenharmony_ci        pub msg_len: ::c_uint,
2102add0d91Sopenharmony_ci    }
2112add0d91Sopenharmony_ci}
2122add0d91Sopenharmony_ci
2132add0d91Sopenharmony_cis_no_extra_traits! {
2142add0d91Sopenharmony_ci    #[cfg_attr(
2152add0d91Sopenharmony_ci        any(
2162add0d91Sopenharmony_ci            all(
2172add0d91Sopenharmony_ci                target_arch = "x86",
2182add0d91Sopenharmony_ci                not(target_env = "musl"),
2192add0d91Sopenharmony_ci                not(target_os = "android")),
2202add0d91Sopenharmony_ci            target_arch = "x86_64"),
2212add0d91Sopenharmony_ci        repr(packed))]
2222add0d91Sopenharmony_ci    pub struct epoll_event {
2232add0d91Sopenharmony_ci        pub events: u32,
2242add0d91Sopenharmony_ci        pub u64: u64,
2252add0d91Sopenharmony_ci    }
2262add0d91Sopenharmony_ci
2272add0d91Sopenharmony_ci    pub struct sockaddr_un {
2282add0d91Sopenharmony_ci        pub sun_family: sa_family_t,
2292add0d91Sopenharmony_ci        pub sun_path: [::c_char; 108]
2302add0d91Sopenharmony_ci    }
2312add0d91Sopenharmony_ci
2322add0d91Sopenharmony_ci    pub struct sockaddr_storage {
2332add0d91Sopenharmony_ci        pub ss_family: sa_family_t,
2342add0d91Sopenharmony_ci        #[cfg(target_pointer_width = "32")]
2352add0d91Sopenharmony_ci        __ss_pad2: [u8; 128 - 2 - 4],
2362add0d91Sopenharmony_ci        #[cfg(target_pointer_width = "64")]
2372add0d91Sopenharmony_ci        __ss_pad2: [u8; 128 - 2 - 8],
2382add0d91Sopenharmony_ci        __ss_align: ::size_t,
2392add0d91Sopenharmony_ci    }
2402add0d91Sopenharmony_ci
2412add0d91Sopenharmony_ci    pub struct utsname {
2422add0d91Sopenharmony_ci        pub sysname: [::c_char; 65],
2432add0d91Sopenharmony_ci        pub nodename: [::c_char; 65],
2442add0d91Sopenharmony_ci        pub release: [::c_char; 65],
2452add0d91Sopenharmony_ci        pub version: [::c_char; 65],
2462add0d91Sopenharmony_ci        pub machine: [::c_char; 65],
2472add0d91Sopenharmony_ci        pub domainname: [::c_char; 65]
2482add0d91Sopenharmony_ci    }
2492add0d91Sopenharmony_ci
2502add0d91Sopenharmony_ci    pub struct sigevent {
2512add0d91Sopenharmony_ci        pub sigev_value: ::sigval,
2522add0d91Sopenharmony_ci        pub sigev_signo: ::c_int,
2532add0d91Sopenharmony_ci        pub sigev_notify: ::c_int,
2542add0d91Sopenharmony_ci        // Actually a union.  We only expose sigev_notify_thread_id because it's
2552add0d91Sopenharmony_ci        // the most useful member
2562add0d91Sopenharmony_ci        pub sigev_notify_thread_id: ::c_int,
2572add0d91Sopenharmony_ci        #[cfg(target_pointer_width = "64")]
2582add0d91Sopenharmony_ci        __unused1: [::c_int; 11],
2592add0d91Sopenharmony_ci        #[cfg(target_pointer_width = "32")]
2602add0d91Sopenharmony_ci        __unused1: [::c_int; 12]
2612add0d91Sopenharmony_ci    }
2622add0d91Sopenharmony_ci}
2632add0d91Sopenharmony_ci
2642add0d91Sopenharmony_cicfg_if! {
2652add0d91Sopenharmony_ci    if #[cfg(feature = "extra_traits")] {
2662add0d91Sopenharmony_ci        impl PartialEq for epoll_event {
2672add0d91Sopenharmony_ci            fn eq(&self, other: &epoll_event) -> bool {
2682add0d91Sopenharmony_ci                self.events == other.events
2692add0d91Sopenharmony_ci                    && self.u64 == other.u64
2702add0d91Sopenharmony_ci            }
2712add0d91Sopenharmony_ci        }
2722add0d91Sopenharmony_ci        impl Eq for epoll_event {}
2732add0d91Sopenharmony_ci        impl ::fmt::Debug for epoll_event {
2742add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
2752add0d91Sopenharmony_ci                let events = self.events;
2762add0d91Sopenharmony_ci                let u64 = self.u64;
2772add0d91Sopenharmony_ci                f.debug_struct("epoll_event")
2782add0d91Sopenharmony_ci                    .field("events", &events)
2792add0d91Sopenharmony_ci                    .field("u64", &u64)
2802add0d91Sopenharmony_ci                    .finish()
2812add0d91Sopenharmony_ci            }
2822add0d91Sopenharmony_ci        }
2832add0d91Sopenharmony_ci        impl ::hash::Hash for epoll_event {
2842add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
2852add0d91Sopenharmony_ci                let events = self.events;
2862add0d91Sopenharmony_ci                let u64 = self.u64;
2872add0d91Sopenharmony_ci                events.hash(state);
2882add0d91Sopenharmony_ci                u64.hash(state);
2892add0d91Sopenharmony_ci            }
2902add0d91Sopenharmony_ci        }
2912add0d91Sopenharmony_ci
2922add0d91Sopenharmony_ci        impl PartialEq for sockaddr_un {
2932add0d91Sopenharmony_ci            fn eq(&self, other: &sockaddr_un) -> bool {
2942add0d91Sopenharmony_ci                self.sun_family == other.sun_family
2952add0d91Sopenharmony_ci                    && self
2962add0d91Sopenharmony_ci                    .sun_path
2972add0d91Sopenharmony_ci                    .iter()
2982add0d91Sopenharmony_ci                    .zip(other.sun_path.iter())
2992add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3002add0d91Sopenharmony_ci            }
3012add0d91Sopenharmony_ci        }
3022add0d91Sopenharmony_ci        impl Eq for sockaddr_un {}
3032add0d91Sopenharmony_ci        impl ::fmt::Debug for sockaddr_un {
3042add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
3052add0d91Sopenharmony_ci                f.debug_struct("sockaddr_un")
3062add0d91Sopenharmony_ci                    .field("sun_family", &self.sun_family)
3072add0d91Sopenharmony_ci                // FIXME: .field("sun_path", &self.sun_path)
3082add0d91Sopenharmony_ci                    .finish()
3092add0d91Sopenharmony_ci            }
3102add0d91Sopenharmony_ci        }
3112add0d91Sopenharmony_ci        impl ::hash::Hash for sockaddr_un {
3122add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
3132add0d91Sopenharmony_ci                self.sun_family.hash(state);
3142add0d91Sopenharmony_ci                self.sun_path.hash(state);
3152add0d91Sopenharmony_ci            }
3162add0d91Sopenharmony_ci        }
3172add0d91Sopenharmony_ci
3182add0d91Sopenharmony_ci        impl PartialEq for sockaddr_storage {
3192add0d91Sopenharmony_ci            fn eq(&self, other: &sockaddr_storage) -> bool {
3202add0d91Sopenharmony_ci                self.ss_family == other.ss_family
3212add0d91Sopenharmony_ci                    && self
3222add0d91Sopenharmony_ci                    .__ss_pad2
3232add0d91Sopenharmony_ci                    .iter()
3242add0d91Sopenharmony_ci                    .zip(other.__ss_pad2.iter())
3252add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3262add0d91Sopenharmony_ci            }
3272add0d91Sopenharmony_ci        }
3282add0d91Sopenharmony_ci
3292add0d91Sopenharmony_ci        impl Eq for sockaddr_storage {}
3302add0d91Sopenharmony_ci
3312add0d91Sopenharmony_ci        impl ::fmt::Debug for sockaddr_storage {
3322add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
3332add0d91Sopenharmony_ci                f.debug_struct("sockaddr_storage")
3342add0d91Sopenharmony_ci                    .field("ss_family", &self.ss_family)
3352add0d91Sopenharmony_ci                    .field("__ss_align", &self.__ss_align)
3362add0d91Sopenharmony_ci                // FIXME: .field("__ss_pad2", &self.__ss_pad2)
3372add0d91Sopenharmony_ci                    .finish()
3382add0d91Sopenharmony_ci            }
3392add0d91Sopenharmony_ci        }
3402add0d91Sopenharmony_ci
3412add0d91Sopenharmony_ci        impl ::hash::Hash for sockaddr_storage {
3422add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
3432add0d91Sopenharmony_ci                self.ss_family.hash(state);
3442add0d91Sopenharmony_ci                self.__ss_pad2.hash(state);
3452add0d91Sopenharmony_ci            }
3462add0d91Sopenharmony_ci        }
3472add0d91Sopenharmony_ci
3482add0d91Sopenharmony_ci        impl PartialEq for utsname {
3492add0d91Sopenharmony_ci            fn eq(&self, other: &utsname) -> bool {
3502add0d91Sopenharmony_ci                self.sysname
3512add0d91Sopenharmony_ci                    .iter()
3522add0d91Sopenharmony_ci                    .zip(other.sysname.iter())
3532add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3542add0d91Sopenharmony_ci                    && self
3552add0d91Sopenharmony_ci                    .nodename
3562add0d91Sopenharmony_ci                    .iter()
3572add0d91Sopenharmony_ci                    .zip(other.nodename.iter())
3582add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3592add0d91Sopenharmony_ci                    && self
3602add0d91Sopenharmony_ci                    .release
3612add0d91Sopenharmony_ci                    .iter()
3622add0d91Sopenharmony_ci                    .zip(other.release.iter())
3632add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3642add0d91Sopenharmony_ci                    && self
3652add0d91Sopenharmony_ci                    .version
3662add0d91Sopenharmony_ci                    .iter()
3672add0d91Sopenharmony_ci                    .zip(other.version.iter())
3682add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3692add0d91Sopenharmony_ci                    && self
3702add0d91Sopenharmony_ci                    .machine
3712add0d91Sopenharmony_ci                    .iter()
3722add0d91Sopenharmony_ci                    .zip(other.machine.iter())
3732add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3742add0d91Sopenharmony_ci                    && self
3752add0d91Sopenharmony_ci                    .domainname
3762add0d91Sopenharmony_ci                    .iter()
3772add0d91Sopenharmony_ci                    .zip(other.domainname.iter())
3782add0d91Sopenharmony_ci                    .all(|(a, b)| a == b)
3792add0d91Sopenharmony_ci            }
3802add0d91Sopenharmony_ci        }
3812add0d91Sopenharmony_ci
3822add0d91Sopenharmony_ci        impl Eq for utsname {}
3832add0d91Sopenharmony_ci
3842add0d91Sopenharmony_ci        impl ::fmt::Debug for utsname {
3852add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
3862add0d91Sopenharmony_ci                f.debug_struct("utsname")
3872add0d91Sopenharmony_ci                // FIXME: .field("sysname", &self.sysname)
3882add0d91Sopenharmony_ci                // FIXME: .field("nodename", &self.nodename)
3892add0d91Sopenharmony_ci                // FIXME: .field("release", &self.release)
3902add0d91Sopenharmony_ci                // FIXME: .field("version", &self.version)
3912add0d91Sopenharmony_ci                // FIXME: .field("machine", &self.machine)
3922add0d91Sopenharmony_ci                // FIXME: .field("domainname", &self.domainname)
3932add0d91Sopenharmony_ci                    .finish()
3942add0d91Sopenharmony_ci            }
3952add0d91Sopenharmony_ci        }
3962add0d91Sopenharmony_ci
3972add0d91Sopenharmony_ci        impl ::hash::Hash for utsname {
3982add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
3992add0d91Sopenharmony_ci                self.sysname.hash(state);
4002add0d91Sopenharmony_ci                self.nodename.hash(state);
4012add0d91Sopenharmony_ci                self.release.hash(state);
4022add0d91Sopenharmony_ci                self.version.hash(state);
4032add0d91Sopenharmony_ci                self.machine.hash(state);
4042add0d91Sopenharmony_ci                self.domainname.hash(state);
4052add0d91Sopenharmony_ci            }
4062add0d91Sopenharmony_ci        }
4072add0d91Sopenharmony_ci
4082add0d91Sopenharmony_ci        impl PartialEq for sigevent {
4092add0d91Sopenharmony_ci            fn eq(&self, other: &sigevent) -> bool {
4102add0d91Sopenharmony_ci                self.sigev_value == other.sigev_value
4112add0d91Sopenharmony_ci                    && self.sigev_signo == other.sigev_signo
4122add0d91Sopenharmony_ci                    && self.sigev_notify == other.sigev_notify
4132add0d91Sopenharmony_ci                    && self.sigev_notify_thread_id
4142add0d91Sopenharmony_ci                        == other.sigev_notify_thread_id
4152add0d91Sopenharmony_ci            }
4162add0d91Sopenharmony_ci        }
4172add0d91Sopenharmony_ci        impl Eq for sigevent {}
4182add0d91Sopenharmony_ci        impl ::fmt::Debug for sigevent {
4192add0d91Sopenharmony_ci            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
4202add0d91Sopenharmony_ci                f.debug_struct("sigevent")
4212add0d91Sopenharmony_ci                    .field("sigev_value", &self.sigev_value)
4222add0d91Sopenharmony_ci                    .field("sigev_signo", &self.sigev_signo)
4232add0d91Sopenharmony_ci                    .field("sigev_notify", &self.sigev_notify)
4242add0d91Sopenharmony_ci                    .field("sigev_notify_thread_id",
4252add0d91Sopenharmony_ci                           &self.sigev_notify_thread_id)
4262add0d91Sopenharmony_ci                    .finish()
4272add0d91Sopenharmony_ci            }
4282add0d91Sopenharmony_ci        }
4292add0d91Sopenharmony_ci        impl ::hash::Hash for sigevent {
4302add0d91Sopenharmony_ci            fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
4312add0d91Sopenharmony_ci                self.sigev_value.hash(state);
4322add0d91Sopenharmony_ci                self.sigev_signo.hash(state);
4332add0d91Sopenharmony_ci                self.sigev_notify.hash(state);
4342add0d91Sopenharmony_ci                self.sigev_notify_thread_id.hash(state);
4352add0d91Sopenharmony_ci            }
4362add0d91Sopenharmony_ci        }
4372add0d91Sopenharmony_ci    }
4382add0d91Sopenharmony_ci}
4392add0d91Sopenharmony_ci
4402add0d91Sopenharmony_ci// intentionally not public, only used for fd_set
4412add0d91Sopenharmony_cicfg_if! {
4422add0d91Sopenharmony_ci    if #[cfg(target_pointer_width = "32")] {
4432add0d91Sopenharmony_ci        const ULONG_SIZE: usize = 32;
4442add0d91Sopenharmony_ci    } else if #[cfg(target_pointer_width = "64")] {
4452add0d91Sopenharmony_ci        const ULONG_SIZE: usize = 64;
4462add0d91Sopenharmony_ci    } else {
4472add0d91Sopenharmony_ci        // Unknown target_pointer_width
4482add0d91Sopenharmony_ci    }
4492add0d91Sopenharmony_ci}
4502add0d91Sopenharmony_ci
4512add0d91Sopenharmony_cipub const EXIT_FAILURE: ::c_int = 1;
4522add0d91Sopenharmony_cipub const EXIT_SUCCESS: ::c_int = 0;
4532add0d91Sopenharmony_cipub const RAND_MAX: ::c_int = 2147483647;
4542add0d91Sopenharmony_cipub const EOF: ::c_int = -1;
4552add0d91Sopenharmony_cipub const SEEK_SET: ::c_int = 0;
4562add0d91Sopenharmony_cipub const SEEK_CUR: ::c_int = 1;
4572add0d91Sopenharmony_cipub const SEEK_END: ::c_int = 2;
4582add0d91Sopenharmony_cipub const _IOFBF: ::c_int = 0;
4592add0d91Sopenharmony_cipub const _IONBF: ::c_int = 2;
4602add0d91Sopenharmony_cipub const _IOLBF: ::c_int = 1;
4612add0d91Sopenharmony_ci
4622add0d91Sopenharmony_cipub const F_DUPFD: ::c_int = 0;
4632add0d91Sopenharmony_cipub const F_GETFD: ::c_int = 1;
4642add0d91Sopenharmony_cipub const F_SETFD: ::c_int = 2;
4652add0d91Sopenharmony_cipub const F_GETFL: ::c_int = 3;
4662add0d91Sopenharmony_cipub const F_SETFL: ::c_int = 4;
4672add0d91Sopenharmony_ci
4682add0d91Sopenharmony_ci// Linux-specific fcntls
4692add0d91Sopenharmony_cipub const F_SETLEASE: ::c_int = 1024;
4702add0d91Sopenharmony_cipub const F_GETLEASE: ::c_int = 1025;
4712add0d91Sopenharmony_cipub const F_NOTIFY: ::c_int = 1026;
4722add0d91Sopenharmony_cipub const F_CANCELLK: ::c_int = 1029;
4732add0d91Sopenharmony_cipub const F_DUPFD_CLOEXEC: ::c_int = 1030;
4742add0d91Sopenharmony_cipub const F_SETPIPE_SZ: ::c_int = 1031;
4752add0d91Sopenharmony_cipub const F_GETPIPE_SZ: ::c_int = 1032;
4762add0d91Sopenharmony_cipub const F_ADD_SEALS: ::c_int = 1033;
4772add0d91Sopenharmony_cipub const F_GET_SEALS: ::c_int = 1034;
4782add0d91Sopenharmony_ci
4792add0d91Sopenharmony_cipub const F_SEAL_SEAL: ::c_int = 0x0001;
4802add0d91Sopenharmony_cipub const F_SEAL_SHRINK: ::c_int = 0x0002;
4812add0d91Sopenharmony_cipub const F_SEAL_GROW: ::c_int = 0x0004;
4822add0d91Sopenharmony_cipub const F_SEAL_WRITE: ::c_int = 0x0008;
4832add0d91Sopenharmony_ci
4842add0d91Sopenharmony_ci// FIXME(#235): Include file sealing fcntls once we have a way to verify them.
4852add0d91Sopenharmony_ci
4862add0d91Sopenharmony_cipub const SIGTRAP: ::c_int = 5;
4872add0d91Sopenharmony_ci
4882add0d91Sopenharmony_cipub const PTHREAD_CREATE_JOINABLE: ::c_int = 0;
4892add0d91Sopenharmony_cipub const PTHREAD_CREATE_DETACHED: ::c_int = 1;
4902add0d91Sopenharmony_ci
4912add0d91Sopenharmony_cipub const CLOCK_REALTIME: ::clockid_t = 0;
4922add0d91Sopenharmony_cipub const CLOCK_MONOTONIC: ::clockid_t = 1;
4932add0d91Sopenharmony_cipub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 2;
4942add0d91Sopenharmony_cipub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 3;
4952add0d91Sopenharmony_cipub const CLOCK_MONOTONIC_RAW: ::clockid_t = 4;
4962add0d91Sopenharmony_cipub const CLOCK_REALTIME_COARSE: ::clockid_t = 5;
4972add0d91Sopenharmony_cipub const CLOCK_MONOTONIC_COARSE: ::clockid_t = 6;
4982add0d91Sopenharmony_cipub const CLOCK_BOOTTIME: ::clockid_t = 7;
4992add0d91Sopenharmony_cipub const CLOCK_REALTIME_ALARM: ::clockid_t = 8;
5002add0d91Sopenharmony_cipub const CLOCK_BOOTTIME_ALARM: ::clockid_t = 9;
5012add0d91Sopenharmony_cipub const CLOCK_TAI: ::clockid_t = 11;
5022add0d91Sopenharmony_cipub const TIMER_ABSTIME: ::c_int = 1;
5032add0d91Sopenharmony_ci
5042add0d91Sopenharmony_cipub const RUSAGE_SELF: ::c_int = 0;
5052add0d91Sopenharmony_ci
5062add0d91Sopenharmony_cipub const O_RDONLY: ::c_int = 0;
5072add0d91Sopenharmony_cipub const O_WRONLY: ::c_int = 1;
5082add0d91Sopenharmony_cipub const O_RDWR: ::c_int = 2;
5092add0d91Sopenharmony_ci
5102add0d91Sopenharmony_cipub const SOCK_CLOEXEC: ::c_int = O_CLOEXEC;
5112add0d91Sopenharmony_ci
5122add0d91Sopenharmony_cipub const S_IFIFO: ::mode_t = 4096;
5132add0d91Sopenharmony_cipub const S_IFCHR: ::mode_t = 8192;
5142add0d91Sopenharmony_cipub const S_IFBLK: ::mode_t = 24576;
5152add0d91Sopenharmony_cipub const S_IFDIR: ::mode_t = 16384;
5162add0d91Sopenharmony_cipub const S_IFREG: ::mode_t = 32768;
5172add0d91Sopenharmony_cipub const S_IFLNK: ::mode_t = 40960;
5182add0d91Sopenharmony_cipub const S_IFSOCK: ::mode_t = 49152;
5192add0d91Sopenharmony_cipub const S_IFMT: ::mode_t = 61440;
5202add0d91Sopenharmony_cipub const S_IRWXU: ::mode_t = 448;
5212add0d91Sopenharmony_cipub const S_IXUSR: ::mode_t = 64;
5222add0d91Sopenharmony_cipub const S_IWUSR: ::mode_t = 128;
5232add0d91Sopenharmony_cipub const S_IRUSR: ::mode_t = 256;
5242add0d91Sopenharmony_cipub const S_IRWXG: ::mode_t = 56;
5252add0d91Sopenharmony_cipub const S_IXGRP: ::mode_t = 8;
5262add0d91Sopenharmony_cipub const S_IWGRP: ::mode_t = 16;
5272add0d91Sopenharmony_cipub const S_IRGRP: ::mode_t = 32;
5282add0d91Sopenharmony_cipub const S_IRWXO: ::mode_t = 7;
5292add0d91Sopenharmony_cipub const S_IXOTH: ::mode_t = 1;
5302add0d91Sopenharmony_cipub const S_IWOTH: ::mode_t = 2;
5312add0d91Sopenharmony_cipub const S_IROTH: ::mode_t = 4;
5322add0d91Sopenharmony_cipub const F_OK: ::c_int = 0;
5332add0d91Sopenharmony_cipub const R_OK: ::c_int = 4;
5342add0d91Sopenharmony_cipub const W_OK: ::c_int = 2;
5352add0d91Sopenharmony_cipub const X_OK: ::c_int = 1;
5362add0d91Sopenharmony_cipub const STDIN_FILENO: ::c_int = 0;
5372add0d91Sopenharmony_cipub const STDOUT_FILENO: ::c_int = 1;
5382add0d91Sopenharmony_cipub const STDERR_FILENO: ::c_int = 2;
5392add0d91Sopenharmony_cipub const SIGHUP: ::c_int = 1;
5402add0d91Sopenharmony_cipub const SIGINT: ::c_int = 2;
5412add0d91Sopenharmony_cipub const SIGQUIT: ::c_int = 3;
5422add0d91Sopenharmony_cipub const SIGILL: ::c_int = 4;
5432add0d91Sopenharmony_cipub const SIGABRT: ::c_int = 6;
5442add0d91Sopenharmony_cipub const SIGFPE: ::c_int = 8;
5452add0d91Sopenharmony_cipub const SIGKILL: ::c_int = 9;
5462add0d91Sopenharmony_cipub const SIGSEGV: ::c_int = 11;
5472add0d91Sopenharmony_cipub const SIGPIPE: ::c_int = 13;
5482add0d91Sopenharmony_cipub const SIGALRM: ::c_int = 14;
5492add0d91Sopenharmony_cipub const SIGTERM: ::c_int = 15;
5502add0d91Sopenharmony_ci
5512add0d91Sopenharmony_cipub const PROT_NONE: ::c_int = 0;
5522add0d91Sopenharmony_cipub const PROT_READ: ::c_int = 1;
5532add0d91Sopenharmony_cipub const PROT_WRITE: ::c_int = 2;
5542add0d91Sopenharmony_cipub const PROT_EXEC: ::c_int = 4;
5552add0d91Sopenharmony_ci
5562add0d91Sopenharmony_cipub const XATTR_CREATE: ::c_int = 0x1;
5572add0d91Sopenharmony_cipub const XATTR_REPLACE: ::c_int = 0x2;
5582add0d91Sopenharmony_ci
5592add0d91Sopenharmony_cicfg_if! {
5602add0d91Sopenharmony_ci    if #[cfg(target_env = "ohos")] {
5612add0d91Sopenharmony_ci        pub const LC_CTYPE: ::c_int = 0;
5622add0d91Sopenharmony_ci        pub const LC_NUMERIC: ::c_int = 1;
5632add0d91Sopenharmony_ci        pub const LC_TIME: ::c_int = 2;
5642add0d91Sopenharmony_ci        pub const LC_COLLATE: ::c_int = 3;
5652add0d91Sopenharmony_ci        pub const LC_MONETARY: ::c_int = 4;
5662add0d91Sopenharmony_ci        pub const LC_MESSAGES: ::c_int = 5;
5672add0d91Sopenharmony_ci        pub const LC_PAPER: ::c_int = 6;
5682add0d91Sopenharmony_ci        pub const LC_NAME: ::c_int = 7;
5692add0d91Sopenharmony_ci        pub const LC_ADDRESS: ::c_int = 8;
5702add0d91Sopenharmony_ci        pub const LC_TELEPHONE: ::c_int = 9;
5712add0d91Sopenharmony_ci        pub const LC_MEASUREMENT: ::c_int = 10;
5722add0d91Sopenharmony_ci        pub const LC_IDENTIFICATION: ::c_int = 11;
5732add0d91Sopenharmony_ci        pub const LC_ALL: ::c_int = 12;
5742add0d91Sopenharmony_ci    } else if #[cfg(not(target_env = "uclibc"))] {
5752add0d91Sopenharmony_ci        pub const LC_CTYPE: ::c_int = 0;
5762add0d91Sopenharmony_ci        pub const LC_NUMERIC: ::c_int = 1;
5772add0d91Sopenharmony_ci        pub const LC_TIME: ::c_int = 2;
5782add0d91Sopenharmony_ci        pub const LC_COLLATE: ::c_int = 3;
5792add0d91Sopenharmony_ci        pub const LC_MONETARY: ::c_int = 4;
5802add0d91Sopenharmony_ci        pub const LC_MESSAGES: ::c_int = 5;
5812add0d91Sopenharmony_ci        pub const LC_ALL: ::c_int = 6;
5822add0d91Sopenharmony_ci    }
5832add0d91Sopenharmony_ci}
5842add0d91Sopenharmony_ci
5852add0d91Sopenharmony_cipub const LC_CTYPE_MASK: ::c_int = 1 << LC_CTYPE;
5862add0d91Sopenharmony_cipub const LC_NUMERIC_MASK: ::c_int = 1 << LC_NUMERIC;
5872add0d91Sopenharmony_cipub const LC_TIME_MASK: ::c_int = 1 << LC_TIME;
5882add0d91Sopenharmony_cipub const LC_COLLATE_MASK: ::c_int = 1 << LC_COLLATE;
5892add0d91Sopenharmony_cipub const LC_MONETARY_MASK: ::c_int = 1 << LC_MONETARY;
5902add0d91Sopenharmony_cipub const LC_MESSAGES_MASK: ::c_int = 1 << LC_MESSAGES;
5912add0d91Sopenharmony_ci// LC_ALL_MASK defined per platform
5922add0d91Sopenharmony_ci
5932add0d91Sopenharmony_cipub const MAP_FILE: ::c_int = 0x0000;
5942add0d91Sopenharmony_cipub const MAP_SHARED: ::c_int = 0x0001;
5952add0d91Sopenharmony_cipub const MAP_PRIVATE: ::c_int = 0x0002;
5962add0d91Sopenharmony_cipub const MAP_FIXED: ::c_int = 0x0010;
5972add0d91Sopenharmony_ci
5982add0d91Sopenharmony_cipub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void;
5992add0d91Sopenharmony_ci
6002add0d91Sopenharmony_ci// MS_ flags for msync(2)
6012add0d91Sopenharmony_cipub const MS_ASYNC: ::c_int = 0x0001;
6022add0d91Sopenharmony_cipub const MS_INVALIDATE: ::c_int = 0x0002;
6032add0d91Sopenharmony_cipub const MS_SYNC: ::c_int = 0x0004;
6042add0d91Sopenharmony_ci
6052add0d91Sopenharmony_ci// MS_ flags for mount(2)
6062add0d91Sopenharmony_cipub const MS_RDONLY: ::c_ulong = 0x01;
6072add0d91Sopenharmony_cipub const MS_NOSUID: ::c_ulong = 0x02;
6082add0d91Sopenharmony_cipub const MS_NODEV: ::c_ulong = 0x04;
6092add0d91Sopenharmony_cipub const MS_NOEXEC: ::c_ulong = 0x08;
6102add0d91Sopenharmony_cipub const MS_SYNCHRONOUS: ::c_ulong = 0x10;
6112add0d91Sopenharmony_cipub const MS_REMOUNT: ::c_ulong = 0x20;
6122add0d91Sopenharmony_cipub const MS_MANDLOCK: ::c_ulong = 0x40;
6132add0d91Sopenharmony_cipub const MS_DIRSYNC: ::c_ulong = 0x80;
6142add0d91Sopenharmony_cipub const MS_NOATIME: ::c_ulong = 0x0400;
6152add0d91Sopenharmony_cipub const MS_NODIRATIME: ::c_ulong = 0x0800;
6162add0d91Sopenharmony_cipub const MS_BIND: ::c_ulong = 0x1000;
6172add0d91Sopenharmony_cipub const MS_MOVE: ::c_ulong = 0x2000;
6182add0d91Sopenharmony_cipub const MS_REC: ::c_ulong = 0x4000;
6192add0d91Sopenharmony_cipub const MS_SILENT: ::c_ulong = 0x8000;
6202add0d91Sopenharmony_cipub const MS_POSIXACL: ::c_ulong = 0x010000;
6212add0d91Sopenharmony_cipub const MS_UNBINDABLE: ::c_ulong = 0x020000;
6222add0d91Sopenharmony_cipub const MS_PRIVATE: ::c_ulong = 0x040000;
6232add0d91Sopenharmony_cipub const MS_SLAVE: ::c_ulong = 0x080000;
6242add0d91Sopenharmony_cipub const MS_SHARED: ::c_ulong = 0x100000;
6252add0d91Sopenharmony_cipub const MS_RELATIME: ::c_ulong = 0x200000;
6262add0d91Sopenharmony_cipub const MS_KERNMOUNT: ::c_ulong = 0x400000;
6272add0d91Sopenharmony_cipub const MS_I_VERSION: ::c_ulong = 0x800000;
6282add0d91Sopenharmony_cipub const MS_STRICTATIME: ::c_ulong = 0x1000000;
6292add0d91Sopenharmony_cipub const MS_LAZYTIME: ::c_ulong = 0x2000000;
6302add0d91Sopenharmony_cipub const MS_ACTIVE: ::c_ulong = 0x40000000;
6312add0d91Sopenharmony_cipub const MS_MGC_VAL: ::c_ulong = 0xc0ed0000;
6322add0d91Sopenharmony_cipub const MS_MGC_MSK: ::c_ulong = 0xffff0000;
6332add0d91Sopenharmony_ci
6342add0d91Sopenharmony_cipub const SCM_RIGHTS: ::c_int = 0x01;
6352add0d91Sopenharmony_cipub const SCM_CREDENTIALS: ::c_int = 0x02;
6362add0d91Sopenharmony_ci
6372add0d91Sopenharmony_cipub const PROT_GROWSDOWN: ::c_int = 0x1000000;
6382add0d91Sopenharmony_cipub const PROT_GROWSUP: ::c_int = 0x2000000;
6392add0d91Sopenharmony_ci
6402add0d91Sopenharmony_cipub const MAP_TYPE: ::c_int = 0x000f;
6412add0d91Sopenharmony_ci
6422add0d91Sopenharmony_cipub const MADV_NORMAL: ::c_int = 0;
6432add0d91Sopenharmony_cipub const MADV_RANDOM: ::c_int = 1;
6442add0d91Sopenharmony_cipub const MADV_SEQUENTIAL: ::c_int = 2;
6452add0d91Sopenharmony_cipub const MADV_WILLNEED: ::c_int = 3;
6462add0d91Sopenharmony_cipub const MADV_DONTNEED: ::c_int = 4;
6472add0d91Sopenharmony_cipub const MADV_FREE: ::c_int = 8;
6482add0d91Sopenharmony_cipub const MADV_REMOVE: ::c_int = 9;
6492add0d91Sopenharmony_cipub const MADV_DONTFORK: ::c_int = 10;
6502add0d91Sopenharmony_cipub const MADV_DOFORK: ::c_int = 11;
6512add0d91Sopenharmony_cipub const MADV_MERGEABLE: ::c_int = 12;
6522add0d91Sopenharmony_cipub const MADV_UNMERGEABLE: ::c_int = 13;
6532add0d91Sopenharmony_cipub const MADV_HUGEPAGE: ::c_int = 14;
6542add0d91Sopenharmony_cipub const MADV_NOHUGEPAGE: ::c_int = 15;
6552add0d91Sopenharmony_cipub const MADV_DONTDUMP: ::c_int = 16;
6562add0d91Sopenharmony_cipub const MADV_DODUMP: ::c_int = 17;
6572add0d91Sopenharmony_cipub const MADV_HWPOISON: ::c_int = 100;
6582add0d91Sopenharmony_ci
6592add0d91Sopenharmony_cipub const IFF_UP: ::c_int = 0x1;
6602add0d91Sopenharmony_cipub const IFF_BROADCAST: ::c_int = 0x2;
6612add0d91Sopenharmony_cipub const IFF_DEBUG: ::c_int = 0x4;
6622add0d91Sopenharmony_cipub const IFF_LOOPBACK: ::c_int = 0x8;
6632add0d91Sopenharmony_cipub const IFF_POINTOPOINT: ::c_int = 0x10;
6642add0d91Sopenharmony_cipub const IFF_NOTRAILERS: ::c_int = 0x20;
6652add0d91Sopenharmony_cipub const IFF_RUNNING: ::c_int = 0x40;
6662add0d91Sopenharmony_cipub const IFF_NOARP: ::c_int = 0x80;
6672add0d91Sopenharmony_cipub const IFF_PROMISC: ::c_int = 0x100;
6682add0d91Sopenharmony_cipub const IFF_ALLMULTI: ::c_int = 0x200;
6692add0d91Sopenharmony_cipub const IFF_MASTER: ::c_int = 0x400;
6702add0d91Sopenharmony_cipub const IFF_SLAVE: ::c_int = 0x800;
6712add0d91Sopenharmony_cipub const IFF_MULTICAST: ::c_int = 0x1000;
6722add0d91Sopenharmony_cipub const IFF_PORTSEL: ::c_int = 0x2000;
6732add0d91Sopenharmony_cipub const IFF_AUTOMEDIA: ::c_int = 0x4000;
6742add0d91Sopenharmony_cipub const IFF_DYNAMIC: ::c_int = 0x8000;
6752add0d91Sopenharmony_ci
6762add0d91Sopenharmony_cipub const SOL_IP: ::c_int = 0;
6772add0d91Sopenharmony_cipub const SOL_TCP: ::c_int = 6;
6782add0d91Sopenharmony_cipub const SOL_UDP: ::c_int = 17;
6792add0d91Sopenharmony_cipub const SOL_IPV6: ::c_int = 41;
6802add0d91Sopenharmony_cipub const SOL_ICMPV6: ::c_int = 58;
6812add0d91Sopenharmony_cipub const SOL_RAW: ::c_int = 255;
6822add0d91Sopenharmony_cipub const SOL_DECNET: ::c_int = 261;
6832add0d91Sopenharmony_cipub const SOL_X25: ::c_int = 262;
6842add0d91Sopenharmony_cipub const SOL_PACKET: ::c_int = 263;
6852add0d91Sopenharmony_cipub const SOL_ATM: ::c_int = 264;
6862add0d91Sopenharmony_cipub const SOL_AAL: ::c_int = 265;
6872add0d91Sopenharmony_cipub const SOL_IRDA: ::c_int = 266;
6882add0d91Sopenharmony_cipub const SOL_NETBEUI: ::c_int = 267;
6892add0d91Sopenharmony_cipub const SOL_LLC: ::c_int = 268;
6902add0d91Sopenharmony_cipub const SOL_DCCP: ::c_int = 269;
6912add0d91Sopenharmony_cipub const SOL_NETLINK: ::c_int = 270;
6922add0d91Sopenharmony_cipub const SOL_TIPC: ::c_int = 271;
6932add0d91Sopenharmony_cipub const SOL_BLUETOOTH: ::c_int = 274;
6942add0d91Sopenharmony_cipub const SOL_ALG: ::c_int = 279;
6952add0d91Sopenharmony_ci
6962add0d91Sopenharmony_cipub const AF_UNSPEC: ::c_int = 0;
6972add0d91Sopenharmony_cipub const AF_UNIX: ::c_int = 1;
6982add0d91Sopenharmony_cipub const AF_LOCAL: ::c_int = 1;
6992add0d91Sopenharmony_cipub const AF_INET: ::c_int = 2;
7002add0d91Sopenharmony_cipub const AF_AX25: ::c_int = 3;
7012add0d91Sopenharmony_cipub const AF_IPX: ::c_int = 4;
7022add0d91Sopenharmony_cipub const AF_APPLETALK: ::c_int = 5;
7032add0d91Sopenharmony_cipub const AF_NETROM: ::c_int = 6;
7042add0d91Sopenharmony_cipub const AF_BRIDGE: ::c_int = 7;
7052add0d91Sopenharmony_cipub const AF_ATMPVC: ::c_int = 8;
7062add0d91Sopenharmony_cipub const AF_X25: ::c_int = 9;
7072add0d91Sopenharmony_cipub const AF_INET6: ::c_int = 10;
7082add0d91Sopenharmony_cipub const AF_ROSE: ::c_int = 11;
7092add0d91Sopenharmony_cipub const AF_DECnet: ::c_int = 12;
7102add0d91Sopenharmony_cipub const AF_NETBEUI: ::c_int = 13;
7112add0d91Sopenharmony_cipub const AF_SECURITY: ::c_int = 14;
7122add0d91Sopenharmony_cipub const AF_KEY: ::c_int = 15;
7132add0d91Sopenharmony_cipub const AF_NETLINK: ::c_int = 16;
7142add0d91Sopenharmony_cipub const AF_ROUTE: ::c_int = AF_NETLINK;
7152add0d91Sopenharmony_cipub const AF_PACKET: ::c_int = 17;
7162add0d91Sopenharmony_cipub const AF_ASH: ::c_int = 18;
7172add0d91Sopenharmony_cipub const AF_ECONET: ::c_int = 19;
7182add0d91Sopenharmony_cipub const AF_ATMSVC: ::c_int = 20;
7192add0d91Sopenharmony_cipub const AF_RDS: ::c_int = 21;
7202add0d91Sopenharmony_cipub const AF_SNA: ::c_int = 22;
7212add0d91Sopenharmony_cipub const AF_IRDA: ::c_int = 23;
7222add0d91Sopenharmony_cipub const AF_PPPOX: ::c_int = 24;
7232add0d91Sopenharmony_cipub const AF_WANPIPE: ::c_int = 25;
7242add0d91Sopenharmony_cipub const AF_LLC: ::c_int = 26;
7252add0d91Sopenharmony_cipub const AF_CAN: ::c_int = 29;
7262add0d91Sopenharmony_cipub const AF_TIPC: ::c_int = 30;
7272add0d91Sopenharmony_cipub const AF_BLUETOOTH: ::c_int = 31;
7282add0d91Sopenharmony_cipub const AF_IUCV: ::c_int = 32;
7292add0d91Sopenharmony_cipub const AF_RXRPC: ::c_int = 33;
7302add0d91Sopenharmony_cipub const AF_ISDN: ::c_int = 34;
7312add0d91Sopenharmony_cipub const AF_PHONET: ::c_int = 35;
7322add0d91Sopenharmony_cipub const AF_IEEE802154: ::c_int = 36;
7332add0d91Sopenharmony_cipub const AF_CAIF: ::c_int = 37;
7342add0d91Sopenharmony_cipub const AF_ALG: ::c_int = 38;
7352add0d91Sopenharmony_ci
7362add0d91Sopenharmony_cipub const PF_UNSPEC: ::c_int = AF_UNSPEC;
7372add0d91Sopenharmony_cipub const PF_UNIX: ::c_int = AF_UNIX;
7382add0d91Sopenharmony_cipub const PF_LOCAL: ::c_int = AF_LOCAL;
7392add0d91Sopenharmony_cipub const PF_INET: ::c_int = AF_INET;
7402add0d91Sopenharmony_cipub const PF_AX25: ::c_int = AF_AX25;
7412add0d91Sopenharmony_cipub const PF_IPX: ::c_int = AF_IPX;
7422add0d91Sopenharmony_cipub const PF_APPLETALK: ::c_int = AF_APPLETALK;
7432add0d91Sopenharmony_cipub const PF_NETROM: ::c_int = AF_NETROM;
7442add0d91Sopenharmony_cipub const PF_BRIDGE: ::c_int = AF_BRIDGE;
7452add0d91Sopenharmony_cipub const PF_ATMPVC: ::c_int = AF_ATMPVC;
7462add0d91Sopenharmony_cipub const PF_X25: ::c_int = AF_X25;
7472add0d91Sopenharmony_cipub const PF_INET6: ::c_int = AF_INET6;
7482add0d91Sopenharmony_cipub const PF_ROSE: ::c_int = AF_ROSE;
7492add0d91Sopenharmony_cipub const PF_DECnet: ::c_int = AF_DECnet;
7502add0d91Sopenharmony_cipub const PF_NETBEUI: ::c_int = AF_NETBEUI;
7512add0d91Sopenharmony_cipub const PF_SECURITY: ::c_int = AF_SECURITY;
7522add0d91Sopenharmony_cipub const PF_KEY: ::c_int = AF_KEY;
7532add0d91Sopenharmony_cipub const PF_NETLINK: ::c_int = AF_NETLINK;
7542add0d91Sopenharmony_cipub const PF_ROUTE: ::c_int = AF_ROUTE;
7552add0d91Sopenharmony_cipub const PF_PACKET: ::c_int = AF_PACKET;
7562add0d91Sopenharmony_cipub const PF_ASH: ::c_int = AF_ASH;
7572add0d91Sopenharmony_cipub const PF_ECONET: ::c_int = AF_ECONET;
7582add0d91Sopenharmony_cipub const PF_ATMSVC: ::c_int = AF_ATMSVC;
7592add0d91Sopenharmony_cipub const PF_RDS: ::c_int = AF_RDS;
7602add0d91Sopenharmony_cipub const PF_SNA: ::c_int = AF_SNA;
7612add0d91Sopenharmony_cipub const PF_IRDA: ::c_int = AF_IRDA;
7622add0d91Sopenharmony_cipub const PF_PPPOX: ::c_int = AF_PPPOX;
7632add0d91Sopenharmony_cipub const PF_WANPIPE: ::c_int = AF_WANPIPE;
7642add0d91Sopenharmony_cipub const PF_LLC: ::c_int = AF_LLC;
7652add0d91Sopenharmony_cipub const PF_CAN: ::c_int = AF_CAN;
7662add0d91Sopenharmony_cipub const PF_TIPC: ::c_int = AF_TIPC;
7672add0d91Sopenharmony_cipub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH;
7682add0d91Sopenharmony_cipub const PF_IUCV: ::c_int = AF_IUCV;
7692add0d91Sopenharmony_cipub const PF_RXRPC: ::c_int = AF_RXRPC;
7702add0d91Sopenharmony_cipub const PF_ISDN: ::c_int = AF_ISDN;
7712add0d91Sopenharmony_cipub const PF_PHONET: ::c_int = AF_PHONET;
7722add0d91Sopenharmony_cipub const PF_IEEE802154: ::c_int = AF_IEEE802154;
7732add0d91Sopenharmony_cipub const PF_CAIF: ::c_int = AF_CAIF;
7742add0d91Sopenharmony_cipub const PF_ALG: ::c_int = AF_ALG;
7752add0d91Sopenharmony_ci
7762add0d91Sopenharmony_cipub const MSG_OOB: ::c_int = 1;
7772add0d91Sopenharmony_cipub const MSG_PEEK: ::c_int = 2;
7782add0d91Sopenharmony_cipub const MSG_DONTROUTE: ::c_int = 4;
7792add0d91Sopenharmony_cipub const MSG_CTRUNC: ::c_int = 8;
7802add0d91Sopenharmony_cipub const MSG_TRUNC: ::c_int = 0x20;
7812add0d91Sopenharmony_cipub const MSG_DONTWAIT: ::c_int = 0x40;
7822add0d91Sopenharmony_cipub const MSG_EOR: ::c_int = 0x80;
7832add0d91Sopenharmony_cipub const MSG_WAITALL: ::c_int = 0x100;
7842add0d91Sopenharmony_cipub const MSG_FIN: ::c_int = 0x200;
7852add0d91Sopenharmony_cipub const MSG_SYN: ::c_int = 0x400;
7862add0d91Sopenharmony_cipub const MSG_CONFIRM: ::c_int = 0x800;
7872add0d91Sopenharmony_cipub const MSG_RST: ::c_int = 0x1000;
7882add0d91Sopenharmony_cipub const MSG_ERRQUEUE: ::c_int = 0x2000;
7892add0d91Sopenharmony_cipub const MSG_NOSIGNAL: ::c_int = 0x4000;
7902add0d91Sopenharmony_cipub const MSG_MORE: ::c_int = 0x8000;
7912add0d91Sopenharmony_cipub const MSG_WAITFORONE: ::c_int = 0x10000;
7922add0d91Sopenharmony_cipub const MSG_FASTOPEN: ::c_int = 0x20000000;
7932add0d91Sopenharmony_cipub const MSG_CMSG_CLOEXEC: ::c_int = 0x40000000;
7942add0d91Sopenharmony_ci
7952add0d91Sopenharmony_cipub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP;
7962add0d91Sopenharmony_ci
7972add0d91Sopenharmony_cipub const SOCK_RAW: ::c_int = 3;
7982add0d91Sopenharmony_cipub const SOCK_RDM: ::c_int = 4;
7992add0d91Sopenharmony_cipub const IP_TOS: ::c_int = 1;
8002add0d91Sopenharmony_cipub const IP_TTL: ::c_int = 2;
8012add0d91Sopenharmony_cipub const IP_HDRINCL: ::c_int = 3;
8022add0d91Sopenharmony_cipub const IP_OPTIONS: ::c_int = 4;
8032add0d91Sopenharmony_cipub const IP_ROUTER_ALERT: ::c_int = 5;
8042add0d91Sopenharmony_cipub const IP_RECVOPTS: ::c_int = 6;
8052add0d91Sopenharmony_cipub const IP_RETOPTS: ::c_int = 7;
8062add0d91Sopenharmony_cipub const IP_PKTINFO: ::c_int = 8;
8072add0d91Sopenharmony_cipub const IP_PKTOPTIONS: ::c_int = 9;
8082add0d91Sopenharmony_cipub const IP_MTU_DISCOVER: ::c_int = 10;
8092add0d91Sopenharmony_cipub const IP_RECVERR: ::c_int = 11;
8102add0d91Sopenharmony_cipub const IP_RECVTTL: ::c_int = 12;
8112add0d91Sopenharmony_cipub const IP_RECVTOS: ::c_int = 13;
8122add0d91Sopenharmony_cipub const IP_MTU: ::c_int = 14;
8132add0d91Sopenharmony_cipub const IP_FREEBIND: ::c_int = 15;
8142add0d91Sopenharmony_cipub const IP_IPSEC_POLICY: ::c_int = 16;
8152add0d91Sopenharmony_cipub const IP_XFRM_POLICY: ::c_int = 17;
8162add0d91Sopenharmony_cipub const IP_PASSSEC: ::c_int = 18;
8172add0d91Sopenharmony_cipub const IP_TRANSPARENT: ::c_int = 19;
8182add0d91Sopenharmony_cipub const IP_ORIGDSTADDR: ::c_int = 20;
8192add0d91Sopenharmony_cipub const IP_RECVORIGDSTADDR: ::c_int = IP_ORIGDSTADDR;
8202add0d91Sopenharmony_cipub const IP_MINTTL: ::c_int = 21;
8212add0d91Sopenharmony_cipub const IP_NODEFRAG: ::c_int = 22;
8222add0d91Sopenharmony_cipub const IP_CHECKSUM: ::c_int = 23;
8232add0d91Sopenharmony_cipub const IP_BIND_ADDRESS_NO_PORT: ::c_int = 24;
8242add0d91Sopenharmony_cipub const IP_MULTICAST_IF: ::c_int = 32;
8252add0d91Sopenharmony_cipub const IP_MULTICAST_TTL: ::c_int = 33;
8262add0d91Sopenharmony_cipub const IP_MULTICAST_LOOP: ::c_int = 34;
8272add0d91Sopenharmony_cipub const IP_ADD_MEMBERSHIP: ::c_int = 35;
8282add0d91Sopenharmony_cipub const IP_DROP_MEMBERSHIP: ::c_int = 36;
8292add0d91Sopenharmony_cipub const IP_UNBLOCK_SOURCE: ::c_int = 37;
8302add0d91Sopenharmony_cipub const IP_BLOCK_SOURCE: ::c_int = 38;
8312add0d91Sopenharmony_cipub const IP_ADD_SOURCE_MEMBERSHIP: ::c_int = 39;
8322add0d91Sopenharmony_cipub const IP_DROP_SOURCE_MEMBERSHIP: ::c_int = 40;
8332add0d91Sopenharmony_cipub const IP_MSFILTER: ::c_int = 41;
8342add0d91Sopenharmony_cipub const IP_MULTICAST_ALL: ::c_int = 49;
8352add0d91Sopenharmony_cipub const IP_UNICAST_IF: ::c_int = 50;
8362add0d91Sopenharmony_ci
8372add0d91Sopenharmony_cipub const IP_DEFAULT_MULTICAST_TTL: ::c_int = 1;
8382add0d91Sopenharmony_cipub const IP_DEFAULT_MULTICAST_LOOP: ::c_int = 1;
8392add0d91Sopenharmony_ci
8402add0d91Sopenharmony_cipub const IP_PMTUDISC_DONT: ::c_int = 0;
8412add0d91Sopenharmony_cipub const IP_PMTUDISC_WANT: ::c_int = 1;
8422add0d91Sopenharmony_cipub const IP_PMTUDISC_DO: ::c_int = 2;
8432add0d91Sopenharmony_cipub const IP_PMTUDISC_PROBE: ::c_int = 3;
8442add0d91Sopenharmony_cipub const IP_PMTUDISC_INTERFACE: ::c_int = 4;
8452add0d91Sopenharmony_cipub const IP_PMTUDISC_OMIT: ::c_int = 5;
8462add0d91Sopenharmony_ci
8472add0d91Sopenharmony_ci// IPPROTO_IP defined in src/unix/mod.rs
8482add0d91Sopenharmony_ci/// Hop-by-hop option header
8492add0d91Sopenharmony_cipub const IPPROTO_HOPOPTS: ::c_int = 0;
8502add0d91Sopenharmony_ci// IPPROTO_ICMP defined in src/unix/mod.rs
8512add0d91Sopenharmony_ci/// group mgmt protocol
8522add0d91Sopenharmony_cipub const IPPROTO_IGMP: ::c_int = 2;
8532add0d91Sopenharmony_ci/// for compatibility
8542add0d91Sopenharmony_cipub const IPPROTO_IPIP: ::c_int = 4;
8552add0d91Sopenharmony_ci// IPPROTO_TCP defined in src/unix/mod.rs
8562add0d91Sopenharmony_ci/// exterior gateway protocol
8572add0d91Sopenharmony_cipub const IPPROTO_EGP: ::c_int = 8;
8582add0d91Sopenharmony_ci/// pup
8592add0d91Sopenharmony_cipub const IPPROTO_PUP: ::c_int = 12;
8602add0d91Sopenharmony_ci// IPPROTO_UDP defined in src/unix/mod.rs
8612add0d91Sopenharmony_ci/// xns idp
8622add0d91Sopenharmony_cipub const IPPROTO_IDP: ::c_int = 22;
8632add0d91Sopenharmony_ci/// tp-4 w/ class negotiation
8642add0d91Sopenharmony_cipub const IPPROTO_TP: ::c_int = 29;
8652add0d91Sopenharmony_ci/// DCCP
8662add0d91Sopenharmony_cipub const IPPROTO_DCCP: ::c_int = 33;
8672add0d91Sopenharmony_ci// IPPROTO_IPV6 defined in src/unix/mod.rs
8682add0d91Sopenharmony_ci/// IP6 routing header
8692add0d91Sopenharmony_cipub const IPPROTO_ROUTING: ::c_int = 43;
8702add0d91Sopenharmony_ci/// IP6 fragmentation header
8712add0d91Sopenharmony_cipub const IPPROTO_FRAGMENT: ::c_int = 44;
8722add0d91Sopenharmony_ci/// resource reservation
8732add0d91Sopenharmony_cipub const IPPROTO_RSVP: ::c_int = 46;
8742add0d91Sopenharmony_ci/// General Routing Encap.
8752add0d91Sopenharmony_cipub const IPPROTO_GRE: ::c_int = 47;
8762add0d91Sopenharmony_ci/// IP6 Encap Sec. Payload
8772add0d91Sopenharmony_cipub const IPPROTO_ESP: ::c_int = 50;
8782add0d91Sopenharmony_ci/// IP6 Auth Header
8792add0d91Sopenharmony_cipub const IPPROTO_AH: ::c_int = 51;
8802add0d91Sopenharmony_ci// IPPROTO_ICMPV6 defined in src/unix/mod.rs
8812add0d91Sopenharmony_ci/// IP6 no next header
8822add0d91Sopenharmony_cipub const IPPROTO_NONE: ::c_int = 59;
8832add0d91Sopenharmony_ci/// IP6 destination option
8842add0d91Sopenharmony_cipub const IPPROTO_DSTOPTS: ::c_int = 60;
8852add0d91Sopenharmony_cipub const IPPROTO_MTP: ::c_int = 92;
8862add0d91Sopenharmony_ci/// encapsulation header
8872add0d91Sopenharmony_cipub const IPPROTO_ENCAP: ::c_int = 98;
8882add0d91Sopenharmony_ci/// Protocol indep. multicast
8892add0d91Sopenharmony_cipub const IPPROTO_PIM: ::c_int = 103;
8902add0d91Sopenharmony_ci/// IP Payload Comp. Protocol
8912add0d91Sopenharmony_cipub const IPPROTO_COMP: ::c_int = 108;
8922add0d91Sopenharmony_ci/// SCTP
8932add0d91Sopenharmony_cipub const IPPROTO_SCTP: ::c_int = 132;
8942add0d91Sopenharmony_cipub const IPPROTO_MH: ::c_int = 135;
8952add0d91Sopenharmony_cipub const IPPROTO_UDPLITE: ::c_int = 136;
8962add0d91Sopenharmony_ci/// raw IP packet
8972add0d91Sopenharmony_cipub const IPPROTO_RAW: ::c_int = 255;
8982add0d91Sopenharmony_cipub const IPPROTO_BEETPH: ::c_int = 94;
8992add0d91Sopenharmony_cipub const IPPROTO_MPLS: ::c_int = 137;
9002add0d91Sopenharmony_ci
9012add0d91Sopenharmony_cipub const MCAST_EXCLUDE: ::c_int = 0;
9022add0d91Sopenharmony_cipub const MCAST_INCLUDE: ::c_int = 1;
9032add0d91Sopenharmony_cipub const MCAST_JOIN_GROUP: ::c_int = 42;
9042add0d91Sopenharmony_cipub const MCAST_BLOCK_SOURCE: ::c_int = 43;
9052add0d91Sopenharmony_cipub const MCAST_UNBLOCK_SOURCE: ::c_int = 44;
9062add0d91Sopenharmony_cipub const MCAST_LEAVE_GROUP: ::c_int = 45;
9072add0d91Sopenharmony_cipub const MCAST_JOIN_SOURCE_GROUP: ::c_int = 46;
9082add0d91Sopenharmony_cipub const MCAST_LEAVE_SOURCE_GROUP: ::c_int = 47;
9092add0d91Sopenharmony_cipub const MCAST_MSFILTER: ::c_int = 48;
9102add0d91Sopenharmony_ci
9112add0d91Sopenharmony_cipub const IPV6_ADDRFORM: ::c_int = 1;
9122add0d91Sopenharmony_cipub const IPV6_2292PKTINFO: ::c_int = 2;
9132add0d91Sopenharmony_cipub const IPV6_2292HOPOPTS: ::c_int = 3;
9142add0d91Sopenharmony_cipub const IPV6_2292DSTOPTS: ::c_int = 4;
9152add0d91Sopenharmony_cipub const IPV6_2292RTHDR: ::c_int = 5;
9162add0d91Sopenharmony_cipub const IPV6_2292PKTOPTIONS: ::c_int = 6;
9172add0d91Sopenharmony_cipub const IPV6_CHECKSUM: ::c_int = 7;
9182add0d91Sopenharmony_cipub const IPV6_2292HOPLIMIT: ::c_int = 8;
9192add0d91Sopenharmony_cipub const IPV6_NEXTHOP: ::c_int = 9;
9202add0d91Sopenharmony_cipub const IPV6_AUTHHDR: ::c_int = 10;
9212add0d91Sopenharmony_cipub const IPV6_UNICAST_HOPS: ::c_int = 16;
9222add0d91Sopenharmony_cipub const IPV6_MULTICAST_IF: ::c_int = 17;
9232add0d91Sopenharmony_cipub const IPV6_MULTICAST_HOPS: ::c_int = 18;
9242add0d91Sopenharmony_cipub const IPV6_MULTICAST_LOOP: ::c_int = 19;
9252add0d91Sopenharmony_cipub const IPV6_ADD_MEMBERSHIP: ::c_int = 20;
9262add0d91Sopenharmony_cipub const IPV6_DROP_MEMBERSHIP: ::c_int = 21;
9272add0d91Sopenharmony_cipub const IPV6_ROUTER_ALERT: ::c_int = 22;
9282add0d91Sopenharmony_cipub const IPV6_MTU_DISCOVER: ::c_int = 23;
9292add0d91Sopenharmony_cipub const IPV6_MTU: ::c_int = 24;
9302add0d91Sopenharmony_cipub const IPV6_RECVERR: ::c_int = 25;
9312add0d91Sopenharmony_cipub const IPV6_V6ONLY: ::c_int = 26;
9322add0d91Sopenharmony_cipub const IPV6_JOIN_ANYCAST: ::c_int = 27;
9332add0d91Sopenharmony_cipub const IPV6_LEAVE_ANYCAST: ::c_int = 28;
9342add0d91Sopenharmony_cipub const IPV6_IPSEC_POLICY: ::c_int = 34;
9352add0d91Sopenharmony_cipub const IPV6_XFRM_POLICY: ::c_int = 35;
9362add0d91Sopenharmony_cipub const IPV6_HDRINCL: ::c_int = 36;
9372add0d91Sopenharmony_cipub const IPV6_RECVPKTINFO: ::c_int = 49;
9382add0d91Sopenharmony_cipub const IPV6_PKTINFO: ::c_int = 50;
9392add0d91Sopenharmony_cipub const IPV6_RECVHOPLIMIT: ::c_int = 51;
9402add0d91Sopenharmony_cipub const IPV6_HOPLIMIT: ::c_int = 52;
9412add0d91Sopenharmony_cipub const IPV6_RECVHOPOPTS: ::c_int = 53;
9422add0d91Sopenharmony_cipub const IPV6_HOPOPTS: ::c_int = 54;
9432add0d91Sopenharmony_cipub const IPV6_RTHDRDSTOPTS: ::c_int = 55;
9442add0d91Sopenharmony_cipub const IPV6_RECVRTHDR: ::c_int = 56;
9452add0d91Sopenharmony_cipub const IPV6_RTHDR: ::c_int = 57;
9462add0d91Sopenharmony_cipub const IPV6_RECVDSTOPTS: ::c_int = 58;
9472add0d91Sopenharmony_cipub const IPV6_DSTOPTS: ::c_int = 59;
9482add0d91Sopenharmony_cipub const IPV6_RECVPATHMTU: ::c_int = 60;
9492add0d91Sopenharmony_cipub const IPV6_PATHMTU: ::c_int = 61;
9502add0d91Sopenharmony_cipub const IPV6_DONTFRAG: ::c_int = 62;
9512add0d91Sopenharmony_cipub const IPV6_RECVTCLASS: ::c_int = 66;
9522add0d91Sopenharmony_cipub const IPV6_TCLASS: ::c_int = 67;
9532add0d91Sopenharmony_cipub const IPV6_AUTOFLOWLABEL: ::c_int = 70;
9542add0d91Sopenharmony_cipub const IPV6_ADDR_PREFERENCES: ::c_int = 72;
9552add0d91Sopenharmony_cipub const IPV6_MINHOPCOUNT: ::c_int = 73;
9562add0d91Sopenharmony_cipub const IPV6_ORIGDSTADDR: ::c_int = 74;
9572add0d91Sopenharmony_cipub const IPV6_RECVORIGDSTADDR: ::c_int = IPV6_ORIGDSTADDR;
9582add0d91Sopenharmony_cipub const IPV6_TRANSPARENT: ::c_int = 75;
9592add0d91Sopenharmony_cipub const IPV6_UNICAST_IF: ::c_int = 76;
9602add0d91Sopenharmony_cipub const IPV6_PREFER_SRC_TMP: ::c_int = 0x0001;
9612add0d91Sopenharmony_cipub const IPV6_PREFER_SRC_PUBLIC: ::c_int = 0x0002;
9622add0d91Sopenharmony_cipub const IPV6_PREFER_SRC_PUBTMP_DEFAULT: ::c_int = 0x0100;
9632add0d91Sopenharmony_cipub const IPV6_PREFER_SRC_COA: ::c_int = 0x0004;
9642add0d91Sopenharmony_cipub const IPV6_PREFER_SRC_HOME: ::c_int = 0x0400;
9652add0d91Sopenharmony_cipub const IPV6_PREFER_SRC_CGA: ::c_int = 0x0008;
9662add0d91Sopenharmony_cipub const IPV6_PREFER_SRC_NONCGA: ::c_int = 0x0800;
9672add0d91Sopenharmony_ci
9682add0d91Sopenharmony_cipub const IPV6_PMTUDISC_DONT: ::c_int = 0;
9692add0d91Sopenharmony_cipub const IPV6_PMTUDISC_WANT: ::c_int = 1;
9702add0d91Sopenharmony_cipub const IPV6_PMTUDISC_DO: ::c_int = 2;
9712add0d91Sopenharmony_cipub const IPV6_PMTUDISC_PROBE: ::c_int = 3;
9722add0d91Sopenharmony_cipub const IPV6_PMTUDISC_INTERFACE: ::c_int = 4;
9732add0d91Sopenharmony_cipub const IPV6_PMTUDISC_OMIT: ::c_int = 5;
9742add0d91Sopenharmony_ci
9752add0d91Sopenharmony_cipub const TCP_NODELAY: ::c_int = 1;
9762add0d91Sopenharmony_cipub const TCP_MAXSEG: ::c_int = 2;
9772add0d91Sopenharmony_cipub const TCP_CORK: ::c_int = 3;
9782add0d91Sopenharmony_cipub const TCP_KEEPIDLE: ::c_int = 4;
9792add0d91Sopenharmony_cipub const TCP_KEEPINTVL: ::c_int = 5;
9802add0d91Sopenharmony_cipub const TCP_KEEPCNT: ::c_int = 6;
9812add0d91Sopenharmony_cipub const TCP_SYNCNT: ::c_int = 7;
9822add0d91Sopenharmony_cipub const TCP_LINGER2: ::c_int = 8;
9832add0d91Sopenharmony_cipub const TCP_DEFER_ACCEPT: ::c_int = 9;
9842add0d91Sopenharmony_cipub const TCP_WINDOW_CLAMP: ::c_int = 10;
9852add0d91Sopenharmony_cipub const TCP_INFO: ::c_int = 11;
9862add0d91Sopenharmony_cipub const TCP_QUICKACK: ::c_int = 12;
9872add0d91Sopenharmony_cipub const TCP_CONGESTION: ::c_int = 13;
9882add0d91Sopenharmony_cipub const TCP_MD5SIG: ::c_int = 14;
9892add0d91Sopenharmony_cicfg_if! {
9902add0d91Sopenharmony_ci    if #[cfg(all(target_os = "linux", any(
9912add0d91Sopenharmony_ci            target_env = "gnu",
9922add0d91Sopenharmony_ci            target_env = "musl",
9932add0d91Sopenharmony_ci            target_env = "ohos"
9942add0d91Sopenharmony_ci        )))] {
9952add0d91Sopenharmony_ci        // WARN: deprecated
9962add0d91Sopenharmony_ci        pub const TCP_COOKIE_TRANSACTIONS: ::c_int = 15;
9972add0d91Sopenharmony_ci    }
9982add0d91Sopenharmony_ci}
9992add0d91Sopenharmony_cipub const TCP_THIN_LINEAR_TIMEOUTS: ::c_int = 16;
10002add0d91Sopenharmony_cipub const TCP_THIN_DUPACK: ::c_int = 17;
10012add0d91Sopenharmony_cipub const TCP_USER_TIMEOUT: ::c_int = 18;
10022add0d91Sopenharmony_cipub const TCP_REPAIR: ::c_int = 19;
10032add0d91Sopenharmony_cipub const TCP_REPAIR_QUEUE: ::c_int = 20;
10042add0d91Sopenharmony_cipub const TCP_QUEUE_SEQ: ::c_int = 21;
10052add0d91Sopenharmony_cipub const TCP_REPAIR_OPTIONS: ::c_int = 22;
10062add0d91Sopenharmony_cipub const TCP_FASTOPEN: ::c_int = 23;
10072add0d91Sopenharmony_cipub const TCP_TIMESTAMP: ::c_int = 24;
10082add0d91Sopenharmony_cipub const TCP_NOTSENT_LOWAT: ::c_int = 25;
10092add0d91Sopenharmony_cipub const TCP_CC_INFO: ::c_int = 26;
10102add0d91Sopenharmony_cipub const TCP_SAVE_SYN: ::c_int = 27;
10112add0d91Sopenharmony_cipub const TCP_SAVED_SYN: ::c_int = 28;
10122add0d91Sopenharmony_cicfg_if! {
10132add0d91Sopenharmony_ci    if #[cfg(not(target_os = "emscripten"))] {
10142add0d91Sopenharmony_ci        // NOTE: emscripten doesn't support these options yet.
10152add0d91Sopenharmony_ci
10162add0d91Sopenharmony_ci        pub const TCP_REPAIR_WINDOW: ::c_int = 29;
10172add0d91Sopenharmony_ci        pub const TCP_FASTOPEN_CONNECT: ::c_int = 30;
10182add0d91Sopenharmony_ci        pub const TCP_ULP: ::c_int = 31;
10192add0d91Sopenharmony_ci        pub const TCP_MD5SIG_EXT: ::c_int = 32;
10202add0d91Sopenharmony_ci        pub const TCP_FASTOPEN_KEY: ::c_int = 33;
10212add0d91Sopenharmony_ci        pub const TCP_FASTOPEN_NO_COOKIE: ::c_int = 34;
10222add0d91Sopenharmony_ci        pub const TCP_ZEROCOPY_RECEIVE: ::c_int = 35;
10232add0d91Sopenharmony_ci        pub const TCP_INQ: ::c_int = 36;
10242add0d91Sopenharmony_ci        pub const TCP_CM_INQ: ::c_int = TCP_INQ;
10252add0d91Sopenharmony_ci        // NOTE: Some CI images doesn't have this option yet.
10262add0d91Sopenharmony_ci        // pub const TCP_TX_DELAY: ::c_int = 37;
10272add0d91Sopenharmony_ci    }
10282add0d91Sopenharmony_ci}
10292add0d91Sopenharmony_ci
10302add0d91Sopenharmony_cipub const SO_DEBUG: ::c_int = 1;
10312add0d91Sopenharmony_ci
10322add0d91Sopenharmony_cipub const SHUT_RD: ::c_int = 0;
10332add0d91Sopenharmony_cipub const SHUT_WR: ::c_int = 1;
10342add0d91Sopenharmony_cipub const SHUT_RDWR: ::c_int = 2;
10352add0d91Sopenharmony_ci
10362add0d91Sopenharmony_cipub const LOCK_SH: ::c_int = 1;
10372add0d91Sopenharmony_cipub const LOCK_EX: ::c_int = 2;
10382add0d91Sopenharmony_cipub const LOCK_NB: ::c_int = 4;
10392add0d91Sopenharmony_cipub const LOCK_UN: ::c_int = 8;
10402add0d91Sopenharmony_ci
10412add0d91Sopenharmony_cipub const SS_ONSTACK: ::c_int = 1;
10422add0d91Sopenharmony_cipub const SS_DISABLE: ::c_int = 2;
10432add0d91Sopenharmony_ci
10442add0d91Sopenharmony_cipub const PATH_MAX: ::c_int = 4096;
10452add0d91Sopenharmony_ci
10462add0d91Sopenharmony_cipub const UIO_MAXIOV: ::c_int = 1024;
10472add0d91Sopenharmony_ci
10482add0d91Sopenharmony_cipub const FD_SETSIZE: usize = 1024;
10492add0d91Sopenharmony_ci
10502add0d91Sopenharmony_cipub const EPOLLIN: ::c_int = 0x1;
10512add0d91Sopenharmony_cipub const EPOLLPRI: ::c_int = 0x2;
10522add0d91Sopenharmony_cipub const EPOLLOUT: ::c_int = 0x4;
10532add0d91Sopenharmony_cipub const EPOLLERR: ::c_int = 0x8;
10542add0d91Sopenharmony_cipub const EPOLLHUP: ::c_int = 0x10;
10552add0d91Sopenharmony_cipub const EPOLLRDNORM: ::c_int = 0x40;
10562add0d91Sopenharmony_cipub const EPOLLRDBAND: ::c_int = 0x80;
10572add0d91Sopenharmony_cipub const EPOLLWRNORM: ::c_int = 0x100;
10582add0d91Sopenharmony_cipub const EPOLLWRBAND: ::c_int = 0x200;
10592add0d91Sopenharmony_cipub const EPOLLMSG: ::c_int = 0x400;
10602add0d91Sopenharmony_cipub const EPOLLRDHUP: ::c_int = 0x2000;
10612add0d91Sopenharmony_cipub const EPOLLEXCLUSIVE: ::c_int = 0x10000000;
10622add0d91Sopenharmony_cipub const EPOLLWAKEUP: ::c_int = 0x20000000;
10632add0d91Sopenharmony_cipub const EPOLLONESHOT: ::c_int = 0x40000000;
10642add0d91Sopenharmony_cipub const EPOLLET: ::c_int = 0x80000000;
10652add0d91Sopenharmony_ci
10662add0d91Sopenharmony_cipub const EPOLL_CTL_ADD: ::c_int = 1;
10672add0d91Sopenharmony_cipub const EPOLL_CTL_MOD: ::c_int = 3;
10682add0d91Sopenharmony_cipub const EPOLL_CTL_DEL: ::c_int = 2;
10692add0d91Sopenharmony_ci
10702add0d91Sopenharmony_cipub const MNT_FORCE: ::c_int = 0x1;
10712add0d91Sopenharmony_cipub const MNT_DETACH: ::c_int = 0x2;
10722add0d91Sopenharmony_cipub const MNT_EXPIRE: ::c_int = 0x4;
10732add0d91Sopenharmony_cipub const UMOUNT_NOFOLLOW: ::c_int = 0x8;
10742add0d91Sopenharmony_ci
10752add0d91Sopenharmony_cipub const Q_GETFMT: ::c_int = 0x800004;
10762add0d91Sopenharmony_cipub const Q_GETINFO: ::c_int = 0x800005;
10772add0d91Sopenharmony_cipub const Q_SETINFO: ::c_int = 0x800006;
10782add0d91Sopenharmony_cipub const QIF_BLIMITS: u32 = 1;
10792add0d91Sopenharmony_cipub const QIF_SPACE: u32 = 2;
10802add0d91Sopenharmony_cipub const QIF_ILIMITS: u32 = 4;
10812add0d91Sopenharmony_cipub const QIF_INODES: u32 = 8;
10822add0d91Sopenharmony_cipub const QIF_BTIME: u32 = 16;
10832add0d91Sopenharmony_cipub const QIF_ITIME: u32 = 32;
10842add0d91Sopenharmony_cipub const QIF_LIMITS: u32 = 5;
10852add0d91Sopenharmony_cipub const QIF_USAGE: u32 = 10;
10862add0d91Sopenharmony_cipub const QIF_TIMES: u32 = 48;
10872add0d91Sopenharmony_cipub const QIF_ALL: u32 = 63;
10882add0d91Sopenharmony_ci
10892add0d91Sopenharmony_cipub const Q_SYNC: ::c_int = 0x800001;
10902add0d91Sopenharmony_cipub const Q_QUOTAON: ::c_int = 0x800002;
10912add0d91Sopenharmony_cipub const Q_QUOTAOFF: ::c_int = 0x800003;
10922add0d91Sopenharmony_cipub const Q_GETQUOTA: ::c_int = 0x800007;
10932add0d91Sopenharmony_cipub const Q_SETQUOTA: ::c_int = 0x800008;
10942add0d91Sopenharmony_ci
10952add0d91Sopenharmony_cipub const TCIOFF: ::c_int = 2;
10962add0d91Sopenharmony_cipub const TCION: ::c_int = 3;
10972add0d91Sopenharmony_cipub const TCOOFF: ::c_int = 0;
10982add0d91Sopenharmony_cipub const TCOON: ::c_int = 1;
10992add0d91Sopenharmony_cipub const TCIFLUSH: ::c_int = 0;
11002add0d91Sopenharmony_cipub const TCOFLUSH: ::c_int = 1;
11012add0d91Sopenharmony_cipub const TCIOFLUSH: ::c_int = 2;
11022add0d91Sopenharmony_cipub const NL0: ::tcflag_t = 0x00000000;
11032add0d91Sopenharmony_cipub const NL1: ::tcflag_t = 0x00000100;
11042add0d91Sopenharmony_cipub const TAB0: ::tcflag_t = 0x00000000;
11052add0d91Sopenharmony_cipub const CR0: ::tcflag_t = 0x00000000;
11062add0d91Sopenharmony_cipub const FF0: ::tcflag_t = 0x00000000;
11072add0d91Sopenharmony_cipub const BS0: ::tcflag_t = 0x00000000;
11082add0d91Sopenharmony_cipub const VT0: ::tcflag_t = 0x00000000;
11092add0d91Sopenharmony_cipub const VERASE: usize = 2;
11102add0d91Sopenharmony_cipub const VKILL: usize = 3;
11112add0d91Sopenharmony_cipub const VINTR: usize = 0;
11122add0d91Sopenharmony_cipub const VQUIT: usize = 1;
11132add0d91Sopenharmony_cipub const VLNEXT: usize = 15;
11142add0d91Sopenharmony_cipub const IGNBRK: ::tcflag_t = 0x00000001;
11152add0d91Sopenharmony_cipub const BRKINT: ::tcflag_t = 0x00000002;
11162add0d91Sopenharmony_cipub const IGNPAR: ::tcflag_t = 0x00000004;
11172add0d91Sopenharmony_cipub const PARMRK: ::tcflag_t = 0x00000008;
11182add0d91Sopenharmony_cipub const INPCK: ::tcflag_t = 0x00000010;
11192add0d91Sopenharmony_cipub const ISTRIP: ::tcflag_t = 0x00000020;
11202add0d91Sopenharmony_cipub const INLCR: ::tcflag_t = 0x00000040;
11212add0d91Sopenharmony_cipub const IGNCR: ::tcflag_t = 0x00000080;
11222add0d91Sopenharmony_cipub const ICRNL: ::tcflag_t = 0x00000100;
11232add0d91Sopenharmony_cipub const IXANY: ::tcflag_t = 0x00000800;
11242add0d91Sopenharmony_cipub const IMAXBEL: ::tcflag_t = 0x00002000;
11252add0d91Sopenharmony_cipub const OPOST: ::tcflag_t = 0x1;
11262add0d91Sopenharmony_cipub const CS5: ::tcflag_t = 0x00000000;
11272add0d91Sopenharmony_cipub const CRTSCTS: ::tcflag_t = 0x80000000;
11282add0d91Sopenharmony_cipub const ECHO: ::tcflag_t = 0x00000008;
11292add0d91Sopenharmony_cipub const OCRNL: ::tcflag_t = 0o000010;
11302add0d91Sopenharmony_cipub const ONOCR: ::tcflag_t = 0o000020;
11312add0d91Sopenharmony_cipub const ONLRET: ::tcflag_t = 0o000040;
11322add0d91Sopenharmony_cipub const OFILL: ::tcflag_t = 0o000100;
11332add0d91Sopenharmony_cipub const OFDEL: ::tcflag_t = 0o000200;
11342add0d91Sopenharmony_ci
11352add0d91Sopenharmony_cipub const CLONE_VM: ::c_int = 0x100;
11362add0d91Sopenharmony_cipub const CLONE_FS: ::c_int = 0x200;
11372add0d91Sopenharmony_cipub const CLONE_FILES: ::c_int = 0x400;
11382add0d91Sopenharmony_cipub const CLONE_SIGHAND: ::c_int = 0x800;
11392add0d91Sopenharmony_cipub const CLONE_PTRACE: ::c_int = 0x2000;
11402add0d91Sopenharmony_cipub const CLONE_VFORK: ::c_int = 0x4000;
11412add0d91Sopenharmony_cipub const CLONE_PARENT: ::c_int = 0x8000;
11422add0d91Sopenharmony_cipub const CLONE_THREAD: ::c_int = 0x10000;
11432add0d91Sopenharmony_cipub const CLONE_NEWNS: ::c_int = 0x20000;
11442add0d91Sopenharmony_cipub const CLONE_SYSVSEM: ::c_int = 0x40000;
11452add0d91Sopenharmony_cipub const CLONE_SETTLS: ::c_int = 0x80000;
11462add0d91Sopenharmony_cipub const CLONE_PARENT_SETTID: ::c_int = 0x100000;
11472add0d91Sopenharmony_cipub const CLONE_CHILD_CLEARTID: ::c_int = 0x200000;
11482add0d91Sopenharmony_cipub const CLONE_DETACHED: ::c_int = 0x400000;
11492add0d91Sopenharmony_cipub const CLONE_UNTRACED: ::c_int = 0x800000;
11502add0d91Sopenharmony_cipub const CLONE_CHILD_SETTID: ::c_int = 0x01000000;
11512add0d91Sopenharmony_cipub const CLONE_NEWCGROUP: ::c_int = 0x02000000;
11522add0d91Sopenharmony_cipub const CLONE_NEWUTS: ::c_int = 0x04000000;
11532add0d91Sopenharmony_cipub const CLONE_NEWIPC: ::c_int = 0x08000000;
11542add0d91Sopenharmony_cipub const CLONE_NEWUSER: ::c_int = 0x10000000;
11552add0d91Sopenharmony_cipub const CLONE_NEWPID: ::c_int = 0x20000000;
11562add0d91Sopenharmony_cipub const CLONE_NEWNET: ::c_int = 0x40000000;
11572add0d91Sopenharmony_cipub const CLONE_IO: ::c_int = 0x80000000;
11582add0d91Sopenharmony_ci
11592add0d91Sopenharmony_cipub const WNOHANG: ::c_int = 0x00000001;
11602add0d91Sopenharmony_cipub const WUNTRACED: ::c_int = 0x00000002;
11612add0d91Sopenharmony_cipub const WSTOPPED: ::c_int = WUNTRACED;
11622add0d91Sopenharmony_cipub const WEXITED: ::c_int = 0x00000004;
11632add0d91Sopenharmony_cipub const WCONTINUED: ::c_int = 0x00000008;
11642add0d91Sopenharmony_cipub const WNOWAIT: ::c_int = 0x01000000;
11652add0d91Sopenharmony_ci
11662add0d91Sopenharmony_ci// Options for personality(2).
11672add0d91Sopenharmony_cipub const ADDR_NO_RANDOMIZE: ::c_int = 0x0040000;
11682add0d91Sopenharmony_cipub const MMAP_PAGE_ZERO: ::c_int = 0x0100000;
11692add0d91Sopenharmony_cipub const ADDR_COMPAT_LAYOUT: ::c_int = 0x0200000;
11702add0d91Sopenharmony_cipub const READ_IMPLIES_EXEC: ::c_int = 0x0400000;
11712add0d91Sopenharmony_cipub const ADDR_LIMIT_32BIT: ::c_int = 0x0800000;
11722add0d91Sopenharmony_cipub const SHORT_INODE: ::c_int = 0x1000000;
11732add0d91Sopenharmony_cipub const WHOLE_SECONDS: ::c_int = 0x2000000;
11742add0d91Sopenharmony_cipub const STICKY_TIMEOUTS: ::c_int = 0x4000000;
11752add0d91Sopenharmony_cipub const ADDR_LIMIT_3GB: ::c_int = 0x8000000;
11762add0d91Sopenharmony_ci
11772add0d91Sopenharmony_ci// Options set using PTRACE_SETOPTIONS.
11782add0d91Sopenharmony_cipub const PTRACE_O_TRACESYSGOOD: ::c_int = 0x00000001;
11792add0d91Sopenharmony_cipub const PTRACE_O_TRACEFORK: ::c_int = 0x00000002;
11802add0d91Sopenharmony_cipub const PTRACE_O_TRACEVFORK: ::c_int = 0x00000004;
11812add0d91Sopenharmony_cipub const PTRACE_O_TRACECLONE: ::c_int = 0x00000008;
11822add0d91Sopenharmony_cipub const PTRACE_O_TRACEEXEC: ::c_int = 0x00000010;
11832add0d91Sopenharmony_cipub const PTRACE_O_TRACEVFORKDONE: ::c_int = 0x00000020;
11842add0d91Sopenharmony_cipub const PTRACE_O_TRACEEXIT: ::c_int = 0x00000040;
11852add0d91Sopenharmony_cipub const PTRACE_O_TRACESECCOMP: ::c_int = 0x00000080;
11862add0d91Sopenharmony_cipub const PTRACE_O_SUSPEND_SECCOMP: ::c_int = 0x00200000;
11872add0d91Sopenharmony_cipub const PTRACE_O_EXITKILL: ::c_int = 0x00100000;
11882add0d91Sopenharmony_cipub const PTRACE_O_MASK: ::c_int = 0x003000ff;
11892add0d91Sopenharmony_ci
11902add0d91Sopenharmony_ci// Wait extended result codes for the above trace options.
11912add0d91Sopenharmony_cipub const PTRACE_EVENT_FORK: ::c_int = 1;
11922add0d91Sopenharmony_cipub const PTRACE_EVENT_VFORK: ::c_int = 2;
11932add0d91Sopenharmony_cipub const PTRACE_EVENT_CLONE: ::c_int = 3;
11942add0d91Sopenharmony_cipub const PTRACE_EVENT_EXEC: ::c_int = 4;
11952add0d91Sopenharmony_cipub const PTRACE_EVENT_VFORK_DONE: ::c_int = 5;
11962add0d91Sopenharmony_cipub const PTRACE_EVENT_EXIT: ::c_int = 6;
11972add0d91Sopenharmony_cipub const PTRACE_EVENT_SECCOMP: ::c_int = 7;
11982add0d91Sopenharmony_ci
11992add0d91Sopenharmony_cipub const __WNOTHREAD: ::c_int = 0x20000000;
12002add0d91Sopenharmony_cipub const __WALL: ::c_int = 0x40000000;
12012add0d91Sopenharmony_cipub const __WCLONE: ::c_int = 0x80000000;
12022add0d91Sopenharmony_ci
12032add0d91Sopenharmony_cipub const SPLICE_F_MOVE: ::c_uint = 0x01;
12042add0d91Sopenharmony_cipub const SPLICE_F_NONBLOCK: ::c_uint = 0x02;
12052add0d91Sopenharmony_cipub const SPLICE_F_MORE: ::c_uint = 0x04;
12062add0d91Sopenharmony_cipub const SPLICE_F_GIFT: ::c_uint = 0x08;
12072add0d91Sopenharmony_ci
12082add0d91Sopenharmony_cipub const RTLD_LOCAL: ::c_int = 0;
12092add0d91Sopenharmony_cipub const RTLD_LAZY: ::c_int = 1;
12102add0d91Sopenharmony_ci
12112add0d91Sopenharmony_cipub const POSIX_FADV_NORMAL: ::c_int = 0;
12122add0d91Sopenharmony_cipub const POSIX_FADV_RANDOM: ::c_int = 1;
12132add0d91Sopenharmony_cipub const POSIX_FADV_SEQUENTIAL: ::c_int = 2;
12142add0d91Sopenharmony_cipub const POSIX_FADV_WILLNEED: ::c_int = 3;
12152add0d91Sopenharmony_ci
12162add0d91Sopenharmony_cipub const AT_FDCWD: ::c_int = -100;
12172add0d91Sopenharmony_cipub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x100;
12182add0d91Sopenharmony_cipub const AT_REMOVEDIR: ::c_int = 0x200;
12192add0d91Sopenharmony_cipub const AT_SYMLINK_FOLLOW: ::c_int = 0x400;
12202add0d91Sopenharmony_cipub const AT_NO_AUTOMOUNT: ::c_int = 0x800;
12212add0d91Sopenharmony_cipub const AT_EMPTY_PATH: ::c_int = 0x1000;
12222add0d91Sopenharmony_ci
12232add0d91Sopenharmony_cipub const LOG_CRON: ::c_int = 9 << 3;
12242add0d91Sopenharmony_cipub const LOG_AUTHPRIV: ::c_int = 10 << 3;
12252add0d91Sopenharmony_cipub const LOG_FTP: ::c_int = 11 << 3;
12262add0d91Sopenharmony_cipub const LOG_PERROR: ::c_int = 0x20;
12272add0d91Sopenharmony_ci
12282add0d91Sopenharmony_cipub const PIPE_BUF: usize = 4096;
12292add0d91Sopenharmony_ci
12302add0d91Sopenharmony_cipub const SI_LOAD_SHIFT: ::c_uint = 16;
12312add0d91Sopenharmony_ci
12322add0d91Sopenharmony_ci// si_code values for SIGBUS signal
12332add0d91Sopenharmony_cipub const BUS_ADRALN: ::c_int = 1;
12342add0d91Sopenharmony_cipub const BUS_ADRERR: ::c_int = 2;
12352add0d91Sopenharmony_cipub const BUS_OBJERR: ::c_int = 3;
12362add0d91Sopenharmony_ci// Linux-specific si_code values for SIGBUS signal
12372add0d91Sopenharmony_cipub const BUS_MCEERR_AR: ::c_int = 4;
12382add0d91Sopenharmony_cipub const BUS_MCEERR_AO: ::c_int = 5;
12392add0d91Sopenharmony_ci
12402add0d91Sopenharmony_ci// si_code values for SIGCHLD signal
12412add0d91Sopenharmony_cipub const CLD_EXITED: ::c_int = 1;
12422add0d91Sopenharmony_cipub const CLD_KILLED: ::c_int = 2;
12432add0d91Sopenharmony_cipub const CLD_DUMPED: ::c_int = 3;
12442add0d91Sopenharmony_cipub const CLD_TRAPPED: ::c_int = 4;
12452add0d91Sopenharmony_cipub const CLD_STOPPED: ::c_int = 5;
12462add0d91Sopenharmony_cipub const CLD_CONTINUED: ::c_int = 6;
12472add0d91Sopenharmony_ci
12482add0d91Sopenharmony_cipub const SIGEV_SIGNAL: ::c_int = 0;
12492add0d91Sopenharmony_cipub const SIGEV_NONE: ::c_int = 1;
12502add0d91Sopenharmony_cipub const SIGEV_THREAD: ::c_int = 2;
12512add0d91Sopenharmony_ci
12522add0d91Sopenharmony_cipub const P_ALL: idtype_t = 0;
12532add0d91Sopenharmony_cipub const P_PID: idtype_t = 1;
12542add0d91Sopenharmony_cipub const P_PGID: idtype_t = 2;
12552add0d91Sopenharmony_cicfg_if! {
12562add0d91Sopenharmony_ci    if #[cfg(not(target_os = "emscripten"))] {
12572add0d91Sopenharmony_ci        pub const P_PIDFD: idtype_t = 3;
12582add0d91Sopenharmony_ci    }
12592add0d91Sopenharmony_ci}
12602add0d91Sopenharmony_ci
12612add0d91Sopenharmony_cipub const UTIME_OMIT: c_long = 1073741822;
12622add0d91Sopenharmony_cipub const UTIME_NOW: c_long = 1073741823;
12632add0d91Sopenharmony_ci
12642add0d91Sopenharmony_cipub const POLLIN: ::c_short = 0x1;
12652add0d91Sopenharmony_cipub const POLLPRI: ::c_short = 0x2;
12662add0d91Sopenharmony_cipub const POLLOUT: ::c_short = 0x4;
12672add0d91Sopenharmony_cipub const POLLERR: ::c_short = 0x8;
12682add0d91Sopenharmony_cipub const POLLHUP: ::c_short = 0x10;
12692add0d91Sopenharmony_cipub const POLLNVAL: ::c_short = 0x20;
12702add0d91Sopenharmony_cipub const POLLRDNORM: ::c_short = 0x040;
12712add0d91Sopenharmony_cipub const POLLRDBAND: ::c_short = 0x080;
12722add0d91Sopenharmony_ci#[cfg(not(any(target_arch = "sparc", target_arch = "sparc64")))]
12732add0d91Sopenharmony_cipub const POLLRDHUP: ::c_short = 0x2000;
12742add0d91Sopenharmony_ci#[cfg(any(target_arch = "sparc", target_arch = "sparc64"))]
12752add0d91Sopenharmony_cipub const POLLRDHUP: ::c_short = 0x800;
12762add0d91Sopenharmony_ci
12772add0d91Sopenharmony_cipub const IPTOS_LOWDELAY: u8 = 0x10;
12782add0d91Sopenharmony_cipub const IPTOS_THROUGHPUT: u8 = 0x08;
12792add0d91Sopenharmony_cipub const IPTOS_RELIABILITY: u8 = 0x04;
12802add0d91Sopenharmony_cipub const IPTOS_MINCOST: u8 = 0x02;
12812add0d91Sopenharmony_ci
12822add0d91Sopenharmony_cipub const IPTOS_PREC_NETCONTROL: u8 = 0xe0;
12832add0d91Sopenharmony_cipub const IPTOS_PREC_INTERNETCONTROL: u8 = 0xc0;
12842add0d91Sopenharmony_cipub const IPTOS_PREC_CRITIC_ECP: u8 = 0xa0;
12852add0d91Sopenharmony_cipub const IPTOS_PREC_FLASHOVERRIDE: u8 = 0x80;
12862add0d91Sopenharmony_cipub const IPTOS_PREC_FLASH: u8 = 0x60;
12872add0d91Sopenharmony_cipub const IPTOS_PREC_IMMEDIATE: u8 = 0x40;
12882add0d91Sopenharmony_cipub const IPTOS_PREC_PRIORITY: u8 = 0x20;
12892add0d91Sopenharmony_cipub const IPTOS_PREC_ROUTINE: u8 = 0x00;
12902add0d91Sopenharmony_ci
12912add0d91Sopenharmony_cipub const IPTOS_ECN_MASK: u8 = 0x03;
12922add0d91Sopenharmony_cipub const IPTOS_ECN_ECT1: u8 = 0x01;
12932add0d91Sopenharmony_cipub const IPTOS_ECN_ECT0: u8 = 0x02;
12942add0d91Sopenharmony_cipub const IPTOS_ECN_CE: u8 = 0x03;
12952add0d91Sopenharmony_ci
12962add0d91Sopenharmony_cipub const IPOPT_COPY: u8 = 0x80;
12972add0d91Sopenharmony_cipub const IPOPT_CLASS_MASK: u8 = 0x60;
12982add0d91Sopenharmony_cipub const IPOPT_NUMBER_MASK: u8 = 0x1f;
12992add0d91Sopenharmony_ci
13002add0d91Sopenharmony_cipub const IPOPT_CONTROL: u8 = 0x00;
13012add0d91Sopenharmony_cipub const IPOPT_RESERVED1: u8 = 0x20;
13022add0d91Sopenharmony_cipub const IPOPT_MEASUREMENT: u8 = 0x40;
13032add0d91Sopenharmony_cipub const IPOPT_RESERVED2: u8 = 0x60;
13042add0d91Sopenharmony_cipub const IPOPT_END: u8 = 0 | IPOPT_CONTROL;
13052add0d91Sopenharmony_cipub const IPOPT_NOOP: u8 = 1 | IPOPT_CONTROL;
13062add0d91Sopenharmony_cipub const IPOPT_SEC: u8 = 2 | IPOPT_CONTROL | IPOPT_COPY;
13072add0d91Sopenharmony_cipub const IPOPT_LSRR: u8 = 3 | IPOPT_CONTROL | IPOPT_COPY;
13082add0d91Sopenharmony_cipub const IPOPT_TIMESTAMP: u8 = 4 | IPOPT_MEASUREMENT;
13092add0d91Sopenharmony_cipub const IPOPT_RR: u8 = 7 | IPOPT_CONTROL;
13102add0d91Sopenharmony_cipub const IPOPT_SID: u8 = 8 | IPOPT_CONTROL | IPOPT_COPY;
13112add0d91Sopenharmony_cipub const IPOPT_SSRR: u8 = 9 | IPOPT_CONTROL | IPOPT_COPY;
13122add0d91Sopenharmony_cipub const IPOPT_RA: u8 = 20 | IPOPT_CONTROL | IPOPT_COPY;
13132add0d91Sopenharmony_cipub const IPVERSION: u8 = 4;
13142add0d91Sopenharmony_cipub const MAXTTL: u8 = 255;
13152add0d91Sopenharmony_cipub const IPDEFTTL: u8 = 64;
13162add0d91Sopenharmony_cipub const IPOPT_OPTVAL: u8 = 0;
13172add0d91Sopenharmony_cipub const IPOPT_OLEN: u8 = 1;
13182add0d91Sopenharmony_cipub const IPOPT_OFFSET: u8 = 2;
13192add0d91Sopenharmony_cipub const IPOPT_MINOFF: u8 = 4;
13202add0d91Sopenharmony_cipub const MAX_IPOPTLEN: u8 = 40;
13212add0d91Sopenharmony_cipub const IPOPT_NOP: u8 = IPOPT_NOOP;
13222add0d91Sopenharmony_cipub const IPOPT_EOL: u8 = IPOPT_END;
13232add0d91Sopenharmony_cipub const IPOPT_TS: u8 = IPOPT_TIMESTAMP;
13242add0d91Sopenharmony_cipub const IPOPT_TS_TSONLY: u8 = 0;
13252add0d91Sopenharmony_cipub const IPOPT_TS_TSANDADDR: u8 = 1;
13262add0d91Sopenharmony_cipub const IPOPT_TS_PRESPEC: u8 = 3;
13272add0d91Sopenharmony_ci
13282add0d91Sopenharmony_cipub const ARPOP_RREQUEST: u16 = 3;
13292add0d91Sopenharmony_cipub const ARPOP_RREPLY: u16 = 4;
13302add0d91Sopenharmony_cipub const ARPOP_InREQUEST: u16 = 8;
13312add0d91Sopenharmony_cipub const ARPOP_InREPLY: u16 = 9;
13322add0d91Sopenharmony_cipub const ARPOP_NAK: u16 = 10;
13332add0d91Sopenharmony_ci
13342add0d91Sopenharmony_cipub const ATF_NETMASK: ::c_int = 0x20;
13352add0d91Sopenharmony_cipub const ATF_DONTPUB: ::c_int = 0x40;
13362add0d91Sopenharmony_ci
13372add0d91Sopenharmony_cipub const ARPHRD_NETROM: u16 = 0;
13382add0d91Sopenharmony_cipub const ARPHRD_ETHER: u16 = 1;
13392add0d91Sopenharmony_cipub const ARPHRD_EETHER: u16 = 2;
13402add0d91Sopenharmony_cipub const ARPHRD_AX25: u16 = 3;
13412add0d91Sopenharmony_cipub const ARPHRD_PRONET: u16 = 4;
13422add0d91Sopenharmony_cipub const ARPHRD_CHAOS: u16 = 5;
13432add0d91Sopenharmony_cipub const ARPHRD_IEEE802: u16 = 6;
13442add0d91Sopenharmony_cipub const ARPHRD_ARCNET: u16 = 7;
13452add0d91Sopenharmony_cipub const ARPHRD_APPLETLK: u16 = 8;
13462add0d91Sopenharmony_cipub const ARPHRD_DLCI: u16 = 15;
13472add0d91Sopenharmony_cipub const ARPHRD_ATM: u16 = 19;
13482add0d91Sopenharmony_cipub const ARPHRD_METRICOM: u16 = 23;
13492add0d91Sopenharmony_cipub const ARPHRD_IEEE1394: u16 = 24;
13502add0d91Sopenharmony_cipub const ARPHRD_EUI64: u16 = 27;
13512add0d91Sopenharmony_cipub const ARPHRD_INFINIBAND: u16 = 32;
13522add0d91Sopenharmony_ci
13532add0d91Sopenharmony_cipub const ARPHRD_SLIP: u16 = 256;
13542add0d91Sopenharmony_cipub const ARPHRD_CSLIP: u16 = 257;
13552add0d91Sopenharmony_cipub const ARPHRD_SLIP6: u16 = 258;
13562add0d91Sopenharmony_cipub const ARPHRD_CSLIP6: u16 = 259;
13572add0d91Sopenharmony_cipub const ARPHRD_RSRVD: u16 = 260;
13582add0d91Sopenharmony_cipub const ARPHRD_ADAPT: u16 = 264;
13592add0d91Sopenharmony_cipub const ARPHRD_ROSE: u16 = 270;
13602add0d91Sopenharmony_cipub const ARPHRD_X25: u16 = 271;
13612add0d91Sopenharmony_cipub const ARPHRD_HWX25: u16 = 272;
13622add0d91Sopenharmony_cipub const ARPHRD_CAN: u16 = 280;
13632add0d91Sopenharmony_cipub const ARPHRD_PPP: u16 = 512;
13642add0d91Sopenharmony_cipub const ARPHRD_CISCO: u16 = 513;
13652add0d91Sopenharmony_cipub const ARPHRD_HDLC: u16 = ARPHRD_CISCO;
13662add0d91Sopenharmony_cipub const ARPHRD_LAPB: u16 = 516;
13672add0d91Sopenharmony_cipub const ARPHRD_DDCMP: u16 = 517;
13682add0d91Sopenharmony_cipub const ARPHRD_RAWHDLC: u16 = 518;
13692add0d91Sopenharmony_ci
13702add0d91Sopenharmony_cipub const ARPHRD_TUNNEL: u16 = 768;
13712add0d91Sopenharmony_cipub const ARPHRD_TUNNEL6: u16 = 769;
13722add0d91Sopenharmony_cipub const ARPHRD_FRAD: u16 = 770;
13732add0d91Sopenharmony_cipub const ARPHRD_SKIP: u16 = 771;
13742add0d91Sopenharmony_cipub const ARPHRD_LOOPBACK: u16 = 772;
13752add0d91Sopenharmony_cipub const ARPHRD_LOCALTLK: u16 = 773;
13762add0d91Sopenharmony_cipub const ARPHRD_FDDI: u16 = 774;
13772add0d91Sopenharmony_cipub const ARPHRD_BIF: u16 = 775;
13782add0d91Sopenharmony_cipub const ARPHRD_SIT: u16 = 776;
13792add0d91Sopenharmony_cipub const ARPHRD_IPDDP: u16 = 777;
13802add0d91Sopenharmony_cipub const ARPHRD_IPGRE: u16 = 778;
13812add0d91Sopenharmony_cipub const ARPHRD_PIMREG: u16 = 779;
13822add0d91Sopenharmony_cipub const ARPHRD_HIPPI: u16 = 780;
13832add0d91Sopenharmony_cipub const ARPHRD_ASH: u16 = 781;
13842add0d91Sopenharmony_cipub const ARPHRD_ECONET: u16 = 782;
13852add0d91Sopenharmony_cipub const ARPHRD_IRDA: u16 = 783;
13862add0d91Sopenharmony_cipub const ARPHRD_FCPP: u16 = 784;
13872add0d91Sopenharmony_cipub const ARPHRD_FCAL: u16 = 785;
13882add0d91Sopenharmony_cipub const ARPHRD_FCPL: u16 = 786;
13892add0d91Sopenharmony_cipub const ARPHRD_FCFABRIC: u16 = 787;
13902add0d91Sopenharmony_cipub const ARPHRD_IEEE802_TR: u16 = 800;
13912add0d91Sopenharmony_cipub const ARPHRD_IEEE80211: u16 = 801;
13922add0d91Sopenharmony_cipub const ARPHRD_IEEE80211_PRISM: u16 = 802;
13932add0d91Sopenharmony_cipub const ARPHRD_IEEE80211_RADIOTAP: u16 = 803;
13942add0d91Sopenharmony_cipub const ARPHRD_IEEE802154: u16 = 804;
13952add0d91Sopenharmony_ci
13962add0d91Sopenharmony_cipub const ARPHRD_VOID: u16 = 0xFFFF;
13972add0d91Sopenharmony_cipub const ARPHRD_NONE: u16 = 0xFFFE;
13982add0d91Sopenharmony_ci
13992add0d91Sopenharmony_cicfg_if! {
14002add0d91Sopenharmony_ci    if #[cfg(target_os = "emscripten")] {
14012add0d91Sopenharmony_ci        // Emscripten does not define any `*_SUPER_MAGIC` constants.
14022add0d91Sopenharmony_ci    } else if #[cfg(not(target_arch = "s390x"))] {
14032add0d91Sopenharmony_ci        pub const ADFS_SUPER_MAGIC: ::c_long = 0x0000adf5;
14042add0d91Sopenharmony_ci        pub const AFFS_SUPER_MAGIC: ::c_long = 0x0000adff;
14052add0d91Sopenharmony_ci        pub const AFS_SUPER_MAGIC: ::c_long = 0x5346414f;
14062add0d91Sopenharmony_ci        pub const AUTOFS_SUPER_MAGIC: ::c_long = 0x0187;
14072add0d91Sopenharmony_ci        pub const BPF_FS_MAGIC: ::c_long = 0xcafe4a11;
14082add0d91Sopenharmony_ci        pub const BTRFS_SUPER_MAGIC: ::c_long = 0x9123683e;
14092add0d91Sopenharmony_ci        pub const CGROUP2_SUPER_MAGIC: ::c_long = 0x63677270;
14102add0d91Sopenharmony_ci        pub const CGROUP_SUPER_MAGIC: ::c_long = 0x27e0eb;
14112add0d91Sopenharmony_ci        pub const CODA_SUPER_MAGIC: ::c_long = 0x73757245;
14122add0d91Sopenharmony_ci        pub const CRAMFS_MAGIC: ::c_long = 0x28cd3d45;
14132add0d91Sopenharmony_ci        pub const DEBUGFS_MAGIC: ::c_long = 0x64626720;
14142add0d91Sopenharmony_ci        pub const DEVPTS_SUPER_MAGIC: ::c_long = 0x1cd1;
14152add0d91Sopenharmony_ci        pub const ECRYPTFS_SUPER_MAGIC: ::c_long = 0xf15f;
14162add0d91Sopenharmony_ci        pub const EFS_SUPER_MAGIC: ::c_long = 0x00414a53;
14172add0d91Sopenharmony_ci        pub const EXT2_SUPER_MAGIC: ::c_long = 0x0000ef53;
14182add0d91Sopenharmony_ci        pub const EXT3_SUPER_MAGIC: ::c_long = 0x0000ef53;
14192add0d91Sopenharmony_ci        pub const EXT4_SUPER_MAGIC: ::c_long = 0x0000ef53;
14202add0d91Sopenharmony_ci        pub const F2FS_SUPER_MAGIC: ::c_long = 0xf2f52010;
14212add0d91Sopenharmony_ci        pub const FUSE_SUPER_MAGIC: ::c_long = 0x65735546;
14222add0d91Sopenharmony_ci        pub const FUTEXFS_SUPER_MAGIC: ::c_long = 0xbad1dea;
14232add0d91Sopenharmony_ci        pub const HOSTFS_SUPER_MAGIC: ::c_long = 0x00c0ffee;
14242add0d91Sopenharmony_ci        pub const HPFS_SUPER_MAGIC: ::c_long = 0xf995e849;
14252add0d91Sopenharmony_ci        pub const HUGETLBFS_MAGIC: ::c_long = 0x958458f6;
14262add0d91Sopenharmony_ci        pub const ISOFS_SUPER_MAGIC: ::c_long = 0x00009660;
14272add0d91Sopenharmony_ci        pub const JFFS2_SUPER_MAGIC: ::c_long = 0x000072b6;
14282add0d91Sopenharmony_ci        pub const MINIX2_SUPER_MAGIC2: ::c_long = 0x00002478;
14292add0d91Sopenharmony_ci        pub const MINIX2_SUPER_MAGIC: ::c_long = 0x00002468;
14302add0d91Sopenharmony_ci        pub const MINIX3_SUPER_MAGIC: ::c_long = 0x4d5a;
14312add0d91Sopenharmony_ci        pub const MINIX_SUPER_MAGIC2: ::c_long = 0x0000138f;
14322add0d91Sopenharmony_ci        pub const MINIX_SUPER_MAGIC: ::c_long = 0x0000137f;
14332add0d91Sopenharmony_ci        pub const MSDOS_SUPER_MAGIC: ::c_long = 0x00004d44;
14342add0d91Sopenharmony_ci        pub const NCP_SUPER_MAGIC: ::c_long = 0x0000564c;
14352add0d91Sopenharmony_ci        pub const NFS_SUPER_MAGIC: ::c_long = 0x00006969;
14362add0d91Sopenharmony_ci        pub const NILFS_SUPER_MAGIC: ::c_long = 0x3434;
14372add0d91Sopenharmony_ci        pub const OCFS2_SUPER_MAGIC: ::c_long = 0x7461636f;
14382add0d91Sopenharmony_ci        pub const OPENPROM_SUPER_MAGIC: ::c_long = 0x00009fa1;
14392add0d91Sopenharmony_ci        pub const OVERLAYFS_SUPER_MAGIC: ::c_long = 0x794c7630;
14402add0d91Sopenharmony_ci        pub const PROC_SUPER_MAGIC: ::c_long = 0x00009fa0;
14412add0d91Sopenharmony_ci        pub const QNX4_SUPER_MAGIC: ::c_long = 0x0000002f;
14422add0d91Sopenharmony_ci        pub const QNX6_SUPER_MAGIC: ::c_long = 0x68191122;
14432add0d91Sopenharmony_ci        pub const RDTGROUP_SUPER_MAGIC: ::c_long = 0x7655821;
14442add0d91Sopenharmony_ci        pub const REISERFS_SUPER_MAGIC: ::c_long = 0x52654973;
14452add0d91Sopenharmony_ci        pub const SECURITYFS_MAGIC: ::c_long = 0x73636673;
14462add0d91Sopenharmony_ci        pub const SELINUX_MAGIC: ::c_long = 0xf97cff8c;
14472add0d91Sopenharmony_ci        pub const SMACK_MAGIC: ::c_long = 0x43415d53;
14482add0d91Sopenharmony_ci        pub const SMB_SUPER_MAGIC: ::c_long = 0x0000517b;
14492add0d91Sopenharmony_ci        pub const SYSFS_MAGIC: ::c_long = 0x62656572;
14502add0d91Sopenharmony_ci        pub const TMPFS_MAGIC: ::c_long = 0x01021994;
14512add0d91Sopenharmony_ci        pub const TRACEFS_MAGIC: ::c_long = 0x74726163;
14522add0d91Sopenharmony_ci        pub const UDF_SUPER_MAGIC: ::c_long = 0x15013346;
14532add0d91Sopenharmony_ci        pub const USBDEVICE_SUPER_MAGIC: ::c_long = 0x00009fa2;
14542add0d91Sopenharmony_ci        pub const XENFS_SUPER_MAGIC: ::c_long = 0xabba1974;
14552add0d91Sopenharmony_ci        pub const NSFS_MAGIC: ::c_long = 0x6e736673;
14562add0d91Sopenharmony_ci    } else if #[cfg(target_arch = "s390x")] {
14572add0d91Sopenharmony_ci        pub const ADFS_SUPER_MAGIC: ::c_uint = 0x0000adf5;
14582add0d91Sopenharmony_ci        pub const AFFS_SUPER_MAGIC: ::c_uint = 0x0000adff;
14592add0d91Sopenharmony_ci        pub const AFS_SUPER_MAGIC: ::c_uint = 0x5346414f;
14602add0d91Sopenharmony_ci        pub const AUTOFS_SUPER_MAGIC: ::c_uint = 0x0187;
14612add0d91Sopenharmony_ci        pub const BPF_FS_MAGIC: ::c_uint = 0xcafe4a11;
14622add0d91Sopenharmony_ci        pub const BTRFS_SUPER_MAGIC: ::c_uint = 0x9123683e;
14632add0d91Sopenharmony_ci        pub const CGROUP2_SUPER_MAGIC: ::c_uint = 0x63677270;
14642add0d91Sopenharmony_ci        pub const CGROUP_SUPER_MAGIC: ::c_uint = 0x27e0eb;
14652add0d91Sopenharmony_ci        pub const CODA_SUPER_MAGIC: ::c_uint = 0x73757245;
14662add0d91Sopenharmony_ci        pub const CRAMFS_MAGIC: ::c_uint = 0x28cd3d45;
14672add0d91Sopenharmony_ci        pub const DEBUGFS_MAGIC: ::c_uint = 0x64626720;
14682add0d91Sopenharmony_ci        pub const DEVPTS_SUPER_MAGIC: ::c_uint = 0x1cd1;
14692add0d91Sopenharmony_ci        pub const ECRYPTFS_SUPER_MAGIC: ::c_uint = 0xf15f;
14702add0d91Sopenharmony_ci        pub const EFS_SUPER_MAGIC: ::c_uint = 0x00414a53;
14712add0d91Sopenharmony_ci        pub const EXT2_SUPER_MAGIC: ::c_uint = 0x0000ef53;
14722add0d91Sopenharmony_ci        pub const EXT3_SUPER_MAGIC: ::c_uint = 0x0000ef53;
14732add0d91Sopenharmony_ci        pub const EXT4_SUPER_MAGIC: ::c_uint = 0x0000ef53;
14742add0d91Sopenharmony_ci        pub const F2FS_SUPER_MAGIC: ::c_uint = 0xf2f52010;
14752add0d91Sopenharmony_ci        pub const FUSE_SUPER_MAGIC: ::c_uint = 0x65735546;
14762add0d91Sopenharmony_ci        pub const FUTEXFS_SUPER_MAGIC: ::c_uint = 0xbad1dea;
14772add0d91Sopenharmony_ci        pub const HOSTFS_SUPER_MAGIC: ::c_uint = 0x00c0ffee;
14782add0d91Sopenharmony_ci        pub const HPFS_SUPER_MAGIC: ::c_uint = 0xf995e849;
14792add0d91Sopenharmony_ci        pub const HUGETLBFS_MAGIC: ::c_uint = 0x958458f6;
14802add0d91Sopenharmony_ci        pub const ISOFS_SUPER_MAGIC: ::c_uint = 0x00009660;
14812add0d91Sopenharmony_ci        pub const JFFS2_SUPER_MAGIC: ::c_uint = 0x000072b6;
14822add0d91Sopenharmony_ci        pub const MINIX2_SUPER_MAGIC2: ::c_uint = 0x00002478;
14832add0d91Sopenharmony_ci        pub const MINIX2_SUPER_MAGIC: ::c_uint = 0x00002468;
14842add0d91Sopenharmony_ci        pub const MINIX3_SUPER_MAGIC: ::c_uint = 0x4d5a;
14852add0d91Sopenharmony_ci        pub const MINIX_SUPER_MAGIC2: ::c_uint = 0x0000138f;
14862add0d91Sopenharmony_ci        pub const MINIX_SUPER_MAGIC: ::c_uint = 0x0000137f;
14872add0d91Sopenharmony_ci        pub const MSDOS_SUPER_MAGIC: ::c_uint = 0x00004d44;
14882add0d91Sopenharmony_ci        pub const NCP_SUPER_MAGIC: ::c_uint = 0x0000564c;
14892add0d91Sopenharmony_ci        pub const NFS_SUPER_MAGIC: ::c_uint = 0x00006969;
14902add0d91Sopenharmony_ci        pub const NILFS_SUPER_MAGIC: ::c_uint = 0x3434;
14912add0d91Sopenharmony_ci        pub const OCFS2_SUPER_MAGIC: ::c_uint = 0x7461636f;
14922add0d91Sopenharmony_ci        pub const OPENPROM_SUPER_MAGIC: ::c_uint = 0x00009fa1;
14932add0d91Sopenharmony_ci        pub const OVERLAYFS_SUPER_MAGIC: ::c_uint = 0x794c7630;
14942add0d91Sopenharmony_ci        pub const PROC_SUPER_MAGIC: ::c_uint = 0x00009fa0;
14952add0d91Sopenharmony_ci        pub const QNX4_SUPER_MAGIC: ::c_uint = 0x0000002f;
14962add0d91Sopenharmony_ci        pub const QNX6_SUPER_MAGIC: ::c_uint = 0x68191122;
14972add0d91Sopenharmony_ci        pub const RDTGROUP_SUPER_MAGIC: ::c_uint = 0x7655821;
14982add0d91Sopenharmony_ci        pub const REISERFS_SUPER_MAGIC: ::c_uint = 0x52654973;
14992add0d91Sopenharmony_ci        pub const SECURITYFS_MAGIC: ::c_uint = 0x73636673;
15002add0d91Sopenharmony_ci        pub const SELINUX_MAGIC: ::c_uint = 0xf97cff8c;
15012add0d91Sopenharmony_ci        pub const SMACK_MAGIC: ::c_uint = 0x43415d53;
15022add0d91Sopenharmony_ci        pub const SMB_SUPER_MAGIC: ::c_uint = 0x0000517b;
15032add0d91Sopenharmony_ci        pub const SYSFS_MAGIC: ::c_uint = 0x62656572;
15042add0d91Sopenharmony_ci        pub const TMPFS_MAGIC: ::c_uint = 0x01021994;
15052add0d91Sopenharmony_ci        pub const TRACEFS_MAGIC: ::c_uint = 0x74726163;
15062add0d91Sopenharmony_ci        pub const UDF_SUPER_MAGIC: ::c_uint = 0x15013346;
15072add0d91Sopenharmony_ci        pub const USBDEVICE_SUPER_MAGIC: ::c_uint = 0x00009fa2;
15082add0d91Sopenharmony_ci        pub const XENFS_SUPER_MAGIC: ::c_uint = 0xabba1974;
15092add0d91Sopenharmony_ci        pub const NSFS_MAGIC: ::c_uint = 0x6e736673;
15102add0d91Sopenharmony_ci    }
15112add0d91Sopenharmony_ci}
15122add0d91Sopenharmony_ci
15132add0d91Sopenharmony_ciconst_fn! {
15142add0d91Sopenharmony_ci    {const} fn CMSG_ALIGN(len: usize) -> usize {
15152add0d91Sopenharmony_ci        len + ::mem::size_of::<usize>() - 1 & !(::mem::size_of::<usize>() - 1)
15162add0d91Sopenharmony_ci    }
15172add0d91Sopenharmony_ci}
15182add0d91Sopenharmony_ci
15192add0d91Sopenharmony_cif! {
15202add0d91Sopenharmony_ci    pub fn CMSG_FIRSTHDR(mhdr: *const msghdr) -> *mut cmsghdr {
15212add0d91Sopenharmony_ci        if (*mhdr).msg_controllen as usize >= ::mem::size_of::<cmsghdr>() {
15222add0d91Sopenharmony_ci            (*mhdr).msg_control as *mut cmsghdr
15232add0d91Sopenharmony_ci        } else {
15242add0d91Sopenharmony_ci            0 as *mut cmsghdr
15252add0d91Sopenharmony_ci        }
15262add0d91Sopenharmony_ci    }
15272add0d91Sopenharmony_ci
15282add0d91Sopenharmony_ci    pub fn CMSG_DATA(cmsg: *const cmsghdr) -> *mut ::c_uchar {
15292add0d91Sopenharmony_ci        cmsg.offset(1) as *mut ::c_uchar
15302add0d91Sopenharmony_ci    }
15312add0d91Sopenharmony_ci
15322add0d91Sopenharmony_ci    pub {const} fn CMSG_SPACE(length: ::c_uint) -> ::c_uint {
15332add0d91Sopenharmony_ci        (CMSG_ALIGN(length as usize) + CMSG_ALIGN(::mem::size_of::<cmsghdr>()))
15342add0d91Sopenharmony_ci            as ::c_uint
15352add0d91Sopenharmony_ci    }
15362add0d91Sopenharmony_ci
15372add0d91Sopenharmony_ci    pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
15382add0d91Sopenharmony_ci        CMSG_ALIGN(::mem::size_of::<cmsghdr>()) as ::c_uint + length
15392add0d91Sopenharmony_ci    }
15402add0d91Sopenharmony_ci
15412add0d91Sopenharmony_ci    pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () {
15422add0d91Sopenharmony_ci        let fd = fd as usize;
15432add0d91Sopenharmony_ci        let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
15442add0d91Sopenharmony_ci        (*set).fds_bits[fd / size] &= !(1 << (fd % size));
15452add0d91Sopenharmony_ci        return
15462add0d91Sopenharmony_ci    }
15472add0d91Sopenharmony_ci
15482add0d91Sopenharmony_ci    pub fn FD_ISSET(fd: ::c_int, set: *const fd_set) -> bool {
15492add0d91Sopenharmony_ci        let fd = fd as usize;
15502add0d91Sopenharmony_ci        let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
15512add0d91Sopenharmony_ci        return ((*set).fds_bits[fd / size] & (1 << (fd % size))) != 0
15522add0d91Sopenharmony_ci    }
15532add0d91Sopenharmony_ci
15542add0d91Sopenharmony_ci    pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () {
15552add0d91Sopenharmony_ci        let fd = fd as usize;
15562add0d91Sopenharmony_ci        let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8;
15572add0d91Sopenharmony_ci        (*set).fds_bits[fd / size] |= 1 << (fd % size);
15582add0d91Sopenharmony_ci        return
15592add0d91Sopenharmony_ci    }
15602add0d91Sopenharmony_ci
15612add0d91Sopenharmony_ci    pub fn FD_ZERO(set: *mut fd_set) -> () {
15622add0d91Sopenharmony_ci        for slot in (*set).fds_bits.iter_mut() {
15632add0d91Sopenharmony_ci            *slot = 0;
15642add0d91Sopenharmony_ci        }
15652add0d91Sopenharmony_ci    }
15662add0d91Sopenharmony_ci}
15672add0d91Sopenharmony_ci
15682add0d91Sopenharmony_cisafe_f! {
15692add0d91Sopenharmony_ci    pub fn SIGRTMAX() -> ::c_int {
15702add0d91Sopenharmony_ci        unsafe { __libc_current_sigrtmax() }
15712add0d91Sopenharmony_ci    }
15722add0d91Sopenharmony_ci
15732add0d91Sopenharmony_ci    pub fn SIGRTMIN() -> ::c_int {
15742add0d91Sopenharmony_ci        unsafe { __libc_current_sigrtmin() }
15752add0d91Sopenharmony_ci    }
15762add0d91Sopenharmony_ci
15772add0d91Sopenharmony_ci    pub {const} fn WIFSTOPPED(status: ::c_int) -> bool {
15782add0d91Sopenharmony_ci        (status & 0xff) == 0x7f
15792add0d91Sopenharmony_ci    }
15802add0d91Sopenharmony_ci
15812add0d91Sopenharmony_ci    pub {const} fn WSTOPSIG(status: ::c_int) -> ::c_int {
15822add0d91Sopenharmony_ci        (status >> 8) & 0xff
15832add0d91Sopenharmony_ci    }
15842add0d91Sopenharmony_ci
15852add0d91Sopenharmony_ci    pub {const} fn WIFCONTINUED(status: ::c_int) -> bool {
15862add0d91Sopenharmony_ci        status == 0xffff
15872add0d91Sopenharmony_ci    }
15882add0d91Sopenharmony_ci
15892add0d91Sopenharmony_ci    pub {const} fn WIFSIGNALED(status: ::c_int) -> bool {
15902add0d91Sopenharmony_ci        ((status & 0x7f) + 1) as i8 >= 2
15912add0d91Sopenharmony_ci    }
15922add0d91Sopenharmony_ci
15932add0d91Sopenharmony_ci    pub {const} fn WTERMSIG(status: ::c_int) -> ::c_int {
15942add0d91Sopenharmony_ci        status & 0x7f
15952add0d91Sopenharmony_ci    }
15962add0d91Sopenharmony_ci
15972add0d91Sopenharmony_ci    pub {const} fn WIFEXITED(status: ::c_int) -> bool {
15982add0d91Sopenharmony_ci        (status & 0x7f) == 0
15992add0d91Sopenharmony_ci    }
16002add0d91Sopenharmony_ci
16012add0d91Sopenharmony_ci    pub {const} fn WEXITSTATUS(status: ::c_int) -> ::c_int {
16022add0d91Sopenharmony_ci        (status >> 8) & 0xff
16032add0d91Sopenharmony_ci    }
16042add0d91Sopenharmony_ci
16052add0d91Sopenharmony_ci    pub {const} fn WCOREDUMP(status: ::c_int) -> bool {
16062add0d91Sopenharmony_ci        (status & 0x80) != 0
16072add0d91Sopenharmony_ci    }
16082add0d91Sopenharmony_ci
16092add0d91Sopenharmony_ci    pub {const} fn W_EXITCODE(ret: ::c_int, sig: ::c_int) -> ::c_int {
16102add0d91Sopenharmony_ci        (ret << 8) | sig
16112add0d91Sopenharmony_ci    }
16122add0d91Sopenharmony_ci
16132add0d91Sopenharmony_ci    pub {const} fn W_STOPCODE(sig: ::c_int) -> ::c_int {
16142add0d91Sopenharmony_ci        (sig << 8) | 0x7f
16152add0d91Sopenharmony_ci    }
16162add0d91Sopenharmony_ci
16172add0d91Sopenharmony_ci    pub {const} fn QCMD(cmd: ::c_int, type_: ::c_int) -> ::c_int {
16182add0d91Sopenharmony_ci        (cmd << 8) | (type_ & 0x00ff)
16192add0d91Sopenharmony_ci    }
16202add0d91Sopenharmony_ci
16212add0d91Sopenharmony_ci    pub {const} fn IPOPT_COPIED(o: u8) -> u8 {
16222add0d91Sopenharmony_ci        o & IPOPT_COPY
16232add0d91Sopenharmony_ci    }
16242add0d91Sopenharmony_ci
16252add0d91Sopenharmony_ci    pub {const} fn IPOPT_CLASS(o: u8) -> u8 {
16262add0d91Sopenharmony_ci        o & IPOPT_CLASS_MASK
16272add0d91Sopenharmony_ci    }
16282add0d91Sopenharmony_ci
16292add0d91Sopenharmony_ci    pub {const} fn IPOPT_NUMBER(o: u8) -> u8 {
16302add0d91Sopenharmony_ci        o & IPOPT_NUMBER_MASK
16312add0d91Sopenharmony_ci    }
16322add0d91Sopenharmony_ci
16332add0d91Sopenharmony_ci    pub {const} fn IPTOS_ECN(x: u8) -> u8 {
16342add0d91Sopenharmony_ci        x & ::IPTOS_ECN_MASK
16352add0d91Sopenharmony_ci    }
16362add0d91Sopenharmony_ci
16372add0d91Sopenharmony_ci    #[allow(ellipsis_inclusive_range_patterns)]
16382add0d91Sopenharmony_ci    pub {const} fn KERNEL_VERSION(a: u32, b: u32, c: u32) -> u32 {
16392add0d91Sopenharmony_ci        ((a << 16) + (b << 8)) + match c {
16402add0d91Sopenharmony_ci            0 ... 255 => c,
16412add0d91Sopenharmony_ci            _ => 255,
16422add0d91Sopenharmony_ci        }
16432add0d91Sopenharmony_ci    }
16442add0d91Sopenharmony_ci}
16452add0d91Sopenharmony_ci
16462add0d91Sopenharmony_ciextern "C" {
16472add0d91Sopenharmony_ci    #[doc(hidden)]
16482add0d91Sopenharmony_ci    pub fn __libc_current_sigrtmax() -> ::c_int;
16492add0d91Sopenharmony_ci    #[doc(hidden)]
16502add0d91Sopenharmony_ci    pub fn __libc_current_sigrtmin() -> ::c_int;
16512add0d91Sopenharmony_ci
16522add0d91Sopenharmony_ci    pub fn sem_destroy(sem: *mut sem_t) -> ::c_int;
16532add0d91Sopenharmony_ci    pub fn sem_init(sem: *mut sem_t, pshared: ::c_int, value: ::c_uint) -> ::c_int;
16542add0d91Sopenharmony_ci    pub fn fdatasync(fd: ::c_int) -> ::c_int;
16552add0d91Sopenharmony_ci    pub fn mincore(addr: *mut ::c_void, len: ::size_t, vec: *mut ::c_uchar) -> ::c_int;
16562add0d91Sopenharmony_ci
16572add0d91Sopenharmony_ci    pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
16582add0d91Sopenharmony_ci    pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
16592add0d91Sopenharmony_ci    pub fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
16602add0d91Sopenharmony_ci    pub fn clock_getcpuclockid(pid: ::pid_t, clk_id: *mut ::clockid_t) -> ::c_int;
16612add0d91Sopenharmony_ci
16622add0d91Sopenharmony_ci    pub fn dirfd(dirp: *mut ::DIR) -> ::c_int;
16632add0d91Sopenharmony_ci
16642add0d91Sopenharmony_ci    pub fn pthread_getattr_np(native: ::pthread_t, attr: *mut ::pthread_attr_t) -> ::c_int;
16652add0d91Sopenharmony_ci    pub fn pthread_attr_getstack(
16662add0d91Sopenharmony_ci        attr: *const ::pthread_attr_t,
16672add0d91Sopenharmony_ci        stackaddr: *mut *mut ::c_void,
16682add0d91Sopenharmony_ci        stacksize: *mut ::size_t,
16692add0d91Sopenharmony_ci    ) -> ::c_int;
16702add0d91Sopenharmony_ci    pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
16712add0d91Sopenharmony_ci    pub fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int;
16722add0d91Sopenharmony_ci    pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
16732add0d91Sopenharmony_ci    pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
16742add0d91Sopenharmony_ci    pub fn statfs64(path: *const ::c_char, buf: *mut statfs64) -> ::c_int;
16752add0d91Sopenharmony_ci    pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int;
16762add0d91Sopenharmony_ci    pub fn fstatfs64(fd: ::c_int, buf: *mut statfs64) -> ::c_int;
16772add0d91Sopenharmony_ci    pub fn statvfs64(path: *const ::c_char, buf: *mut statvfs64) -> ::c_int;
16782add0d91Sopenharmony_ci    pub fn fstatvfs64(fd: ::c_int, buf: *mut statvfs64) -> ::c_int;
16792add0d91Sopenharmony_ci    pub fn memrchr(cx: *const ::c_void, c: ::c_int, n: ::size_t) -> *mut ::c_void;
16802add0d91Sopenharmony_ci
16812add0d91Sopenharmony_ci    pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int) -> ::c_int;
16822add0d91Sopenharmony_ci    pub fn posix_fadvise64(
16832add0d91Sopenharmony_ci        fd: ::c_int,
16842add0d91Sopenharmony_ci        offset: ::off64_t,
16852add0d91Sopenharmony_ci        len: ::off64_t,
16862add0d91Sopenharmony_ci        advise: ::c_int,
16872add0d91Sopenharmony_ci    ) -> ::c_int;
16882add0d91Sopenharmony_ci    pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int;
16892add0d91Sopenharmony_ci    pub fn utimensat(
16902add0d91Sopenharmony_ci        dirfd: ::c_int,
16912add0d91Sopenharmony_ci        path: *const ::c_char,
16922add0d91Sopenharmony_ci        times: *const ::timespec,
16932add0d91Sopenharmony_ci        flag: ::c_int,
16942add0d91Sopenharmony_ci    ) -> ::c_int;
16952add0d91Sopenharmony_ci    pub fn duplocale(base: ::locale_t) -> ::locale_t;
16962add0d91Sopenharmony_ci    pub fn freelocale(loc: ::locale_t);
16972add0d91Sopenharmony_ci    pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
16982add0d91Sopenharmony_ci    pub fn uselocale(loc: ::locale_t) -> ::locale_t;
16992add0d91Sopenharmony_ci    pub fn creat64(path: *const c_char, mode: mode_t) -> ::c_int;
17002add0d91Sopenharmony_ci    pub fn fstat64(fildes: ::c_int, buf: *mut stat64) -> ::c_int;
17012add0d91Sopenharmony_ci    pub fn fstatat64(
17022add0d91Sopenharmony_ci        dirfd: ::c_int,
17032add0d91Sopenharmony_ci        pathname: *const c_char,
17042add0d91Sopenharmony_ci        buf: *mut stat64,
17052add0d91Sopenharmony_ci        flags: ::c_int,
17062add0d91Sopenharmony_ci    ) -> ::c_int;
17072add0d91Sopenharmony_ci    pub fn ftruncate64(fd: ::c_int, length: off64_t) -> ::c_int;
17082add0d91Sopenharmony_ci    pub fn lseek64(fd: ::c_int, offset: off64_t, whence: ::c_int) -> off64_t;
17092add0d91Sopenharmony_ci    pub fn lstat64(path: *const c_char, buf: *mut stat64) -> ::c_int;
17102add0d91Sopenharmony_ci    pub fn mmap64(
17112add0d91Sopenharmony_ci        addr: *mut ::c_void,
17122add0d91Sopenharmony_ci        len: ::size_t,
17132add0d91Sopenharmony_ci        prot: ::c_int,
17142add0d91Sopenharmony_ci        flags: ::c_int,
17152add0d91Sopenharmony_ci        fd: ::c_int,
17162add0d91Sopenharmony_ci        offset: off64_t,
17172add0d91Sopenharmony_ci    ) -> *mut ::c_void;
17182add0d91Sopenharmony_ci    pub fn open64(path: *const c_char, oflag: ::c_int, ...) -> ::c_int;
17192add0d91Sopenharmony_ci    pub fn openat64(fd: ::c_int, path: *const c_char, oflag: ::c_int, ...) -> ::c_int;
17202add0d91Sopenharmony_ci    pub fn pread64(fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off64_t) -> ::ssize_t;
17212add0d91Sopenharmony_ci    pub fn pwrite64(
17222add0d91Sopenharmony_ci        fd: ::c_int,
17232add0d91Sopenharmony_ci        buf: *const ::c_void,
17242add0d91Sopenharmony_ci        count: ::size_t,
17252add0d91Sopenharmony_ci        offset: off64_t,
17262add0d91Sopenharmony_ci    ) -> ::ssize_t;
17272add0d91Sopenharmony_ci    pub fn readdir64(dirp: *mut ::DIR) -> *mut ::dirent64;
17282add0d91Sopenharmony_ci    pub fn readdir64_r(
17292add0d91Sopenharmony_ci        dirp: *mut ::DIR,
17302add0d91Sopenharmony_ci        entry: *mut ::dirent64,
17312add0d91Sopenharmony_ci        result: *mut *mut ::dirent64,
17322add0d91Sopenharmony_ci    ) -> ::c_int;
17332add0d91Sopenharmony_ci    pub fn stat64(path: *const c_char, buf: *mut stat64) -> ::c_int;
17342add0d91Sopenharmony_ci    pub fn truncate64(path: *const c_char, length: off64_t) -> ::c_int;
17352add0d91Sopenharmony_ci
17362add0d91Sopenharmony_ci    pub fn mknodat(
17372add0d91Sopenharmony_ci        dirfd: ::c_int,
17382add0d91Sopenharmony_ci        pathname: *const ::c_char,
17392add0d91Sopenharmony_ci        mode: ::mode_t,
17402add0d91Sopenharmony_ci        dev: dev_t,
17412add0d91Sopenharmony_ci    ) -> ::c_int;
17422add0d91Sopenharmony_ci    pub fn pthread_condattr_getclock(
17432add0d91Sopenharmony_ci        attr: *const pthread_condattr_t,
17442add0d91Sopenharmony_ci        clock_id: *mut clockid_t,
17452add0d91Sopenharmony_ci    ) -> ::c_int;
17462add0d91Sopenharmony_ci    pub fn pthread_condattr_setclock(
17472add0d91Sopenharmony_ci        attr: *mut pthread_condattr_t,
17482add0d91Sopenharmony_ci        clock_id: ::clockid_t,
17492add0d91Sopenharmony_ci    ) -> ::c_int;
17502add0d91Sopenharmony_ci    pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t, pshared: ::c_int) -> ::c_int;
17512add0d91Sopenharmony_ci    pub fn pthread_mutexattr_setpshared(
17522add0d91Sopenharmony_ci        attr: *mut pthread_mutexattr_t,
17532add0d91Sopenharmony_ci        pshared: ::c_int,
17542add0d91Sopenharmony_ci    ) -> ::c_int;
17552add0d91Sopenharmony_ci    pub fn pthread_rwlockattr_getpshared(
17562add0d91Sopenharmony_ci        attr: *const pthread_rwlockattr_t,
17572add0d91Sopenharmony_ci        val: *mut ::c_int,
17582add0d91Sopenharmony_ci    ) -> ::c_int;
17592add0d91Sopenharmony_ci    pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int;
17602add0d91Sopenharmony_ci    pub fn ptsname_r(fd: ::c_int, buf: *mut ::c_char, buflen: ::size_t) -> ::c_int;
17612add0d91Sopenharmony_ci    pub fn clearenv() -> ::c_int;
17622add0d91Sopenharmony_ci    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int)
17632add0d91Sopenharmony_ci        -> ::c_int;
17642add0d91Sopenharmony_ci    pub fn getresuid(ruid: *mut ::uid_t, euid: *mut ::uid_t, suid: *mut ::uid_t) -> ::c_int;
17652add0d91Sopenharmony_ci    pub fn getresgid(rgid: *mut ::gid_t, egid: *mut ::gid_t, sgid: *mut ::gid_t) -> ::c_int;
17662add0d91Sopenharmony_ci    pub fn acct(filename: *const ::c_char) -> ::c_int;
17672add0d91Sopenharmony_ci    pub fn brk(addr: *mut ::c_void) -> ::c_int;
17682add0d91Sopenharmony_ci    pub fn sbrk(increment: ::intptr_t) -> *mut ::c_void;
17692add0d91Sopenharmony_ci    #[deprecated(
17702add0d91Sopenharmony_ci        since = "0.2.66",
17712add0d91Sopenharmony_ci        note = "causes memory corruption, see rust-lang/libc#1596"
17722add0d91Sopenharmony_ci    )]
17732add0d91Sopenharmony_ci    pub fn vfork() -> ::pid_t;
17742add0d91Sopenharmony_ci    pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int;
17752add0d91Sopenharmony_ci    pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int;
17762add0d91Sopenharmony_ci    pub fn wait4(
17772add0d91Sopenharmony_ci        pid: ::pid_t,
17782add0d91Sopenharmony_ci        status: *mut ::c_int,
17792add0d91Sopenharmony_ci        options: ::c_int,
17802add0d91Sopenharmony_ci        rusage: *mut ::rusage,
17812add0d91Sopenharmony_ci    ) -> ::pid_t;
17822add0d91Sopenharmony_ci    pub fn login_tty(fd: ::c_int) -> ::c_int;
17832add0d91Sopenharmony_ci    pub fn execvpe(
17842add0d91Sopenharmony_ci        file: *const ::c_char,
17852add0d91Sopenharmony_ci        argv: *const *const ::c_char,
17862add0d91Sopenharmony_ci        envp: *const *const ::c_char,
17872add0d91Sopenharmony_ci    ) -> ::c_int;
17882add0d91Sopenharmony_ci    pub fn fexecve(
17892add0d91Sopenharmony_ci        fd: ::c_int,
17902add0d91Sopenharmony_ci        argv: *const *const ::c_char,
17912add0d91Sopenharmony_ci        envp: *const *const ::c_char,
17922add0d91Sopenharmony_ci    ) -> ::c_int;
17932add0d91Sopenharmony_ci    pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int;
17942add0d91Sopenharmony_ci    pub fn freeifaddrs(ifa: *mut ::ifaddrs);
17952add0d91Sopenharmony_ci    pub fn bind(socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t) -> ::c_int;
17962add0d91Sopenharmony_ci
17972add0d91Sopenharmony_ci    pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
17982add0d91Sopenharmony_ci    pub fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
17992add0d91Sopenharmony_ci
18002add0d91Sopenharmony_ci    pub fn sendmsg(fd: ::c_int, msg: *const ::msghdr, flags: ::c_int) -> ::ssize_t;
18012add0d91Sopenharmony_ci    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int) -> ::ssize_t;
18022add0d91Sopenharmony_ci    pub fn uname(buf: *mut ::utsname) -> ::c_int;
18032add0d91Sopenharmony_ci}
18042add0d91Sopenharmony_ci
18052add0d91Sopenharmony_cicfg_if! {
18062add0d91Sopenharmony_ci    if #[cfg(not(target_env = "uclibc"))] {
18072add0d91Sopenharmony_ci        extern "C" {
18082add0d91Sopenharmony_ci            pub fn preadv64(
18092add0d91Sopenharmony_ci                fd: ::c_int,
18102add0d91Sopenharmony_ci                iov: *const ::iovec,
18112add0d91Sopenharmony_ci                iovcnt: ::c_int,
18122add0d91Sopenharmony_ci                offset: ::off64_t,
18132add0d91Sopenharmony_ci            ) -> ::ssize_t;
18142add0d91Sopenharmony_ci            pub fn pwritev64(
18152add0d91Sopenharmony_ci                fd: ::c_int,
18162add0d91Sopenharmony_ci                iov: *const ::iovec,
18172add0d91Sopenharmony_ci                iovcnt: ::c_int,
18182add0d91Sopenharmony_ci                offset: ::off64_t,
18192add0d91Sopenharmony_ci            ) -> ::ssize_t;
18202add0d91Sopenharmony_ci            // uclibc has separate non-const version of this function
18212add0d91Sopenharmony_ci            pub fn forkpty(
18222add0d91Sopenharmony_ci                amaster: *mut ::c_int,
18232add0d91Sopenharmony_ci                name: *mut ::c_char,
18242add0d91Sopenharmony_ci                termp: *const termios,
18252add0d91Sopenharmony_ci                winp: *const ::winsize,
18262add0d91Sopenharmony_ci            ) -> ::pid_t;
18272add0d91Sopenharmony_ci            // uclibc has separate non-const version of this function
18282add0d91Sopenharmony_ci            pub fn openpty(
18292add0d91Sopenharmony_ci                amaster: *mut ::c_int,
18302add0d91Sopenharmony_ci                aslave: *mut ::c_int,
18312add0d91Sopenharmony_ci                name: *mut ::c_char,
18322add0d91Sopenharmony_ci                termp: *const termios,
18332add0d91Sopenharmony_ci                winp: *const ::winsize,
18342add0d91Sopenharmony_ci            ) -> ::c_int;
18352add0d91Sopenharmony_ci        }
18362add0d91Sopenharmony_ci    }
18372add0d91Sopenharmony_ci}
18382add0d91Sopenharmony_ci
18392add0d91Sopenharmony_cicfg_if! {
18402add0d91Sopenharmony_ci    if #[cfg(target_os = "emscripten")] {
18412add0d91Sopenharmony_ci        mod emscripten;
18422add0d91Sopenharmony_ci        pub use self::emscripten::*;
18432add0d91Sopenharmony_ci    } else if #[cfg(target_os = "linux")] {
18442add0d91Sopenharmony_ci        mod linux;
18452add0d91Sopenharmony_ci        pub use self::linux::*;
18462add0d91Sopenharmony_ci    } else if #[cfg(target_os = "l4re")] {
18472add0d91Sopenharmony_ci        mod linux;
18482add0d91Sopenharmony_ci        pub use self::linux::*;
18492add0d91Sopenharmony_ci    } else if #[cfg(target_os = "android")] {
18502add0d91Sopenharmony_ci        mod android;
18512add0d91Sopenharmony_ci        pub use self::android::*;
18522add0d91Sopenharmony_ci    } else {
18532add0d91Sopenharmony_ci        // Unknown target_os
18542add0d91Sopenharmony_ci    }
18552add0d91Sopenharmony_ci}
1856