Struct cap_std::fs::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 self
.
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
.
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
.
pub fn create_dir_with<P: AsRef<Path>>(
&self,
path: P,
dir_builder: &DirBuilder
) -> Result<()>
[src]
pub fn create_dir_with<P: AsRef<Path>>(
&self,
path: P,
dir_builder: &DirBuilder
) -> Result<()>
[src]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 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.
pub fn connect_unix_datagram<P: AsRef<Path>>(
&self,
_unix_datagram: &UnixDatagram,
path: P
) -> Result<()>
[src]
pub fn connect_unix_datagram<P: AsRef<Path>>(
&self,
_unix_datagram: &UnixDatagram,
path: P
) -> Result<()>
[src]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.
pub fn send_to_unix_datagram_addr<P: AsRef<Path>>(
&self,
_unix_datagram: &UnixDatagram,
buf: &[u8],
path: P
) -> Result<usize>
[src]
pub fn send_to_unix_datagram_addr<P: AsRef<Path>>(
&self,
_unix_datagram: &UnixDatagram,
buf: &[u8],
path: P
) -> Result<usize>
[src]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
.
pub fn open_ambient_dir<P: AsRef<Path>>(
path: P,
ambient_authority: AmbientAuthority
) -> Result<Self>
[src]
pub fn open_ambient_dir<P: AsRef<Path>>(
path: P,
ambient_authority: AmbientAuthority
) -> Result<Self>
[src]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.
Trait Implementations
Constructs a new instance of Self
from the given raw file
descriptor. Read more
Consumes this object, returning the raw underlying file descriptor. Read more
Auto Trait Implementations
impl RefUnwindSafe for Dir
impl UnwindSafe for Dir
Blanket Implementations
Return the contained unsafe handle.
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
Mutably borrows from an owned value. Read more
Convert an unsafe socket into a Self
. Read more
fn from_socketlike<Socketlike>(socketlike: Socketlike) -> Self where
Socketlike: IntoUnsafeSocket,
[src]
fn from_socketlike<Socketlike>(socketlike: Socketlike) -> Self where
Socketlike: IntoUnsafeSocket,
[src]Convert from a type which implements IntoUnsafeSocket
into a type
that implements FromUnsafeSocket
. Read more
Convert self
into an unsafe file.
Convert self
into an unsafe handle.
Convert self
into an unsafe socket.
impl<T> SetTimes for T where
T: AsUnsafeFile,
impl<T> SetTimes for T where
T: AsUnsafeFile,