Struct std::fs::Permissions1.0.0[][src]

pub struct Permissions(_);

Representation of the various permissions on a file.

This module only currently provides one bit of information, readonly, which is exposed on all currently supported platforms. Unix-specific functionality, such as mode bits, is available through the os::unix::PermissionsExt trait.

Methods

impl Permissions
[src]

Returns whether these permissions describe a readonly (unwritable) file.

Examples

use std::fs::File;

fn main() -> std::io::Result<()> {
    let mut f = File::create("foo.txt")?;
    let metadata = f.metadata()?;

    assert_eq!(false, metadata.permissions().readonly());
    Ok(())
}Run

Modifies the readonly flag for this set of permissions. If the readonly argument is true, using the resulting Permission will update file permissions to forbid writing. Conversely, if it's false, using the resulting Permission will update file permissions to allow writing.

This operation does not modify the filesystem. To modify the filesystem use the fs::set_permissions function.

Examples

use std::fs::File;

fn main() -> std::io::Result<()> {
    let f = File::create("foo.txt")?;
    let metadata = f.metadata()?;
    let mut permissions = metadata.permissions();

    permissions.set_readonly(true);

    // filesystem doesn't change
    assert_eq!(false, metadata.permissions().readonly());

    // just this particular `permissions`.
    assert_eq!(true, permissions.readonly());
    Ok(())
}Run

Trait Implementations

impl Clone for Permissions
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Permissions
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for Permissions
[src]

impl Debug for Permissions
[src]

Formats the value using the given formatter. Read more

impl PermissionsExt for Permissions
1.1.0
[src]

This is supported on Unix only.

Returns the underlying raw st_mode bits that contain the standard Unix permissions for this file. Read more

This is supported on Unix only.

Sets the underlying raw bits for this set of permissions. Read more

This is supported on Unix only.

Creates a new instance of Permissions from the given set of Unix permission bits. Read more

Auto Trait Implementations

impl Send for Permissions

impl Sync for Permissions