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 standard library.
std › Io › Threaded › posixBindUnix Private Function posixBindUnix Doc Source Private Function std.Io.Threaded.posixBindUnix
fn posixBindUnix (
fd : posix .socket_t ,
addr : *const posix .sockaddr ,
addr_len : posix .socklen_t ,
) !void Params File Io/Threaded.zig: 12111
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152 fn posixBindUnix (
fd : posix .socket_t ,
addr : *const posix .sockaddr ,
addr_len : posix .socklen_t ,
) !void {
const syscall : Syscall = try .start ();
while (true ) {
switch (posix .errno (posix .system .bind (fd , addr , addr_len ))) {
.SUCCESS => {
syscall .finish ();
break ;
},
.INTR => {
try syscall .checkCancel ();
continue ;
},
else => |e | {
syscall .finish ();
switch (e ) {
.ACCES => return error .AccessDenied ,
.ADDRINUSE => return error .AddressInUse ,
.AFNOSUPPORT => return error .AddressFamilyUnsupported ,
.ADDRNOTAVAIL => return error .AddressUnavailable ,
.NOMEM => return error .SystemResources ,
.LOOP => return error .SymLinkLoop ,
.NOENT => return error .FileNotFound ,
.NOTDIR => return error .NotDir ,
.ROFS => return error .ReadOnlyFileSystem ,
.PERM => return error .PermissionDenied ,
.BADF => |err | return errnoBug (err ), // File descriptor used after closed.
.INVAL => |err | return errnoBug (err ), // invalid parameters
.NOTSOCK => |err | return errnoBug (err ), // invalid `sockfd`
.FAULT => |err | return errnoBug (err ), // invalid `addr` pointer
.NAMETOOLONG => |err | return errnoBug (err ),
else => |err | return posix .unexpectedErrno (err ),
}
},
}
}
}