Started working on file extraction

This commit is contained in:
Caleb Gardner
2026-05-03 05:31:04 -05:00
parent cbd2697c19
commit 5521b2ce6a
3 changed files with 28 additions and 0 deletions
+1
View File
@@ -7,6 +7,7 @@ const Archive = @import("archive.zig");
const DirEntry = @import("directory.zig"); const DirEntry = @import("directory.zig");
const ExtractionOptions = @import("options.zig"); const ExtractionOptions = @import("options.zig");
const Inode = @import("inode.zig"); const Inode = @import("inode.zig");
const DataExtractor = @import("util/data_extractor.zig");
const MetadataReader = @import("util/metadata.zig"); const MetadataReader = @import("util/metadata.zig");
const File = @This(); const File = @This();
+7
View File
@@ -0,0 +1,7 @@
const BlockSize = @import("inode_data/file.zig").BlockSize;
pub const FragEntry = extern struct {
start: u64,
size: BlockSize,
_: u32,
};
+20
View File
@@ -0,0 +1,20 @@
//! DataReader reads a regular file's data linearly from start to finish using Io.Reader interface.
const std = @import("std");
const Io = std.Io;
const BlockSize = @import("../inode_data/file.zig").BlockSize;
const Decompressor = @import("decompressor.zig");
const OffsetFile = @import("offset_file.zig");
const DataExtractor = @This();
fil: OffsetFile,
decomp: *const Decompressor,
block_size: u32,
file_size: u64,
cur_offset: u64,
blocks: []BlockSize,
interface: Io.Reader,