diff --git a/lib/std/posix.zig b/lib/std/posix.zig index 4176910537..ec35baa07c 100644 --- a/lib/std/posix.zig +++ b/lib/std/posix.zig @@ -3635,6 +3635,9 @@ pub const GetSockNameError = error{ SocketNotBound, FileDescriptorNotASocket, + + /// The socket is not connected (connection-oriented sockets only). + SocketUnconnected, } || UnexpectedError; pub fn getsockname(sock: socket_t, addr: *sockaddr, addrlen: *socklen_t) GetSockNameError!void { @@ -3676,6 +3679,7 @@ pub fn getpeername(sock: socket_t, addr: *sockaddr, addrlen: *socklen_t) GetSock .EFAULT => unreachable, // addr or addrlen have invalid pointers or addrlen points to an incorrect value .ENOTSOCK => return error.FileDescriptorNotASocket, .EINVAL => return error.SocketNotBound, + .ENOTCONN => return error.SocketUnconnected, else => |err| return windows.unexpectedWSAError(err), } } @@ -3691,6 +3695,7 @@ pub fn getpeername(sock: socket_t, addr: *sockaddr, addrlen: *socklen_t) GetSock .INVAL => unreachable, // invalid parameters .NOTSOCK => return error.FileDescriptorNotASocket, .NOBUFS => return error.SystemResources, + .NOTCONN => return error.SocketUnconnected, } } }