//! Windows-specific system abstraction.
//! SOCKET = usize on 64-bit Windows.
/// Windows socket handle type (SOCKET = usize).
pub type Fd = usize;
// Socket-level / protocol constants, cast to i32 for compatibility
// with the Unix-side code in socket.rs that passes them to setsockopt.
pub const SOL_SOCKET: i32 = SOL_SOCKET;
pub const SO_SNDBUF: i32 = SO_SNDBUF;
pub const SO_RCVBUF: i32 = SO_RCVBUF;
pub const IPPROTO_IP: i32 = IPPROTO_IP;
pub const IP_TTL: i32 = IP_TTL;
/// Close a socket handle.
///
/// # Safety
///
/// The fd must be a valid, owned socket handle that has not already
/// been closed. After this call the fd is invalid and must not be
/// used again.
pub