xref: /aosp_15_r20/external/crosvm/base/src/sys/unix/mod.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright 2023 The ChromiumOS Authors
2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file.
4*bb4ee6a4SAndroid Build Coastguard Worker 
5*bb4ee6a4SAndroid Build Coastguard Worker pub mod descriptor;
6*bb4ee6a4SAndroid Build Coastguard Worker pub mod file_traits;
7*bb4ee6a4SAndroid Build Coastguard Worker #[macro_use]
8*bb4ee6a4SAndroid Build Coastguard Worker pub mod handle_eintr;
9*bb4ee6a4SAndroid Build Coastguard Worker mod fcntl;
10*bb4ee6a4SAndroid Build Coastguard Worker mod file_flags;
11*bb4ee6a4SAndroid Build Coastguard Worker mod iobuf;
12*bb4ee6a4SAndroid Build Coastguard Worker pub mod net;
13*bb4ee6a4SAndroid Build Coastguard Worker mod sock_ctrl_msg;
14*bb4ee6a4SAndroid Build Coastguard Worker mod stream_channel;
15*bb4ee6a4SAndroid Build Coastguard Worker pub mod system_info;
16*bb4ee6a4SAndroid Build Coastguard Worker mod time;
17*bb4ee6a4SAndroid Build Coastguard Worker pub mod tube;
18*bb4ee6a4SAndroid Build Coastguard Worker 
19*bb4ee6a4SAndroid Build Coastguard Worker pub use descriptor::*;
20*bb4ee6a4SAndroid Build Coastguard Worker pub use fcntl::*;
21*bb4ee6a4SAndroid Build Coastguard Worker pub use file_flags::*;
22*bb4ee6a4SAndroid Build Coastguard Worker pub use iobuf::IoBuf;
23*bb4ee6a4SAndroid Build Coastguard Worker pub use sock_ctrl_msg::*;
24*bb4ee6a4SAndroid Build Coastguard Worker pub use stream_channel::*;
25*bb4ee6a4SAndroid Build Coastguard Worker pub use system_info::iov_max;
26*bb4ee6a4SAndroid Build Coastguard Worker pub use system_info::number_of_logical_cores;
27*bb4ee6a4SAndroid Build Coastguard Worker pub use system_info::pagesize;
28*bb4ee6a4SAndroid Build Coastguard Worker pub use time::duration_to_timespec;
29*bb4ee6a4SAndroid Build Coastguard Worker 
30*bb4ee6a4SAndroid Build Coastguard Worker /// Process identifier.
31*bb4ee6a4SAndroid Build Coastguard Worker pub type Pid = libc::pid_t;
32*bb4ee6a4SAndroid Build Coastguard Worker 
33*bb4ee6a4SAndroid Build Coastguard Worker #[macro_export]
34*bb4ee6a4SAndroid Build Coastguard Worker macro_rules! syscall {
35*bb4ee6a4SAndroid Build Coastguard Worker     ($e:expr) => {{
36*bb4ee6a4SAndroid Build Coastguard Worker         let res = $e;
37*bb4ee6a4SAndroid Build Coastguard Worker         if res < 0 {
38*bb4ee6a4SAndroid Build Coastguard Worker             $crate::errno_result()
39*bb4ee6a4SAndroid Build Coastguard Worker         } else {
40*bb4ee6a4SAndroid Build Coastguard Worker             Ok(res)
41*bb4ee6a4SAndroid Build Coastguard Worker         }
42*bb4ee6a4SAndroid Build Coastguard Worker     }};
43*bb4ee6a4SAndroid Build Coastguard Worker }
44