W3cubDocs

/Rust

Trait std::os::unix::fs::PermissionsExt

pub trait PermissionsExt {
    fn mode(&self) -> u32;
    fn set_mode(&mut self, mode: u32);
    fn from_mode(mode: u32) -> Self;
}
This is supported on Unix only.

Unix-specific extensions to Permissions

Required Methods

This is supported on Unix only.

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

Examples

use std::fs::File;
use std::os::unix::fs::PermissionsExt;

let f = File::create("foo.txt")?;
let metadata = f.metadata()?;
let permissions = metadata.permissions();

println!("permissions: {}", permissions.mode());

This is supported on Unix only.

Sets the underlying raw bits for this set of permissions.

Examples

use std::fs::File;
use std::os::unix::fs::PermissionsExt;

let f = File::create("foo.txt")?;
let metadata = f.metadata()?;
let mut permissions = metadata.permissions();

permissions.set_mode(0o644); // Read/write for owner and read for others.
assert_eq!(permissions.mode(), 0o644);

This is supported on Unix only.

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

Examples

use std::fs::Permissions;
use std::os::unix::fs::PermissionsExt;

// Read/write for owner and read for others.
let permissions = Permissions::from_mode(0o644);
assert_eq!(permissions.mode(), 0o644);

Implementors

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/os/unix/fs/trait.PermissionsExt.html