From 613de4db61dd99e7d2049b0a303e167fa711030b Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 4 Sep 2021 19:34:51 +0200 Subject: new vfs impl pt. 1: implement open() --- src/kernel/vfs/backend.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/kernel/vfs/backend.h (limited to 'src/kernel/vfs/backend.h') diff --git a/src/kernel/vfs/backend.h b/src/kernel/vfs/backend.h new file mode 100644 index 0000000..6a8bee6 --- /dev/null +++ b/src/kernel/vfs/backend.h @@ -0,0 +1,23 @@ +#pragma once +#include + +enum vfs_backend_type { + VFS_BACK_ROOT, +}; + +// describes something which can acts as an access function +struct vfs_backend { + enum vfs_backend_type type; +}; + +// describes an in-progress vfs call +struct vfs_op_request { + struct vfs_op op; + struct process *caller; + struct vfs_backend *backend; +}; + + +// these can switch processes +_Noreturn void vfs_backend_dispatch(struct vfs_backend *backend, struct vfs_op op); +_Noreturn void vfs_backend_finish(struct vfs_op_request *, int ret); -- cgit v1.2.3