aboutsummaryrefslogtreecommitdiff
path: root/src/sys/windows/udp.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/windows/udp.rs')
-rw-r--r--src/sys/windows/udp.rs20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/sys/windows/udp.rs b/src/sys/windows/udp.rs
index 825eccc..91516cc 100644
--- a/src/sys/windows/udp.rs
+++ b/src/sys/windows/udp.rs
@@ -2,14 +2,12 @@ use std::io;
use std::mem::{self, MaybeUninit};
use std::net::{self, SocketAddr};
use std::os::windows::io::{AsRawSocket, FromRawSocket};
-use std::os::windows::raw::SOCKET as StdSocket; // winapi uses usize, stdlib uses u32/u64.
-
-use winapi::ctypes::c_int;
-use winapi::shared::ws2def::IPPROTO_IPV6;
-use winapi::shared::ws2ipdef::IPV6_V6ONLY;
-use winapi::um::winsock2::{bind as win_bind, closesocket, getsockopt, SOCKET_ERROR, SOCK_DGRAM};
+use std::os::windows::raw::SOCKET as StdSocket; // windows-sys uses usize, stdlib uses u32/u64.
use crate::sys::windows::net::{init, new_ip_socket, socket_addr};
+use windows_sys::Win32::Networking::WinSock::{
+ bind as win_bind, closesocket, getsockopt, IPPROTO_IPV6, IPV6_V6ONLY, SOCKET_ERROR, SOCK_DGRAM,
+};
pub fn bind(addr: SocketAddr) -> io::Result<net::UdpSocket> {
init();
@@ -31,14 +29,14 @@ pub fn bind(addr: SocketAddr) -> io::Result<net::UdpSocket> {
}
pub(crate) fn only_v6(socket: &net::UdpSocket) -> io::Result<bool> {
- let mut optval: MaybeUninit<c_int> = MaybeUninit::uninit();
- let mut optlen = mem::size_of::<c_int>() as c_int;
+ let mut optval: MaybeUninit<i32> = MaybeUninit::uninit();
+ let mut optlen = mem::size_of::<i32>() as i32;
syscall!(
getsockopt(
socket.as_raw_socket() as usize,
- IPPROTO_IPV6 as c_int,
- IPV6_V6ONLY as c_int,
+ IPPROTO_IPV6 as i32,
+ IPV6_V6ONLY as i32,
optval.as_mut_ptr().cast(),
&mut optlen,
),
@@ -46,7 +44,7 @@ pub(crate) fn only_v6(socket: &net::UdpSocket) -> io::Result<bool> {
SOCKET_ERROR
)?;
- debug_assert_eq!(optlen as usize, mem::size_of::<c_int>());
+ debug_assert_eq!(optlen as usize, mem::size_of::<i32>());
// Safety: `getsockopt` initialised `optval` for us.
let optval = unsafe { optval.assume_init() };
Ok(optval != 0)