Skip to main content

BinFile

Struct BinFile 

Source
pub struct BinFile {
    path: PathBuf,
    data: Vec<u8>,
}
Expand description

Thin wrapper for owning data used by object, which may be either an archive or a single object file.

Fields§

§path: PathBuf§data: Vec<u8>

Implementations§

Source§

impl BinFile

Source

pub fn read_path<P: Into<PathBuf>>(path: P) -> Self

Read an archive or object file at path.

Source

pub fn parse_as_archive_file(&self) -> ObjResult<ArchiveFile<'_>>

Access the owned buffer as an archive file.

Source

pub fn parse_as_obj_file(&self) -> ObjResult<ObjFile<'_>>

Access the owned buffer as an archive file.

Source

pub fn for_each_object(&self, f: impl FnMut(ObjFile<'_>, &BStr))

If the file is an archive, run the callback for each object file. If it is an object file, the callback will run once.

The callback receives the parsed object file and its name in the archive or on disk.

Source

pub fn for_each_symbol( &self, f: impl FnMut(Symbol<'_, '_>, &ObjFile<'_>, &BStr), )

Do something with each symbol in an archive or object file.

The callback receives:

  • The symbol.
  • The parsed object file that contains the symbol.
  • The name of the object file in its archive or on disk.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 48 bytes