pub trait OpenOptionsExt {
fn lookup_flags(&mut self, flags: u32) -> &mut Self;
fn directory(&mut self, dir: bool) -> &mut Self;
fn dsync(&mut self, dsync: bool) -> &mut Self;
fn nonblock(&mut self, nonblock: bool) -> &mut Self;
fn rsync(&mut self, rsync: bool) -> &mut Self;
fn sync(&mut self, sync: bool) -> &mut Self;
fn fs_rights_base(&mut self, rights: u64) -> &mut Self;
fn fs_rights_inheriting(&mut self, rights: u64) -> &mut Self;
fn open_at<P: AsRef<Path>>(&self, file: &File, path: P) -> Result<File>;
}
Expand description
WASI-specific extensions to fs::OpenOptions
.
Required Methods
fn lookup_flags(&mut self, flags: u32) -> &mut Self
fn lookup_flags(&mut self, flags: u32) -> &mut Self
Pass custom dirflags
argument to path_open
.
This option configures the dirflags
argument to the
path_open
syscall which OpenOptions
will eventually call. The
dirflags
argument configures how the file is looked up, currently
primarily affecting whether symlinks are followed or not.
By default this value is __WASI_LOOKUP_SYMLINK_FOLLOW
, or symlinks are
followed. You can call this method with 0 to disable following symlinks
Indicates whether OpenOptions
must open a directory or not.
This method will configure whether the __WASI_O_DIRECTORY
flag is
passed when opening a file. When passed it will require that the opened
path is a directory.
This option is by default false
Indicates whether __WASI_FDFLAG_DSYNC
is passed in the fs_flags
field of path_open
.
This option is by default false
Indicates whether __WASI_FDFLAG_NONBLOCK
is passed in the fs_flags
field of path_open
.
This option is by default false
Indicates whether __WASI_FDFLAG_RSYNC
is passed in the fs_flags
field of path_open
.
This option is by default false
Indicates whether __WASI_FDFLAG_SYNC
is passed in the fs_flags
field of path_open
.
This option is by default false
fn fs_rights_base(&mut self, rights: u64) -> &mut Self
fn fs_rights_base(&mut self, rights: u64) -> &mut Self
Indicates the value that should be passed in for the fs_rights_base
parameter of path_open
.
This option defaults based on the read
and write
configuration of
this OpenOptions
builder. If this method is called, however, the
exact mask passed in will be used instead.
fn fs_rights_inheriting(&mut self, rights: u64) -> &mut Self
fn fs_rights_inheriting(&mut self, rights: u64) -> &mut Self
Indicates the value that should be passed in for the
fs_rights_inheriting
parameter of path_open
.
The default for this option is the same value as what will be passed
for the fs_rights_base
parameter but if this method is called then
the specified value will be used instead.