diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-27 19:27:12 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-27 19:27:12 -0400 |
commit | 380da5fe2e8ef39cfca6e92ef53c1b3f44ab77c6 (patch) | |
tree | 70c770fd0dd82a173c5da8c0003c9c735dc3910e /sys/include | |
parent | 7f27268c86bcb54a79854bb16d3c2631cb10ff80 (diff) |
kernel: vfs: Add getattr vop
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include')
-rw-r--r-- | sys/include/sys/vfs.h | 1 | ||||
-rw-r--r-- | sys/include/sys/vnode.h | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/include/sys/vfs.h b/sys/include/sys/vfs.h index b454d39..d79409e 100644 --- a/sys/include/sys/vfs.h +++ b/sys/include/sys/vfs.h @@ -52,6 +52,7 @@ int vfs_rootname(const char *path, char **new_path); bool vfs_is_valid_path(const char *path); ssize_t vfs_hash_path(const char *path); ssize_t vfs_read(struct vnode *vp, struct sio_txn *sio); +int vfs_getattr(struct vnode *vp, struct vattr *vattr); #endif /* defined(_KERNEL) */ diff --git a/sys/include/sys/vnode.h b/sys/include/sys/vnode.h index 0352312..ac66044 100644 --- a/sys/include/sys/vnode.h +++ b/sys/include/sys/vnode.h @@ -36,11 +36,18 @@ #include <sys/sio.h> struct vnode; +struct vattr; struct vops { int(*vget)(struct vnode *parent, const char *name, struct vnode **vp); int(*read)(struct vnode *vp, struct sio_txn *sio); int(*write)(struct vnode *vp, struct sio_txn *sio); + int(*getattr)(struct vnode *vp, struct vattr *vattr); +}; + +struct vattr { + size_t size; /* File size in bytes */ + int type; /* Vnode type */ }; struct vnode { |