13da5c369Sopenharmony_ci//! Mostly platform-specific functionality
23da5c369Sopenharmony_ci#[cfg(any(
33da5c369Sopenharmony_ci    target_os = "dragonfly",
43da5c369Sopenharmony_ci    target_os = "freebsd",
53da5c369Sopenharmony_ci    target_os = "ios",
63da5c369Sopenharmony_ci    all(target_os = "linux", not(target_env = "uclibc")),
73da5c369Sopenharmony_ci    target_os = "macos",
83da5c369Sopenharmony_ci    target_os = "netbsd"
93da5c369Sopenharmony_ci))]
103da5c369Sopenharmony_cifeature! {
113da5c369Sopenharmony_ci    #![feature = "aio"]
123da5c369Sopenharmony_ci    pub mod aio;
133da5c369Sopenharmony_ci}
143da5c369Sopenharmony_ci
153da5c369Sopenharmony_cifeature! {
163da5c369Sopenharmony_ci    #![feature = "event"]
173da5c369Sopenharmony_ci
183da5c369Sopenharmony_ci    #[cfg(any(target_os = "android", target_os = "linux"))]
193da5c369Sopenharmony_ci    #[allow(missing_docs)]
203da5c369Sopenharmony_ci    pub mod epoll;
213da5c369Sopenharmony_ci
223da5c369Sopenharmony_ci    #[cfg(any(target_os = "dragonfly",
233da5c369Sopenharmony_ci              target_os = "freebsd",
243da5c369Sopenharmony_ci              target_os = "ios",
253da5c369Sopenharmony_ci              target_os = "macos",
263da5c369Sopenharmony_ci              target_os = "netbsd",
273da5c369Sopenharmony_ci              target_os = "openbsd"))]
283da5c369Sopenharmony_ci    #[allow(missing_docs)]
293da5c369Sopenharmony_ci    pub mod event;
303da5c369Sopenharmony_ci
313da5c369Sopenharmony_ci    #[cfg(any(target_os = "android", target_os = "linux"))]
323da5c369Sopenharmony_ci    #[allow(missing_docs)]
333da5c369Sopenharmony_ci    pub mod eventfd;
343da5c369Sopenharmony_ci}
353da5c369Sopenharmony_ci
363da5c369Sopenharmony_ci#[cfg(any(
373da5c369Sopenharmony_ci    target_os = "android",
383da5c369Sopenharmony_ci    target_os = "dragonfly",
393da5c369Sopenharmony_ci    target_os = "freebsd",
403da5c369Sopenharmony_ci    target_os = "ios",
413da5c369Sopenharmony_ci    target_os = "linux",
423da5c369Sopenharmony_ci    target_os = "redox",
433da5c369Sopenharmony_ci    target_os = "macos",
443da5c369Sopenharmony_ci    target_os = "netbsd",
453da5c369Sopenharmony_ci    target_os = "illumos",
463da5c369Sopenharmony_ci    target_os = "openbsd"
473da5c369Sopenharmony_ci))]
483da5c369Sopenharmony_ci#[cfg(feature = "ioctl")]
493da5c369Sopenharmony_ci#[cfg_attr(docsrs, doc(cfg(feature = "ioctl")))]
503da5c369Sopenharmony_ci#[macro_use]
513da5c369Sopenharmony_cipub mod ioctl;
523da5c369Sopenharmony_ci
533da5c369Sopenharmony_ci#[cfg(any(target_os = "android", target_os = "freebsd", target_os = "linux"))]
543da5c369Sopenharmony_cifeature! {
553da5c369Sopenharmony_ci    #![feature = "fs"]
563da5c369Sopenharmony_ci    pub mod memfd;
573da5c369Sopenharmony_ci}
583da5c369Sopenharmony_ci
593da5c369Sopenharmony_ci#[cfg(not(target_os = "redox"))]
603da5c369Sopenharmony_cifeature! {
613da5c369Sopenharmony_ci    #![feature = "mman"]
623da5c369Sopenharmony_ci    pub mod mman;
633da5c369Sopenharmony_ci}
643da5c369Sopenharmony_ci
653da5c369Sopenharmony_ci#[cfg(target_os = "linux")]
663da5c369Sopenharmony_cifeature! {
673da5c369Sopenharmony_ci    #![feature = "personality"]
683da5c369Sopenharmony_ci    pub mod personality;
693da5c369Sopenharmony_ci}
703da5c369Sopenharmony_ci
713da5c369Sopenharmony_cifeature! {
723da5c369Sopenharmony_ci    #![feature = "pthread"]
733da5c369Sopenharmony_ci    pub mod pthread;
743da5c369Sopenharmony_ci}
753da5c369Sopenharmony_ci
763da5c369Sopenharmony_ci#[cfg(any(
773da5c369Sopenharmony_ci    target_os = "android",
783da5c369Sopenharmony_ci    target_os = "dragonfly",
793da5c369Sopenharmony_ci    target_os = "freebsd",
803da5c369Sopenharmony_ci    target_os = "linux",
813da5c369Sopenharmony_ci    target_os = "macos",
823da5c369Sopenharmony_ci    target_os = "netbsd",
833da5c369Sopenharmony_ci    target_os = "openbsd"
843da5c369Sopenharmony_ci))]
853da5c369Sopenharmony_cifeature! {
863da5c369Sopenharmony_ci    #![feature = "ptrace"]
873da5c369Sopenharmony_ci    #[allow(missing_docs)]
883da5c369Sopenharmony_ci    pub mod ptrace;
893da5c369Sopenharmony_ci}
903da5c369Sopenharmony_ci
913da5c369Sopenharmony_ci#[cfg(target_os = "linux")]
923da5c369Sopenharmony_cifeature! {
933da5c369Sopenharmony_ci    #![feature = "quota"]
943da5c369Sopenharmony_ci    pub mod quota;
953da5c369Sopenharmony_ci}
963da5c369Sopenharmony_ci
973da5c369Sopenharmony_ci#[cfg(target_os = "linux")]
983da5c369Sopenharmony_cifeature! {
993da5c369Sopenharmony_ci    #![feature = "reboot"]
1003da5c369Sopenharmony_ci    pub mod reboot;
1013da5c369Sopenharmony_ci}
1023da5c369Sopenharmony_ci
1033da5c369Sopenharmony_ci#[cfg(not(any(
1043da5c369Sopenharmony_ci    target_os = "redox",
1053da5c369Sopenharmony_ci    target_os = "fuchsia",
1063da5c369Sopenharmony_ci    target_os = "illumos",
1073da5c369Sopenharmony_ci    target_os = "haiku"
1083da5c369Sopenharmony_ci)))]
1093da5c369Sopenharmony_cifeature! {
1103da5c369Sopenharmony_ci    #![feature = "resource"]
1113da5c369Sopenharmony_ci    pub mod resource;
1123da5c369Sopenharmony_ci}
1133da5c369Sopenharmony_ci
1143da5c369Sopenharmony_ci#[cfg(not(target_os = "redox"))]
1153da5c369Sopenharmony_cifeature! {
1163da5c369Sopenharmony_ci    #![feature = "poll"]
1173da5c369Sopenharmony_ci    pub mod select;
1183da5c369Sopenharmony_ci}
1193da5c369Sopenharmony_ci
1203da5c369Sopenharmony_ci#[cfg(any(
1213da5c369Sopenharmony_ci    target_os = "android",
1223da5c369Sopenharmony_ci    target_os = "dragonfly",
1233da5c369Sopenharmony_ci    target_os = "freebsd",
1243da5c369Sopenharmony_ci    target_os = "ios",
1253da5c369Sopenharmony_ci    target_os = "linux",
1263da5c369Sopenharmony_ci    target_os = "macos"
1273da5c369Sopenharmony_ci))]
1283da5c369Sopenharmony_cifeature! {
1293da5c369Sopenharmony_ci    #![feature = "zerocopy"]
1303da5c369Sopenharmony_ci    pub mod sendfile;
1313da5c369Sopenharmony_ci}
1323da5c369Sopenharmony_ci
1333da5c369Sopenharmony_cipub mod signal;
1343da5c369Sopenharmony_ci
1353da5c369Sopenharmony_ci#[cfg(any(target_os = "android", target_os = "linux"))]
1363da5c369Sopenharmony_cifeature! {
1373da5c369Sopenharmony_ci    #![feature = "signal"]
1383da5c369Sopenharmony_ci    #[allow(missing_docs)]
1393da5c369Sopenharmony_ci    pub mod signalfd;
1403da5c369Sopenharmony_ci}
1413da5c369Sopenharmony_ci
1423da5c369Sopenharmony_ci#[cfg(not(target_os = "redox"))]
1433da5c369Sopenharmony_cifeature! {
1443da5c369Sopenharmony_ci    #![feature = "socket"]
1453da5c369Sopenharmony_ci    #[allow(missing_docs)]
1463da5c369Sopenharmony_ci    pub mod socket;
1473da5c369Sopenharmony_ci}
1483da5c369Sopenharmony_ci
1493da5c369Sopenharmony_cifeature! {
1503da5c369Sopenharmony_ci    #![feature = "fs"]
1513da5c369Sopenharmony_ci    #[allow(missing_docs)]
1523da5c369Sopenharmony_ci    pub mod stat;
1533da5c369Sopenharmony_ci}
1543da5c369Sopenharmony_ci
1553da5c369Sopenharmony_ci#[cfg(any(
1563da5c369Sopenharmony_ci    target_os = "android",
1573da5c369Sopenharmony_ci    target_os = "dragonfly",
1583da5c369Sopenharmony_ci    target_os = "freebsd",
1593da5c369Sopenharmony_ci    target_os = "ios",
1603da5c369Sopenharmony_ci    target_os = "linux",
1613da5c369Sopenharmony_ci    target_os = "macos",
1623da5c369Sopenharmony_ci    target_os = "openbsd"
1633da5c369Sopenharmony_ci))]
1643da5c369Sopenharmony_cifeature! {
1653da5c369Sopenharmony_ci    #![feature = "fs"]
1663da5c369Sopenharmony_ci    pub mod statfs;
1673da5c369Sopenharmony_ci}
1683da5c369Sopenharmony_ci
1693da5c369Sopenharmony_cifeature! {
1703da5c369Sopenharmony_ci    #![feature = "fs"]
1713da5c369Sopenharmony_ci    pub mod statvfs;
1723da5c369Sopenharmony_ci}
1733da5c369Sopenharmony_ci
1743da5c369Sopenharmony_ci#[cfg(any(target_os = "android", target_os = "linux"))]
1753da5c369Sopenharmony_ci#[cfg_attr(docsrs, doc(cfg(all())))]
1763da5c369Sopenharmony_ci#[allow(missing_docs)]
1773da5c369Sopenharmony_cipub mod sysinfo;
1783da5c369Sopenharmony_ci
1793da5c369Sopenharmony_cifeature! {
1803da5c369Sopenharmony_ci    #![feature = "term"]
1813da5c369Sopenharmony_ci    #[allow(missing_docs)]
1823da5c369Sopenharmony_ci    pub mod termios;
1833da5c369Sopenharmony_ci}
1843da5c369Sopenharmony_ci
1853da5c369Sopenharmony_ci#[allow(missing_docs)]
1863da5c369Sopenharmony_cipub mod time;
1873da5c369Sopenharmony_ci
1883da5c369Sopenharmony_cifeature! {
1893da5c369Sopenharmony_ci    #![feature = "uio"]
1903da5c369Sopenharmony_ci    pub mod uio;
1913da5c369Sopenharmony_ci}
1923da5c369Sopenharmony_ci
1933da5c369Sopenharmony_cifeature! {
1943da5c369Sopenharmony_ci    #![feature = "feature"]
1953da5c369Sopenharmony_ci    pub mod utsname;
1963da5c369Sopenharmony_ci}
1973da5c369Sopenharmony_ci
1983da5c369Sopenharmony_cifeature! {
1993da5c369Sopenharmony_ci    #![feature = "process"]
2003da5c369Sopenharmony_ci    pub mod wait;
2013da5c369Sopenharmony_ci}
2023da5c369Sopenharmony_ci
2033da5c369Sopenharmony_ci#[cfg(any(target_os = "android", target_os = "linux"))]
2043da5c369Sopenharmony_cifeature! {
2053da5c369Sopenharmony_ci    #![feature = "inotify"]
2063da5c369Sopenharmony_ci    pub mod inotify;
2073da5c369Sopenharmony_ci}
2083da5c369Sopenharmony_ci
2093da5c369Sopenharmony_ci#[cfg(any(target_os = "android", target_os = "linux"))]
2103da5c369Sopenharmony_cifeature! {
2113da5c369Sopenharmony_ci    #![feature = "time"]
2123da5c369Sopenharmony_ci    pub mod timerfd;
2133da5c369Sopenharmony_ci}
2143da5c369Sopenharmony_ci
2153da5c369Sopenharmony_ci#[cfg(all(
2163da5c369Sopenharmony_ci    any(
2173da5c369Sopenharmony_ci        target_os = "freebsd",
2183da5c369Sopenharmony_ci        target_os = "illumos",
2193da5c369Sopenharmony_ci        target_os = "linux",
2203da5c369Sopenharmony_ci        target_os = "netbsd"
2213da5c369Sopenharmony_ci    ),
2223da5c369Sopenharmony_ci    feature = "time",
2233da5c369Sopenharmony_ci    feature = "signal"
2243da5c369Sopenharmony_ci))]
2253da5c369Sopenharmony_cifeature! {
2263da5c369Sopenharmony_ci    #![feature = "time"]
2273da5c369Sopenharmony_ci    pub mod timer;
2283da5c369Sopenharmony_ci}
229