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