Struct wasi_cap_std_sync::Dir[][src]

pub struct Dir { /* fields omitted */ }
Expand description

A reference to an open directory on a filesystem.

This does not directly correspond to anything in std, however its methods correspond to the functions in std::fs and the constructor methods for std::fs::File.

Unlike std::fs, this API’s canonicalize returns a relative path since absolute paths don’t interoperate well with the capability model.

Implementations

Constructs a new instance of Self from the given std::fs::File.

To prevent race conditions on Windows, the file must be opened without FILE_SHARE_DELETE.

Ambient Authority

std::fs::File is not sandboxed and may access any path that the host process has access to.

Consumes self and returns a std::fs::File.

Attempts to open a file in read-only mode.

This corresponds to std::fs::File::open, but only accesses paths relative to self.

Opens a file at path with the options specified by options.

This corresponds to std::fs::OpenOptions::open.

Instead of being a method on OpenOptions, this is a method on Dir, and it only accesses paths relative to self.

Attempts to open a directory.

Creates a new, empty directory at the provided path.

This corresponds to std::fs::create_dir, but only accesses paths relative to self.

Recursively create a directory and all of its parent components if they are missing.

This corresponds to std::fs::create_dir_all, but only accesses paths relative to self.

Creates the specified directory with the options configured in this builder.

This corresponds to std::fs::DirBuilder::create.

Opens a file in write-only mode.

This corresponds to std::fs::File::create, but only accesses paths relative to self.

Returns the canonical form of a path with all intermediate components normalized and symbolic links resolved.

This corresponds to std::fs::canonicalize, but instead of returning an absolute path, returns a path relative to the directory represented by self.

Copies the contents of one file to another. This function will also copy the permission bits of the original file to the destination file.

This corresponds to std::fs::copy, but only accesses paths relative to self.

Creates a new hard link on a filesystem.

This corresponds to std::fs::hard_link, but only accesses paths relative to self.

Given a path, query the file system to get information about a file, directory, etc.

This corresponds to std::fs::metadata, but only accesses paths relative to self.

Queries metadata about the underlying directory.

This is similar to std::fs::File::metadata, but for Dir rather than for File.

Returns an iterator over the entries within self.

Returns an iterator over the entries within a directory.

This corresponds to std::fs::read_dir, but only accesses paths relative to self.

Read the entire contents of a file into a bytes vector.

This corresponds to std::fs::read, but only accesses paths relative to self.

Reads a symbolic link, returning the file that the link points to.

This corresponds to std::fs::read_link, but only accesses paths relative to self.

Read the entire contents of a file into a string.

This corresponds to std::fs::read_to_string, but only accesses paths relative to self.

Removes an empty directory.

This corresponds to std::fs::remove_dir, but only accesses paths relative to self.

Removes a directory at this path, after removing all its contents. Use carefully!

This corresponds to std::fs::remove_dir_all, but only accesses paths relative to self.

Remove the directory referenced by self and consume self.

Note that even though this implementation works in terms of handles as much as possible, removal is not guaranteed to be atomic with respect to a concurrent rename of the directory.

Removes the directory referenced by self, after removing all its contents, and consume self. Use carefully!

Note that even though this implementation works in terms of handles as much as possible, removal is not guaranteed to be atomic with respect to a concurrent rename of the directory.

Removes a file from a filesystem.

This corresponds to std::fs::remove_file, but only accesses paths relative to self.

Rename a file or directory to a new name, replacing the original file if to already exists.

This corresponds to std::fs::rename, but only accesses paths relative to self.

Changes the permissions found on a file or a directory.

This corresponds to std::fs::set_permissions, but only accesses paths relative to self. Also, on some platforms, this function may fail if the file or directory cannot be opened for reading or writing first.

Query the metadata about a file without following symlinks.

This corresponds to std::fs::symlink_metadata, but only accesses paths relative to self.

Write a slice as the entire contents of a file.

This corresponds to std::fs::write, but only accesses paths relative to self.

Creates a new symbolic link on a filesystem.

This corresponds to std::os::unix::fs::symlink, but only accesses paths relative to self.

Creates a new UnixListener bound to the specified socket.

This corresponds to std::os::unix::net::UnixListener::bind, but only accesses paths relative to self.

XXX: This function is not yet implemented.

Connects to the socket named by path.

This corresponds to std::os::unix::net::UnixStream::connect, but only accesses paths relative to self.

XXX: This function is not yet implemented.

Creates a Unix datagram socket bound to the given path.

This corresponds to std::os::unix::net::UnixDatagram::bind, but only accesses paths relative to self.

XXX: This function is not yet implemented.

Connects the socket to the specified address.

This corresponds to std::os::unix::net::UnixDatagram::connect, but only accesses paths relative to self.

XXX: This function is not yet implemented.

Sends data on the socket to the specified address.

This corresponds to std::os::unix::net::UnixDatagram::send_to, but only accesses paths relative to self.

XXX: This function is not yet implemented.

Creates a new Dir instance that shares the same underlying file handle as the existing Dir instance.

Returns true if the path points at an existing entity.

This corresponds to std::path::Path::exists, but only accesses paths relative to self.

Returns true if the path exists on disk and is pointing at a regular file.

This corresponds to std::path::Path::is_file, but only accesses paths relative to self.

Checks if path is a directory.

This is similar to std::path::Path::is_dir in that it checks if path relative to Dir is a directory. This function will traverse symbolic links to query information about the destination file. In case of broken symbolic links, this will return false.

Constructs a new instance of Self by opening the given path as a directory using the host process’ ambient authority.

Ambient Authority

This function is not sandboxed and may access any path that the host process has access to.

Constructs a new instance of Self by opening the parent directory (aka “..”) of self, using the host process’ ambient authority.

Ambient Authority

This function accesses a directory outside of the self subtree.

Recursively create a directory and all of its parent components if they are missing, using the host process’ ambient authority.

Ambient Authority

This function is not sandboxed and may access any path that the host process has access to.

Trait Implementations

Borrows the file descriptor. Read more

Extracts the raw file descriptor. Read more

Formats the value using the given formatter. Read more

Set the last access time for a file on a filesystem. Read more

Set the last modification time for a file on a filesystem. Read more

Set the last access and modification times for a file on a filesystem. Read more

Set the last access and modification times for a file on a filesystem. This function does not follow symlink. Read more

Creates a new symbolic link on a filesystem. Read more

Creates a new file symbolic link on a filesystem. Read more

Creates a new directory symbolic link on a filesystem. Read more

Similar to cap_std::fs::Dir::open_dir, but fails if the path names a symlink. Read more

Removes a file or symlink from a filesystem. Read more

Constructs a new instance of Self from the given file descriptor. Read more

Constructs a new instance of Self from the given file descriptor converted from into_owned. Read more

Constructs a new instance of Self from the given raw file descriptor. Read more

Consumes this object, returning the underlying file descriptor. Read more

Consumes this object, returning the raw underlying file descriptor. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Borrows the reference. Read more

Return a borrowing view of a resource which dereferences to a &Target or &mut Target. Read more

Extracts the grip.

Extracts the raw grip.

Borrows the reference.

Return a borrowing view of a resource which dereferences to a &Target or &mut Target. Read more

Return the contained unsafe file.

Utility for returning a value which dereferences to a &File or &mut File. Read more

Like as_file_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

Test whether self.as_unsafe_file().as_unsafe_handle() is equal to other.as_unsafe_file().as_unsafe_handle(). Read more

Return the contained unsafe handle.

Test whether self.as_unsafe_handle() is equal to other.as_unsafe_handle(). Read more

Return the contained unsafe socket.

Utility for returning a value which dereferences to a &TcpStream or &mut TcpStream. Read more

Like as_tcp_stream_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

Utility for returning a value which dereferences to a &TcpListener or &mut TcpListener. Read more

Like as_tcp_listener_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

Utility for returning a value which dereferences to a &UdpSocket or &mut UdpSocket. Read more

Like as_udp_socket_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

Utility for returning a value which dereferences to a &UnixStream or &mut UnixStream. Read more

Like as_unix_stream_view, but returns a value which is not explicitly tied to the lifetime of self. Read more

Test whether self.as_unsafe_socket().as_unsafe_handle() is equal to other.as_unsafe_socket().as_unsafe_handle(). Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Announce the expected access pattern of the data at the given offset.

Allocate space in the file, increasing the file size as needed, and ensuring that there are no holes under the given range. Read more

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

Read the exact number of bytes required to fill buf. Read more

Reads a number of bytes starting from a given offset. Read more

Reads the exact number of byte required to fill buf from the given offset. Read more

Like read, except that it reads into a slice of buffers. Read more

Is to read_vectored what read_at is to read.

Determines if this Reader has an efficient read_vectored_at implementation. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read all bytes, starting at offset, until EOF in this source, placing them into buf. Read more

Read all bytes until EOF in this source, appending them to buf. Read more

Read all bytes, starting at offset, until EOF in this source, appending them to buf. Read more

Read bytes from the current position without advancing the current position. Read more

Write a buffer into this writer, returning how many bytes were written. Read more

Attempts to write an entire buffer into this writer. Read more

Writes a number of bytes starting from a given offset. Read more

Attempts to write an entire buffer starting from a given offset. Read more

Like write, except that it writes from a slice of buffers. Read more

Is to write_vectored what write_at is to write.

Determines if this Writer has an efficient write_vectored_at implementation. Read more

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

Seek to an offset, in bytes, in a stream. Read more

Returns the current seek position from the start of the stream. Read more

Is to read_vectored what read_exact is to read.

Is to read_exact_vectored what read_exact_at is to read_exact.

Is to write_vectored what write_all is to write.

Is to write_all_vectored what write_all_at is to write_all.

Performs the conversion.

Constructs a new instance of Self from the given filelike object. Read more

Constructs a new instance of Self from the given filelike object converted from into_owned. Read more

Consume an OwnedGrip and convert into a Self.

Consume an RawGrip and convert into a Self. Read more

Constructs a new instance of Self from the given socketlike object.

Constructs a new instance of Self from the given socketlike object converted from into_owned. Read more

Convert an unsafe file into a Self. Read more

Convert from a type which implements IntoUnsafeFile into a type that implements FromUnsafeFile. Read more

Convert an unsafe socket into a Self. Read more

Convert from a type which implements IntoUnsafeSocket into a type that implements FromUnsafeSocket. Read more

Query the “status” flags for the self file descriptor.

Create a new SetFdFlags value for use with set_fd_flags. Read more

Set the “status” flags for the self file descriptor. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Consumes this object, returning the underlying filelike object. Read more

Consume self and convert into an OwnedGrip.

Consume self and convert into an RawGrip.

Consumes this object, returning the underlying socketlike object.

Convert self into an unsafe file.

Convert self into an unsafe handle.

Convert self into an unsafe socket.

Test whether the handle is readable and/or writable.

Test whether this output stream is attached to a terminal. Read more

Set the last access and last modification timestamps of an open file handle. Read more

Set the last access and last modification timestamps of an open file handle. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more