|
PatchworkOS
966e257
A non-POSIX operating system.
|
#include <kernel/fs/dentry.h>#include <kernel/fs/file.h>#include <kernel/fs/inode.h>#include <kernel/fs/mount.h>#include <kernel/fs/path.h>#include <kernel/fs/superblock.h>#include <kernel/fs/sysfs.h>#include <kernel/proc/process.h>#include <kernel/sync/rwlock.h>#include <kernel/utils/map.h>#include <sys/io.h>#include <sys/list.h>#include <sys/math.h>#include <sys/proc.h>Go to the source code of this file.
Macros | |
| #define | VFS_ROOT_ENTRY_NAME "__root__" |
| The name of the root entry. | |
| #define | VFS_DEVICE_NAME_NONE "__no_device__" |
| The name used to indicate no device. | |
| #define | BUFFER_READ(buffer, count, offset, src, size) |
| Helper macros for implementing file operations dealing with simple buffers. | |
| #define | BUFFER_WRITE(buffer, count, offset, src, size) |
| Helper macro for implementing file operations dealing with simple buffer writes. | |
Functions | |
| file_t * | vfs_open (const pathname_t *pathname, process_t *process) |
| Open a file. | |
| uint64_t | vfs_open2 (const pathname_t *pathname, file_t *files[2], process_t *process) |
| Open one file, returning two file handles. | |
| file_t * | vfs_openat (const path_t *from, const pathname_t *pathname, process_t *process) |
| Open a file relative to another path. | |
| uint64_t | vfs_read (file_t *file, void *buffer, uint64_t count) |
| Read from a file. | |
| uint64_t | vfs_write (file_t *file, const void *buffer, uint64_t count) |
| Write to a file. | |
| uint64_t | vfs_seek (file_t *file, int64_t offset, seek_origin_t origin) |
| Seek in a file. | |
| uint64_t | vfs_ioctl (file_t *file, uint64_t request, void *argp, uint64_t size) |
| Perform an ioctl operation on a file. | |
| void * | vfs_mmap (file_t *file, void *address, uint64_t length, pml_flags_t flags) |
| Memory map a file. | |
| uint64_t | vfs_poll (poll_file_t *files, uint64_t amount, clock_t timeout) |
| Poll multiple files. | |
| uint64_t | vfs_getdents (file_t *file, dirent_t *buffer, uint64_t count) |
| Get directory entries from a directory file. | |
| uint64_t | vfs_stat (const pathname_t *pathname, stat_t *buffer, process_t *process) |
| Get file information. | |
| uint64_t | vfs_link (const pathname_t *oldPathname, const pathname_t *newPathname, process_t *process) |
| Make the same file appear twice in the filesystem. | |
| uint64_t | vfs_remove (const pathname_t *pathname, process_t *process) |
| Remove a file or directory. | |
| uint64_t | vfs_id_get (void) |
| Generates a new unique ID, to be used for any VFS object. | |