summaryrefslogtreecommitdiff
path: root/src/kernel/fd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/fd.h')
-rw-r--r--src/kernel/fd.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/kernel/fd.h b/src/kernel/fd.h
index bcc9902..c7c5182 100644
--- a/src/kernel/fd.h
+++ b/src/kernel/fd.h
@@ -18,6 +18,8 @@ struct fd {
enum fdop { // describes the operations which can be done on file descriptors
FDOP_MOUNT, // also closes the original fd
+ FDOP_OPEN, // when the file descriptor is mounted, open a file relative to it
+
FDOP_READ,
FDOP_WRITE,
FDOP_CLOSE,
@@ -30,6 +32,11 @@ struct fdop_args {
struct { // FDOP_MOUNT
struct mount *target;
} mnt;
+ struct { // FDOP_OPEN
+ struct fd *target;
+ const char *path; // relative to the mount point
+ size_t len;
+ } open;
struct { // FDOP_READ, FDOP_WRITE
user_ptr ptr;
size_t len;