Started work on File

This commit is contained in:
Caleb Gardner
2025-05-14 06:59:56 -05:00
parent b0c71c59f8
commit 6dd3054006
8 changed files with 91 additions and 72 deletions
+24 -24
View File
@@ -5,35 +5,35 @@ pub const SymlinkInode = struct {
hard_links: u32,
target_size: u32,
path: []u8,
};
pub fn readSymlinkInode(rdr: io.AnyReader, alloc: std.mem.Allocator) !SymlinkInode {
var out = SymlinkInode{
.hard_links = try rdr.readInt(u32, std.builtin.Endian.little),
.target_size = try rdr.readInt(u32, std.builtin.Endian.little),
.path = undefined,
};
out.path = try alloc.alloc(u8, out.target_size + 1);
_ = try rdr.readAll(out.path);
return out;
}
pub fn init(rdr: io.AnyReader, alloc: std.mem.Allocator) !SymlinkInode {
var out = SymlinkInode{
.hard_links = try rdr.readInt(u32, std.builtin.Endian.little),
.target_size = try rdr.readInt(u32, std.builtin.Endian.little),
.path = undefined,
};
out.path = try alloc.alloc(u8, out.target_size + 1);
_ = try rdr.readAll(out.path);
return out;
}
};
pub const ExtSymlinkInode = struct {
hard_links: u32,
target_size: u32,
path: []u8,
xattr_index: u32,
};
pub fn readExtSymlinkInode(rdr: io.AnyReader, alloc: std.mem.Allocator) !ExtSymlinkInode {
var out = ExtSymlinkInode{
.hard_links = try rdr.readInt(u32, std.builtin.Endian.little),
.target_size = try rdr.readInt(u32, std.builtin.Endian.little),
.path = undefined,
.xattr_index = undefined,
};
out.path = try alloc.alloc(u8, out.target_size + 1);
_ = try rdr.readAll(out.path);
out.xattr_index = try rdr.readInt(u32, std.builtin.Endian.little);
return out;
}
pub fn init(rdr: io.AnyReader, alloc: std.mem.Allocator) !ExtSymlinkInode {
var out = ExtSymlinkInode{
.hard_links = try rdr.readInt(u32, std.builtin.Endian.little),
.target_size = try rdr.readInt(u32, std.builtin.Endian.little),
.path = undefined,
.xattr_index = undefined,
};
out.path = try alloc.alloc(u8, out.target_size + 1);
_ = try rdr.readAll(out.path);
out.xattr_index = try rdr.readInt(u32, std.builtin.Endian.little);
return out;
}
};