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 › Dispatch › fileSetTimestamps Private Function fileSetTimestamps Doc Source Private Function std.Io.Dispatch.fileSetTimestamps
fn fileSetTimestamps (
userdata : ?*anyopaque ,
file : File ,
options : File .SetTimestampsOptions ,
) File .SetTimestampsError !void Params userdata : ?*anyopaque file : File options : File .SetTimestampsOptions File Io/Dispatch.zig: 3678
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706 fn fileSetTimestamps (
userdata : ?*anyopaque ,
file : File ,
options : File .SetTimestampsOptions ,
) File .SetTimestampsError !void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
_ = ev ;
var times_buffer : [2 ]c .timespec = undefined ;
const times = if (options .modify_timestamp == .now and options .access_timestamp == .now ) null else p : {
times_buffer = .{
setTimestampToPosix (options .access_timestamp ),
setTimestampToPosix (options .modify_timestamp ),
};
break :p ×_buffer ;
};
while (true ) switch (c .errno (c .futimens (file .handle , times ))) {
.SUCCESS => return ,
.INTR => {},
.BADF => |err | return errnoBug (err ), // always a race condition
.FAULT => |err | return errnoBug (err ),
.INVAL => |err | return errnoBug (err ),
.ACCES => return error .AccessDenied ,
.PERM => return error .PermissionDenied ,
.ROFS => return error .ReadOnlyFileSystem ,
else => |err | return unexpectedErrno (err ),
};
}