4 default_file_close(struct v_file* file)
10 default_file_seek(struct v_inode* inode, size_t offset)
16 default_inode_open(struct v_inode* this, struct v_file* file)
22 default_file_read(struct v_inode* inode, void* buffer, size_t len, size_t fpos)
28 default_file_write(struct v_inode* inode, void* buffer, size_t len, size_t fpos)
34 default_file_read_page(struct v_inode* inode, void* buffer, size_t fpos)
40 default_file_write_page(struct v_inode* inode, void* buffer, size_t fpos)
46 default_file_readdir(struct v_file* file, struct dir_context* dctx)
49 struct v_dnode *pos, *n;
50 llist_for_each(pos, n, &file->dnode->children, siblings)
52 if (i < dctx->index) {
56 dctx->read_complete_callback(dctx, pos->name.value, pos->name.len, 0);
64 default_inode_dirlookup(struct v_inode* this, struct v_dnode* dnode)
70 default_inode_rename(struct v_inode* from_inode,
71 struct v_dnode* from_dnode,
72 struct v_dnode* to_dnode)
78 default_inode_sync(struct v_inode* this)
84 default_inode_rmdir(struct v_inode* this, struct v_dnode* dir)
90 default_inode_mkdir(struct v_inode* this, struct v_dnode* dir)
95 struct v_file_ops default_file_ops = { .close = default_file_close,
96 .read = default_file_read,
97 .seek = default_file_seek,
98 .readdir = default_file_readdir };
100 struct v_inode_ops default_inode_ops = { .dir_lookup = default_inode_dirlookup,
101 .sync = default_inode_sync,
102 .open = default_inode_open,
103 .rename = default_inode_rename,
104 .rmdir = default_inode_rmdir };