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 | ))] |
10 | feature! { |
11 | #![feature = "aio" ] |
12 | pub mod aio; |
13 | } |
14 | |
15 | feature! { |
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 ] |
51 | pub mod ioctl; |
52 | |
53 | #[cfg (any(target_os = "android" , target_os = "freebsd" , target_os = "linux" ))] |
54 | feature! { |
55 | #![feature = "fs" ] |
56 | pub mod memfd; |
57 | } |
58 | |
59 | #[cfg (not(target_os = "redox" ))] |
60 | feature! { |
61 | #![feature = "mman" ] |
62 | pub mod mman; |
63 | } |
64 | |
65 | #[cfg (target_os = "linux" )] |
66 | feature! { |
67 | #![feature = "personality" ] |
68 | pub mod personality; |
69 | } |
70 | |
71 | feature! { |
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 | ))] |
85 | feature! { |
86 | #![feature = "ptrace" ] |
87 | #[allow (missing_docs)] |
88 | pub mod ptrace; |
89 | } |
90 | |
91 | #[cfg (target_os = "linux" )] |
92 | feature! { |
93 | #![feature = "quota" ] |
94 | pub mod quota; |
95 | } |
96 | |
97 | #[cfg (target_os = "linux" )] |
98 | feature! { |
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 | )))] |
109 | feature! { |
110 | #![feature = "resource" ] |
111 | pub mod resource; |
112 | } |
113 | |
114 | #[cfg (not(target_os = "redox" ))] |
115 | feature! { |
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 | ))] |
128 | feature! { |
129 | #![feature = "zerocopy" ] |
130 | pub mod sendfile; |
131 | } |
132 | |
133 | pub mod signal; |
134 | |
135 | #[cfg (any(target_os = "android" , target_os = "linux" ))] |
136 | feature! { |
137 | #![feature = "signal" ] |
138 | #[allow (missing_docs)] |
139 | pub mod signalfd; |
140 | } |
141 | |
142 | #[cfg (not(target_os = "redox" ))] |
143 | feature! { |
144 | #![feature = "socket" ] |
145 | #[allow (missing_docs)] |
146 | pub mod socket; |
147 | } |
148 | |
149 | feature! { |
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 | ))] |
164 | feature! { |
165 | #![feature = "fs" ] |
166 | pub mod statfs; |
167 | } |
168 | |
169 | feature! { |
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)] |
177 | pub mod sysinfo; |
178 | |
179 | feature! { |
180 | #![feature = "term" ] |
181 | #[allow (missing_docs)] |
182 | pub mod termios; |
183 | } |
184 | |
185 | #[allow (missing_docs)] |
186 | pub mod time; |
187 | |
188 | feature! { |
189 | #![feature = "uio" ] |
190 | pub mod uio; |
191 | } |
192 | |
193 | feature! { |
194 | #![feature = "feature" ] |
195 | pub mod utsname; |
196 | } |
197 | |
198 | feature! { |
199 | #![feature = "process" ] |
200 | pub mod wait; |
201 | } |
202 | |
203 | #[cfg (any(target_os = "android" , target_os = "linux" ))] |
204 | feature! { |
205 | #![feature = "inotify" ] |
206 | pub mod inotify; |
207 | } |
208 | |
209 | #[cfg (any(target_os = "android" , target_os = "linux" ))] |
210 | feature! { |
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 | ))] |
225 | feature! { |
226 | #![feature = "time" ] |
227 | pub mod timer; |
228 | } |
229 | |