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
impl OpenOptions
Sourcepub unsafe fn open<'a, 'b, S: Storage>(
&self,
fs: &'b Filesystem<'a, S>,
alloc: &mut FileAllocation<S>,
path: &Path,
) -> Result<File<'a, 'b, S>>
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.
Sourcepub 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>
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
.
pub fn new() -> Self
pub fn read(&mut self, read: bool) -> &mut Self
pub fn write(&mut self, write: bool) -> &mut Self
pub fn append(&mut self, append: bool) -> &mut Self
pub fn create(&mut self, create: bool) -> &mut Self
pub fn create_new(&mut self, create_new: bool) -> &mut Self
pub fn truncate(&mut self, truncate: bool) -> &mut Self
Trait Implementations§
Source§impl Clone for OpenOptions
impl Clone for OpenOptions
Source§fn clone(&self) -> OpenOptions
fn clone(&self) -> OpenOptions
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for OpenOptions
impl Debug for OpenOptions
Source§impl Default for OpenOptions
impl Default for OpenOptions
Source§impl From<FileOpenFlags> for OpenOptions
impl From<FileOpenFlags> for OpenOptions
Source§fn from(flags: FileOpenFlags) -> Self
fn from(flags: FileOpenFlags) -> Self
Converts to this type from the input type.
Source§impl PartialEq for OpenOptions
impl PartialEq for OpenOptions
impl Eq for OpenOptions
impl StructuralPartialEq for OpenOptions
Auto Trait Implementations§
impl Freeze for OpenOptions
impl RefUnwindSafe for OpenOptions
impl Send for OpenOptions
impl Sync for OpenOptions
impl Unpin for OpenOptions
impl UnwindSafe for OpenOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more