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 › dirSetFilePermissions
dirSetFilePermissions
Threaded.dirSetFilePermissions
fn dirSetFilePermissions (
userdata : ?*anyopaque ,
dir : Dir ,
sub_path : []const u8 ,
permissions : Dir .Permissions ,
options : Dir .SetFilePermissionsOptions ,
) Dir .SetFilePermissionsError !void
File
Code
fn dirSetFilePermissions (
userdata : ?*anyopaque ,
dir : Dir ,
sub_path : []const u8 ,
permissions : Dir .Permissions ,
options : Dir .SetFilePermissionsOptions ,
) Dir .SetFilePermissionsError !void {
if (@sizeOf (Dir .Permissions ) == 0 ) return ;
if (is_windows ) @panic ("TODO implement dirSetFilePermissions windows" );
const t : *Threaded = @ptrCast (@alignCast (userdata ));
var path_buffer : [posix .PATH_MAX ]u8 = undefined ;
const sub_path_posix = try pathToPosix (sub_path , &path_buffer );
const mode = permissions .toMode ();
const flags : u32 = if (!options .follow_symlinks ) posix .AT .SYMLINK_NOFOLLOW else 0 ;
return posixFchmodat (t , dir .handle , sub_path_posix , mode , flags );
}