L4Re - L4 Runtime Environment
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 ()=0 throw ()
 Unlock all locks on the file. More...
 
virtual int fstat64 (struct stat64 *buf) const =0 throw ()
 Get status information for the file. More...
 
virtual int fchmod (mode_t)=0 throw ()
 Change POSIX access rights on that file. More...
 
virtual int get_status_flags () const =0 throw ()
 Get file status flags (fcntl F_GETFL). More...
 
virtual int set_status_flags (long flags)=0 throw ()
 Set file status flags (fcntl F_SETFL). More...
 
- Public Member Functions inherited from L4Re::Vfs::Regular_file
virtual L4::Cap< L4Re::Dataspacedata_space () const =0 throw ()
 Get an L4Re::Dataspace object for the file. More...
 
virtual ssize_t readv (const struct iovec *, int iovcnt)=0 throw ()
 Read one or more blocks of data from the file. More...
 
virtual ssize_t writev (const struct iovec *, int iovcnt)=0 throw ()
 Write one or more blocks of data to the file. More...
 
virtual off64_t lseek64 (off64_t, int)=0 throw ()
 Change the file pointer. More...
 
virtual int ftruncate64 (off64_t pos)=0 throw ()
 Truncate the file at the given position. More...
 
virtual int fsync () const =0 throw ()
 Sync the data and meta data to persistent storage. More...
 
virtual int fdatasync () const =0 throw ()
 Sync the data to persistent storage. More...
 
virtual int get_lock (struct flock64 *lock)=0 throw ()
 Test if the given lock can be placed in the file. More...
 
virtual int set_lock (struct flock64 *lock, bool wait)=0 throw ()
 Acquire or release the given lock on the file. More...
 
- Public Member Functions inherited from L4Re::Vfs::Directory
virtual int faccessat (const char *path, int mode, int flags)=0 throw ()
 Check access permissions on the given file. More...
 
virtual int mkdir (const char *path, mode_t mode)=0 throw ()
 Create a new subdirectory. More...
 
virtual int unlink (const char *path)=0 throw ()
 Unlink the given file from that directory. More...
 
virtual int rename (const char *src_path, const char *dst_path)=0 throw ()
 Rename the given file. More...
 
virtual int link (const char *src_path, const char *dst_path)=0 throw ()
 Create a hard link (second name) for the given file. More...
 
virtual int symlink (const char *src_path, const char *dst_path)=0 throw ()
 Create a symbolic link for the given file. More...
 
virtual int rmdir (const char *path)=0 throw ()
 Delete an empty directory. More...
 
- Public Member Functions inherited from L4Re::Vfs::Special_file
virtual int ioctl (unsigned long cmd, va_list args)=0 throw ()
 The famous IO control. More...
 

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 a 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 you may use L4Re::Vfs::Be_file as a base class.

Definition at line 430 of file vfs.h.


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