pub trait PermissionsExt {
// Required methods
fn mode(&self) -> u32;
fn set_mode(&mut self, mode: u32);
fn from_mode(mode: u32) -> Self;
}
Available on Unix only.
Expand description
Unix-specific extensions to fs::Permissions
.
Required Methods§
sourcefn mode(&self) -> u32
fn mode(&self) -> u32
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;
fn main() -> std::io::Result<()> {
let f = File::create("foo.txt")?;
let metadata = f.metadata()?;
let permissions = metadata.permissions();
println!("permissions: {:o}", permissions.mode());
Ok(())
}
Runsourcefn set_mode(&mut self, mode: u32)
fn set_mode(&mut self, mode: u32)
Sets the underlying raw bits for this set of permissions.
§Examples
use std::fs::File;
use std::os::unix::fs::PermissionsExt;
fn main() -> std::io::Result<()> {
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);
Ok(())
}
RunObject Safety§
This trait is not object safe.