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 › posixBind Private Function posixBind Doc Source Private Function std.Io.Threaded.posixBind
fn posixBind (
socket_fd : posix .socket_t ,
addr : *const posix .sockaddr ,
addr_len : posix .socklen_t ,
) !void Params socket_fd : posix .socket_t addr : *const posix .sockaddr addr_len : posix .socklen_t File Io/Threaded.zig: 12154
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187 fn posixBind (
socket_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 (socket_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 ,
.BADF => |err | return errnoBug (err ), // File descriptor used after closed.
.INVAL => |err | return errnoBug (err ), // invalid parameters
.NOTSOCK => |err | return errnoBug (err ), // invalid `sockfd`
.AFNOSUPPORT => return error .AddressFamilyUnsupported ,
.ADDRNOTAVAIL => return error .AddressUnavailable ,
.FAULT => |err | return errnoBug (err ), // invalid `addr` pointer
.NOMEM => return error .SystemResources ,
else => |err | return posix .unexpectedErrno (err ),
}
},
}
}
}