• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* automatically generated by tools/bindgen-all-the-things */
2 
3 #![allow(clippy::missing_safety_doc)]
4 #![allow(clippy::undocumented_unsafe_blocks)]
5 #![allow(clippy::upper_case_acronyms)]
6 #![allow(non_upper_case_globals)]
7 #![allow(non_camel_case_types)]
8 #![allow(non_snake_case)]
9 #![allow(dead_code)]
10 
11 pub const GH_IOCTL_TYPE: u8 = 71u8;
12 pub const GH_MEM_ALLOW_READ: u32 = 1;
13 pub const GH_MEM_ALLOW_WRITE: u32 = 2;
14 pub const GH_MEM_ALLOW_EXEC: u32 = 4;
15 pub const GH_FN_VCPU: u32 = 1;
16 pub const GH_FN_IRQFD: u32 = 2;
17 pub const GH_FN_IOEVENTFD: u32 = 3;
18 pub const GH_FN_MAX_ARG_SIZE: u32 = 256;
19 pub const GH_IRQFD_LEVEL: u32 = 1;
20 pub const GH_IOEVENTFD_DATAMATCH: u32 = 1;
21 pub const GH_VM_MAX_EXIT_REASON_SIZE: u32 = 8;
22 pub const GH_VCPU_EXIT_UNKNOWN: u32 = 0;
23 pub const GH_VCPU_EXIT_MMIO: u32 = 1;
24 pub const GH_VCPU_EXIT_STATUS: u32 = 2;
25 pub const GH_ANDROID_IOCTL_TYPE: u8 = 65u8;
26 pub const GH_VM_BOOT_CONTEXT_REG_SHIFT: u32 = 8;
27 pub type i8 = :: std :: os :: raw :: c_schar;
28 pub type u8 = :: std :: os :: raw :: c_uchar;
29 pub type i16 = :: std :: os :: raw :: c_short;
30 pub type u16 = :: std :: os :: raw :: c_ushort;
31 pub type i32 = :: std :: os :: raw :: c_int;
32 pub type u32 = :: std :: os :: raw :: c_uint;
33 pub type i64 = :: std :: os :: raw :: c_longlong;
34 pub type u64 = :: std :: os :: raw :: c_ulonglong;
35 pub type __s128 = i128;
36 pub type __u128 = u128;
37 pub type __le16 = u16;
38 pub type __be16 = u16;
39 pub type __le32 = u32;
40 pub type __be32 = u32;
41 pub type __le64 = u64;
42 pub type __be64 = u64;
43 pub type __sum16 = u16;
44 pub type __wsum = u32;
45 pub type __poll_t = :: std :: os :: raw :: c_uint;
46 pub const gunyah_auth_type_GUNYAH_ANDROID_PVM_TYPE : gunyah_auth_type = 0;
47 pub const gunyah_auth_type_GUNYAH_QCOM_TRUSTED_VM_TYPE : gunyah_auth_type = 1;
48 pub type gunyah_auth_type = :: std :: os :: raw :: c_uint;
49 #[repr (C)]
50 #[derive (Debug , Default , Copy , Clone)]
51 pub struct gunyah_qtvm_auth_arg {
52     pub vm_id : u16,
53     pub pas_id : u32,
54     pub guest_phys_addr : u64,
55     pub size : u64,
56 }
57 #[repr (C)]
58 #[derive (Debug , Default , Copy , Clone)]
59 pub struct gunyah_auth_desc {
60     pub type_ : u32,
61     pub arg_size : u32,
62     pub arg : u64,
63 }
64 #[repr(C)]
65 #[derive(Debug, Default, Copy, Clone)]
66 pub struct gh_userspace_memory_region {
67     pub label: u32,
68     pub flags: u32,
69     pub guest_phys_addr: u64,
70     pub memory_size: u64,
71     pub userspace_addr: u64,
72 }
73 #[repr(C)]
74 #[derive(Debug, Default, Copy, Clone)]
75 pub struct gh_vm_dtb_config {
76     pub guest_phys_addr: u64,
77     pub size: u64,
78 }
79 pub mod gh_vm_boot_context_reg {
80     pub type Type = ::std::os::raw::c_uint;
81     pub const REG_SET_X: Type = 0;
82     pub const REG_SET_PC: Type = 1;
83     pub const REG_SET_SP: Type = 2;
84 }
85 #[repr(C)]
86 #[derive(Debug, Default, Copy, Clone)]
87 pub struct gh_vm_boot_context {
88     pub reg: u32,
89     pub reserved: u32,
90     pub value: u64,
91 }
92 #[repr(C)]
93 #[derive(Debug, Default, Copy, Clone)]
94 pub struct gh_fn_vcpu_arg {
95     pub id: u32,
96 }
97 #[repr(C)]
98 #[derive(Debug, Default, Copy, Clone)]
99 pub struct gh_fn_irqfd_arg {
100     pub fd: u32,
101     pub label: u32,
102     pub flags: u32,
103     pub padding: u32,
104 }
105 #[repr(C)]
106 #[derive(Debug, Default, Copy, Clone)]
107 pub struct gh_fn_ioeventfd_arg {
108     pub datamatch: u64,
109     pub addr: u64,
110     pub len: u32,
111     pub fd: i32,
112     pub flags: u32,
113     pub padding: u32,
114 }
115 #[repr(C)]
116 #[derive(Debug, Default, Copy, Clone)]
117 pub struct gh_fn_desc {
118     pub type_: u32,
119     pub arg_size: u32,
120     pub arg: u64,
121 }
122 pub const GH_VM_STATUS_GH_VM_STATUS_LOAD_FAILED: gh_vm_status = 1;
123 pub const GH_VM_STATUS_GH_VM_STATUS_EXITED: gh_vm_status = 2;
124 pub const GH_VM_STATUS_GH_VM_STATUS_CRASHED: gh_vm_status = 3;
125 pub type gh_vm_status = ::std::os::raw::c_uint;
126 #[repr(C)]
127 #[derive(Debug, Default, Copy, Clone)]
128 pub struct gh_vm_exit_info {
129     pub type_: u16,
130     pub padding: u16,
131     pub reason_size: u32,
132     pub reason: [u8; 8usize],
133 }
134 #[repr(C)]
135 #[derive(Copy, Clone)]
136 pub struct gh_vcpu_run {
137     pub immediate_exit: u8,
138     pub padding: [u8; 7usize],
139     pub exit_reason: u32,
140     pub __bindgen_anon_1: gh_vcpu_run__bindgen_ty_1,
141 }
142 #[repr(C)]
143 #[derive(Copy, Clone)]
144 pub union gh_vcpu_run__bindgen_ty_1 {
145     pub mmio: gh_vcpu_run__bindgen_ty_1__bindgen_ty_1,
146     pub status: gh_vcpu_run__bindgen_ty_1__bindgen_ty_2,
147 }
148 #[repr(C)]
149 #[derive(Debug, Default, Copy, Clone)]
150 pub struct gh_vcpu_run__bindgen_ty_1__bindgen_ty_1 {
151     pub phys_addr: u64,
152     pub data: [u8; 8usize],
153     pub len: u32,
154     pub is_write: u8,
155 }
156 #[repr(C)]
157 #[derive(Debug, Copy, Clone)]
158 pub struct gh_vcpu_run__bindgen_ty_1__bindgen_ty_2 {
159     pub status: gh_vm_status,
160     pub exit_info: gh_vm_exit_info,
161 }
162 impl Default for gh_vcpu_run__bindgen_ty_1__bindgen_ty_2 {
default() -> Self163     fn default() -> Self {
164         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
165         unsafe {
166             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
167             s.assume_init()
168         }
169     }
170 }
171 impl Default for gh_vcpu_run__bindgen_ty_1 {
default() -> Self172     fn default() -> Self {
173         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
174         unsafe {
175             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
176             s.assume_init()
177         }
178     }
179 }
180 impl Default for gh_vcpu_run {
default() -> Self181     fn default() -> Self {
182         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
183         unsafe {
184             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
185             s.assume_init()
186         }
187     }
188 }
189 #[repr(C)]
190 #[derive(Debug, Default, Copy, Clone)]
191 pub struct gh_vm_firmware_config {
192     pub guest_phys_addr: u64,
193     pub size: u64,
194 }
195 #[repr(C)]
196 #[derive(Debug, Default, Copy, Clone)]
197 pub struct gunyah_address_range {
198     pub guest_phys_addr: u64,
199     pub size: u64,
200 }
201 pub const GUNYAH_MEM_ALLOW_READ : gunyah_map_flags = 1 ;
202 pub const GUNYAH_MEM_ALLOW_WRITE : gunyah_map_flags = 2 ;
203 pub const GUNYAH_MEM_ALLOW_EXEC : gunyah_map_flags = 4 ;
204 pub const GUNYAH_MEM_ALLOW_RWX : gunyah_map_flags = 7 ;
205 pub const GUNYAH_MEM_DEFAULT_ACCESS : gunyah_map_flags = 0 ;
206 pub const GUNYAH_MEM_FORCE_LEND : gunyah_map_flags = 16 ;
207 pub const GUNYAH_MEM_FORCE_SHARE : gunyah_map_flags = 32 ;
208 pub const GUNYAH_MEM_UNMAP : gunyah_map_flags = 256 ;
209 pub type gunyah_map_flags = :: std :: os :: raw :: c_uint ;
210 #[repr (C)]
211 #[derive (Debug , Default , Copy , Clone)]
212 pub struct gunyah_map_cma_mem_args {
213     pub label: u32,
214     pub guest_addr : u64,
215     pub flags : u32,
216     pub guest_mem_fd : u32,
217     pub offset : u64,
218     pub size : u64,
219 }
220