nix/sys/
mod.rs

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}