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