summaryrefslogtreecommitdiff
path: root/kernel/fs/vfs.h
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-03-17 20:55:34 +0100
committerAnton Kling <anton@kling.gg>2024-03-17 20:55:34 +0100
commit0dccff86e50dfe1555b8bc29862dba2b972a3705 (patch)
tree8d0c354c65278afdc3427bb52e1e63900ccdbc05 /kernel/fs/vfs.h
parent2e8b474d4219e7faaac3823e73c8d528c2698a37 (diff)
stuff
Diffstat (limited to 'kernel/fs/vfs.h')
-rw-r--r--kernel/fs/vfs.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/fs/vfs.h b/kernel/fs/vfs.h
index 77d9efd..bee3179 100644
--- a/kernel/fs/vfs.h
+++ b/kernel/fs/vfs.h
@@ -1,9 +1,9 @@
+#ifndef VFS_H
+#define VFS_H
typedef struct vfs_fd vfs_fd_t;
typedef struct vfs_inode vfs_inode_t;
typedef struct vfs_vm_object vfs_vm_object_t;
typedef struct vfs_mounts vfs_mounts_t;
-#ifndef VFS_H
-#define VFS_H
#include <dirent.h>
#include <limits.h>
#include <sched/scheduler.h>
@@ -70,12 +70,13 @@ struct vfs_inode {
};
int vfs_close(int fd);
-vfs_fd_t *get_vfs_fd(int fd);
+vfs_fd_t *get_vfs_fd(int fd, process_t *p);
int vfs_open(const char *file, int flags, int mode);
void vfs_mount(char *path, vfs_inode_t *local_root);
int vfs_pwrite(int fd, void *buf, u64 count, u64 offset);
int raw_vfs_pwrite(vfs_fd_t *vfs_fd, void *buf, u64 count, u64 offset);
int raw_vfs_pread(vfs_fd_t *vfs_fd, void *buf, u64 count, u64 offset);
+int vfs_pmread(int fd, void *buf, u64 count, int blocking, u64 offset);
int vfs_pread(int fd, void *buf, u64 count, u64 offset);
vfs_vm_object_t *vfs_get_vm_object(int fd, u64 length, u64 offset);
int vfs_dup2(int org_fd, int new_fd);