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 › Uring › netBindIp Private Function netBindIp Doc Source Private Function std.Io.Uring.netBindIp
fn netBindIp (
userdata : ?*anyopaque ,
address : *const net .IpAddress ,
options : net .IpAddress .BindOptions ,
) net .IpAddress .BindError !net .Socket Params userdata : ?*anyopaque address : *const net .IpAddress options : net .IpAddress .BindOptions File Io/Uring.zig: 5010
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027 fn netBindIp (
userdata : ?*anyopaque ,
address : *const net .IpAddress ,
options : net .IpAddress .BindOptions ,
) net .IpAddress .BindError !net .Socket {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
const family = posixAddressFamily (address );
var maybe_sync : CancelRegion .Sync .Maybe = .{ .cancel_region = .init () };
defer maybe_sync .deinit (ev );
const socket_fd = try ev .socket (&maybe_sync .cancel_region , family , options );
errdefer ev .closeAsync (socket_fd );
var storage : PosixAddress = undefined ;
var addr_len = addressToPosix (address , &storage );
try ev .bind (&maybe_sync .cancel_region , socket_fd , &storage .any , addr_len );
if (options .allow_broadcast ) try ev .setsockopt (&maybe_sync .cancel_region , socket_fd , linux .SOL .SOCKET , linux .SO .BROADCAST , 1 );
try ev .getsockname (try maybe_sync .enterSync (ev ), socket_fd , &storage .any , &addr_len );
return .{ .handle = socket_fd , .address = addressFromPosix (&storage ) };
}