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 › dirSetPermissions Private Function dirSetPermissions Doc Source Private Function std.Io.Uring.dirSetPermissions
fn dirSetPermissions (
userdata : ?*anyopaque ,
dir : Dir ,
permissions : Dir .Permissions ,
) Dir .SetPermissionsError !void Params userdata : ?*anyopaque dir : Dir permissions : Dir .Permissions File Io/Uring.zig: 3487
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509 fn dirSetPermissions (
userdata : ?*anyopaque ,
dir : Dir ,
permissions : Dir .Permissions ,
) Dir .SetPermissionsError !void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
var sync : CancelRegion .Sync = try .init (ev );
defer sync .deinit (ev );
ev .fchmodat (
&sync ,
dir .handle ,
"" ,
permissions .toMode (),
linux .AT .EMPTY_PATH ,
) catch |err | switch (err ) {
error .NameTooLong => return errnoBug (.NAMETOOLONG ),
error .BadPathName => return errnoBug (.ILSEQ ),
error .ProcessFdQuotaExceeded => return errnoBug (.MFILE ),
error .SystemFdQuotaExceeded => return errnoBug (.NFILE ),
error .OperationUnsupported => return errnoBug (.OPNOTSUPP ),
else => |e | return e ,
};
}