51 lines
1.0 KiB
Zig
51 lines
1.0 KiB
Zig
pub const InodeRef = packed struct {
|
|
_: u16,
|
|
block_start: u32,
|
|
offset: u16,
|
|
};
|
|
|
|
const InodeType = enum(u16) {
|
|
dir = 1,
|
|
file,
|
|
symlink,
|
|
block_device,
|
|
char_device,
|
|
fifo,
|
|
socket,
|
|
ext_dir,
|
|
ext_file,
|
|
ext_symlink,
|
|
ext_block_device,
|
|
ext_char_device,
|
|
ext_fifo,
|
|
ext_socket,
|
|
};
|
|
|
|
pub const InodeHeader = packed struct {
|
|
inode_type: InodeType,
|
|
perm: u16,
|
|
uid_index: u16,
|
|
gid_index: u16,
|
|
mod_time: u32,
|
|
inode_num: u32,
|
|
};
|
|
|
|
const itypes = @import("inode_types.zig");
|
|
|
|
const InodeData = union(enum) {
|
|
dir: itypes.DirInode,
|
|
file: itypes.FileInode,
|
|
symlink: itypes.SymlinkInode,
|
|
block_device: itypes.DeviceInode,
|
|
char_device: itypes.DeviceInode,
|
|
fifo: itypes.FifoInode,
|
|
socket: itypes.FifoInode,
|
|
ext_dir: itypes.ExtDirInode,
|
|
ext_file: itypes.ExtFileInode,
|
|
ext_symlink: itypes.ExtSymlinkInode,
|
|
ext_block_device: itypes.ExtDeviceInode,
|
|
ext_char_device: itypes.ExtDeviceInode,
|
|
ext_fifo: itypes.ExtFifoInode,
|
|
ext_socket: itypes.ExtFifoInode,
|
|
};
|