[−][src]Struct wasmer_wasi::state::WasiFs
Warning, modifying these fields directly may cause invariants to break and should be considered unsafe. These fields may be made private in a future release
Fields
preopen_fds: Vec<u32>
name_map: HashMap<String, Inode>
inodes: Arena<InodeVal>
fd_map: HashMap<u32, Fd>
next_fd: Cell<u32>
orphan_fds: HashMap<Inode, InodeVal>
for fds still open after the file has been deleted
Methods
impl WasiFs
[src]
pub fn new(
preopened_dirs: &[PathBuf],
mapped_dirs: &[(String, PathBuf)]
) -> Result<Self, String>
[src]
preopened_dirs: &[PathBuf],
mapped_dirs: &[(String, PathBuf)]
) -> Result<Self, String>
pub fn stdout(&self) -> Result<&Option<Box<dyn WasiFile>>, WasiFsError>
[src]
Get the WasiFile
object at stdout
pub fn stdout_mut(
&mut self
) -> Result<&mut Option<Box<dyn WasiFile>>, WasiFsError>
[src]
&mut self
) -> Result<&mut Option<Box<dyn WasiFile>>, WasiFsError>
Get the WasiFile
object at stdout mutably
pub fn stderr(&self) -> Result<&Option<Box<dyn WasiFile>>, WasiFsError>
[src]
Get the WasiFile
object at stderr
pub fn stderr_mut(
&mut self
) -> Result<&mut Option<Box<dyn WasiFile>>, WasiFsError>
[src]
&mut self
) -> Result<&mut Option<Box<dyn WasiFile>>, WasiFsError>
Get the WasiFile
object at stderr mutably
pub fn stdin(&self) -> Result<&Option<Box<dyn WasiFile>>, WasiFsError>
[src]
Get the WasiFile
object at stdin
pub fn stdin_mut(
&mut self
) -> Result<&mut Option<Box<dyn WasiFile>>, WasiFsError>
[src]
&mut self
) -> Result<&mut Option<Box<dyn WasiFile>>, WasiFsError>
Get the WasiFile
object at stdin mutably
pub unsafe fn open_dir_all(
&mut self,
base: __wasi_fd_t,
name: String,
rights: __wasi_rights_t,
rights_inheriting: __wasi_rights_t,
flags: __wasi_fdflags_t
) -> Result<__wasi_fd_t, WasiFsError>
[src]
&mut self,
base: __wasi_fd_t,
name: String,
rights: __wasi_rights_t,
rights_inheriting: __wasi_rights_t,
flags: __wasi_fdflags_t
) -> Result<__wasi_fd_t, WasiFsError>
like create dir all, but it also opens it Function is unsafe because it may break invariants and hasn't been tested. This is an experimental function and may be removed
pub fn open_file_at(
&mut self,
base: __wasi_fd_t,
file: Box<dyn WasiFile>,
open_flags: u16,
name: String,
rights: __wasi_rights_t,
rights_inheriting: __wasi_rights_t,
flags: __wasi_fdflags_t
) -> Result<__wasi_fd_t, WasiFsError>
[src]
&mut self,
base: __wasi_fd_t,
file: Box<dyn WasiFile>,
open_flags: u16,
name: String,
rights: __wasi_rights_t,
rights_inheriting: __wasi_rights_t,
flags: __wasi_fdflags_t
) -> Result<__wasi_fd_t, WasiFsError>
Opens a user-supplied file in the directory specified with the name and flags given
pub fn swap_file(
&mut self,
fd: __wasi_fd_t,
file: Box<dyn WasiFile>
) -> Result<Option<Box<dyn WasiFile>>, WasiFsError>
[src]
&mut self,
fd: __wasi_fd_t,
file: Box<dyn WasiFile>
) -> Result<Option<Box<dyn WasiFile>>, WasiFsError>
Change the backing of a given file descriptor Returns the old backing TODO: add examples
pub fn get_fd(&self, fd: __wasi_fd_t) -> Result<&Fd, __wasi_errno_t>
[src]
pub fn get_inodeval_mut(
&mut self,
fd: __wasi_fd_t
) -> Result<&mut InodeVal, __wasi_errno_t>
[src]
&mut self,
fd: __wasi_fd_t
) -> Result<&mut InodeVal, __wasi_errno_t>
gets either a normal inode or an orphaned inode
pub fn filestat_fd(
&self,
fd: __wasi_fd_t
) -> Result<__wasi_filestat_t, __wasi_errno_t>
[src]
&self,
fd: __wasi_fd_t
) -> Result<__wasi_filestat_t, __wasi_errno_t>
pub fn fdstat(&self, fd: __wasi_fd_t) -> Result<__wasi_fdstat_t, __wasi_errno_t>
[src]
pub fn prestat_fd(
&self,
fd: __wasi_fd_t
) -> Result<__wasi_prestat_t, __wasi_errno_t>
[src]
&self,
fd: __wasi_fd_t
) -> Result<__wasi_prestat_t, __wasi_errno_t>
pub fn flush(&mut self, fd: __wasi_fd_t) -> Result<(), __wasi_errno_t>
[src]
pub fn create_fd(
&mut self,
rights: __wasi_rights_t,
rights_inheriting: __wasi_rights_t,
flags: __wasi_fdflags_t,
open_flags: u16,
inode: Inode
) -> Result<__wasi_fd_t, __wasi_errno_t>
[src]
&mut self,
rights: __wasi_rights_t,
rights_inheriting: __wasi_rights_t,
flags: __wasi_fdflags_t,
open_flags: u16,
inode: Inode
) -> Result<__wasi_fd_t, __wasi_errno_t>
pub unsafe fn remove_inode(&mut self, inode: Inode) -> Option<InodeVal>
[src]
This function is unsafe because it's the caller's responsibility to ensure that all refences to the given inode have been removed from the filesystem
returns the inode if it existed and was removed
pub fn get_stat_for_kind(&self, kind: &Kind) -> Option<__wasi_filestat_t>
[src]
Trait Implementations
impl Debug for WasiFs
[src]
impl<'de> Deserialize<'de> for WasiFs
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Serialize for WasiFs
[src]
Auto Trait Implementations
impl !RefUnwindSafe for WasiFs
impl !Send for WasiFs
impl !Sync for WasiFs
impl Unpin for WasiFs
impl !UnwindSafe for WasiFs
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Serialize for T where
T: Serialize + ?Sized,
[src]
T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,