Name Description Size
archive.rs Archive definitions. These definitions are independent of read/write support, although we do implement some traits useful for those. 2669
build
common.rs 17169
elf.rs ELF definitions. These definitions are independent of read/write support, although we do implement some traits useful for those. This module is the equivalent of /usr/include/elf.h, and is based heavily on it. 214681
endian.rs Types for compile-time and run-time endianness. 24020
lib.rs # `object` The `object` crate provides a unified interface to working with object files across platforms. It supports reading relocatable object files and executable files, and writing relocatable object files and some executable files. ## Raw struct definitions Raw structs are defined for: [ELF](elf), [Mach-O](macho), [PE/COFF](pe), [XCOFF](xcoff), [archive]. Types and traits for zerocopy support are defined in the [`pod`] and [`endian`] modules. ## Unified read API The [`read`] module provides a unified read API using the [`read::Object`] trait. There is an implementation of this trait for [`read::File`], which allows reading any file format, as well as implementations for each file format. ## Low level read API The [`read#modules`] submodules define helpers that operate on the raw structs. These can be used instead of the unified API, or in conjunction with it to access details that are not available via the unified API. ## Unified write API The [`mod@write`] module provides a unified write API for relocatable object files using [`write::Object`]. This does not support writing executable files. ## Low level write API The [`mod@write#modules`] submodules define helpers for writing the raw structs. ## Build API The [`mod@build`] submodules define helpers for building object files, either from scratch or by modifying existing files. ## Shared definitions The crate provides a number of definitions that are used by both the read and write APIs. These are defined at the top level module, but none of these are the main entry points of the crate. 3206
macho.rs Mach-O definitions. These definitions are independent of read/write support, although we do implement some traits useful for those. This module is based heavily on header files from MacOSX11.1.sdk. 128004
pe.rs PE/COFF definitions. These definitions are independent of read/write support, although we do implement some traits useful for those. This module is based heavily on "winnt.h" (10.0.17763.0). 101649
pod.rs Tools for converting file format structures to and from bytes. This module should be replaced once rust provides safe transmutes. 9573
read
write
xcoff.rs XCOFF definitions These definitions are independent of read/write support, although we do implement some traits useful for those. This module is the equivalent of /usr/include/xcoff.h, and is based heavily on it. 27686