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/ › Uring.zig › fileSetPermissions
fileSetPermissions
Uring.fileSetPermissions
fn fileSetPermissions (
userdata : ?*anyopaque ,
file : File ,
permissions : File .Permissions ,
) File .SetPermissionsError !void
File
Code
fn fileSetPermissions (
userdata : ?*anyopaque ,
file : File ,
permissions : File .Permissions ,
) File .SetPermissionsError !void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
var sync : CancelRegion .Sync = try .init (ev );
defer sync .deinit (ev );
ev .fchmodat (
&sync ,
file .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 ,
};
}