Loading...
Searching...
No Matches
L4Re::Vfs::File Class Referenceabstract

The basic interface for an open POSIX file. More...

`#include <vfs.h>`

Inheritance diagram for L4Re::Vfs::File:
Collaboration diagram for L4Re::Vfs::File:

## 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.

## Detailed Description

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.

Note
  For implementing a backend for the L4Re::Vfs L4Re::Vfs::Be_file may be used as a base class.

Definition at line 455 of file vfs.h.

The documentation for this class was generated from the following file:

- l4/l4re_vfs/vfs.h