use libc::c_int;
use std::mem;
use std::sync::{Once, ONCE_INIT};
use winapi::shared::minwindef::WORD;
use winapi::um::winsock2::{LPWSADATA, WSADATA};
#[link(name = "ws2_32")]
#[link(name = "userenv")]
extern "system" {
pub fn WSAStartup(wVersionRequested: WORD, lpWSAData: LPWSADATA) -> c_int;
pub fn WSACleanup() -> c_int;
}
pub fn init() {
static START: Once = ONCE_INIT;
START.call_once(|| unsafe {
let mut data: WSADATA = mem::zeroed();
let ret = WSAStartup(
0x202, &mut data,
);
assert_eq!(ret, 0);
});
}