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 › dirSetTimestamps Private Function dirSetTimestamps Doc Source Private Function std.Io.Uring.dirSetTimestamps
fn dirSetTimestamps (
userdata : ?*anyopaque ,
dir : Dir ,
sub_path : []const u8 ,
options : Dir .SetTimestampsOptions ,
) Dir .SetTimestampsError !void Params userdata : ?*anyopaque dir : Dir sub_path : []const u8 options : Dir .SetTimestampsOptions File Io/Uring.zig: 3532
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553 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 ,
);
}