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 › netBindIpWindows
netBindIpWindows
Threaded.netBindIpWindows
fn netBindIpWindows (
userdata : ?*anyopaque ,
address : *const IpAddress ,
options : IpAddress .BindOptions ,
) IpAddress .BindError !net .Socket
File
Code
fn netBindIpWindows (
userdata : ?*anyopaque ,
address : *const IpAddress ,
options : IpAddress .BindOptions ,
) IpAddress .BindError !net .Socket {
if (!have_networking ) return error .NetworkDown ;
const t : *Threaded = @ptrCast (@alignCast (userdata ));
_ = t ;
const family = posixAddressFamily (address );
const socket_handle = try openSocketAfd (family , options );
errdefer windows .CloseHandle (socket_handle );
const bound_address = try bindSocketIpAfd (socket_handle , address , .Active );
if (options .allow_broadcast ) try setSocketOptionAfd (socket_handle , ws2_32 .SOL .SOCKET , ws2_32 .SO .BROADCAST , true );
return .{ .handle = socket_handle , .address = bound_address };
}