diff options
Diffstat (limited to 'src/kernel/vfs/backend.h')
-rw-r--r-- | src/kernel/vfs/backend.h | 23 |
1 files changed, 23 insertions, 0 deletions
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 <shared/vfs.h> + +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); |