user/vmm: add and use a load_elf function
[akaros.git] / kern / include / kfs.h
index 7921437..1913a93 100644 (file)
@@ -7,8 +7,7 @@
  * This is a cheap FS that is based off of a CPIO archive appended to the end of
  * the kernel binary image. */
 
-#ifndef ROS_KERN_KFS_H
-#define ROS_KERN_KFS_H
+#pragma once
 
 #include <ros/common.h>
 #include <vfs.h>
@@ -29,7 +28,7 @@ struct super_block *kfs_get_sb(struct fs_type *fs, int flags,
                                char *dev_name, struct vfsmount *vmnt);
 void kfs_kill_sb(struct super_block *sb);
 /* Page Map Operations */
-int kfs_readpage(struct file *file, struct page *page);
+int kfs_readpage(struct page_map *pm, struct page *page);
 /* Super Operations */
 struct inode *kfs_alloc_inode(struct super_block *sb);
 void kfs_dealloc_inode(struct inode *inode);
@@ -63,13 +62,12 @@ void kfs_truncate(struct inode *inode);
 int kfs_permission(struct inode *inode, int mode, struct nameidata *nd);
 /* dentry_operations */
 int kfs_d_revalidate(struct dentry *dir, struct nameidata *nd);
-int kfs_d_hash(struct dentry *dentry, struct qstr *name);
 int kfs_d_compare(struct dentry *dir, struct qstr *name1, struct qstr *name2);
 int kfs_d_delete(struct dentry *dentry);
 int kfs_d_release(struct dentry *dentry);
 void kfs_d_iput(struct dentry *dentry, struct inode *inode);
 /* file_operations */
-off_t kfs_llseek(struct file *file, off_t offset, int whence);
+int kfs_llseek(struct file *file, off64_t offset, off64_t *ret, int whence);
 int kfs_readdir(struct file *dir, struct dirent *dirent);
 int kfs_mmap(struct file *file, struct vm_region *vmr);
 int kfs_open(struct inode *inode, struct file *file);
@@ -78,11 +76,9 @@ int kfs_release(struct inode *inode, struct file *file);
 int kfs_fsync(struct file *file, struct dentry *dentry, int datasync);
 unsigned int kfs_poll(struct file *file, struct poll_table_struct *poll_table);
 ssize_t kfs_readv(struct file *file, const struct iovec *vector,
-                  unsigned long count, off_t *offset);
+                  unsigned long count, off64_t *offset);
 ssize_t kfs_writev(struct file *file, const struct iovec *vector,
-                  unsigned long count, off_t *offset);
+                  unsigned long count, off64_t *offset);
 ssize_t kfs_sendpage(struct file *file, struct page *page, int offset,
-                     size_t size, off_t pos, int more);
+                     size_t size, off64_t pos, int more);
 int kfs_check_flags(int flags);
-
-#endif /* !ROS_KERN_KFS_H */