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 › dirSetFileOwner
dirSetFileOwner
Uring.dirSetFileOwner
fn dirSetFileOwner (
userdata : ?*anyopaque ,
dir : Dir ,
sub_path : []const u8 ,
owner : ?File .Uid ,
group : ?File .Gid ,
options : Dir .SetFileOwnerOptions ,
) Dir .SetFileOwnerError !void
File
Code
fn dirSetFileOwner (
userdata : ?*anyopaque ,
dir : Dir ,
sub_path : []const u8 ,
owner : ?File .Uid ,
group : ?File .Gid ,
options : Dir .SetFileOwnerOptions ,
) Dir .SetFileOwnerError !void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
var path_buffer : [PATH_MAX ]u8 = undefined ;
const sub_path_posix = try pathToPosix (sub_path , &path_buffer );
var sync : CancelRegion .Sync = try .init (ev );
defer sync .deinit (ev );
try ev .fchownat (
&sync ,
dir .handle ,
sub_path_posix ,
owner orelse std .math .maxInt (linux .uid_t ),
group orelse std .math .maxInt (linux .gid_t ),
if (options .follow_symlinks ) 0 else linux .AT .SYMLINK_NOFOLLOW ,
);
}