libipt/
lib.rs

1#![warn(clippy::all, clippy::cargo)]
2
3/// Intel Processor Trace (Intel PT) encoder or decoder configuration.
4pub mod enc_dec_builder;
5
6/// Unique error enum used across the library.
7///
8/// Not all errors may occur in every module's function.
9/// Every API function specifies the errors it may return (sometimes not exhaustively!).
10pub mod error;
11
12/// Intel PT packet encoding and decoding.
13pub mod packet;
14
15/// Higher-level events often resulting from the combination of different PT packets.
16///
17/// It is used for reconstructing execution flow for users who need finer-grain control not available via the instruction flow layer
18/// or for users who want to integrate execution flow reconstruction with other functionality more tightly than it would be possible otherwise.
19pub mod event;
20
21/// Simple API for iterating over blocks of sequential instructions in execution order.
22///
23/// The instructions in a block are sequential in the sense that no trace is required for reconstructing the instructions.
24/// The IP of the first instruction is given in struct `Block` and the IP of other instructions in the block can be determined by decoding and examining the previous instruction.
25pub mod block;
26
27/// Simple API for iterating over instructions in execution order.
28pub mod insn;
29
30mod version;
31pub use version::Version;
32
33/// Module handling the memory images of the binaries beeing traced, used in high level decoding.
34pub mod image;
35
36/// Address Space Identifier
37pub mod asid;
38
39/// Info about the decoder status
40pub mod status;