1use thiserror::Error;
7
8#[derive(Error, Debug)]
10pub enum BootError {
11 #[error("UEFI Error: {0}")]
13 Uefi(#[from] uefi::Error),
14
15 #[error("String Conversion Error: {0}")]
17 StrError(#[from] crate::system::helper::StrError),
18
19 #[error("Filesystem Error: {0}")]
21 FsError(#[from] crate::system::fs::FsError),
22
23 #[error("Secure Boot Error: {0}")]
25 SecureBootError(#[from] crate::boot::secure_boot::SecureBootError),
26
27 #[error("DevicePath Error: {0}")]
29 DevicePathError(#[from] crate::system::helper::DevicePathError),
30
31 #[error("Load Image Error: {0}")]
33 LoadError(#[from] crate::boot::loader::LoadError),
34
35 #[error("Load Driver Error: {0}")]
37 DriverError(#[from] crate::system::drivers::DriverError),
38
39 #[error("Devicetree Error: {0}")]
41 DevicetreeError(#[from] crate::boot::devicetree::DevicetreeError),
42
43 #[error("UEFI Variable Error: {0}")]
45 VarError(#[from] crate::system::variable::VarError),
46
47 #[cfg(feature = "uki")]
49 #[error("Uki Parse Error: {0}")]
50 UkiError(#[from] crate::config::parsers::uki::UkiError),
51
52 #[cfg(feature = "windows_bcd")]
54 #[error("Win Parse Error: {0}")]
55 WinError(#[from] crate::config::parsers::windows::windows_bcd::WinError),
56}