1//! Mostly platform-specific functionality 2#[cfg(any( 3 target_os = "dragonfly", 4 target_os = "freebsd", 5 target_os = "ios", 6 all(target_os = "linux", not(target_env = "uclibc")), 7 target_os = "macos", 8 target_os = "netbsd" 9))] 10feature! { 11 #![feature = "aio"] 12 pub mod aio; 13} 14 15feature! { 16 #![feature = "event"] 17 18 #[cfg(any(target_os = "android", target_os = "linux"))] 19 #[allow(missing_docs)] 20 pub mod epoll; 21 22 #[cfg(any(target_os = "dragonfly", 23 target_os = "freebsd", 24 target_os = "ios", 25 target_os = "macos", 26 target_os = "netbsd", 27 target_os = "openbsd"))] 28 #[allow(missing_docs)] 29 pub mod event; 30 31 #[cfg(any(target_os = "android", target_os = "linux"))] 32 #[allow(missing_docs)] 33 pub mod eventfd; 34} 35 36#[cfg(any( 37 target_os = "android", 38 target_os = "dragonfly", 39 target_os = "freebsd", 40 target_os = "ios", 41 target_os = "linux", 42 target_os = "redox", 43 target_os = "macos", 44 target_os = "netbsd", 45 target_os = "illumos", 46 target_os = "openbsd" 47))] 48#[cfg(feature = "ioctl")] 49#[cfg_attr(docsrs, doc(cfg(feature = "ioctl")))] 50#[macro_use] 51pub mod ioctl; 52 53#[cfg(any(target_os = "android", target_os = "freebsd", target_os = "linux"))] 54feature! { 55 #![feature = "fs"] 56 pub mod memfd; 57} 58 59#[cfg(not(target_os = "redox"))] 60feature! { 61 #![feature = "mman"] 62 pub mod mman; 63} 64 65#[cfg(target_os = "linux")] 66feature! { 67 #![feature = "personality"] 68 pub mod personality; 69} 70 71feature! { 72 #![feature = "pthread"] 73 pub mod pthread; 74} 75 76#[cfg(any( 77 target_os = "android", 78 target_os = "dragonfly", 79 target_os = "freebsd", 80 target_os = "linux", 81 target_os = "macos", 82 target_os = "netbsd", 83 target_os = "openbsd" 84))] 85feature! { 86 #![feature = "ptrace"] 87 #[allow(missing_docs)] 88 pub mod ptrace; 89} 90 91#[cfg(target_os = "linux")] 92feature! { 93 #![feature = "quota"] 94 pub mod quota; 95} 96 97#[cfg(target_os = "linux")] 98feature! { 99 #![feature = "reboot"] 100 pub mod reboot; 101} 102 103#[cfg(not(any( 104 target_os = "redox", 105 target_os = "fuchsia", 106 target_os = "illumos", 107 target_os = "haiku" 108)))] 109feature! { 110 #![feature = "resource"] 111 pub mod resource; 112} 113 114#[cfg(not(target_os = "redox"))] 115feature! { 116 #![feature = "poll"] 117 pub mod select; 118} 119 120#[cfg(any( 121 target_os = "android", 122 target_os = "dragonfly", 123 target_os = "freebsd", 124 target_os = "ios", 125 target_os = "linux", 126 target_os = "macos" 127))] 128feature! { 129 #![feature = "zerocopy"] 130 pub mod sendfile; 131} 132 133pub mod signal; 134 135#[cfg(any(target_os = "android", target_os = "linux"))] 136feature! { 137 #![feature = "signal"] 138 #[allow(missing_docs)] 139 pub mod signalfd; 140} 141 142#[cfg(not(target_os = "redox"))] 143feature! { 144 #![feature = "socket"] 145 #[allow(missing_docs)] 146 pub mod socket; 147} 148 149feature! { 150 #![feature = "fs"] 151 #[allow(missing_docs)] 152 pub mod stat; 153} 154 155#[cfg(any( 156 target_os = "android", 157 target_os = "dragonfly", 158 target_os = "freebsd", 159 target_os = "ios", 160 target_os = "linux", 161 target_os = "macos", 162 target_os = "openbsd" 163))] 164feature! { 165 #![feature = "fs"] 166 pub mod statfs; 167} 168 169feature! { 170 #![feature = "fs"] 171 pub mod statvfs; 172} 173 174#[cfg(any(target_os = "android", target_os = "linux"))] 175#[cfg_attr(docsrs, doc(cfg(all())))] 176#[allow(missing_docs)] 177pub mod sysinfo; 178 179feature! { 180 #![feature = "term"] 181 #[allow(missing_docs)] 182 pub mod termios; 183} 184 185#[allow(missing_docs)] 186pub mod time; 187 188feature! { 189 #![feature = "uio"] 190 pub mod uio; 191} 192 193feature! { 194 #![feature = "feature"] 195 pub mod utsname; 196} 197 198feature! { 199 #![feature = "process"] 200 pub mod wait; 201} 202 203#[cfg(any(target_os = "android", target_os = "linux"))] 204feature! { 205 #![feature = "inotify"] 206 pub mod inotify; 207} 208 209#[cfg(any(target_os = "android", target_os = "linux"))] 210feature! { 211 #![feature = "time"] 212 pub mod timerfd; 213} 214 215#[cfg(all( 216 any( 217 target_os = "freebsd", 218 target_os = "illumos", 219 target_os = "linux", 220 target_os = "netbsd" 221 ), 222 feature = "time", 223 feature = "signal" 224))] 225feature! { 226 #![feature = "time"] 227 pub mod timer; 228} 229