pub const BARYL_FUZZ_ABI_VERSION: u32 = 2;
pub const BARYL_FUZZ_MIN_ABI_VERSION: u32 = 2;
pub const BARYL_RESET_END: u32 = 0;
pub const BARYL_RESET_TIMEOUT: u32 = 1;
pub const BARYL_RESET_CRASH: u32 = 2;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FuzzRef {
pub ctx: *mut ::core::ffi::c_void,
pub vtable: *const FuzzVtable,
}
impl Default for FuzzRef {
fn default() -> Self {
let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
unsafe {
::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type CaseStartFn = ::core::option::Option<
unsafe extern "C" fn(obj: *mut ::core::ffi::c_void, ctl: *mut ::core::ffi::c_void),
>;
pub type MutateFn = ::core::option::Option<
unsafe extern "C" fn(
obj: *mut ::core::ffi::c_void,
ctl: *mut ::core::ffi::c_void,
buf: *mut u8,
len: *mut u64,
cap: u64,
),
>;
pub type InjectFn = ::core::option::Option<
unsafe extern "C" fn(
obj: *mut ::core::ffi::c_void,
ctl: *mut ::core::ffi::c_void,
buf: *const u8,
len: u64,
),
>;
pub type CovHashFn = ::core::option::Option<
unsafe extern "C" fn(obj: *mut ::core::ffi::c_void, ctl: *mut ::core::ffi::c_void) -> u64,
>;
pub type CaseEndFn = ::core::option::Option<
unsafe extern "C" fn(obj: *mut ::core::ffi::c_void, ctl: *mut ::core::ffi::c_void, reason: u32),
>;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct FuzzCallbacks {
pub on_case_start: CaseStartFn,
pub on_mutate: MutateFn,
pub on_inject: InjectFn,
pub on_gen_cov_hash: CovHashFn,
pub on_testcase_ended: CaseEndFn,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct FuzzVtable {
pub rand: ::core::option::Option<unsafe extern "C" fn(f: FuzzRef) -> u64>,
pub case_id: ::core::option::Option<unsafe extern "C" fn(f: FuzzRef) -> u64>,
pub set_icount_budget: ::core::option::Option<unsafe extern "C" fn(f: FuzzRef, insns: u64)>,
pub set_case_limit: ::core::option::Option<unsafe extern "C" fn(f: FuzzRef, cases: u64)>,
pub set_next_input:
::core::option::Option<unsafe extern "C" fn(f: FuzzRef, buf: *const u8, len: u64)>,
pub corpus_size: ::core::option::Option<unsafe extern "C" fn(f: FuzzRef) -> u64>,
}