diff options
Diffstat (limited to 'src/libnative')
| -rw-r--r-- | src/libnative/io/c_win32.rs | 12 | ||||
| -rw-r--r-- | src/libnative/io/util.rs | 8 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/libnative/io/c_win32.rs b/src/libnative/io/c_win32.rs index 482155c339c..80c9e91b48f 100644 --- a/src/libnative/io/c_win32.rs +++ b/src/libnative/io/c_win32.rs @@ -28,6 +28,7 @@ pub static ENABLE_PROCESSED_INPUT: libc::DWORD = 0x1; pub static ENABLE_QUICK_EDIT_MODE: libc::DWORD = 0x40; #[repr(C)] +#[cfg(target_arch = "x86")] pub struct WSADATA { pub wVersion: libc::WORD, pub wHighVersion: libc::WORD, @@ -37,6 +38,17 @@ pub struct WSADATA { pub iMaxUdpDg: u16, pub lpVendorInfo: *mut u8, } +#[repr(C)] +#[cfg(target_arch = "x86_64")] +pub struct WSADATA { + pub wVersion: libc::WORD, + pub wHighVersion: libc::WORD, + pub iMaxSockets: u16, + pub iMaxUdpDg: u16, + pub lpVendorInfo: *mut u8, + pub szDescription: [u8, ..WSADESCRIPTION_LEN + 1], + pub szSystemStatus: [u8, ..WSASYS_STATUS_LEN + 1], +} pub type LPWSADATA = *mut WSADATA; diff --git a/src/libnative/io/util.rs b/src/libnative/io/util.rs index 06046cc74cf..97518bbf199 100644 --- a/src/libnative/io/util.rs +++ b/src/libnative/io/util.rs @@ -52,6 +52,14 @@ pub fn eof() -> IoError { } } +#[cfg(windows)] +pub fn ms_to_timeval(ms: u64) -> libc::timeval { + libc::timeval { + tv_sec: (ms / 1000) as libc::c_long, + tv_usec: ((ms % 1000) * 1000) as libc::c_long, + } +} +#[cfg(not(windows))] pub fn ms_to_timeval(ms: u64) -> libc::timeval { libc::timeval { tv_sec: (ms / 1000) as libc::time_t, |
