# 1.1.0[−][src]Trait std::os::unix::fs::OpenOptionsExt

    pub trait OpenOptionsExt {
        fn mode(&mut self, mode: u32) -> &mut Self;
        fn custom_flags(&mut self, flags: i32) -> &mut Self;
    }

This is supported on Unix only.

Unix-specific extensions to `fs::OpenOptions`.

## Required Methods

ⓘImportant traits for &'a mut I

### Important traits for &'a mut I

`impl<'a, I> Iterator for &'a mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'a, R: Read + ?Sized> Read for &'a mut Rimpl<'a, W: Write + ?Sized> Write for &'a mut W`

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

This is supported on Unix only.

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

If a new file is created as part of a `File::open_opts` 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 systems `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

ⓘImportant traits for &'a mut I

### Important traits for &'a mut I

`impl<'a, I> Iterator for &'a mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'a, R: Read + ?Sized> Read for &'a mut Rimpl<'a, W: Write + ?Sized> Write for &'a mut W`

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

This is supported on Unix only.

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

## Implementors

###

`impl OpenOptionsExt for OpenOptions`

[src]

####

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

[src]

This is supported on Unix only.

####

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

[src]

This is supported on Unix only.

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)