![]()  | 
  
    L4Re Operating System Framework
    
   Interface and Usage Documentation 
   | 
 
Boiler plate class for implementing an open file for L4Re::Vfs. More...
#include <backend>
Public Member Functions | |
| int | unlock_all_locks () noexcept override | 
| Unlock all locks on the file.   | |
| L4::Cap< L4Re::Dataspace > | data_space () noexcept override | 
| Get an L4Re::Dataspace object for the file.   | |
| ssize_t | readv (const struct iovec *, int) noexcept override | 
| Default backend for POSIX read and readv functions.  | |
| ssize_t | writev (const struct iovec *, int) noexcept override | 
| Default backend for POSIX write and writev functions.  | |
| ssize_t | pwritev (const struct iovec *, int, off64_t) noexcept override | 
| Default backend for POSIX pwrite and pwritev functions.  | |
| ssize_t | preadv (const struct iovec *, int, off64_t) noexcept override | 
| Default backend for POSIX pread and preadv functions.  | |
| off64_t | lseek (off64_t, int) noexcept override | 
| Default backend for POSIX seek and lseek functions.  | |
| int | ftruncate (off64_t) noexcept override | 
| Default backend for the POSIX truncate, ftruncate and similar functions.  | |
| int | fsync () const noexcept override | 
| Default backend for POSIX fsync.  | |
| int | fdatasync () const noexcept override | 
| Default backend for POSIX fdatasync.  | |
| int | ioctl (unsigned long, va_list) noexcept override | 
| Default backend for POSIX ioctl.  | |
| int | fstat (struct stat64 *) const noexcept override | 
| Get status information for the file.   | |
| int | fchmod (mode_t) noexcept override | 
| Default backend for POSIX chmod and fchmod.  | |
| int | get_status_flags () const noexcept override | 
| Default backend for POSIX fcntl subfunctions.  | |
| int | set_status_flags (long) noexcept override | 
| Default backend for POSIX fcntl subfunctions.  | |
| int | get_lock (struct flock64 *) noexcept override | 
| Default backend for POSIX fcntl subfunctions.  | |
| int | set_lock (struct flock64 *, bool) noexcept override | 
| Default backend for POSIX fcntl subfunctions.  | |
| int | faccessat (const char *, int, int) noexcept override | 
| Default backend for POSIX access and faccessat functions.  | |
| int | fchmodat (const char *, mode_t, int) noexcept override | 
| Default backend for POSIX fchmodat function.  | |
| int | utime (const struct utimbuf *) noexcept override | 
| Default backend for POSIX utime.  | |
| int | utimes (const struct timeval[2]) noexcept override | 
| Default backend for POSIX utimes.  | |
| int | utimensat (const char *, const struct timespec[2], int) noexcept override | 
| Default backend for POSIX utimensat.  | |
| int | mkdir (const char *, mode_t) noexcept override | 
| Default backend for POSIX mkdir and mkdirat.  | |
| int | unlink (const char *) noexcept override | 
| Default backend for POSIX unlink, unlinkat.  | |
| int | rename (const char *, const char *) noexcept override | 
| Default backend for POSIX rename, renameat.  | |
| int | link (const char *, const char *) noexcept override | 
| Default backend for POSIX link, linkat.  | |
| int | symlink (const char *, const char *) noexcept override | 
| Default backend for POSIX symlink, symlinkat.  | |
| int | rmdir (const char *) noexcept override | 
| Default backend for POSIX rmdir, rmdirat.  | |
| ssize_t | readlink (char *, size_t) override | 
| Default backend for POSIX readlink, readlinkat.  | |
| bool | check_ready (Ready_type) noexcept override | 
| Default implementation of a readiness check.   | |
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... | |
Boiler plate class for implementing an open file for L4Re::Vfs.
This class may be used as a base class for everything that a POSIX file descriptor may point to. This are things such as regular files, directories, special device files, streams, pipes, and so on.
      
  | 
  inlineoverridevirtualnoexcept | 
Default implementation of a readiness check.
By default, we assume a file is not ready for an I/O operation/condition since the proper semantics of that relies on the backend.
Implements L4Re::Vfs::Generic_file.
      
  | 
  inlineoverridevirtualnoexcept | 
Get an L4Re::Dataspace object for the file.
This is used as a backend for POSIX mmap and mmap2 functions.
Implements L4Re::Vfs::Regular_file.
Definition at line 47 of file backend.
References L4::Cap_base::Invalid.
      
  | 
  inlineoverridevirtualnoexcept | 
Get status information for the file.
This is the backend for POSIX fstat, stat, fstat64 and friends.
| [out] | buf | This buffer is filled with the status information. | 
Implements L4Re::Vfs::Generic_file.
      
  | 
  inlineoverridevirtualnoexcept | 
Unlock all locks on the file.
This method is called by the POSIX close implementation to get the POSIX semantics of releasing all locks taken by this application on a close for any fd referencing the real file.
Implements L4Re::Vfs::Generic_file.