//! Network-related operations. //! //! On Windows, one must call [`wsa_startup`] in the process before calling any //! of these APIs. [`wsa_cleanup`] may be used in the process if these APIs are //! no longer needed. //! //! [`wsa_startup`]: https://docs.rs/rustix/*/x86_64-pc-windows-msvc/rustix/net/fn.wsa_startup.html //! [`wsa_cleanup`]: https://docs.rs/rustix/*/x86_64-pc-windows-msvc/rustix/net/fn.wsa_cleanup.html #[cfg(not(feature = "std"))] mod addr; #[cfg(not(feature = "std"))] mod ip; mod send_recv; mod socket; mod socket_addr_any; #[cfg(not(any(windows, target_os = "wasi")))] mod socketpair; #[cfg(windows)] mod wsa; pub mod sockopt; pub use send_recv::*; pub use socket::*; pub use socket_addr_any::{SocketAddrAny, SocketAddrStorage}; #[cfg(not(any(windows, target_os = "wasi")))] pub use socketpair::socketpair; #[cfg(feature = "std")] pub use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6}; #[cfg(windows)] pub use wsa::{wsa_cleanup, wsa_startup}; #[cfg(not(feature = "std"))] pub use { addr::{SocketAddr, SocketAddrV4, SocketAddrV6}, ip::{IpAddr, Ipv4Addr, Ipv6Addr, Ipv6MulticastScope}, }; #[cfg(unix)] pub use { send_recv::sendto_unix, socket::{bind_unix, connect_unix, SocketAddrUnix}, };