Trait std::os::unix::fs::OpenOptionsExt1.1.0[][src]

pub trait OpenOptionsExt {
    fn mode(&mut self, mode: u32) -> &mut Self

Notable traits for &'_ mut F

impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
;
fn custom_flags(&mut self, flags: i32) -> &mut Self

Notable traits for &'_ mut F

impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
; }
This is supported on Unix only.

Unix-specific extensions to fs::OpenOptions.

Required methods

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

Notable traits for &'_ mut F

impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
[src]

Sets the mode bits that a new file will be created with.

If a new file is created as part of an OpenOptions::open call then this specified mode will be used as the permission bits for the new file. If no mode is set, the default of 0o666 will be used. The operating system masks out bits with the system’s umask, to produce the final permissions.

Examples

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

let mut options = OpenOptions::new();
options.mode(0o644); // Give read/write for owner and read for others.
let file = options.open("foo.txt");
Run

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

Notable traits for &'_ mut F

impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W
1.10.0[src]

Pass custom flags to the flags argument of open.

The bits that define the access mode are masked out with O_ACCMODE, to ensure they do not interfere with the access mode set by Rusts options.

Custom flags can only set flags, not remove flags set by Rusts options. This options overwrites any previously set custom flags.

Examples

extern crate 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
Loading content...

Implementors

impl OpenOptionsExt for OpenOptions[src]

Loading content...