rsleigh-api 0.4.2

High-level API for rsleigh — decode instructions and emit P-code for x86, x86-32, AArch64, ARM32, MIPS32, RISC-V 64
docs.rs failed to build rsleigh-api-0.4.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: rsleigh-api-0.4.1

Spectra integration API for rsleigh.

Provides a unified Decoder interface across all supported architectures, managing context/global-set lifecycle and returning optimized P-code.

Usage

use rsleigh_api::{Decoder, Architecture};

let mut decoder = Decoder::new(Architecture::X86_64);
let inst = decoder.decode(&[0x48, 0x89, 0xd8], 0x1000).unwrap();
assert_eq!(inst.disassembly, "MOV RAX,RBX");
assert_eq!(inst.len, 3);

Stability

This crate is the stable entry point for embedding rsleigh as a decoder/lifter. Audit P2 #2: the surface listed below is covered by semver and changes go through deprecation; everything outside this list (the rsleigh-decompile analysis crate, the rsleigh-cli binary, signature/FID heuristics, printer text rewrites) is experimental and may change without notice.

Stable surface:

  • [Decoder], [Decoder::new], [Decoder::decode], [Decoder::architecture]
  • [Architecture] (variants may be added; existing variants stay)
  • [Architecture::addr_size], [Architecture::register_name]
  • Re-exports from pcode-ir: Instruction, PcodeOp, Varnode, AddressSpaceId, DecodeError

Anything else in this crate (helper functions, internal context types, generated-crate re-exports) is implementation detail. rsleigh_decompile::*, rsleigh_decompile::printer::*, rsleigh_decompile::fold::*, etc. are not covered by this stability promise — pin a specific patch version if you depend on their shape.