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