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 › Threaded › statFromLinux Public Function statFromLinux Doc Source Public Function std.Io.Threaded.statFromLinux
pub fn statFromLinux (stx : *const std .os .linux .Statx ) Io .UnexpectedError !File .Stat Params File Io/Threaded.zig: 14442
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460 pub fn statFromLinux (stx : *const std .os .linux .Statx ) Io .UnexpectedError !File .Stat {
const actual_mask_int : u32 = @bitCast (stx .mask );
const wanted_mask_int : u32 = @bitCast (linux_statx_check );
if ((actual_mask_int | wanted_mask_int ) != actual_mask_int ) return error .Unexpected ;
return .{
.inode = stx .ino ,
.nlink = stx .nlink ,
.size = stx .size ,
.permissions = .fromMode (stx .mode ),
.kind = statxKind (stx .mode ),
.atime = if (!stx .mask .ATIME ) null else .{
.nanoseconds = @intCast (@as (i128 , stx .atime .sec ) * std .time .ns_per_s + stx .atime .nsec ),
},
.mtime = .{ .nanoseconds = @intCast (@as (i128 , stx .mtime .sec ) * std .time .ns_per_s + stx .mtime .nsec ) },
.ctime = .{ .nanoseconds = @intCast (@as (i128 , stx .ctime .sec ) * std .time .ns_per_s + stx .ctime .nsec ) },
.block_size = if (stx .mask .BLOCKS ) stx .blksize else 1 ,
};
}