pmm_checker_bindings/
pmm_checker_bindings.rs1#![no_std]
8use page_bindings::vm_page_t;
9
10#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
11#[repr(C, align(8))]
12pub struct __BindgenOpaqueArray8<T>(pub T);
13impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
14 fn default() -> Self {
15 Self([<T as Default>::default(); N])
16 }
17}
18#[repr(C)]
19#[repr(align(8))]
20#[derive(Debug, Copy, Clone)]
21pub struct PmmChecker {
22 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 16usize]>,
23}
24unsafe extern "C" {
25 pub fn cpp_pmm_checker_init(checker: *mut u8);
26}
27unsafe extern "C" {
28 pub fn cpp_pmm_checker_destroy(checker: *mut PmmChecker);
29}
30unsafe extern "C" {
31 pub fn cpp_pmm_checker_is_valid_fill_size(fill_size: usize) -> bool;
32}
33unsafe extern "C" {
34 pub fn cpp_pmm_checker_set_fill_size(checker: *mut PmmChecker, fill_size: usize);
35}
36unsafe extern "C" {
37 pub fn cpp_pmm_checker_get_fill_size(checker: *const PmmChecker) -> usize;
38}
39unsafe extern "C" {
40 pub fn cpp_pmm_checker_set_action(checker: *mut PmmChecker, action: u8);
41}
42unsafe extern "C" {
43 pub fn cpp_pmm_checker_get_action(checker: *const PmmChecker) -> u8;
44}
45unsafe extern "C" {
46 pub fn cpp_pmm_checker_is_armed(checker: *const PmmChecker) -> bool;
47}
48unsafe extern "C" {
49 pub fn cpp_pmm_checker_arm(checker: *mut PmmChecker);
50}
51unsafe extern "C" {
52 pub fn cpp_pmm_checker_fill_pattern(checker: *const PmmChecker, page: *mut vm_page_t);
53}
54unsafe extern "C" {
55 pub fn cpp_pmm_checker_validate_pattern(
56 checker: *const PmmChecker,
57 page: *mut vm_page_t,
58 ) -> bool;
59}
60unsafe extern "C" {
61 pub fn cpp_pmm_checker_assert_pattern(checker: *const PmmChecker, page: *mut vm_page_t);
62}
63unsafe extern "C" {
64 pub fn cpp_pmm_checker_print_status_stdout(checker: *const PmmChecker);
65}