Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › posix.zig › getpeername
getpeername
posix.getpeername
pub fn getpeername (sock : socket_t , addr : *sockaddr , addrlen : *socklen_t ) GetSockNameError !void
File
Code
pub fn getpeername (sock : socket_t , addr : *sockaddr , addrlen : *socklen_t ) GetSockNameError !void {
if (native_os == .windows ) {
@compileError ("use std.Io instead" );
} else {
const rc = system .getpeername (sock , addr , addrlen );
switch (errno (rc )) {
.SUCCESS => return ,
else => |err | return unexpectedErrno (err ),
.BADF => unreachable ,
.FAULT => unreachable ,
.INVAL => unreachable ,
.NOTSOCK => return error .FileDescriptorNotASocket ,
.NOBUFS => return error .SystemResources ,
.NOTCONN => return error .SocketUnconnected ,
}
}
}