Expand description
An all-safe-code endian-aware integer parsing implementation via the EndianParse trait.
This module provides four endian parsing implementations optimized to support the different common use-cases for an ELF parsing library. Each trait impl represents a specification that encapsulates an interface for parsing integers from some set of allowed byte orderings.
- AnyEndian: Dynamically parsing either byte order at runtime based on the type of ELF object being parsed.
- BigEndian/LittleEndian: For tools that know they only want to parse a single given byte order known at compile time.
- NativeEndian: For tools that know they want to parse the same byte order as the target’s byte order.
Structs
A zero-sized type that always parses integers as if they’re in big-endian order.
This is useful for scenarios where a combiled binary knows it only wants to interpret
big-endian ELF files and doesn’t want the performance penalty of evaluating a match
each time it parses an integer.
A zero-sized type that always parses integers as if they’re in little-endian order.
This is useful for scenarios where a combiled binary knows it only wants to interpret
little-endian ELF files and doesn’t want the performance penalty of evaluating a match
each time it parses an integer.
Enums
An endian parsing type that can choose at runtime which byte order to parse integers as.
This is useful for scenarios where a single compiled binary wants to dynamically
interpret ELF files of any byte order.
Traits
An all-safe-code endian-aware integer parsing trait.
Type Definitions
A zero-sized type that always parses integers as if they’re in the compilation target’s native-endian order.
This is useful for toolchain scenarios where a combiled binary knows it only wants to interpret
ELF files compiled for the same target and doesn’t want the performance penalty of evaluating a match
each time it parses an integer.