struct MetadataWasi [src]
Fields
stat: std.os.wasi.filestat_t
Members
Source
pub const MetadataWasi = struct {
stat: std.os.wasi.filestat_t,
pub fn size(self: @This()) u64 {
return self.stat.size;
}
pub fn permissions(self: @This()) Permissions {
return .{ .inner = .{ .mode = self.stat.mode } };
}
pub fn kind(self: @This()) Kind {
return switch (self.stat.filetype) {
.BLOCK_DEVICE => .block_device,
.CHARACTER_DEVICE => .character_device,
.DIRECTORY => .directory,
.SYMBOLIC_LINK => .sym_link,
.REGULAR_FILE => .file,
.SOCKET_STREAM, .SOCKET_DGRAM => .unix_domain_socket,
else => .unknown,
};
}
pub fn accessed(self: @This()) i128 {
return self.stat.atim;
}
pub fn modified(self: @This()) i128 {
return self.stat.mtim;
}
pub fn created(self: @This()) ?i128 {
return self.stat.ctim;
}
}