![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
The basic interface for an open POSIX file. More...
#include <vfs.h>
Additional Inherited Members | |
| Public Types inherited from L4Re::Vfs::Generic_file | |
| enum | Ready_type : unsigned |
| Type of I/O operation/condition a file can indicate readiness. More... | |
| Public Member Functions inherited from L4Re::Vfs::Generic_file | |
| virtual int | unlock_all_locks () noexcept=0 |
| Unlock all locks on the file. | |
| virtual int | fstat (struct stat64 *buf) const noexcept=0 |
| Get status information for the file. | |
| virtual int | fchmod (mode_t) noexcept=0 |
| Change POSIX access rights on the file. | |
| virtual int | get_status_flags () const noexcept=0 |
| Get file status flags (fcntl F_GETFL). | |
| virtual int | set_status_flags (long flags) noexcept=0 |
| Set file status flags (fcntl F_SETFL). | |
| virtual bool | check_ready (Ready_type rt) noexcept=0 |
| Check whether the file is ready for an I/O operation/condition. | |
| Public Member Functions inherited from L4Re::Vfs::Regular_file | |
| virtual L4::Cap< L4Re::Dataspace > | data_space () noexcept=0 |
| Get an L4Re::Dataspace object for the file. | |
| virtual ssize_t | readv (const struct iovec *, int iovcnt) noexcept=0 |
| Read one or more blocks of data from the file. | |
| virtual ssize_t | writev (const struct iovec *, int iovcnt) noexcept=0 |
| Write one or more blocks of data to the file. | |
| virtual off64_t | lseek (off64_t, int) noexcept=0 |
| Change the file pointer. | |
| virtual int | ftruncate (off64_t pos) noexcept=0 |
| Truncate the file at the given position. | |
| virtual int | fsync () const noexcept=0 |
| Sync the data and meta data to persistent storage. | |
| virtual int | fdatasync () const noexcept=0 |
| Sync the data to persistent storage. | |
| virtual int | get_lock (struct flock64 *lock) noexcept=0 |
| Test if the given lock can be placed in the file. | |
| virtual int | set_lock (struct flock64 *lock, bool wait) noexcept=0 |
| Acquire or release the given lock on the file. | |
| Public Member Functions inherited from L4Re::Vfs::Directory | |
| virtual int | faccessat (const char *path, int mode, int flags) noexcept=0 |
| Check access permissions on the given file. | |
| virtual int | mkdir (const char *path, mode_t mode) noexcept=0 |
| Create a new subdirectory. | |
| virtual int | unlink (const char *path) noexcept=0 |
| Unlink the given file from that directory. | |
| virtual int | rename (const char *src_path, const char *dst_path) noexcept=0 |
| Rename the given file. | |
| virtual int | link (const char *src_path, const char *dst_path) noexcept=0 |
| Create a hard link (second name) for the given file. | |
| virtual int | symlink (const char *src_path, const char *dst_path) noexcept=0 |
| Create a symbolic link for the given file. | |
| virtual int | rmdir (const char *path) noexcept=0 |
| Delete an empty directory. | |
| Public Member Functions inherited from L4Re::Vfs::Special_file | |
| virtual int | ioctl (unsigned long cmd, va_list args) noexcept=0 |
| The famous IO control. | |
The basic interface for an open POSIX file.
An open POSIX file can be anything that hides behind a POSIX file descriptor. This means that even directories are files. An open file can be anything from a directory to a special device file so see Generic_file, Regular_file, Directory, and Special_file for more information.