pub struct ModInfoBuilder<const N: usize> { /* private fields */ }Expand description
Builder for firmware module info.
ModInfoBuilder is a helper component to flexibly compose firmware paths strings for the
.modinfo section in const context.
Therefore the ModInfoBuilder provides the methods ModInfoBuilder::new_entry and
ModInfoBuilder::push, where the latter is used to push path components and the former to
mark the beginning of a new path string.
ModInfoBuilder is meant to be used in combination with kernel::module_firmware!.
The const generic N as well as the module_name parameter of ModInfoBuilder::new is an
internal implementation detail and supplied through the above macro.
Implementations§
Source§impl<const N: usize> ModInfoBuilder<N>
impl<const N: usize> ModInfoBuilder<N>
Sourcepub const fn push(self, s: &str) -> Self
pub const fn push(self, s: &str) -> Self
Push an additional path component.
Append path components to the ModInfoBuilder instance. Paths need to be separated
with ModInfoBuilder::new_entry.
§Example
use kernel::firmware::ModInfoBuilder;
let builder = builder.new_entry()
.push(DIR)
.push("foo.bin")
.new_entry()
.push(DIR)
.push("bar.bin");Sourcepub const fn new_entry(self) -> Self
pub const fn new_entry(self) -> Self
Prepare the ModInfoBuilder for the next entry.
This method acts as a separator between module firmware path entries.
Must be called before constructing a new entry with subsequent calls to
ModInfoBuilder::push.
See ModInfoBuilder::push for an example.
Source§impl ModInfoBuilder<0>
impl ModInfoBuilder<0>
Sourcepub const fn build_length(self) -> usize
pub const fn build_length(self) -> usize
Return the length of the byte array to build.