pub struct ElfInfo {
pub abi: Abi,
pub soname: Option<String>,
pub needed: Vec<String>,
pub load_segments: Vec<LoadSegment>,
pub entry_points: BTreeSet<String>,
/* private fields */
}Expand description
Packaging-relevant facts read from a shared library.
Fields§
§abi: Abi§soname: Option<String>§needed: Vec<String>DT_NEEDED entries: the libraries this one links against.
load_segments: Vec<LoadSegment>§entry_points: BTreeSet<String>Exported (defined, global or weak, default or protected visibility) function names
that matter to Android: activity entry points and JNI_OnLoad.
Implementations§
Source§impl ElfInfo
impl ElfInfo
Sourcepub fn parse(bytes: &[u8]) -> Result<Self, NativeError>
pub fn parse(bytes: &[u8]) -> Result<Self, NativeError>
Reads bytes as an Android shared library.
Sourcepub fn max_page_size(&self) -> u64
pub fn max_page_size(&self) -> u64
The largest page size every load segment supports.
Sourcepub fn check(
&self,
library: &LibraryName,
expected: Abi,
policy: &NativePolicy,
) -> Result<(), NativeError>
pub fn check( &self, library: &LibraryName, expected: Abi, policy: &NativePolicy, ) -> Result<(), NativeError>
Checks this library against expected ABI and the page size policy
requires of it.
Trait Implementations§
impl Eq for ElfInfo
impl StructuralPartialEq for ElfInfo
Auto Trait Implementations§
impl Freeze for ElfInfo
impl RefUnwindSafe for ElfInfo
impl Send for ElfInfo
impl Sync for ElfInfo
impl Unpin for ElfInfo
impl UnsafeUnpin for ElfInfo
impl UnwindSafe for ElfInfo
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.