#ifndef __KERN_FS_SYSFILE_H__ #define __KERN_FS_SYSFILE_H__ #include struct stat; struct dirent; int sysfile_open(const char *path, uint32_t open_flags); // Open or create a file. FLAGS/MODE per the syscall. int sysfile_close(int fd); // Close a vnode opened int sysfile_read(int fd, void *base, size_t len); // Read file int sysfile_write(int fd, void *base, size_t len); // Write file int sysfile_seek(int fd, off_t pos, int whence); // Seek file int sysfile_fstat(int fd, struct stat *stat); // Stat file int sysfile_fsync(int fd); // Sync file int sysfile_chdir(const char *path); // change DIR int sysfile_mkdir(const char *path); // create DIR int sysfile_link(const char *path1, const char *path2); // set a path1's link as path2 int sysfile_rename(const char *path1, const char *path2); // rename file int sysfile_unlink(const char *path); // unlink a path int sysfile_getcwd(char *buf, size_t len); // get current working directory int sysfile_getdirentry(int fd, struct dirent *direntp); // get the file entry in DIR int sysfile_dup(int fd1, int fd2); // duplicate file int sysfile_pipe(int *fd_store); // build PIPE int sysfile_mkfifo(const char *name, uint32_t open_flags); // build named PIPE #endif /* !__KERN_FS_SYSFILE_H__ */