diff options
Diffstat (limited to 'core/net/errors_linux.odin')
| -rw-r--r-- | core/net/errors_linux.odin | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/core/net/errors_linux.odin b/core/net/errors_linux.odin index 237579f28..258560595 100644 --- a/core/net/errors_linux.odin +++ b/core/net/errors_linux.odin @@ -258,6 +258,22 @@ _shutdown_error :: proc(errno: linux.Errno) -> Shutdown_Error { } } +_socket_info_error :: proc(errno: linux.Errno) -> Socket_Info_Error { + assert(errno != nil) + _last_error = errno + + #partial switch errno { + case .EBADF, .ENOTSOCK, .EFAULT, .EINVAL: + return .Invalid_Argument + case .ENOTCONN: + return .Network_Unreachable + case .ENOBUFS: + return .Insufficient_Resources + case: + return .Unknown + } +} + _socket_option_error :: proc(errno: linux.Errno) -> Socket_Option_Error { assert(errno != nil) _last_error = errno |