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/ › Io/ › Threaded.zig › netConnectUnixPosix
netConnectUnixPosix
Threaded.netConnectUnixPosix
fn netConnectUnixPosix (
userdata : ?*anyopaque ,
address : *const net .UnixAddress ,
) net .UnixAddress .ConnectError !net .Socket .Handle
File
Code
fn netConnectUnixPosix (
userdata : ?*anyopaque ,
address : *const net .UnixAddress ,
) net .UnixAddress .ConnectError !net .Socket .Handle {
if (!net .has_unix_sockets ) return error .AddressFamilyUnsupported ;
const t : *Threaded = @ptrCast (@alignCast (userdata ));
_ = t ;
const socket_fd = openSocketPosix (posix .AF .UNIX , .{ .mode = .stream }) catch |err | switch (err ) {
error .ProtocolUnsupportedByAddressFamily => return error .AddressFamilyUnsupported ,
error .OptionUnsupported => return error .Unexpected ,
else => |e | return e ,
};
errdefer closeFd (socket_fd );
var storage : UnixAddress = undefined ;
const addr_len = addressUnixToPosix (address , &storage );
try posixConnectUnix (socket_fd , &storage .any , addr_len );
return socket_fd ;
}