+
+int
+vfs_dup_fd(struct v_fd* old, struct v_fd** new);
+
+void
+pcache_init(struct pcache* pcache);
+
+void
+pcache_release_page(struct pcache* pcache, struct pcache_pg* page);
+
+struct pcache_pg*
+pcache_new_page(struct pcache* pcache, uint32_t index);
+
+void
+pcache_set_dirty(struct pcache* pcache, struct pcache_pg* pg);
+
+struct pcache_pg*
+pcache_get_page(struct pcache* pcache,
+ uint32_t index,
+ uint32_t* offset,
+ struct pcache_pg** page);
+
+int
+pcache_write(struct v_inode* inode, void* data, uint32_t len, uint32_t fpos);
+
+int
+pcache_read(struct v_inode* inode, void* data, uint32_t len, uint32_t fpos);
+
+void
+pcache_release(struct pcache* pcache);
+
+int
+pcache_commit(struct v_inode* inode, struct pcache_pg* page);
+
+void
+pcache_commit_all(struct v_inode* inode);
+
+void
+pcache_invalidate(struct pcache* pcache, struct pcache_pg* page);