1 | // Take a look at the license at the top of the repository in the LICENSE file. |
2 | |
3 | cfg_if! { |
4 | if #[cfg(any(target_os = "macos" , target_os = "ios" ))] { |
5 | pub(crate) mod apple; |
6 | pub(crate) use apple as sys; |
7 | |
8 | #[allow(unused_imports)] |
9 | pub(crate) use libc::__error as libc_errno; |
10 | } else if #[cfg(any(target_os = "linux" , target_os = "android" ))] { |
11 | pub(crate) mod linux; |
12 | pub(crate) use linux as sys; |
13 | |
14 | #[cfg (target_os = "linux" )] |
15 | #[allow (unused_imports)] |
16 | pub(crate) use libc::__errno_location as libc_errno; |
17 | #[cfg (target_os = "android" )] |
18 | #[allow (unused_imports)] |
19 | pub(crate) use libc::__errno as libc_errno; |
20 | } else if #[cfg(target_os = "freebsd" )] { |
21 | pub(crate) mod freebsd; |
22 | pub(crate) use freebsd as sys; |
23 | |
24 | #[allow(unused_imports)] |
25 | pub(crate) use libc::__error as libc_errno; |
26 | } else { |
27 | compile_error!("Invalid cfg!" ); |
28 | } |
29 | |
30 | if #[cfg(feature = "disk" )] { |
31 | pub(crate) struct DisksInner { |
32 | pub(crate) disks: Vec<crate::Disk>, |
33 | } |
34 | |
35 | impl DisksInner { |
36 | pub(crate) fn from_vec(disks: Vec<crate::Disk>) -> Self { |
37 | Self { disks } |
38 | } |
39 | |
40 | pub(crate) fn into_vec(self) -> Vec<crate::Disk> { |
41 | self.disks |
42 | } |
43 | } |
44 | } |
45 | |
46 | if #[cfg(feature = "network" )] { |
47 | pub(crate) mod network_helper; |
48 | } |
49 | |
50 | if #[cfg(feature = "user" )] { |
51 | pub(crate) mod users; |
52 | pub(crate) mod groups; |
53 | } |
54 | } |
55 | |
56 | pub(crate) mod utils; |
57 | |