Struct littlefs2::fs::OpenOptions

source ·
pub struct OpenOptions(_);
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: &'b 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 copy of the value. Read more
1.0.0 · source§

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 PartialEq<OpenOptions> for OpenOptions

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method 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 StructuralEq for OpenOptions

source§

impl StructuralPartialEq for OpenOptions

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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<T> for T

§

type Output = T

Should always be Self
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.