aboutsummaryrefslogtreecommitdiff
path: root/core/net/errors_linux.odin
diff options
context:
space:
mode:
authorPePerRoNii <wachiraphol.yin@gmail.com>2025-06-15 11:17:49 +0700
committerPePerRoNii <wachiraphol.yin@gmail.com>2025-06-15 11:17:49 +0700
commit42aa8ac383e5b5020ba12fab44193eca8a244ad8 (patch)
tree4e36a515124441ce0c1fa1e95c6dac785cd03c11 /core/net/errors_linux.odin
parentf49bf1abd262a708886d7babf13100e7f1152de0 (diff)
Implemented _socket_info_error on peer_endpoint and bound_endpoint
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