21#include <l4/l4re_vfs/backend>
26namespace L4Re {
namespace Core {
34 : _env(env), _current_cap_entry(env->initial_caps())
37 ssize_t readv(
const struct iovec*,
int)
noexcept override {
return -EISDIR; }
38 ssize_t writev(
const struct iovec*,
int)
noexcept override {
return -EISDIR; }
39 ssize_t preadv(
const struct iovec*,
int, off64_t)
noexcept override {
return -EISDIR; }
40 ssize_t pwritev(
const struct iovec*,
int, off64_t)
noexcept override {
return -EISDIR; }
41 int fstat64(
struct stat64 *)
const noexcept override;
42 int faccessat(
const char *path,
int mode,
int flags)
noexcept override;
43 int get_entry(
const char *path,
int flags, mode_t mode,
44 Ref_ptr<L4Re::Vfs::File> *)
noexcept override;
45 ssize_t getdents(
char *,
size_t)
noexcept override;
47 ~Env_dir() noexcept {}
61 : _ns(ns), _current_dir_pos(0)
64 ssize_t readv(
const struct iovec*,
int)
noexcept override {
return -EISDIR; }
65 ssize_t writev(
const struct iovec*,
int)
noexcept override {
return -EISDIR; }
66 ssize_t preadv(
const struct iovec*,
int, off64_t)
noexcept override {
return -EISDIR; }
67 ssize_t pwritev(
const struct iovec*,
int, off64_t)
noexcept override {
return -EISDIR; }
68 int fstat64(
struct stat64 *)
const noexcept override;
69 int faccessat(
const char *path,
int mode,
int flags)
noexcept override;
70 int get_entry(
const char *path,
int flags, mode_t mode,
71 Ref_ptr<L4Re::Vfs::File> *)
noexcept override;
72 ssize_t getdents(
char *,
size_t)
noexcept override;
80 size_t _current_dir_pos;
L4::Cap related definitions.
C++ interface of the initial environment that is provided to an L4 task.
l4re_env_cap_entry_t Cap_entry
C++ type for an entry in the initial objects array.
Boiler plate class for implementing an open file for L4Re::Vfs.
C++ interface for capabilities.
A reference-counting pointer with automatic cleanup.
L4::Detail::Unique_cap_impl< T, Smart_cap_auto< L4_FP_ALL_SPACES > > Unique_cap
Unique capability that implements automatic free and unmap of the capability selector.
Unique_cap / Unique_del_cap.