zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2c6788d7de19653a5e7eee1117cc5b88545dc17f (tree)
parent 6b5b0e6cd6b46b30fc8e8379bc136175e876956b
Author: daurnimator <quae@daurnimator.com>
Date:   Tue, 19 Nov 2019 16:40:44 +1100

std: add windows.closesocket

Diffstat:
Mlib/std/os/windows.zig | 10++++++++++
Mlib/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 @@ -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 @@ -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,