1#![no_std]
9
10#[allow(
11 non_camel_case_types,
12 non_snake_case,
13 non_upper_case_globals,
14 clippy::all,
15 clippy::pedantic,
16 clippy::nursery,
17 rustdoc::all
18)]
19#[rustfmt::skip]
20mod bindings;
21
22pub use bindings::*;
23
24pub type AnvilPluginLoadFn =
27 unsafe extern "C" fn(host: *const AnvilHost, self_: *mut AnvilPlugin) -> AnvilResult;
28
29const _: () = {
32 use core::mem::{align_of, offset_of, size_of};
33 assert!(size_of::<AnvilCpuContext>() == 408);
34 assert!(align_of::<AnvilCpuContext>() == 8);
35 assert!(size_of::<AnvilXmm>() == 16);
36 assert!(offset_of!(AnvilCpuContext, xmm) == 0);
37 assert!(offset_of!(AnvilCpuContext, rflags) == 256);
38 assert!(offset_of!(AnvilCpuContext, rax) == 256 + 14 * 8);
39 assert!(offset_of!(AnvilCpuContext, rsp) == 256 + 16 * 8);
40 assert!(offset_of!(AnvilCpuContext, rip) == 256 + 18 * 8);
41 assert!(ANVIL_API_VERSION == 2);
42 assert!(size_of::<usize>() == 8);
44};