summaryrefslogtreecommitdiff
path: root/sys/include
diff options
context:
space:
mode:
Diffstat (limited to 'sys/include')
-rw-r--r--sys/include/sys/vfs.h1
-rw-r--r--sys/include/sys/vnode.h7
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 {