1use core::ffi::c_char;
2
3#[repr(C)]
4#[derive(Debug, Clone, Copy)]
5pub struct Pattern {
6 pub pattern: *const PatternByte,
7 pub length: usize,
8}
9
10#[repr(C)]
11#[derive(Debug, Clone, Copy)]
12pub struct PatternByte {
13 pub value: u8,
14 pub mask: u8,
15}
16
17unsafe extern "C" {
18 pub fn forge_pattern_create(pattern: *const c_char) -> Pattern;
19 pub fn forge_pattern_createBits(pattern: *const c_char) -> Pattern;
20 pub fn forge_pattern_destroy(pattern: Pattern);
21
22 pub fn forge_pattern_find(pattern: *const c_char) -> u32;
23 pub fn forge_pattern_findFrom(start_addr: u32, pattern: *const c_char) -> u32;
24
25 pub fn forge_pattern_findBits(bits: *const c_char) -> u32;
26 pub fn forge_pattern_findBitsFrom(start_addr: u32, bits: *const c_char) -> u32;
27
28 pub fn forge_pattern_findEx(pattern: Pattern) -> u32;
29 pub fn forge_pattern_findFromEx(start_addr: u32, pattern: Pattern) -> u32;
30}