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 › fileStat Private Function fileStat Doc Source Private Function std.Io.Dispatch.fileStat
fn fileStat (userdata : ?*anyopaque , file : File ) File .StatError !File .Stat Params userdata : ?*anyopaque file : File File Io/Dispatch.zig: 3245
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260 fn fileStat (userdata : ?*anyopaque , file : File ) File .StatError !File .Stat {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
_ = ev ;
while (true ) {
var stat = std .mem .zeroes (c .Stat );
switch (c .errno (c .fstat (file .handle , &stat ))) {
.SUCCESS => return statFromPosix (&stat ),
.INTR => {},
.INVAL => |err | return errnoBug (err ),
.BADF => |err | return errnoBug (err ), // File descriptor used after closed.
.NOMEM => return error .SystemResources ,
.ACCES => return error .AccessDenied ,
else => |err | return unexpectedErrno (err ),
}
}
}