10#include <l4/l4re_vfs/backend>
12namespace L4Re {
namespace Core {
17class Ds_file :
public L4Re::Vfs::Be_file_pos
28 : Be_file_pos(), _ds(ds), _addr(0)
34 _size = ds_stats.
size;
37 _writable = ds_stats.
flags.w();
42 int fstat(
struct stat64 *buf)
const noexcept override;
44 int ioctl(
unsigned long, va_list)
noexcept override;
46 off64_t size() const noexcept
override {
return _size; }
79 ssize_t read_single(const struct iovec*, off64_t) noexcept;
80 ssize_t preadv(const struct iovec *,
int, off64_t) noexcept override;
81 ssize_t write_single(const struct iovec*, off64_t) noexcept;
82 ssize_t pwritev(const struct iovec *,
int , off64_t) noexcept override;
Implementation for files backed by an L4Re::Dataspace abstraction.
int fstat(struct stat64 *buf) const noexcept override
Get status information for the file.
int ioctl(unsigned long, va_list) noexcept override
The famous IO control.
L4::Cap< L4Re::Dataspace > data_space() noexcept override
Get an L4Re::Dataspace object for the file.
int set_status_flags(long) noexcept override
Set file status flags (fcntl F_SETFL).
int get_status_flags() const noexcept override
Get file status flags (fcntl F_GETFL).
bool check_ready(Ready_type rt) noexcept override
Check whether the file is ready for an I/O operation/condition.
Ready_type
Type of I/O operation/condition a file can indicate readiness.
C++ interface for capabilities.
Information about the dataspace.