aboutsummaryrefslogtreecommitdiff
path: root/core/net/errors_linux.odin
diff options
context:
space:
mode:
Diffstat (limited to 'core/net/errors_linux.odin')
-rw-r--r--core/net/errors_linux.odin16
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