aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-07-21 20:14:11 +0200
committerHimbeer <himbeer@disroot.org>2024-07-21 20:14:11 +0200
commite97d83b5973482f1eabf2b884ef23177760be01f (patch)
tree3949a8aaa79f425a29573eb490567d5c4649137a /src
parent996744118ec16adf34ecd412a9e2029b2bbd2106 (diff)
syscall: Update provideFile signature to new OpenFn-less context system
Diffstat (limited to 'src')
-rw-r--r--src/lib/syscall.zig10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/syscall.zig b/src/lib/syscall.zig
index 37be59d..7c70bd6 100644
--- a/src/lib/syscall.zig
+++ b/src/lib/syscall.zig
@@ -109,6 +109,7 @@ fn provideStream(proc: *const process.Info, trap_frame: *trap.Frame) void {
// readFn: ?vfs.File.ReadFn,
// writeFn: ?vfs.File.WriteFn,
// closeFn: ?vfs.File.CloseFn,
+// initializer: ?*anyopaque,
// ) Result(void)
fn provideFile(proc: *const process.Info, trap_frame: *trap.Frame) void {
paging.setUserMemoryAccess(true);
@@ -116,9 +117,10 @@ fn provideFile(proc: *const process.Info, trap_frame: *trap.Frame) void {
const path_c: [*:0]const u8 = @ptrFromInt(trap_frame.general_purpose_registers[10]);
const options: *const vfs.Options = @ptrFromInt(trap_frame.general_purpose_registers[11]);
- const readFn: ?vfs.File.ReadFn = @ptrFromInt(trap_frame.general_purpose_registers[13]);
- const writeFn: ?vfs.File.WriteFn = @ptrFromInt(trap_frame.general_purpose_registers[14]);
- const closeFn: ?vfs.File.CloseFn = @ptrFromInt(trap_frame.general_purpose_registers[15]);
+ const readFn: ?vfs.File.ReadFn = @ptrFromInt(trap_frame.general_purpose_registers[12]);
+ const writeFn: ?vfs.File.WriteFn = @ptrFromInt(trap_frame.general_purpose_registers[13]);
+ const closeFn: ?vfs.File.CloseFn = @ptrFromInt(trap_frame.general_purpose_registers[14]);
+ const initializer: ?*anyopaque = @ptrFromInt(trap_frame.general_purpose_registers[15]);
sysexchange.frameReturn(null, trap_frame, vfs.provideResourceZ(path_c, .{
.tag = .file,
@@ -126,7 +128,7 @@ fn provideFile(proc: *const process.Info, trap_frame: *trap.Frame) void {
.readFn = readFn,
.writeFn = writeFn,
.closeFn = closeFn,
- .initializer = null,
+ .initializer = initializer,
} },
}, proc.id, options.*));
}