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)]
6pub mod datagram;
7
8pub(crate) mod listener;
9
10mod split;
11pub use split::{ReadHalf, WriteHalf};
12
13mod split_owned;
14pub use split_owned::{OwnedReadHalf, OwnedWriteHalf, ReuniteError};
15
16mod socketaddr;
17pub use socketaddr::SocketAddr;
18
19pub(crate) mod stream;
20pub(crate) use stream::UnixStream;
21
22mod ucred;
23pub use ucred::UCred;
24
25pub mod pipe;
26
27/// A type representing process and process group IDs.
28#[allow(non_camel_case_types)]
29pub type uid_t = u32;
30
31/// A type representing user ID.
32#[allow(non_camel_case_types)]
33pub type gid_t = u32;
34
35/// A type representing group ID.
36#[allow(non_camel_case_types)]
37pub type pid_t = i32;
38