page_source_bindings/
page_source_bindings.rs1#![expect(non_camel_case_types)]
8#![expect(non_upper_case_globals)]
9#![no_std]
10pub use zx_types::zx_status_t;
11
12#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
13#[repr(C, align(8))]
14pub struct __BindgenOpaqueArray8<T>(pub T);
15impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
16 fn default() -> Self {
17 Self([<T as Default>::default(); N])
18 }
19}
20#[repr(u32)]
21#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22pub enum page_request_type {
23 READ = 0,
24 DIRTY = 1,
25 WRITEBACK = 2,
26 COUNT = 3,
27}
28#[repr(C)]
29#[derive(Debug, Copy, Clone)]
30pub struct PageSourceProperties {
31 pub is_user_pager: bool,
32 pub supports_request_type: [bool; 3usize],
33}
34unsafe extern "C" {
35 pub fn cpp_page_source_free(src: *mut PageSource);
36}
37#[repr(C)]
38#[repr(align(8))]
39#[derive(Debug, Copy, Clone)]
40pub struct PageSource {
41 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 176usize]>,
42}
43pub const PageSource_ContinuationType_NotContinuation: PageSource_ContinuationType = 0;
44pub const PageSource_ContinuationType_SameRequest: PageSource_ContinuationType = 1;
45pub const PageSource_ContinuationType_SameSource: PageSource_ContinuationType = 2;
46pub type PageSource_ContinuationType = ::core::ffi::c_int;
47#[repr(C)]
48#[repr(align(8))]
49#[derive(Debug, Copy, Clone)]
50pub struct PageRequest {
51 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 216usize]>,
52}
53#[repr(C)]
54#[repr(align(8))]
55#[derive(Debug, Copy, Clone)]
56pub struct MultiPageRequest {
57 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 256usize]>,
58}
59unsafe extern "C" {
60 pub fn cpp_multi_page_request_construct(req: *mut MultiPageRequest);
61}
62unsafe extern "C" {
63 pub fn cpp_multi_page_request_destroy(req: *mut MultiPageRequest);
64}
65unsafe extern "C" {
66 pub fn cpp_multi_page_request_cancel_requests(req: *mut MultiPageRequest);
67}
68unsafe extern "C" {
69 pub fn cpp_multi_page_request_wait(
70 req: *mut MultiPageRequest,
71 suspendable: bool,
72 ) -> zx_status_t;
73}
74unsafe extern "C" {
75 pub fn cpp_page_request_get_type(request: *const PageRequest) -> u32;
76}
77unsafe extern "C" {
78 pub fn cpp_page_request_get_offset(request: *const PageRequest) -> u64;
79}
80unsafe extern "C" {
81 pub fn cpp_page_request_get_len(request: *const PageRequest) -> u64;
82}
83unsafe extern "C" {
84 pub fn cpp_page_request_provider_node(request: *mut PageRequest) -> *mut ::core::ffi::c_void;
85}
86unsafe extern "C" {
87 pub fn cpp_page_source_get_ref_counted(src: *mut PageSource) -> *mut ::core::ffi::c_void;
88}
89unsafe extern "C" {
90 pub fn cpp_page_source_on_pages_failed(
91 page_source: *mut PageSource,
92 offset: u64,
93 len: u64,
94 error_status: zx_status_t,
95 );
96}
97unsafe extern "C" {
98 pub fn cpp_page_source_is_valid_external_failure_code(error_status: zx_status_t) -> bool;
99}
100unsafe extern "C" {
101 pub fn cpp_page_source_is_valid_internal_failure_code(status: zx_status_t) -> bool;
102}
103unsafe extern "C" {
104 pub fn cpp_page_source_paged_vmo_lock_is_held(page_source: *mut PageSource) -> bool;
105}