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 |