File tree 4 files changed +16
-9
lines changed
4 files changed +16
-9
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,11 @@ logger = []
27
27
# were observed on the VirtualBox UEFI implementation (see uefi-rs#121).
28
28
# In those cases, this feature can be excluded by removing the default features.
29
29
panic-on-logger-errors = []
30
+ # high level FS abstraction
31
+ fs = [
32
+ " alloc" ,
33
+ " exts"
34
+ ]
30
35
31
36
[dependencies ]
32
37
bitflags = " 1.3.1"
Original file line number Diff line number Diff line change @@ -48,8 +48,9 @@ impl From<PathError> for FileSystemError {
48
48
/// Return type for public [FileSystem] operations.
49
49
pub type FileSystemResult < T > = Result < T , FileSystemError > ;
50
50
51
- /// Entry point into the file system abstraction described by the module description. Accessor to
52
- /// an UEFI volume. Available methods try to be close to the `fs` module of `libstd`.
51
+ /// The file system abstraction provided by this module. It acts as convenient accessor to an UEFI
52
+ /// volume in top of the [`SimpleFileSystemProtocol`]. The available methods try to be close to the
53
+ /// `fs` module from the Rust standard library.
53
54
///
54
55
/// # Technical Background
55
56
/// Some random interesting information how this abstraction helps.
@@ -63,7 +64,7 @@ pub struct FileSystem<'name, 'boot_services> {
63
64
}
64
65
65
66
impl < ' name , ' boot_services > FileSystem < ' name , ' boot_services > {
66
- /// Constructor. The name is only used to help you as a user to identify this file system.
67
+ /// Constructor. The name is only used to help developers to identify this file system.
67
68
/// This may be "root", "main", or "boot".
68
69
pub fn new (
69
70
name : & ' name str ,
Original file line number Diff line number Diff line change 1
- //! A high-level file system API for UEFI applications. It supports you to conveniently perform the
2
- //! following important operations:
1
+ //! A high-level file system API for UEFI applications. It supports developers to conveniently
2
+ //! perform the following operations:
3
3
//! - read file to bytes
4
4
//! - write bytes to file
5
5
//! - create files
19
19
//! `&str` and validated internally. There are no `File` objects that are exposed to users.
20
20
//!
21
21
//! The difference to using the [SimpleFileSystemProtocol] directly is that the abstractions in this
22
- //! module take care of automatic release of resources and support you by returning data owned on
23
- //! the heap (such as file info). There is no synchronization as it is untypically that users
24
- //! bootstrap Application Processors (AP) during the UEFI stage, i.e., before hand-off to a kernel.
22
+ //! module take care of automatic release of resources and support developers by returning data
23
+ //! owned on the heap (such as file info). There is no synchronization as it is untypically that
24
+ //! users bootstrap Application Processors (AP) during the UEFI stage, i.e., before hand-off to a
25
+ //! kernel.
25
26
26
27
mod dir_entry_iter;
27
28
mod file_info;
Original file line number Diff line number Diff line change @@ -64,5 +64,5 @@ pub mod alloc;
64
64
#[ cfg( feature = "logger" ) ]
65
65
pub mod logger;
66
66
67
- #[ cfg( all ( feature = "exts" , feature = "alloc" ) ) ]
67
+ #[ cfg( feature = "fs" ) ]
68
68
pub mod fs;
You can’t perform that action at this time.
0 commit comments