Trait std::os::unix::fs::OpenOptionsExt

1.1.0 · source ·
pub trait OpenOptionsExt {
    // Required methods
    fn mode(&mut self, mode: u32) -> &mut Self;
    fn custom_flags(&mut self, flags: i32) -> &mut Self;
}
Available on Unix only.
Expand description

特定于 Unix 的 fs::OpenOptions 扩展。

Required Methods§

source

fn mode(&mut self, mode: u32) -> &mut Self

设置将用于创建新文件的模式位。

如果在 OpenOptions::open 调用中创建了一个新文件,则此指定的 mode 将用作新文件的权限位。

如果未设置 mode,则将使用默认值 0o666。 操作系统用系统的 umask 屏蔽掉某些位,以产生最终权限。

Examples
use std::fs::OpenOptions;
use std::os::unix::fs::OpenOptionsExt;

let mut options = OpenOptions::new();
options.mode(0o644); // 为所有者提供读写权限,为其他人提供读取权限。
let file = options.open("foo.txt");
Run
1.10.0 · source

fn custom_flags(&mut self, flags: i32) -> &mut Self

将自定义标志传递给 openflags 参数。

定义访问模式的位被 O_ACCMODE 屏蔽,以确保它们不干扰 Rusts 选项设置的访问模式。

自定义标志只能设置标志,而不能删除 Rusts 选项设置的标志。 此选项将覆盖以前设置的所有自定义标志。

Examples
use libc;
use std::fs::OpenOptions;
use std::os::unix::fs::OpenOptionsExt;

let mut options = OpenOptions::new();
options.write(true);
if cfg!(unix) {
    options.custom_flags(libc::O_NOFOLLOW);
}
let file = options.open("foo.txt");
Run

Implementors§