| ... | @@ -901,7 +901,13 @@ pub fn WSAStartup(majorVersion: u8, minorVersion: u8) !ws2_32.WSADATA { | ... | @@ -901,7 +901,13 @@ pub fn WSAStartup(majorVersion: u8, minorVersion: u8) !ws2_32.WSADATA { |
| 901 | var wsadata: ws2_32.WSADATA = undefined; | 901 | var wsadata: ws2_32.WSADATA = undefined; |
| 902 | return switch (ws2_32.WSAStartup((@as(WORD, minorVersion) << 8) | majorVersion, &wsadata)) { | 902 | return switch (ws2_32.WSAStartup((@as(WORD, minorVersion) << 8) | majorVersion, &wsadata)) { |
| 903 | 0 => wsadata, | 903 | 0 => wsadata, |
| 904 | else => |err| unexpectedWSAError(@intToEnum(ws2_32.WinsockError, @intCast(u16, err))), | 904 | else => |err_int| switch (@intToEnum(ws2_32.WinsockError, @intCast(u16, err_int))) { |
| | 905 | .WSASYSNOTREADY => return error.SystemNotAvailable, |
| | 906 | .WSAVERNOTSUPPORTED => return error.VersionNotSupported, |
| | 907 | .WSAEINPROGRESS => return error.BlockingOperationInProgress, |
| | 908 | .WSAEPROCLIM => return error.SystemResources, |
| | 909 | else => |err| return unexpectedWSAError(err), |
| | 910 | }, |
| 905 | }; | 911 | }; |
| 906 | } | 912 | } |
| 907 | | 913 | |
| ... | @@ -909,6 +915,9 @@ pub fn WSACleanup() !void { | ... | @@ -909,6 +915,9 @@ pub fn WSACleanup() !void { |
| 909 | return switch (ws2_32.WSACleanup()) { | 915 | return switch (ws2_32.WSACleanup()) { |
| 910 | 0 => {}, | 916 | 0 => {}, |
| 911 | ws2_32.SOCKET_ERROR => switch (ws2_32.WSAGetLastError()) { | 917 | ws2_32.SOCKET_ERROR => switch (ws2_32.WSAGetLastError()) { |
| | 918 | .WSANOTINITIALISED => return error.NotInitialized, |
| | 919 | .WSAENETDOWN => return error.NetworkNotAvailable, |
| | 920 | .WSAEINPROGRESS => return error.BlockingOperationInProgress, |
| 912 | else => |err| return unexpectedWSAError(err), | 921 | else => |err| return unexpectedWSAError(err), |
| 913 | }, | 922 | }, |
| 914 | else => unreachable, | 923 | else => unreachable, |