#[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::{sendmsg_unix, sendto_unix},
socket::{bind_unix, connect_unix, SocketAddrUnix},
};
#[cfg(not(any(windows, target_os = "redox", target_os = "wasi")))]
pub use send_recv::{
recvmsg, sendmsg_any, sendmsg_noaddr, sendmsg_v4, sendmsg_v6, RecvAncillaryBuffer,
RecvAncillaryMessage, RecvMsgReturn, SendAncillaryBuffer, SendAncillaryMessage, __cmsg_space,
};