pub trait OpenOptionsExt {
// Required methods
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>;
}
wasi_ext
#71213)Expand description
WASI-specific extensions to fs::OpenOptions
.
Required Methods§
sourcefn lookup_flags(&mut self, flags: u32) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn lookup_flags(&mut self, flags: u32) -> &mut Self
wasi_ext
#71213)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
sourcefn directory(&mut self, dir: bool) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn directory(&mut self, dir: bool) -> &mut Self
wasi_ext
#71213)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
sourcefn dsync(&mut self, dsync: bool) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn dsync(&mut self, dsync: bool) -> &mut Self
wasi_ext
#71213)Indicates whether __WASI_FDFLAG_DSYNC
is passed in the fs_flags
field of path_open
.
This option is by default false
sourcefn nonblock(&mut self, nonblock: bool) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn nonblock(&mut self, nonblock: bool) -> &mut Self
wasi_ext
#71213)Indicates whether __WASI_FDFLAG_NONBLOCK
is passed in the fs_flags
field of path_open
.
This option is by default false
sourcefn rsync(&mut self, rsync: bool) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn rsync(&mut self, rsync: bool) -> &mut Self
wasi_ext
#71213)Indicates whether __WASI_FDFLAG_RSYNC
is passed in the fs_flags
field of path_open
.
This option is by default false
sourcefn sync(&mut self, sync: bool) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn sync(&mut self, sync: bool) -> &mut Self
wasi_ext
#71213)Indicates whether __WASI_FDFLAG_SYNC
is passed in the fs_flags
field of path_open
.
This option is by default false
sourcefn fs_rights_base(&mut self, rights: u64) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn fs_rights_base(&mut self, rights: u64) -> &mut Self
wasi_ext
#71213)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.
sourcefn fs_rights_inheriting(&mut self, rights: u64) -> &mut Self
🔬This is a nightly-only experimental API. (wasi_ext
#71213)
fn fs_rights_inheriting(&mut self, rights: u64) -> &mut Self
wasi_ext
#71213)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.