diff options
| author | daurnimator <quae@daurnimator.com> | 2019-11-19 16:40:44 +1100 |
|---|---|---|
| committer | daurnimator <quae@daurnimator.com> | 2019-11-27 13:01:07 +1100 |
| commit | 2c6788d7de19653a5e7eee1117cc5b88545dc17f (patch) | |
| tree | 234fb9b7c72349478be5bb31090321e9bdf464bf | |
| parent | 6b5b0e6cd6b46b30fc8e8379bc136175e876956b (diff) | |
| download | zig-2c6788d7de19653a5e7eee1117cc5b88545dc17f.tar.gz zig-2c6788d7de19653a5e7eee1117cc5b88545dc17f.zip | |
std: add windows.closesocket
| -rw-r--r-- | lib/std/os/windows.zig | 10 | ||||
| -rw-r--r-- | lib/std/os/windows/ws2_32.zig | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/std/os/windows.zig b/lib/std/os/windows.zig index 101a2a339f..601f3a79b9 100644 --- a/lib/std/os/windows.zig +++ b/lib/std/os/windows.zig @@ -692,6 +692,16 @@ pub fn WSASocketW( return rc; } +pub fn closesocket(s: ws2_32.SOCKET) !void { + switch (ws2_32.closesocket(s)) { + 0 => {}, + ws2_32.SOCKET_ERROR => switch (ws2_32.WSAGetLastError()) { + else => |err| return unexpectedWSAError(err), + }, + else => unreachable, + } +} + pub fn WSAIoctl( s: ws2_32.SOCKET, dwIoControlCode: DWORD, diff --git a/lib/std/os/windows/ws2_32.zig b/lib/std/os/windows/ws2_32.zig index 0554f09705..faaaedd443 100644 --- a/lib/std/os/windows/ws2_32.zig +++ b/lib/std/os/windows/ws2_32.zig @@ -240,6 +240,7 @@ pub extern "ws2_32" stdcallcc fn WSASocketW( g: GROUP, dwFlags: DWORD, ) SOCKET; +pub extern "ws2_32" stdcallcc fn closesocket(s: SOCKET) c_int; pub extern "ws2_32" stdcallcc fn WSAIoctl( s: SOCKET, dwIoControlCode: DWORD, |
