L4Re Operating System Framework
Interface and Usage Documentation
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 Member Functions inherited from L4Re::Vfs::Generic_file
virtual int unlock_all_locks () noexcept=0
 Unlock all locks on the file.
 
virtual int fstat64 (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).
 
- Public Member Functions inherited from L4Re::Vfs::Regular_file
virtual L4::Cap< L4Re::Dataspacedata_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 lseek64 (off64_t, int) noexcept=0
 Change the file pointer.
 
virtual int ftruncate64 (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 435 of file vfs.h.


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