pub enum CacheError {
ParseError(String),
InvalidStringOffset(usize),
InvalidMagic,
TruncatedFile,
InvalidEndianness,
}Expand description
Errors that can occur during cache parsing and processing.
This enum covers all possible failure modes when parsing ld.so.cache files,
from file format issues to data corruption.
§Variants
ParseError- Generic parsing failure with descriptive messageInvalidStringOffset- String offset points outside the string tableInvalidMagic- File doesn’t start with a recognized magic numberTruncatedFile- File is too short to contain valid cache dataInvalidEndianness- Unsupported byte order in cache file
§Example
let invalid_data = b"not a cache file";
let result = parse_ld_cache(invalid_data);
match result {
Err(CacheError::InvalidMagic) => {
println!("File is not a valid ld.so.cache");
}
Err(CacheError::TruncatedFile) => {
println!("Cache file is incomplete");
}
Err(e) => println!("Other error: {}", e),
Ok(_) => println!("Successfully parsed"),
}Variants§
ParseError(String)
Generic parsing error with descriptive message
InvalidStringOffset(usize)
String offset points beyond the string table bounds
InvalidMagic
File doesn’t begin with a recognized magic number
TruncatedFile
File is too short to contain required cache structures
InvalidEndianness
Cache uses unsupported byte order
Trait Implementations§
Source§impl Clone for CacheError
impl Clone for CacheError
Source§fn clone(&self) -> CacheError
fn clone(&self) -> CacheError
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CacheError
impl Debug for CacheError
Source§impl Display for CacheError
impl Display for CacheError
Source§impl Error for CacheError
impl Error for CacheError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl PartialEq for CacheError
impl PartialEq for CacheError
impl StructuralPartialEq for CacheError
Auto Trait Implementations§
impl Freeze for CacheError
impl RefUnwindSafe for CacheError
impl Send for CacheError
impl Sync for CacheError
impl Unpin for CacheError
impl UnwindSafe for CacheError
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