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 › dirSetTimestamps
dirSetTimestamps
Uring.dirSetTimestamps
fn dirSetTimestamps (
userdata : ?*anyopaque ,
dir : Dir ,
sub_path : []const u8 ,
options : Dir .SetTimestampsOptions ,
) Dir .SetTimestampsError !void
File
Code
fn dirSetTimestamps (
userdata : ?*anyopaque ,
dir : Dir ,
sub_path : []const u8 ,
options : Dir .SetTimestampsOptions ,
) Dir .SetTimestampsError !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 cancel_region : CancelRegion .Sync = try .init (ev );
defer cancel_region .deinit (ev );
try ev .utimensat (
&cancel_region ,
dir .handle ,
sub_path_posix ,
if (options .modify_timestamp != .now or options .access_timestamp != .now ) &.{
setTimestampToPosix (options .access_timestamp ),
setTimestampToPosix (options .modify_timestamp ),
} else null ,
if (options .follow_symlinks ) 0 else linux .AT .SYMLINK_NOFOLLOW ,
);
}