]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/System/Environment/mod.rs
516767123e0491a03947e92f2830cb2c7d4c8185
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / System / Environment / mod.rs
1 #[cfg(feature = "Win32_Foundation")]
2 ::windows_sys::core::link ! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn CallEnclave ( lproutine : isize , lpparameter : *const ::core::ffi::c_void , fwaitforthread : super::super::Foundation:: BOOL , lpreturnvalue : *mut *mut ::core::ffi::c_void ) -> super::super::Foundation:: BOOL );
3 #[cfg(feature = "Win32_Foundation")]
4 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn CreateEnclave ( hprocess : super::super::Foundation:: HANDLE , lpaddress : *const ::core::ffi::c_void , dwsize : usize , dwinitialcommitment : usize , flenclavetype : u32 , lpenclaveinformation : *const ::core::ffi::c_void , dwinfolength : u32 , lpenclaveerror : *mut u32 ) -> *mut ::core::ffi::c_void );
5 #[cfg(feature = "Win32_Foundation")]
6 ::windows_sys::core::link ! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn CreateEnvironmentBlock ( lpenvironment : *mut *mut ::core::ffi::c_void , htoken : super::super::Foundation:: HANDLE , binherit : super::super::Foundation:: BOOL ) -> super::super::Foundation:: BOOL );
7 #[cfg(feature = "Win32_Foundation")]
8 ::windows_sys::core::link ! ( "api-ms-win-core-enclave-l1-1-1.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn DeleteEnclave ( lpaddress : *const ::core::ffi::c_void ) -> super::super::Foundation:: BOOL );
9 #[cfg(feature = "Win32_Foundation")]
10 ::windows_sys::core::link ! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn DestroyEnvironmentBlock ( lpenvironment : *const ::core::ffi::c_void ) -> super::super::Foundation:: BOOL );
11 ::windows_sys::core::link ! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveGetAttestationReport ( enclavedata : *const u8 , report : *mut ::core::ffi::c_void , buffersize : u32 , outputsize : *mut u32 ) -> :: windows_sys::core::HRESULT );
12 ::windows_sys::core::link ! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveGetEnclaveInformation ( informationsize : u32 , enclaveinformation : *mut ENCLAVE_INFORMATION ) -> :: windows_sys::core::HRESULT );
13 ::windows_sys::core::link ! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveSealData ( datatoencrypt : *const ::core::ffi::c_void , datatoencryptsize : u32 , identitypolicy : ENCLAVE_SEALING_IDENTITY_POLICY , runtimepolicy : u32 , protectedblob : *mut ::core::ffi::c_void , buffersize : u32 , protectedblobsize : *mut u32 ) -> :: windows_sys::core::HRESULT );
14 ::windows_sys::core::link ! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveUnsealData ( protectedblob : *const ::core::ffi::c_void , protectedblobsize : u32 , decrypteddata : *mut ::core::ffi::c_void , buffersize : u32 , decrypteddatasize : *mut u32 , sealingidentity : *mut ENCLAVE_IDENTITY , unsealingflags : *mut u32 ) -> :: windows_sys::core::HRESULT );
15 ::windows_sys::core::link ! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveVerifyAttestationReport ( enclavetype : u32 , report : *const ::core::ffi::c_void , reportsize : u32 ) -> :: windows_sys::core::HRESULT );
16 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn ExpandEnvironmentStringsA ( lpsrc : :: windows_sys::core::PCSTR , lpdst : :: windows_sys::core::PSTR , nsize : u32 ) -> u32 );
17 #[cfg(feature = "Win32_Foundation")]
18 ::windows_sys::core::link ! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn ExpandEnvironmentStringsForUserA ( htoken : super::super::Foundation:: HANDLE , lpsrc : :: windows_sys::core::PCSTR , lpdest : :: windows_sys::core::PSTR , dwsize : u32 ) -> super::super::Foundation:: BOOL );
19 #[cfg(feature = "Win32_Foundation")]
20 ::windows_sys::core::link ! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn ExpandEnvironmentStringsForUserW ( htoken : super::super::Foundation:: HANDLE , lpsrc : :: windows_sys::core::PCWSTR , lpdest : :: windows_sys::core::PWSTR , dwsize : u32 ) -> super::super::Foundation:: BOOL );
21 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn ExpandEnvironmentStringsW ( lpsrc : :: windows_sys::core::PCWSTR , lpdst : :: windows_sys::core::PWSTR , nsize : u32 ) -> u32 );
22 #[cfg(feature = "Win32_Foundation")]
23 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn FreeEnvironmentStringsA ( penv : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
24 #[cfg(feature = "Win32_Foundation")]
25 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn FreeEnvironmentStringsW ( penv : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
26 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCommandLineA ( ) -> :: windows_sys::core::PSTR );
27 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCommandLineW ( ) -> :: windows_sys::core::PWSTR );
28 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCurrentDirectoryA ( nbufferlength : u32 , lpbuffer : :: windows_sys::core::PSTR ) -> u32 );
29 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCurrentDirectoryW ( nbufferlength : u32 , lpbuffer : :: windows_sys::core::PWSTR ) -> u32 );
30 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentStrings ( ) -> :: windows_sys::core::PSTR );
31 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentStringsW ( ) -> :: windows_sys::core::PWSTR );
32 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentVariableA ( lpname : :: windows_sys::core::PCSTR , lpbuffer : :: windows_sys::core::PSTR , nsize : u32 ) -> u32 );
33 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentVariableW ( lpname : :: windows_sys::core::PCWSTR , lpbuffer : :: windows_sys::core::PWSTR , nsize : u32 ) -> u32 );
34 #[cfg(feature = "Win32_Foundation")]
35 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn InitializeEnclave ( hprocess : super::super::Foundation:: HANDLE , lpaddress : *const ::core::ffi::c_void , lpenclaveinformation : *const ::core::ffi::c_void , dwinfolength : u32 , lpenclaveerror : *mut u32 ) -> super::super::Foundation:: BOOL );
36 #[cfg(feature = "Win32_Foundation")]
37 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn IsEnclaveTypeSupported ( flenclavetype : u32 ) -> super::super::Foundation:: BOOL );
38 #[cfg(feature = "Win32_Foundation")]
39 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn LoadEnclaveData ( hprocess : super::super::Foundation:: HANDLE , lpaddress : *const ::core::ffi::c_void , lpbuffer : *const ::core::ffi::c_void , nsize : usize , flprotect : u32 , lppageinformation : *const ::core::ffi::c_void , dwinfolength : u32 , lpnumberofbyteswritten : *mut usize , lpenclaveerror : *mut u32 ) -> super::super::Foundation:: BOOL );
40 #[cfg(feature = "Win32_Foundation")]
41 ::windows_sys::core::link ! ( "api-ms-win-core-enclave-l1-1-1.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn LoadEnclaveImageA ( lpenclaveaddress : *const ::core::ffi::c_void , lpimagename : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
42 #[cfg(feature = "Win32_Foundation")]
43 ::windows_sys::core::link ! ( "api-ms-win-core-enclave-l1-1-1.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn LoadEnclaveImageW ( lpenclaveaddress : *const ::core::ffi::c_void , lpimagename : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
44 #[cfg(feature = "Win32_Foundation")]
45 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn NeedCurrentDirectoryForExePathA ( exename : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
46 #[cfg(feature = "Win32_Foundation")]
47 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn NeedCurrentDirectoryForExePathW ( exename : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
48 #[cfg(feature = "Win32_Foundation")]
49 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetCurrentDirectoryA ( lppathname : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
50 #[cfg(feature = "Win32_Foundation")]
51 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetCurrentDirectoryW ( lppathname : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
52 #[cfg(feature = "Win32_Foundation")]
53 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetEnvironmentStringsW ( newenvironment : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
54 #[cfg(feature = "Win32_Foundation")]
55 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetEnvironmentVariableA ( lpname : :: windows_sys::core::PCSTR , lpvalue : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
56 #[cfg(feature = "Win32_Foundation")]
57 ::windows_sys::core::link ! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetEnvironmentVariableW ( lpname : :: windows_sys::core::PCWSTR , lpvalue : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
58 #[cfg(feature = "Win32_Foundation")]
59 ::windows_sys::core::link ! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn TerminateEnclave ( lpaddress : *const ::core::ffi::c_void , fwait : super::super::Foundation:: BOOL ) -> super::super::Foundation:: BOOL );
60 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
61 pub const ENCLAVE_FLAG_DYNAMIC_DEBUG_ACTIVE: u32 = 4u32;
62 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
63 pub const ENCLAVE_FLAG_DYNAMIC_DEBUG_ENABLED: u32 = 2u32;
64 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
65 pub const ENCLAVE_FLAG_FULL_DEBUG_ENABLED: u32 = 1u32;
66 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
67 pub const ENCLAVE_REPORT_DATA_LENGTH: u32 = 64u32;
68 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
69 pub const ENCLAVE_RUNTIME_POLICY_ALLOW_DYNAMIC_DEBUG: u32 = 2u32;
70 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
71 pub const ENCLAVE_RUNTIME_POLICY_ALLOW_FULL_DEBUG: u32 = 1u32;
72 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
73 pub const ENCLAVE_UNSEAL_FLAG_STALE_KEY: u32 = 1u32;
74 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
75 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_DEBUG_KEY: u32 = 8u32;
76 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
77 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_FAMILY_ID: u32 = 2u32;
78 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
79 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_IMAGE_ID: u32 = 4u32;
80 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
81 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_MEASUREMENT: u32 = 1u32;
82 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
83 pub const VBS_ENCLAVE_REPORT_PKG_HEADER_VERSION_CURRENT: u32 = 1u32;
84 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
85 pub const VBS_ENCLAVE_REPORT_SIGNATURE_SCHEME_SHA256_RSA_PSS_SHA256: u32 = 1u32;
86 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
87 pub const VBS_ENCLAVE_REPORT_VERSION_CURRENT: u32 = 1u32;
88 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
89 pub const VBS_ENCLAVE_VARDATA_INVALID: u32 = 0u32;
90 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
91 pub const VBS_ENCLAVE_VARDATA_MODULE: u32 = 1u32;
92 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
93 pub type ENCLAVE_SEALING_IDENTITY_POLICY = i32;
94 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
95 pub const ENCLAVE_IDENTITY_POLICY_SEAL_INVALID: ENCLAVE_SEALING_IDENTITY_POLICY = 0i32;
96 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
97 pub const ENCLAVE_IDENTITY_POLICY_SEAL_EXACT_CODE: ENCLAVE_SEALING_IDENTITY_POLICY = 1i32;
98 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
99 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_PRIMARY_CODE: ENCLAVE_SEALING_IDENTITY_POLICY = 2i32;
100 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
101 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_IMAGE: ENCLAVE_SEALING_IDENTITY_POLICY = 3i32;
102 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
103 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_FAMILY: ENCLAVE_SEALING_IDENTITY_POLICY = 4i32;
104 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
105 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_AUTHOR: ENCLAVE_SEALING_IDENTITY_POLICY = 5i32;
106 #[repr(C, packed(1))]
107 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
108 pub struct ENCLAVE_IDENTITY {
109 pub OwnerId: [u8; 32],
110 pub UniqueId: [u8; 32],
111 pub AuthorId: [u8; 32],
112 pub FamilyId: [u8; 16],
113 pub ImageId: [u8; 16],
114 pub EnclaveSvn: u32,
115 pub SecureKernelSvn: u32,
116 pub PlatformSvn: u32,
117 pub Flags: u32,
118 pub SigningLevel: u32,
119 pub EnclaveType: u32,
120 }
121 impl ::core::marker::Copy for ENCLAVE_IDENTITY {}
122 impl ::core::clone::Clone for ENCLAVE_IDENTITY {
123 fn clone(&self) -> Self {
124 *self
125 }
126 }
127 #[repr(C)]
128 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
129 pub struct ENCLAVE_INFORMATION {
130 pub EnclaveType: u32,
131 pub Reserved: u32,
132 pub BaseAddress: *mut ::core::ffi::c_void,
133 pub Size: usize,
134 pub Identity: ENCLAVE_IDENTITY,
135 }
136 impl ::core::marker::Copy for ENCLAVE_INFORMATION {}
137 impl ::core::clone::Clone for ENCLAVE_INFORMATION {
138 fn clone(&self) -> Self {
139 *self
140 }
141 }
142 #[repr(C)]
143 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
144 pub struct ENCLAVE_VBS_BASIC_KEY_REQUEST {
145 pub RequestSize: u32,
146 pub Flags: u32,
147 pub EnclaveSVN: u32,
148 pub SystemKeyID: u32,
149 pub CurrentSystemKeyID: u32,
150 }
151 impl ::core::marker::Copy for ENCLAVE_VBS_BASIC_KEY_REQUEST {}
152 impl ::core::clone::Clone for ENCLAVE_VBS_BASIC_KEY_REQUEST {
153 fn clone(&self) -> Self {
154 *self
155 }
156 }
157 #[repr(C)]
158 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
159 pub struct VBS_BASIC_ENCLAVE_EXCEPTION_AMD64 {
160 pub ExceptionCode: u32,
161 pub NumberParameters: u32,
162 pub ExceptionInformation: [usize; 3],
163 pub ExceptionRAX: usize,
164 pub ExceptionRCX: usize,
165 pub ExceptionRIP: usize,
166 pub ExceptionRFLAGS: usize,
167 pub ExceptionRSP: usize,
168 }
169 impl ::core::marker::Copy for VBS_BASIC_ENCLAVE_EXCEPTION_AMD64 {}
170 impl ::core::clone::Clone for VBS_BASIC_ENCLAVE_EXCEPTION_AMD64 {
171 fn clone(&self) -> Self {
172 *self
173 }
174 }
175 #[repr(C)]
176 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
177 pub struct VBS_BASIC_ENCLAVE_SYSCALL_PAGE {
178 pub ReturnFromEnclave: VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_ENCLAVE,
179 pub ReturnFromException: VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_EXCEPTION,
180 pub TerminateThread: VBS_BASIC_ENCLAVE_BASIC_CALL_TERMINATE_THREAD,
181 pub InterruptThread: VBS_BASIC_ENCLAVE_BASIC_CALL_INTERRUPT_THREAD,
182 pub CommitPages: VBS_BASIC_ENCLAVE_BASIC_CALL_COMMIT_PAGES,
183 pub DecommitPages: VBS_BASIC_ENCLAVE_BASIC_CALL_DECOMMIT_PAGES,
184 pub ProtectPages: VBS_BASIC_ENCLAVE_BASIC_CALL_PROTECT_PAGES,
185 pub CreateThread: VBS_BASIC_ENCLAVE_BASIC_CALL_CREATE_THREAD,
186 pub GetEnclaveInformation: VBS_BASIC_ENCLAVE_BASIC_CALL_GET_ENCLAVE_INFORMATION,
187 pub GenerateKey: VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_KEY,
188 pub GenerateReport: VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_REPORT,
189 pub VerifyReport: VBS_BASIC_ENCLAVE_BASIC_CALL_VERIFY_REPORT,
190 pub GenerateRandomData: VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_RANDOM_DATA,
191 }
192 impl ::core::marker::Copy for VBS_BASIC_ENCLAVE_SYSCALL_PAGE {}
193 impl ::core::clone::Clone for VBS_BASIC_ENCLAVE_SYSCALL_PAGE {
194 fn clone(&self) -> Self {
195 *self
196 }
197 }
198 #[repr(C)]
199 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
200 pub struct VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32 {
201 pub ThreadContext: [u32; 4],
202 pub EntryPoint: u32,
203 pub StackPointer: u32,
204 pub ExceptionEntryPoint: u32,
205 pub ExceptionStack: u32,
206 pub ExceptionActive: u32,
207 }
208 impl ::core::marker::Copy for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32 {}
209 impl ::core::clone::Clone for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32 {
210 fn clone(&self) -> Self {
211 *self
212 }
213 }
214 #[repr(C)]
215 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
216 pub struct VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64 {
217 pub ThreadContext: [u64; 4],
218 pub EntryPoint: u64,
219 pub StackPointer: u64,
220 pub ExceptionEntryPoint: u64,
221 pub ExceptionStack: u64,
222 pub ExceptionActive: u32,
223 }
224 impl ::core::marker::Copy for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64 {}
225 impl ::core::clone::Clone for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64 {
226 fn clone(&self) -> Self {
227 *self
228 }
229 }
230 #[repr(C, packed(1))]
231 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
232 pub struct VBS_ENCLAVE_REPORT {
233 pub ReportSize: u32,
234 pub ReportVersion: u32,
235 pub EnclaveData: [u8; 64],
236 pub EnclaveIdentity: ENCLAVE_IDENTITY,
237 }
238 impl ::core::marker::Copy for VBS_ENCLAVE_REPORT {}
239 impl ::core::clone::Clone for VBS_ENCLAVE_REPORT {
240 fn clone(&self) -> Self {
241 *self
242 }
243 }
244 #[repr(C, packed(1))]
245 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
246 pub struct VBS_ENCLAVE_REPORT_MODULE {
247 pub Header: VBS_ENCLAVE_REPORT_VARDATA_HEADER,
248 pub UniqueId: [u8; 32],
249 pub AuthorId: [u8; 32],
250 pub FamilyId: [u8; 16],
251 pub ImageId: [u8; 16],
252 pub Svn: u32,
253 pub ModuleName: [u16; 1],
254 }
255 impl ::core::marker::Copy for VBS_ENCLAVE_REPORT_MODULE {}
256 impl ::core::clone::Clone for VBS_ENCLAVE_REPORT_MODULE {
257 fn clone(&self) -> Self {
258 *self
259 }
260 }
261 #[repr(C, packed(1))]
262 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
263 pub struct VBS_ENCLAVE_REPORT_PKG_HEADER {
264 pub PackageSize: u32,
265 pub Version: u32,
266 pub SignatureScheme: u32,
267 pub SignedStatementSize: u32,
268 pub SignatureSize: u32,
269 pub Reserved: u32,
270 }
271 impl ::core::marker::Copy for VBS_ENCLAVE_REPORT_PKG_HEADER {}
272 impl ::core::clone::Clone for VBS_ENCLAVE_REPORT_PKG_HEADER {
273 fn clone(&self) -> Self {
274 *self
275 }
276 }
277 #[repr(C, packed(1))]
278 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
279 pub struct VBS_ENCLAVE_REPORT_VARDATA_HEADER {
280 pub DataType: u32,
281 pub Size: u32,
282 }
283 impl ::core::marker::Copy for VBS_ENCLAVE_REPORT_VARDATA_HEADER {}
284 impl ::core::clone::Clone for VBS_ENCLAVE_REPORT_VARDATA_HEADER {
285 fn clone(&self) -> Self {
286 *self
287 }
288 }
289 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
290 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_COMMIT_PAGES = ::core::option::Option<unsafe extern "system" fn(enclaveaddress: *const ::core::ffi::c_void, numberofbytes: usize, sourceaddress: *const ::core::ffi::c_void, pageprotection: u32) -> i32>;
291 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
292 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
293 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_CREATE_THREAD = ::core::option::Option<unsafe extern "system" fn(threaddescriptor: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64) -> i32>;
294 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
295 #[cfg(target_arch = "x86")]
296 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_CREATE_THREAD = ::core::option::Option<unsafe extern "system" fn(threaddescriptor: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32) -> i32>;
297 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
298 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_DECOMMIT_PAGES = ::core::option::Option<unsafe extern "system" fn(enclaveaddress: *const ::core::ffi::c_void, numberofbytes: usize) -> i32>;
299 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
300 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_KEY = ::core::option::Option<unsafe extern "system" fn(keyrequest: *mut ENCLAVE_VBS_BASIC_KEY_REQUEST, requestedkeysize: u32, returnedkey: *mut u8) -> i32>;
301 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
302 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_RANDOM_DATA = ::core::option::Option<unsafe extern "system" fn(buffer: *mut u8, numberofbytes: u32, generation: *mut u64) -> i32>;
303 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
304 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_REPORT = ::core::option::Option<unsafe extern "system" fn(enclavedata: *const u8, report: *mut ::core::ffi::c_void, buffersize: u32, outputsize: *mut u32) -> i32>;
305 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
306 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GET_ENCLAVE_INFORMATION = ::core::option::Option<unsafe extern "system" fn(enclaveinfo: *mut ENCLAVE_INFORMATION) -> i32>;
307 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
308 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
309 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_INTERRUPT_THREAD = ::core::option::Option<unsafe extern "system" fn(threaddescriptor: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64) -> i32>;
310 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
311 #[cfg(target_arch = "x86")]
312 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_INTERRUPT_THREAD = ::core::option::Option<unsafe extern "system" fn(threaddescriptor: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32) -> i32>;
313 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
314 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_PROTECT_PAGES = ::core::option::Option<unsafe extern "system" fn(enclaveaddress: *const ::core::ffi::c_void, numberofytes: usize, pageprotection: u32) -> i32>;
315 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
316 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_ENCLAVE = ::core::option::Option<unsafe extern "system" fn(returnvalue: usize) -> ()>;
317 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
318 #[cfg(target_arch = "x86_64")]
319 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_EXCEPTION = ::core::option::Option<unsafe extern "system" fn(exceptionrecord: *const VBS_BASIC_ENCLAVE_EXCEPTION_AMD64) -> i32>;
320 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
321 #[cfg(any(target_arch = "aarch64", target_arch = "x86"))]
322 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_EXCEPTION = ::core::option::Option<unsafe extern "system" fn(exceptionrecord: *const ::core::ffi::c_void) -> i32>;
323 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
324 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
325 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_TERMINATE_THREAD = ::core::option::Option<unsafe extern "system" fn(threaddescriptor: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64) -> i32>;
326 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
327 #[cfg(target_arch = "x86")]
328 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_TERMINATE_THREAD = ::core::option::Option<unsafe extern "system" fn(threaddescriptor: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32) -> i32>;
329 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
330 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_VERIFY_REPORT = ::core::option::Option<unsafe extern "system" fn(report: *const ::core::ffi::c_void, reportsize: u32) -> i32>;