Skip to content

VFS

Member TypeMember Name
uint16_tmode
uint64_tsize
uint64_tinode
uint32_tnlink
uint64_tatime
uint64_tmtime
uint64_tctime
uint16_tpresent_mask
Member TypeMember Name
charname[VFS_NAME_MAX]
uint16_tmode
struct vfs_node*node
void*dirent_data
Member TypeMember Name
enum errno(*read)(struct vfs_node *node, void *buf, uint64_t size, uint64_t offset)
enum errno(*write)(struct vfs_node *node, const void *buf, uint64_t size, uint64_t offset)
enum errno(*open)(struct vfs_node *node, uint32_t flags)
enum errno(*close)(struct vfs_node *node)
enum errno(*create)(struct vfs_node *parent, const char *name, uint16_t mode)
enum errno(*mknod)(struct vfs_node *parent, const char *name, uint16_t mode, uint32_t dev)
enum errno(*symlink)(struct vfs_node *parent, const char *target, const char *link_name)
enum errno(*mount)(struct vfs_node *mountpoint, struct vfs_node *target, const char *name)
enum errno(*unmount)(struct vfs_mount *mountpoint)
enum errno(*stat)(struct vfs_node *node, struct vfs_stat *out)
enum errno(*readdir)(struct vfs_node *node, struct vfs_dirent *out, uint64_t index)
enum errno(*mkdir)(struct vfs_node *parent, const char *name, uint16_t mode)
enum errno(*rmdir)(struct vfs_node *parent, const char *name)
enum errno(*unlink)(struct vfs_node *parent, const char *name)
enum errno(*rename)(struct vfs_node *old_parent, const char *old_name, struct vfs_node *new_parent, const char *new_name)
enum errno(*truncate)(struct vfs_node *node, uint64_t length)
enum errno(*readlink)(struct vfs_node *node, char *buf, uint64_t size)
enum errno(*link)(struct vfs_node *parent, struct vfs_node *target, const char *link_name)
enum errno(*chmod)(struct vfs_node *node, uint16_t mode)
enum errno(*chown)(struct vfs_node *node, uint32_t uid, uint32_t gid)
enum errno(*utime)(struct vfs_node *node, uint64_t atime, uint64_t mtime)
enum errno(*destroy)(struct vfs_node *node)
enum errno(*finddir)(struct vfs_node *node, const char *name, struct vfs_dirent *out)
Member TypeMember Name
struct vfs_node*mount_point
struct vfs_mount*mount_mount
struct vfs_node*root
struct vfs_ops*ops
charname[256]
void*fs_data
Member TypeMember Name
enum fs_typefs_type
uint64_topen_handles
uint64_tunique_id
uint32_tflags
uint16_tmode
uint64_tsize
uint32_tuid
uint32_tgid
uint64_tmtime
uint64_tatime
void*fs_data
void*fs_node_data
struct vfs_mount*child_mount
struct vfs_ops*ops
NameValue
VFS_NODE_NONE0x0000
VFS_NODE_MOUNTPOINT0x0001
VFS_NODE_SYMLINK0x0002
VFS_NODE_HIDDEN0x0004
VFS_NODE_DEVICE0x0008
VFS_NODE_PIPE0x0010
VFS_NODE_SOCKET0x0020
VFS_NODE_SYNC0x0030
VFS_NODE_TEMPORARY0x0040
VFS_NODE_NOATIME0x0080
VFS_NODE_APPENDONLY0x0100
VFS_NODE_IMMUTABLE0x0200
VFS_NODE_NOFOLLOW0x0400
VFS_NODE_IN_USE0x0800
VFS_NODE_DIRSYNC0x1000
NameValue
VFS_OPEN_READ0x01
VFS_OPEN_WRITE0x02
VFS_OPEN_RDWR`VFS_OPEN_READ
VFS_OPEN_APPEND0x04
VFS_OPEN_CREAT0x08
VFS_OPEN_TRUNC0x10
VFS_OPEN_EXCL0x20
VFS_OPEN_DIR0x40
VFS_OPEN_SYMLINK_NOFOLLOW0x80
VFS_OPEN_NONBLOCK0x100
VFS_OPEN_SYNC0x200
VFS_OPEN_NOATIME0x400