Commit 2c6788d7de
Changed files (2)
lib
std
os
windows
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,
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,