Function arch_supported

Source
pub fn arch_supported(arch: Arch) -> bool
Expand description

Returns true if the architecture is supported by this build of unicorn.

Examples found in repository?
examples/test.rs (line 10)
5fn main() {
6    let (major, minor) = unicorn::unicorn_version();
7    println!("version : {}.{}", major, minor);
8    println!(
9        "Support for:\n\t x86: {}\n\t arm: {}\n\t mips: {}",
10        unicorn::arch_supported(unicorn::Arch::X86),
11        unicorn::arch_supported(unicorn::Arch::ARM),
12        unicorn::arch_supported(unicorn::Arch::MIPS)
13    );
14
15    let emu = CpuARM::new(unicorn::Mode::THUMB).expect("failed to create emulator");
16
17    let page_size = emu
18        .query(unicorn::Query::PAGE_SIZE)
19        .expect("failed to query page size");
20    println!("page size : {}", page_size);
21    let hardware_mode = emu
22        .query(unicorn::Query::MODE)
23        .expect("failed to query hardware mode");
24    println!("hardware mode : {}", hardware_mode);
25
26    println!("Sample error message : {}", unicorn::Error::HOOK.msg());
27
28    emu.mem_map(0x10000, 0x4000, unicorn::Protection::ALL)
29        .expect("failed to map first memory region");
30    emu.mem_map(0x20000, 0x4000, unicorn::Protection::ALL)
31        .expect("failed to map second memory region");
32    let regions = emu
33        .mem_regions()
34        .expect("failed to retrieve memory mappings");
35    println!("Regions : {}", regions.len());
36
37    for region in &regions {
38        println!("{:?}", region);
39    }
40}