summaryrefslogtreecommitdiff
path: root/kernel/fs/vfs.h
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-04-02 09:17:06 +0200
committerAnton Kling <anton@kling.gg>2024-04-02 09:39:03 +0200
commit2229fd91f7230ae7068814ae029b733945852eb1 (patch)
tree416487f8c66c389c57dee465f648362ca59b8f23 /kernel/fs/vfs.h
parent7eceb43433634ee253507208baf1d8298b40e377 (diff)
Kernel: Fix some memory leaks
Diffstat (limited to 'kernel/fs/vfs.h')
-rw-r--r--kernel/fs/vfs.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/fs/vfs.h b/kernel/fs/vfs.h
index 8e61e11..e75d12e 100644
--- a/kernel/fs/vfs.h
+++ b/kernel/fs/vfs.h
@@ -54,6 +54,7 @@ struct vfs_fd {
struct vfs_inode {
int inode_num;
int type;
+ int ref;
u8 has_data;
u8 can_write;
u8 is_open;
@@ -68,6 +69,7 @@ struct vfs_inode {
vfs_vm_object_t *(*get_vm_object)(u64 length, u64 offset, vfs_fd_t *fd);
int (*truncate)(vfs_fd_t *fd, size_t length);
int (*stat)(vfs_fd_t *fd, struct stat *buf);
+ int (*send_signal)(vfs_fd_t *fd, int signal);
};
int vfs_close(int fd);
@@ -100,5 +102,6 @@ vfs_inode_t *vfs_create_inode(
int (*create_directory)(const char *path, int mode),
vfs_vm_object_t *(*get_vm_object)(u64 length, u64 offset, vfs_fd_t *fd),
int (*truncate)(vfs_fd_t *fd, size_t length),
- int (*stat)(vfs_fd_t *fd, struct stat *buf));
+ int (*stat)(vfs_fd_t *fd, struct stat *buf),
+ int (*send_signal)(vfs_fd_t *fd, int signal));
#endif