1#![allow(dead_code)]
10#![allow(non_camel_case_types)]
11#![allow(non_snake_case)]
12#![allow(non_upper_case_globals)]
13#![allow(clippy::missing_safety_doc)]
14#![allow(clippy::undocumented_unsafe_blocks, reason = "bindgen-generated code")]
15
16#[repr(C)]
19#[derive(Default)]
20pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
21impl<T> __IncompleteArrayField<T> {
22 #[inline]
23 pub const fn new() -> Self {
24 __IncompleteArrayField(::std::marker::PhantomData, [])
25 }
26 #[inline]
27 pub fn as_ptr(&self) -> *const T {
28 self as *const _ as *const T
29 }
30 #[inline]
31 pub fn as_mut_ptr(&mut self) -> *mut T {
32 self as *mut _ as *mut T
33 }
34 #[inline]
35 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
36 unsafe { ::std::slice::from_raw_parts(self.as_ptr(), len) }
37 }
38 #[inline]
39 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
40 unsafe { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) }
41 }
42}
43impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
44 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
45 fmt.write_str("__IncompleteArrayField")
46 }
47}
48pub const TEE_HANDLE_NULL: u32 = 0;
49pub const TEE_SUCCESS: u32 = 0;
50pub const TEE_ERROR_CORRUPT_OBJECT: u32 = 4027580417;
51pub const TEE_ERROR_CORRUPT_OBJECT_2: u32 = 4027580418;
52pub const TEE_ERROR_STORAGE_NOT_AVAILABLE: u32 = 4027580419;
53pub const TEE_ERROR_STORAGE_NOT_AVAILABLE_2: u32 = 4027580420;
54pub const TEE_ERROR_UNSUPPORTED_VERSION: u32 = 4027580421;
55pub const TEE_ERROR_CIPHERTEXT_INVALID: u32 = 4027580422;
56pub const TEE_ERROR_GENERIC: u32 = 4294901760;
57pub const TEE_ERROR_ACCESS_DENIED: u32 = 4294901761;
58pub const TEE_ERROR_CANCEL: u32 = 4294901762;
59pub const TEE_ERROR_ACCESS_CONFLICT: u32 = 4294901763;
60pub const TEE_ERROR_EXCESS_DATA: u32 = 4294901764;
61pub const TEE_ERROR_BAD_FORMAT: u32 = 4294901765;
62pub const TEE_ERROR_BAD_PARAMETERS: u32 = 4294901766;
63pub const TEE_ERROR_BAD_STATE: u32 = 4294901767;
64pub const TEE_ERROR_ITEM_NOT_FOUND: u32 = 4294901768;
65pub const TEE_ERROR_NOT_IMPLEMENTED: u32 = 4294901769;
66pub const TEE_ERROR_NOT_SUPPORTED: u32 = 4294901770;
67pub const TEE_ERROR_NO_DATA: u32 = 4294901771;
68pub const TEE_ERROR_OUT_OF_MEMORY: u32 = 4294901772;
69pub const TEE_ERROR_BUSY: u32 = 4294901773;
70pub const TEE_ERROR_COMMUNICATION: u32 = 4294901774;
71pub const TEE_ERROR_SECURITY: u32 = 4294901775;
72pub const TEE_ERROR_SHORT_BUFFER: u32 = 4294901776;
73pub const TEE_ERROR_EXTERNAL_CANCEL: u32 = 4294901777;
74pub const TEE_ERROR_TIMEOUT: u32 = 4294914049;
75pub const TEE_ERROR_OVERFLOW: u32 = 4294914063;
76pub const TEE_ERROR_TARGET_DEAD: u32 = 4294914084;
77pub const TEE_ERROR_STORAGE_NO_SPACE: u32 = 4294914113;
78pub const TEE_ERROR_MAC_INVALID: u32 = 4294914161;
79pub const TEE_ERROR_SIGNATURE_INVALID: u32 = 4294914162;
80pub const TEE_ERROR_TIME_NOT_SET: u32 = 4294922240;
81pub const TEE_ERROR_TIME_NEEDS_RESET: u32 = 4294922241;
82pub const TEE_PARAM_TYPE_NONE: u32 = 0;
83pub const TEE_PARAM_TYPE_VALUE_INPUT: u32 = 1;
84pub const TEE_PARAM_TYPE_VALUE_OUTPUT: u32 = 2;
85pub const TEE_PARAM_TYPE_VALUE_INOUT: u32 = 3;
86pub const TEE_PARAM_TYPE_MEMREF_INPUT: u32 = 5;
87pub const TEE_PARAM_TYPE_MEMREF_OUTPUT: u32 = 6;
88pub const TEE_PARAM_TYPE_MEMREF_INOUT: u32 = 7;
89pub const TEE_LOGIN_PUBLIC: u32 = 0;
90pub const TEE_LOGIN_USER: u32 = 1;
91pub const TEE_LOGIN_GROUP: u32 = 2;
92pub const TEE_LOGIN_APPLICATION: u32 = 4;
93pub const TEE_LOGIN_APPLICATION_USER: u32 = 5;
94pub const TEE_LOGIN_APPLICATION_GROUP: u32 = 6;
95pub const TEE_LOGIN_TRUSTED_APP: u32 = 4026531840;
96pub const TEE_ORIGIN_API: u32 = 1;
97pub const TEE_ORIGIN_COMMS: u32 = 2;
98pub const TEE_ORIGIN_TEE: u32 = 3;
99pub const TEE_ORIGIN_TRUSTED_APP: u32 = 4;
100pub const TEE_MEMORY_ACCESS_READ: u32 = 1;
101pub const TEE_MEMORY_ACCESS_WRITE: u32 = 2;
102pub const TEE_MEMORY_ACCESS_ANY_OWNER: u32 = 4;
103pub const TEE_DATA_SEEK_SET: u32 = 0;
104pub const TEE_DATA_SEEK_CUR: u32 = 1;
105pub const TEE_DATA_SEEK_END: u32 = 2;
106pub const TEE_WHENCE_ILLEGAL_VALUE: u32 = 2147483647;
107pub const TEE_STORAGE_PRIVATE: u32 = 1;
108pub const TEE_STORAGE_PERSO: u32 = 2;
109pub const TEE_STORAGE_PROTECTED: u32 = 3;
110pub const TEE_STORAGE_ILLEGAL_VALUE: u32 = 2147483647;
111pub const TEE_DATA_FLAG_ACCESS_READ: u32 = 1;
112pub const TEE_DATA_FLAG_ACCESS_WRITE: u32 = 2;
113pub const TEE_DATA_FLAG_ACCESS_WRITE_META: u32 = 4;
114pub const TEE_DATA_FLAG_SHARE_READ: u32 = 16;
115pub const TEE_DATA_FLAG_SHARE_WRITE: u32 = 32;
116pub const TEE_DATA_FLAG_OVERWRITE: u32 = 1024;
117pub const TEE_DATA_FLAG_EXCLUSIVE: u32 = 1024;
118pub const TEE_USAGE_EXTRACTABLE: u32 = 1;
119pub const TEE_USAGE_ENCRYPT: u32 = 2;
120pub const TEE_USAGE_DECRYPT: u32 = 4;
121pub const TEE_USAGE_MAC: u32 = 8;
122pub const TEE_USAGE_SIGN: u32 = 16;
123pub const TEE_USAGE_VERIFY: u32 = 32;
124pub const TEE_USAGE_DERIVE: u32 = 64;
125pub const TEE_DATA_MAX_POSITION: u32 = 4294967295;
126pub const TEE_OBJECT_ID_MAX_LEN: u32 = 64;
127pub const TEE_HANDLE_FLAG_PERSISTENT: u32 = 65536;
128pub const TEE_HANDLE_FLAG_INITIALIZED: u32 = 131072;
129pub const TEE_HANDLE_FLAG_KEY_SET: u32 = 262144;
130pub const TEE_HANDLE_FLAG_EXPECT_TWO_KEYS: u32 = 524288;
131pub const TEE_HANDLE_FLAG_EXTRACTING: u32 = 1048576;
132pub const TEE_OPERATION_CIPHER: u32 = 1;
133pub const TEE_OPERATION_MAC: u32 = 3;
134pub const TEE_OPERATION_AE: u32 = 4;
135pub const TEE_OPERATION_DIGEST: u32 = 5;
136pub const TEE_OPERATION_ASYMMETRIC_CIPHER: u32 = 6;
137pub const TEE_OPERATION_ASYMMETRIC_SIGNATURE: u32 = 7;
138pub const TEE_OPERATION_KEY_DERIVATION: u32 = 8;
139pub const TEE_OPERATION_STATE_INITIAL: u32 = 0;
140pub const TEE_OPERATION_STATE_ACTIVE: u32 = 1;
141pub const TEE_OPERATION_STATE_EXTRACTING: u32 = 2;
142pub const TEE_MODE_ENCRYPT: u32 = 0;
143pub const TEE_MODE_DECRYPT: u32 = 1;
144pub const TEE_MODE_SIGN: u32 = 2;
145pub const TEE_MODE_VERIFY: u32 = 3;
146pub const TEE_MODE_MAC: u32 = 4;
147pub const TEE_MODE_DIGEST: u32 = 5;
148pub const TEE_MODE_DERIVE: u32 = 6;
149pub const TEE_MODE_ILLEGAL_VALUE: u32 = 2147483647;
150pub const TEE_ALG_AES_ECB_NOPAD: u32 = 268435472;
151pub const TEE_ALG_AES_CBC_NOPAD: u32 = 268435728;
152pub const TEE_ALG_AES_CTR: u32 = 268435984;
153pub const TEE_ALG_AES_CTS: u32 = 268436240;
154pub const TEE_ALG_AES_XTS: u32 = 268436496;
155pub const TEE_ALG_AES_CBC_MAC_NOPAD: u32 = 805306640;
156pub const TEE_ALG_AES_CBC_MAC_PKCS5: u32 = 805307664;
157pub const TEE_ALG_AES_CMAC: u32 = 805307920;
158pub const TEE_ALG_AES_CCM: u32 = 1073743632;
159pub const TEE_ALG_AES_GCM: u32 = 1073743888;
160pub const TEE_ALG_DES_ECB_NOPAD: u32 = 268435473;
161pub const TEE_ALG_DES_CBC_NOPAD: u32 = 268435729;
162pub const TEE_ALG_DES_CBC_MAC_NOPAD: u32 = 805306641;
163pub const TEE_ALG_DES_CBC_MAC_PKCS5: u32 = 805307665;
164pub const TEE_ALG_DES3_ECB_NOPAD: u32 = 268435475;
165pub const TEE_ALG_DES3_CBC_NOPAD: u32 = 268435731;
166pub const TEE_ALG_DES3_CBC_MAC_NOPAD: u32 = 805306643;
167pub const TEE_ALG_DES3_CBC_MAC_PKCS5: u32 = 805307667;
168pub const TEE_ALG_RSASSA_PKCS1_V1_5_MD5: u32 = 1879054384;
169pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA1: u32 = 1879058480;
170pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA224: u32 = 1879062576;
171pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA256: u32 = 1879066672;
172pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA384: u32 = 1879070768;
173pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA512: u32 = 1879074864;
174pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA3_224: u32 = 1879083056;
175pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA3_256: u32 = 1879087152;
176pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA3_384: u32 = 1879091248;
177pub const TEE_ALG_RSASSA_PKCS1_V1_5_SHA3_512: u32 = 1879095344;
178pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA1: u32 = 1881221424;
179pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA224: u32 = 1882274096;
180pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256: u32 = 1883326768;
181pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA384: u32 = 1884379440;
182pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA512: u32 = 1885432112;
183pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA3_224: u32 = 1887537456;
184pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA3_256: u32 = 1888590128;
185pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA3_384: u32 = 1889642800;
186pub const TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA3_512: u32 = 1890695472;
187pub const TEE_ALG_RSAES_PKCS1_V1_5: u32 = 1610613040;
188pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA1: u32 = 1612775984;
189pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA224: u32 = 1613824560;
190pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA256: u32 = 1614873136;
191pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA384: u32 = 1615921712;
192pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA512: u32 = 1616970288;
193pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA3_224: u32 = 1619067440;
194pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA3_256: u32 = 1620116016;
195pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA3_384: u32 = 1621164592;
196pub const TEE_ALG_RSAES_PKCS1_OAEP_MGF1_SHA3_512: u32 = 1622213168;
197pub const TEE_ALG_RSA_NOPAD: u32 = 1610612784;
198pub const TEE_ALG_DSA_SHA1: u32 = 1879056689;
199pub const TEE_ALG_DSA_SHA224: u32 = 1879060785;
200pub const TEE_ALG_DSA_SHA256: u32 = 1879064881;
201pub const TEE_ALG_DSA_SHA3_224: u32 = 1879081265;
202pub const TEE_ALG_DSA_SHA3_256: u32 = 1879085361;
203pub const TEE_ALG_DSA_SHA3_384: u32 = 1879089457;
204pub const TEE_ALG_DSA_SHA3_512: u32 = 1879093553;
205pub const TEE_ALG_DH_DERIVE_SHARED_SECRET: u32 = 2147483698;
206pub const TEE_ALG_MD5: u32 = 1342177281;
207pub const TEE_ALG_SHA1: u32 = 1342177282;
208pub const TEE_ALG_SHA224: u32 = 1342177283;
209pub const TEE_ALG_SHA256: u32 = 1342177284;
210pub const TEE_ALG_SHA384: u32 = 1342177285;
211pub const TEE_ALG_SHA512: u32 = 1342177286;
212pub const TEE_ALG_SHA3_224: u32 = 1342177288;
213pub const TEE_ALG_SHA3_256: u32 = 1342177289;
214pub const TEE_ALG_SHA3_384: u32 = 1342177290;
215pub const TEE_ALG_SHA3_512: u32 = 1342177291;
216pub const TEE_ALG_HMAC_MD5: u32 = 805306369;
217pub const TEE_ALG_HMAC_SHA1: u32 = 805306370;
218pub const TEE_ALG_HMAC_SHA224: u32 = 805306371;
219pub const TEE_ALG_HMAC_SHA256: u32 = 805306372;
220pub const TEE_ALG_HMAC_SHA384: u32 = 805306373;
221pub const TEE_ALG_HMAC_SHA512: u32 = 805306374;
222pub const TEE_ALG_HMAC_SHA3_224: u32 = 805306376;
223pub const TEE_ALG_HMAC_SHA3_256: u32 = 805306377;
224pub const TEE_ALG_HMAC_SHA3_384: u32 = 805306378;
225pub const TEE_ALG_HMAC_SHA3_512: u32 = 805306379;
226pub const TEE_ALG_HKDF: u32 = 2147483719;
227pub const TEE_ALG_SHAKE128: u32 = 1342177537;
228pub const TEE_ALG_SHAKE256: u32 = 1342177538;
229pub const TEE_ALG_ILLEGAL_VALUE: u32 = 4026531839;
230pub const TEE_TYPE_AES: u32 = 2684354576;
231pub const TEE_TYPE_DES: u32 = 2684354577;
232pub const TEE_TYPE_DES3: u32 = 2684354579;
233pub const TEE_TYPE_HMAC_MD5: u32 = 2684354561;
234pub const TEE_TYPE_HMAC_SHA1: u32 = 2684354562;
235pub const TEE_TYPE_HMAC_SHA224: u32 = 2684354563;
236pub const TEE_TYPE_HMAC_SHA256: u32 = 2684354564;
237pub const TEE_TYPE_HMAC_SHA384: u32 = 2684354565;
238pub const TEE_TYPE_HMAC_SHA512: u32 = 2684354566;
239pub const TEE_TYPE_HMAC_SM3: u32 = 2684354567;
240pub const TEE_TYPE_HMAC_SHA3_224: u32 = 2684354568;
241pub const TEE_TYPE_HMAC_SHA3_256: u32 = 2684354569;
242pub const TEE_TYPE_HMAC_SHA3_384: u32 = 2684354570;
243pub const TEE_TYPE_HMAC_SHA3_512: u32 = 2684354571;
244pub const TEE_TYPE_RSA_PUBLIC_KEY: u32 = 2684354608;
245pub const TEE_TYPE_RSA_KEYPAIR: u32 = 2701131824;
246pub const TEE_TYPE_DSA_PUBLIC_KEY: u32 = 2684354609;
247pub const TEE_TYPE_DSA_KEYPAIR: u32 = 2701131825;
248pub const TEE_TYPE_DH_KEYPAIR: u32 = 2701131826;
249pub const TEE_TYPE_ECDSA_PUBLIC_KEY: u32 = 2684354625;
250pub const TEE_TYPE_ECDSA_KEYPAIR: u32 = 2701131841;
251pub const TEE_TYPE_ECDH_PUBLIC_KEY: u32 = 2684354626;
252pub const TEE_TYPE_ECDH_KEYPAIR: u32 = 2701131842;
253pub const TEE_TYPE_ED25519_PUBLIC_KEY: u32 = 2684354627;
254pub const TEE_TYPE_ED25519_KEYPAIR: u32 = 2701131843;
255pub const TEE_TYPE_X25519_PUBLIC_KEY: u32 = 2684354628;
256pub const TEE_TYPE_X25519_KEYPAIR: u32 = 2701131844;
257pub const TEE_TYPE_SM2_DSA_PUBLIC_KEY: u32 = 2684354629;
258pub const TEE_TYPE_SM2_DSA_KEYPAIR: u32 = 2701131845;
259pub const TEE_TYPE_SM2_KEP_PUBLIC_KEY: u32 = 2684354630;
260pub const TEE_TYPE_SM2_KEP_KEYPAIR: u32 = 2701131846;
261pub const TEE_TYPE_SM2_PKE_PUBLIC_KEY: u32 = 2684354631;
262pub const TEE_TYPE_SM2_PKE_KEYPAIR: u32 = 2701131847;
263pub const TEE_TYPE_SM4: u32 = 2684354580;
264pub const TEE_TYPE_HKDF: u32 = 2684354634;
265pub const TEE_TYPE_GENERIC_SECRET: u32 = 2684354560;
266pub const TEE_TYPE_CORRUPTED_OBJECT: u32 = 2684354750;
267pub const TEE_TYPE_DATA: u32 = 2684354751;
268pub const TEE_TYPE_ILLEGAL_VALUE: u32 = 4026531839;
269pub const TEE_CRYPTO_ELEMENT_NONE: u32 = 0;
270pub const TEE_ECC_CURVE_NIST_P192: u32 = 1;
271pub const TEE_ECC_CURVE_NIST_P224: u32 = 2;
272pub const TEE_ECC_CURVE_NIST_P256: u32 = 3;
273pub const TEE_ECC_CURVE_NIST_P384: u32 = 4;
274pub const TEE_ECC_CURVE_NIST_P521: u32 = 5;
275pub const TEE_ECC_CURVE_BSI_P160r1: u32 = 257;
276pub const TEE_ECC_CURVE_BSI_P192r1: u32 = 258;
277pub const TEE_ECC_CURVE_BSI_P224r1: u32 = 259;
278pub const TEE_ECC_CURVE_BSI_P256r1: u32 = 260;
279pub const TEE_ECC_CURVE_BSI_P320r1: u32 = 261;
280pub const TEE_ECC_CURVE_BSI_P384r1: u32 = 262;
281pub const TEE_ECC_CURVE_BSI_P512r1: u32 = 263;
282pub const TEE_ECC_CURVE_BSI_P160t1: u32 = 513;
283pub const TEE_ECC_CURVE_BSI_P192t1: u32 = 514;
284pub const TEE_ECC_CURVE_BSI_P224t1: u32 = 515;
285pub const TEE_ECC_CURVE_BSI_P256t1: u32 = 516;
286pub const TEE_ECC_CURVE_BSI_P320t1: u32 = 517;
287pub const TEE_ECC_CURVE_BSI_P384t1: u32 = 518;
288pub const TEE_ECC_CURVE_BSI_P512t1: u32 = 519;
289pub const TEE_ECC_CURVE_25519: u32 = 768;
290pub const TEE_ECC_CURVE_448: u32 = 769;
291pub const TEE_ECC_CURVE_SM2: u32 = 768;
292pub const TEE_ATTR_SECRET_VALUE: u32 = 3221225472;
293pub const TEE_ATTR_RSA_MODULUS: u32 = 3489661232;
294pub const TEE_ATTR_RSA_PUBLIC_EXPONENT: u32 = 3489661488;
295pub const TEE_ATTR_RSA_PRIVATE_EXPONENT: u32 = 3221226288;
296pub const TEE_ATTR_RSA_PRIME1: u32 = 3221226544;
297pub const TEE_ATTR_RSA_PRIME2: u32 = 3221226800;
298pub const TEE_ATTR_RSA_EXPONENT1: u32 = 3221227056;
299pub const TEE_ATTR_RSA_EXPONENT2: u32 = 3221227312;
300pub const TEE_ATTR_RSA_COEFFICIENT: u32 = 3221227568;
301pub const TEE_ATTR_DSA_PRIME: u32 = 3489665073;
302pub const TEE_ATTR_DSA_SUBPRIME: u32 = 3489665329;
303pub const TEE_ATTR_DSA_BASE: u32 = 3489665585;
304pub const TEE_ATTR_DSA_PUBLIC_VALUE: u32 = 3489661233;
305pub const TEE_ATTR_DSA_PRIVATE_VALUE: u32 = 3221226033;
306pub const TEE_ATTR_DH_PRIME: u32 = 3489665074;
307pub const TEE_ATTR_DH_SUBPRIME: u32 = 3489665330;
308pub const TEE_ATTR_DH_BASE: u32 = 3489665586;
309pub const TEE_ATTR_DH_X_BITS: u32 = 4026536754;
310pub const TEE_ATTR_DH_PUBLIC_VALUE: u32 = 3489661234;
311pub const TEE_ATTR_DH_PRIVATE_VALUE: u32 = 3221226034;
312pub const TEE_ATTR_RSA_OAEP_LABEL: u32 = 3489663280;
313pub const TEE_ATTR_RSA_OAEP_MGF_HASH: u32 = 3489663281;
314pub const TEE_ATTR_RSA_PSS_SALT_LENGTH: u32 = 4026534448;
315pub const TEE_ATTR_ECC_PUBLIC_VALUE_X: u32 = 3489661249;
316pub const TEE_ATTR_ECC_PUBLIC_VALUE_Y: u32 = 3489661505;
317pub const TEE_ATTR_ECC_PRIVATE_VALUE: u32 = 3221226305;
318pub const TEE_ATTR_ECC_EPHEMERAL_PUBLIC_VALUE_X: u32 = 3489661254;
319pub const TEE_ATTR_ECC_EPHEMERAL_PUBLIC_VALUE_Y: u32 = 3489661510;
320pub const TEE_ATTR_ECC_CURVE: u32 = 4026532929;
321pub const TEE_ATTR_EDDSA_CTX: u32 = 3489662531;
322pub const TEE_ATTR_ED25519_PUBLIC_VALUE: u32 = 3489662787;
323pub const TEE_ATTR_ED25519_PRIVATE_VALUE: u32 = 3221227587;
324pub const TEE_ATTR_X25519_PUBLIC_VALUE: u32 = 3489663300;
325pub const TEE_ATTR_X25519_PRIVATE_VALUE: u32 = 3221228100;
326pub const TEE_ATTR_ED448_PUBLIC_VALUE: u32 = 3489660930;
327pub const TEE_ATTR_ED448_PRIVATE_VALUE: u32 = 3221225475;
328pub const TEE_ATTR_EDDSA_PREHASH: u32 = 4026531844;
329pub const TEE_ATTR_X448_PUBLIC_VALUE: u32 = 3489663557;
330pub const TEE_ATTR_X448_PRIVATE_VALUE: u32 = 3221228102;
331pub const TEE_ATTR_SM2_ID_INITIATOR: u32 = 3489662022;
332pub const TEE_ATTR_SM2_ID_RESPONDER: u32 = 3489662278;
333pub const TEE_ATTR_SM2_KEP_USER: u32 = 4026533446;
334pub const TEE_ATTR_SM2_KEP_CONFIRMATION_IN: u32 = 3489662790;
335pub const TEE_ATTR_SM2_KEP_CONFIRMATION_OUT: u32 = 3489663046;
336pub const TEE_ATTR_HKDF_SALT: u32 = 3489663302;
337pub const TEE_ATTR_HKDF_INFO: u32 = 3489663558;
338pub const TEE_ATTR_HKDF_HASH_ALGORITHM: u32 = 4026534726;
339pub const TEE_ATTR_KDF_KEY_SIZE: u32 = 4026534982;
340pub const TEE_ATTR_FLAG_VALUE: u32 = 536870912;
341pub const TEE_ATTR_FLAG_PUBLIC: u32 = 268435456;
342pub const TEE_TIMEOUT_INFINITE: u32 = 4294967295;
343pub const TEE_CORE_API_MAJOR_VERSION: u32 = 1;
344pub const TEE_CORE_API_MINOR_VERSION: u32 = 3;
345pub const TEE_CORE_API_MAINTENANCE_VERSION: u32 = 1;
346pub const TEE_CORE_API_VERSION: u32 = 16974080;
347pub type __intmax_t = ::std::os::raw::c_long;
348pub type intmax_t = __intmax_t;
349pub type TEE_Result = u32;
350#[repr(C)]
351#[derive(Debug, Copy, Clone, PartialEq)]
352pub struct TEE_UUID {
353 pub timeLow: u32,
354 pub timeMid: u16,
355 pub timeHiAndVersion: u16,
356 pub clockSeqAndNode: [u8; 8usize],
357}
358#[repr(C)]
359#[derive(Debug, Copy, Clone, PartialEq)]
360pub struct TEE_Identity {
361 pub login: u32,
362 pub uuid: TEE_UUID,
363}
364#[repr(C)]
365#[derive(Copy, Clone)]
366pub union TEE_Param {
367 pub memref: TEE_Param__bindgen_ty_1,
368 pub value: TEE_Param__bindgen_ty_2,
369}
370#[repr(C)]
371#[derive(Debug, Copy, Clone, PartialEq)]
372pub struct TEE_Param__bindgen_ty_1 {
373 pub buffer: *mut ::std::os::raw::c_void,
374 pub size: usize,
375}
376#[repr(C)]
377#[derive(Debug, Copy, Clone, PartialEq)]
378pub struct TEE_Param__bindgen_ty_2 {
379 pub a: u32,
380 pub b: u32,
381}
382impl ::std::fmt::Debug for TEE_Param {
383 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
384 write!(f, "TEE_Param {{ union }}")
385 }
386}
387#[repr(C)]
388#[derive(Debug)]
389pub struct __TEE_TASessionHandle {
390 _unused: [u8; 0],
391}
392pub type TEE_TASessionHandle = *mut __TEE_TASessionHandle;
393#[repr(C)]
394#[derive(Debug)]
395pub struct __TEE_PropSetHandle {
396 _unused: [u8; 0],
397}
398pub type TEE_PropSetHandle = *mut __TEE_PropSetHandle;
399#[repr(C)]
400#[derive(Copy, Clone)]
401pub struct TEE_Attribute {
402 pub attributeID: u32,
403 pub __bindgen_padding_0: [u8; 4usize],
404 pub content: TEE_Attribute__bindgen_ty_1,
405}
406#[repr(C)]
407#[derive(Copy, Clone)]
408pub union TEE_Attribute__bindgen_ty_1 {
409 pub ref_: TEE_Attribute__bindgen_ty_1__bindgen_ty_1,
410 pub value: TEE_Attribute__bindgen_ty_1__bindgen_ty_2,
411}
412#[repr(C)]
413#[derive(Debug, Copy, Clone, PartialEq)]
414pub struct TEE_Attribute__bindgen_ty_1__bindgen_ty_1 {
415 pub buffer: *mut ::std::os::raw::c_void,
416 pub length: usize,
417}
418#[repr(C)]
419#[derive(Debug, Copy, Clone, PartialEq)]
420pub struct TEE_Attribute__bindgen_ty_1__bindgen_ty_2 {
421 pub a: u32,
422 pub b: u32,
423}
424impl ::std::fmt::Debug for TEE_Attribute__bindgen_ty_1 {
425 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
426 write!(f, "TEE_Attribute__bindgen_ty_1 {{ union }}")
427 }
428}
429impl ::std::fmt::Debug for TEE_Attribute {
430 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
431 write!(f, "TEE_Attribute {{ content: {:?} }}", self.content)
432 }
433}
434#[repr(C)]
435#[derive(Debug, Copy, Clone, PartialEq)]
436pub struct TEE_ObjectInfo {
437 pub objectType: u32,
438 pub objectSize: u32,
439 pub maxObjectSize: u32,
440 pub objectUsage: u32,
441 pub dataSize: usize,
442 pub dataPosition: usize,
443 pub handleFlags: u32,
444 pub __bindgen_padding_0: [u8; 4usize],
445}
446pub type TEE_Whence = u32;
447#[repr(C)]
448#[derive(Debug)]
449pub struct __TEE_ObjectHandle {
450 _unused: [u8; 0],
451}
452pub type TEE_ObjectHandle = *mut __TEE_ObjectHandle;
453#[repr(C)]
454#[derive(Debug)]
455pub struct __TEE_ObjectEnumHandle {
456 _unused: [u8; 0],
457}
458pub type TEE_ObjectEnumHandle = *mut __TEE_ObjectEnumHandle;
459pub type TEE_OperationMode = u32;
460#[repr(C)]
461#[derive(Debug, Copy, Clone, PartialEq)]
462pub struct TEE_OperationInfo {
463 pub algorithm: u32,
464 pub operationClass: u32,
465 pub mode: u32,
466 pub digestLength: u32,
467 pub maxKeySize: u32,
468 pub keySize: u32,
469 pub requiredKeyUsage: u32,
470 pub handleState: u32,
471}
472#[repr(C)]
473#[derive(Debug, Copy, Clone, PartialEq)]
474pub struct TEE_OperationInfoKey {
475 pub keySize: u32,
476 pub requiredKeyUsage: u32,
477}
478#[repr(C)]
479#[derive(Debug)]
480pub struct TEE_OperationInfoMultiple {
481 pub algorithm: u32,
482 pub operationClass: u32,
483 pub mode: u32,
484 pub digestLength: u32,
485 pub maxKeySize: u32,
486 pub handleState: u32,
487 pub operationState: u32,
488 pub numberOfKeys: u32,
489 pub keyInformation: __IncompleteArrayField<TEE_OperationInfoKey>,
490}
491#[repr(C)]
492#[derive(Debug)]
493pub struct __TEE_OperationHandle {
494 _unused: [u8; 0],
495}
496pub type TEE_OperationHandle = *mut __TEE_OperationHandle;
497#[repr(C)]
498#[derive(Debug, Copy, Clone, PartialEq)]
499pub struct TEE_Time {
500 pub seconds: u32,
501 pub millis: u32,
502}
503pub type TEE_BigInt = u32;
504pub type TEE_BigIntFMMContext = u32;
505pub type TEE_BigIntFMM = u32;
506unsafe extern "C" {
507 pub fn TA_CreateEntryPoint() -> TEE_Result;
508}
509unsafe extern "C" {
510 pub fn TA_DestroyEntryPoint();
511}
512unsafe extern "C" {
513 pub fn TA_OpenSessionEntryPoint(
514 paramTypes: u32,
515 params: *mut TEE_Param,
516 sessionContext: *mut *mut ::std::os::raw::c_void,
517 ) -> TEE_Result;
518}
519unsafe extern "C" {
520 pub fn TA_CloseSessionEntryPoint(sessionContext: *mut ::std::os::raw::c_void);
521}
522unsafe extern "C" {
523 pub fn TA_InvokeCommandEntryPoint(
524 sessionContext: *mut ::std::os::raw::c_void,
525 commandID: u32,
526 paramTypes: u32,
527 params: *mut TEE_Param,
528 ) -> TEE_Result;
529}
530unsafe extern "C" {
531 pub fn TEE_GetPropertyAsString(
532 propsetOrEnumerator: TEE_PropSetHandle,
533 name: *mut ::std::os::raw::c_char,
534 valueBuffer: *mut ::std::os::raw::c_char,
535 valueBufferLen: *mut usize,
536 ) -> TEE_Result;
537}
538unsafe extern "C" {
539 pub fn TEE_GetPropertyAsBool(
540 propsetOrEnumerator: TEE_PropSetHandle,
541 name: *mut ::std::os::raw::c_char,
542 value: *mut bool,
543 ) -> TEE_Result;
544}
545unsafe extern "C" {
546 pub fn TEE_GetPropertyAsU32(
547 propsetOrEnumerator: TEE_PropSetHandle,
548 name: *mut ::std::os::raw::c_char,
549 value: *mut u32,
550 ) -> TEE_Result;
551}
552unsafe extern "C" {
553 pub fn TEE_GetPropertyAsU64(
554 propsetOrEnumerator: TEE_PropSetHandle,
555 name: *mut ::std::os::raw::c_char,
556 value: *mut u64,
557 ) -> TEE_Result;
558}
559unsafe extern "C" {
560 pub fn TEE_GetPropertyAsBinaryBlock(
561 propsetOrEnumerator: TEE_PropSetHandle,
562 name: *mut ::std::os::raw::c_char,
563 valueBuffer: *mut ::std::os::raw::c_void,
564 valueBufferLen: *mut usize,
565 ) -> TEE_Result;
566}
567unsafe extern "C" {
568 pub fn TEE_GetPropertyAsUUID(
569 propsetOrEnumerator: TEE_PropSetHandle,
570 name: *mut ::std::os::raw::c_char,
571 value: *mut TEE_UUID,
572 ) -> TEE_Result;
573}
574unsafe extern "C" {
575 pub fn TEE_GetPropertyAsIdentity(
576 propsetOrEnumerator: TEE_PropSetHandle,
577 name: *mut ::std::os::raw::c_char,
578 value: *mut TEE_Identity,
579 ) -> TEE_Result;
580}
581unsafe extern "C" {
582 pub fn TEE_AllocatePropertyEnumerator(enumerator: *mut TEE_PropSetHandle) -> TEE_Result;
583}
584unsafe extern "C" {
585 pub fn TEE_FreePropertyEnumerator(enumerator: TEE_PropSetHandle);
586}
587unsafe extern "C" {
588 pub fn TEE_StartPropertyEnumerator(enumerator: TEE_PropSetHandle, propSet: TEE_PropSetHandle);
589}
590unsafe extern "C" {
591 pub fn TEE_ResetPropertyEnumerator(enumerator: TEE_PropSetHandle);
592}
593unsafe extern "C" {
594 pub fn TEE_GetPropertyName(
595 enumerator: TEE_PropSetHandle,
596 nameBuffer: *mut ::std::os::raw::c_void,
597 nameBufferLen: *mut usize,
598 ) -> TEE_Result;
599}
600unsafe extern "C" {
601 pub fn TEE_GetNextProperty(enumerator: TEE_PropSetHandle) -> TEE_Result;
602}
603unsafe extern "C" {
604 pub fn TEE_Panic(panicCode: TEE_Result) -> !;
605}
606unsafe extern "C" {
607 pub fn TEE_OpenTASession(
608 destination: *const TEE_UUID,
609 cancellationRequestTimeout: u32,
610 paramTypes: u32,
611 params: *mut TEE_Param,
612 session: *mut TEE_TASessionHandle,
613 returnOrigin: *mut u32,
614 ) -> TEE_Result;
615}
616unsafe extern "C" {
617 pub fn TEE_CloseTASession(session: TEE_TASessionHandle);
618}
619unsafe extern "C" {
620 pub fn TEE_InvokeTACommand(
621 session: TEE_TASessionHandle,
622 cancellationRequestTimeout: u32,
623 commandID: u32,
624 paramTypes: u32,
625 params: *mut TEE_Param,
626 returnOrigin: *mut u32,
627 ) -> TEE_Result;
628}
629unsafe extern "C" {
630 pub fn TEE_GetCancellationFlag() -> bool;
631}
632unsafe extern "C" {
633 pub fn TEE_UnmaskCancellation() -> bool;
634}
635unsafe extern "C" {
636 pub fn TEE_MaskCancellation() -> bool;
637}
638unsafe extern "C" {
639 pub fn TEE_CheckMemoryAccessRights(
640 accessFlags: u32,
641 buffer: *mut ::std::os::raw::c_void,
642 size: usize,
643 ) -> TEE_Result;
644}
645unsafe extern "C" {
646 pub fn TEE_SetInstanceData(instanceData: *mut ::std::os::raw::c_void);
647}
648unsafe extern "C" {
649 pub fn TEE_GetInstanceData() -> *mut ::std::os::raw::c_void;
650}
651unsafe extern "C" {
652 pub fn TEE_Malloc(size: usize, hint: u32) -> *mut ::std::os::raw::c_void;
653}
654unsafe extern "C" {
655 pub fn TEE_Realloc(
656 buffer: *mut ::std::os::raw::c_void,
657 newSize: usize,
658 ) -> *mut ::std::os::raw::c_void;
659}
660unsafe extern "C" {
661 pub fn TEE_Free(buffer: *mut ::std::os::raw::c_void);
662}
663unsafe extern "C" {
664 pub fn TEE_MemMove(
665 dest: *mut ::std::os::raw::c_void,
666 src: *const ::std::os::raw::c_void,
667 size: usize,
668 );
669}
670unsafe extern "C" {
671 pub fn TEE_MemCompare(
672 buffer1: *const ::std::os::raw::c_void,
673 buffer2: *const ::std::os::raw::c_void,
674 size: usize,
675 ) -> i32;
676}
677unsafe extern "C" {
678 pub fn TEE_MemFill(buffer: *mut ::std::os::raw::c_void, x: u8, size: usize);
679}
680unsafe extern "C" {
681 pub fn TEE_GetObjectInfo1(
682 object: TEE_ObjectHandle,
683 objectInfo: *mut TEE_ObjectInfo,
684 ) -> TEE_Result;
685}
686unsafe extern "C" {
687 pub fn TEE_RestrictObjectUsage1(object: TEE_ObjectHandle, objectUsage: u32) -> TEE_Result;
688}
689unsafe extern "C" {
690 pub fn TEE_GetObjectBufferAttribute(
691 object: TEE_ObjectHandle,
692 attributeID: u32,
693 buffer: *mut ::std::os::raw::c_void,
694 size: *mut usize,
695 ) -> TEE_Result;
696}
697unsafe extern "C" {
698 pub fn TEE_GetObjectValueAttribute(
699 object: TEE_ObjectHandle,
700 attributeID: u32,
701 a: *mut u32,
702 b: *mut u32,
703 ) -> TEE_Result;
704}
705unsafe extern "C" {
706 pub fn TEE_CloseObject(object: TEE_ObjectHandle);
707}
708unsafe extern "C" {
709 pub fn TEE_AllocateTransientObject(
710 objectType: u32,
711 maxObjectSize: u32,
712 object: *mut TEE_ObjectHandle,
713 ) -> TEE_Result;
714}
715unsafe extern "C" {
716 pub fn TEE_FreeTransientObject(object: TEE_ObjectHandle);
717}
718unsafe extern "C" {
719 pub fn TEE_ResetTransientObject(object: TEE_ObjectHandle);
720}
721unsafe extern "C" {
722 pub fn TEE_PopulateTransientObject(
723 object: TEE_ObjectHandle,
724 attrs: *mut TEE_Attribute,
725 attrCount: u32,
726 ) -> TEE_Result;
727}
728unsafe extern "C" {
729 pub fn TEE_InitRefAttribute(
730 attr: *mut TEE_Attribute,
731 attributeID: u32,
732 buffer: *mut ::std::os::raw::c_void,
733 length: usize,
734 );
735}
736unsafe extern "C" {
737 pub fn TEE_InitValueAttribute(attr: *mut TEE_Attribute, attributeID: u32, a: u32, b: u32);
738}
739unsafe extern "C" {
740 pub fn TEE_CopyObjectAttributes1(
741 destObject: TEE_ObjectHandle,
742 srcObject: TEE_ObjectHandle,
743 ) -> TEE_Result;
744}
745unsafe extern "C" {
746 pub fn TEE_GenerateKey(
747 object: TEE_ObjectHandle,
748 keySize: u32,
749 params: *mut TEE_Attribute,
750 paramCount: u32,
751 ) -> TEE_Result;
752}
753unsafe extern "C" {
754 pub fn TEE_OpenPersistentObject(
755 storageID: u32,
756 objectID: *mut ::std::os::raw::c_void,
757 objectIDLen: usize,
758 flags: u32,
759 object: *mut TEE_ObjectHandle,
760 ) -> TEE_Result;
761}
762unsafe extern "C" {
763 pub fn TEE_CreatePersistentObject(
764 storageID: u32,
765 objectID: *mut ::std::os::raw::c_void,
766 objectIDLen: usize,
767 flags: u32,
768 attributes: TEE_ObjectHandle,
769 initialData: *mut ::std::os::raw::c_void,
770 initialDataLen: usize,
771 object: *mut TEE_ObjectHandle,
772 ) -> TEE_Result;
773}
774unsafe extern "C" {
775 pub fn TEE_CloseAndDeletePersistentObject1(object: TEE_ObjectHandle) -> TEE_Result;
776}
777unsafe extern "C" {
778 pub fn TEE_RenamePersistentObject(
779 object: TEE_ObjectHandle,
780 newObjectID: *mut ::std::os::raw::c_void,
781 newObjectIDLen: usize,
782 ) -> TEE_Result;
783}
784unsafe extern "C" {
785 pub fn TEE_AllocatePersistentObjectEnumerator(
786 objectEnumerator: *mut TEE_ObjectEnumHandle,
787 ) -> TEE_Result;
788}
789unsafe extern "C" {
790 pub fn TEE_FreePersistentObjectEnumerator(objectEnumerator: TEE_ObjectEnumHandle);
791}
792unsafe extern "C" {
793 pub fn TEE_ResetPersistentObjectEnumerator(objectEnumerator: TEE_ObjectEnumHandle);
794}
795unsafe extern "C" {
796 pub fn TEE_StartPersistentObjectEnumerator(
797 objectEnumerator: TEE_ObjectEnumHandle,
798 storageID: u32,
799 ) -> TEE_Result;
800}
801unsafe extern "C" {
802 pub fn TEE_GetNextPersistentObject(
803 objectEnumerator: TEE_ObjectEnumHandle,
804 objectInfo: *mut TEE_ObjectInfo,
805 objectID: *mut ::std::os::raw::c_void,
806 objectIDLen: *mut usize,
807 ) -> TEE_Result;
808}
809unsafe extern "C" {
810 pub fn TEE_ReadObjectData(
811 object: TEE_ObjectHandle,
812 buffer: *mut ::std::os::raw::c_void,
813 size: usize,
814 count: *mut usize,
815 ) -> TEE_Result;
816}
817unsafe extern "C" {
818 pub fn TEE_WriteObjectData(
819 object: TEE_ObjectHandle,
820 buffer: *mut ::std::os::raw::c_void,
821 size: usize,
822 ) -> TEE_Result;
823}
824unsafe extern "C" {
825 pub fn TEE_TruncateObjectData(object: TEE_ObjectHandle, size: usize) -> TEE_Result;
826}
827unsafe extern "C" {
828 pub fn TEE_SeekObjectData(
829 object: TEE_ObjectHandle,
830 offset: intmax_t,
831 whence: TEE_Whence,
832 ) -> TEE_Result;
833}
834unsafe extern "C" {
835 pub fn TEE_AllocateOperation(
836 operation: *mut TEE_OperationHandle,
837 algorithm: u32,
838 mode: u32,
839 maxKeySize: u32,
840 ) -> TEE_Result;
841}
842unsafe extern "C" {
843 pub fn TEE_FreeOperation(operation: TEE_OperationHandle);
844}
845unsafe extern "C" {
846 pub fn TEE_GetOperationInfo(
847 operation: TEE_OperationHandle,
848 operationInfo: *mut TEE_OperationInfo,
849 );
850}
851unsafe extern "C" {
852 pub fn TEE_GetOperationInfoMultiple(
853 operation: TEE_OperationHandle,
854 operationInfoMultiple: *mut TEE_OperationInfoMultiple,
855 operationSize: *mut usize,
856 ) -> TEE_Result;
857}
858unsafe extern "C" {
859 pub fn TEE_ResetOperation(operation: TEE_OperationHandle);
860}
861unsafe extern "C" {
862 pub fn TEE_SetOperationKey(operation: TEE_OperationHandle, key: TEE_ObjectHandle)
863 -> TEE_Result;
864}
865unsafe extern "C" {
866 pub fn TEE_SetOperationKey2(
867 operation: TEE_OperationHandle,
868 key1: TEE_ObjectHandle,
869 key2: TEE_ObjectHandle,
870 ) -> TEE_Result;
871}
872unsafe extern "C" {
873 pub fn TEE_CopyOperation(dstOperation: TEE_OperationHandle, srcOperation: TEE_OperationHandle);
874}
875unsafe extern "C" {
876 pub fn TEE_IsAlgorithmSupported(algId: u32, element: u32) -> TEE_Result;
877}
878unsafe extern "C" {
879 pub fn TEE_DigestUpdate(
880 operation: TEE_OperationHandle,
881 chunk: *mut ::std::os::raw::c_void,
882 chunkSize: usize,
883 );
884}
885unsafe extern "C" {
886 pub fn TEE_DigestDoFinal(
887 operation: TEE_OperationHandle,
888 chunk: *mut ::std::os::raw::c_void,
889 chunkLen: usize,
890 hash: *mut ::std::os::raw::c_void,
891 hashLen: *mut usize,
892 ) -> TEE_Result;
893}
894unsafe extern "C" {
895 pub fn TEE_DigestExtract(
896 operation: TEE_OperationHandle,
897 hash: *mut ::std::os::raw::c_void,
898 hashLen: *mut usize,
899 ) -> TEE_Result;
900}
901unsafe extern "C" {
902 pub fn TEE_CipherInit(
903 operation: TEE_OperationHandle,
904 IV: *mut ::std::os::raw::c_void,
905 IVLen: usize,
906 );
907}
908unsafe extern "C" {
909 pub fn TEE_CipherUpdate(
910 operation: TEE_OperationHandle,
911 srcData: *mut ::std::os::raw::c_void,
912 srcLen: usize,
913 destData: *mut ::std::os::raw::c_void,
914 destLen: *mut usize,
915 ) -> TEE_Result;
916}
917unsafe extern "C" {
918 pub fn TEE_CipherDoFinal(
919 operation: TEE_OperationHandle,
920 srcData: *mut ::std::os::raw::c_void,
921 srcLen: usize,
922 destData: *mut ::std::os::raw::c_void,
923 destLen: *mut usize,
924 ) -> TEE_Result;
925}
926unsafe extern "C" {
927 pub fn TEE_MACInit(
928 operation: TEE_OperationHandle,
929 IV: *mut ::std::os::raw::c_void,
930 IVLen: usize,
931 );
932}
933unsafe extern "C" {
934 pub fn TEE_MACUpdate(
935 operation: TEE_OperationHandle,
936 chunk: *mut ::std::os::raw::c_void,
937 chunkSize: usize,
938 );
939}
940unsafe extern "C" {
941 pub fn TEE_MACComputeFinal(
942 operation: TEE_OperationHandle,
943 message: *mut ::std::os::raw::c_void,
944 messageLen: usize,
945 mac: *mut ::std::os::raw::c_void,
946 macLen: *mut usize,
947 ) -> TEE_Result;
948}
949unsafe extern "C" {
950 pub fn TEE_MACCompareFinal(
951 operation: TEE_OperationHandle,
952 message: *mut ::std::os::raw::c_void,
953 messageLen: usize,
954 mac: *mut ::std::os::raw::c_void,
955 macLen: usize,
956 ) -> TEE_Result;
957}
958unsafe extern "C" {
959 pub fn TEE_AEInit(
960 operation: TEE_OperationHandle,
961 nonce: *mut ::std::os::raw::c_void,
962 nonceLen: usize,
963 tagLen: u32,
964 AADLen: usize,
965 payloadLen: usize,
966 ) -> TEE_Result;
967}
968unsafe extern "C" {
969 pub fn TEE_AEUpdateAAD(
970 operation: TEE_OperationHandle,
971 AADdata: *mut ::std::os::raw::c_void,
972 AADdataLen: usize,
973 );
974}
975unsafe extern "C" {
976 pub fn TEE_AEUpdate(
977 operation: TEE_OperationHandle,
978 srcData: *mut ::std::os::raw::c_void,
979 srcLen: usize,
980 destData: *mut ::std::os::raw::c_void,
981 destLen: *mut usize,
982 ) -> TEE_Result;
983}
984unsafe extern "C" {
985 pub fn TEE_AEEncryptFinal(
986 operation: TEE_OperationHandle,
987 srcData: *mut ::std::os::raw::c_void,
988 srcLen: usize,
989 destData: *mut ::std::os::raw::c_void,
990 destLen: *mut usize,
991 tag: *mut ::std::os::raw::c_void,
992 tagLen: *mut usize,
993 ) -> TEE_Result;
994}
995unsafe extern "C" {
996 pub fn TEE_AEDecryptFinal(
997 operation: TEE_OperationHandle,
998 srcData: *mut ::std::os::raw::c_void,
999 srcLen: usize,
1000 destData: *mut ::std::os::raw::c_void,
1001 destLen: *mut usize,
1002 tag: *mut ::std::os::raw::c_void,
1003 tagLen: usize,
1004 ) -> TEE_Result;
1005}
1006unsafe extern "C" {
1007 pub fn TEE_AsymmetricEncrypt(
1008 operation: TEE_OperationHandle,
1009 params: *mut TEE_Attribute,
1010 paramCount: u32,
1011 srcData: *mut ::std::os::raw::c_void,
1012 srcLen: usize,
1013 destData: *mut ::std::os::raw::c_void,
1014 destLen: *mut usize,
1015 ) -> TEE_Result;
1016}
1017unsafe extern "C" {
1018 pub fn TEE_AsymmetricDecrypt(
1019 operation: TEE_OperationHandle,
1020 params: *mut TEE_Attribute,
1021 paramCount: u32,
1022 srcData: *mut ::std::os::raw::c_void,
1023 srcLen: usize,
1024 destData: *mut ::std::os::raw::c_void,
1025 destLen: *mut usize,
1026 ) -> TEE_Result;
1027}
1028unsafe extern "C" {
1029 pub fn TEE_AsymmetricSignDigest(
1030 operation: TEE_OperationHandle,
1031 params: *mut TEE_Attribute,
1032 paramCount: u32,
1033 digest: *mut ::std::os::raw::c_void,
1034 digestLen: usize,
1035 signature: *mut ::std::os::raw::c_void,
1036 signatureLen: *mut usize,
1037 ) -> TEE_Result;
1038}
1039unsafe extern "C" {
1040 pub fn TEE_AsymmetricVerifyDigest(
1041 operation: TEE_OperationHandle,
1042 params: *mut TEE_Attribute,
1043 paramCount: u32,
1044 digest: *mut ::std::os::raw::c_void,
1045 digestLen: usize,
1046 signature: *mut ::std::os::raw::c_void,
1047 signatureLen: usize,
1048 ) -> TEE_Result;
1049}
1050unsafe extern "C" {
1051 pub fn TEE_DeriveKey(
1052 operation: TEE_OperationHandle,
1053 params: *mut TEE_Attribute,
1054 paramCount: u32,
1055 derivedKey: TEE_ObjectHandle,
1056 );
1057}
1058unsafe extern "C" {
1059 pub fn TEE_GenerateRandom(randomBuffer: *mut ::std::os::raw::c_void, randomBufferLen: usize);
1060}
1061unsafe extern "C" {
1062 pub fn TEE_GetSystemTime(time: *mut TEE_Time);
1063}
1064unsafe extern "C" {
1065 pub fn TEE_Wait(timeout: u32) -> TEE_Result;
1066}
1067unsafe extern "C" {
1068 pub fn TEE_GetTAPersistentTime(time: *mut TEE_Time) -> TEE_Result;
1069}
1070unsafe extern "C" {
1071 pub fn TEE_SetTAPersistentTime(time: *const TEE_Time) -> TEE_Result;
1072}
1073unsafe extern "C" {
1074 pub fn TEE_GetREETime(time: *mut TEE_Time);
1075}
1076unsafe extern "C" {
1077 pub fn TEE_BigIntFMMContextSizeInU32(modulusSizeInBits: usize) -> usize;
1078}
1079unsafe extern "C" {
1080 pub fn TEE_BigIntFMMSizeInU32(modulusSizeInBits: usize) -> usize;
1081}
1082unsafe extern "C" {
1083 pub fn TEE_BigIntInit(bigInt: *mut TEE_BigInt, len: usize);
1084}
1085unsafe extern "C" {
1086 pub fn TEE_BigIntInitFMMContext1(
1087 context: *mut TEE_BigIntFMMContext,
1088 len: usize,
1089 modulus: *mut TEE_BigInt,
1090 ) -> TEE_Result;
1091}
1092unsafe extern "C" {
1093 pub fn TEE_BigIntInitFMM(bigIntFMM: *mut TEE_BigIntFMM, len: usize);
1094}
1095unsafe extern "C" {
1096 pub fn TEE_BigIntConvertFromOctetString(
1097 dest: *mut TEE_BigInt,
1098 buffer: *mut u8,
1099 bufferLen: usize,
1100 sign: i32,
1101 ) -> TEE_Result;
1102}
1103unsafe extern "C" {
1104 pub fn TEE_BigIntConvertToOctetString(
1105 buffer: *mut ::std::os::raw::c_void,
1106 bufferLen: *mut usize,
1107 bigInt: *mut TEE_BigInt,
1108 ) -> TEE_Result;
1109}
1110unsafe extern "C" {
1111 pub fn TEE_BigIntConvertFromS32(dest: *mut TEE_BigInt, shortVal: i32);
1112}
1113unsafe extern "C" {
1114 pub fn TEE_BigIntConvertToS32(dest: *mut i32, src: *mut TEE_BigInt) -> TEE_Result;
1115}
1116unsafe extern "C" {
1117 pub fn TEE_BigIntCmp(op1: *mut TEE_BigInt, op2: *mut TEE_BigInt) -> i32;
1118}
1119unsafe extern "C" {
1120 pub fn TEE_BigIntCmpS32(op: *mut TEE_BigInt, shortVal: i32) -> i32;
1121}
1122unsafe extern "C" {
1123 pub fn TEE_BigIntShiftRight(dest: *mut TEE_BigInt, op: *mut TEE_BigInt, bits: usize);
1124}
1125unsafe extern "C" {
1126 pub fn TEE_BigIntGetBit(src: *mut TEE_BigInt, bitIndex: u32) -> bool;
1127}
1128unsafe extern "C" {
1129 pub fn TEE_BigIntGetBitCount(src: *mut TEE_BigInt) -> u32;
1130}
1131unsafe extern "C" {
1132 pub fn TEE_BigIntSetBit(op: *mut TEE_BigInt, bitIndex: u32, value: bool) -> TEE_Result;
1133}
1134unsafe extern "C" {
1135 pub fn TEE_BigIntAssign(dest: *mut TEE_BigInt, src: *const TEE_BigInt) -> TEE_Result;
1136}
1137unsafe extern "C" {
1138 pub fn TEE_BigIntAbs(dest: *mut TEE_BigInt, src: *const TEE_BigInt) -> TEE_Result;
1139}
1140unsafe extern "C" {
1141 pub fn TEE_BigIntAdd(dest: *mut TEE_BigInt, op1: *const TEE_BigInt, op2: *const TEE_BigInt);
1142}
1143unsafe extern "C" {
1144 pub fn TEE_BigIntSub(dest: *mut TEE_BigInt, op1: *const TEE_BigInt, op2: *const TEE_BigInt);
1145}
1146unsafe extern "C" {
1147 pub fn TEE_BigIntNeg(dest: *mut TEE_BigInt, op: *const TEE_BigInt);
1148}
1149unsafe extern "C" {
1150 pub fn TEE_BigIntMul(dest: *mut TEE_BigInt, op1: *const TEE_BigInt, op2: *const TEE_BigInt);
1151}
1152unsafe extern "C" {
1153 pub fn TEE_BigIntSquare(dest: *mut TEE_BigInt, op: *const TEE_BigInt);
1154}
1155unsafe extern "C" {
1156 pub fn TEE_BigIntDiv(
1157 dest_q: *mut TEE_BigInt,
1158 dest_r: *mut TEE_BigInt,
1159 op1: *const TEE_BigInt,
1160 op2: *const TEE_BigInt,
1161 );
1162}
1163unsafe extern "C" {
1164 pub fn TEE_BigIntMod(dest: *mut TEE_BigInt, op: *const TEE_BigInt, n: *const TEE_BigInt);
1165}
1166unsafe extern "C" {
1167 pub fn TEE_BigIntAddMod(
1168 dest: *mut TEE_BigInt,
1169 op1: *const TEE_BigInt,
1170 op2: *const TEE_BigInt,
1171 n: *const TEE_BigInt,
1172 );
1173}
1174unsafe extern "C" {
1175 pub fn TEE_BigIntSubMod(
1176 dest: *mut TEE_BigInt,
1177 op1: *const TEE_BigInt,
1178 op2: *const TEE_BigInt,
1179 n: *const TEE_BigInt,
1180 );
1181}
1182unsafe extern "C" {
1183 pub fn TEE_BigIntMulMod(
1184 dest: *mut TEE_BigInt,
1185 op1: *const TEE_BigInt,
1186 op2: *const TEE_BigInt,
1187 n: *const TEE_BigInt,
1188 );
1189}
1190unsafe extern "C" {
1191 pub fn TEE_BigIntSquareMod(dest: *mut TEE_BigInt, op: *const TEE_BigInt, n: *const TEE_BigInt);
1192}
1193unsafe extern "C" {
1194 pub fn TEE_BigIntInvMod(dest: *mut TEE_BigInt, op: *const TEE_BigInt, n: *const TEE_BigInt);
1195}
1196unsafe extern "C" {
1197 pub fn TEE_BigIntExpMod(
1198 dest: *mut TEE_BigInt,
1199 op1: *mut TEE_BigInt,
1200 op2: *mut TEE_BigInt,
1201 n: *mut TEE_BigInt,
1202 context: *mut TEE_BigIntFMMContext,
1203 ) -> TEE_Result;
1204}
1205unsafe extern "C" {
1206 pub fn TEE_BigIntRelativePrime(op1: *mut TEE_BigInt, op2: *mut TEE_BigInt) -> bool;
1207}
1208unsafe extern "C" {
1209 pub fn TEE_BigIntComputeExtendedGcd(
1210 gcd: *mut TEE_BigInt,
1211 u: *mut TEE_BigInt,
1212 v: *mut TEE_BigInt,
1213 op1: *mut TEE_BigInt,
1214 op2: *mut TEE_BigInt,
1215 );
1216}
1217unsafe extern "C" {
1218 pub fn TEE_BigIntIsProbablePrime(op: *mut TEE_BigInt, confidenceLevel: u32) -> i32;
1219}
1220unsafe extern "C" {
1221 pub fn TEE_BigIntConvertToFMM(
1222 dest: *mut TEE_BigIntFMM,
1223 src: *mut TEE_BigInt,
1224 n: *mut TEE_BigInt,
1225 context: *mut TEE_BigIntFMMContext,
1226 );
1227}
1228unsafe extern "C" {
1229 pub fn TEE_BigIntConvertFromFMM(
1230 dest: *mut TEE_BigInt,
1231 src: *mut TEE_BigIntFMM,
1232 n: *mut TEE_BigInt,
1233 context: *mut TEE_BigIntFMMContext,
1234 );
1235}
1236unsafe extern "C" {
1237 pub fn TEE_BigIntComputeFMM(
1238 dest: *mut TEE_BigIntFMM,
1239 op1: *mut TEE_BigIntFMM,
1240 op2: *mut TEE_BigIntFMM,
1241 n: *mut TEE_BigInt,
1242 context: *mut TEE_BigIntFMMContext,
1243 );
1244}
1245unsafe extern "C" {
1246 pub fn TEE_GetObjectInfo(object: TEE_ObjectHandle, objectInfo: *mut TEE_ObjectInfo);
1247}
1248unsafe extern "C" {
1249 pub fn TEE_RestrictObjectUsage(object: TEE_ObjectHandle, objectUsage: u32);
1250}
1251unsafe extern "C" {
1252 pub fn TEE_CopyObjectAttributes(destObject: TEE_ObjectHandle, srcObject: TEE_ObjectHandle);
1253}
1254unsafe extern "C" {
1255 pub fn TEE_CloseAndDeletePersistentObject(object: TEE_ObjectHandle);
1256}
1257unsafe extern "C" {
1258 pub fn TEE_BigIntInitFMMContext(
1259 context: *mut TEE_BigIntFMMContext,
1260 len: usize,
1261 modulus: *const TEE_BigInt,
1262 );
1263}
1264
1265