1  //! Unix specific network types.
2  // This module does not currently provide any public API, but it was
3  // unintentionally defined as a public module. Hide it from the documentation
4  // instead of changing it to a private module to avoid breakage.
5  #[doc(hidden)]
6  pub mod datagram;
7  
8  pub(crate) mod listener;
9  
10  pub(crate) mod socket;
11  
12  mod split;
13  pub use split::{ReadHalf, WriteHalf};
14  
15  mod split_owned;
16  pub use split_owned::{OwnedReadHalf, OwnedWriteHalf, ReuniteError};
17  
18  mod socketaddr;
19  pub use socketaddr::SocketAddr;
20  
21  pub(crate) mod stream;
22  pub(crate) use stream::UnixStream;
23  
24  mod ucred;
25  pub use ucred::UCred;
26  
27  pub mod pipe;
28  
29  /// A type representing user ID.
30  #[allow(non_camel_case_types)]
31  pub type uid_t = u32;
32  
33  /// A type representing group ID.
34  #[allow(non_camel_case_types)]
35  pub type gid_t = u32;
36  
37  /// A type representing process and process group IDs.
38  #[allow(non_camel_case_types)]
39  pub type pid_t = i32;
40