Struct OpenOptions

Source
pub struct OpenOptions(/* private fields */);
Expand description

Options and flags which can be used to configure how a file is opened.

This builder exposes the ability to configure how a File is opened and what operations are permitted on the open file. The File::open and File::create methods are aliases for commonly used options using this builder.

Consider File::with_options() to avoid having to use OpenOptions.

Implementations§

Source§

impl OpenOptions

Source

pub unsafe fn open<'a, 'b, S: Storage>( &self, fs: &'b Filesystem<'a, S>, alloc: &mut FileAllocation<S>, path: &Path, ) -> Result<File<'a, 'b, S>>

Open the file with the options previously specified, keeping references.

unsafe since UB can arise if files are not closed (see below).

The alternative method open_and_then is suggested.

Note that:

  • files must be closed before going out of scope (they are stored in a linked list), closing removes them from there
  • since littlefs is supposed to be fail-safe, we can’t just close files in Drop and panic if something went wrong.
Source

pub fn open_and_then<'a, R, S: Storage>( &self, fs: &Filesystem<'a, S>, path: &Path, f: impl FnOnce(&File<'a, '_, S>) -> Result<R>, ) -> Result<R>

(Hopefully) safe abstraction around open.

Source

pub fn new() -> Self

Source

pub fn read(&mut self, read: bool) -> &mut Self

Source

pub fn write(&mut self, write: bool) -> &mut Self

Source

pub fn append(&mut self, append: bool) -> &mut Self

Source

pub fn create(&mut self, create: bool) -> &mut Self

Source

pub fn create_new(&mut self, create_new: bool) -> &mut Self

Source

pub fn truncate(&mut self, truncate: bool) -> &mut Self

Trait Implementations§

Source§

impl Clone for OpenOptions

Source§

fn clone(&self) -> OpenOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OpenOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for OpenOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl From<FileOpenFlags> for OpenOptions

Source§

fn from(flags: FileOpenFlags) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for OpenOptions

Source§

fn eq(&self, other: &OpenOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for OpenOptions

Source§

impl StructuralPartialEq for OpenOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.