diff options
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 { |