1pub const _STDINT_H: u32 = 1;
5pub const _FEATURES_H: u32 = 1;
6pub const _DEFAULT_SOURCE: u32 = 1;
7pub const __GLIBC_USE_ISOC2X: u32 = 0;
8pub const __USE_ISOC11: u32 = 1;
9pub const __USE_ISOC99: u32 = 1;
10pub const __USE_ISOC95: u32 = 1;
11pub const __USE_POSIX_IMPLICITLY: u32 = 1;
12pub const _POSIX_SOURCE: u32 = 1;
13pub const _POSIX_C_SOURCE: u32 = 200809;
14pub const __USE_POSIX: u32 = 1;
15pub const __USE_POSIX2: u32 = 1;
16pub const __USE_POSIX199309: u32 = 1;
17pub const __USE_POSIX199506: u32 = 1;
18pub const __USE_XOPEN2K: u32 = 1;
19pub const __USE_XOPEN2K8: u32 = 1;
20pub const _ATFILE_SOURCE: u32 = 1;
21pub const __WORDSIZE: u32 = 64;
22pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0;
23pub const __TIMESIZE: u32 = 64;
24pub const __USE_MISC: u32 = 1;
25pub const __USE_ATFILE: u32 = 1;
26pub const __USE_FORTIFY_LEVEL: u32 = 0;
27pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
28pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
29pub const _STDC_PREDEF_H: u32 = 1;
30pub const __STDC_IEC_559__: u32 = 1;
31pub const __STDC_IEC_60559_BFP__: u32 = 201404;
32pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
33pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
34pub const __STDC_ISO_10646__: u32 = 201706;
35pub const __GNU_LIBRARY__: u32 = 6;
36pub const __GLIBC__: u32 = 2;
37pub const __GLIBC_MINOR__: u32 = 35;
38pub const _SYS_CDEFS_H: u32 = 1;
39pub const __glibc_c99_flexarr_available: u32 = 1;
40pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
41pub const __HAVE_GENERIC_SELECTION: u32 = 1;
42pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
43pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
45pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
49pub const _BITS_TYPES_H: u32 = 1;
50pub const _BITS_TYPESIZES_H: u32 = 1;
51pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
52pub const __INO_T_MATCHES_INO64_T: u32 = 1;
53pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
54pub const __STATFS_MATCHES_STATFS64: u32 = 1;
55pub const __FD_SETSIZE: u32 = 1024;
56pub const _BITS_TIME64_H: u32 = 1;
57pub const _BITS_WCHAR_H: u32 = 1;
58pub const _BITS_STDINT_INTN_H: u32 = 1;
59pub const _BITS_STDINT_UINTN_H: u32 = 1;
60pub const INT8_MIN: i32 = -128;
61pub const INT16_MIN: i32 = -32768;
62pub const INT32_MIN: i32 = -2147483648;
63pub const INT8_MAX: u32 = 127;
64pub const INT16_MAX: u32 = 32767;
65pub const INT32_MAX: u32 = 2147483647;
66pub const UINT8_MAX: u32 = 255;
67pub const UINT16_MAX: u32 = 65535;
68pub const UINT32_MAX: u32 = 4294967295;
69pub const INT_LEAST8_MIN: i32 = -128;
70pub const INT_LEAST16_MIN: i32 = -32768;
71pub const INT_LEAST32_MIN: i32 = -2147483648;
72pub const INT_LEAST8_MAX: u32 = 127;
73pub const INT_LEAST16_MAX: u32 = 32767;
74pub const INT_LEAST32_MAX: u32 = 2147483647;
75pub const UINT_LEAST8_MAX: u32 = 255;
76pub const UINT_LEAST16_MAX: u32 = 65535;
77pub const UINT_LEAST32_MAX: u32 = 4294967295;
78pub const INT_FAST8_MIN: i32 = -128;
79pub const INT_FAST16_MIN: i64 = -9223372036854775808;
80pub const INT_FAST32_MIN: i64 = -9223372036854775808;
81pub const INT_FAST8_MAX: u32 = 127;
82pub const INT_FAST16_MAX: u64 = 9223372036854775807;
83pub const INT_FAST32_MAX: u64 = 9223372036854775807;
84pub const UINT_FAST8_MAX: u32 = 255;
85pub const UINT_FAST16_MAX: i32 = -1;
86pub const UINT_FAST32_MAX: i32 = -1;
87pub const INTPTR_MIN: i64 = -9223372036854775808;
88pub const INTPTR_MAX: u64 = 9223372036854775807;
89pub const UINTPTR_MAX: i32 = -1;
90pub const PTRDIFF_MIN: i64 = -9223372036854775808;
91pub const PTRDIFF_MAX: u64 = 9223372036854775807;
92pub const SIG_ATOMIC_MIN: i32 = -2147483648;
93pub const SIG_ATOMIC_MAX: u32 = 2147483647;
94pub const SIZE_MAX: i32 = -1;
95pub const WINT_MIN: u32 = 0;
96pub const WINT_MAX: u32 = 4294967295;
97pub const TSS2_RC_LAYER_SHIFT: u32 = 16;
98pub const TSS2_BASE_RC_GENERAL_FAILURE: u32 = 1;
99pub const TSS2_BASE_RC_NOT_IMPLEMENTED: u32 = 2;
100pub const TSS2_BASE_RC_BAD_CONTEXT: u32 = 3;
101pub const TSS2_BASE_RC_ABI_MISMATCH: u32 = 4;
102pub const TSS2_BASE_RC_BAD_REFERENCE: u32 = 5;
103pub const TSS2_BASE_RC_INSUFFICIENT_BUFFER: u32 = 6;
104pub const TSS2_BASE_RC_BAD_SEQUENCE: u32 = 7;
105pub const TSS2_BASE_RC_NO_CONNECTION: u32 = 8;
106pub const TSS2_BASE_RC_TRY_AGAIN: u32 = 9;
107pub const TSS2_BASE_RC_IO_ERROR: u32 = 10;
108pub const TSS2_BASE_RC_BAD_VALUE: u32 = 11;
109pub const TSS2_BASE_RC_NOT_PERMITTED: u32 = 12;
110pub const TSS2_BASE_RC_INVALID_SESSIONS: u32 = 13;
111pub const TSS2_BASE_RC_NO_DECRYPT_PARAM: u32 = 14;
112pub const TSS2_BASE_RC_NO_ENCRYPT_PARAM: u32 = 15;
113pub const TSS2_BASE_RC_BAD_SIZE: u32 = 16;
114pub const TSS2_BASE_RC_MALFORMED_RESPONSE: u32 = 17;
115pub const TSS2_BASE_RC_INSUFFICIENT_CONTEXT: u32 = 18;
116pub const TSS2_BASE_RC_INSUFFICIENT_RESPONSE: u32 = 19;
117pub const TSS2_BASE_RC_INCOMPATIBLE_TCTI: u32 = 20;
118pub const TSS2_BASE_RC_NOT_SUPPORTED: u32 = 21;
119pub const TSS2_BASE_RC_BAD_TCTI_STRUCTURE: u32 = 22;
120pub const TSS2_BASE_RC_MEMORY: u32 = 23;
121pub const TSS2_BASE_RC_BAD_TR: u32 = 24;
122pub const TSS2_BASE_RC_MULTIPLE_DECRYPT_SESSIONS: u32 = 25;
123pub const TSS2_BASE_RC_MULTIPLE_ENCRYPT_SESSIONS: u32 = 26;
124pub const TSS2_BASE_RC_RSP_AUTH_FAILED: u32 = 27;
125pub const TSS2_BASE_RC_NO_CONFIG: u32 = 28;
126pub const TSS2_BASE_RC_BAD_PATH: u32 = 29;
127pub const TSS2_BASE_RC_NOT_DELETABLE: u32 = 30;
128pub const TSS2_BASE_RC_PATH_ALREADY_EXISTS: u32 = 31;
129pub const TSS2_BASE_RC_KEY_NOT_FOUND: u32 = 32;
130pub const TSS2_BASE_RC_SIGNATURE_VERIFICATION_FAILED: u32 = 33;
131pub const TSS2_BASE_RC_HASH_MISMATCH: u32 = 34;
132pub const TSS2_BASE_RC_KEY_NOT_DUPLICABLE: u32 = 35;
133pub const TSS2_BASE_RC_PATH_NOT_FOUND: u32 = 36;
134pub const TSS2_BASE_RC_NO_CERT: u32 = 37;
135pub const TSS2_BASE_RC_NO_PCR: u32 = 38;
136pub const TSS2_BASE_RC_PCR_NOT_RESETTABLE: u32 = 39;
137pub const TSS2_BASE_RC_BAD_TEMPLATE: u32 = 40;
138pub const TSS2_BASE_RC_AUTHORIZATION_FAILED: u32 = 41;
139pub const TSS2_BASE_RC_AUTHORIZATION_UNKNOWN: u32 = 42;
140pub const TSS2_BASE_RC_NV_NOT_READABLE: u32 = 43;
141pub const TSS2_BASE_RC_NV_TOO_SMALL: u32 = 44;
142pub const TSS2_BASE_RC_NV_NOT_WRITEABLE: u32 = 45;
143pub const TSS2_BASE_RC_POLICY_UNKNOWN: u32 = 46;
144pub const TSS2_BASE_RC_NV_WRONG_TYPE: u32 = 47;
145pub const TSS2_BASE_RC_NAME_ALREADY_EXISTS: u32 = 48;
146pub const TSS2_BASE_RC_NO_TPM: u32 = 49;
147pub const TSS2_BASE_RC_BAD_KEY: u32 = 50;
148pub const TSS2_BASE_RC_NO_HANDLE: u32 = 51;
149pub const TSS2_BASE_RC_NOT_PROVISIONED: u32 = 52;
150pub const TSS2_BASE_RC_ALREADY_PROVISIONED: u32 = 53;
151pub const TSS2_BASE_RC_CALLBACK_NULL: u32 = 54;
152pub const TSS2_LAYER_IMPLEMENTATION_SPECIFIC_OFFSET: u32 = 63488;
153pub const TSS2_LEVEL_IMPLEMENTATION_SPECIFIC_SHIFT: u32 = 11;
154pub const TPM2_MAX_COMMAND_SIZE: u32 = 4096;
155pub const TPM2_MAX_RESPONSE_SIZE: u32 = 4096;
156pub const TPM2_NUM_PCR_BANKS: u32 = 16;
157pub const TPM2_MAX_DIGEST_BUFFER: u32 = 1024;
158pub const TPM2_MAX_NV_BUFFER_SIZE: u32 = 2048;
159pub const TPM2_MAX_PCRS: u32 = 32;
160pub const TPM2_MAX_ALG_LIST_SIZE: u32 = 128;
161pub const TPM2_MAX_CAP_CC: u32 = 256;
162pub const TPM2_MAX_CAP_BUFFER: u32 = 1024;
163pub const TPM2_MAX_CONTEXT_SIZE: u32 = 5120;
164pub const TPM2_SHA_DIGEST_SIZE: u32 = 20;
165pub const TPM2_SHA1_DIGEST_SIZE: u32 = 20;
166pub const TPM2_SHA256_DIGEST_SIZE: u32 = 32;
167pub const TPM2_SHA384_DIGEST_SIZE: u32 = 48;
168pub const TPM2_SHA512_DIGEST_SIZE: u32 = 64;
169pub const TPM2_SM3_256_DIGEST_SIZE: u32 = 32;
170pub const TPM2_MAX_SYM_BLOCK_SIZE: u32 = 16;
171pub const TPM2_MAX_SYM_DATA: u32 = 256;
172pub const TPM2_MAX_ECC_KEY_BYTES: u32 = 128;
173pub const TPM2_MAX_SYM_KEY_BYTES: u32 = 32;
174pub const TPM2_MAX_RSA_KEY_BYTES: u32 = 512;
175pub const TPM2_LABEL_MAX_BUFFER: u32 = 32;
176pub const TPM2_PCR_SELECT_MAX: u32 = 4;
177pub const TPM2_PRIVATE_VENDOR_SPECIFIC_BYTES: u32 = 1280;
178pub const TPMA_LOCALITY_EXTENDED_SHIFT: u32 = 5;
179pub const TPMA_CC_COMMANDINDEX_SHIFT: u32 = 0;
180pub const TPMA_CC_CHANDLES_SHIFT: u32 = 25;
181pub const TPMA_CC_RES_SHIFT: u32 = 30;
182pub const TPM2_NO: u32 = 0;
183pub const TPM2_YES: u32 = 1;
184pub const TPM2_NV_INDEX_INDEX_SHIFT: u32 = 0;
185pub const TPM2_NV_INDEX_RH_NV_SHIFT: u32 = 24;
186pub const TPMA_NV_TPM2_NT_SHIFT: u32 = 4;
187pub const _SYS_POLL_H: u32 = 1;
188pub const POLLIN: u32 = 1;
189pub const POLLPRI: u32 = 2;
190pub const POLLOUT: u32 = 4;
191pub const POLLRDNORM: u32 = 64;
192pub const POLLRDBAND: u32 = 128;
193pub const POLLWRNORM: u32 = 256;
194pub const POLLWRBAND: u32 = 512;
195pub const POLLERR: u32 = 8;
196pub const POLLHUP: u32 = 16;
197pub const POLLNVAL: u32 = 32;
198pub const TSS2_TCTI_TIMEOUT_BLOCK: i32 = -1;
199pub const TSS2_TCTI_TIMEOUT_NONE: u32 = 0;
200pub const TSS2_TCTI_INFO_SYMBOL: &[u8; 15] = b"Tss2_Tcti_Info\0";
201pub const TSS2_SYS_MAX_SESSIONS: u32 = 3;
202pub const ESYS_TR_NONE: u32 = 4095;
203pub const ESYS_TR_PASSWORD: u32 = 255;
204pub const ESYS_TR_PCR0: u32 = 0;
205pub const ESYS_TR_PCR1: u32 = 1;
206pub const ESYS_TR_PCR2: u32 = 2;
207pub const ESYS_TR_PCR3: u32 = 3;
208pub const ESYS_TR_PCR4: u32 = 4;
209pub const ESYS_TR_PCR5: u32 = 5;
210pub const ESYS_TR_PCR6: u32 = 6;
211pub const ESYS_TR_PCR7: u32 = 7;
212pub const ESYS_TR_PCR8: u32 = 8;
213pub const ESYS_TR_PCR9: u32 = 9;
214pub const ESYS_TR_PCR10: u32 = 10;
215pub const ESYS_TR_PCR11: u32 = 11;
216pub const ESYS_TR_PCR12: u32 = 12;
217pub const ESYS_TR_PCR13: u32 = 13;
218pub const ESYS_TR_PCR14: u32 = 14;
219pub const ESYS_TR_PCR15: u32 = 15;
220pub const ESYS_TR_PCR16: u32 = 16;
221pub const ESYS_TR_PCR17: u32 = 17;
222pub const ESYS_TR_PCR18: u32 = 18;
223pub const ESYS_TR_PCR19: u32 = 19;
224pub const ESYS_TR_PCR20: u32 = 20;
225pub const ESYS_TR_PCR21: u32 = 21;
226pub const ESYS_TR_PCR22: u32 = 22;
227pub const ESYS_TR_PCR23: u32 = 23;
228pub const ESYS_TR_PCR24: u32 = 24;
229pub const ESYS_TR_PCR25: u32 = 25;
230pub const ESYS_TR_PCR26: u32 = 26;
231pub const ESYS_TR_PCR27: u32 = 27;
232pub const ESYS_TR_PCR28: u32 = 28;
233pub const ESYS_TR_PCR29: u32 = 29;
234pub const ESYS_TR_PCR30: u32 = 30;
235pub const ESYS_TR_PCR31: u32 = 31;
236pub const ESYS_TR_RH_OWNER: u32 = 257;
237pub const ESYS_TR_RH_NULL: u32 = 263;
238pub const ESYS_TR_RH_LOCKOUT: u32 = 266;
239pub const ESYS_TR_RH_ENDORSEMENT: u32 = 267;
240pub const ESYS_TR_RH_PLATFORM: u32 = 268;
241pub const ESYS_TR_RH_PLATFORM_NV: u32 = 269;
242pub const ESYS_TR_RH_FW_OWNER: u32 = 270;
243pub const ESYS_TR_RH_FW_ENDORSEMENT: u32 = 271;
244pub const ESYS_TR_RH_FW_PLATFORM: u32 = 272;
245pub const ESYS_TR_RH_FW_NULL: u32 = 273;
246pub const ESYS_TR_RH_SVN_OWNER_BASE: u32 = 16842752;
247pub const ESYS_TR_RH_SVN_ENDORSEMENT_BASE: u32 = 16908288;
248pub const ESYS_TR_RH_SVN_PLATFORM_BASE: u32 = 16973824;
249pub const ESYS_TR_RH_SVN_NULL_BASE: u32 = 17039360;
250pub const ESYS_TR_RH_AUTH_FIRST: u32 = 272;
251pub const ESYS_TR_RH_ACT_FIRST: u32 = 288;
252pub const ESYS_TR_RH_ACT_0: u32 = 288;
253pub const ESYS_TR_RH_ACT_1: u32 = 289;
254pub const ESYS_TR_RH_ACT_2: u32 = 290;
255pub const ESYS_TR_RH_ACT_3: u32 = 291;
256pub const ESYS_TR_RH_ACT_4: u32 = 292;
257pub const ESYS_TR_RH_ACT_5: u32 = 293;
258pub const ESYS_TR_RH_ACT_6: u32 = 294;
259pub const ESYS_TR_RH_ACT_7: u32 = 295;
260pub const ESYS_TR_RH_ACT_8: u32 = 296;
261pub const ESYS_TR_RH_ACT_9: u32 = 297;
262pub const ESYS_TR_RH_ACT_A: u32 = 298;
263pub const ESYS_TR_RH_ACT_B: u32 = 299;
264pub const ESYS_TR_RH_ACT_C: u32 = 300;
265pub const ESYS_TR_RH_ACT_D: u32 = 301;
266pub const ESYS_TR_RH_ACT_E: u32 = 302;
267pub const ESYS_TR_RH_ACT_F: u32 = 303;
268pub const ESYS_TR_RH_ACT_LAST: u32 = 303;
269pub const ESYS_TR_RH_AC_FIRST: u32 = 320;
270pub const ESYS_TR_RH_AC_LAST: u32 = 65855;
271pub const _INTTYPES_H: u32 = 1;
272pub const ____gwchar_t_defined: u32 = 1;
273pub const __PRI64_PREFIX: &[u8; 2] = b"l\0";
274pub const __PRIPTR_PREFIX: &[u8; 2] = b"l\0";
275pub const PRId8: &[u8; 2] = b"d\0";
276pub const PRId16: &[u8; 2] = b"d\0";
277pub const PRId32: &[u8; 2] = b"d\0";
278pub const PRId64: &[u8; 3] = b"ld\0";
279pub const PRIdLEAST8: &[u8; 2] = b"d\0";
280pub const PRIdLEAST16: &[u8; 2] = b"d\0";
281pub const PRIdLEAST32: &[u8; 2] = b"d\0";
282pub const PRIdLEAST64: &[u8; 3] = b"ld\0";
283pub const PRIdFAST8: &[u8; 2] = b"d\0";
284pub const PRIdFAST16: &[u8; 3] = b"ld\0";
285pub const PRIdFAST32: &[u8; 3] = b"ld\0";
286pub const PRIdFAST64: &[u8; 3] = b"ld\0";
287pub const PRIi8: &[u8; 2] = b"i\0";
288pub const PRIi16: &[u8; 2] = b"i\0";
289pub const PRIi32: &[u8; 2] = b"i\0";
290pub const PRIi64: &[u8; 3] = b"li\0";
291pub const PRIiLEAST8: &[u8; 2] = b"i\0";
292pub const PRIiLEAST16: &[u8; 2] = b"i\0";
293pub const PRIiLEAST32: &[u8; 2] = b"i\0";
294pub const PRIiLEAST64: &[u8; 3] = b"li\0";
295pub const PRIiFAST8: &[u8; 2] = b"i\0";
296pub const PRIiFAST16: &[u8; 3] = b"li\0";
297pub const PRIiFAST32: &[u8; 3] = b"li\0";
298pub const PRIiFAST64: &[u8; 3] = b"li\0";
299pub const PRIo8: &[u8; 2] = b"o\0";
300pub const PRIo16: &[u8; 2] = b"o\0";
301pub const PRIo32: &[u8; 2] = b"o\0";
302pub const PRIo64: &[u8; 3] = b"lo\0";
303pub const PRIoLEAST8: &[u8; 2] = b"o\0";
304pub const PRIoLEAST16: &[u8; 2] = b"o\0";
305pub const PRIoLEAST32: &[u8; 2] = b"o\0";
306pub const PRIoLEAST64: &[u8; 3] = b"lo\0";
307pub const PRIoFAST8: &[u8; 2] = b"o\0";
308pub const PRIoFAST16: &[u8; 3] = b"lo\0";
309pub const PRIoFAST32: &[u8; 3] = b"lo\0";
310pub const PRIoFAST64: &[u8; 3] = b"lo\0";
311pub const PRIu8: &[u8; 2] = b"u\0";
312pub const PRIu16: &[u8; 2] = b"u\0";
313pub const PRIu32: &[u8; 2] = b"u\0";
314pub const PRIu64: &[u8; 3] = b"lu\0";
315pub const PRIuLEAST8: &[u8; 2] = b"u\0";
316pub const PRIuLEAST16: &[u8; 2] = b"u\0";
317pub const PRIuLEAST32: &[u8; 2] = b"u\0";
318pub const PRIuLEAST64: &[u8; 3] = b"lu\0";
319pub const PRIuFAST8: &[u8; 2] = b"u\0";
320pub const PRIuFAST16: &[u8; 3] = b"lu\0";
321pub const PRIuFAST32: &[u8; 3] = b"lu\0";
322pub const PRIuFAST64: &[u8; 3] = b"lu\0";
323pub const PRIx8: &[u8; 2] = b"x\0";
324pub const PRIx16: &[u8; 2] = b"x\0";
325pub const PRIx32: &[u8; 2] = b"x\0";
326pub const PRIx64: &[u8; 3] = b"lx\0";
327pub const PRIxLEAST8: &[u8; 2] = b"x\0";
328pub const PRIxLEAST16: &[u8; 2] = b"x\0";
329pub const PRIxLEAST32: &[u8; 2] = b"x\0";
330pub const PRIxLEAST64: &[u8; 3] = b"lx\0";
331pub const PRIxFAST8: &[u8; 2] = b"x\0";
332pub const PRIxFAST16: &[u8; 3] = b"lx\0";
333pub const PRIxFAST32: &[u8; 3] = b"lx\0";
334pub const PRIxFAST64: &[u8; 3] = b"lx\0";
335pub const PRIX8: &[u8; 2] = b"X\0";
336pub const PRIX16: &[u8; 2] = b"X\0";
337pub const PRIX32: &[u8; 2] = b"X\0";
338pub const PRIX64: &[u8; 3] = b"lX\0";
339pub const PRIXLEAST8: &[u8; 2] = b"X\0";
340pub const PRIXLEAST16: &[u8; 2] = b"X\0";
341pub const PRIXLEAST32: &[u8; 2] = b"X\0";
342pub const PRIXLEAST64: &[u8; 3] = b"lX\0";
343pub const PRIXFAST8: &[u8; 2] = b"X\0";
344pub const PRIXFAST16: &[u8; 3] = b"lX\0";
345pub const PRIXFAST32: &[u8; 3] = b"lX\0";
346pub const PRIXFAST64: &[u8; 3] = b"lX\0";
347pub const PRIdMAX: &[u8; 3] = b"ld\0";
348pub const PRIiMAX: &[u8; 3] = b"li\0";
349pub const PRIoMAX: &[u8; 3] = b"lo\0";
350pub const PRIuMAX: &[u8; 3] = b"lu\0";
351pub const PRIxMAX: &[u8; 3] = b"lx\0";
352pub const PRIXMAX: &[u8; 3] = b"lX\0";
353pub const PRIdPTR: &[u8; 3] = b"ld\0";
354pub const PRIiPTR: &[u8; 3] = b"li\0";
355pub const PRIoPTR: &[u8; 3] = b"lo\0";
356pub const PRIuPTR: &[u8; 3] = b"lu\0";
357pub const PRIxPTR: &[u8; 3] = b"lx\0";
358pub const PRIXPTR: &[u8; 3] = b"lX\0";
359pub const SCNd8: &[u8; 4] = b"hhd\0";
360pub const SCNd16: &[u8; 3] = b"hd\0";
361pub const SCNd32: &[u8; 2] = b"d\0";
362pub const SCNd64: &[u8; 3] = b"ld\0";
363pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
364pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
365pub const SCNdLEAST32: &[u8; 2] = b"d\0";
366pub const SCNdLEAST64: &[u8; 3] = b"ld\0";
367pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
368pub const SCNdFAST16: &[u8; 3] = b"ld\0";
369pub const SCNdFAST32: &[u8; 3] = b"ld\0";
370pub const SCNdFAST64: &[u8; 3] = b"ld\0";
371pub const SCNi8: &[u8; 4] = b"hhi\0";
372pub const SCNi16: &[u8; 3] = b"hi\0";
373pub const SCNi32: &[u8; 2] = b"i\0";
374pub const SCNi64: &[u8; 3] = b"li\0";
375pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
376pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
377pub const SCNiLEAST32: &[u8; 2] = b"i\0";
378pub const SCNiLEAST64: &[u8; 3] = b"li\0";
379pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
380pub const SCNiFAST16: &[u8; 3] = b"li\0";
381pub const SCNiFAST32: &[u8; 3] = b"li\0";
382pub const SCNiFAST64: &[u8; 3] = b"li\0";
383pub const SCNu8: &[u8; 4] = b"hhu\0";
384pub const SCNu16: &[u8; 3] = b"hu\0";
385pub const SCNu32: &[u8; 2] = b"u\0";
386pub const SCNu64: &[u8; 3] = b"lu\0";
387pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
388pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
389pub const SCNuLEAST32: &[u8; 2] = b"u\0";
390pub const SCNuLEAST64: &[u8; 3] = b"lu\0";
391pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
392pub const SCNuFAST16: &[u8; 3] = b"lu\0";
393pub const SCNuFAST32: &[u8; 3] = b"lu\0";
394pub const SCNuFAST64: &[u8; 3] = b"lu\0";
395pub const SCNo8: &[u8; 4] = b"hho\0";
396pub const SCNo16: &[u8; 3] = b"ho\0";
397pub const SCNo32: &[u8; 2] = b"o\0";
398pub const SCNo64: &[u8; 3] = b"lo\0";
399pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
400pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
401pub const SCNoLEAST32: &[u8; 2] = b"o\0";
402pub const SCNoLEAST64: &[u8; 3] = b"lo\0";
403pub const SCNoFAST8: &[u8; 4] = b"hho\0";
404pub const SCNoFAST16: &[u8; 3] = b"lo\0";
405pub const SCNoFAST32: &[u8; 3] = b"lo\0";
406pub const SCNoFAST64: &[u8; 3] = b"lo\0";
407pub const SCNx8: &[u8; 4] = b"hhx\0";
408pub const SCNx16: &[u8; 3] = b"hx\0";
409pub const SCNx32: &[u8; 2] = b"x\0";
410pub const SCNx64: &[u8; 3] = b"lx\0";
411pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
412pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
413pub const SCNxLEAST32: &[u8; 2] = b"x\0";
414pub const SCNxLEAST64: &[u8; 3] = b"lx\0";
415pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
416pub const SCNxFAST16: &[u8; 3] = b"lx\0";
417pub const SCNxFAST32: &[u8; 3] = b"lx\0";
418pub const SCNxFAST64: &[u8; 3] = b"lx\0";
419pub const SCNdMAX: &[u8; 3] = b"ld\0";
420pub const SCNiMAX: &[u8; 3] = b"li\0";
421pub const SCNoMAX: &[u8; 3] = b"lo\0";
422pub const SCNuMAX: &[u8; 3] = b"lu\0";
423pub const SCNxMAX: &[u8; 3] = b"lx\0";
424pub const SCNdPTR: &[u8; 3] = b"ld\0";
425pub const SCNiPTR: &[u8; 3] = b"li\0";
426pub const SCNoPTR: &[u8; 3] = b"lo\0";
427pub const SCNuPTR: &[u8; 3] = b"lu\0";
428pub const SCNxPTR: &[u8; 3] = b"lx\0";
429pub const _STDLIB_H: u32 = 1;
430pub const WNOHANG: u32 = 1;
431pub const WUNTRACED: u32 = 2;
432pub const WSTOPPED: u32 = 2;
433pub const WEXITED: u32 = 4;
434pub const WCONTINUED: u32 = 8;
435pub const WNOWAIT: u32 = 16777216;
436pub const __WNOTHREAD: u32 = 536870912;
437pub const __WALL: u32 = 1073741824;
438pub const __WCLONE: u32 = 2147483648;
439pub const __W_CONTINUED: u32 = 65535;
440pub const __WCOREFLAG: u32 = 128;
441pub const __HAVE_FLOAT128: u32 = 1;
442pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
443pub const __HAVE_FLOAT64X: u32 = 1;
444pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
445pub const __HAVE_FLOAT16: u32 = 0;
446pub const __HAVE_FLOAT32: u32 = 1;
447pub const __HAVE_FLOAT64: u32 = 1;
448pub const __HAVE_FLOAT32X: u32 = 1;
449pub const __HAVE_FLOAT128X: u32 = 0;
450pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
451pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
452pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
453pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
454pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
455pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
456pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
457pub const __ldiv_t_defined: u32 = 1;
458pub const __lldiv_t_defined: u32 = 1;
459pub const RAND_MAX: u32 = 2147483647;
460pub const EXIT_FAILURE: u32 = 1;
461pub const EXIT_SUCCESS: u32 = 0;
462pub const _SYS_TYPES_H: u32 = 1;
463pub const __clock_t_defined: u32 = 1;
464pub const __clockid_t_defined: u32 = 1;
465pub const __time_t_defined: u32 = 1;
466pub const __timer_t_defined: u32 = 1;
467pub const __BIT_TYPES_DEFINED__: u32 = 1;
468pub const _ENDIAN_H: u32 = 1;
469pub const _BITS_ENDIAN_H: u32 = 1;
470pub const __LITTLE_ENDIAN: u32 = 1234;
471pub const __BIG_ENDIAN: u32 = 4321;
472pub const __PDP_ENDIAN: u32 = 3412;
473pub const _BITS_ENDIANNESS_H: u32 = 1;
474pub const __BYTE_ORDER: u32 = 1234;
475pub const __FLOAT_WORD_ORDER: u32 = 1234;
476pub const LITTLE_ENDIAN: u32 = 1234;
477pub const BIG_ENDIAN: u32 = 4321;
478pub const PDP_ENDIAN: u32 = 3412;
479pub const BYTE_ORDER: u32 = 1234;
480pub const _BITS_BYTESWAP_H: u32 = 1;
481pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
482pub const _SYS_SELECT_H: u32 = 1;
483pub const __sigset_t_defined: u32 = 1;
484pub const __timeval_defined: u32 = 1;
485pub const _STRUCT_TIMESPEC: u32 = 1;
486pub const FD_SETSIZE: u32 = 1024;
487pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
488pub const _THREAD_SHARED_TYPES_H: u32 = 1;
489pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
490pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 64;
491pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 48;
492pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 8;
493pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 8;
494pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
495pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
496pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 8;
497pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
498pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
499pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
500pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
501pub const __have_pthread_attr_t: u32 = 1;
502pub const _ALLOCA_H: u32 = 1;
503pub type __u_char = ::std::os::raw::c_uchar;
504pub type __u_short = ::std::os::raw::c_ushort;
505pub type __u_int = ::std::os::raw::c_uint;
506pub type __u_long = ::std::os::raw::c_ulong;
507pub type __int8_t = ::std::os::raw::c_schar;
508pub type __uint8_t = ::std::os::raw::c_uchar;
509pub type __int16_t = ::std::os::raw::c_short;
510pub type __uint16_t = ::std::os::raw::c_ushort;
511pub type __int32_t = ::std::os::raw::c_int;
512pub type __uint32_t = ::std::os::raw::c_uint;
513pub type __int64_t = ::std::os::raw::c_long;
514pub type __uint64_t = ::std::os::raw::c_ulong;
515pub type __int_least8_t = __int8_t;
516pub type __uint_least8_t = __uint8_t;
517pub type __int_least16_t = __int16_t;
518pub type __uint_least16_t = __uint16_t;
519pub type __int_least32_t = __int32_t;
520pub type __uint_least32_t = __uint32_t;
521pub type __int_least64_t = __int64_t;
522pub type __uint_least64_t = __uint64_t;
523pub type __quad_t = ::std::os::raw::c_long;
524pub type __u_quad_t = ::std::os::raw::c_ulong;
525pub type __intmax_t = ::std::os::raw::c_long;
526pub type __uintmax_t = ::std::os::raw::c_ulong;
527pub type __dev_t = ::std::os::raw::c_ulong;
528pub type __uid_t = ::std::os::raw::c_uint;
529pub type __gid_t = ::std::os::raw::c_uint;
530pub type __ino_t = ::std::os::raw::c_ulong;
531pub type __ino64_t = ::std::os::raw::c_ulong;
532pub type __mode_t = ::std::os::raw::c_uint;
533pub type __nlink_t = ::std::os::raw::c_uint;
534pub type __off_t = ::std::os::raw::c_long;
535pub type __off64_t = ::std::os::raw::c_long;
536pub type __pid_t = ::std::os::raw::c_int;
537#[repr(C)]
538#[derive(Debug, Default, Copy, Clone)]
539pub struct __fsid_t {
540 pub __val: [::std::os::raw::c_int; 2usize],
541}
542#[test]
543fn bindgen_test_layout___fsid_t() {
544 const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
545 let ptr = UNINIT.as_ptr();
546 assert_eq!(
547 ::std::mem::size_of::<__fsid_t>(),
548 8usize,
549 "Size of __fsid_t"
550 );
551 assert_eq!(
552 ::std::mem::align_of::<__fsid_t>(),
553 4usize,
554 "Alignment of __fsid_t"
555 );
556 assert_eq!(
557 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
558 0usize,
559 "Offset of field: __fsid_t::__val"
560 );
561}
562pub type __clock_t = ::std::os::raw::c_long;
563pub type __rlim_t = ::std::os::raw::c_ulong;
564pub type __rlim64_t = ::std::os::raw::c_ulong;
565pub type __id_t = ::std::os::raw::c_uint;
566pub type __time_t = ::std::os::raw::c_long;
567pub type __useconds_t = ::std::os::raw::c_uint;
568pub type __suseconds_t = ::std::os::raw::c_long;
569pub type __suseconds64_t = ::std::os::raw::c_long;
570pub type __daddr_t = ::std::os::raw::c_int;
571pub type __key_t = ::std::os::raw::c_int;
572pub type __clockid_t = ::std::os::raw::c_int;
573pub type __timer_t = *mut ::std::os::raw::c_void;
574pub type __blksize_t = ::std::os::raw::c_int;
575pub type __blkcnt_t = ::std::os::raw::c_long;
576pub type __blkcnt64_t = ::std::os::raw::c_long;
577pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
578pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
579pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
580pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
581pub type __fsword_t = ::std::os::raw::c_long;
582pub type __ssize_t = ::std::os::raw::c_long;
583pub type __syscall_slong_t = ::std::os::raw::c_long;
584pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
585pub type __loff_t = __off64_t;
586pub type __caddr_t = *mut ::std::os::raw::c_char;
587pub type __intptr_t = ::std::os::raw::c_long;
588pub type __socklen_t = ::std::os::raw::c_uint;
589pub type __sig_atomic_t = ::std::os::raw::c_int;
590pub type int_least8_t = __int_least8_t;
591pub type int_least16_t = __int_least16_t;
592pub type int_least32_t = __int_least32_t;
593pub type int_least64_t = __int_least64_t;
594pub type uint_least8_t = __uint_least8_t;
595pub type uint_least16_t = __uint_least16_t;
596pub type uint_least32_t = __uint_least32_t;
597pub type uint_least64_t = __uint_least64_t;
598pub type int_fast8_t = ::std::os::raw::c_schar;
599pub type int_fast16_t = ::std::os::raw::c_long;
600pub type int_fast32_t = ::std::os::raw::c_long;
601pub type int_fast64_t = ::std::os::raw::c_long;
602pub type uint_fast8_t = ::std::os::raw::c_uchar;
603pub type uint_fast16_t = ::std::os::raw::c_ulong;
604pub type uint_fast32_t = ::std::os::raw::c_ulong;
605pub type uint_fast64_t = ::std::os::raw::c_ulong;
606pub type intmax_t = __intmax_t;
607pub type uintmax_t = __uintmax_t;
608pub type size_t = ::std::os::raw::c_ulong;
609pub type wchar_t = ::std::os::raw::c_uint;
610pub type UINT8 = u8;
611pub type BYTE = u8;
612pub type INT8 = i8;
613pub type BOOL = ::std::os::raw::c_int;
614pub type UINT16 = u16;
615pub type INT16 = i16;
616pub type UINT32 = u32;
617pub type INT32 = i32;
618pub type UINT64 = u64;
619pub type INT64 = i64;
620#[repr(C)]
621#[derive(Debug, Default, Copy, Clone)]
622pub struct TSS2_ABI_VERSION {
623 pub tssCreator: u32,
624 pub tssFamily: u32,
625 pub tssLevel: u32,
626 pub tssVersion: u32,
627}
628#[test]
629fn bindgen_test_layout_TSS2_ABI_VERSION() {
630 const UNINIT: ::std::mem::MaybeUninit<TSS2_ABI_VERSION> = ::std::mem::MaybeUninit::uninit();
631 let ptr = UNINIT.as_ptr();
632 assert_eq!(
633 ::std::mem::size_of::<TSS2_ABI_VERSION>(),
634 16usize,
635 "Size of TSS2_ABI_VERSION"
636 );
637 assert_eq!(
638 ::std::mem::align_of::<TSS2_ABI_VERSION>(),
639 4usize,
640 "Alignment of TSS2_ABI_VERSION"
641 );
642 assert_eq!(
643 unsafe { ::std::ptr::addr_of!((*ptr).tssCreator) as usize - ptr as usize },
644 0usize,
645 "Offset of field: TSS2_ABI_VERSION::tssCreator"
646 );
647 assert_eq!(
648 unsafe { ::std::ptr::addr_of!((*ptr).tssFamily) as usize - ptr as usize },
649 4usize,
650 "Offset of field: TSS2_ABI_VERSION::tssFamily"
651 );
652 assert_eq!(
653 unsafe { ::std::ptr::addr_of!((*ptr).tssLevel) as usize - ptr as usize },
654 8usize,
655 "Offset of field: TSS2_ABI_VERSION::tssLevel"
656 );
657 assert_eq!(
658 unsafe { ::std::ptr::addr_of!((*ptr).tssVersion) as usize - ptr as usize },
659 12usize,
660 "Offset of field: TSS2_ABI_VERSION::tssVersion"
661 );
662}
663pub type TSS2_RC = u32;
664pub type TPM2_ALG_ID = UINT16;
665pub type TPM2_ECC_CURVE = UINT16;
666pub type TPM2_CC = UINT32;
667pub type TPM2_ALGORITHM_ID = UINT32;
668pub type TPM2_MODIFIER_INDICATOR = UINT32;
669pub type TPM2_AUTHORIZATION_SIZE = UINT32;
670pub type TPM2_PARAMETER_SIZE = UINT32;
671pub type TPM2_KEY_SIZE = UINT16;
672pub type TPM2_KEY_BITS = UINT16;
673pub type TPM2_SPEC = UINT32;
674pub type TPM2_GENERATED = UINT32;
675pub type TPM2_RC = UINT32;
676pub type TPM2_CLOCK_ADJUST = INT8;
677pub type TPM2_EO = UINT16;
678pub type TPM2_ST = UINT16;
679pub type TPM2_SU = UINT16;
680pub type TPM2_SE = UINT8;
681pub type TPM2_CAP = UINT32;
682pub type TPM2_PT = UINT32;
683pub type TPM2_PT_PCR = UINT32;
684pub type TPM2_PS = UINT32;
685pub type TPM2_HANDLE = UINT32;
686pub type TPM2_HT = UINT8;
687pub type TPM2_RH = TPM2_HANDLE;
688pub type TPM2_HC = TPM2_HANDLE;
689pub type TPMA_ALGORITHM = u32;
690pub type TPMA_OBJECT = u32;
691pub type TPMA_SESSION = UINT8;
692pub type TPMA_LOCALITY = UINT8;
693pub type TPMA_PERMANENT = u32;
694pub type TPMA_STARTUP_CLEAR = u32;
695pub type TPMA_MEMORY = u32;
696pub type TPMA_CC = u32;
697pub type TPMA_MODES = u32;
698pub type TPMA_X509_KEY_USAGE = u32;
699pub type TPMA_ACT = u32;
700pub type TPMI_YES_NO = BYTE;
701pub type TPMI_DH_OBJECT = TPM2_HANDLE;
702pub type TPMI_DH_PARENT = TPM2_HANDLE;
703pub type TPMI_DH_PERSISTENT = TPM2_HANDLE;
704pub type TPMI_DH_ENTITY = TPM2_HANDLE;
705pub type TPMI_DH_PCR = TPM2_HANDLE;
706pub type TPMI_SH_AUTH_SESSION = TPM2_HANDLE;
707pub type TPMI_SH_HMAC = TPM2_HANDLE;
708pub type TPMI_SH_POLICY = TPM2_HANDLE;
709pub type TPMI_DH_CONTEXT = TPM2_HANDLE;
710pub type TPMI_DH_SAVED = TPM2_HANDLE;
711pub type TPMI_RH_HIERARCHY = TPM2_HANDLE;
712pub type TPMI_RH_ENABLES = TPM2_HANDLE;
713pub type TPMI_RH_HIERARCHY_AUTH = TPM2_HANDLE;
714pub type TPMI_RH_HIERARCHY_POLICY = TPM2_HANDLE;
715pub type TPMI_RH_PLATFORM = TPM2_HANDLE;
716pub type TPMI_RH_OWNER = TPM2_HANDLE;
717pub type TPMI_RH_ENDORSEMENT = TPM2_HANDLE;
718pub type TPMI_RH_PROVISION = TPM2_HANDLE;
719pub type TPMI_RH_CLEAR = TPM2_HANDLE;
720pub type TPMI_RH_NV_AUTH = TPM2_HANDLE;
721pub type TPMI_RH_LOCKOUT = TPM2_HANDLE;
722pub type TPMI_RH_NV_INDEX = TPM2_HANDLE;
723pub type TPMI_RH_AC = TPM2_HANDLE;
724pub type TPMI_RH_ACT = TPM2_HANDLE;
725pub type TPMI_ALG_HASH = TPM2_ALG_ID;
726pub type TPMI_ALG_ASYM = TPM2_ALG_ID;
727pub type TPMI_ALG_SYM = TPM2_ALG_ID;
728pub type TPMI_ALG_SYM_OBJECT = TPM2_ALG_ID;
729pub type TPMI_ALG_SYM_MODE = TPM2_ALG_ID;
730pub type TPMI_ALG_KDF = TPM2_ALG_ID;
731pub type TPMI_ALG_SIG_SCHEME = TPM2_ALG_ID;
732pub type TPMI_ECC_KEY_EXCHANGE = TPM2_ALG_ID;
733pub type TPMI_ST_COMMAND_TAG = TPM2_ST;
734pub type TPMI_ALG_MAC_SCHEME = TPM2_ALG_ID;
735pub type TPMI_ALG_CIPHER_MODE = TPM2_ALG_ID;
736#[repr(C)]
737#[derive(Debug, Default, Copy, Clone)]
738pub struct TPMS_EMPTY {
739 pub empty: [UINT8; 1usize],
740}
741#[test]
742fn bindgen_test_layout_TPMS_EMPTY() {
743 const UNINIT: ::std::mem::MaybeUninit<TPMS_EMPTY> = ::std::mem::MaybeUninit::uninit();
744 let ptr = UNINIT.as_ptr();
745 assert_eq!(
746 ::std::mem::size_of::<TPMS_EMPTY>(),
747 1usize,
748 "Size of TPMS_EMPTY"
749 );
750 assert_eq!(
751 ::std::mem::align_of::<TPMS_EMPTY>(),
752 1usize,
753 "Alignment of TPMS_EMPTY"
754 );
755 assert_eq!(
756 unsafe { ::std::ptr::addr_of!((*ptr).empty) as usize - ptr as usize },
757 0usize,
758 "Offset of field: TPMS_EMPTY::empty"
759 );
760}
761#[repr(C)]
762#[derive(Copy, Clone)]
763pub union TPMU_HA {
764 pub sha: [BYTE; 20usize],
765 pub sha1: [BYTE; 20usize],
766 pub sha256: [BYTE; 32usize],
767 pub sha384: [BYTE; 48usize],
768 pub sha512: [BYTE; 64usize],
769 pub sm3_256: [BYTE; 32usize],
770}
771#[test]
772fn bindgen_test_layout_TPMU_HA() {
773 const UNINIT: ::std::mem::MaybeUninit<TPMU_HA> = ::std::mem::MaybeUninit::uninit();
774 let ptr = UNINIT.as_ptr();
775 assert_eq!(::std::mem::size_of::<TPMU_HA>(), 64usize, "Size of TPMU_HA");
776 assert_eq!(
777 ::std::mem::align_of::<TPMU_HA>(),
778 1usize,
779 "Alignment of TPMU_HA"
780 );
781 assert_eq!(
782 unsafe { ::std::ptr::addr_of!((*ptr).sha) as usize - ptr as usize },
783 0usize,
784 "Offset of field: TPMU_HA::sha"
785 );
786 assert_eq!(
787 unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
788 0usize,
789 "Offset of field: TPMU_HA::sha1"
790 );
791 assert_eq!(
792 unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
793 0usize,
794 "Offset of field: TPMU_HA::sha256"
795 );
796 assert_eq!(
797 unsafe { ::std::ptr::addr_of!((*ptr).sha384) as usize - ptr as usize },
798 0usize,
799 "Offset of field: TPMU_HA::sha384"
800 );
801 assert_eq!(
802 unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
803 0usize,
804 "Offset of field: TPMU_HA::sha512"
805 );
806 assert_eq!(
807 unsafe { ::std::ptr::addr_of!((*ptr).sm3_256) as usize - ptr as usize },
808 0usize,
809 "Offset of field: TPMU_HA::sm3_256"
810 );
811}
812impl Default for TPMU_HA {
813 fn default() -> Self {
814 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
815 unsafe {
816 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
817 s.assume_init()
818 }
819 }
820}
821#[repr(C)]
822#[derive(Copy, Clone)]
823pub struct TPMT_HA {
824 pub hashAlg: TPMI_ALG_HASH,
825 pub digest: TPMU_HA,
826}
827#[test]
828fn bindgen_test_layout_TPMT_HA() {
829 const UNINIT: ::std::mem::MaybeUninit<TPMT_HA> = ::std::mem::MaybeUninit::uninit();
830 let ptr = UNINIT.as_ptr();
831 assert_eq!(::std::mem::size_of::<TPMT_HA>(), 66usize, "Size of TPMT_HA");
832 assert_eq!(
833 ::std::mem::align_of::<TPMT_HA>(),
834 2usize,
835 "Alignment of TPMT_HA"
836 );
837 assert_eq!(
838 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
839 0usize,
840 "Offset of field: TPMT_HA::hashAlg"
841 );
842 assert_eq!(
843 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
844 2usize,
845 "Offset of field: TPMT_HA::digest"
846 );
847}
848impl Default for TPMT_HA {
849 fn default() -> Self {
850 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
851 unsafe {
852 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
853 s.assume_init()
854 }
855 }
856}
857#[repr(C)]
858#[derive(Debug, Copy, Clone)]
859pub struct TPM2B_DIGEST {
860 pub size: UINT16,
861 pub buffer: [BYTE; 64usize],
862}
863#[test]
864fn bindgen_test_layout_TPM2B_DIGEST() {
865 const UNINIT: ::std::mem::MaybeUninit<TPM2B_DIGEST> = ::std::mem::MaybeUninit::uninit();
866 let ptr = UNINIT.as_ptr();
867 assert_eq!(
868 ::std::mem::size_of::<TPM2B_DIGEST>(),
869 66usize,
870 "Size of TPM2B_DIGEST"
871 );
872 assert_eq!(
873 ::std::mem::align_of::<TPM2B_DIGEST>(),
874 2usize,
875 "Alignment of TPM2B_DIGEST"
876 );
877 assert_eq!(
878 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
879 0usize,
880 "Offset of field: TPM2B_DIGEST::size"
881 );
882 assert_eq!(
883 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
884 2usize,
885 "Offset of field: TPM2B_DIGEST::buffer"
886 );
887}
888impl Default for TPM2B_DIGEST {
889 fn default() -> Self {
890 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
891 unsafe {
892 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
893 s.assume_init()
894 }
895 }
896}
897#[repr(C)]
898#[derive(Debug, Copy, Clone)]
899pub struct TPM2B_DATA {
900 pub size: UINT16,
901 pub buffer: [BYTE; 64usize],
902}
903#[test]
904fn bindgen_test_layout_TPM2B_DATA() {
905 const UNINIT: ::std::mem::MaybeUninit<TPM2B_DATA> = ::std::mem::MaybeUninit::uninit();
906 let ptr = UNINIT.as_ptr();
907 assert_eq!(
908 ::std::mem::size_of::<TPM2B_DATA>(),
909 66usize,
910 "Size of TPM2B_DATA"
911 );
912 assert_eq!(
913 ::std::mem::align_of::<TPM2B_DATA>(),
914 2usize,
915 "Alignment of TPM2B_DATA"
916 );
917 assert_eq!(
918 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
919 0usize,
920 "Offset of field: TPM2B_DATA::size"
921 );
922 assert_eq!(
923 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
924 2usize,
925 "Offset of field: TPM2B_DATA::buffer"
926 );
927}
928impl Default for TPM2B_DATA {
929 fn default() -> Self {
930 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
931 unsafe {
932 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
933 s.assume_init()
934 }
935 }
936}
937pub type TPM2B_NONCE = TPM2B_DIGEST;
938pub type TPM2B_AUTH = TPM2B_DIGEST;
939pub type TPM2B_OPERAND = TPM2B_DIGEST;
940#[repr(C)]
941#[derive(Debug, Copy, Clone)]
942pub struct TPM2B_EVENT {
943 pub size: UINT16,
944 pub buffer: [BYTE; 1024usize],
945}
946#[test]
947fn bindgen_test_layout_TPM2B_EVENT() {
948 const UNINIT: ::std::mem::MaybeUninit<TPM2B_EVENT> = ::std::mem::MaybeUninit::uninit();
949 let ptr = UNINIT.as_ptr();
950 assert_eq!(
951 ::std::mem::size_of::<TPM2B_EVENT>(),
952 1026usize,
953 "Size of TPM2B_EVENT"
954 );
955 assert_eq!(
956 ::std::mem::align_of::<TPM2B_EVENT>(),
957 2usize,
958 "Alignment of TPM2B_EVENT"
959 );
960 assert_eq!(
961 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
962 0usize,
963 "Offset of field: TPM2B_EVENT::size"
964 );
965 assert_eq!(
966 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
967 2usize,
968 "Offset of field: TPM2B_EVENT::buffer"
969 );
970}
971impl Default for TPM2B_EVENT {
972 fn default() -> Self {
973 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
974 unsafe {
975 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
976 s.assume_init()
977 }
978 }
979}
980#[repr(C)]
981#[derive(Debug, Copy, Clone)]
982pub struct TPM2B_MAX_BUFFER {
983 pub size: UINT16,
984 pub buffer: [BYTE; 1024usize],
985}
986#[test]
987fn bindgen_test_layout_TPM2B_MAX_BUFFER() {
988 const UNINIT: ::std::mem::MaybeUninit<TPM2B_MAX_BUFFER> = ::std::mem::MaybeUninit::uninit();
989 let ptr = UNINIT.as_ptr();
990 assert_eq!(
991 ::std::mem::size_of::<TPM2B_MAX_BUFFER>(),
992 1026usize,
993 "Size of TPM2B_MAX_BUFFER"
994 );
995 assert_eq!(
996 ::std::mem::align_of::<TPM2B_MAX_BUFFER>(),
997 2usize,
998 "Alignment of TPM2B_MAX_BUFFER"
999 );
1000 assert_eq!(
1001 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1002 0usize,
1003 "Offset of field: TPM2B_MAX_BUFFER::size"
1004 );
1005 assert_eq!(
1006 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1007 2usize,
1008 "Offset of field: TPM2B_MAX_BUFFER::buffer"
1009 );
1010}
1011impl Default for TPM2B_MAX_BUFFER {
1012 fn default() -> Self {
1013 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1014 unsafe {
1015 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1016 s.assume_init()
1017 }
1018 }
1019}
1020#[repr(C)]
1021#[derive(Debug, Copy, Clone)]
1022pub struct TPM2B_MAX_NV_BUFFER {
1023 pub size: UINT16,
1024 pub buffer: [BYTE; 2048usize],
1025}
1026#[test]
1027fn bindgen_test_layout_TPM2B_MAX_NV_BUFFER() {
1028 const UNINIT: ::std::mem::MaybeUninit<TPM2B_MAX_NV_BUFFER> = ::std::mem::MaybeUninit::uninit();
1029 let ptr = UNINIT.as_ptr();
1030 assert_eq!(
1031 ::std::mem::size_of::<TPM2B_MAX_NV_BUFFER>(),
1032 2050usize,
1033 "Size of TPM2B_MAX_NV_BUFFER"
1034 );
1035 assert_eq!(
1036 ::std::mem::align_of::<TPM2B_MAX_NV_BUFFER>(),
1037 2usize,
1038 "Alignment of TPM2B_MAX_NV_BUFFER"
1039 );
1040 assert_eq!(
1041 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1042 0usize,
1043 "Offset of field: TPM2B_MAX_NV_BUFFER::size"
1044 );
1045 assert_eq!(
1046 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1047 2usize,
1048 "Offset of field: TPM2B_MAX_NV_BUFFER::buffer"
1049 );
1050}
1051impl Default for TPM2B_MAX_NV_BUFFER {
1052 fn default() -> Self {
1053 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1054 unsafe {
1055 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1056 s.assume_init()
1057 }
1058 }
1059}
1060pub type TPM2B_TIMEOUT = TPM2B_DIGEST;
1061#[repr(C)]
1062#[derive(Debug, Default, Copy, Clone)]
1063pub struct TPM2B_IV {
1064 pub size: UINT16,
1065 pub buffer: [BYTE; 16usize],
1066}
1067#[test]
1068fn bindgen_test_layout_TPM2B_IV() {
1069 const UNINIT: ::std::mem::MaybeUninit<TPM2B_IV> = ::std::mem::MaybeUninit::uninit();
1070 let ptr = UNINIT.as_ptr();
1071 assert_eq!(
1072 ::std::mem::size_of::<TPM2B_IV>(),
1073 18usize,
1074 "Size of TPM2B_IV"
1075 );
1076 assert_eq!(
1077 ::std::mem::align_of::<TPM2B_IV>(),
1078 2usize,
1079 "Alignment of TPM2B_IV"
1080 );
1081 assert_eq!(
1082 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1083 0usize,
1084 "Offset of field: TPM2B_IV::size"
1085 );
1086 assert_eq!(
1087 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1088 2usize,
1089 "Offset of field: TPM2B_IV::buffer"
1090 );
1091}
1092#[repr(C)]
1093#[derive(Copy, Clone)]
1094pub union TPMU_NAME {
1095 pub digest: TPMT_HA,
1096 pub handle: TPM2_HANDLE,
1097}
1098#[test]
1099fn bindgen_test_layout_TPMU_NAME() {
1100 const UNINIT: ::std::mem::MaybeUninit<TPMU_NAME> = ::std::mem::MaybeUninit::uninit();
1101 let ptr = UNINIT.as_ptr();
1102 assert_eq!(
1103 ::std::mem::size_of::<TPMU_NAME>(),
1104 68usize,
1105 "Size of TPMU_NAME"
1106 );
1107 assert_eq!(
1108 ::std::mem::align_of::<TPMU_NAME>(),
1109 4usize,
1110 "Alignment of TPMU_NAME"
1111 );
1112 assert_eq!(
1113 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1114 0usize,
1115 "Offset of field: TPMU_NAME::digest"
1116 );
1117 assert_eq!(
1118 unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
1119 0usize,
1120 "Offset of field: TPMU_NAME::handle"
1121 );
1122}
1123impl Default for TPMU_NAME {
1124 fn default() -> Self {
1125 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1126 unsafe {
1127 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1128 s.assume_init()
1129 }
1130 }
1131}
1132#[repr(C)]
1133#[derive(Debug, Copy, Clone)]
1134pub struct TPM2B_NAME {
1135 pub size: UINT16,
1136 pub name: [BYTE; 68usize],
1137}
1138#[test]
1139fn bindgen_test_layout_TPM2B_NAME() {
1140 const UNINIT: ::std::mem::MaybeUninit<TPM2B_NAME> = ::std::mem::MaybeUninit::uninit();
1141 let ptr = UNINIT.as_ptr();
1142 assert_eq!(
1143 ::std::mem::size_of::<TPM2B_NAME>(),
1144 70usize,
1145 "Size of TPM2B_NAME"
1146 );
1147 assert_eq!(
1148 ::std::mem::align_of::<TPM2B_NAME>(),
1149 2usize,
1150 "Alignment of TPM2B_NAME"
1151 );
1152 assert_eq!(
1153 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1154 0usize,
1155 "Offset of field: TPM2B_NAME::size"
1156 );
1157 assert_eq!(
1158 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1159 2usize,
1160 "Offset of field: TPM2B_NAME::name"
1161 );
1162}
1163impl Default for TPM2B_NAME {
1164 fn default() -> Self {
1165 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1166 unsafe {
1167 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1168 s.assume_init()
1169 }
1170 }
1171}
1172#[repr(C)]
1173#[derive(Debug, Default, Copy, Clone)]
1174pub struct TPMS_PCR_SELECT {
1175 pub sizeofSelect: UINT8,
1176 pub pcrSelect: [BYTE; 4usize],
1177}
1178#[test]
1179fn bindgen_test_layout_TPMS_PCR_SELECT() {
1180 const UNINIT: ::std::mem::MaybeUninit<TPMS_PCR_SELECT> = ::std::mem::MaybeUninit::uninit();
1181 let ptr = UNINIT.as_ptr();
1182 assert_eq!(
1183 ::std::mem::size_of::<TPMS_PCR_SELECT>(),
1184 5usize,
1185 "Size of TPMS_PCR_SELECT"
1186 );
1187 assert_eq!(
1188 ::std::mem::align_of::<TPMS_PCR_SELECT>(),
1189 1usize,
1190 "Alignment of TPMS_PCR_SELECT"
1191 );
1192 assert_eq!(
1193 unsafe { ::std::ptr::addr_of!((*ptr).sizeofSelect) as usize - ptr as usize },
1194 0usize,
1195 "Offset of field: TPMS_PCR_SELECT::sizeofSelect"
1196 );
1197 assert_eq!(
1198 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
1199 1usize,
1200 "Offset of field: TPMS_PCR_SELECT::pcrSelect"
1201 );
1202}
1203#[repr(C)]
1204#[derive(Debug, Default, Copy, Clone)]
1205pub struct TPMS_PCR_SELECTION {
1206 pub hash: TPMI_ALG_HASH,
1207 pub sizeofSelect: UINT8,
1208 pub pcrSelect: [BYTE; 4usize],
1209}
1210#[test]
1211fn bindgen_test_layout_TPMS_PCR_SELECTION() {
1212 const UNINIT: ::std::mem::MaybeUninit<TPMS_PCR_SELECTION> = ::std::mem::MaybeUninit::uninit();
1213 let ptr = UNINIT.as_ptr();
1214 assert_eq!(
1215 ::std::mem::size_of::<TPMS_PCR_SELECTION>(),
1216 8usize,
1217 "Size of TPMS_PCR_SELECTION"
1218 );
1219 assert_eq!(
1220 ::std::mem::align_of::<TPMS_PCR_SELECTION>(),
1221 2usize,
1222 "Alignment of TPMS_PCR_SELECTION"
1223 );
1224 assert_eq!(
1225 unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
1226 0usize,
1227 "Offset of field: TPMS_PCR_SELECTION::hash"
1228 );
1229 assert_eq!(
1230 unsafe { ::std::ptr::addr_of!((*ptr).sizeofSelect) as usize - ptr as usize },
1231 2usize,
1232 "Offset of field: TPMS_PCR_SELECTION::sizeofSelect"
1233 );
1234 assert_eq!(
1235 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
1236 3usize,
1237 "Offset of field: TPMS_PCR_SELECTION::pcrSelect"
1238 );
1239}
1240#[repr(C)]
1241#[derive(Debug, Copy, Clone)]
1242pub struct TPMT_TK_CREATION {
1243 pub tag: TPM2_ST,
1244 pub hierarchy: TPMI_RH_HIERARCHY,
1245 pub digest: TPM2B_DIGEST,
1246}
1247#[test]
1248fn bindgen_test_layout_TPMT_TK_CREATION() {
1249 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_CREATION> = ::std::mem::MaybeUninit::uninit();
1250 let ptr = UNINIT.as_ptr();
1251 assert_eq!(
1252 ::std::mem::size_of::<TPMT_TK_CREATION>(),
1253 76usize,
1254 "Size of TPMT_TK_CREATION"
1255 );
1256 assert_eq!(
1257 ::std::mem::align_of::<TPMT_TK_CREATION>(),
1258 4usize,
1259 "Alignment of TPMT_TK_CREATION"
1260 );
1261 assert_eq!(
1262 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1263 0usize,
1264 "Offset of field: TPMT_TK_CREATION::tag"
1265 );
1266 assert_eq!(
1267 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1268 4usize,
1269 "Offset of field: TPMT_TK_CREATION::hierarchy"
1270 );
1271 assert_eq!(
1272 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1273 8usize,
1274 "Offset of field: TPMT_TK_CREATION::digest"
1275 );
1276}
1277impl Default for TPMT_TK_CREATION {
1278 fn default() -> Self {
1279 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1280 unsafe {
1281 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1282 s.assume_init()
1283 }
1284 }
1285}
1286#[repr(C)]
1287#[derive(Debug, Copy, Clone)]
1288pub struct TPMT_TK_VERIFIED {
1289 pub tag: TPM2_ST,
1290 pub hierarchy: TPMI_RH_HIERARCHY,
1291 pub digest: TPM2B_DIGEST,
1292}
1293#[test]
1294fn bindgen_test_layout_TPMT_TK_VERIFIED() {
1295 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_VERIFIED> = ::std::mem::MaybeUninit::uninit();
1296 let ptr = UNINIT.as_ptr();
1297 assert_eq!(
1298 ::std::mem::size_of::<TPMT_TK_VERIFIED>(),
1299 76usize,
1300 "Size of TPMT_TK_VERIFIED"
1301 );
1302 assert_eq!(
1303 ::std::mem::align_of::<TPMT_TK_VERIFIED>(),
1304 4usize,
1305 "Alignment of TPMT_TK_VERIFIED"
1306 );
1307 assert_eq!(
1308 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1309 0usize,
1310 "Offset of field: TPMT_TK_VERIFIED::tag"
1311 );
1312 assert_eq!(
1313 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1314 4usize,
1315 "Offset of field: TPMT_TK_VERIFIED::hierarchy"
1316 );
1317 assert_eq!(
1318 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1319 8usize,
1320 "Offset of field: TPMT_TK_VERIFIED::digest"
1321 );
1322}
1323impl Default for TPMT_TK_VERIFIED {
1324 fn default() -> Self {
1325 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1326 unsafe {
1327 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1328 s.assume_init()
1329 }
1330 }
1331}
1332#[repr(C)]
1333#[derive(Debug, Copy, Clone)]
1334pub struct TPMT_TK_AUTH {
1335 pub tag: TPM2_ST,
1336 pub hierarchy: TPMI_RH_HIERARCHY,
1337 pub digest: TPM2B_DIGEST,
1338}
1339#[test]
1340fn bindgen_test_layout_TPMT_TK_AUTH() {
1341 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_AUTH> = ::std::mem::MaybeUninit::uninit();
1342 let ptr = UNINIT.as_ptr();
1343 assert_eq!(
1344 ::std::mem::size_of::<TPMT_TK_AUTH>(),
1345 76usize,
1346 "Size of TPMT_TK_AUTH"
1347 );
1348 assert_eq!(
1349 ::std::mem::align_of::<TPMT_TK_AUTH>(),
1350 4usize,
1351 "Alignment of TPMT_TK_AUTH"
1352 );
1353 assert_eq!(
1354 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1355 0usize,
1356 "Offset of field: TPMT_TK_AUTH::tag"
1357 );
1358 assert_eq!(
1359 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1360 4usize,
1361 "Offset of field: TPMT_TK_AUTH::hierarchy"
1362 );
1363 assert_eq!(
1364 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1365 8usize,
1366 "Offset of field: TPMT_TK_AUTH::digest"
1367 );
1368}
1369impl Default for TPMT_TK_AUTH {
1370 fn default() -> Self {
1371 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1372 unsafe {
1373 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1374 s.assume_init()
1375 }
1376 }
1377}
1378#[repr(C)]
1379#[derive(Debug, Copy, Clone)]
1380pub struct TPMT_TK_HASHCHECK {
1381 pub tag: TPM2_ST,
1382 pub hierarchy: TPMI_RH_HIERARCHY,
1383 pub digest: TPM2B_DIGEST,
1384}
1385#[test]
1386fn bindgen_test_layout_TPMT_TK_HASHCHECK() {
1387 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_HASHCHECK> = ::std::mem::MaybeUninit::uninit();
1388 let ptr = UNINIT.as_ptr();
1389 assert_eq!(
1390 ::std::mem::size_of::<TPMT_TK_HASHCHECK>(),
1391 76usize,
1392 "Size of TPMT_TK_HASHCHECK"
1393 );
1394 assert_eq!(
1395 ::std::mem::align_of::<TPMT_TK_HASHCHECK>(),
1396 4usize,
1397 "Alignment of TPMT_TK_HASHCHECK"
1398 );
1399 assert_eq!(
1400 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1401 0usize,
1402 "Offset of field: TPMT_TK_HASHCHECK::tag"
1403 );
1404 assert_eq!(
1405 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1406 4usize,
1407 "Offset of field: TPMT_TK_HASHCHECK::hierarchy"
1408 );
1409 assert_eq!(
1410 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1411 8usize,
1412 "Offset of field: TPMT_TK_HASHCHECK::digest"
1413 );
1414}
1415impl Default for TPMT_TK_HASHCHECK {
1416 fn default() -> Self {
1417 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1418 unsafe {
1419 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1420 s.assume_init()
1421 }
1422 }
1423}
1424#[repr(C)]
1425#[derive(Debug, Default, Copy, Clone)]
1426pub struct TPMS_ALG_PROPERTY {
1427 pub alg: TPM2_ALG_ID,
1428 pub algProperties: TPMA_ALGORITHM,
1429}
1430#[test]
1431fn bindgen_test_layout_TPMS_ALG_PROPERTY() {
1432 const UNINIT: ::std::mem::MaybeUninit<TPMS_ALG_PROPERTY> = ::std::mem::MaybeUninit::uninit();
1433 let ptr = UNINIT.as_ptr();
1434 assert_eq!(
1435 ::std::mem::size_of::<TPMS_ALG_PROPERTY>(),
1436 8usize,
1437 "Size of TPMS_ALG_PROPERTY"
1438 );
1439 assert_eq!(
1440 ::std::mem::align_of::<TPMS_ALG_PROPERTY>(),
1441 4usize,
1442 "Alignment of TPMS_ALG_PROPERTY"
1443 );
1444 assert_eq!(
1445 unsafe { ::std::ptr::addr_of!((*ptr).alg) as usize - ptr as usize },
1446 0usize,
1447 "Offset of field: TPMS_ALG_PROPERTY::alg"
1448 );
1449 assert_eq!(
1450 unsafe { ::std::ptr::addr_of!((*ptr).algProperties) as usize - ptr as usize },
1451 4usize,
1452 "Offset of field: TPMS_ALG_PROPERTY::algProperties"
1453 );
1454}
1455#[repr(C)]
1456#[derive(Debug, Default, Copy, Clone)]
1457pub struct TPMS_TAGGED_PROPERTY {
1458 pub property: TPM2_PT,
1459 pub value: UINT32,
1460}
1461#[test]
1462fn bindgen_test_layout_TPMS_TAGGED_PROPERTY() {
1463 const UNINIT: ::std::mem::MaybeUninit<TPMS_TAGGED_PROPERTY> = ::std::mem::MaybeUninit::uninit();
1464 let ptr = UNINIT.as_ptr();
1465 assert_eq!(
1466 ::std::mem::size_of::<TPMS_TAGGED_PROPERTY>(),
1467 8usize,
1468 "Size of TPMS_TAGGED_PROPERTY"
1469 );
1470 assert_eq!(
1471 ::std::mem::align_of::<TPMS_TAGGED_PROPERTY>(),
1472 4usize,
1473 "Alignment of TPMS_TAGGED_PROPERTY"
1474 );
1475 assert_eq!(
1476 unsafe { ::std::ptr::addr_of!((*ptr).property) as usize - ptr as usize },
1477 0usize,
1478 "Offset of field: TPMS_TAGGED_PROPERTY::property"
1479 );
1480 assert_eq!(
1481 unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
1482 4usize,
1483 "Offset of field: TPMS_TAGGED_PROPERTY::value"
1484 );
1485}
1486#[repr(C)]
1487#[derive(Debug, Default, Copy, Clone)]
1488pub struct TPMS_TAGGED_PCR_SELECT {
1489 pub tag: TPM2_PT_PCR,
1490 pub sizeofSelect: UINT8,
1491 pub pcrSelect: [BYTE; 4usize],
1492}
1493#[test]
1494fn bindgen_test_layout_TPMS_TAGGED_PCR_SELECT() {
1495 const UNINIT: ::std::mem::MaybeUninit<TPMS_TAGGED_PCR_SELECT> =
1496 ::std::mem::MaybeUninit::uninit();
1497 let ptr = UNINIT.as_ptr();
1498 assert_eq!(
1499 ::std::mem::size_of::<TPMS_TAGGED_PCR_SELECT>(),
1500 12usize,
1501 "Size of TPMS_TAGGED_PCR_SELECT"
1502 );
1503 assert_eq!(
1504 ::std::mem::align_of::<TPMS_TAGGED_PCR_SELECT>(),
1505 4usize,
1506 "Alignment of TPMS_TAGGED_PCR_SELECT"
1507 );
1508 assert_eq!(
1509 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1510 0usize,
1511 "Offset of field: TPMS_TAGGED_PCR_SELECT::tag"
1512 );
1513 assert_eq!(
1514 unsafe { ::std::ptr::addr_of!((*ptr).sizeofSelect) as usize - ptr as usize },
1515 4usize,
1516 "Offset of field: TPMS_TAGGED_PCR_SELECT::sizeofSelect"
1517 );
1518 assert_eq!(
1519 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
1520 5usize,
1521 "Offset of field: TPMS_TAGGED_PCR_SELECT::pcrSelect"
1522 );
1523}
1524#[repr(C)]
1525#[derive(Copy, Clone)]
1526pub struct TPMS_TAGGED_POLICY {
1527 pub handle: TPM2_HANDLE,
1528 pub policyHash: TPMT_HA,
1529}
1530#[test]
1531fn bindgen_test_layout_TPMS_TAGGED_POLICY() {
1532 const UNINIT: ::std::mem::MaybeUninit<TPMS_TAGGED_POLICY> = ::std::mem::MaybeUninit::uninit();
1533 let ptr = UNINIT.as_ptr();
1534 assert_eq!(
1535 ::std::mem::size_of::<TPMS_TAGGED_POLICY>(),
1536 72usize,
1537 "Size of TPMS_TAGGED_POLICY"
1538 );
1539 assert_eq!(
1540 ::std::mem::align_of::<TPMS_TAGGED_POLICY>(),
1541 4usize,
1542 "Alignment of TPMS_TAGGED_POLICY"
1543 );
1544 assert_eq!(
1545 unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
1546 0usize,
1547 "Offset of field: TPMS_TAGGED_POLICY::handle"
1548 );
1549 assert_eq!(
1550 unsafe { ::std::ptr::addr_of!((*ptr).policyHash) as usize - ptr as usize },
1551 4usize,
1552 "Offset of field: TPMS_TAGGED_POLICY::policyHash"
1553 );
1554}
1555impl Default for TPMS_TAGGED_POLICY {
1556 fn default() -> Self {
1557 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1558 unsafe {
1559 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1560 s.assume_init()
1561 }
1562 }
1563}
1564#[repr(C)]
1565#[derive(Debug, Default, Copy, Clone)]
1566pub struct TPMS_ACT_DATA {
1567 pub handle: TPM2_HANDLE,
1568 pub timeout: UINT32,
1569 pub attributes: TPMA_ACT,
1570}
1571#[test]
1572fn bindgen_test_layout_TPMS_ACT_DATA() {
1573 const UNINIT: ::std::mem::MaybeUninit<TPMS_ACT_DATA> = ::std::mem::MaybeUninit::uninit();
1574 let ptr = UNINIT.as_ptr();
1575 assert_eq!(
1576 ::std::mem::size_of::<TPMS_ACT_DATA>(),
1577 12usize,
1578 "Size of TPMS_ACT_DATA"
1579 );
1580 assert_eq!(
1581 ::std::mem::align_of::<TPMS_ACT_DATA>(),
1582 4usize,
1583 "Alignment of TPMS_ACT_DATA"
1584 );
1585 assert_eq!(
1586 unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
1587 0usize,
1588 "Offset of field: TPMS_ACT_DATA::handle"
1589 );
1590 assert_eq!(
1591 unsafe { ::std::ptr::addr_of!((*ptr).timeout) as usize - ptr as usize },
1592 4usize,
1593 "Offset of field: TPMS_ACT_DATA::timeout"
1594 );
1595 assert_eq!(
1596 unsafe { ::std::ptr::addr_of!((*ptr).attributes) as usize - ptr as usize },
1597 8usize,
1598 "Offset of field: TPMS_ACT_DATA::attributes"
1599 );
1600}
1601#[repr(C)]
1602#[derive(Debug, Copy, Clone)]
1603pub struct TPML_CC {
1604 pub count: UINT32,
1605 pub commandCodes: [TPM2_CC; 256usize],
1606}
1607#[test]
1608fn bindgen_test_layout_TPML_CC() {
1609 const UNINIT: ::std::mem::MaybeUninit<TPML_CC> = ::std::mem::MaybeUninit::uninit();
1610 let ptr = UNINIT.as_ptr();
1611 assert_eq!(
1612 ::std::mem::size_of::<TPML_CC>(),
1613 1028usize,
1614 "Size of TPML_CC"
1615 );
1616 assert_eq!(
1617 ::std::mem::align_of::<TPML_CC>(),
1618 4usize,
1619 "Alignment of TPML_CC"
1620 );
1621 assert_eq!(
1622 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1623 0usize,
1624 "Offset of field: TPML_CC::count"
1625 );
1626 assert_eq!(
1627 unsafe { ::std::ptr::addr_of!((*ptr).commandCodes) as usize - ptr as usize },
1628 4usize,
1629 "Offset of field: TPML_CC::commandCodes"
1630 );
1631}
1632impl Default for TPML_CC {
1633 fn default() -> Self {
1634 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1635 unsafe {
1636 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1637 s.assume_init()
1638 }
1639 }
1640}
1641#[repr(C)]
1642#[derive(Debug, Copy, Clone)]
1643pub struct TPML_CCA {
1644 pub count: UINT32,
1645 pub commandAttributes: [TPMA_CC; 256usize],
1646}
1647#[test]
1648fn bindgen_test_layout_TPML_CCA() {
1649 const UNINIT: ::std::mem::MaybeUninit<TPML_CCA> = ::std::mem::MaybeUninit::uninit();
1650 let ptr = UNINIT.as_ptr();
1651 assert_eq!(
1652 ::std::mem::size_of::<TPML_CCA>(),
1653 1028usize,
1654 "Size of TPML_CCA"
1655 );
1656 assert_eq!(
1657 ::std::mem::align_of::<TPML_CCA>(),
1658 4usize,
1659 "Alignment of TPML_CCA"
1660 );
1661 assert_eq!(
1662 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1663 0usize,
1664 "Offset of field: TPML_CCA::count"
1665 );
1666 assert_eq!(
1667 unsafe { ::std::ptr::addr_of!((*ptr).commandAttributes) as usize - ptr as usize },
1668 4usize,
1669 "Offset of field: TPML_CCA::commandAttributes"
1670 );
1671}
1672impl Default for TPML_CCA {
1673 fn default() -> Self {
1674 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1675 unsafe {
1676 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1677 s.assume_init()
1678 }
1679 }
1680}
1681#[repr(C)]
1682#[derive(Debug, Copy, Clone)]
1683pub struct TPML_ALG {
1684 pub count: UINT32,
1685 pub algorithms: [TPM2_ALG_ID; 128usize],
1686}
1687#[test]
1688fn bindgen_test_layout_TPML_ALG() {
1689 const UNINIT: ::std::mem::MaybeUninit<TPML_ALG> = ::std::mem::MaybeUninit::uninit();
1690 let ptr = UNINIT.as_ptr();
1691 assert_eq!(
1692 ::std::mem::size_of::<TPML_ALG>(),
1693 260usize,
1694 "Size of TPML_ALG"
1695 );
1696 assert_eq!(
1697 ::std::mem::align_of::<TPML_ALG>(),
1698 4usize,
1699 "Alignment of TPML_ALG"
1700 );
1701 assert_eq!(
1702 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1703 0usize,
1704 "Offset of field: TPML_ALG::count"
1705 );
1706 assert_eq!(
1707 unsafe { ::std::ptr::addr_of!((*ptr).algorithms) as usize - ptr as usize },
1708 4usize,
1709 "Offset of field: TPML_ALG::algorithms"
1710 );
1711}
1712impl Default for TPML_ALG {
1713 fn default() -> Self {
1714 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1715 unsafe {
1716 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1717 s.assume_init()
1718 }
1719 }
1720}
1721#[repr(C)]
1722#[derive(Debug, Copy, Clone)]
1723pub struct TPML_HANDLE {
1724 pub count: UINT32,
1725 pub handle: [TPM2_HANDLE; 254usize],
1726}
1727#[test]
1728fn bindgen_test_layout_TPML_HANDLE() {
1729 const UNINIT: ::std::mem::MaybeUninit<TPML_HANDLE> = ::std::mem::MaybeUninit::uninit();
1730 let ptr = UNINIT.as_ptr();
1731 assert_eq!(
1732 ::std::mem::size_of::<TPML_HANDLE>(),
1733 1020usize,
1734 "Size of TPML_HANDLE"
1735 );
1736 assert_eq!(
1737 ::std::mem::align_of::<TPML_HANDLE>(),
1738 4usize,
1739 "Alignment of TPML_HANDLE"
1740 );
1741 assert_eq!(
1742 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1743 0usize,
1744 "Offset of field: TPML_HANDLE::count"
1745 );
1746 assert_eq!(
1747 unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
1748 4usize,
1749 "Offset of field: TPML_HANDLE::handle"
1750 );
1751}
1752impl Default for TPML_HANDLE {
1753 fn default() -> Self {
1754 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1755 unsafe {
1756 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1757 s.assume_init()
1758 }
1759 }
1760}
1761#[repr(C)]
1762#[derive(Debug, Copy, Clone)]
1763pub struct TPML_DIGEST {
1764 pub count: UINT32,
1765 pub digests: [TPM2B_DIGEST; 8usize],
1766}
1767#[test]
1768fn bindgen_test_layout_TPML_DIGEST() {
1769 const UNINIT: ::std::mem::MaybeUninit<TPML_DIGEST> = ::std::mem::MaybeUninit::uninit();
1770 let ptr = UNINIT.as_ptr();
1771 assert_eq!(
1772 ::std::mem::size_of::<TPML_DIGEST>(),
1773 532usize,
1774 "Size of TPML_DIGEST"
1775 );
1776 assert_eq!(
1777 ::std::mem::align_of::<TPML_DIGEST>(),
1778 4usize,
1779 "Alignment of TPML_DIGEST"
1780 );
1781 assert_eq!(
1782 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1783 0usize,
1784 "Offset of field: TPML_DIGEST::count"
1785 );
1786 assert_eq!(
1787 unsafe { ::std::ptr::addr_of!((*ptr).digests) as usize - ptr as usize },
1788 4usize,
1789 "Offset of field: TPML_DIGEST::digests"
1790 );
1791}
1792impl Default for TPML_DIGEST {
1793 fn default() -> Self {
1794 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1795 unsafe {
1796 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1797 s.assume_init()
1798 }
1799 }
1800}
1801#[repr(C)]
1802#[derive(Copy, Clone)]
1803pub struct TPML_DIGEST_VALUES {
1804 pub count: UINT32,
1805 pub digests: [TPMT_HA; 16usize],
1806}
1807#[test]
1808fn bindgen_test_layout_TPML_DIGEST_VALUES() {
1809 const UNINIT: ::std::mem::MaybeUninit<TPML_DIGEST_VALUES> = ::std::mem::MaybeUninit::uninit();
1810 let ptr = UNINIT.as_ptr();
1811 assert_eq!(
1812 ::std::mem::size_of::<TPML_DIGEST_VALUES>(),
1813 1060usize,
1814 "Size of TPML_DIGEST_VALUES"
1815 );
1816 assert_eq!(
1817 ::std::mem::align_of::<TPML_DIGEST_VALUES>(),
1818 4usize,
1819 "Alignment of TPML_DIGEST_VALUES"
1820 );
1821 assert_eq!(
1822 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1823 0usize,
1824 "Offset of field: TPML_DIGEST_VALUES::count"
1825 );
1826 assert_eq!(
1827 unsafe { ::std::ptr::addr_of!((*ptr).digests) as usize - ptr as usize },
1828 4usize,
1829 "Offset of field: TPML_DIGEST_VALUES::digests"
1830 );
1831}
1832impl Default for TPML_DIGEST_VALUES {
1833 fn default() -> Self {
1834 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1835 unsafe {
1836 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1837 s.assume_init()
1838 }
1839 }
1840}
1841#[repr(C)]
1842#[derive(Debug, Default, Copy, Clone)]
1843pub struct TPML_PCR_SELECTION {
1844 pub count: UINT32,
1845 pub pcrSelections: [TPMS_PCR_SELECTION; 16usize],
1846}
1847#[test]
1848fn bindgen_test_layout_TPML_PCR_SELECTION() {
1849 const UNINIT: ::std::mem::MaybeUninit<TPML_PCR_SELECTION> = ::std::mem::MaybeUninit::uninit();
1850 let ptr = UNINIT.as_ptr();
1851 assert_eq!(
1852 ::std::mem::size_of::<TPML_PCR_SELECTION>(),
1853 132usize,
1854 "Size of TPML_PCR_SELECTION"
1855 );
1856 assert_eq!(
1857 ::std::mem::align_of::<TPML_PCR_SELECTION>(),
1858 4usize,
1859 "Alignment of TPML_PCR_SELECTION"
1860 );
1861 assert_eq!(
1862 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1863 0usize,
1864 "Offset of field: TPML_PCR_SELECTION::count"
1865 );
1866 assert_eq!(
1867 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelections) as usize - ptr as usize },
1868 4usize,
1869 "Offset of field: TPML_PCR_SELECTION::pcrSelections"
1870 );
1871}
1872#[repr(C)]
1873#[derive(Debug, Copy, Clone)]
1874pub struct TPML_ALG_PROPERTY {
1875 pub count: UINT32,
1876 pub algProperties: [TPMS_ALG_PROPERTY; 127usize],
1877}
1878#[test]
1879fn bindgen_test_layout_TPML_ALG_PROPERTY() {
1880 const UNINIT: ::std::mem::MaybeUninit<TPML_ALG_PROPERTY> = ::std::mem::MaybeUninit::uninit();
1881 let ptr = UNINIT.as_ptr();
1882 assert_eq!(
1883 ::std::mem::size_of::<TPML_ALG_PROPERTY>(),
1884 1020usize,
1885 "Size of TPML_ALG_PROPERTY"
1886 );
1887 assert_eq!(
1888 ::std::mem::align_of::<TPML_ALG_PROPERTY>(),
1889 4usize,
1890 "Alignment of TPML_ALG_PROPERTY"
1891 );
1892 assert_eq!(
1893 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1894 0usize,
1895 "Offset of field: TPML_ALG_PROPERTY::count"
1896 );
1897 assert_eq!(
1898 unsafe { ::std::ptr::addr_of!((*ptr).algProperties) as usize - ptr as usize },
1899 4usize,
1900 "Offset of field: TPML_ALG_PROPERTY::algProperties"
1901 );
1902}
1903impl Default for TPML_ALG_PROPERTY {
1904 fn default() -> Self {
1905 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1906 unsafe {
1907 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1908 s.assume_init()
1909 }
1910 }
1911}
1912#[repr(C)]
1913#[derive(Debug, Copy, Clone)]
1914pub struct TPML_TAGGED_TPM_PROPERTY {
1915 pub count: UINT32,
1916 pub tpmProperty: [TPMS_TAGGED_PROPERTY; 127usize],
1917}
1918#[test]
1919fn bindgen_test_layout_TPML_TAGGED_TPM_PROPERTY() {
1920 const UNINIT: ::std::mem::MaybeUninit<TPML_TAGGED_TPM_PROPERTY> =
1921 ::std::mem::MaybeUninit::uninit();
1922 let ptr = UNINIT.as_ptr();
1923 assert_eq!(
1924 ::std::mem::size_of::<TPML_TAGGED_TPM_PROPERTY>(),
1925 1020usize,
1926 "Size of TPML_TAGGED_TPM_PROPERTY"
1927 );
1928 assert_eq!(
1929 ::std::mem::align_of::<TPML_TAGGED_TPM_PROPERTY>(),
1930 4usize,
1931 "Alignment of TPML_TAGGED_TPM_PROPERTY"
1932 );
1933 assert_eq!(
1934 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1935 0usize,
1936 "Offset of field: TPML_TAGGED_TPM_PROPERTY::count"
1937 );
1938 assert_eq!(
1939 unsafe { ::std::ptr::addr_of!((*ptr).tpmProperty) as usize - ptr as usize },
1940 4usize,
1941 "Offset of field: TPML_TAGGED_TPM_PROPERTY::tpmProperty"
1942 );
1943}
1944impl Default for TPML_TAGGED_TPM_PROPERTY {
1945 fn default() -> Self {
1946 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1947 unsafe {
1948 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1949 s.assume_init()
1950 }
1951 }
1952}
1953#[repr(C)]
1954#[derive(Debug, Copy, Clone)]
1955pub struct TPML_TAGGED_PCR_PROPERTY {
1956 pub count: UINT32,
1957 pub pcrProperty: [TPMS_TAGGED_PCR_SELECT; 84usize],
1958}
1959#[test]
1960fn bindgen_test_layout_TPML_TAGGED_PCR_PROPERTY() {
1961 const UNINIT: ::std::mem::MaybeUninit<TPML_TAGGED_PCR_PROPERTY> =
1962 ::std::mem::MaybeUninit::uninit();
1963 let ptr = UNINIT.as_ptr();
1964 assert_eq!(
1965 ::std::mem::size_of::<TPML_TAGGED_PCR_PROPERTY>(),
1966 1012usize,
1967 "Size of TPML_TAGGED_PCR_PROPERTY"
1968 );
1969 assert_eq!(
1970 ::std::mem::align_of::<TPML_TAGGED_PCR_PROPERTY>(),
1971 4usize,
1972 "Alignment of TPML_TAGGED_PCR_PROPERTY"
1973 );
1974 assert_eq!(
1975 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1976 0usize,
1977 "Offset of field: TPML_TAGGED_PCR_PROPERTY::count"
1978 );
1979 assert_eq!(
1980 unsafe { ::std::ptr::addr_of!((*ptr).pcrProperty) as usize - ptr as usize },
1981 4usize,
1982 "Offset of field: TPML_TAGGED_PCR_PROPERTY::pcrProperty"
1983 );
1984}
1985impl Default for TPML_TAGGED_PCR_PROPERTY {
1986 fn default() -> Self {
1987 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1988 unsafe {
1989 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1990 s.assume_init()
1991 }
1992 }
1993}
1994#[repr(C)]
1995#[derive(Debug, Copy, Clone)]
1996pub struct TPML_ECC_CURVE {
1997 pub count: UINT32,
1998 pub eccCurves: [TPM2_ECC_CURVE; 508usize],
1999}
2000#[test]
2001fn bindgen_test_layout_TPML_ECC_CURVE() {
2002 const UNINIT: ::std::mem::MaybeUninit<TPML_ECC_CURVE> = ::std::mem::MaybeUninit::uninit();
2003 let ptr = UNINIT.as_ptr();
2004 assert_eq!(
2005 ::std::mem::size_of::<TPML_ECC_CURVE>(),
2006 1020usize,
2007 "Size of TPML_ECC_CURVE"
2008 );
2009 assert_eq!(
2010 ::std::mem::align_of::<TPML_ECC_CURVE>(),
2011 4usize,
2012 "Alignment of TPML_ECC_CURVE"
2013 );
2014 assert_eq!(
2015 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2016 0usize,
2017 "Offset of field: TPML_ECC_CURVE::count"
2018 );
2019 assert_eq!(
2020 unsafe { ::std::ptr::addr_of!((*ptr).eccCurves) as usize - ptr as usize },
2021 4usize,
2022 "Offset of field: TPML_ECC_CURVE::eccCurves"
2023 );
2024}
2025impl Default for TPML_ECC_CURVE {
2026 fn default() -> Self {
2027 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2028 unsafe {
2029 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2030 s.assume_init()
2031 }
2032 }
2033}
2034#[repr(C)]
2035#[derive(Copy, Clone)]
2036pub struct TPML_TAGGED_POLICY {
2037 pub count: UINT32,
2038 pub policies: [TPMS_TAGGED_POLICY; 14usize],
2039}
2040#[test]
2041fn bindgen_test_layout_TPML_TAGGED_POLICY() {
2042 const UNINIT: ::std::mem::MaybeUninit<TPML_TAGGED_POLICY> = ::std::mem::MaybeUninit::uninit();
2043 let ptr = UNINIT.as_ptr();
2044 assert_eq!(
2045 ::std::mem::size_of::<TPML_TAGGED_POLICY>(),
2046 1012usize,
2047 "Size of TPML_TAGGED_POLICY"
2048 );
2049 assert_eq!(
2050 ::std::mem::align_of::<TPML_TAGGED_POLICY>(),
2051 4usize,
2052 "Alignment of TPML_TAGGED_POLICY"
2053 );
2054 assert_eq!(
2055 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2056 0usize,
2057 "Offset of field: TPML_TAGGED_POLICY::count"
2058 );
2059 assert_eq!(
2060 unsafe { ::std::ptr::addr_of!((*ptr).policies) as usize - ptr as usize },
2061 4usize,
2062 "Offset of field: TPML_TAGGED_POLICY::policies"
2063 );
2064}
2065impl Default for TPML_TAGGED_POLICY {
2066 fn default() -> Self {
2067 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2068 unsafe {
2069 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2070 s.assume_init()
2071 }
2072 }
2073}
2074#[repr(C)]
2075#[derive(Debug, Copy, Clone)]
2076pub struct TPML_ACT_DATA {
2077 pub count: UINT32,
2078 pub actData: [TPMS_ACT_DATA; 84usize],
2079}
2080#[test]
2081fn bindgen_test_layout_TPML_ACT_DATA() {
2082 const UNINIT: ::std::mem::MaybeUninit<TPML_ACT_DATA> = ::std::mem::MaybeUninit::uninit();
2083 let ptr = UNINIT.as_ptr();
2084 assert_eq!(
2085 ::std::mem::size_of::<TPML_ACT_DATA>(),
2086 1012usize,
2087 "Size of TPML_ACT_DATA"
2088 );
2089 assert_eq!(
2090 ::std::mem::align_of::<TPML_ACT_DATA>(),
2091 4usize,
2092 "Alignment of TPML_ACT_DATA"
2093 );
2094 assert_eq!(
2095 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2096 0usize,
2097 "Offset of field: TPML_ACT_DATA::count"
2098 );
2099 assert_eq!(
2100 unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize },
2101 4usize,
2102 "Offset of field: TPML_ACT_DATA::actData"
2103 );
2104}
2105impl Default for TPML_ACT_DATA {
2106 fn default() -> Self {
2107 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2108 unsafe {
2109 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2110 s.assume_init()
2111 }
2112 }
2113}
2114#[repr(C)]
2115#[derive(Debug, Copy, Clone)]
2116pub struct TPM2B_MAX_CAP_BUFFER {
2117 pub size: UINT16,
2118 pub buffer: [BYTE; 1024usize],
2119}
2120#[test]
2121fn bindgen_test_layout_TPM2B_MAX_CAP_BUFFER() {
2122 const UNINIT: ::std::mem::MaybeUninit<TPM2B_MAX_CAP_BUFFER> = ::std::mem::MaybeUninit::uninit();
2123 let ptr = UNINIT.as_ptr();
2124 assert_eq!(
2125 ::std::mem::size_of::<TPM2B_MAX_CAP_BUFFER>(),
2126 1026usize,
2127 "Size of TPM2B_MAX_CAP_BUFFER"
2128 );
2129 assert_eq!(
2130 ::std::mem::align_of::<TPM2B_MAX_CAP_BUFFER>(),
2131 2usize,
2132 "Alignment of TPM2B_MAX_CAP_BUFFER"
2133 );
2134 assert_eq!(
2135 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
2136 0usize,
2137 "Offset of field: TPM2B_MAX_CAP_BUFFER::size"
2138 );
2139 assert_eq!(
2140 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
2141 2usize,
2142 "Offset of field: TPM2B_MAX_CAP_BUFFER::buffer"
2143 );
2144}
2145impl Default for TPM2B_MAX_CAP_BUFFER {
2146 fn default() -> Self {
2147 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2148 unsafe {
2149 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2150 s.assume_init()
2151 }
2152 }
2153}
2154#[repr(C)]
2155#[derive(Copy, Clone)]
2156pub union TPMU_CAPABILITIES {
2157 pub algorithms: TPML_ALG_PROPERTY,
2158 pub handles: TPML_HANDLE,
2159 pub command: TPML_CCA,
2160 pub ppCommands: TPML_CC,
2161 pub auditCommands: TPML_CC,
2162 pub assignedPCR: TPML_PCR_SELECTION,
2163 pub tpmProperties: TPML_TAGGED_TPM_PROPERTY,
2164 pub pcrProperties: TPML_TAGGED_PCR_PROPERTY,
2165 pub eccCurves: TPML_ECC_CURVE,
2166 pub authPolicies: TPML_TAGGED_POLICY,
2167 pub actData: TPML_ACT_DATA,
2168 pub vendor: TPM2B_MAX_CAP_BUFFER,
2169}
2170#[test]
2171fn bindgen_test_layout_TPMU_CAPABILITIES() {
2172 const UNINIT: ::std::mem::MaybeUninit<TPMU_CAPABILITIES> = ::std::mem::MaybeUninit::uninit();
2173 let ptr = UNINIT.as_ptr();
2174 assert_eq!(
2175 ::std::mem::size_of::<TPMU_CAPABILITIES>(),
2176 1028usize,
2177 "Size of TPMU_CAPABILITIES"
2178 );
2179 assert_eq!(
2180 ::std::mem::align_of::<TPMU_CAPABILITIES>(),
2181 4usize,
2182 "Alignment of TPMU_CAPABILITIES"
2183 );
2184 assert_eq!(
2185 unsafe { ::std::ptr::addr_of!((*ptr).algorithms) as usize - ptr as usize },
2186 0usize,
2187 "Offset of field: TPMU_CAPABILITIES::algorithms"
2188 );
2189 assert_eq!(
2190 unsafe { ::std::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
2191 0usize,
2192 "Offset of field: TPMU_CAPABILITIES::handles"
2193 );
2194 assert_eq!(
2195 unsafe { ::std::ptr::addr_of!((*ptr).command) as usize - ptr as usize },
2196 0usize,
2197 "Offset of field: TPMU_CAPABILITIES::command"
2198 );
2199 assert_eq!(
2200 unsafe { ::std::ptr::addr_of!((*ptr).ppCommands) as usize - ptr as usize },
2201 0usize,
2202 "Offset of field: TPMU_CAPABILITIES::ppCommands"
2203 );
2204 assert_eq!(
2205 unsafe { ::std::ptr::addr_of!((*ptr).auditCommands) as usize - ptr as usize },
2206 0usize,
2207 "Offset of field: TPMU_CAPABILITIES::auditCommands"
2208 );
2209 assert_eq!(
2210 unsafe { ::std::ptr::addr_of!((*ptr).assignedPCR) as usize - ptr as usize },
2211 0usize,
2212 "Offset of field: TPMU_CAPABILITIES::assignedPCR"
2213 );
2214 assert_eq!(
2215 unsafe { ::std::ptr::addr_of!((*ptr).tpmProperties) as usize - ptr as usize },
2216 0usize,
2217 "Offset of field: TPMU_CAPABILITIES::tpmProperties"
2218 );
2219 assert_eq!(
2220 unsafe { ::std::ptr::addr_of!((*ptr).pcrProperties) as usize - ptr as usize },
2221 0usize,
2222 "Offset of field: TPMU_CAPABILITIES::pcrProperties"
2223 );
2224 assert_eq!(
2225 unsafe { ::std::ptr::addr_of!((*ptr).eccCurves) as usize - ptr as usize },
2226 0usize,
2227 "Offset of field: TPMU_CAPABILITIES::eccCurves"
2228 );
2229 assert_eq!(
2230 unsafe { ::std::ptr::addr_of!((*ptr).authPolicies) as usize - ptr as usize },
2231 0usize,
2232 "Offset of field: TPMU_CAPABILITIES::authPolicies"
2233 );
2234 assert_eq!(
2235 unsafe { ::std::ptr::addr_of!((*ptr).actData) as usize - ptr as usize },
2236 0usize,
2237 "Offset of field: TPMU_CAPABILITIES::actData"
2238 );
2239 assert_eq!(
2240 unsafe { ::std::ptr::addr_of!((*ptr).vendor) as usize - ptr as usize },
2241 0usize,
2242 "Offset of field: TPMU_CAPABILITIES::vendor"
2243 );
2244}
2245impl Default for TPMU_CAPABILITIES {
2246 fn default() -> Self {
2247 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2248 unsafe {
2249 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2250 s.assume_init()
2251 }
2252 }
2253}
2254#[repr(C)]
2255#[derive(Copy, Clone)]
2256pub struct TPMS_CAPABILITY_DATA {
2257 pub capability: TPM2_CAP,
2258 pub data: TPMU_CAPABILITIES,
2259}
2260#[test]
2261fn bindgen_test_layout_TPMS_CAPABILITY_DATA() {
2262 const UNINIT: ::std::mem::MaybeUninit<TPMS_CAPABILITY_DATA> = ::std::mem::MaybeUninit::uninit();
2263 let ptr = UNINIT.as_ptr();
2264 assert_eq!(
2265 ::std::mem::size_of::<TPMS_CAPABILITY_DATA>(),
2266 1032usize,
2267 "Size of TPMS_CAPABILITY_DATA"
2268 );
2269 assert_eq!(
2270 ::std::mem::align_of::<TPMS_CAPABILITY_DATA>(),
2271 4usize,
2272 "Alignment of TPMS_CAPABILITY_DATA"
2273 );
2274 assert_eq!(
2275 unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
2276 0usize,
2277 "Offset of field: TPMS_CAPABILITY_DATA::capability"
2278 );
2279 assert_eq!(
2280 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
2281 4usize,
2282 "Offset of field: TPMS_CAPABILITY_DATA::data"
2283 );
2284}
2285impl Default for TPMS_CAPABILITY_DATA {
2286 fn default() -> Self {
2287 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2288 unsafe {
2289 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2290 s.assume_init()
2291 }
2292 }
2293}
2294#[repr(C)]
2295#[derive(Debug, Default, Copy, Clone)]
2296pub struct TPMS_CLOCK_INFO {
2297 pub clock: UINT64,
2298 pub resetCount: UINT32,
2299 pub restartCount: UINT32,
2300 pub safe: TPMI_YES_NO,
2301}
2302#[test]
2303fn bindgen_test_layout_TPMS_CLOCK_INFO() {
2304 const UNINIT: ::std::mem::MaybeUninit<TPMS_CLOCK_INFO> = ::std::mem::MaybeUninit::uninit();
2305 let ptr = UNINIT.as_ptr();
2306 assert_eq!(
2307 ::std::mem::size_of::<TPMS_CLOCK_INFO>(),
2308 24usize,
2309 "Size of TPMS_CLOCK_INFO"
2310 );
2311 assert_eq!(
2312 ::std::mem::align_of::<TPMS_CLOCK_INFO>(),
2313 8usize,
2314 "Alignment of TPMS_CLOCK_INFO"
2315 );
2316 assert_eq!(
2317 unsafe { ::std::ptr::addr_of!((*ptr).clock) as usize - ptr as usize },
2318 0usize,
2319 "Offset of field: TPMS_CLOCK_INFO::clock"
2320 );
2321 assert_eq!(
2322 unsafe { ::std::ptr::addr_of!((*ptr).resetCount) as usize - ptr as usize },
2323 8usize,
2324 "Offset of field: TPMS_CLOCK_INFO::resetCount"
2325 );
2326 assert_eq!(
2327 unsafe { ::std::ptr::addr_of!((*ptr).restartCount) as usize - ptr as usize },
2328 12usize,
2329 "Offset of field: TPMS_CLOCK_INFO::restartCount"
2330 );
2331 assert_eq!(
2332 unsafe { ::std::ptr::addr_of!((*ptr).safe) as usize - ptr as usize },
2333 16usize,
2334 "Offset of field: TPMS_CLOCK_INFO::safe"
2335 );
2336}
2337#[repr(C)]
2338#[derive(Debug, Default, Copy, Clone)]
2339pub struct TPMS_TIME_INFO {
2340 pub time: UINT64,
2341 pub clockInfo: TPMS_CLOCK_INFO,
2342}
2343#[test]
2344fn bindgen_test_layout_TPMS_TIME_INFO() {
2345 const UNINIT: ::std::mem::MaybeUninit<TPMS_TIME_INFO> = ::std::mem::MaybeUninit::uninit();
2346 let ptr = UNINIT.as_ptr();
2347 assert_eq!(
2348 ::std::mem::size_of::<TPMS_TIME_INFO>(),
2349 32usize,
2350 "Size of TPMS_TIME_INFO"
2351 );
2352 assert_eq!(
2353 ::std::mem::align_of::<TPMS_TIME_INFO>(),
2354 8usize,
2355 "Alignment of TPMS_TIME_INFO"
2356 );
2357 assert_eq!(
2358 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
2359 0usize,
2360 "Offset of field: TPMS_TIME_INFO::time"
2361 );
2362 assert_eq!(
2363 unsafe { ::std::ptr::addr_of!((*ptr).clockInfo) as usize - ptr as usize },
2364 8usize,
2365 "Offset of field: TPMS_TIME_INFO::clockInfo"
2366 );
2367}
2368#[repr(C)]
2369#[derive(Debug, Default, Copy, Clone)]
2370pub struct TPMS_TIME_ATTEST_INFO {
2371 pub time: TPMS_TIME_INFO,
2372 pub firmwareVersion: UINT64,
2373}
2374#[test]
2375fn bindgen_test_layout_TPMS_TIME_ATTEST_INFO() {
2376 const UNINIT: ::std::mem::MaybeUninit<TPMS_TIME_ATTEST_INFO> =
2377 ::std::mem::MaybeUninit::uninit();
2378 let ptr = UNINIT.as_ptr();
2379 assert_eq!(
2380 ::std::mem::size_of::<TPMS_TIME_ATTEST_INFO>(),
2381 40usize,
2382 "Size of TPMS_TIME_ATTEST_INFO"
2383 );
2384 assert_eq!(
2385 ::std::mem::align_of::<TPMS_TIME_ATTEST_INFO>(),
2386 8usize,
2387 "Alignment of TPMS_TIME_ATTEST_INFO"
2388 );
2389 assert_eq!(
2390 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
2391 0usize,
2392 "Offset of field: TPMS_TIME_ATTEST_INFO::time"
2393 );
2394 assert_eq!(
2395 unsafe { ::std::ptr::addr_of!((*ptr).firmwareVersion) as usize - ptr as usize },
2396 32usize,
2397 "Offset of field: TPMS_TIME_ATTEST_INFO::firmwareVersion"
2398 );
2399}
2400#[repr(C)]
2401#[derive(Debug, Copy, Clone)]
2402pub struct TPMS_CERTIFY_INFO {
2403 pub name: TPM2B_NAME,
2404 pub qualifiedName: TPM2B_NAME,
2405}
2406#[test]
2407fn bindgen_test_layout_TPMS_CERTIFY_INFO() {
2408 const UNINIT: ::std::mem::MaybeUninit<TPMS_CERTIFY_INFO> = ::std::mem::MaybeUninit::uninit();
2409 let ptr = UNINIT.as_ptr();
2410 assert_eq!(
2411 ::std::mem::size_of::<TPMS_CERTIFY_INFO>(),
2412 140usize,
2413 "Size of TPMS_CERTIFY_INFO"
2414 );
2415 assert_eq!(
2416 ::std::mem::align_of::<TPMS_CERTIFY_INFO>(),
2417 2usize,
2418 "Alignment of TPMS_CERTIFY_INFO"
2419 );
2420 assert_eq!(
2421 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
2422 0usize,
2423 "Offset of field: TPMS_CERTIFY_INFO::name"
2424 );
2425 assert_eq!(
2426 unsafe { ::std::ptr::addr_of!((*ptr).qualifiedName) as usize - ptr as usize },
2427 70usize,
2428 "Offset of field: TPMS_CERTIFY_INFO::qualifiedName"
2429 );
2430}
2431impl Default for TPMS_CERTIFY_INFO {
2432 fn default() -> Self {
2433 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2434 unsafe {
2435 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2436 s.assume_init()
2437 }
2438 }
2439}
2440#[repr(C)]
2441#[derive(Debug, Copy, Clone)]
2442pub struct TPMS_QUOTE_INFO {
2443 pub pcrSelect: TPML_PCR_SELECTION,
2444 pub pcrDigest: TPM2B_DIGEST,
2445}
2446#[test]
2447fn bindgen_test_layout_TPMS_QUOTE_INFO() {
2448 const UNINIT: ::std::mem::MaybeUninit<TPMS_QUOTE_INFO> = ::std::mem::MaybeUninit::uninit();
2449 let ptr = UNINIT.as_ptr();
2450 assert_eq!(
2451 ::std::mem::size_of::<TPMS_QUOTE_INFO>(),
2452 200usize,
2453 "Size of TPMS_QUOTE_INFO"
2454 );
2455 assert_eq!(
2456 ::std::mem::align_of::<TPMS_QUOTE_INFO>(),
2457 4usize,
2458 "Alignment of TPMS_QUOTE_INFO"
2459 );
2460 assert_eq!(
2461 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
2462 0usize,
2463 "Offset of field: TPMS_QUOTE_INFO::pcrSelect"
2464 );
2465 assert_eq!(
2466 unsafe { ::std::ptr::addr_of!((*ptr).pcrDigest) as usize - ptr as usize },
2467 132usize,
2468 "Offset of field: TPMS_QUOTE_INFO::pcrDigest"
2469 );
2470}
2471impl Default for TPMS_QUOTE_INFO {
2472 fn default() -> Self {
2473 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2474 unsafe {
2475 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2476 s.assume_init()
2477 }
2478 }
2479}
2480#[repr(C)]
2481#[derive(Debug, Copy, Clone)]
2482pub struct TPMS_COMMAND_AUDIT_INFO {
2483 pub auditCounter: UINT64,
2484 pub digestAlg: TPM2_ALG_ID,
2485 pub auditDigest: TPM2B_DIGEST,
2486 pub commandDigest: TPM2B_DIGEST,
2487}
2488#[test]
2489fn bindgen_test_layout_TPMS_COMMAND_AUDIT_INFO() {
2490 const UNINIT: ::std::mem::MaybeUninit<TPMS_COMMAND_AUDIT_INFO> =
2491 ::std::mem::MaybeUninit::uninit();
2492 let ptr = UNINIT.as_ptr();
2493 assert_eq!(
2494 ::std::mem::size_of::<TPMS_COMMAND_AUDIT_INFO>(),
2495 144usize,
2496 "Size of TPMS_COMMAND_AUDIT_INFO"
2497 );
2498 assert_eq!(
2499 ::std::mem::align_of::<TPMS_COMMAND_AUDIT_INFO>(),
2500 8usize,
2501 "Alignment of TPMS_COMMAND_AUDIT_INFO"
2502 );
2503 assert_eq!(
2504 unsafe { ::std::ptr::addr_of!((*ptr).auditCounter) as usize - ptr as usize },
2505 0usize,
2506 "Offset of field: TPMS_COMMAND_AUDIT_INFO::auditCounter"
2507 );
2508 assert_eq!(
2509 unsafe { ::std::ptr::addr_of!((*ptr).digestAlg) as usize - ptr as usize },
2510 8usize,
2511 "Offset of field: TPMS_COMMAND_AUDIT_INFO::digestAlg"
2512 );
2513 assert_eq!(
2514 unsafe { ::std::ptr::addr_of!((*ptr).auditDigest) as usize - ptr as usize },
2515 10usize,
2516 "Offset of field: TPMS_COMMAND_AUDIT_INFO::auditDigest"
2517 );
2518 assert_eq!(
2519 unsafe { ::std::ptr::addr_of!((*ptr).commandDigest) as usize - ptr as usize },
2520 76usize,
2521 "Offset of field: TPMS_COMMAND_AUDIT_INFO::commandDigest"
2522 );
2523}
2524impl Default for TPMS_COMMAND_AUDIT_INFO {
2525 fn default() -> Self {
2526 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2527 unsafe {
2528 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2529 s.assume_init()
2530 }
2531 }
2532}
2533#[repr(C)]
2534#[derive(Debug, Copy, Clone)]
2535pub struct TPMS_SESSION_AUDIT_INFO {
2536 pub exclusiveSession: TPMI_YES_NO,
2537 pub sessionDigest: TPM2B_DIGEST,
2538}
2539#[test]
2540fn bindgen_test_layout_TPMS_SESSION_AUDIT_INFO() {
2541 const UNINIT: ::std::mem::MaybeUninit<TPMS_SESSION_AUDIT_INFO> =
2542 ::std::mem::MaybeUninit::uninit();
2543 let ptr = UNINIT.as_ptr();
2544 assert_eq!(
2545 ::std::mem::size_of::<TPMS_SESSION_AUDIT_INFO>(),
2546 68usize,
2547 "Size of TPMS_SESSION_AUDIT_INFO"
2548 );
2549 assert_eq!(
2550 ::std::mem::align_of::<TPMS_SESSION_AUDIT_INFO>(),
2551 2usize,
2552 "Alignment of TPMS_SESSION_AUDIT_INFO"
2553 );
2554 assert_eq!(
2555 unsafe { ::std::ptr::addr_of!((*ptr).exclusiveSession) as usize - ptr as usize },
2556 0usize,
2557 "Offset of field: TPMS_SESSION_AUDIT_INFO::exclusiveSession"
2558 );
2559 assert_eq!(
2560 unsafe { ::std::ptr::addr_of!((*ptr).sessionDigest) as usize - ptr as usize },
2561 2usize,
2562 "Offset of field: TPMS_SESSION_AUDIT_INFO::sessionDigest"
2563 );
2564}
2565impl Default for TPMS_SESSION_AUDIT_INFO {
2566 fn default() -> Self {
2567 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2568 unsafe {
2569 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2570 s.assume_init()
2571 }
2572 }
2573}
2574#[repr(C)]
2575#[derive(Debug, Copy, Clone)]
2576pub struct TPMS_CREATION_INFO {
2577 pub objectName: TPM2B_NAME,
2578 pub creationHash: TPM2B_DIGEST,
2579}
2580#[test]
2581fn bindgen_test_layout_TPMS_CREATION_INFO() {
2582 const UNINIT: ::std::mem::MaybeUninit<TPMS_CREATION_INFO> = ::std::mem::MaybeUninit::uninit();
2583 let ptr = UNINIT.as_ptr();
2584 assert_eq!(
2585 ::std::mem::size_of::<TPMS_CREATION_INFO>(),
2586 136usize,
2587 "Size of TPMS_CREATION_INFO"
2588 );
2589 assert_eq!(
2590 ::std::mem::align_of::<TPMS_CREATION_INFO>(),
2591 2usize,
2592 "Alignment of TPMS_CREATION_INFO"
2593 );
2594 assert_eq!(
2595 unsafe { ::std::ptr::addr_of!((*ptr).objectName) as usize - ptr as usize },
2596 0usize,
2597 "Offset of field: TPMS_CREATION_INFO::objectName"
2598 );
2599 assert_eq!(
2600 unsafe { ::std::ptr::addr_of!((*ptr).creationHash) as usize - ptr as usize },
2601 70usize,
2602 "Offset of field: TPMS_CREATION_INFO::creationHash"
2603 );
2604}
2605impl Default for TPMS_CREATION_INFO {
2606 fn default() -> Self {
2607 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2608 unsafe {
2609 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2610 s.assume_init()
2611 }
2612 }
2613}
2614#[repr(C)]
2615#[derive(Debug, Copy, Clone)]
2616pub struct TPMS_NV_CERTIFY_INFO {
2617 pub indexName: TPM2B_NAME,
2618 pub offset: UINT16,
2619 pub nvContents: TPM2B_MAX_NV_BUFFER,
2620}
2621#[test]
2622fn bindgen_test_layout_TPMS_NV_CERTIFY_INFO() {
2623 const UNINIT: ::std::mem::MaybeUninit<TPMS_NV_CERTIFY_INFO> = ::std::mem::MaybeUninit::uninit();
2624 let ptr = UNINIT.as_ptr();
2625 assert_eq!(
2626 ::std::mem::size_of::<TPMS_NV_CERTIFY_INFO>(),
2627 2122usize,
2628 "Size of TPMS_NV_CERTIFY_INFO"
2629 );
2630 assert_eq!(
2631 ::std::mem::align_of::<TPMS_NV_CERTIFY_INFO>(),
2632 2usize,
2633 "Alignment of TPMS_NV_CERTIFY_INFO"
2634 );
2635 assert_eq!(
2636 unsafe { ::std::ptr::addr_of!((*ptr).indexName) as usize - ptr as usize },
2637 0usize,
2638 "Offset of field: TPMS_NV_CERTIFY_INFO::indexName"
2639 );
2640 assert_eq!(
2641 unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
2642 70usize,
2643 "Offset of field: TPMS_NV_CERTIFY_INFO::offset"
2644 );
2645 assert_eq!(
2646 unsafe { ::std::ptr::addr_of!((*ptr).nvContents) as usize - ptr as usize },
2647 72usize,
2648 "Offset of field: TPMS_NV_CERTIFY_INFO::nvContents"
2649 );
2650}
2651impl Default for TPMS_NV_CERTIFY_INFO {
2652 fn default() -> Self {
2653 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2654 unsafe {
2655 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2656 s.assume_init()
2657 }
2658 }
2659}
2660#[repr(C)]
2661#[derive(Debug, Copy, Clone)]
2662pub struct TPMS_NV_DIGEST_CERTIFY_INFO {
2663 pub indexName: TPM2B_NAME,
2664 pub nvDigest: TPM2B_DIGEST,
2665}
2666#[test]
2667fn bindgen_test_layout_TPMS_NV_DIGEST_CERTIFY_INFO() {
2668 const UNINIT: ::std::mem::MaybeUninit<TPMS_NV_DIGEST_CERTIFY_INFO> =
2669 ::std::mem::MaybeUninit::uninit();
2670 let ptr = UNINIT.as_ptr();
2671 assert_eq!(
2672 ::std::mem::size_of::<TPMS_NV_DIGEST_CERTIFY_INFO>(),
2673 136usize,
2674 "Size of TPMS_NV_DIGEST_CERTIFY_INFO"
2675 );
2676 assert_eq!(
2677 ::std::mem::align_of::<TPMS_NV_DIGEST_CERTIFY_INFO>(),
2678 2usize,
2679 "Alignment of TPMS_NV_DIGEST_CERTIFY_INFO"
2680 );
2681 assert_eq!(
2682 unsafe { ::std::ptr::addr_of!((*ptr).indexName) as usize - ptr as usize },
2683 0usize,
2684 "Offset of field: TPMS_NV_DIGEST_CERTIFY_INFO::indexName"
2685 );
2686 assert_eq!(
2687 unsafe { ::std::ptr::addr_of!((*ptr).nvDigest) as usize - ptr as usize },
2688 70usize,
2689 "Offset of field: TPMS_NV_DIGEST_CERTIFY_INFO::nvDigest"
2690 );
2691}
2692impl Default for TPMS_NV_DIGEST_CERTIFY_INFO {
2693 fn default() -> Self {
2694 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2695 unsafe {
2696 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2697 s.assume_init()
2698 }
2699 }
2700}
2701pub type TPMI_ST_ATTEST = TPM2_ST;
2702#[repr(C)]
2703#[derive(Copy, Clone)]
2704pub union TPMU_ATTEST {
2705 pub certify: TPMS_CERTIFY_INFO,
2706 pub creation: TPMS_CREATION_INFO,
2707 pub quote: TPMS_QUOTE_INFO,
2708 pub commandAudit: TPMS_COMMAND_AUDIT_INFO,
2709 pub sessionAudit: TPMS_SESSION_AUDIT_INFO,
2710 pub time: TPMS_TIME_ATTEST_INFO,
2711 pub nv: TPMS_NV_CERTIFY_INFO,
2712}
2713#[test]
2714fn bindgen_test_layout_TPMU_ATTEST() {
2715 const UNINIT: ::std::mem::MaybeUninit<TPMU_ATTEST> = ::std::mem::MaybeUninit::uninit();
2716 let ptr = UNINIT.as_ptr();
2717 assert_eq!(
2718 ::std::mem::size_of::<TPMU_ATTEST>(),
2719 2128usize,
2720 "Size of TPMU_ATTEST"
2721 );
2722 assert_eq!(
2723 ::std::mem::align_of::<TPMU_ATTEST>(),
2724 8usize,
2725 "Alignment of TPMU_ATTEST"
2726 );
2727 assert_eq!(
2728 unsafe { ::std::ptr::addr_of!((*ptr).certify) as usize - ptr as usize },
2729 0usize,
2730 "Offset of field: TPMU_ATTEST::certify"
2731 );
2732 assert_eq!(
2733 unsafe { ::std::ptr::addr_of!((*ptr).creation) as usize - ptr as usize },
2734 0usize,
2735 "Offset of field: TPMU_ATTEST::creation"
2736 );
2737 assert_eq!(
2738 unsafe { ::std::ptr::addr_of!((*ptr).quote) as usize - ptr as usize },
2739 0usize,
2740 "Offset of field: TPMU_ATTEST::quote"
2741 );
2742 assert_eq!(
2743 unsafe { ::std::ptr::addr_of!((*ptr).commandAudit) as usize - ptr as usize },
2744 0usize,
2745 "Offset of field: TPMU_ATTEST::commandAudit"
2746 );
2747 assert_eq!(
2748 unsafe { ::std::ptr::addr_of!((*ptr).sessionAudit) as usize - ptr as usize },
2749 0usize,
2750 "Offset of field: TPMU_ATTEST::sessionAudit"
2751 );
2752 assert_eq!(
2753 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
2754 0usize,
2755 "Offset of field: TPMU_ATTEST::time"
2756 );
2757 assert_eq!(
2758 unsafe { ::std::ptr::addr_of!((*ptr).nv) as usize - ptr as usize },
2759 0usize,
2760 "Offset of field: TPMU_ATTEST::nv"
2761 );
2762}
2763impl Default for TPMU_ATTEST {
2764 fn default() -> Self {
2765 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2766 unsafe {
2767 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2768 s.assume_init()
2769 }
2770 }
2771}
2772#[repr(C)]
2773#[derive(Copy, Clone)]
2774pub struct TPMS_ATTEST {
2775 pub magic: TPM2_GENERATED,
2776 pub type_: TPMI_ST_ATTEST,
2777 pub qualifiedSigner: TPM2B_NAME,
2778 pub extraData: TPM2B_DATA,
2779 pub clockInfo: TPMS_CLOCK_INFO,
2780 pub firmwareVersion: UINT64,
2781 pub attested: TPMU_ATTEST,
2782}
2783#[test]
2784fn bindgen_test_layout_TPMS_ATTEST() {
2785 const UNINIT: ::std::mem::MaybeUninit<TPMS_ATTEST> = ::std::mem::MaybeUninit::uninit();
2786 let ptr = UNINIT.as_ptr();
2787 assert_eq!(
2788 ::std::mem::size_of::<TPMS_ATTEST>(),
2789 2304usize,
2790 "Size of TPMS_ATTEST"
2791 );
2792 assert_eq!(
2793 ::std::mem::align_of::<TPMS_ATTEST>(),
2794 8usize,
2795 "Alignment of TPMS_ATTEST"
2796 );
2797 assert_eq!(
2798 unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
2799 0usize,
2800 "Offset of field: TPMS_ATTEST::magic"
2801 );
2802 assert_eq!(
2803 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
2804 4usize,
2805 "Offset of field: TPMS_ATTEST::type_"
2806 );
2807 assert_eq!(
2808 unsafe { ::std::ptr::addr_of!((*ptr).qualifiedSigner) as usize - ptr as usize },
2809 6usize,
2810 "Offset of field: TPMS_ATTEST::qualifiedSigner"
2811 );
2812 assert_eq!(
2813 unsafe { ::std::ptr::addr_of!((*ptr).extraData) as usize - ptr as usize },
2814 76usize,
2815 "Offset of field: TPMS_ATTEST::extraData"
2816 );
2817 assert_eq!(
2818 unsafe { ::std::ptr::addr_of!((*ptr).clockInfo) as usize - ptr as usize },
2819 144usize,
2820 "Offset of field: TPMS_ATTEST::clockInfo"
2821 );
2822 assert_eq!(
2823 unsafe { ::std::ptr::addr_of!((*ptr).firmwareVersion) as usize - ptr as usize },
2824 168usize,
2825 "Offset of field: TPMS_ATTEST::firmwareVersion"
2826 );
2827 assert_eq!(
2828 unsafe { ::std::ptr::addr_of!((*ptr).attested) as usize - ptr as usize },
2829 176usize,
2830 "Offset of field: TPMS_ATTEST::attested"
2831 );
2832}
2833impl Default for TPMS_ATTEST {
2834 fn default() -> Self {
2835 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2836 unsafe {
2837 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2838 s.assume_init()
2839 }
2840 }
2841}
2842#[repr(C)]
2843#[derive(Debug, Copy, Clone)]
2844pub struct TPM2B_ATTEST {
2845 pub size: UINT16,
2846 pub attestationData: [BYTE; 2304usize],
2847}
2848#[test]
2849fn bindgen_test_layout_TPM2B_ATTEST() {
2850 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ATTEST> = ::std::mem::MaybeUninit::uninit();
2851 let ptr = UNINIT.as_ptr();
2852 assert_eq!(
2853 ::std::mem::size_of::<TPM2B_ATTEST>(),
2854 2306usize,
2855 "Size of TPM2B_ATTEST"
2856 );
2857 assert_eq!(
2858 ::std::mem::align_of::<TPM2B_ATTEST>(),
2859 2usize,
2860 "Alignment of TPM2B_ATTEST"
2861 );
2862 assert_eq!(
2863 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
2864 0usize,
2865 "Offset of field: TPM2B_ATTEST::size"
2866 );
2867 assert_eq!(
2868 unsafe { ::std::ptr::addr_of!((*ptr).attestationData) as usize - ptr as usize },
2869 2usize,
2870 "Offset of field: TPM2B_ATTEST::attestationData"
2871 );
2872}
2873impl Default for TPM2B_ATTEST {
2874 fn default() -> Self {
2875 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2876 unsafe {
2877 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2878 s.assume_init()
2879 }
2880 }
2881}
2882#[repr(C)]
2883#[derive(Debug, Copy, Clone)]
2884pub struct TPMS_AUTH_COMMAND {
2885 pub sessionHandle: TPMI_SH_AUTH_SESSION,
2886 pub nonce: TPM2B_NONCE,
2887 pub sessionAttributes: TPMA_SESSION,
2888 pub hmac: TPM2B_AUTH,
2889}
2890#[test]
2891fn bindgen_test_layout_TPMS_AUTH_COMMAND() {
2892 const UNINIT: ::std::mem::MaybeUninit<TPMS_AUTH_COMMAND> = ::std::mem::MaybeUninit::uninit();
2893 let ptr = UNINIT.as_ptr();
2894 assert_eq!(
2895 ::std::mem::size_of::<TPMS_AUTH_COMMAND>(),
2896 140usize,
2897 "Size of TPMS_AUTH_COMMAND"
2898 );
2899 assert_eq!(
2900 ::std::mem::align_of::<TPMS_AUTH_COMMAND>(),
2901 4usize,
2902 "Alignment of TPMS_AUTH_COMMAND"
2903 );
2904 assert_eq!(
2905 unsafe { ::std::ptr::addr_of!((*ptr).sessionHandle) as usize - ptr as usize },
2906 0usize,
2907 "Offset of field: TPMS_AUTH_COMMAND::sessionHandle"
2908 );
2909 assert_eq!(
2910 unsafe { ::std::ptr::addr_of!((*ptr).nonce) as usize - ptr as usize },
2911 4usize,
2912 "Offset of field: TPMS_AUTH_COMMAND::nonce"
2913 );
2914 assert_eq!(
2915 unsafe { ::std::ptr::addr_of!((*ptr).sessionAttributes) as usize - ptr as usize },
2916 70usize,
2917 "Offset of field: TPMS_AUTH_COMMAND::sessionAttributes"
2918 );
2919 assert_eq!(
2920 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
2921 72usize,
2922 "Offset of field: TPMS_AUTH_COMMAND::hmac"
2923 );
2924}
2925impl Default for TPMS_AUTH_COMMAND {
2926 fn default() -> Self {
2927 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2928 unsafe {
2929 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2930 s.assume_init()
2931 }
2932 }
2933}
2934#[repr(C)]
2935#[derive(Debug, Copy, Clone)]
2936pub struct TPMS_AUTH_RESPONSE {
2937 pub nonce: TPM2B_NONCE,
2938 pub sessionAttributes: TPMA_SESSION,
2939 pub hmac: TPM2B_AUTH,
2940}
2941#[test]
2942fn bindgen_test_layout_TPMS_AUTH_RESPONSE() {
2943 const UNINIT: ::std::mem::MaybeUninit<TPMS_AUTH_RESPONSE> = ::std::mem::MaybeUninit::uninit();
2944 let ptr = UNINIT.as_ptr();
2945 assert_eq!(
2946 ::std::mem::size_of::<TPMS_AUTH_RESPONSE>(),
2947 134usize,
2948 "Size of TPMS_AUTH_RESPONSE"
2949 );
2950 assert_eq!(
2951 ::std::mem::align_of::<TPMS_AUTH_RESPONSE>(),
2952 2usize,
2953 "Alignment of TPMS_AUTH_RESPONSE"
2954 );
2955 assert_eq!(
2956 unsafe { ::std::ptr::addr_of!((*ptr).nonce) as usize - ptr as usize },
2957 0usize,
2958 "Offset of field: TPMS_AUTH_RESPONSE::nonce"
2959 );
2960 assert_eq!(
2961 unsafe { ::std::ptr::addr_of!((*ptr).sessionAttributes) as usize - ptr as usize },
2962 66usize,
2963 "Offset of field: TPMS_AUTH_RESPONSE::sessionAttributes"
2964 );
2965 assert_eq!(
2966 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
2967 68usize,
2968 "Offset of field: TPMS_AUTH_RESPONSE::hmac"
2969 );
2970}
2971impl Default for TPMS_AUTH_RESPONSE {
2972 fn default() -> Self {
2973 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2974 unsafe {
2975 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2976 s.assume_init()
2977 }
2978 }
2979}
2980pub type TPMI_AES_KEY_BITS = TPM2_KEY_BITS;
2981pub type TPMI_SM4_KEY_BITS = TPM2_KEY_BITS;
2982pub type TPMI_CAMELLIA_KEY_BITS = TPM2_KEY_BITS;
2983#[repr(C)]
2984#[derive(Copy, Clone)]
2985pub union TPMU_SYM_KEY_BITS {
2986 pub aes: TPMI_AES_KEY_BITS,
2987 pub sm4: TPMI_SM4_KEY_BITS,
2988 pub camellia: TPMI_CAMELLIA_KEY_BITS,
2989 pub sym: TPM2_KEY_BITS,
2990 pub exclusiveOr: TPMI_ALG_HASH,
2991 pub null: TPMS_EMPTY,
2992}
2993#[test]
2994fn bindgen_test_layout_TPMU_SYM_KEY_BITS() {
2995 const UNINIT: ::std::mem::MaybeUninit<TPMU_SYM_KEY_BITS> = ::std::mem::MaybeUninit::uninit();
2996 let ptr = UNINIT.as_ptr();
2997 assert_eq!(
2998 ::std::mem::size_of::<TPMU_SYM_KEY_BITS>(),
2999 2usize,
3000 "Size of TPMU_SYM_KEY_BITS"
3001 );
3002 assert_eq!(
3003 ::std::mem::align_of::<TPMU_SYM_KEY_BITS>(),
3004 2usize,
3005 "Alignment of TPMU_SYM_KEY_BITS"
3006 );
3007 assert_eq!(
3008 unsafe { ::std::ptr::addr_of!((*ptr).aes) as usize - ptr as usize },
3009 0usize,
3010 "Offset of field: TPMU_SYM_KEY_BITS::aes"
3011 );
3012 assert_eq!(
3013 unsafe { ::std::ptr::addr_of!((*ptr).sm4) as usize - ptr as usize },
3014 0usize,
3015 "Offset of field: TPMU_SYM_KEY_BITS::sm4"
3016 );
3017 assert_eq!(
3018 unsafe { ::std::ptr::addr_of!((*ptr).camellia) as usize - ptr as usize },
3019 0usize,
3020 "Offset of field: TPMU_SYM_KEY_BITS::camellia"
3021 );
3022 assert_eq!(
3023 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
3024 0usize,
3025 "Offset of field: TPMU_SYM_KEY_BITS::sym"
3026 );
3027 assert_eq!(
3028 unsafe { ::std::ptr::addr_of!((*ptr).exclusiveOr) as usize - ptr as usize },
3029 0usize,
3030 "Offset of field: TPMU_SYM_KEY_BITS::exclusiveOr"
3031 );
3032 assert_eq!(
3033 unsafe { ::std::ptr::addr_of!((*ptr).null) as usize - ptr as usize },
3034 0usize,
3035 "Offset of field: TPMU_SYM_KEY_BITS::null"
3036 );
3037}
3038impl Default for TPMU_SYM_KEY_BITS {
3039 fn default() -> Self {
3040 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3041 unsafe {
3042 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3043 s.assume_init()
3044 }
3045 }
3046}
3047#[repr(C)]
3048#[derive(Copy, Clone)]
3049pub union TPMU_SYM_MODE {
3050 pub aes: TPMI_ALG_SYM_MODE,
3051 pub sm4: TPMI_ALG_SYM_MODE,
3052 pub camellia: TPMI_ALG_SYM_MODE,
3053 pub sym: TPMI_ALG_SYM_MODE,
3054 pub exclusiveOr: TPMS_EMPTY,
3055 pub null: TPMS_EMPTY,
3056}
3057#[test]
3058fn bindgen_test_layout_TPMU_SYM_MODE() {
3059 const UNINIT: ::std::mem::MaybeUninit<TPMU_SYM_MODE> = ::std::mem::MaybeUninit::uninit();
3060 let ptr = UNINIT.as_ptr();
3061 assert_eq!(
3062 ::std::mem::size_of::<TPMU_SYM_MODE>(),
3063 2usize,
3064 "Size of TPMU_SYM_MODE"
3065 );
3066 assert_eq!(
3067 ::std::mem::align_of::<TPMU_SYM_MODE>(),
3068 2usize,
3069 "Alignment of TPMU_SYM_MODE"
3070 );
3071 assert_eq!(
3072 unsafe { ::std::ptr::addr_of!((*ptr).aes) as usize - ptr as usize },
3073 0usize,
3074 "Offset of field: TPMU_SYM_MODE::aes"
3075 );
3076 assert_eq!(
3077 unsafe { ::std::ptr::addr_of!((*ptr).sm4) as usize - ptr as usize },
3078 0usize,
3079 "Offset of field: TPMU_SYM_MODE::sm4"
3080 );
3081 assert_eq!(
3082 unsafe { ::std::ptr::addr_of!((*ptr).camellia) as usize - ptr as usize },
3083 0usize,
3084 "Offset of field: TPMU_SYM_MODE::camellia"
3085 );
3086 assert_eq!(
3087 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
3088 0usize,
3089 "Offset of field: TPMU_SYM_MODE::sym"
3090 );
3091 assert_eq!(
3092 unsafe { ::std::ptr::addr_of!((*ptr).exclusiveOr) as usize - ptr as usize },
3093 0usize,
3094 "Offset of field: TPMU_SYM_MODE::exclusiveOr"
3095 );
3096 assert_eq!(
3097 unsafe { ::std::ptr::addr_of!((*ptr).null) as usize - ptr as usize },
3098 0usize,
3099 "Offset of field: TPMU_SYM_MODE::null"
3100 );
3101}
3102impl Default for TPMU_SYM_MODE {
3103 fn default() -> Self {
3104 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3105 unsafe {
3106 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3107 s.assume_init()
3108 }
3109 }
3110}
3111#[repr(C)]
3112#[derive(Copy, Clone)]
3113pub struct TPMT_SYM_DEF {
3114 pub algorithm: TPMI_ALG_SYM,
3115 pub keyBits: TPMU_SYM_KEY_BITS,
3116 pub mode: TPMU_SYM_MODE,
3117}
3118#[test]
3119fn bindgen_test_layout_TPMT_SYM_DEF() {
3120 const UNINIT: ::std::mem::MaybeUninit<TPMT_SYM_DEF> = ::std::mem::MaybeUninit::uninit();
3121 let ptr = UNINIT.as_ptr();
3122 assert_eq!(
3123 ::std::mem::size_of::<TPMT_SYM_DEF>(),
3124 6usize,
3125 "Size of TPMT_SYM_DEF"
3126 );
3127 assert_eq!(
3128 ::std::mem::align_of::<TPMT_SYM_DEF>(),
3129 2usize,
3130 "Alignment of TPMT_SYM_DEF"
3131 );
3132 assert_eq!(
3133 unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
3134 0usize,
3135 "Offset of field: TPMT_SYM_DEF::algorithm"
3136 );
3137 assert_eq!(
3138 unsafe { ::std::ptr::addr_of!((*ptr).keyBits) as usize - ptr as usize },
3139 2usize,
3140 "Offset of field: TPMT_SYM_DEF::keyBits"
3141 );
3142 assert_eq!(
3143 unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
3144 4usize,
3145 "Offset of field: TPMT_SYM_DEF::mode"
3146 );
3147}
3148impl Default for TPMT_SYM_DEF {
3149 fn default() -> Self {
3150 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3151 unsafe {
3152 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3153 s.assume_init()
3154 }
3155 }
3156}
3157#[repr(C)]
3158#[derive(Copy, Clone)]
3159pub struct TPMT_SYM_DEF_OBJECT {
3160 pub algorithm: TPMI_ALG_SYM_OBJECT,
3161 pub keyBits: TPMU_SYM_KEY_BITS,
3162 pub mode: TPMU_SYM_MODE,
3163}
3164#[test]
3165fn bindgen_test_layout_TPMT_SYM_DEF_OBJECT() {
3166 const UNINIT: ::std::mem::MaybeUninit<TPMT_SYM_DEF_OBJECT> = ::std::mem::MaybeUninit::uninit();
3167 let ptr = UNINIT.as_ptr();
3168 assert_eq!(
3169 ::std::mem::size_of::<TPMT_SYM_DEF_OBJECT>(),
3170 6usize,
3171 "Size of TPMT_SYM_DEF_OBJECT"
3172 );
3173 assert_eq!(
3174 ::std::mem::align_of::<TPMT_SYM_DEF_OBJECT>(),
3175 2usize,
3176 "Alignment of TPMT_SYM_DEF_OBJECT"
3177 );
3178 assert_eq!(
3179 unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
3180 0usize,
3181 "Offset of field: TPMT_SYM_DEF_OBJECT::algorithm"
3182 );
3183 assert_eq!(
3184 unsafe { ::std::ptr::addr_of!((*ptr).keyBits) as usize - ptr as usize },
3185 2usize,
3186 "Offset of field: TPMT_SYM_DEF_OBJECT::keyBits"
3187 );
3188 assert_eq!(
3189 unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
3190 4usize,
3191 "Offset of field: TPMT_SYM_DEF_OBJECT::mode"
3192 );
3193}
3194impl Default for TPMT_SYM_DEF_OBJECT {
3195 fn default() -> Self {
3196 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3197 unsafe {
3198 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3199 s.assume_init()
3200 }
3201 }
3202}
3203#[repr(C)]
3204#[derive(Debug, Default, Copy, Clone)]
3205pub struct TPM2B_SYM_KEY {
3206 pub size: UINT16,
3207 pub buffer: [BYTE; 32usize],
3208}
3209#[test]
3210fn bindgen_test_layout_TPM2B_SYM_KEY() {
3211 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SYM_KEY> = ::std::mem::MaybeUninit::uninit();
3212 let ptr = UNINIT.as_ptr();
3213 assert_eq!(
3214 ::std::mem::size_of::<TPM2B_SYM_KEY>(),
3215 34usize,
3216 "Size of TPM2B_SYM_KEY"
3217 );
3218 assert_eq!(
3219 ::std::mem::align_of::<TPM2B_SYM_KEY>(),
3220 2usize,
3221 "Alignment of TPM2B_SYM_KEY"
3222 );
3223 assert_eq!(
3224 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3225 0usize,
3226 "Offset of field: TPM2B_SYM_KEY::size"
3227 );
3228 assert_eq!(
3229 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
3230 2usize,
3231 "Offset of field: TPM2B_SYM_KEY::buffer"
3232 );
3233}
3234#[repr(C)]
3235#[derive(Copy, Clone)]
3236pub struct TPMS_SYMCIPHER_PARMS {
3237 pub sym: TPMT_SYM_DEF_OBJECT,
3238}
3239#[test]
3240fn bindgen_test_layout_TPMS_SYMCIPHER_PARMS() {
3241 const UNINIT: ::std::mem::MaybeUninit<TPMS_SYMCIPHER_PARMS> = ::std::mem::MaybeUninit::uninit();
3242 let ptr = UNINIT.as_ptr();
3243 assert_eq!(
3244 ::std::mem::size_of::<TPMS_SYMCIPHER_PARMS>(),
3245 6usize,
3246 "Size of TPMS_SYMCIPHER_PARMS"
3247 );
3248 assert_eq!(
3249 ::std::mem::align_of::<TPMS_SYMCIPHER_PARMS>(),
3250 2usize,
3251 "Alignment of TPMS_SYMCIPHER_PARMS"
3252 );
3253 assert_eq!(
3254 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
3255 0usize,
3256 "Offset of field: TPMS_SYMCIPHER_PARMS::sym"
3257 );
3258}
3259impl Default for TPMS_SYMCIPHER_PARMS {
3260 fn default() -> Self {
3261 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3262 unsafe {
3263 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3264 s.assume_init()
3265 }
3266 }
3267}
3268#[repr(C)]
3269#[derive(Debug, Default, Copy, Clone)]
3270pub struct TPM2B_LABEL {
3271 pub size: UINT16,
3272 pub buffer: [BYTE; 32usize],
3273}
3274#[test]
3275fn bindgen_test_layout_TPM2B_LABEL() {
3276 const UNINIT: ::std::mem::MaybeUninit<TPM2B_LABEL> = ::std::mem::MaybeUninit::uninit();
3277 let ptr = UNINIT.as_ptr();
3278 assert_eq!(
3279 ::std::mem::size_of::<TPM2B_LABEL>(),
3280 34usize,
3281 "Size of TPM2B_LABEL"
3282 );
3283 assert_eq!(
3284 ::std::mem::align_of::<TPM2B_LABEL>(),
3285 2usize,
3286 "Alignment of TPM2B_LABEL"
3287 );
3288 assert_eq!(
3289 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3290 0usize,
3291 "Offset of field: TPM2B_LABEL::size"
3292 );
3293 assert_eq!(
3294 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
3295 2usize,
3296 "Offset of field: TPM2B_LABEL::buffer"
3297 );
3298}
3299#[repr(C)]
3300#[derive(Debug, Default, Copy, Clone)]
3301pub struct TPMS_DERIVE {
3302 pub label: TPM2B_LABEL,
3303 pub context: TPM2B_LABEL,
3304}
3305#[test]
3306fn bindgen_test_layout_TPMS_DERIVE() {
3307 const UNINIT: ::std::mem::MaybeUninit<TPMS_DERIVE> = ::std::mem::MaybeUninit::uninit();
3308 let ptr = UNINIT.as_ptr();
3309 assert_eq!(
3310 ::std::mem::size_of::<TPMS_DERIVE>(),
3311 68usize,
3312 "Size of TPMS_DERIVE"
3313 );
3314 assert_eq!(
3315 ::std::mem::align_of::<TPMS_DERIVE>(),
3316 2usize,
3317 "Alignment of TPMS_DERIVE"
3318 );
3319 assert_eq!(
3320 unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
3321 0usize,
3322 "Offset of field: TPMS_DERIVE::label"
3323 );
3324 assert_eq!(
3325 unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
3326 34usize,
3327 "Offset of field: TPMS_DERIVE::context"
3328 );
3329}
3330#[repr(C)]
3331#[derive(Debug, Copy, Clone)]
3332pub struct TPM2B_DERIVE {
3333 pub size: UINT16,
3334 pub buffer: [BYTE; 68usize],
3335}
3336#[test]
3337fn bindgen_test_layout_TPM2B_DERIVE() {
3338 const UNINIT: ::std::mem::MaybeUninit<TPM2B_DERIVE> = ::std::mem::MaybeUninit::uninit();
3339 let ptr = UNINIT.as_ptr();
3340 assert_eq!(
3341 ::std::mem::size_of::<TPM2B_DERIVE>(),
3342 70usize,
3343 "Size of TPM2B_DERIVE"
3344 );
3345 assert_eq!(
3346 ::std::mem::align_of::<TPM2B_DERIVE>(),
3347 2usize,
3348 "Alignment of TPM2B_DERIVE"
3349 );
3350 assert_eq!(
3351 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3352 0usize,
3353 "Offset of field: TPM2B_DERIVE::size"
3354 );
3355 assert_eq!(
3356 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
3357 2usize,
3358 "Offset of field: TPM2B_DERIVE::buffer"
3359 );
3360}
3361impl Default for TPM2B_DERIVE {
3362 fn default() -> Self {
3363 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3364 unsafe {
3365 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3366 s.assume_init()
3367 }
3368 }
3369}
3370#[repr(C)]
3371#[derive(Copy, Clone)]
3372pub union TPMU_SENSITIVE_CREATE {
3373 pub create: [BYTE; 256usize],
3374 pub derive: TPMS_DERIVE,
3375}
3376#[test]
3377fn bindgen_test_layout_TPMU_SENSITIVE_CREATE() {
3378 const UNINIT: ::std::mem::MaybeUninit<TPMU_SENSITIVE_CREATE> =
3379 ::std::mem::MaybeUninit::uninit();
3380 let ptr = UNINIT.as_ptr();
3381 assert_eq!(
3382 ::std::mem::size_of::<TPMU_SENSITIVE_CREATE>(),
3383 256usize,
3384 "Size of TPMU_SENSITIVE_CREATE"
3385 );
3386 assert_eq!(
3387 ::std::mem::align_of::<TPMU_SENSITIVE_CREATE>(),
3388 2usize,
3389 "Alignment of TPMU_SENSITIVE_CREATE"
3390 );
3391 assert_eq!(
3392 unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
3393 0usize,
3394 "Offset of field: TPMU_SENSITIVE_CREATE::create"
3395 );
3396 assert_eq!(
3397 unsafe { ::std::ptr::addr_of!((*ptr).derive) as usize - ptr as usize },
3398 0usize,
3399 "Offset of field: TPMU_SENSITIVE_CREATE::derive"
3400 );
3401}
3402impl Default for TPMU_SENSITIVE_CREATE {
3403 fn default() -> Self {
3404 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3405 unsafe {
3406 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3407 s.assume_init()
3408 }
3409 }
3410}
3411#[repr(C)]
3412#[derive(Debug, Copy, Clone)]
3413pub struct TPM2B_SENSITIVE_DATA {
3414 pub size: UINT16,
3415 pub buffer: [BYTE; 256usize],
3416}
3417#[test]
3418fn bindgen_test_layout_TPM2B_SENSITIVE_DATA() {
3419 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SENSITIVE_DATA> = ::std::mem::MaybeUninit::uninit();
3420 let ptr = UNINIT.as_ptr();
3421 assert_eq!(
3422 ::std::mem::size_of::<TPM2B_SENSITIVE_DATA>(),
3423 258usize,
3424 "Size of TPM2B_SENSITIVE_DATA"
3425 );
3426 assert_eq!(
3427 ::std::mem::align_of::<TPM2B_SENSITIVE_DATA>(),
3428 2usize,
3429 "Alignment of TPM2B_SENSITIVE_DATA"
3430 );
3431 assert_eq!(
3432 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3433 0usize,
3434 "Offset of field: TPM2B_SENSITIVE_DATA::size"
3435 );
3436 assert_eq!(
3437 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
3438 2usize,
3439 "Offset of field: TPM2B_SENSITIVE_DATA::buffer"
3440 );
3441}
3442impl Default for TPM2B_SENSITIVE_DATA {
3443 fn default() -> Self {
3444 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3445 unsafe {
3446 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3447 s.assume_init()
3448 }
3449 }
3450}
3451#[repr(C)]
3452#[derive(Debug, Copy, Clone)]
3453pub struct TPMS_SENSITIVE_CREATE {
3454 pub userAuth: TPM2B_AUTH,
3455 pub data: TPM2B_SENSITIVE_DATA,
3456}
3457#[test]
3458fn bindgen_test_layout_TPMS_SENSITIVE_CREATE() {
3459 const UNINIT: ::std::mem::MaybeUninit<TPMS_SENSITIVE_CREATE> =
3460 ::std::mem::MaybeUninit::uninit();
3461 let ptr = UNINIT.as_ptr();
3462 assert_eq!(
3463 ::std::mem::size_of::<TPMS_SENSITIVE_CREATE>(),
3464 324usize,
3465 "Size of TPMS_SENSITIVE_CREATE"
3466 );
3467 assert_eq!(
3468 ::std::mem::align_of::<TPMS_SENSITIVE_CREATE>(),
3469 2usize,
3470 "Alignment of TPMS_SENSITIVE_CREATE"
3471 );
3472 assert_eq!(
3473 unsafe { ::std::ptr::addr_of!((*ptr).userAuth) as usize - ptr as usize },
3474 0usize,
3475 "Offset of field: TPMS_SENSITIVE_CREATE::userAuth"
3476 );
3477 assert_eq!(
3478 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3479 66usize,
3480 "Offset of field: TPMS_SENSITIVE_CREATE::data"
3481 );
3482}
3483impl Default for TPMS_SENSITIVE_CREATE {
3484 fn default() -> Self {
3485 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3486 unsafe {
3487 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3488 s.assume_init()
3489 }
3490 }
3491}
3492#[repr(C)]
3493#[derive(Debug, Copy, Clone)]
3494pub struct TPM2B_SENSITIVE_CREATE {
3495 pub size: UINT16,
3496 pub sensitive: TPMS_SENSITIVE_CREATE,
3497}
3498#[test]
3499fn bindgen_test_layout_TPM2B_SENSITIVE_CREATE() {
3500 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SENSITIVE_CREATE> =
3501 ::std::mem::MaybeUninit::uninit();
3502 let ptr = UNINIT.as_ptr();
3503 assert_eq!(
3504 ::std::mem::size_of::<TPM2B_SENSITIVE_CREATE>(),
3505 326usize,
3506 "Size of TPM2B_SENSITIVE_CREATE"
3507 );
3508 assert_eq!(
3509 ::std::mem::align_of::<TPM2B_SENSITIVE_CREATE>(),
3510 2usize,
3511 "Alignment of TPM2B_SENSITIVE_CREATE"
3512 );
3513 assert_eq!(
3514 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3515 0usize,
3516 "Offset of field: TPM2B_SENSITIVE_CREATE::size"
3517 );
3518 assert_eq!(
3519 unsafe { ::std::ptr::addr_of!((*ptr).sensitive) as usize - ptr as usize },
3520 2usize,
3521 "Offset of field: TPM2B_SENSITIVE_CREATE::sensitive"
3522 );
3523}
3524impl Default for TPM2B_SENSITIVE_CREATE {
3525 fn default() -> Self {
3526 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3527 unsafe {
3528 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3529 s.assume_init()
3530 }
3531 }
3532}
3533#[repr(C)]
3534#[derive(Debug, Default, Copy, Clone)]
3535pub struct TPMS_SCHEME_HASH {
3536 pub hashAlg: TPMI_ALG_HASH,
3537}
3538#[test]
3539fn bindgen_test_layout_TPMS_SCHEME_HASH() {
3540 const UNINIT: ::std::mem::MaybeUninit<TPMS_SCHEME_HASH> = ::std::mem::MaybeUninit::uninit();
3541 let ptr = UNINIT.as_ptr();
3542 assert_eq!(
3543 ::std::mem::size_of::<TPMS_SCHEME_HASH>(),
3544 2usize,
3545 "Size of TPMS_SCHEME_HASH"
3546 );
3547 assert_eq!(
3548 ::std::mem::align_of::<TPMS_SCHEME_HASH>(),
3549 2usize,
3550 "Alignment of TPMS_SCHEME_HASH"
3551 );
3552 assert_eq!(
3553 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
3554 0usize,
3555 "Offset of field: TPMS_SCHEME_HASH::hashAlg"
3556 );
3557}
3558#[repr(C)]
3559#[derive(Debug, Default, Copy, Clone)]
3560pub struct TPMS_SCHEME_ECDAA {
3561 pub hashAlg: TPMI_ALG_HASH,
3562 pub count: UINT16,
3563}
3564#[test]
3565fn bindgen_test_layout_TPMS_SCHEME_ECDAA() {
3566 const UNINIT: ::std::mem::MaybeUninit<TPMS_SCHEME_ECDAA> = ::std::mem::MaybeUninit::uninit();
3567 let ptr = UNINIT.as_ptr();
3568 assert_eq!(
3569 ::std::mem::size_of::<TPMS_SCHEME_ECDAA>(),
3570 4usize,
3571 "Size of TPMS_SCHEME_ECDAA"
3572 );
3573 assert_eq!(
3574 ::std::mem::align_of::<TPMS_SCHEME_ECDAA>(),
3575 2usize,
3576 "Alignment of TPMS_SCHEME_ECDAA"
3577 );
3578 assert_eq!(
3579 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
3580 0usize,
3581 "Offset of field: TPMS_SCHEME_ECDAA::hashAlg"
3582 );
3583 assert_eq!(
3584 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
3585 2usize,
3586 "Offset of field: TPMS_SCHEME_ECDAA::count"
3587 );
3588}
3589pub type TPMI_ALG_KEYEDHASH_SCHEME = TPM2_ALG_ID;
3590pub type TPMS_SCHEME_HMAC = TPMS_SCHEME_HASH;
3591#[repr(C)]
3592#[derive(Debug, Default, Copy, Clone)]
3593pub struct TPMS_SCHEME_XOR {
3594 pub hashAlg: TPMI_ALG_HASH,
3595 pub kdf: TPMI_ALG_KDF,
3596}
3597#[test]
3598fn bindgen_test_layout_TPMS_SCHEME_XOR() {
3599 const UNINIT: ::std::mem::MaybeUninit<TPMS_SCHEME_XOR> = ::std::mem::MaybeUninit::uninit();
3600 let ptr = UNINIT.as_ptr();
3601 assert_eq!(
3602 ::std::mem::size_of::<TPMS_SCHEME_XOR>(),
3603 4usize,
3604 "Size of TPMS_SCHEME_XOR"
3605 );
3606 assert_eq!(
3607 ::std::mem::align_of::<TPMS_SCHEME_XOR>(),
3608 2usize,
3609 "Alignment of TPMS_SCHEME_XOR"
3610 );
3611 assert_eq!(
3612 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
3613 0usize,
3614 "Offset of field: TPMS_SCHEME_XOR::hashAlg"
3615 );
3616 assert_eq!(
3617 unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
3618 2usize,
3619 "Offset of field: TPMS_SCHEME_XOR::kdf"
3620 );
3621}
3622#[repr(C)]
3623#[derive(Copy, Clone)]
3624pub union TPMU_SCHEME_KEYEDHASH {
3625 pub hmac: TPMS_SCHEME_HMAC,
3626 pub exclusiveOr: TPMS_SCHEME_XOR,
3627 pub null: TPMS_EMPTY,
3628}
3629#[test]
3630fn bindgen_test_layout_TPMU_SCHEME_KEYEDHASH() {
3631 const UNINIT: ::std::mem::MaybeUninit<TPMU_SCHEME_KEYEDHASH> =
3632 ::std::mem::MaybeUninit::uninit();
3633 let ptr = UNINIT.as_ptr();
3634 assert_eq!(
3635 ::std::mem::size_of::<TPMU_SCHEME_KEYEDHASH>(),
3636 4usize,
3637 "Size of TPMU_SCHEME_KEYEDHASH"
3638 );
3639 assert_eq!(
3640 ::std::mem::align_of::<TPMU_SCHEME_KEYEDHASH>(),
3641 2usize,
3642 "Alignment of TPMU_SCHEME_KEYEDHASH"
3643 );
3644 assert_eq!(
3645 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
3646 0usize,
3647 "Offset of field: TPMU_SCHEME_KEYEDHASH::hmac"
3648 );
3649 assert_eq!(
3650 unsafe { ::std::ptr::addr_of!((*ptr).exclusiveOr) as usize - ptr as usize },
3651 0usize,
3652 "Offset of field: TPMU_SCHEME_KEYEDHASH::exclusiveOr"
3653 );
3654 assert_eq!(
3655 unsafe { ::std::ptr::addr_of!((*ptr).null) as usize - ptr as usize },
3656 0usize,
3657 "Offset of field: TPMU_SCHEME_KEYEDHASH::null"
3658 );
3659}
3660impl Default for TPMU_SCHEME_KEYEDHASH {
3661 fn default() -> Self {
3662 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3663 unsafe {
3664 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3665 s.assume_init()
3666 }
3667 }
3668}
3669#[repr(C)]
3670#[derive(Copy, Clone)]
3671pub struct TPMT_KEYEDHASH_SCHEME {
3672 pub scheme: TPMI_ALG_KEYEDHASH_SCHEME,
3673 pub details: TPMU_SCHEME_KEYEDHASH,
3674}
3675#[test]
3676fn bindgen_test_layout_TPMT_KEYEDHASH_SCHEME() {
3677 const UNINIT: ::std::mem::MaybeUninit<TPMT_KEYEDHASH_SCHEME> =
3678 ::std::mem::MaybeUninit::uninit();
3679 let ptr = UNINIT.as_ptr();
3680 assert_eq!(
3681 ::std::mem::size_of::<TPMT_KEYEDHASH_SCHEME>(),
3682 6usize,
3683 "Size of TPMT_KEYEDHASH_SCHEME"
3684 );
3685 assert_eq!(
3686 ::std::mem::align_of::<TPMT_KEYEDHASH_SCHEME>(),
3687 2usize,
3688 "Alignment of TPMT_KEYEDHASH_SCHEME"
3689 );
3690 assert_eq!(
3691 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
3692 0usize,
3693 "Offset of field: TPMT_KEYEDHASH_SCHEME::scheme"
3694 );
3695 assert_eq!(
3696 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
3697 2usize,
3698 "Offset of field: TPMT_KEYEDHASH_SCHEME::details"
3699 );
3700}
3701impl Default for TPMT_KEYEDHASH_SCHEME {
3702 fn default() -> Self {
3703 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3704 unsafe {
3705 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3706 s.assume_init()
3707 }
3708 }
3709}
3710pub type TPMS_SIG_SCHEME_RSASSA = TPMS_SCHEME_HASH;
3711pub type TPMS_SIG_SCHEME_RSAPSS = TPMS_SCHEME_HASH;
3712pub type TPMS_SIG_SCHEME_ECDSA = TPMS_SCHEME_HASH;
3713pub type TPMS_SIG_SCHEME_SM2 = TPMS_SCHEME_HASH;
3714pub type TPMS_SIG_SCHEME_ECSCHNORR = TPMS_SCHEME_HASH;
3715pub type TPMS_SIG_SCHEME_ECDAA = TPMS_SCHEME_ECDAA;
3716#[repr(C)]
3717#[derive(Copy, Clone)]
3718pub union TPMU_SIG_SCHEME {
3719 pub rsassa: TPMS_SIG_SCHEME_RSASSA,
3720 pub rsapss: TPMS_SIG_SCHEME_RSAPSS,
3721 pub ecdsa: TPMS_SIG_SCHEME_ECDSA,
3722 pub ecdaa: TPMS_SIG_SCHEME_ECDAA,
3723 pub sm2: TPMS_SIG_SCHEME_SM2,
3724 pub ecschnorr: TPMS_SIG_SCHEME_ECSCHNORR,
3725 pub hmac: TPMS_SCHEME_HMAC,
3726 pub any: TPMS_SCHEME_HASH,
3727 pub null: TPMS_EMPTY,
3728}
3729#[test]
3730fn bindgen_test_layout_TPMU_SIG_SCHEME() {
3731 const UNINIT: ::std::mem::MaybeUninit<TPMU_SIG_SCHEME> = ::std::mem::MaybeUninit::uninit();
3732 let ptr = UNINIT.as_ptr();
3733 assert_eq!(
3734 ::std::mem::size_of::<TPMU_SIG_SCHEME>(),
3735 4usize,
3736 "Size of TPMU_SIG_SCHEME"
3737 );
3738 assert_eq!(
3739 ::std::mem::align_of::<TPMU_SIG_SCHEME>(),
3740 2usize,
3741 "Alignment of TPMU_SIG_SCHEME"
3742 );
3743 assert_eq!(
3744 unsafe { ::std::ptr::addr_of!((*ptr).rsassa) as usize - ptr as usize },
3745 0usize,
3746 "Offset of field: TPMU_SIG_SCHEME::rsassa"
3747 );
3748 assert_eq!(
3749 unsafe { ::std::ptr::addr_of!((*ptr).rsapss) as usize - ptr as usize },
3750 0usize,
3751 "Offset of field: TPMU_SIG_SCHEME::rsapss"
3752 );
3753 assert_eq!(
3754 unsafe { ::std::ptr::addr_of!((*ptr).ecdsa) as usize - ptr as usize },
3755 0usize,
3756 "Offset of field: TPMU_SIG_SCHEME::ecdsa"
3757 );
3758 assert_eq!(
3759 unsafe { ::std::ptr::addr_of!((*ptr).ecdaa) as usize - ptr as usize },
3760 0usize,
3761 "Offset of field: TPMU_SIG_SCHEME::ecdaa"
3762 );
3763 assert_eq!(
3764 unsafe { ::std::ptr::addr_of!((*ptr).sm2) as usize - ptr as usize },
3765 0usize,
3766 "Offset of field: TPMU_SIG_SCHEME::sm2"
3767 );
3768 assert_eq!(
3769 unsafe { ::std::ptr::addr_of!((*ptr).ecschnorr) as usize - ptr as usize },
3770 0usize,
3771 "Offset of field: TPMU_SIG_SCHEME::ecschnorr"
3772 );
3773 assert_eq!(
3774 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
3775 0usize,
3776 "Offset of field: TPMU_SIG_SCHEME::hmac"
3777 );
3778 assert_eq!(
3779 unsafe { ::std::ptr::addr_of!((*ptr).any) as usize - ptr as usize },
3780 0usize,
3781 "Offset of field: TPMU_SIG_SCHEME::any"
3782 );
3783 assert_eq!(
3784 unsafe { ::std::ptr::addr_of!((*ptr).null) as usize - ptr as usize },
3785 0usize,
3786 "Offset of field: TPMU_SIG_SCHEME::null"
3787 );
3788}
3789impl Default for TPMU_SIG_SCHEME {
3790 fn default() -> Self {
3791 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3792 unsafe {
3793 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3794 s.assume_init()
3795 }
3796 }
3797}
3798#[repr(C)]
3799#[derive(Copy, Clone)]
3800pub struct TPMT_SIG_SCHEME {
3801 pub scheme: TPMI_ALG_SIG_SCHEME,
3802 pub details: TPMU_SIG_SCHEME,
3803}
3804#[test]
3805fn bindgen_test_layout_TPMT_SIG_SCHEME() {
3806 const UNINIT: ::std::mem::MaybeUninit<TPMT_SIG_SCHEME> = ::std::mem::MaybeUninit::uninit();
3807 let ptr = UNINIT.as_ptr();
3808 assert_eq!(
3809 ::std::mem::size_of::<TPMT_SIG_SCHEME>(),
3810 6usize,
3811 "Size of TPMT_SIG_SCHEME"
3812 );
3813 assert_eq!(
3814 ::std::mem::align_of::<TPMT_SIG_SCHEME>(),
3815 2usize,
3816 "Alignment of TPMT_SIG_SCHEME"
3817 );
3818 assert_eq!(
3819 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
3820 0usize,
3821 "Offset of field: TPMT_SIG_SCHEME::scheme"
3822 );
3823 assert_eq!(
3824 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
3825 2usize,
3826 "Offset of field: TPMT_SIG_SCHEME::details"
3827 );
3828}
3829impl Default for TPMT_SIG_SCHEME {
3830 fn default() -> Self {
3831 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3832 unsafe {
3833 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3834 s.assume_init()
3835 }
3836 }
3837}
3838pub type TPMS_ENC_SCHEME_OAEP = TPMS_SCHEME_HASH;
3839pub type TPMS_ENC_SCHEME_RSAES = TPMS_EMPTY;
3840pub type TPMS_KEY_SCHEME_ECDH = TPMS_SCHEME_HASH;
3841pub type TPMS_KEY_SCHEME_ECMQV = TPMS_SCHEME_HASH;
3842pub type TPMS_SCHEME_MGF1 = TPMS_SCHEME_HASH;
3843pub type TPMS_SCHEME_KDF1_SP800_56A = TPMS_SCHEME_HASH;
3844pub type TPMS_SCHEME_KDF2 = TPMS_SCHEME_HASH;
3845pub type TPMS_SCHEME_KDF1_SP800_108 = TPMS_SCHEME_HASH;
3846#[repr(C)]
3847#[derive(Copy, Clone)]
3848pub union TPMU_KDF_SCHEME {
3849 pub mgf1: TPMS_SCHEME_MGF1,
3850 pub kdf1_sp800_56a: TPMS_SCHEME_KDF1_SP800_56A,
3851 pub kdf2: TPMS_SCHEME_KDF2,
3852 pub kdf1_sp800_108: TPMS_SCHEME_KDF1_SP800_108,
3853 pub null: TPMS_EMPTY,
3854}
3855#[test]
3856fn bindgen_test_layout_TPMU_KDF_SCHEME() {
3857 const UNINIT: ::std::mem::MaybeUninit<TPMU_KDF_SCHEME> = ::std::mem::MaybeUninit::uninit();
3858 let ptr = UNINIT.as_ptr();
3859 assert_eq!(
3860 ::std::mem::size_of::<TPMU_KDF_SCHEME>(),
3861 2usize,
3862 "Size of TPMU_KDF_SCHEME"
3863 );
3864 assert_eq!(
3865 ::std::mem::align_of::<TPMU_KDF_SCHEME>(),
3866 2usize,
3867 "Alignment of TPMU_KDF_SCHEME"
3868 );
3869 assert_eq!(
3870 unsafe { ::std::ptr::addr_of!((*ptr).mgf1) as usize - ptr as usize },
3871 0usize,
3872 "Offset of field: TPMU_KDF_SCHEME::mgf1"
3873 );
3874 assert_eq!(
3875 unsafe { ::std::ptr::addr_of!((*ptr).kdf1_sp800_56a) as usize - ptr as usize },
3876 0usize,
3877 "Offset of field: TPMU_KDF_SCHEME::kdf1_sp800_56a"
3878 );
3879 assert_eq!(
3880 unsafe { ::std::ptr::addr_of!((*ptr).kdf2) as usize - ptr as usize },
3881 0usize,
3882 "Offset of field: TPMU_KDF_SCHEME::kdf2"
3883 );
3884 assert_eq!(
3885 unsafe { ::std::ptr::addr_of!((*ptr).kdf1_sp800_108) as usize - ptr as usize },
3886 0usize,
3887 "Offset of field: TPMU_KDF_SCHEME::kdf1_sp800_108"
3888 );
3889 assert_eq!(
3890 unsafe { ::std::ptr::addr_of!((*ptr).null) as usize - ptr as usize },
3891 0usize,
3892 "Offset of field: TPMU_KDF_SCHEME::null"
3893 );
3894}
3895impl Default for TPMU_KDF_SCHEME {
3896 fn default() -> Self {
3897 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3898 unsafe {
3899 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3900 s.assume_init()
3901 }
3902 }
3903}
3904#[repr(C)]
3905#[derive(Copy, Clone)]
3906pub struct TPMT_KDF_SCHEME {
3907 pub scheme: TPMI_ALG_KDF,
3908 pub details: TPMU_KDF_SCHEME,
3909}
3910#[test]
3911fn bindgen_test_layout_TPMT_KDF_SCHEME() {
3912 const UNINIT: ::std::mem::MaybeUninit<TPMT_KDF_SCHEME> = ::std::mem::MaybeUninit::uninit();
3913 let ptr = UNINIT.as_ptr();
3914 assert_eq!(
3915 ::std::mem::size_of::<TPMT_KDF_SCHEME>(),
3916 4usize,
3917 "Size of TPMT_KDF_SCHEME"
3918 );
3919 assert_eq!(
3920 ::std::mem::align_of::<TPMT_KDF_SCHEME>(),
3921 2usize,
3922 "Alignment of TPMT_KDF_SCHEME"
3923 );
3924 assert_eq!(
3925 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
3926 0usize,
3927 "Offset of field: TPMT_KDF_SCHEME::scheme"
3928 );
3929 assert_eq!(
3930 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
3931 2usize,
3932 "Offset of field: TPMT_KDF_SCHEME::details"
3933 );
3934}
3935impl Default for TPMT_KDF_SCHEME {
3936 fn default() -> Self {
3937 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3938 unsafe {
3939 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3940 s.assume_init()
3941 }
3942 }
3943}
3944pub type TPMI_ALG_ASYM_SCHEME = TPM2_ALG_ID;
3945#[repr(C)]
3946#[derive(Copy, Clone)]
3947pub union TPMU_ASYM_SCHEME {
3948 pub ecdh: TPMS_KEY_SCHEME_ECDH,
3949 pub ecmqv: TPMS_KEY_SCHEME_ECMQV,
3950 pub rsassa: TPMS_SIG_SCHEME_RSASSA,
3951 pub rsapss: TPMS_SIG_SCHEME_RSAPSS,
3952 pub ecdsa: TPMS_SIG_SCHEME_ECDSA,
3953 pub ecdaa: TPMS_SIG_SCHEME_ECDAA,
3954 pub sm2: TPMS_SIG_SCHEME_SM2,
3955 pub ecschnorr: TPMS_SIG_SCHEME_ECSCHNORR,
3956 pub rsaes: TPMS_ENC_SCHEME_RSAES,
3957 pub oaep: TPMS_ENC_SCHEME_OAEP,
3958 pub anySig: TPMS_SCHEME_HASH,
3959 pub null: TPMS_EMPTY,
3960}
3961#[test]
3962fn bindgen_test_layout_TPMU_ASYM_SCHEME() {
3963 const UNINIT: ::std::mem::MaybeUninit<TPMU_ASYM_SCHEME> = ::std::mem::MaybeUninit::uninit();
3964 let ptr = UNINIT.as_ptr();
3965 assert_eq!(
3966 ::std::mem::size_of::<TPMU_ASYM_SCHEME>(),
3967 4usize,
3968 "Size of TPMU_ASYM_SCHEME"
3969 );
3970 assert_eq!(
3971 ::std::mem::align_of::<TPMU_ASYM_SCHEME>(),
3972 2usize,
3973 "Alignment of TPMU_ASYM_SCHEME"
3974 );
3975 assert_eq!(
3976 unsafe { ::std::ptr::addr_of!((*ptr).ecdh) as usize - ptr as usize },
3977 0usize,
3978 "Offset of field: TPMU_ASYM_SCHEME::ecdh"
3979 );
3980 assert_eq!(
3981 unsafe { ::std::ptr::addr_of!((*ptr).ecmqv) as usize - ptr as usize },
3982 0usize,
3983 "Offset of field: TPMU_ASYM_SCHEME::ecmqv"
3984 );
3985 assert_eq!(
3986 unsafe { ::std::ptr::addr_of!((*ptr).rsassa) as usize - ptr as usize },
3987 0usize,
3988 "Offset of field: TPMU_ASYM_SCHEME::rsassa"
3989 );
3990 assert_eq!(
3991 unsafe { ::std::ptr::addr_of!((*ptr).rsapss) as usize - ptr as usize },
3992 0usize,
3993 "Offset of field: TPMU_ASYM_SCHEME::rsapss"
3994 );
3995 assert_eq!(
3996 unsafe { ::std::ptr::addr_of!((*ptr).ecdsa) as usize - ptr as usize },
3997 0usize,
3998 "Offset of field: TPMU_ASYM_SCHEME::ecdsa"
3999 );
4000 assert_eq!(
4001 unsafe { ::std::ptr::addr_of!((*ptr).ecdaa) as usize - ptr as usize },
4002 0usize,
4003 "Offset of field: TPMU_ASYM_SCHEME::ecdaa"
4004 );
4005 assert_eq!(
4006 unsafe { ::std::ptr::addr_of!((*ptr).sm2) as usize - ptr as usize },
4007 0usize,
4008 "Offset of field: TPMU_ASYM_SCHEME::sm2"
4009 );
4010 assert_eq!(
4011 unsafe { ::std::ptr::addr_of!((*ptr).ecschnorr) as usize - ptr as usize },
4012 0usize,
4013 "Offset of field: TPMU_ASYM_SCHEME::ecschnorr"
4014 );
4015 assert_eq!(
4016 unsafe { ::std::ptr::addr_of!((*ptr).rsaes) as usize - ptr as usize },
4017 0usize,
4018 "Offset of field: TPMU_ASYM_SCHEME::rsaes"
4019 );
4020 assert_eq!(
4021 unsafe { ::std::ptr::addr_of!((*ptr).oaep) as usize - ptr as usize },
4022 0usize,
4023 "Offset of field: TPMU_ASYM_SCHEME::oaep"
4024 );
4025 assert_eq!(
4026 unsafe { ::std::ptr::addr_of!((*ptr).anySig) as usize - ptr as usize },
4027 0usize,
4028 "Offset of field: TPMU_ASYM_SCHEME::anySig"
4029 );
4030 assert_eq!(
4031 unsafe { ::std::ptr::addr_of!((*ptr).null) as usize - ptr as usize },
4032 0usize,
4033 "Offset of field: TPMU_ASYM_SCHEME::null"
4034 );
4035}
4036impl Default for TPMU_ASYM_SCHEME {
4037 fn default() -> Self {
4038 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4039 unsafe {
4040 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4041 s.assume_init()
4042 }
4043 }
4044}
4045#[repr(C)]
4046#[derive(Copy, Clone)]
4047pub struct TPMT_ASYM_SCHEME {
4048 pub scheme: TPMI_ALG_ASYM_SCHEME,
4049 pub details: TPMU_ASYM_SCHEME,
4050}
4051#[test]
4052fn bindgen_test_layout_TPMT_ASYM_SCHEME() {
4053 const UNINIT: ::std::mem::MaybeUninit<TPMT_ASYM_SCHEME> = ::std::mem::MaybeUninit::uninit();
4054 let ptr = UNINIT.as_ptr();
4055 assert_eq!(
4056 ::std::mem::size_of::<TPMT_ASYM_SCHEME>(),
4057 6usize,
4058 "Size of TPMT_ASYM_SCHEME"
4059 );
4060 assert_eq!(
4061 ::std::mem::align_of::<TPMT_ASYM_SCHEME>(),
4062 2usize,
4063 "Alignment of TPMT_ASYM_SCHEME"
4064 );
4065 assert_eq!(
4066 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4067 0usize,
4068 "Offset of field: TPMT_ASYM_SCHEME::scheme"
4069 );
4070 assert_eq!(
4071 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4072 2usize,
4073 "Offset of field: TPMT_ASYM_SCHEME::details"
4074 );
4075}
4076impl Default for TPMT_ASYM_SCHEME {
4077 fn default() -> Self {
4078 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4079 unsafe {
4080 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4081 s.assume_init()
4082 }
4083 }
4084}
4085pub type TPMI_ALG_RSA_SCHEME = TPM2_ALG_ID;
4086#[repr(C)]
4087#[derive(Copy, Clone)]
4088pub struct TPMT_RSA_SCHEME {
4089 pub scheme: TPMI_ALG_RSA_SCHEME,
4090 pub details: TPMU_ASYM_SCHEME,
4091}
4092#[test]
4093fn bindgen_test_layout_TPMT_RSA_SCHEME() {
4094 const UNINIT: ::std::mem::MaybeUninit<TPMT_RSA_SCHEME> = ::std::mem::MaybeUninit::uninit();
4095 let ptr = UNINIT.as_ptr();
4096 assert_eq!(
4097 ::std::mem::size_of::<TPMT_RSA_SCHEME>(),
4098 6usize,
4099 "Size of TPMT_RSA_SCHEME"
4100 );
4101 assert_eq!(
4102 ::std::mem::align_of::<TPMT_RSA_SCHEME>(),
4103 2usize,
4104 "Alignment of TPMT_RSA_SCHEME"
4105 );
4106 assert_eq!(
4107 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4108 0usize,
4109 "Offset of field: TPMT_RSA_SCHEME::scheme"
4110 );
4111 assert_eq!(
4112 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4113 2usize,
4114 "Offset of field: TPMT_RSA_SCHEME::details"
4115 );
4116}
4117impl Default for TPMT_RSA_SCHEME {
4118 fn default() -> Self {
4119 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4120 unsafe {
4121 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4122 s.assume_init()
4123 }
4124 }
4125}
4126pub type TPMI_ALG_RSA_DECRYPT = TPM2_ALG_ID;
4127#[repr(C)]
4128#[derive(Copy, Clone)]
4129pub struct TPMT_RSA_DECRYPT {
4130 pub scheme: TPMI_ALG_RSA_DECRYPT,
4131 pub details: TPMU_ASYM_SCHEME,
4132}
4133#[test]
4134fn bindgen_test_layout_TPMT_RSA_DECRYPT() {
4135 const UNINIT: ::std::mem::MaybeUninit<TPMT_RSA_DECRYPT> = ::std::mem::MaybeUninit::uninit();
4136 let ptr = UNINIT.as_ptr();
4137 assert_eq!(
4138 ::std::mem::size_of::<TPMT_RSA_DECRYPT>(),
4139 6usize,
4140 "Size of TPMT_RSA_DECRYPT"
4141 );
4142 assert_eq!(
4143 ::std::mem::align_of::<TPMT_RSA_DECRYPT>(),
4144 2usize,
4145 "Alignment of TPMT_RSA_DECRYPT"
4146 );
4147 assert_eq!(
4148 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4149 0usize,
4150 "Offset of field: TPMT_RSA_DECRYPT::scheme"
4151 );
4152 assert_eq!(
4153 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4154 2usize,
4155 "Offset of field: TPMT_RSA_DECRYPT::details"
4156 );
4157}
4158impl Default for TPMT_RSA_DECRYPT {
4159 fn default() -> Self {
4160 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4161 unsafe {
4162 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4163 s.assume_init()
4164 }
4165 }
4166}
4167#[repr(C)]
4168#[derive(Debug, Copy, Clone)]
4169pub struct TPM2B_PUBLIC_KEY_RSA {
4170 pub size: UINT16,
4171 pub buffer: [BYTE; 512usize],
4172}
4173#[test]
4174fn bindgen_test_layout_TPM2B_PUBLIC_KEY_RSA() {
4175 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PUBLIC_KEY_RSA> = ::std::mem::MaybeUninit::uninit();
4176 let ptr = UNINIT.as_ptr();
4177 assert_eq!(
4178 ::std::mem::size_of::<TPM2B_PUBLIC_KEY_RSA>(),
4179 514usize,
4180 "Size of TPM2B_PUBLIC_KEY_RSA"
4181 );
4182 assert_eq!(
4183 ::std::mem::align_of::<TPM2B_PUBLIC_KEY_RSA>(),
4184 2usize,
4185 "Alignment of TPM2B_PUBLIC_KEY_RSA"
4186 );
4187 assert_eq!(
4188 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4189 0usize,
4190 "Offset of field: TPM2B_PUBLIC_KEY_RSA::size"
4191 );
4192 assert_eq!(
4193 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
4194 2usize,
4195 "Offset of field: TPM2B_PUBLIC_KEY_RSA::buffer"
4196 );
4197}
4198impl Default for TPM2B_PUBLIC_KEY_RSA {
4199 fn default() -> Self {
4200 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4201 unsafe {
4202 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4203 s.assume_init()
4204 }
4205 }
4206}
4207pub type TPMI_RSA_KEY_BITS = TPM2_KEY_BITS;
4208#[repr(C)]
4209#[derive(Debug, Copy, Clone)]
4210pub struct TPM2B_PRIVATE_KEY_RSA {
4211 pub size: UINT16,
4212 pub buffer: [BYTE; 1280usize],
4213}
4214#[test]
4215fn bindgen_test_layout_TPM2B_PRIVATE_KEY_RSA() {
4216 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PRIVATE_KEY_RSA> =
4217 ::std::mem::MaybeUninit::uninit();
4218 let ptr = UNINIT.as_ptr();
4219 assert_eq!(
4220 ::std::mem::size_of::<TPM2B_PRIVATE_KEY_RSA>(),
4221 1282usize,
4222 "Size of TPM2B_PRIVATE_KEY_RSA"
4223 );
4224 assert_eq!(
4225 ::std::mem::align_of::<TPM2B_PRIVATE_KEY_RSA>(),
4226 2usize,
4227 "Alignment of TPM2B_PRIVATE_KEY_RSA"
4228 );
4229 assert_eq!(
4230 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4231 0usize,
4232 "Offset of field: TPM2B_PRIVATE_KEY_RSA::size"
4233 );
4234 assert_eq!(
4235 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
4236 2usize,
4237 "Offset of field: TPM2B_PRIVATE_KEY_RSA::buffer"
4238 );
4239}
4240impl Default for TPM2B_PRIVATE_KEY_RSA {
4241 fn default() -> Self {
4242 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4243 unsafe {
4244 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4245 s.assume_init()
4246 }
4247 }
4248}
4249#[repr(C)]
4250#[derive(Debug, Copy, Clone)]
4251pub struct TPM2B_ECC_PARAMETER {
4252 pub size: UINT16,
4253 pub buffer: [BYTE; 128usize],
4254}
4255#[test]
4256fn bindgen_test_layout_TPM2B_ECC_PARAMETER() {
4257 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ECC_PARAMETER> = ::std::mem::MaybeUninit::uninit();
4258 let ptr = UNINIT.as_ptr();
4259 assert_eq!(
4260 ::std::mem::size_of::<TPM2B_ECC_PARAMETER>(),
4261 130usize,
4262 "Size of TPM2B_ECC_PARAMETER"
4263 );
4264 assert_eq!(
4265 ::std::mem::align_of::<TPM2B_ECC_PARAMETER>(),
4266 2usize,
4267 "Alignment of TPM2B_ECC_PARAMETER"
4268 );
4269 assert_eq!(
4270 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4271 0usize,
4272 "Offset of field: TPM2B_ECC_PARAMETER::size"
4273 );
4274 assert_eq!(
4275 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
4276 2usize,
4277 "Offset of field: TPM2B_ECC_PARAMETER::buffer"
4278 );
4279}
4280impl Default for TPM2B_ECC_PARAMETER {
4281 fn default() -> Self {
4282 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4283 unsafe {
4284 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4285 s.assume_init()
4286 }
4287 }
4288}
4289#[repr(C)]
4290#[derive(Debug, Copy, Clone)]
4291pub struct TPMS_ECC_POINT {
4292 pub x: TPM2B_ECC_PARAMETER,
4293 pub y: TPM2B_ECC_PARAMETER,
4294}
4295#[test]
4296fn bindgen_test_layout_TPMS_ECC_POINT() {
4297 const UNINIT: ::std::mem::MaybeUninit<TPMS_ECC_POINT> = ::std::mem::MaybeUninit::uninit();
4298 let ptr = UNINIT.as_ptr();
4299 assert_eq!(
4300 ::std::mem::size_of::<TPMS_ECC_POINT>(),
4301 260usize,
4302 "Size of TPMS_ECC_POINT"
4303 );
4304 assert_eq!(
4305 ::std::mem::align_of::<TPMS_ECC_POINT>(),
4306 2usize,
4307 "Alignment of TPMS_ECC_POINT"
4308 );
4309 assert_eq!(
4310 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
4311 0usize,
4312 "Offset of field: TPMS_ECC_POINT::x"
4313 );
4314 assert_eq!(
4315 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
4316 130usize,
4317 "Offset of field: TPMS_ECC_POINT::y"
4318 );
4319}
4320impl Default for TPMS_ECC_POINT {
4321 fn default() -> Self {
4322 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4323 unsafe {
4324 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4325 s.assume_init()
4326 }
4327 }
4328}
4329#[repr(C)]
4330#[derive(Debug, Copy, Clone)]
4331pub struct TPM2B_ECC_POINT {
4332 pub size: UINT16,
4333 pub point: TPMS_ECC_POINT,
4334}
4335#[test]
4336fn bindgen_test_layout_TPM2B_ECC_POINT() {
4337 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ECC_POINT> = ::std::mem::MaybeUninit::uninit();
4338 let ptr = UNINIT.as_ptr();
4339 assert_eq!(
4340 ::std::mem::size_of::<TPM2B_ECC_POINT>(),
4341 262usize,
4342 "Size of TPM2B_ECC_POINT"
4343 );
4344 assert_eq!(
4345 ::std::mem::align_of::<TPM2B_ECC_POINT>(),
4346 2usize,
4347 "Alignment of TPM2B_ECC_POINT"
4348 );
4349 assert_eq!(
4350 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4351 0usize,
4352 "Offset of field: TPM2B_ECC_POINT::size"
4353 );
4354 assert_eq!(
4355 unsafe { ::std::ptr::addr_of!((*ptr).point) as usize - ptr as usize },
4356 2usize,
4357 "Offset of field: TPM2B_ECC_POINT::point"
4358 );
4359}
4360impl Default for TPM2B_ECC_POINT {
4361 fn default() -> Self {
4362 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4363 unsafe {
4364 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4365 s.assume_init()
4366 }
4367 }
4368}
4369pub type TPMI_ALG_ECC_SCHEME = TPM2_ALG_ID;
4370pub type TPMI_ECC_CURVE = TPM2_ECC_CURVE;
4371#[repr(C)]
4372#[derive(Copy, Clone)]
4373pub struct TPMT_ECC_SCHEME {
4374 pub scheme: TPMI_ALG_ECC_SCHEME,
4375 pub details: TPMU_ASYM_SCHEME,
4376}
4377#[test]
4378fn bindgen_test_layout_TPMT_ECC_SCHEME() {
4379 const UNINIT: ::std::mem::MaybeUninit<TPMT_ECC_SCHEME> = ::std::mem::MaybeUninit::uninit();
4380 let ptr = UNINIT.as_ptr();
4381 assert_eq!(
4382 ::std::mem::size_of::<TPMT_ECC_SCHEME>(),
4383 6usize,
4384 "Size of TPMT_ECC_SCHEME"
4385 );
4386 assert_eq!(
4387 ::std::mem::align_of::<TPMT_ECC_SCHEME>(),
4388 2usize,
4389 "Alignment of TPMT_ECC_SCHEME"
4390 );
4391 assert_eq!(
4392 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4393 0usize,
4394 "Offset of field: TPMT_ECC_SCHEME::scheme"
4395 );
4396 assert_eq!(
4397 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4398 2usize,
4399 "Offset of field: TPMT_ECC_SCHEME::details"
4400 );
4401}
4402impl Default for TPMT_ECC_SCHEME {
4403 fn default() -> Self {
4404 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4405 unsafe {
4406 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4407 s.assume_init()
4408 }
4409 }
4410}
4411#[repr(C)]
4412#[derive(Copy, Clone)]
4413pub struct TPMS_ALGORITHM_DETAIL_ECC {
4414 pub curveID: TPM2_ECC_CURVE,
4415 pub keySize: UINT16,
4416 pub kdf: TPMT_KDF_SCHEME,
4417 pub sign: TPMT_ECC_SCHEME,
4418 pub p: TPM2B_ECC_PARAMETER,
4419 pub a: TPM2B_ECC_PARAMETER,
4420 pub b: TPM2B_ECC_PARAMETER,
4421 pub gX: TPM2B_ECC_PARAMETER,
4422 pub gY: TPM2B_ECC_PARAMETER,
4423 pub n: TPM2B_ECC_PARAMETER,
4424 pub h: TPM2B_ECC_PARAMETER,
4425}
4426#[test]
4427fn bindgen_test_layout_TPMS_ALGORITHM_DETAIL_ECC() {
4428 const UNINIT: ::std::mem::MaybeUninit<TPMS_ALGORITHM_DETAIL_ECC> =
4429 ::std::mem::MaybeUninit::uninit();
4430 let ptr = UNINIT.as_ptr();
4431 assert_eq!(
4432 ::std::mem::size_of::<TPMS_ALGORITHM_DETAIL_ECC>(),
4433 924usize,
4434 "Size of TPMS_ALGORITHM_DETAIL_ECC"
4435 );
4436 assert_eq!(
4437 ::std::mem::align_of::<TPMS_ALGORITHM_DETAIL_ECC>(),
4438 2usize,
4439 "Alignment of TPMS_ALGORITHM_DETAIL_ECC"
4440 );
4441 assert_eq!(
4442 unsafe { ::std::ptr::addr_of!((*ptr).curveID) as usize - ptr as usize },
4443 0usize,
4444 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::curveID"
4445 );
4446 assert_eq!(
4447 unsafe { ::std::ptr::addr_of!((*ptr).keySize) as usize - ptr as usize },
4448 2usize,
4449 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::keySize"
4450 );
4451 assert_eq!(
4452 unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
4453 4usize,
4454 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::kdf"
4455 );
4456 assert_eq!(
4457 unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
4458 8usize,
4459 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::sign"
4460 );
4461 assert_eq!(
4462 unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4463 14usize,
4464 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::p"
4465 );
4466 assert_eq!(
4467 unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize },
4468 144usize,
4469 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::a"
4470 );
4471 assert_eq!(
4472 unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize },
4473 274usize,
4474 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::b"
4475 );
4476 assert_eq!(
4477 unsafe { ::std::ptr::addr_of!((*ptr).gX) as usize - ptr as usize },
4478 404usize,
4479 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::gX"
4480 );
4481 assert_eq!(
4482 unsafe { ::std::ptr::addr_of!((*ptr).gY) as usize - ptr as usize },
4483 534usize,
4484 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::gY"
4485 );
4486 assert_eq!(
4487 unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
4488 664usize,
4489 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::n"
4490 );
4491 assert_eq!(
4492 unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4493 794usize,
4494 "Offset of field: TPMS_ALGORITHM_DETAIL_ECC::h"
4495 );
4496}
4497impl Default for TPMS_ALGORITHM_DETAIL_ECC {
4498 fn default() -> Self {
4499 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4500 unsafe {
4501 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4502 s.assume_init()
4503 }
4504 }
4505}
4506#[repr(C)]
4507#[derive(Debug, Copy, Clone)]
4508pub struct TPMS_SIGNATURE_RSA {
4509 pub hash: TPMI_ALG_HASH,
4510 pub sig: TPM2B_PUBLIC_KEY_RSA,
4511}
4512#[test]
4513fn bindgen_test_layout_TPMS_SIGNATURE_RSA() {
4514 const UNINIT: ::std::mem::MaybeUninit<TPMS_SIGNATURE_RSA> = ::std::mem::MaybeUninit::uninit();
4515 let ptr = UNINIT.as_ptr();
4516 assert_eq!(
4517 ::std::mem::size_of::<TPMS_SIGNATURE_RSA>(),
4518 516usize,
4519 "Size of TPMS_SIGNATURE_RSA"
4520 );
4521 assert_eq!(
4522 ::std::mem::align_of::<TPMS_SIGNATURE_RSA>(),
4523 2usize,
4524 "Alignment of TPMS_SIGNATURE_RSA"
4525 );
4526 assert_eq!(
4527 unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
4528 0usize,
4529 "Offset of field: TPMS_SIGNATURE_RSA::hash"
4530 );
4531 assert_eq!(
4532 unsafe { ::std::ptr::addr_of!((*ptr).sig) as usize - ptr as usize },
4533 2usize,
4534 "Offset of field: TPMS_SIGNATURE_RSA::sig"
4535 );
4536}
4537impl Default for TPMS_SIGNATURE_RSA {
4538 fn default() -> Self {
4539 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4540 unsafe {
4541 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4542 s.assume_init()
4543 }
4544 }
4545}
4546pub type TPMS_SIGNATURE_RSASSA = TPMS_SIGNATURE_RSA;
4547pub type TPMS_SIGNATURE_RSAPSS = TPMS_SIGNATURE_RSA;
4548#[repr(C)]
4549#[derive(Debug, Copy, Clone)]
4550pub struct TPMS_SIGNATURE_ECC {
4551 pub hash: TPMI_ALG_HASH,
4552 pub signatureR: TPM2B_ECC_PARAMETER,
4553 pub signatureS: TPM2B_ECC_PARAMETER,
4554}
4555#[test]
4556fn bindgen_test_layout_TPMS_SIGNATURE_ECC() {
4557 const UNINIT: ::std::mem::MaybeUninit<TPMS_SIGNATURE_ECC> = ::std::mem::MaybeUninit::uninit();
4558 let ptr = UNINIT.as_ptr();
4559 assert_eq!(
4560 ::std::mem::size_of::<TPMS_SIGNATURE_ECC>(),
4561 262usize,
4562 "Size of TPMS_SIGNATURE_ECC"
4563 );
4564 assert_eq!(
4565 ::std::mem::align_of::<TPMS_SIGNATURE_ECC>(),
4566 2usize,
4567 "Alignment of TPMS_SIGNATURE_ECC"
4568 );
4569 assert_eq!(
4570 unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
4571 0usize,
4572 "Offset of field: TPMS_SIGNATURE_ECC::hash"
4573 );
4574 assert_eq!(
4575 unsafe { ::std::ptr::addr_of!((*ptr).signatureR) as usize - ptr as usize },
4576 2usize,
4577 "Offset of field: TPMS_SIGNATURE_ECC::signatureR"
4578 );
4579 assert_eq!(
4580 unsafe { ::std::ptr::addr_of!((*ptr).signatureS) as usize - ptr as usize },
4581 132usize,
4582 "Offset of field: TPMS_SIGNATURE_ECC::signatureS"
4583 );
4584}
4585impl Default for TPMS_SIGNATURE_ECC {
4586 fn default() -> Self {
4587 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4588 unsafe {
4589 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4590 s.assume_init()
4591 }
4592 }
4593}
4594pub type TPMS_SIGNATURE_ECDSA = TPMS_SIGNATURE_ECC;
4595pub type TPMS_SIGNATURE_ECDAA = TPMS_SIGNATURE_ECC;
4596pub type TPMS_SIGNATURE_SM2 = TPMS_SIGNATURE_ECC;
4597pub type TPMS_SIGNATURE_ECSCHNORR = TPMS_SIGNATURE_ECC;
4598#[repr(C)]
4599#[derive(Copy, Clone)]
4600pub union TPMU_SIGNATURE {
4601 pub rsassa: TPMS_SIGNATURE_RSASSA,
4602 pub rsapss: TPMS_SIGNATURE_RSAPSS,
4603 pub ecdsa: TPMS_SIGNATURE_ECDSA,
4604 pub ecdaa: TPMS_SIGNATURE_ECDAA,
4605 pub sm2: TPMS_SIGNATURE_SM2,
4606 pub ecschnorr: TPMS_SIGNATURE_ECSCHNORR,
4607 pub hmac: TPMT_HA,
4608 pub any: TPMS_SCHEME_HASH,
4609 pub null: TPMS_EMPTY,
4610}
4611#[test]
4612fn bindgen_test_layout_TPMU_SIGNATURE() {
4613 const UNINIT: ::std::mem::MaybeUninit<TPMU_SIGNATURE> = ::std::mem::MaybeUninit::uninit();
4614 let ptr = UNINIT.as_ptr();
4615 assert_eq!(
4616 ::std::mem::size_of::<TPMU_SIGNATURE>(),
4617 516usize,
4618 "Size of TPMU_SIGNATURE"
4619 );
4620 assert_eq!(
4621 ::std::mem::align_of::<TPMU_SIGNATURE>(),
4622 2usize,
4623 "Alignment of TPMU_SIGNATURE"
4624 );
4625 assert_eq!(
4626 unsafe { ::std::ptr::addr_of!((*ptr).rsassa) as usize - ptr as usize },
4627 0usize,
4628 "Offset of field: TPMU_SIGNATURE::rsassa"
4629 );
4630 assert_eq!(
4631 unsafe { ::std::ptr::addr_of!((*ptr).rsapss) as usize - ptr as usize },
4632 0usize,
4633 "Offset of field: TPMU_SIGNATURE::rsapss"
4634 );
4635 assert_eq!(
4636 unsafe { ::std::ptr::addr_of!((*ptr).ecdsa) as usize - ptr as usize },
4637 0usize,
4638 "Offset of field: TPMU_SIGNATURE::ecdsa"
4639 );
4640 assert_eq!(
4641 unsafe { ::std::ptr::addr_of!((*ptr).ecdaa) as usize - ptr as usize },
4642 0usize,
4643 "Offset of field: TPMU_SIGNATURE::ecdaa"
4644 );
4645 assert_eq!(
4646 unsafe { ::std::ptr::addr_of!((*ptr).sm2) as usize - ptr as usize },
4647 0usize,
4648 "Offset of field: TPMU_SIGNATURE::sm2"
4649 );
4650 assert_eq!(
4651 unsafe { ::std::ptr::addr_of!((*ptr).ecschnorr) as usize - ptr as usize },
4652 0usize,
4653 "Offset of field: TPMU_SIGNATURE::ecschnorr"
4654 );
4655 assert_eq!(
4656 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
4657 0usize,
4658 "Offset of field: TPMU_SIGNATURE::hmac"
4659 );
4660 assert_eq!(
4661 unsafe { ::std::ptr::addr_of!((*ptr).any) as usize - ptr as usize },
4662 0usize,
4663 "Offset of field: TPMU_SIGNATURE::any"
4664 );
4665 assert_eq!(
4666 unsafe { ::std::ptr::addr_of!((*ptr).null) as usize - ptr as usize },
4667 0usize,
4668 "Offset of field: TPMU_SIGNATURE::null"
4669 );
4670}
4671impl Default for TPMU_SIGNATURE {
4672 fn default() -> Self {
4673 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4674 unsafe {
4675 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4676 s.assume_init()
4677 }
4678 }
4679}
4680#[repr(C)]
4681#[derive(Copy, Clone)]
4682pub struct TPMT_SIGNATURE {
4683 pub sigAlg: TPMI_ALG_SIG_SCHEME,
4684 pub signature: TPMU_SIGNATURE,
4685}
4686#[test]
4687fn bindgen_test_layout_TPMT_SIGNATURE() {
4688 const UNINIT: ::std::mem::MaybeUninit<TPMT_SIGNATURE> = ::std::mem::MaybeUninit::uninit();
4689 let ptr = UNINIT.as_ptr();
4690 assert_eq!(
4691 ::std::mem::size_of::<TPMT_SIGNATURE>(),
4692 518usize,
4693 "Size of TPMT_SIGNATURE"
4694 );
4695 assert_eq!(
4696 ::std::mem::align_of::<TPMT_SIGNATURE>(),
4697 2usize,
4698 "Alignment of TPMT_SIGNATURE"
4699 );
4700 assert_eq!(
4701 unsafe { ::std::ptr::addr_of!((*ptr).sigAlg) as usize - ptr as usize },
4702 0usize,
4703 "Offset of field: TPMT_SIGNATURE::sigAlg"
4704 );
4705 assert_eq!(
4706 unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
4707 2usize,
4708 "Offset of field: TPMT_SIGNATURE::signature"
4709 );
4710}
4711impl Default for TPMT_SIGNATURE {
4712 fn default() -> Self {
4713 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4714 unsafe {
4715 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4716 s.assume_init()
4717 }
4718 }
4719}
4720#[repr(C)]
4721#[derive(Copy, Clone)]
4722pub union TPMU_ENCRYPTED_SECRET {
4723 pub ecc: [BYTE; 260usize],
4724 pub rsa: [BYTE; 512usize],
4725 pub symmetric: [BYTE; 66usize],
4726 pub keyedHash: [BYTE; 66usize],
4727}
4728#[test]
4729fn bindgen_test_layout_TPMU_ENCRYPTED_SECRET() {
4730 const UNINIT: ::std::mem::MaybeUninit<TPMU_ENCRYPTED_SECRET> =
4731 ::std::mem::MaybeUninit::uninit();
4732 let ptr = UNINIT.as_ptr();
4733 assert_eq!(
4734 ::std::mem::size_of::<TPMU_ENCRYPTED_SECRET>(),
4735 512usize,
4736 "Size of TPMU_ENCRYPTED_SECRET"
4737 );
4738 assert_eq!(
4739 ::std::mem::align_of::<TPMU_ENCRYPTED_SECRET>(),
4740 1usize,
4741 "Alignment of TPMU_ENCRYPTED_SECRET"
4742 );
4743 assert_eq!(
4744 unsafe { ::std::ptr::addr_of!((*ptr).ecc) as usize - ptr as usize },
4745 0usize,
4746 "Offset of field: TPMU_ENCRYPTED_SECRET::ecc"
4747 );
4748 assert_eq!(
4749 unsafe { ::std::ptr::addr_of!((*ptr).rsa) as usize - ptr as usize },
4750 0usize,
4751 "Offset of field: TPMU_ENCRYPTED_SECRET::rsa"
4752 );
4753 assert_eq!(
4754 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
4755 0usize,
4756 "Offset of field: TPMU_ENCRYPTED_SECRET::symmetric"
4757 );
4758 assert_eq!(
4759 unsafe { ::std::ptr::addr_of!((*ptr).keyedHash) as usize - ptr as usize },
4760 0usize,
4761 "Offset of field: TPMU_ENCRYPTED_SECRET::keyedHash"
4762 );
4763}
4764impl Default for TPMU_ENCRYPTED_SECRET {
4765 fn default() -> Self {
4766 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4767 unsafe {
4768 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4769 s.assume_init()
4770 }
4771 }
4772}
4773#[repr(C)]
4774#[derive(Debug, Copy, Clone)]
4775pub struct TPM2B_ENCRYPTED_SECRET {
4776 pub size: UINT16,
4777 pub secret: [BYTE; 512usize],
4778}
4779#[test]
4780fn bindgen_test_layout_TPM2B_ENCRYPTED_SECRET() {
4781 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ENCRYPTED_SECRET> =
4782 ::std::mem::MaybeUninit::uninit();
4783 let ptr = UNINIT.as_ptr();
4784 assert_eq!(
4785 ::std::mem::size_of::<TPM2B_ENCRYPTED_SECRET>(),
4786 514usize,
4787 "Size of TPM2B_ENCRYPTED_SECRET"
4788 );
4789 assert_eq!(
4790 ::std::mem::align_of::<TPM2B_ENCRYPTED_SECRET>(),
4791 2usize,
4792 "Alignment of TPM2B_ENCRYPTED_SECRET"
4793 );
4794 assert_eq!(
4795 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4796 0usize,
4797 "Offset of field: TPM2B_ENCRYPTED_SECRET::size"
4798 );
4799 assert_eq!(
4800 unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
4801 2usize,
4802 "Offset of field: TPM2B_ENCRYPTED_SECRET::secret"
4803 );
4804}
4805impl Default for TPM2B_ENCRYPTED_SECRET {
4806 fn default() -> Self {
4807 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4808 unsafe {
4809 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4810 s.assume_init()
4811 }
4812 }
4813}
4814pub type TPMI_ALG_PUBLIC = TPM2_ALG_ID;
4815#[repr(C)]
4816#[derive(Copy, Clone)]
4817pub union TPMU_PUBLIC_ID {
4818 pub keyedHash: TPM2B_DIGEST,
4819 pub sym: TPM2B_DIGEST,
4820 pub rsa: TPM2B_PUBLIC_KEY_RSA,
4821 pub ecc: TPMS_ECC_POINT,
4822 pub derive: TPMS_DERIVE,
4823}
4824#[test]
4825fn bindgen_test_layout_TPMU_PUBLIC_ID() {
4826 const UNINIT: ::std::mem::MaybeUninit<TPMU_PUBLIC_ID> = ::std::mem::MaybeUninit::uninit();
4827 let ptr = UNINIT.as_ptr();
4828 assert_eq!(
4829 ::std::mem::size_of::<TPMU_PUBLIC_ID>(),
4830 514usize,
4831 "Size of TPMU_PUBLIC_ID"
4832 );
4833 assert_eq!(
4834 ::std::mem::align_of::<TPMU_PUBLIC_ID>(),
4835 2usize,
4836 "Alignment of TPMU_PUBLIC_ID"
4837 );
4838 assert_eq!(
4839 unsafe { ::std::ptr::addr_of!((*ptr).keyedHash) as usize - ptr as usize },
4840 0usize,
4841 "Offset of field: TPMU_PUBLIC_ID::keyedHash"
4842 );
4843 assert_eq!(
4844 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
4845 0usize,
4846 "Offset of field: TPMU_PUBLIC_ID::sym"
4847 );
4848 assert_eq!(
4849 unsafe { ::std::ptr::addr_of!((*ptr).rsa) as usize - ptr as usize },
4850 0usize,
4851 "Offset of field: TPMU_PUBLIC_ID::rsa"
4852 );
4853 assert_eq!(
4854 unsafe { ::std::ptr::addr_of!((*ptr).ecc) as usize - ptr as usize },
4855 0usize,
4856 "Offset of field: TPMU_PUBLIC_ID::ecc"
4857 );
4858 assert_eq!(
4859 unsafe { ::std::ptr::addr_of!((*ptr).derive) as usize - ptr as usize },
4860 0usize,
4861 "Offset of field: TPMU_PUBLIC_ID::derive"
4862 );
4863}
4864impl Default for TPMU_PUBLIC_ID {
4865 fn default() -> Self {
4866 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4867 unsafe {
4868 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4869 s.assume_init()
4870 }
4871 }
4872}
4873#[repr(C)]
4874#[derive(Copy, Clone)]
4875pub struct TPMS_KEYEDHASH_PARMS {
4876 pub scheme: TPMT_KEYEDHASH_SCHEME,
4877}
4878#[test]
4879fn bindgen_test_layout_TPMS_KEYEDHASH_PARMS() {
4880 const UNINIT: ::std::mem::MaybeUninit<TPMS_KEYEDHASH_PARMS> = ::std::mem::MaybeUninit::uninit();
4881 let ptr = UNINIT.as_ptr();
4882 assert_eq!(
4883 ::std::mem::size_of::<TPMS_KEYEDHASH_PARMS>(),
4884 6usize,
4885 "Size of TPMS_KEYEDHASH_PARMS"
4886 );
4887 assert_eq!(
4888 ::std::mem::align_of::<TPMS_KEYEDHASH_PARMS>(),
4889 2usize,
4890 "Alignment of TPMS_KEYEDHASH_PARMS"
4891 );
4892 assert_eq!(
4893 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4894 0usize,
4895 "Offset of field: TPMS_KEYEDHASH_PARMS::scheme"
4896 );
4897}
4898impl Default for TPMS_KEYEDHASH_PARMS {
4899 fn default() -> Self {
4900 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4901 unsafe {
4902 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4903 s.assume_init()
4904 }
4905 }
4906}
4907#[repr(C)]
4908#[derive(Copy, Clone)]
4909pub struct TPMS_ASYM_PARMS {
4910 pub symmetric: TPMT_SYM_DEF_OBJECT,
4911 pub scheme: TPMT_ASYM_SCHEME,
4912}
4913#[test]
4914fn bindgen_test_layout_TPMS_ASYM_PARMS() {
4915 const UNINIT: ::std::mem::MaybeUninit<TPMS_ASYM_PARMS> = ::std::mem::MaybeUninit::uninit();
4916 let ptr = UNINIT.as_ptr();
4917 assert_eq!(
4918 ::std::mem::size_of::<TPMS_ASYM_PARMS>(),
4919 12usize,
4920 "Size of TPMS_ASYM_PARMS"
4921 );
4922 assert_eq!(
4923 ::std::mem::align_of::<TPMS_ASYM_PARMS>(),
4924 2usize,
4925 "Alignment of TPMS_ASYM_PARMS"
4926 );
4927 assert_eq!(
4928 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
4929 0usize,
4930 "Offset of field: TPMS_ASYM_PARMS::symmetric"
4931 );
4932 assert_eq!(
4933 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4934 6usize,
4935 "Offset of field: TPMS_ASYM_PARMS::scheme"
4936 );
4937}
4938impl Default for TPMS_ASYM_PARMS {
4939 fn default() -> Self {
4940 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4941 unsafe {
4942 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4943 s.assume_init()
4944 }
4945 }
4946}
4947#[repr(C)]
4948#[derive(Copy, Clone)]
4949pub struct TPMS_RSA_PARMS {
4950 pub symmetric: TPMT_SYM_DEF_OBJECT,
4951 pub scheme: TPMT_RSA_SCHEME,
4952 pub keyBits: TPMI_RSA_KEY_BITS,
4953 pub exponent: UINT32,
4954}
4955#[test]
4956fn bindgen_test_layout_TPMS_RSA_PARMS() {
4957 const UNINIT: ::std::mem::MaybeUninit<TPMS_RSA_PARMS> = ::std::mem::MaybeUninit::uninit();
4958 let ptr = UNINIT.as_ptr();
4959 assert_eq!(
4960 ::std::mem::size_of::<TPMS_RSA_PARMS>(),
4961 20usize,
4962 "Size of TPMS_RSA_PARMS"
4963 );
4964 assert_eq!(
4965 ::std::mem::align_of::<TPMS_RSA_PARMS>(),
4966 4usize,
4967 "Alignment of TPMS_RSA_PARMS"
4968 );
4969 assert_eq!(
4970 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
4971 0usize,
4972 "Offset of field: TPMS_RSA_PARMS::symmetric"
4973 );
4974 assert_eq!(
4975 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4976 6usize,
4977 "Offset of field: TPMS_RSA_PARMS::scheme"
4978 );
4979 assert_eq!(
4980 unsafe { ::std::ptr::addr_of!((*ptr).keyBits) as usize - ptr as usize },
4981 12usize,
4982 "Offset of field: TPMS_RSA_PARMS::keyBits"
4983 );
4984 assert_eq!(
4985 unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
4986 16usize,
4987 "Offset of field: TPMS_RSA_PARMS::exponent"
4988 );
4989}
4990impl Default for TPMS_RSA_PARMS {
4991 fn default() -> Self {
4992 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4993 unsafe {
4994 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4995 s.assume_init()
4996 }
4997 }
4998}
4999#[repr(C)]
5000#[derive(Copy, Clone)]
5001pub struct TPMS_ECC_PARMS {
5002 pub symmetric: TPMT_SYM_DEF_OBJECT,
5003 pub scheme: TPMT_ECC_SCHEME,
5004 pub curveID: TPMI_ECC_CURVE,
5005 pub kdf: TPMT_KDF_SCHEME,
5006}
5007#[test]
5008fn bindgen_test_layout_TPMS_ECC_PARMS() {
5009 const UNINIT: ::std::mem::MaybeUninit<TPMS_ECC_PARMS> = ::std::mem::MaybeUninit::uninit();
5010 let ptr = UNINIT.as_ptr();
5011 assert_eq!(
5012 ::std::mem::size_of::<TPMS_ECC_PARMS>(),
5013 18usize,
5014 "Size of TPMS_ECC_PARMS"
5015 );
5016 assert_eq!(
5017 ::std::mem::align_of::<TPMS_ECC_PARMS>(),
5018 2usize,
5019 "Alignment of TPMS_ECC_PARMS"
5020 );
5021 assert_eq!(
5022 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
5023 0usize,
5024 "Offset of field: TPMS_ECC_PARMS::symmetric"
5025 );
5026 assert_eq!(
5027 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
5028 6usize,
5029 "Offset of field: TPMS_ECC_PARMS::scheme"
5030 );
5031 assert_eq!(
5032 unsafe { ::std::ptr::addr_of!((*ptr).curveID) as usize - ptr as usize },
5033 12usize,
5034 "Offset of field: TPMS_ECC_PARMS::curveID"
5035 );
5036 assert_eq!(
5037 unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
5038 14usize,
5039 "Offset of field: TPMS_ECC_PARMS::kdf"
5040 );
5041}
5042impl Default for TPMS_ECC_PARMS {
5043 fn default() -> Self {
5044 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5045 unsafe {
5046 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5047 s.assume_init()
5048 }
5049 }
5050}
5051#[repr(C)]
5052#[derive(Copy, Clone)]
5053pub union TPMU_PUBLIC_PARMS {
5054 pub keyedHashDetail: TPMS_KEYEDHASH_PARMS,
5055 pub symDetail: TPMS_SYMCIPHER_PARMS,
5056 pub rsaDetail: TPMS_RSA_PARMS,
5057 pub eccDetail: TPMS_ECC_PARMS,
5058 pub asymDetail: TPMS_ASYM_PARMS,
5059}
5060#[test]
5061fn bindgen_test_layout_TPMU_PUBLIC_PARMS() {
5062 const UNINIT: ::std::mem::MaybeUninit<TPMU_PUBLIC_PARMS> = ::std::mem::MaybeUninit::uninit();
5063 let ptr = UNINIT.as_ptr();
5064 assert_eq!(
5065 ::std::mem::size_of::<TPMU_PUBLIC_PARMS>(),
5066 20usize,
5067 "Size of TPMU_PUBLIC_PARMS"
5068 );
5069 assert_eq!(
5070 ::std::mem::align_of::<TPMU_PUBLIC_PARMS>(),
5071 4usize,
5072 "Alignment of TPMU_PUBLIC_PARMS"
5073 );
5074 assert_eq!(
5075 unsafe { ::std::ptr::addr_of!((*ptr).keyedHashDetail) as usize - ptr as usize },
5076 0usize,
5077 "Offset of field: TPMU_PUBLIC_PARMS::keyedHashDetail"
5078 );
5079 assert_eq!(
5080 unsafe { ::std::ptr::addr_of!((*ptr).symDetail) as usize - ptr as usize },
5081 0usize,
5082 "Offset of field: TPMU_PUBLIC_PARMS::symDetail"
5083 );
5084 assert_eq!(
5085 unsafe { ::std::ptr::addr_of!((*ptr).rsaDetail) as usize - ptr as usize },
5086 0usize,
5087 "Offset of field: TPMU_PUBLIC_PARMS::rsaDetail"
5088 );
5089 assert_eq!(
5090 unsafe { ::std::ptr::addr_of!((*ptr).eccDetail) as usize - ptr as usize },
5091 0usize,
5092 "Offset of field: TPMU_PUBLIC_PARMS::eccDetail"
5093 );
5094 assert_eq!(
5095 unsafe { ::std::ptr::addr_of!((*ptr).asymDetail) as usize - ptr as usize },
5096 0usize,
5097 "Offset of field: TPMU_PUBLIC_PARMS::asymDetail"
5098 );
5099}
5100impl Default for TPMU_PUBLIC_PARMS {
5101 fn default() -> Self {
5102 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5103 unsafe {
5104 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5105 s.assume_init()
5106 }
5107 }
5108}
5109#[repr(C)]
5110#[derive(Copy, Clone)]
5111pub struct TPMT_PUBLIC_PARMS {
5112 pub type_: TPMI_ALG_PUBLIC,
5113 pub parameters: TPMU_PUBLIC_PARMS,
5114}
5115#[test]
5116fn bindgen_test_layout_TPMT_PUBLIC_PARMS() {
5117 const UNINIT: ::std::mem::MaybeUninit<TPMT_PUBLIC_PARMS> = ::std::mem::MaybeUninit::uninit();
5118 let ptr = UNINIT.as_ptr();
5119 assert_eq!(
5120 ::std::mem::size_of::<TPMT_PUBLIC_PARMS>(),
5121 24usize,
5122 "Size of TPMT_PUBLIC_PARMS"
5123 );
5124 assert_eq!(
5125 ::std::mem::align_of::<TPMT_PUBLIC_PARMS>(),
5126 4usize,
5127 "Alignment of TPMT_PUBLIC_PARMS"
5128 );
5129 assert_eq!(
5130 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5131 0usize,
5132 "Offset of field: TPMT_PUBLIC_PARMS::type_"
5133 );
5134 assert_eq!(
5135 unsafe { ::std::ptr::addr_of!((*ptr).parameters) as usize - ptr as usize },
5136 4usize,
5137 "Offset of field: TPMT_PUBLIC_PARMS::parameters"
5138 );
5139}
5140impl Default for TPMT_PUBLIC_PARMS {
5141 fn default() -> Self {
5142 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5143 unsafe {
5144 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5145 s.assume_init()
5146 }
5147 }
5148}
5149#[repr(C)]
5150#[derive(Copy, Clone)]
5151pub struct TPMT_PUBLIC {
5152 pub type_: TPMI_ALG_PUBLIC,
5153 pub nameAlg: TPMI_ALG_HASH,
5154 pub objectAttributes: TPMA_OBJECT,
5155 pub authPolicy: TPM2B_DIGEST,
5156 pub parameters: TPMU_PUBLIC_PARMS,
5157 pub unique: TPMU_PUBLIC_ID,
5158}
5159#[test]
5160fn bindgen_test_layout_TPMT_PUBLIC() {
5161 const UNINIT: ::std::mem::MaybeUninit<TPMT_PUBLIC> = ::std::mem::MaybeUninit::uninit();
5162 let ptr = UNINIT.as_ptr();
5163 assert_eq!(
5164 ::std::mem::size_of::<TPMT_PUBLIC>(),
5165 612usize,
5166 "Size of TPMT_PUBLIC"
5167 );
5168 assert_eq!(
5169 ::std::mem::align_of::<TPMT_PUBLIC>(),
5170 4usize,
5171 "Alignment of TPMT_PUBLIC"
5172 );
5173 assert_eq!(
5174 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5175 0usize,
5176 "Offset of field: TPMT_PUBLIC::type_"
5177 );
5178 assert_eq!(
5179 unsafe { ::std::ptr::addr_of!((*ptr).nameAlg) as usize - ptr as usize },
5180 2usize,
5181 "Offset of field: TPMT_PUBLIC::nameAlg"
5182 );
5183 assert_eq!(
5184 unsafe { ::std::ptr::addr_of!((*ptr).objectAttributes) as usize - ptr as usize },
5185 4usize,
5186 "Offset of field: TPMT_PUBLIC::objectAttributes"
5187 );
5188 assert_eq!(
5189 unsafe { ::std::ptr::addr_of!((*ptr).authPolicy) as usize - ptr as usize },
5190 8usize,
5191 "Offset of field: TPMT_PUBLIC::authPolicy"
5192 );
5193 assert_eq!(
5194 unsafe { ::std::ptr::addr_of!((*ptr).parameters) as usize - ptr as usize },
5195 76usize,
5196 "Offset of field: TPMT_PUBLIC::parameters"
5197 );
5198 assert_eq!(
5199 unsafe { ::std::ptr::addr_of!((*ptr).unique) as usize - ptr as usize },
5200 96usize,
5201 "Offset of field: TPMT_PUBLIC::unique"
5202 );
5203}
5204impl Default for TPMT_PUBLIC {
5205 fn default() -> Self {
5206 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5207 unsafe {
5208 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5209 s.assume_init()
5210 }
5211 }
5212}
5213#[repr(C)]
5214#[derive(Copy, Clone)]
5215pub struct TPM2B_PUBLIC {
5216 pub size: UINT16,
5217 pub publicArea: TPMT_PUBLIC,
5218}
5219#[test]
5220fn bindgen_test_layout_TPM2B_PUBLIC() {
5221 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PUBLIC> = ::std::mem::MaybeUninit::uninit();
5222 let ptr = UNINIT.as_ptr();
5223 assert_eq!(
5224 ::std::mem::size_of::<TPM2B_PUBLIC>(),
5225 616usize,
5226 "Size of TPM2B_PUBLIC"
5227 );
5228 assert_eq!(
5229 ::std::mem::align_of::<TPM2B_PUBLIC>(),
5230 4usize,
5231 "Alignment of TPM2B_PUBLIC"
5232 );
5233 assert_eq!(
5234 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5235 0usize,
5236 "Offset of field: TPM2B_PUBLIC::size"
5237 );
5238 assert_eq!(
5239 unsafe { ::std::ptr::addr_of!((*ptr).publicArea) as usize - ptr as usize },
5240 4usize,
5241 "Offset of field: TPM2B_PUBLIC::publicArea"
5242 );
5243}
5244impl Default for TPM2B_PUBLIC {
5245 fn default() -> Self {
5246 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5247 unsafe {
5248 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5249 s.assume_init()
5250 }
5251 }
5252}
5253#[repr(C)]
5254#[derive(Debug, Copy, Clone)]
5255pub struct TPM2B_TEMPLATE {
5256 pub size: UINT16,
5257 pub buffer: [BYTE; 612usize],
5258}
5259#[test]
5260fn bindgen_test_layout_TPM2B_TEMPLATE() {
5261 const UNINIT: ::std::mem::MaybeUninit<TPM2B_TEMPLATE> = ::std::mem::MaybeUninit::uninit();
5262 let ptr = UNINIT.as_ptr();
5263 assert_eq!(
5264 ::std::mem::size_of::<TPM2B_TEMPLATE>(),
5265 614usize,
5266 "Size of TPM2B_TEMPLATE"
5267 );
5268 assert_eq!(
5269 ::std::mem::align_of::<TPM2B_TEMPLATE>(),
5270 2usize,
5271 "Alignment of TPM2B_TEMPLATE"
5272 );
5273 assert_eq!(
5274 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5275 0usize,
5276 "Offset of field: TPM2B_TEMPLATE::size"
5277 );
5278 assert_eq!(
5279 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
5280 2usize,
5281 "Offset of field: TPM2B_TEMPLATE::buffer"
5282 );
5283}
5284impl Default for TPM2B_TEMPLATE {
5285 fn default() -> Self {
5286 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5287 unsafe {
5288 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5289 s.assume_init()
5290 }
5291 }
5292}
5293#[repr(C)]
5294#[derive(Debug, Copy, Clone)]
5295pub struct TPM2B_PRIVATE_VENDOR_SPECIFIC {
5296 pub size: UINT16,
5297 pub buffer: [BYTE; 1280usize],
5298}
5299#[test]
5300fn bindgen_test_layout_TPM2B_PRIVATE_VENDOR_SPECIFIC() {
5301 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PRIVATE_VENDOR_SPECIFIC> =
5302 ::std::mem::MaybeUninit::uninit();
5303 let ptr = UNINIT.as_ptr();
5304 assert_eq!(
5305 ::std::mem::size_of::<TPM2B_PRIVATE_VENDOR_SPECIFIC>(),
5306 1282usize,
5307 "Size of TPM2B_PRIVATE_VENDOR_SPECIFIC"
5308 );
5309 assert_eq!(
5310 ::std::mem::align_of::<TPM2B_PRIVATE_VENDOR_SPECIFIC>(),
5311 2usize,
5312 "Alignment of TPM2B_PRIVATE_VENDOR_SPECIFIC"
5313 );
5314 assert_eq!(
5315 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5316 0usize,
5317 "Offset of field: TPM2B_PRIVATE_VENDOR_SPECIFIC::size"
5318 );
5319 assert_eq!(
5320 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
5321 2usize,
5322 "Offset of field: TPM2B_PRIVATE_VENDOR_SPECIFIC::buffer"
5323 );
5324}
5325impl Default for TPM2B_PRIVATE_VENDOR_SPECIFIC {
5326 fn default() -> Self {
5327 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5328 unsafe {
5329 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5330 s.assume_init()
5331 }
5332 }
5333}
5334#[repr(C)]
5335#[derive(Copy, Clone)]
5336pub union TPMU_SENSITIVE_COMPOSITE {
5337 pub rsa: TPM2B_PRIVATE_KEY_RSA,
5338 pub ecc: TPM2B_ECC_PARAMETER,
5339 pub bits: TPM2B_SENSITIVE_DATA,
5340 pub sym: TPM2B_SYM_KEY,
5341 pub any: TPM2B_PRIVATE_VENDOR_SPECIFIC,
5342}
5343#[test]
5344fn bindgen_test_layout_TPMU_SENSITIVE_COMPOSITE() {
5345 const UNINIT: ::std::mem::MaybeUninit<TPMU_SENSITIVE_COMPOSITE> =
5346 ::std::mem::MaybeUninit::uninit();
5347 let ptr = UNINIT.as_ptr();
5348 assert_eq!(
5349 ::std::mem::size_of::<TPMU_SENSITIVE_COMPOSITE>(),
5350 1282usize,
5351 "Size of TPMU_SENSITIVE_COMPOSITE"
5352 );
5353 assert_eq!(
5354 ::std::mem::align_of::<TPMU_SENSITIVE_COMPOSITE>(),
5355 2usize,
5356 "Alignment of TPMU_SENSITIVE_COMPOSITE"
5357 );
5358 assert_eq!(
5359 unsafe { ::std::ptr::addr_of!((*ptr).rsa) as usize - ptr as usize },
5360 0usize,
5361 "Offset of field: TPMU_SENSITIVE_COMPOSITE::rsa"
5362 );
5363 assert_eq!(
5364 unsafe { ::std::ptr::addr_of!((*ptr).ecc) as usize - ptr as usize },
5365 0usize,
5366 "Offset of field: TPMU_SENSITIVE_COMPOSITE::ecc"
5367 );
5368 assert_eq!(
5369 unsafe { ::std::ptr::addr_of!((*ptr).bits) as usize - ptr as usize },
5370 0usize,
5371 "Offset of field: TPMU_SENSITIVE_COMPOSITE::bits"
5372 );
5373 assert_eq!(
5374 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
5375 0usize,
5376 "Offset of field: TPMU_SENSITIVE_COMPOSITE::sym"
5377 );
5378 assert_eq!(
5379 unsafe { ::std::ptr::addr_of!((*ptr).any) as usize - ptr as usize },
5380 0usize,
5381 "Offset of field: TPMU_SENSITIVE_COMPOSITE::any"
5382 );
5383}
5384impl Default for TPMU_SENSITIVE_COMPOSITE {
5385 fn default() -> Self {
5386 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5387 unsafe {
5388 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5389 s.assume_init()
5390 }
5391 }
5392}
5393#[repr(C)]
5394#[derive(Copy, Clone)]
5395pub struct TPMT_SENSITIVE {
5396 pub sensitiveType: TPMI_ALG_PUBLIC,
5397 pub authValue: TPM2B_AUTH,
5398 pub seedValue: TPM2B_DIGEST,
5399 pub sensitive: TPMU_SENSITIVE_COMPOSITE,
5400}
5401#[test]
5402fn bindgen_test_layout_TPMT_SENSITIVE() {
5403 const UNINIT: ::std::mem::MaybeUninit<TPMT_SENSITIVE> = ::std::mem::MaybeUninit::uninit();
5404 let ptr = UNINIT.as_ptr();
5405 assert_eq!(
5406 ::std::mem::size_of::<TPMT_SENSITIVE>(),
5407 1416usize,
5408 "Size of TPMT_SENSITIVE"
5409 );
5410 assert_eq!(
5411 ::std::mem::align_of::<TPMT_SENSITIVE>(),
5412 2usize,
5413 "Alignment of TPMT_SENSITIVE"
5414 );
5415 assert_eq!(
5416 unsafe { ::std::ptr::addr_of!((*ptr).sensitiveType) as usize - ptr as usize },
5417 0usize,
5418 "Offset of field: TPMT_SENSITIVE::sensitiveType"
5419 );
5420 assert_eq!(
5421 unsafe { ::std::ptr::addr_of!((*ptr).authValue) as usize - ptr as usize },
5422 2usize,
5423 "Offset of field: TPMT_SENSITIVE::authValue"
5424 );
5425 assert_eq!(
5426 unsafe { ::std::ptr::addr_of!((*ptr).seedValue) as usize - ptr as usize },
5427 68usize,
5428 "Offset of field: TPMT_SENSITIVE::seedValue"
5429 );
5430 assert_eq!(
5431 unsafe { ::std::ptr::addr_of!((*ptr).sensitive) as usize - ptr as usize },
5432 134usize,
5433 "Offset of field: TPMT_SENSITIVE::sensitive"
5434 );
5435}
5436impl Default for TPMT_SENSITIVE {
5437 fn default() -> Self {
5438 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5439 unsafe {
5440 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5441 s.assume_init()
5442 }
5443 }
5444}
5445#[repr(C)]
5446#[derive(Copy, Clone)]
5447pub struct TPM2B_SENSITIVE {
5448 pub size: UINT16,
5449 pub sensitiveArea: TPMT_SENSITIVE,
5450}
5451#[test]
5452fn bindgen_test_layout_TPM2B_SENSITIVE() {
5453 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SENSITIVE> = ::std::mem::MaybeUninit::uninit();
5454 let ptr = UNINIT.as_ptr();
5455 assert_eq!(
5456 ::std::mem::size_of::<TPM2B_SENSITIVE>(),
5457 1418usize,
5458 "Size of TPM2B_SENSITIVE"
5459 );
5460 assert_eq!(
5461 ::std::mem::align_of::<TPM2B_SENSITIVE>(),
5462 2usize,
5463 "Alignment of TPM2B_SENSITIVE"
5464 );
5465 assert_eq!(
5466 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5467 0usize,
5468 "Offset of field: TPM2B_SENSITIVE::size"
5469 );
5470 assert_eq!(
5471 unsafe { ::std::ptr::addr_of!((*ptr).sensitiveArea) as usize - ptr as usize },
5472 2usize,
5473 "Offset of field: TPM2B_SENSITIVE::sensitiveArea"
5474 );
5475}
5476impl Default for TPM2B_SENSITIVE {
5477 fn default() -> Self {
5478 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5479 unsafe {
5480 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5481 s.assume_init()
5482 }
5483 }
5484}
5485#[repr(C)]
5486#[derive(Copy, Clone)]
5487pub struct _PRIVATE {
5488 pub integrityOuter: TPM2B_DIGEST,
5489 pub integrityInner: TPM2B_DIGEST,
5490 pub sensitive: TPM2B_SENSITIVE,
5491}
5492#[test]
5493fn bindgen_test_layout__PRIVATE() {
5494 const UNINIT: ::std::mem::MaybeUninit<_PRIVATE> = ::std::mem::MaybeUninit::uninit();
5495 let ptr = UNINIT.as_ptr();
5496 assert_eq!(
5497 ::std::mem::size_of::<_PRIVATE>(),
5498 1550usize,
5499 "Size of _PRIVATE"
5500 );
5501 assert_eq!(
5502 ::std::mem::align_of::<_PRIVATE>(),
5503 2usize,
5504 "Alignment of _PRIVATE"
5505 );
5506 assert_eq!(
5507 unsafe { ::std::ptr::addr_of!((*ptr).integrityOuter) as usize - ptr as usize },
5508 0usize,
5509 "Offset of field: _PRIVATE::integrityOuter"
5510 );
5511 assert_eq!(
5512 unsafe { ::std::ptr::addr_of!((*ptr).integrityInner) as usize - ptr as usize },
5513 66usize,
5514 "Offset of field: _PRIVATE::integrityInner"
5515 );
5516 assert_eq!(
5517 unsafe { ::std::ptr::addr_of!((*ptr).sensitive) as usize - ptr as usize },
5518 132usize,
5519 "Offset of field: _PRIVATE::sensitive"
5520 );
5521}
5522impl Default for _PRIVATE {
5523 fn default() -> Self {
5524 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5525 unsafe {
5526 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5527 s.assume_init()
5528 }
5529 }
5530}
5531#[repr(C)]
5532#[derive(Debug, Copy, Clone)]
5533pub struct TPM2B_PRIVATE {
5534 pub size: UINT16,
5535 pub buffer: [BYTE; 1550usize],
5536}
5537#[test]
5538fn bindgen_test_layout_TPM2B_PRIVATE() {
5539 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PRIVATE> = ::std::mem::MaybeUninit::uninit();
5540 let ptr = UNINIT.as_ptr();
5541 assert_eq!(
5542 ::std::mem::size_of::<TPM2B_PRIVATE>(),
5543 1552usize,
5544 "Size of TPM2B_PRIVATE"
5545 );
5546 assert_eq!(
5547 ::std::mem::align_of::<TPM2B_PRIVATE>(),
5548 2usize,
5549 "Alignment of TPM2B_PRIVATE"
5550 );
5551 assert_eq!(
5552 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5553 0usize,
5554 "Offset of field: TPM2B_PRIVATE::size"
5555 );
5556 assert_eq!(
5557 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
5558 2usize,
5559 "Offset of field: TPM2B_PRIVATE::buffer"
5560 );
5561}
5562impl Default for TPM2B_PRIVATE {
5563 fn default() -> Self {
5564 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5565 unsafe {
5566 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5567 s.assume_init()
5568 }
5569 }
5570}
5571#[repr(C)]
5572#[derive(Debug, Copy, Clone)]
5573pub struct TPMS_ID_OBJECT {
5574 pub integrityHMAC: TPM2B_DIGEST,
5575 pub encIdentity: TPM2B_DIGEST,
5576}
5577#[test]
5578fn bindgen_test_layout_TPMS_ID_OBJECT() {
5579 const UNINIT: ::std::mem::MaybeUninit<TPMS_ID_OBJECT> = ::std::mem::MaybeUninit::uninit();
5580 let ptr = UNINIT.as_ptr();
5581 assert_eq!(
5582 ::std::mem::size_of::<TPMS_ID_OBJECT>(),
5583 132usize,
5584 "Size of TPMS_ID_OBJECT"
5585 );
5586 assert_eq!(
5587 ::std::mem::align_of::<TPMS_ID_OBJECT>(),
5588 2usize,
5589 "Alignment of TPMS_ID_OBJECT"
5590 );
5591 assert_eq!(
5592 unsafe { ::std::ptr::addr_of!((*ptr).integrityHMAC) as usize - ptr as usize },
5593 0usize,
5594 "Offset of field: TPMS_ID_OBJECT::integrityHMAC"
5595 );
5596 assert_eq!(
5597 unsafe { ::std::ptr::addr_of!((*ptr).encIdentity) as usize - ptr as usize },
5598 66usize,
5599 "Offset of field: TPMS_ID_OBJECT::encIdentity"
5600 );
5601}
5602impl Default for TPMS_ID_OBJECT {
5603 fn default() -> Self {
5604 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5605 unsafe {
5606 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5607 s.assume_init()
5608 }
5609 }
5610}
5611#[repr(C)]
5612#[derive(Debug, Copy, Clone)]
5613pub struct TPM2B_ID_OBJECT {
5614 pub size: UINT16,
5615 pub credential: [BYTE; 132usize],
5616}
5617#[test]
5618fn bindgen_test_layout_TPM2B_ID_OBJECT() {
5619 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ID_OBJECT> = ::std::mem::MaybeUninit::uninit();
5620 let ptr = UNINIT.as_ptr();
5621 assert_eq!(
5622 ::std::mem::size_of::<TPM2B_ID_OBJECT>(),
5623 134usize,
5624 "Size of TPM2B_ID_OBJECT"
5625 );
5626 assert_eq!(
5627 ::std::mem::align_of::<TPM2B_ID_OBJECT>(),
5628 2usize,
5629 "Alignment of TPM2B_ID_OBJECT"
5630 );
5631 assert_eq!(
5632 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5633 0usize,
5634 "Offset of field: TPM2B_ID_OBJECT::size"
5635 );
5636 assert_eq!(
5637 unsafe { ::std::ptr::addr_of!((*ptr).credential) as usize - ptr as usize },
5638 2usize,
5639 "Offset of field: TPM2B_ID_OBJECT::credential"
5640 );
5641}
5642impl Default for TPM2B_ID_OBJECT {
5643 fn default() -> Self {
5644 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5645 unsafe {
5646 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5647 s.assume_init()
5648 }
5649 }
5650}
5651pub type TPM2_NV_INDEX = u32;
5652pub type TPM2_NT = UINT8;
5653#[repr(C)]
5654#[derive(Debug, Default, Copy, Clone)]
5655pub struct TPMS_NV_PIN_COUNTER_PARAMETERS {
5656 pub pinCount: UINT32,
5657 pub pinLimit: UINT32,
5658}
5659#[test]
5660fn bindgen_test_layout_TPMS_NV_PIN_COUNTER_PARAMETERS() {
5661 const UNINIT: ::std::mem::MaybeUninit<TPMS_NV_PIN_COUNTER_PARAMETERS> =
5662 ::std::mem::MaybeUninit::uninit();
5663 let ptr = UNINIT.as_ptr();
5664 assert_eq!(
5665 ::std::mem::size_of::<TPMS_NV_PIN_COUNTER_PARAMETERS>(),
5666 8usize,
5667 "Size of TPMS_NV_PIN_COUNTER_PARAMETERS"
5668 );
5669 assert_eq!(
5670 ::std::mem::align_of::<TPMS_NV_PIN_COUNTER_PARAMETERS>(),
5671 4usize,
5672 "Alignment of TPMS_NV_PIN_COUNTER_PARAMETERS"
5673 );
5674 assert_eq!(
5675 unsafe { ::std::ptr::addr_of!((*ptr).pinCount) as usize - ptr as usize },
5676 0usize,
5677 "Offset of field: TPMS_NV_PIN_COUNTER_PARAMETERS::pinCount"
5678 );
5679 assert_eq!(
5680 unsafe { ::std::ptr::addr_of!((*ptr).pinLimit) as usize - ptr as usize },
5681 4usize,
5682 "Offset of field: TPMS_NV_PIN_COUNTER_PARAMETERS::pinLimit"
5683 );
5684}
5685pub type TPMA_NV = u32;
5686#[repr(C)]
5687#[derive(Debug, Copy, Clone)]
5688pub struct TPMS_NV_PUBLIC {
5689 pub nvIndex: TPMI_RH_NV_INDEX,
5690 pub nameAlg: TPMI_ALG_HASH,
5691 pub attributes: TPMA_NV,
5692 pub authPolicy: TPM2B_DIGEST,
5693 pub dataSize: UINT16,
5694}
5695#[test]
5696fn bindgen_test_layout_TPMS_NV_PUBLIC() {
5697 const UNINIT: ::std::mem::MaybeUninit<TPMS_NV_PUBLIC> = ::std::mem::MaybeUninit::uninit();
5698 let ptr = UNINIT.as_ptr();
5699 assert_eq!(
5700 ::std::mem::size_of::<TPMS_NV_PUBLIC>(),
5701 80usize,
5702 "Size of TPMS_NV_PUBLIC"
5703 );
5704 assert_eq!(
5705 ::std::mem::align_of::<TPMS_NV_PUBLIC>(),
5706 4usize,
5707 "Alignment of TPMS_NV_PUBLIC"
5708 );
5709 assert_eq!(
5710 unsafe { ::std::ptr::addr_of!((*ptr).nvIndex) as usize - ptr as usize },
5711 0usize,
5712 "Offset of field: TPMS_NV_PUBLIC::nvIndex"
5713 );
5714 assert_eq!(
5715 unsafe { ::std::ptr::addr_of!((*ptr).nameAlg) as usize - ptr as usize },
5716 4usize,
5717 "Offset of field: TPMS_NV_PUBLIC::nameAlg"
5718 );
5719 assert_eq!(
5720 unsafe { ::std::ptr::addr_of!((*ptr).attributes) as usize - ptr as usize },
5721 8usize,
5722 "Offset of field: TPMS_NV_PUBLIC::attributes"
5723 );
5724 assert_eq!(
5725 unsafe { ::std::ptr::addr_of!((*ptr).authPolicy) as usize - ptr as usize },
5726 12usize,
5727 "Offset of field: TPMS_NV_PUBLIC::authPolicy"
5728 );
5729 assert_eq!(
5730 unsafe { ::std::ptr::addr_of!((*ptr).dataSize) as usize - ptr as usize },
5731 78usize,
5732 "Offset of field: TPMS_NV_PUBLIC::dataSize"
5733 );
5734}
5735impl Default for TPMS_NV_PUBLIC {
5736 fn default() -> Self {
5737 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5738 unsafe {
5739 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5740 s.assume_init()
5741 }
5742 }
5743}
5744#[repr(C)]
5745#[derive(Debug, Copy, Clone)]
5746pub struct TPM2B_NV_PUBLIC {
5747 pub size: UINT16,
5748 pub nvPublic: TPMS_NV_PUBLIC,
5749}
5750#[test]
5751fn bindgen_test_layout_TPM2B_NV_PUBLIC() {
5752 const UNINIT: ::std::mem::MaybeUninit<TPM2B_NV_PUBLIC> = ::std::mem::MaybeUninit::uninit();
5753 let ptr = UNINIT.as_ptr();
5754 assert_eq!(
5755 ::std::mem::size_of::<TPM2B_NV_PUBLIC>(),
5756 84usize,
5757 "Size of TPM2B_NV_PUBLIC"
5758 );
5759 assert_eq!(
5760 ::std::mem::align_of::<TPM2B_NV_PUBLIC>(),
5761 4usize,
5762 "Alignment of TPM2B_NV_PUBLIC"
5763 );
5764 assert_eq!(
5765 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5766 0usize,
5767 "Offset of field: TPM2B_NV_PUBLIC::size"
5768 );
5769 assert_eq!(
5770 unsafe { ::std::ptr::addr_of!((*ptr).nvPublic) as usize - ptr as usize },
5771 4usize,
5772 "Offset of field: TPM2B_NV_PUBLIC::nvPublic"
5773 );
5774}
5775impl Default for TPM2B_NV_PUBLIC {
5776 fn default() -> Self {
5777 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5778 unsafe {
5779 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5780 s.assume_init()
5781 }
5782 }
5783}
5784#[repr(C)]
5785#[derive(Debug, Copy, Clone)]
5786pub struct TPM2B_CONTEXT_SENSITIVE {
5787 pub size: UINT16,
5788 pub buffer: [BYTE; 5120usize],
5789}
5790#[test]
5791fn bindgen_test_layout_TPM2B_CONTEXT_SENSITIVE() {
5792 const UNINIT: ::std::mem::MaybeUninit<TPM2B_CONTEXT_SENSITIVE> =
5793 ::std::mem::MaybeUninit::uninit();
5794 let ptr = UNINIT.as_ptr();
5795 assert_eq!(
5796 ::std::mem::size_of::<TPM2B_CONTEXT_SENSITIVE>(),
5797 5122usize,
5798 "Size of TPM2B_CONTEXT_SENSITIVE"
5799 );
5800 assert_eq!(
5801 ::std::mem::align_of::<TPM2B_CONTEXT_SENSITIVE>(),
5802 2usize,
5803 "Alignment of TPM2B_CONTEXT_SENSITIVE"
5804 );
5805 assert_eq!(
5806 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5807 0usize,
5808 "Offset of field: TPM2B_CONTEXT_SENSITIVE::size"
5809 );
5810 assert_eq!(
5811 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
5812 2usize,
5813 "Offset of field: TPM2B_CONTEXT_SENSITIVE::buffer"
5814 );
5815}
5816impl Default for TPM2B_CONTEXT_SENSITIVE {
5817 fn default() -> Self {
5818 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5819 unsafe {
5820 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5821 s.assume_init()
5822 }
5823 }
5824}
5825#[repr(C)]
5826#[derive(Debug, Copy, Clone)]
5827pub struct TPMS_CONTEXT_DATA {
5828 pub integrity: TPM2B_DIGEST,
5829 pub encrypted: TPM2B_CONTEXT_SENSITIVE,
5830}
5831#[test]
5832fn bindgen_test_layout_TPMS_CONTEXT_DATA() {
5833 const UNINIT: ::std::mem::MaybeUninit<TPMS_CONTEXT_DATA> = ::std::mem::MaybeUninit::uninit();
5834 let ptr = UNINIT.as_ptr();
5835 assert_eq!(
5836 ::std::mem::size_of::<TPMS_CONTEXT_DATA>(),
5837 5188usize,
5838 "Size of TPMS_CONTEXT_DATA"
5839 );
5840 assert_eq!(
5841 ::std::mem::align_of::<TPMS_CONTEXT_DATA>(),
5842 2usize,
5843 "Alignment of TPMS_CONTEXT_DATA"
5844 );
5845 assert_eq!(
5846 unsafe { ::std::ptr::addr_of!((*ptr).integrity) as usize - ptr as usize },
5847 0usize,
5848 "Offset of field: TPMS_CONTEXT_DATA::integrity"
5849 );
5850 assert_eq!(
5851 unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
5852 66usize,
5853 "Offset of field: TPMS_CONTEXT_DATA::encrypted"
5854 );
5855}
5856impl Default for TPMS_CONTEXT_DATA {
5857 fn default() -> Self {
5858 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5859 unsafe {
5860 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5861 s.assume_init()
5862 }
5863 }
5864}
5865#[repr(C)]
5866#[derive(Debug, Copy, Clone)]
5867pub struct TPM2B_CONTEXT_DATA {
5868 pub size: UINT16,
5869 pub buffer: [BYTE; 5188usize],
5870}
5871#[test]
5872fn bindgen_test_layout_TPM2B_CONTEXT_DATA() {
5873 const UNINIT: ::std::mem::MaybeUninit<TPM2B_CONTEXT_DATA> = ::std::mem::MaybeUninit::uninit();
5874 let ptr = UNINIT.as_ptr();
5875 assert_eq!(
5876 ::std::mem::size_of::<TPM2B_CONTEXT_DATA>(),
5877 5190usize,
5878 "Size of TPM2B_CONTEXT_DATA"
5879 );
5880 assert_eq!(
5881 ::std::mem::align_of::<TPM2B_CONTEXT_DATA>(),
5882 2usize,
5883 "Alignment of TPM2B_CONTEXT_DATA"
5884 );
5885 assert_eq!(
5886 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5887 0usize,
5888 "Offset of field: TPM2B_CONTEXT_DATA::size"
5889 );
5890 assert_eq!(
5891 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
5892 2usize,
5893 "Offset of field: TPM2B_CONTEXT_DATA::buffer"
5894 );
5895}
5896impl Default for TPM2B_CONTEXT_DATA {
5897 fn default() -> Self {
5898 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5899 unsafe {
5900 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5901 s.assume_init()
5902 }
5903 }
5904}
5905#[repr(C)]
5906#[derive(Debug, Copy, Clone)]
5907pub struct TPMS_CONTEXT {
5908 pub sequence: UINT64,
5909 pub savedHandle: TPMI_DH_CONTEXT,
5910 pub hierarchy: TPMI_RH_HIERARCHY,
5911 pub contextBlob: TPM2B_CONTEXT_DATA,
5912}
5913#[test]
5914fn bindgen_test_layout_TPMS_CONTEXT() {
5915 const UNINIT: ::std::mem::MaybeUninit<TPMS_CONTEXT> = ::std::mem::MaybeUninit::uninit();
5916 let ptr = UNINIT.as_ptr();
5917 assert_eq!(
5918 ::std::mem::size_of::<TPMS_CONTEXT>(),
5919 5208usize,
5920 "Size of TPMS_CONTEXT"
5921 );
5922 assert_eq!(
5923 ::std::mem::align_of::<TPMS_CONTEXT>(),
5924 8usize,
5925 "Alignment of TPMS_CONTEXT"
5926 );
5927 assert_eq!(
5928 unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
5929 0usize,
5930 "Offset of field: TPMS_CONTEXT::sequence"
5931 );
5932 assert_eq!(
5933 unsafe { ::std::ptr::addr_of!((*ptr).savedHandle) as usize - ptr as usize },
5934 8usize,
5935 "Offset of field: TPMS_CONTEXT::savedHandle"
5936 );
5937 assert_eq!(
5938 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
5939 12usize,
5940 "Offset of field: TPMS_CONTEXT::hierarchy"
5941 );
5942 assert_eq!(
5943 unsafe { ::std::ptr::addr_of!((*ptr).contextBlob) as usize - ptr as usize },
5944 16usize,
5945 "Offset of field: TPMS_CONTEXT::contextBlob"
5946 );
5947}
5948impl Default for TPMS_CONTEXT {
5949 fn default() -> Self {
5950 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5951 unsafe {
5952 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5953 s.assume_init()
5954 }
5955 }
5956}
5957#[repr(C)]
5958#[derive(Debug, Copy, Clone)]
5959pub struct TPMS_CREATION_DATA {
5960 pub pcrSelect: TPML_PCR_SELECTION,
5961 pub pcrDigest: TPM2B_DIGEST,
5962 pub locality: TPMA_LOCALITY,
5963 pub parentNameAlg: TPM2_ALG_ID,
5964 pub parentName: TPM2B_NAME,
5965 pub parentQualifiedName: TPM2B_NAME,
5966 pub outsideInfo: TPM2B_DATA,
5967}
5968#[test]
5969fn bindgen_test_layout_TPMS_CREATION_DATA() {
5970 const UNINIT: ::std::mem::MaybeUninit<TPMS_CREATION_DATA> = ::std::mem::MaybeUninit::uninit();
5971 let ptr = UNINIT.as_ptr();
5972 assert_eq!(
5973 ::std::mem::size_of::<TPMS_CREATION_DATA>(),
5974 408usize,
5975 "Size of TPMS_CREATION_DATA"
5976 );
5977 assert_eq!(
5978 ::std::mem::align_of::<TPMS_CREATION_DATA>(),
5979 4usize,
5980 "Alignment of TPMS_CREATION_DATA"
5981 );
5982 assert_eq!(
5983 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
5984 0usize,
5985 "Offset of field: TPMS_CREATION_DATA::pcrSelect"
5986 );
5987 assert_eq!(
5988 unsafe { ::std::ptr::addr_of!((*ptr).pcrDigest) as usize - ptr as usize },
5989 132usize,
5990 "Offset of field: TPMS_CREATION_DATA::pcrDigest"
5991 );
5992 assert_eq!(
5993 unsafe { ::std::ptr::addr_of!((*ptr).locality) as usize - ptr as usize },
5994 198usize,
5995 "Offset of field: TPMS_CREATION_DATA::locality"
5996 );
5997 assert_eq!(
5998 unsafe { ::std::ptr::addr_of!((*ptr).parentNameAlg) as usize - ptr as usize },
5999 200usize,
6000 "Offset of field: TPMS_CREATION_DATA::parentNameAlg"
6001 );
6002 assert_eq!(
6003 unsafe { ::std::ptr::addr_of!((*ptr).parentName) as usize - ptr as usize },
6004 202usize,
6005 "Offset of field: TPMS_CREATION_DATA::parentName"
6006 );
6007 assert_eq!(
6008 unsafe { ::std::ptr::addr_of!((*ptr).parentQualifiedName) as usize - ptr as usize },
6009 272usize,
6010 "Offset of field: TPMS_CREATION_DATA::parentQualifiedName"
6011 );
6012 assert_eq!(
6013 unsafe { ::std::ptr::addr_of!((*ptr).outsideInfo) as usize - ptr as usize },
6014 342usize,
6015 "Offset of field: TPMS_CREATION_DATA::outsideInfo"
6016 );
6017}
6018impl Default for TPMS_CREATION_DATA {
6019 fn default() -> Self {
6020 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6021 unsafe {
6022 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6023 s.assume_init()
6024 }
6025 }
6026}
6027#[repr(C)]
6028#[derive(Debug, Copy, Clone)]
6029pub struct TPM2B_CREATION_DATA {
6030 pub size: UINT16,
6031 pub creationData: TPMS_CREATION_DATA,
6032}
6033#[test]
6034fn bindgen_test_layout_TPM2B_CREATION_DATA() {
6035 const UNINIT: ::std::mem::MaybeUninit<TPM2B_CREATION_DATA> = ::std::mem::MaybeUninit::uninit();
6036 let ptr = UNINIT.as_ptr();
6037 assert_eq!(
6038 ::std::mem::size_of::<TPM2B_CREATION_DATA>(),
6039 412usize,
6040 "Size of TPM2B_CREATION_DATA"
6041 );
6042 assert_eq!(
6043 ::std::mem::align_of::<TPM2B_CREATION_DATA>(),
6044 4usize,
6045 "Alignment of TPM2B_CREATION_DATA"
6046 );
6047 assert_eq!(
6048 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6049 0usize,
6050 "Offset of field: TPM2B_CREATION_DATA::size"
6051 );
6052 assert_eq!(
6053 unsafe { ::std::ptr::addr_of!((*ptr).creationData) as usize - ptr as usize },
6054 4usize,
6055 "Offset of field: TPM2B_CREATION_DATA::creationData"
6056 );
6057}
6058impl Default for TPM2B_CREATION_DATA {
6059 fn default() -> Self {
6060 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6061 unsafe {
6062 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6063 s.assume_init()
6064 }
6065 }
6066}
6067pub type TPM_AT = UINT32;
6068pub type TPM_EA = UINT32;
6069#[repr(C)]
6070#[derive(Debug, Default, Copy, Clone)]
6071pub struct TPMS_AC_OUTPUT {
6072 pub tag: TPM_AT,
6073 pub data: UINT32,
6074}
6075#[test]
6076fn bindgen_test_layout_TPMS_AC_OUTPUT() {
6077 const UNINIT: ::std::mem::MaybeUninit<TPMS_AC_OUTPUT> = ::std::mem::MaybeUninit::uninit();
6078 let ptr = UNINIT.as_ptr();
6079 assert_eq!(
6080 ::std::mem::size_of::<TPMS_AC_OUTPUT>(),
6081 8usize,
6082 "Size of TPMS_AC_OUTPUT"
6083 );
6084 assert_eq!(
6085 ::std::mem::align_of::<TPMS_AC_OUTPUT>(),
6086 4usize,
6087 "Alignment of TPMS_AC_OUTPUT"
6088 );
6089 assert_eq!(
6090 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6091 0usize,
6092 "Offset of field: TPMS_AC_OUTPUT::tag"
6093 );
6094 assert_eq!(
6095 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6096 4usize,
6097 "Offset of field: TPMS_AC_OUTPUT::data"
6098 );
6099}
6100#[repr(C)]
6101#[derive(Debug, Copy, Clone)]
6102pub struct TPML_AC_CAPABILITIES {
6103 pub count: UINT32,
6104 pub acCapabilities: [TPMS_AC_OUTPUT; 128usize],
6105}
6106#[test]
6107fn bindgen_test_layout_TPML_AC_CAPABILITIES() {
6108 const UNINIT: ::std::mem::MaybeUninit<TPML_AC_CAPABILITIES> = ::std::mem::MaybeUninit::uninit();
6109 let ptr = UNINIT.as_ptr();
6110 assert_eq!(
6111 ::std::mem::size_of::<TPML_AC_CAPABILITIES>(),
6112 1028usize,
6113 "Size of TPML_AC_CAPABILITIES"
6114 );
6115 assert_eq!(
6116 ::std::mem::align_of::<TPML_AC_CAPABILITIES>(),
6117 4usize,
6118 "Alignment of TPML_AC_CAPABILITIES"
6119 );
6120 assert_eq!(
6121 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
6122 0usize,
6123 "Offset of field: TPML_AC_CAPABILITIES::count"
6124 );
6125 assert_eq!(
6126 unsafe { ::std::ptr::addr_of!((*ptr).acCapabilities) as usize - ptr as usize },
6127 4usize,
6128 "Offset of field: TPML_AC_CAPABILITIES::acCapabilities"
6129 );
6130}
6131impl Default for TPML_AC_CAPABILITIES {
6132 fn default() -> Self {
6133 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6134 unsafe {
6135 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6136 s.assume_init()
6137 }
6138 }
6139}
6140#[repr(C)]
6141#[derive(Debug, Copy, Clone)]
6142pub struct TPML_INTEL_PTT_PROPERTY {
6143 pub count: UINT32,
6144 pub property: [UINT32; 256usize],
6145}
6146#[test]
6147fn bindgen_test_layout_TPML_INTEL_PTT_PROPERTY() {
6148 const UNINIT: ::std::mem::MaybeUninit<TPML_INTEL_PTT_PROPERTY> =
6149 ::std::mem::MaybeUninit::uninit();
6150 let ptr = UNINIT.as_ptr();
6151 assert_eq!(
6152 ::std::mem::size_of::<TPML_INTEL_PTT_PROPERTY>(),
6153 1028usize,
6154 "Size of TPML_INTEL_PTT_PROPERTY"
6155 );
6156 assert_eq!(
6157 ::std::mem::align_of::<TPML_INTEL_PTT_PROPERTY>(),
6158 4usize,
6159 "Alignment of TPML_INTEL_PTT_PROPERTY"
6160 );
6161 assert_eq!(
6162 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
6163 0usize,
6164 "Offset of field: TPML_INTEL_PTT_PROPERTY::count"
6165 );
6166 assert_eq!(
6167 unsafe { ::std::ptr::addr_of!((*ptr).property) as usize - ptr as usize },
6168 4usize,
6169 "Offset of field: TPML_INTEL_PTT_PROPERTY::property"
6170 );
6171}
6172impl Default for TPML_INTEL_PTT_PROPERTY {
6173 fn default() -> Self {
6174 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6175 unsafe {
6176 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6177 s.assume_init()
6178 }
6179 }
6180}
6181pub type nfds_t = ::std::os::raw::c_ulong;
6182#[repr(C)]
6183#[derive(Debug, Default, Copy, Clone)]
6184pub struct pollfd {
6185 pub fd: ::std::os::raw::c_int,
6186 pub events: ::std::os::raw::c_short,
6187 pub revents: ::std::os::raw::c_short,
6188}
6189#[test]
6190fn bindgen_test_layout_pollfd() {
6191 const UNINIT: ::std::mem::MaybeUninit<pollfd> = ::std::mem::MaybeUninit::uninit();
6192 let ptr = UNINIT.as_ptr();
6193 assert_eq!(::std::mem::size_of::<pollfd>(), 8usize, "Size of pollfd");
6194 assert_eq!(
6195 ::std::mem::align_of::<pollfd>(),
6196 4usize,
6197 "Alignment of pollfd"
6198 );
6199 assert_eq!(
6200 unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
6201 0usize,
6202 "Offset of field: pollfd::fd"
6203 );
6204 assert_eq!(
6205 unsafe { ::std::ptr::addr_of!((*ptr).events) as usize - ptr as usize },
6206 4usize,
6207 "Offset of field: pollfd::events"
6208 );
6209 assert_eq!(
6210 unsafe { ::std::ptr::addr_of!((*ptr).revents) as usize - ptr as usize },
6211 6usize,
6212 "Offset of field: pollfd::revents"
6213 );
6214}
6215extern "C" {
6216 pub fn poll(
6217 __fds: *mut pollfd,
6218 __nfds: nfds_t,
6219 __timeout: ::std::os::raw::c_int,
6220 ) -> ::std::os::raw::c_int;
6221}
6222pub type TSS2_TCTI_POLL_HANDLE = pollfd;
6223#[repr(C)]
6224#[derive(Debug, Copy, Clone)]
6225pub struct TSS2_TCTI_OPAQUE_CONTEXT_BLOB {
6226 _unused: [u8; 0],
6227}
6228pub type TSS2_TCTI_CONTEXT = TSS2_TCTI_OPAQUE_CONTEXT_BLOB;
6229pub type TSS2_TCTI_TRANSMIT_FCN = ::std::option::Option<
6230 unsafe extern "C" fn(
6231 tctiContext: *mut TSS2_TCTI_CONTEXT,
6232 size: size_t,
6233 command: *const u8,
6234 ) -> TSS2_RC,
6235>;
6236pub type TSS2_TCTI_RECEIVE_FCN = ::std::option::Option<
6237 unsafe extern "C" fn(
6238 tctiContext: *mut TSS2_TCTI_CONTEXT,
6239 size: *mut size_t,
6240 response: *mut u8,
6241 timeout: i32,
6242 ) -> TSS2_RC,
6243>;
6244pub type TSS2_TCTI_FINALIZE_FCN =
6245 ::std::option::Option<unsafe extern "C" fn(tctiContext: *mut TSS2_TCTI_CONTEXT)>;
6246pub type TSS2_TCTI_CANCEL_FCN =
6247 ::std::option::Option<unsafe extern "C" fn(tctiContext: *mut TSS2_TCTI_CONTEXT) -> TSS2_RC>;
6248pub type TSS2_TCTI_GET_POLL_HANDLES_FCN = ::std::option::Option<
6249 unsafe extern "C" fn(
6250 tctiContext: *mut TSS2_TCTI_CONTEXT,
6251 handles: *mut TSS2_TCTI_POLL_HANDLE,
6252 num_handles: *mut size_t,
6253 ) -> TSS2_RC,
6254>;
6255pub type TSS2_TCTI_SET_LOCALITY_FCN = ::std::option::Option<
6256 unsafe extern "C" fn(tctiContext: *mut TSS2_TCTI_CONTEXT, locality: u8) -> TSS2_RC,
6257>;
6258pub type TSS2_TCTI_MAKE_STICKY_FCN = ::std::option::Option<
6259 unsafe extern "C" fn(
6260 tctiContext: *mut TSS2_TCTI_CONTEXT,
6261 handle: *mut TPM2_HANDLE,
6262 sticky: u8,
6263 ) -> TSS2_RC,
6264>;
6265pub type TSS2_TCTI_INIT_FUNC = ::std::option::Option<
6266 unsafe extern "C" fn(
6267 tctiContext: *mut TSS2_TCTI_CONTEXT,
6268 size: *mut size_t,
6269 config: *const ::std::os::raw::c_char,
6270 ) -> TSS2_RC,
6271>;
6272#[repr(C)]
6273#[derive(Debug, Default, Copy, Clone)]
6274pub struct TSS2_TCTI_CONTEXT_COMMON_V1 {
6275 pub magic: u64,
6276 pub version: u32,
6277 pub transmit: TSS2_TCTI_TRANSMIT_FCN,
6278 pub receive: TSS2_TCTI_RECEIVE_FCN,
6279 pub finalize: TSS2_TCTI_FINALIZE_FCN,
6280 pub cancel: TSS2_TCTI_CANCEL_FCN,
6281 pub getPollHandles: TSS2_TCTI_GET_POLL_HANDLES_FCN,
6282 pub setLocality: TSS2_TCTI_SET_LOCALITY_FCN,
6283}
6284#[test]
6285fn bindgen_test_layout_TSS2_TCTI_CONTEXT_COMMON_V1() {
6286 const UNINIT: ::std::mem::MaybeUninit<TSS2_TCTI_CONTEXT_COMMON_V1> =
6287 ::std::mem::MaybeUninit::uninit();
6288 let ptr = UNINIT.as_ptr();
6289 assert_eq!(
6290 ::std::mem::size_of::<TSS2_TCTI_CONTEXT_COMMON_V1>(),
6291 64usize,
6292 "Size of TSS2_TCTI_CONTEXT_COMMON_V1"
6293 );
6294 assert_eq!(
6295 ::std::mem::align_of::<TSS2_TCTI_CONTEXT_COMMON_V1>(),
6296 8usize,
6297 "Alignment of TSS2_TCTI_CONTEXT_COMMON_V1"
6298 );
6299 assert_eq!(
6300 unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
6301 0usize,
6302 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::magic"
6303 );
6304 assert_eq!(
6305 unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6306 8usize,
6307 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::version"
6308 );
6309 assert_eq!(
6310 unsafe { ::std::ptr::addr_of!((*ptr).transmit) as usize - ptr as usize },
6311 16usize,
6312 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::transmit"
6313 );
6314 assert_eq!(
6315 unsafe { ::std::ptr::addr_of!((*ptr).receive) as usize - ptr as usize },
6316 24usize,
6317 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::receive"
6318 );
6319 assert_eq!(
6320 unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
6321 32usize,
6322 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::finalize"
6323 );
6324 assert_eq!(
6325 unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
6326 40usize,
6327 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::cancel"
6328 );
6329 assert_eq!(
6330 unsafe { ::std::ptr::addr_of!((*ptr).getPollHandles) as usize - ptr as usize },
6331 48usize,
6332 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::getPollHandles"
6333 );
6334 assert_eq!(
6335 unsafe { ::std::ptr::addr_of!((*ptr).setLocality) as usize - ptr as usize },
6336 56usize,
6337 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V1::setLocality"
6338 );
6339}
6340#[repr(C)]
6341#[derive(Debug, Default, Copy, Clone)]
6342pub struct TSS2_TCTI_CONTEXT_COMMON_V2 {
6343 pub v1: TSS2_TCTI_CONTEXT_COMMON_V1,
6344 pub makeSticky: TSS2_TCTI_MAKE_STICKY_FCN,
6345}
6346#[test]
6347fn bindgen_test_layout_TSS2_TCTI_CONTEXT_COMMON_V2() {
6348 const UNINIT: ::std::mem::MaybeUninit<TSS2_TCTI_CONTEXT_COMMON_V2> =
6349 ::std::mem::MaybeUninit::uninit();
6350 let ptr = UNINIT.as_ptr();
6351 assert_eq!(
6352 ::std::mem::size_of::<TSS2_TCTI_CONTEXT_COMMON_V2>(),
6353 72usize,
6354 "Size of TSS2_TCTI_CONTEXT_COMMON_V2"
6355 );
6356 assert_eq!(
6357 ::std::mem::align_of::<TSS2_TCTI_CONTEXT_COMMON_V2>(),
6358 8usize,
6359 "Alignment of TSS2_TCTI_CONTEXT_COMMON_V2"
6360 );
6361 assert_eq!(
6362 unsafe { ::std::ptr::addr_of!((*ptr).v1) as usize - ptr as usize },
6363 0usize,
6364 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V2::v1"
6365 );
6366 assert_eq!(
6367 unsafe { ::std::ptr::addr_of!((*ptr).makeSticky) as usize - ptr as usize },
6368 64usize,
6369 "Offset of field: TSS2_TCTI_CONTEXT_COMMON_V2::makeSticky"
6370 );
6371}
6372pub type TSS2_TCTI_CONTEXT_COMMON_CURRENT = TSS2_TCTI_CONTEXT_COMMON_V2;
6373#[repr(C)]
6374#[derive(Debug, Copy, Clone)]
6375pub struct TSS2_TCTI_INFO {
6376 pub version: u32,
6377 pub name: *const ::std::os::raw::c_char,
6378 pub description: *const ::std::os::raw::c_char,
6379 pub config_help: *const ::std::os::raw::c_char,
6380 pub init: TSS2_TCTI_INIT_FUNC,
6381}
6382#[test]
6383fn bindgen_test_layout_TSS2_TCTI_INFO() {
6384 const UNINIT: ::std::mem::MaybeUninit<TSS2_TCTI_INFO> = ::std::mem::MaybeUninit::uninit();
6385 let ptr = UNINIT.as_ptr();
6386 assert_eq!(
6387 ::std::mem::size_of::<TSS2_TCTI_INFO>(),
6388 40usize,
6389 "Size of TSS2_TCTI_INFO"
6390 );
6391 assert_eq!(
6392 ::std::mem::align_of::<TSS2_TCTI_INFO>(),
6393 8usize,
6394 "Alignment of TSS2_TCTI_INFO"
6395 );
6396 assert_eq!(
6397 unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6398 0usize,
6399 "Offset of field: TSS2_TCTI_INFO::version"
6400 );
6401 assert_eq!(
6402 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
6403 8usize,
6404 "Offset of field: TSS2_TCTI_INFO::name"
6405 );
6406 assert_eq!(
6407 unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
6408 16usize,
6409 "Offset of field: TSS2_TCTI_INFO::description"
6410 );
6411 assert_eq!(
6412 unsafe { ::std::ptr::addr_of!((*ptr).config_help) as usize - ptr as usize },
6413 24usize,
6414 "Offset of field: TSS2_TCTI_INFO::config_help"
6415 );
6416 assert_eq!(
6417 unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
6418 32usize,
6419 "Offset of field: TSS2_TCTI_INFO::init"
6420 );
6421}
6422impl Default for TSS2_TCTI_INFO {
6423 fn default() -> Self {
6424 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6425 unsafe {
6426 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6427 s.assume_init()
6428 }
6429 }
6430}
6431pub type TSS2_TCTI_INFO_FUNC =
6432 ::std::option::Option<unsafe extern "C" fn() -> *const TSS2_TCTI_INFO>;
6433#[repr(C)]
6434#[derive(Debug, Copy, Clone)]
6435pub struct _TSS2_SYS_OPAQUE_CONTEXT_BLOB {
6436 _unused: [u8; 0],
6437}
6438pub type TSS2_SYS_CONTEXT = _TSS2_SYS_OPAQUE_CONTEXT_BLOB;
6439#[repr(C)]
6440#[derive(Debug, Copy, Clone)]
6441pub struct TSS2L_SYS_AUTH_COMMAND {
6442 pub count: u16,
6443 pub auths: [TPMS_AUTH_COMMAND; 3usize],
6444}
6445#[test]
6446fn bindgen_test_layout_TSS2L_SYS_AUTH_COMMAND() {
6447 const UNINIT: ::std::mem::MaybeUninit<TSS2L_SYS_AUTH_COMMAND> =
6448 ::std::mem::MaybeUninit::uninit();
6449 let ptr = UNINIT.as_ptr();
6450 assert_eq!(
6451 ::std::mem::size_of::<TSS2L_SYS_AUTH_COMMAND>(),
6452 424usize,
6453 "Size of TSS2L_SYS_AUTH_COMMAND"
6454 );
6455 assert_eq!(
6456 ::std::mem::align_of::<TSS2L_SYS_AUTH_COMMAND>(),
6457 4usize,
6458 "Alignment of TSS2L_SYS_AUTH_COMMAND"
6459 );
6460 assert_eq!(
6461 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
6462 0usize,
6463 "Offset of field: TSS2L_SYS_AUTH_COMMAND::count"
6464 );
6465 assert_eq!(
6466 unsafe { ::std::ptr::addr_of!((*ptr).auths) as usize - ptr as usize },
6467 4usize,
6468 "Offset of field: TSS2L_SYS_AUTH_COMMAND::auths"
6469 );
6470}
6471impl Default for TSS2L_SYS_AUTH_COMMAND {
6472 fn default() -> Self {
6473 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6474 unsafe {
6475 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6476 s.assume_init()
6477 }
6478 }
6479}
6480#[repr(C)]
6481#[derive(Debug, Copy, Clone)]
6482pub struct TSS2L_SYS_AUTH_RESPONSE {
6483 pub count: u16,
6484 pub auths: [TPMS_AUTH_RESPONSE; 3usize],
6485}
6486#[test]
6487fn bindgen_test_layout_TSS2L_SYS_AUTH_RESPONSE() {
6488 const UNINIT: ::std::mem::MaybeUninit<TSS2L_SYS_AUTH_RESPONSE> =
6489 ::std::mem::MaybeUninit::uninit();
6490 let ptr = UNINIT.as_ptr();
6491 assert_eq!(
6492 ::std::mem::size_of::<TSS2L_SYS_AUTH_RESPONSE>(),
6493 404usize,
6494 "Size of TSS2L_SYS_AUTH_RESPONSE"
6495 );
6496 assert_eq!(
6497 ::std::mem::align_of::<TSS2L_SYS_AUTH_RESPONSE>(),
6498 2usize,
6499 "Alignment of TSS2L_SYS_AUTH_RESPONSE"
6500 );
6501 assert_eq!(
6502 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
6503 0usize,
6504 "Offset of field: TSS2L_SYS_AUTH_RESPONSE::count"
6505 );
6506 assert_eq!(
6507 unsafe { ::std::ptr::addr_of!((*ptr).auths) as usize - ptr as usize },
6508 2usize,
6509 "Offset of field: TSS2L_SYS_AUTH_RESPONSE::auths"
6510 );
6511}
6512impl Default for TSS2L_SYS_AUTH_RESPONSE {
6513 fn default() -> Self {
6514 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6515 unsafe {
6516 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6517 s.assume_init()
6518 }
6519 }
6520}
6521extern "C" {
6522 pub fn Tss2_Sys_GetContextSize(maxCommandResponseSize: size_t) -> size_t;
6523}
6524extern "C" {
6525 pub fn Tss2_Sys_Initialize(
6526 sysContext: *mut TSS2_SYS_CONTEXT,
6527 contextSize: size_t,
6528 tctiContext: *mut TSS2_TCTI_CONTEXT,
6529 abiVersion: *mut TSS2_ABI_VERSION,
6530 ) -> TSS2_RC;
6531}
6532extern "C" {
6533 pub fn Tss2_Sys_Finalize(sysContext: *mut TSS2_SYS_CONTEXT);
6534}
6535extern "C" {
6536 pub fn Tss2_Sys_GetTctiContext(
6537 sysContext: *mut TSS2_SYS_CONTEXT,
6538 tctiContext: *mut *mut TSS2_TCTI_CONTEXT,
6539 ) -> TSS2_RC;
6540}
6541extern "C" {
6542 pub fn Tss2_Sys_GetDecryptParam(
6543 sysContext: *mut TSS2_SYS_CONTEXT,
6544 decryptParamSize: *mut size_t,
6545 decryptParamBuffer: *mut *const u8,
6546 ) -> TSS2_RC;
6547}
6548extern "C" {
6549 pub fn Tss2_Sys_SetDecryptParam(
6550 sysContext: *mut TSS2_SYS_CONTEXT,
6551 decryptParamSize: size_t,
6552 decryptParamBuffer: *const u8,
6553 ) -> TSS2_RC;
6554}
6555extern "C" {
6556 pub fn Tss2_Sys_GetCpBuffer(
6557 sysContext: *mut TSS2_SYS_CONTEXT,
6558 cpBufferUsedSize: *mut size_t,
6559 cpBuffer: *mut *const u8,
6560 ) -> TSS2_RC;
6561}
6562extern "C" {
6563 pub fn Tss2_Sys_SetCmdAuths(
6564 sysContext: *mut TSS2_SYS_CONTEXT,
6565 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6566 ) -> TSS2_RC;
6567}
6568extern "C" {
6569 pub fn Tss2_Sys_ExecuteAsync(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
6570}
6571extern "C" {
6572 pub fn Tss2_Sys_ExecuteFinish(sysContext: *mut TSS2_SYS_CONTEXT, timeout: i32) -> TSS2_RC;
6573}
6574extern "C" {
6575 pub fn Tss2_Sys_Execute(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
6576}
6577extern "C" {
6578 pub fn Tss2_Sys_GetCommandCode(
6579 sysContext: *mut TSS2_SYS_CONTEXT,
6580 commandCode: *mut UINT8,
6581 ) -> TSS2_RC;
6582}
6583extern "C" {
6584 pub fn Tss2_Sys_GetRspAuths(
6585 sysContext: *mut TSS2_SYS_CONTEXT,
6586 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6587 ) -> TSS2_RC;
6588}
6589extern "C" {
6590 pub fn Tss2_Sys_GetEncryptParam(
6591 sysContext: *mut TSS2_SYS_CONTEXT,
6592 encryptParamSize: *mut size_t,
6593 encryptParamBuffer: *mut *const u8,
6594 ) -> TSS2_RC;
6595}
6596extern "C" {
6597 pub fn Tss2_Sys_SetEncryptParam(
6598 sysContext: *mut TSS2_SYS_CONTEXT,
6599 encryptParamSize: size_t,
6600 encryptParamBuffer: *const u8,
6601 ) -> TSS2_RC;
6602}
6603extern "C" {
6604 pub fn Tss2_Sys_GetRpBuffer(
6605 sysContext: *mut TSS2_SYS_CONTEXT,
6606 rpBufferUsedSize: *mut size_t,
6607 rpBuffer: *mut *const u8,
6608 ) -> TSS2_RC;
6609}
6610extern "C" {
6611 pub fn Tss2_Sys_Startup_Prepare(
6612 sysContext: *mut TSS2_SYS_CONTEXT,
6613 startupType: TPM2_SU,
6614 ) -> TSS2_RC;
6615}
6616extern "C" {
6617 pub fn Tss2_Sys_Startup_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
6618}
6619extern "C" {
6620 pub fn Tss2_Sys_Startup(sysContext: *mut TSS2_SYS_CONTEXT, startupType: TPM2_SU) -> TSS2_RC;
6621}
6622extern "C" {
6623 pub fn Tss2_Sys_Shutdown_Prepare(
6624 sysContext: *mut TSS2_SYS_CONTEXT,
6625 shutdownType: TPM2_SU,
6626 ) -> TSS2_RC;
6627}
6628extern "C" {
6629 pub fn Tss2_Sys_Shutdown_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
6630}
6631extern "C" {
6632 pub fn Tss2_Sys_Shutdown(
6633 sysContext: *mut TSS2_SYS_CONTEXT,
6634 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6635 shutdownType: TPM2_SU,
6636 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6637 ) -> TSS2_RC;
6638}
6639extern "C" {
6640 pub fn Tss2_Sys_SelfTest_Prepare(
6641 sysContext: *mut TSS2_SYS_CONTEXT,
6642 fullTest: TPMI_YES_NO,
6643 ) -> TSS2_RC;
6644}
6645extern "C" {
6646 pub fn Tss2_Sys_SelfTest_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
6647}
6648extern "C" {
6649 pub fn Tss2_Sys_SelfTest(
6650 sysContext: *mut TSS2_SYS_CONTEXT,
6651 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6652 fullTest: TPMI_YES_NO,
6653 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6654 ) -> TSS2_RC;
6655}
6656extern "C" {
6657 pub fn Tss2_Sys_IncrementalSelfTest_Prepare(
6658 sysContext: *mut TSS2_SYS_CONTEXT,
6659 toTest: *const TPML_ALG,
6660 ) -> TSS2_RC;
6661}
6662extern "C" {
6663 pub fn Tss2_Sys_IncrementalSelfTest_Complete(
6664 sysContext: *mut TSS2_SYS_CONTEXT,
6665 toDoList: *mut TPML_ALG,
6666 ) -> TSS2_RC;
6667}
6668extern "C" {
6669 pub fn Tss2_Sys_IncrementalSelfTest(
6670 sysContext: *mut TSS2_SYS_CONTEXT,
6671 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6672 toTest: *const TPML_ALG,
6673 toDoList: *mut TPML_ALG,
6674 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6675 ) -> TSS2_RC;
6676}
6677extern "C" {
6678 pub fn Tss2_Sys_GetTestResult_Prepare(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
6679}
6680extern "C" {
6681 pub fn Tss2_Sys_GetTestResult_Complete(
6682 sysContext: *mut TSS2_SYS_CONTEXT,
6683 outData: *mut TPM2B_MAX_BUFFER,
6684 testResult: *mut TPM2_RC,
6685 ) -> TSS2_RC;
6686}
6687extern "C" {
6688 pub fn Tss2_Sys_GetTestResult(
6689 sysContext: *mut TSS2_SYS_CONTEXT,
6690 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6691 outData: *mut TPM2B_MAX_BUFFER,
6692 testResult: *mut TPM2_RC,
6693 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6694 ) -> TSS2_RC;
6695}
6696extern "C" {
6697 pub fn Tss2_Sys_StartAuthSession_Prepare(
6698 sysContext: *mut TSS2_SYS_CONTEXT,
6699 tpmKey: TPMI_DH_OBJECT,
6700 bind: TPMI_DH_ENTITY,
6701 nonceCaller: *const TPM2B_NONCE,
6702 encryptedSalt: *const TPM2B_ENCRYPTED_SECRET,
6703 sessionType: TPM2_SE,
6704 symmetric: *const TPMT_SYM_DEF,
6705 authHash: TPMI_ALG_HASH,
6706 ) -> TSS2_RC;
6707}
6708extern "C" {
6709 pub fn Tss2_Sys_StartAuthSession_Complete(
6710 sysContext: *mut TSS2_SYS_CONTEXT,
6711 sessionHandle: *mut TPMI_SH_AUTH_SESSION,
6712 nonceTPM: *mut TPM2B_NONCE,
6713 ) -> TSS2_RC;
6714}
6715extern "C" {
6716 pub fn Tss2_Sys_StartAuthSession(
6717 sysContext: *mut TSS2_SYS_CONTEXT,
6718 tpmKey: TPMI_DH_OBJECT,
6719 bind: TPMI_DH_ENTITY,
6720 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6721 nonceCaller: *const TPM2B_NONCE,
6722 encryptedSalt: *const TPM2B_ENCRYPTED_SECRET,
6723 sessionType: TPM2_SE,
6724 symmetric: *const TPMT_SYM_DEF,
6725 authHash: TPMI_ALG_HASH,
6726 sessionHandle: *mut TPMI_SH_AUTH_SESSION,
6727 nonceTPM: *mut TPM2B_NONCE,
6728 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6729 ) -> TSS2_RC;
6730}
6731extern "C" {
6732 pub fn Tss2_Sys_PolicyRestart_Prepare(
6733 sysContext: *mut TSS2_SYS_CONTEXT,
6734 sessionHandle: TPMI_SH_POLICY,
6735 ) -> TSS2_RC;
6736}
6737extern "C" {
6738 pub fn Tss2_Sys_PolicyRestart_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
6739}
6740extern "C" {
6741 pub fn Tss2_Sys_PolicyRestart(
6742 sysContext: *mut TSS2_SYS_CONTEXT,
6743 sessionHandle: TPMI_SH_POLICY,
6744 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6745 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6746 ) -> TSS2_RC;
6747}
6748extern "C" {
6749 pub fn Tss2_Sys_Create_Prepare(
6750 sysContext: *mut TSS2_SYS_CONTEXT,
6751 parentHandle: TPMI_DH_OBJECT,
6752 inSensitive: *const TPM2B_SENSITIVE_CREATE,
6753 inPublic: *const TPM2B_PUBLIC,
6754 outsideInfo: *const TPM2B_DATA,
6755 creationPCR: *const TPML_PCR_SELECTION,
6756 ) -> TSS2_RC;
6757}
6758extern "C" {
6759 pub fn Tss2_Sys_Create_Complete(
6760 sysContext: *mut TSS2_SYS_CONTEXT,
6761 outPrivate: *mut TPM2B_PRIVATE,
6762 outPublic: *mut TPM2B_PUBLIC,
6763 creationData: *mut TPM2B_CREATION_DATA,
6764 creationHash: *mut TPM2B_DIGEST,
6765 creationTicket: *mut TPMT_TK_CREATION,
6766 ) -> TSS2_RC;
6767}
6768extern "C" {
6769 pub fn Tss2_Sys_Create(
6770 sysContext: *mut TSS2_SYS_CONTEXT,
6771 parentHandle: TPMI_DH_OBJECT,
6772 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6773 inSensitive: *const TPM2B_SENSITIVE_CREATE,
6774 inPublic: *const TPM2B_PUBLIC,
6775 outsideInfo: *const TPM2B_DATA,
6776 creationPCR: *const TPML_PCR_SELECTION,
6777 outPrivate: *mut TPM2B_PRIVATE,
6778 outPublic: *mut TPM2B_PUBLIC,
6779 creationData: *mut TPM2B_CREATION_DATA,
6780 creationHash: *mut TPM2B_DIGEST,
6781 creationTicket: *mut TPMT_TK_CREATION,
6782 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6783 ) -> TSS2_RC;
6784}
6785extern "C" {
6786 pub fn Tss2_Sys_Load_Prepare(
6787 sysContext: *mut TSS2_SYS_CONTEXT,
6788 parentHandle: TPMI_DH_OBJECT,
6789 inPrivate: *const TPM2B_PRIVATE,
6790 inPublic: *const TPM2B_PUBLIC,
6791 ) -> TSS2_RC;
6792}
6793extern "C" {
6794 pub fn Tss2_Sys_Load_Complete(
6795 sysContext: *mut TSS2_SYS_CONTEXT,
6796 objectHandle: *mut TPM2_HANDLE,
6797 name: *mut TPM2B_NAME,
6798 ) -> TSS2_RC;
6799}
6800extern "C" {
6801 pub fn Tss2_Sys_Load(
6802 sysContext: *mut TSS2_SYS_CONTEXT,
6803 parentHandle: TPMI_DH_OBJECT,
6804 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6805 inPrivate: *const TPM2B_PRIVATE,
6806 inPublic: *const TPM2B_PUBLIC,
6807 objectHandle: *mut TPM2_HANDLE,
6808 name: *mut TPM2B_NAME,
6809 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6810 ) -> TSS2_RC;
6811}
6812extern "C" {
6813 pub fn Tss2_Sys_LoadExternal_Prepare(
6814 sysContext: *mut TSS2_SYS_CONTEXT,
6815 inPrivate: *const TPM2B_SENSITIVE,
6816 inPublic: *const TPM2B_PUBLIC,
6817 hierarchy: TPMI_RH_HIERARCHY,
6818 ) -> TSS2_RC;
6819}
6820extern "C" {
6821 pub fn Tss2_Sys_LoadExternal_Complete(
6822 sysContext: *mut TSS2_SYS_CONTEXT,
6823 objectHandle: *mut TPM2_HANDLE,
6824 name: *mut TPM2B_NAME,
6825 ) -> TSS2_RC;
6826}
6827extern "C" {
6828 pub fn Tss2_Sys_LoadExternal(
6829 sysContext: *mut TSS2_SYS_CONTEXT,
6830 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6831 inPrivate: *const TPM2B_SENSITIVE,
6832 inPublic: *const TPM2B_PUBLIC,
6833 hierarchy: TPMI_RH_HIERARCHY,
6834 objectHandle: *mut TPM2_HANDLE,
6835 name: *mut TPM2B_NAME,
6836 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6837 ) -> TSS2_RC;
6838}
6839extern "C" {
6840 pub fn Tss2_Sys_ReadPublic_Prepare(
6841 sysContext: *mut TSS2_SYS_CONTEXT,
6842 objectHandle: TPMI_DH_OBJECT,
6843 ) -> TSS2_RC;
6844}
6845extern "C" {
6846 pub fn Tss2_Sys_ReadPublic_Complete(
6847 sysContext: *mut TSS2_SYS_CONTEXT,
6848 outPublic: *mut TPM2B_PUBLIC,
6849 name: *mut TPM2B_NAME,
6850 qualifiedName: *mut TPM2B_NAME,
6851 ) -> TSS2_RC;
6852}
6853extern "C" {
6854 pub fn Tss2_Sys_ReadPublic(
6855 sysContext: *mut TSS2_SYS_CONTEXT,
6856 objectHandle: TPMI_DH_OBJECT,
6857 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6858 outPublic: *mut TPM2B_PUBLIC,
6859 name: *mut TPM2B_NAME,
6860 qualifiedName: *mut TPM2B_NAME,
6861 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6862 ) -> TSS2_RC;
6863}
6864extern "C" {
6865 pub fn Tss2_Sys_ActivateCredential_Prepare(
6866 sysContext: *mut TSS2_SYS_CONTEXT,
6867 activateHandle: TPMI_DH_OBJECT,
6868 keyHandle: TPMI_DH_OBJECT,
6869 credentialBlob: *const TPM2B_ID_OBJECT,
6870 secret: *const TPM2B_ENCRYPTED_SECRET,
6871 ) -> TSS2_RC;
6872}
6873extern "C" {
6874 pub fn Tss2_Sys_ActivateCredential_Complete(
6875 sysContext: *mut TSS2_SYS_CONTEXT,
6876 certInfo: *mut TPM2B_DIGEST,
6877 ) -> TSS2_RC;
6878}
6879extern "C" {
6880 pub fn Tss2_Sys_ActivateCredential(
6881 sysContext: *mut TSS2_SYS_CONTEXT,
6882 activateHandle: TPMI_DH_OBJECT,
6883 keyHandle: TPMI_DH_OBJECT,
6884 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6885 credentialBlob: *const TPM2B_ID_OBJECT,
6886 secret: *const TPM2B_ENCRYPTED_SECRET,
6887 certInfo: *mut TPM2B_DIGEST,
6888 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6889 ) -> TSS2_RC;
6890}
6891extern "C" {
6892 pub fn Tss2_Sys_MakeCredential_Prepare(
6893 sysContext: *mut TSS2_SYS_CONTEXT,
6894 handle: TPMI_DH_OBJECT,
6895 credential: *const TPM2B_DIGEST,
6896 objectName: *const TPM2B_NAME,
6897 ) -> TSS2_RC;
6898}
6899extern "C" {
6900 pub fn Tss2_Sys_MakeCredential_Complete(
6901 sysContext: *mut TSS2_SYS_CONTEXT,
6902 credentialBlob: *mut TPM2B_ID_OBJECT,
6903 secret: *mut TPM2B_ENCRYPTED_SECRET,
6904 ) -> TSS2_RC;
6905}
6906extern "C" {
6907 pub fn Tss2_Sys_MakeCredential(
6908 sysContext: *mut TSS2_SYS_CONTEXT,
6909 handle: TPMI_DH_OBJECT,
6910 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6911 credential: *const TPM2B_DIGEST,
6912 objectName: *const TPM2B_NAME,
6913 credentialBlob: *mut TPM2B_ID_OBJECT,
6914 secret: *mut TPM2B_ENCRYPTED_SECRET,
6915 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6916 ) -> TSS2_RC;
6917}
6918extern "C" {
6919 pub fn Tss2_Sys_Unseal_Prepare(
6920 sysContext: *mut TSS2_SYS_CONTEXT,
6921 itemHandle: TPMI_DH_OBJECT,
6922 ) -> TSS2_RC;
6923}
6924extern "C" {
6925 pub fn Tss2_Sys_Unseal_Complete(
6926 sysContext: *mut TSS2_SYS_CONTEXT,
6927 outData: *mut TPM2B_SENSITIVE_DATA,
6928 ) -> TSS2_RC;
6929}
6930extern "C" {
6931 pub fn Tss2_Sys_Unseal(
6932 sysContext: *mut TSS2_SYS_CONTEXT,
6933 itemHandle: TPMI_DH_OBJECT,
6934 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6935 outData: *mut TPM2B_SENSITIVE_DATA,
6936 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6937 ) -> TSS2_RC;
6938}
6939extern "C" {
6940 pub fn Tss2_Sys_ObjectChangeAuth_Prepare(
6941 sysContext: *mut TSS2_SYS_CONTEXT,
6942 objectHandle: TPMI_DH_OBJECT,
6943 parentHandle: TPMI_DH_OBJECT,
6944 newAuth: *const TPM2B_AUTH,
6945 ) -> TSS2_RC;
6946}
6947extern "C" {
6948 pub fn Tss2_Sys_ObjectChangeAuth_Complete(
6949 sysContext: *mut TSS2_SYS_CONTEXT,
6950 outPrivate: *mut TPM2B_PRIVATE,
6951 ) -> TSS2_RC;
6952}
6953extern "C" {
6954 pub fn Tss2_Sys_ObjectChangeAuth(
6955 sysContext: *mut TSS2_SYS_CONTEXT,
6956 objectHandle: TPMI_DH_OBJECT,
6957 parentHandle: TPMI_DH_OBJECT,
6958 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6959 newAuth: *const TPM2B_AUTH,
6960 outPrivate: *mut TPM2B_PRIVATE,
6961 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6962 ) -> TSS2_RC;
6963}
6964extern "C" {
6965 pub fn Tss2_Sys_Duplicate_Prepare(
6966 sysContext: *mut TSS2_SYS_CONTEXT,
6967 objectHandle: TPMI_DH_OBJECT,
6968 newParentHandle: TPMI_DH_OBJECT,
6969 encryptionKeyIn: *const TPM2B_DATA,
6970 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
6971 ) -> TSS2_RC;
6972}
6973extern "C" {
6974 pub fn Tss2_Sys_Duplicate_Complete(
6975 sysContext: *mut TSS2_SYS_CONTEXT,
6976 encryptionKeyOut: *mut TPM2B_DATA,
6977 duplicate: *mut TPM2B_PRIVATE,
6978 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
6979 ) -> TSS2_RC;
6980}
6981extern "C" {
6982 pub fn Tss2_Sys_Duplicate(
6983 sysContext: *mut TSS2_SYS_CONTEXT,
6984 objectHandle: TPMI_DH_OBJECT,
6985 newParentHandle: TPMI_DH_OBJECT,
6986 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
6987 encryptionKeyIn: *const TPM2B_DATA,
6988 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
6989 encryptionKeyOut: *mut TPM2B_DATA,
6990 duplicate: *mut TPM2B_PRIVATE,
6991 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
6992 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
6993 ) -> TSS2_RC;
6994}
6995extern "C" {
6996 pub fn Tss2_Sys_Rewrap_Prepare(
6997 sysContext: *mut TSS2_SYS_CONTEXT,
6998 oldParent: TPMI_DH_OBJECT,
6999 newParent: TPMI_DH_OBJECT,
7000 inDuplicate: *const TPM2B_PRIVATE,
7001 name: *const TPM2B_NAME,
7002 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
7003 ) -> TSS2_RC;
7004}
7005extern "C" {
7006 pub fn Tss2_Sys_Rewrap_Complete(
7007 sysContext: *mut TSS2_SYS_CONTEXT,
7008 outDuplicate: *mut TPM2B_PRIVATE,
7009 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
7010 ) -> TSS2_RC;
7011}
7012extern "C" {
7013 pub fn Tss2_Sys_Rewrap(
7014 sysContext: *mut TSS2_SYS_CONTEXT,
7015 oldParent: TPMI_DH_OBJECT,
7016 newParent: TPMI_DH_OBJECT,
7017 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7018 inDuplicate: *const TPM2B_PRIVATE,
7019 name: *const TPM2B_NAME,
7020 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
7021 outDuplicate: *mut TPM2B_PRIVATE,
7022 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
7023 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7024 ) -> TSS2_RC;
7025}
7026extern "C" {
7027 pub fn Tss2_Sys_Import_Prepare(
7028 sysContext: *mut TSS2_SYS_CONTEXT,
7029 parentHandle: TPMI_DH_OBJECT,
7030 encryptionKey: *const TPM2B_DATA,
7031 objectPublic: *const TPM2B_PUBLIC,
7032 duplicate: *const TPM2B_PRIVATE,
7033 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
7034 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
7035 ) -> TSS2_RC;
7036}
7037extern "C" {
7038 pub fn Tss2_Sys_Import_Complete(
7039 sysContext: *mut TSS2_SYS_CONTEXT,
7040 outPrivate: *mut TPM2B_PRIVATE,
7041 ) -> TSS2_RC;
7042}
7043extern "C" {
7044 pub fn Tss2_Sys_Import(
7045 sysContext: *mut TSS2_SYS_CONTEXT,
7046 parentHandle: TPMI_DH_OBJECT,
7047 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7048 encryptionKey: *const TPM2B_DATA,
7049 objectPublic: *const TPM2B_PUBLIC,
7050 duplicate: *const TPM2B_PRIVATE,
7051 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
7052 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
7053 outPrivate: *mut TPM2B_PRIVATE,
7054 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7055 ) -> TSS2_RC;
7056}
7057extern "C" {
7058 pub fn Tss2_Sys_RSA_Encrypt_Prepare(
7059 sysContext: *mut TSS2_SYS_CONTEXT,
7060 keyHandle: TPMI_DH_OBJECT,
7061 message: *const TPM2B_PUBLIC_KEY_RSA,
7062 inScheme: *const TPMT_RSA_DECRYPT,
7063 label: *const TPM2B_DATA,
7064 ) -> TSS2_RC;
7065}
7066extern "C" {
7067 pub fn Tss2_Sys_RSA_Encrypt_Complete(
7068 sysContext: *mut TSS2_SYS_CONTEXT,
7069 outData: *mut TPM2B_PUBLIC_KEY_RSA,
7070 ) -> TSS2_RC;
7071}
7072extern "C" {
7073 pub fn Tss2_Sys_RSA_Encrypt(
7074 sysContext: *mut TSS2_SYS_CONTEXT,
7075 keyHandle: TPMI_DH_OBJECT,
7076 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7077 message: *const TPM2B_PUBLIC_KEY_RSA,
7078 inScheme: *const TPMT_RSA_DECRYPT,
7079 label: *const TPM2B_DATA,
7080 outData: *mut TPM2B_PUBLIC_KEY_RSA,
7081 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7082 ) -> TSS2_RC;
7083}
7084extern "C" {
7085 pub fn Tss2_Sys_RSA_Decrypt_Prepare(
7086 sysContext: *mut TSS2_SYS_CONTEXT,
7087 keyHandle: TPMI_DH_OBJECT,
7088 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
7089 inScheme: *const TPMT_RSA_DECRYPT,
7090 label: *const TPM2B_DATA,
7091 ) -> TSS2_RC;
7092}
7093extern "C" {
7094 pub fn Tss2_Sys_RSA_Decrypt_Complete(
7095 sysContext: *mut TSS2_SYS_CONTEXT,
7096 message: *mut TPM2B_PUBLIC_KEY_RSA,
7097 ) -> TSS2_RC;
7098}
7099extern "C" {
7100 pub fn Tss2_Sys_RSA_Decrypt(
7101 sysContext: *mut TSS2_SYS_CONTEXT,
7102 keyHandle: TPMI_DH_OBJECT,
7103 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7104 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
7105 inScheme: *const TPMT_RSA_DECRYPT,
7106 label: *const TPM2B_DATA,
7107 message: *mut TPM2B_PUBLIC_KEY_RSA,
7108 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7109 ) -> TSS2_RC;
7110}
7111extern "C" {
7112 pub fn Tss2_Sys_ECDH_KeyGen_Prepare(
7113 sysContext: *mut TSS2_SYS_CONTEXT,
7114 keyHandle: TPMI_DH_OBJECT,
7115 ) -> TSS2_RC;
7116}
7117extern "C" {
7118 pub fn Tss2_Sys_ECDH_KeyGen_Complete(
7119 sysContext: *mut TSS2_SYS_CONTEXT,
7120 zPoint: *mut TPM2B_ECC_POINT,
7121 pubPoint: *mut TPM2B_ECC_POINT,
7122 ) -> TSS2_RC;
7123}
7124extern "C" {
7125 pub fn Tss2_Sys_ECDH_KeyGen(
7126 sysContext: *mut TSS2_SYS_CONTEXT,
7127 keyHandle: TPMI_DH_OBJECT,
7128 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7129 zPoint: *mut TPM2B_ECC_POINT,
7130 pubPoint: *mut TPM2B_ECC_POINT,
7131 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7132 ) -> TSS2_RC;
7133}
7134extern "C" {
7135 pub fn Tss2_Sys_ECDH_ZGen_Prepare(
7136 sysContext: *mut TSS2_SYS_CONTEXT,
7137 keyHandle: TPMI_DH_OBJECT,
7138 inPoint: *const TPM2B_ECC_POINT,
7139 ) -> TSS2_RC;
7140}
7141extern "C" {
7142 pub fn Tss2_Sys_ECDH_ZGen_Complete(
7143 sysContext: *mut TSS2_SYS_CONTEXT,
7144 outPoint: *mut TPM2B_ECC_POINT,
7145 ) -> TSS2_RC;
7146}
7147extern "C" {
7148 pub fn Tss2_Sys_ECDH_ZGen(
7149 sysContext: *mut TSS2_SYS_CONTEXT,
7150 keyHandle: TPMI_DH_OBJECT,
7151 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7152 inPoint: *const TPM2B_ECC_POINT,
7153 outPoint: *mut TPM2B_ECC_POINT,
7154 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7155 ) -> TSS2_RC;
7156}
7157extern "C" {
7158 pub fn Tss2_Sys_ECC_Parameters_Prepare(
7159 sysContext: *mut TSS2_SYS_CONTEXT,
7160 curveID: TPMI_ECC_CURVE,
7161 ) -> TSS2_RC;
7162}
7163extern "C" {
7164 pub fn Tss2_Sys_ECC_Parameters_Complete(
7165 sysContext: *mut TSS2_SYS_CONTEXT,
7166 parameters: *mut TPMS_ALGORITHM_DETAIL_ECC,
7167 ) -> TSS2_RC;
7168}
7169extern "C" {
7170 pub fn Tss2_Sys_ECC_Parameters(
7171 sysContext: *mut TSS2_SYS_CONTEXT,
7172 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7173 curveID: TPMI_ECC_CURVE,
7174 parameters: *mut TPMS_ALGORITHM_DETAIL_ECC,
7175 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7176 ) -> TSS2_RC;
7177}
7178extern "C" {
7179 pub fn Tss2_Sys_ZGen_2Phase_Prepare(
7180 sysContext: *mut TSS2_SYS_CONTEXT,
7181 keyA: TPMI_DH_OBJECT,
7182 inQsB: *const TPM2B_ECC_POINT,
7183 inQeB: *const TPM2B_ECC_POINT,
7184 inScheme: TPMI_ECC_KEY_EXCHANGE,
7185 counter: UINT16,
7186 ) -> TSS2_RC;
7187}
7188extern "C" {
7189 pub fn Tss2_Sys_ZGen_2Phase_Complete(
7190 sysContext: *mut TSS2_SYS_CONTEXT,
7191 outZ1: *mut TPM2B_ECC_POINT,
7192 outZ2: *mut TPM2B_ECC_POINT,
7193 ) -> TSS2_RC;
7194}
7195extern "C" {
7196 pub fn Tss2_Sys_ZGen_2Phase(
7197 sysContext: *mut TSS2_SYS_CONTEXT,
7198 keyA: TPMI_DH_OBJECT,
7199 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7200 inQsB: *const TPM2B_ECC_POINT,
7201 inQeB: *const TPM2B_ECC_POINT,
7202 inScheme: TPMI_ECC_KEY_EXCHANGE,
7203 counter: UINT16,
7204 outZ1: *mut TPM2B_ECC_POINT,
7205 outZ2: *mut TPM2B_ECC_POINT,
7206 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7207 ) -> TSS2_RC;
7208}
7209extern "C" {
7210 pub fn Tss2_Sys_EncryptDecrypt_Prepare(
7211 sysContext: *mut TSS2_SYS_CONTEXT,
7212 keyHandle: TPMI_DH_OBJECT,
7213 decrypt: TPMI_YES_NO,
7214 mode: TPMI_ALG_CIPHER_MODE,
7215 ivIn: *const TPM2B_IV,
7216 inData: *const TPM2B_MAX_BUFFER,
7217 ) -> TSS2_RC;
7218}
7219extern "C" {
7220 pub fn Tss2_Sys_EncryptDecrypt_Complete(
7221 sysContext: *mut TSS2_SYS_CONTEXT,
7222 outData: *mut TPM2B_MAX_BUFFER,
7223 ivOut: *mut TPM2B_IV,
7224 ) -> TSS2_RC;
7225}
7226extern "C" {
7227 pub fn Tss2_Sys_EncryptDecrypt(
7228 sysContext: *mut TSS2_SYS_CONTEXT,
7229 keyHandle: TPMI_DH_OBJECT,
7230 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7231 decrypt: TPMI_YES_NO,
7232 mode: TPMI_ALG_CIPHER_MODE,
7233 ivIn: *const TPM2B_IV,
7234 inData: *const TPM2B_MAX_BUFFER,
7235 outData: *mut TPM2B_MAX_BUFFER,
7236 ivOut: *mut TPM2B_IV,
7237 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7238 ) -> TSS2_RC;
7239}
7240extern "C" {
7241 pub fn Tss2_Sys_EncryptDecrypt2_Prepare(
7242 sysContext: *mut TSS2_SYS_CONTEXT,
7243 keyHandle: TPMI_DH_OBJECT,
7244 inData: *const TPM2B_MAX_BUFFER,
7245 decrypt: TPMI_YES_NO,
7246 mode: TPMI_ALG_CIPHER_MODE,
7247 ivIn: *const TPM2B_IV,
7248 ) -> TSS2_RC;
7249}
7250extern "C" {
7251 pub fn Tss2_Sys_EncryptDecrypt2_Complete(
7252 sysContext: *mut TSS2_SYS_CONTEXT,
7253 outData: *mut TPM2B_MAX_BUFFER,
7254 ivOut: *mut TPM2B_IV,
7255 ) -> TSS2_RC;
7256}
7257extern "C" {
7258 pub fn Tss2_Sys_EncryptDecrypt2(
7259 sysContext: *mut TSS2_SYS_CONTEXT,
7260 keyHandle: TPMI_DH_OBJECT,
7261 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7262 inData: *const TPM2B_MAX_BUFFER,
7263 decrypt: TPMI_YES_NO,
7264 mode: TPMI_ALG_CIPHER_MODE,
7265 ivIn: *const TPM2B_IV,
7266 outData: *mut TPM2B_MAX_BUFFER,
7267 ivOut: *mut TPM2B_IV,
7268 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7269 ) -> TSS2_RC;
7270}
7271extern "C" {
7272 pub fn Tss2_Sys_Hash_Prepare(
7273 sysContext: *mut TSS2_SYS_CONTEXT,
7274 data: *const TPM2B_MAX_BUFFER,
7275 hashAlg: TPMI_ALG_HASH,
7276 hierarchy: TPMI_RH_HIERARCHY,
7277 ) -> TSS2_RC;
7278}
7279extern "C" {
7280 pub fn Tss2_Sys_Hash_Complete(
7281 sysContext: *mut TSS2_SYS_CONTEXT,
7282 outHash: *mut TPM2B_DIGEST,
7283 validation: *mut TPMT_TK_HASHCHECK,
7284 ) -> TSS2_RC;
7285}
7286extern "C" {
7287 pub fn Tss2_Sys_Hash(
7288 sysContext: *mut TSS2_SYS_CONTEXT,
7289 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7290 data: *const TPM2B_MAX_BUFFER,
7291 hashAlg: TPMI_ALG_HASH,
7292 hierarchy: TPMI_RH_HIERARCHY,
7293 outHash: *mut TPM2B_DIGEST,
7294 validation: *mut TPMT_TK_HASHCHECK,
7295 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7296 ) -> TSS2_RC;
7297}
7298extern "C" {
7299 pub fn Tss2_Sys_HMAC_Prepare(
7300 sysContext: *mut TSS2_SYS_CONTEXT,
7301 handle: TPMI_DH_OBJECT,
7302 buffer: *const TPM2B_MAX_BUFFER,
7303 hashAlg: TPMI_ALG_HASH,
7304 ) -> TSS2_RC;
7305}
7306extern "C" {
7307 pub fn Tss2_Sys_HMAC_Complete(
7308 sysContext: *mut TSS2_SYS_CONTEXT,
7309 outHMAC: *mut TPM2B_DIGEST,
7310 ) -> TSS2_RC;
7311}
7312extern "C" {
7313 pub fn Tss2_Sys_HMAC(
7314 sysContext: *mut TSS2_SYS_CONTEXT,
7315 handle: TPMI_DH_OBJECT,
7316 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7317 buffer: *const TPM2B_MAX_BUFFER,
7318 hashAlg: TPMI_ALG_HASH,
7319 outHMAC: *mut TPM2B_DIGEST,
7320 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7321 ) -> TSS2_RC;
7322}
7323extern "C" {
7324 pub fn Tss2_Sys_MAC_Prepare(
7325 sysContext: *mut TSS2_SYS_CONTEXT,
7326 handle: TPMI_DH_OBJECT,
7327 buffer: *const TPM2B_MAX_BUFFER,
7328 inScheme: TPMI_ALG_MAC_SCHEME,
7329 ) -> TSS2_RC;
7330}
7331extern "C" {
7332 pub fn Tss2_Sys_MAC_Complete(
7333 sysContext: *mut TSS2_SYS_CONTEXT,
7334 outMAC: *mut TPM2B_DIGEST,
7335 ) -> TSS2_RC;
7336}
7337extern "C" {
7338 pub fn Tss2_Sys_MAC(
7339 sysContext: *mut TSS2_SYS_CONTEXT,
7340 handle: TPMI_DH_OBJECT,
7341 cmdAuths: *const TSS2L_SYS_AUTH_COMMAND,
7342 buffer: *const TPM2B_MAX_BUFFER,
7343 inScheme: TPMI_ALG_MAC_SCHEME,
7344 outMAC: *mut TPM2B_DIGEST,
7345 rspAuths: *mut TSS2L_SYS_AUTH_RESPONSE,
7346 ) -> TSS2_RC;
7347}
7348extern "C" {
7349 pub fn Tss2_Sys_GetRandom_Prepare(
7350 sysContext: *mut TSS2_SYS_CONTEXT,
7351 bytesRequested: UINT16,
7352 ) -> TSS2_RC;
7353}
7354extern "C" {
7355 pub fn Tss2_Sys_GetRandom_Complete(
7356 sysContext: *mut TSS2_SYS_CONTEXT,
7357 randomBytes: *mut TPM2B_DIGEST,
7358 ) -> TSS2_RC;
7359}
7360extern "C" {
7361 pub fn Tss2_Sys_GetRandom(
7362 sysContext: *mut TSS2_SYS_CONTEXT,
7363 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7364 bytesRequested: UINT16,
7365 randomBytes: *mut TPM2B_DIGEST,
7366 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7367 ) -> TSS2_RC;
7368}
7369extern "C" {
7370 pub fn Tss2_Sys_StirRandom_Prepare(
7371 sysContext: *mut TSS2_SYS_CONTEXT,
7372 inData: *const TPM2B_SENSITIVE_DATA,
7373 ) -> TSS2_RC;
7374}
7375extern "C" {
7376 pub fn Tss2_Sys_StirRandom_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
7377}
7378extern "C" {
7379 pub fn Tss2_Sys_StirRandom(
7380 sysContext: *mut TSS2_SYS_CONTEXT,
7381 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7382 inData: *const TPM2B_SENSITIVE_DATA,
7383 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7384 ) -> TSS2_RC;
7385}
7386extern "C" {
7387 pub fn Tss2_Sys_HMAC_Start_Prepare(
7388 sysContext: *mut TSS2_SYS_CONTEXT,
7389 handle: TPMI_DH_OBJECT,
7390 auth: *const TPM2B_AUTH,
7391 hashAlg: TPMI_ALG_HASH,
7392 ) -> TSS2_RC;
7393}
7394extern "C" {
7395 pub fn Tss2_Sys_HMAC_Start_Complete(
7396 sysContext: *mut TSS2_SYS_CONTEXT,
7397 sequenceHandle: *mut TPMI_DH_OBJECT,
7398 ) -> TSS2_RC;
7399}
7400extern "C" {
7401 pub fn Tss2_Sys_HMAC_Start(
7402 sysContext: *mut TSS2_SYS_CONTEXT,
7403 handle: TPMI_DH_OBJECT,
7404 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7405 auth: *const TPM2B_AUTH,
7406 hashAlg: TPMI_ALG_HASH,
7407 sequenceHandle: *mut TPMI_DH_OBJECT,
7408 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7409 ) -> TSS2_RC;
7410}
7411extern "C" {
7412 pub fn Tss2_Sys_MAC_Start_Prepare(
7413 sysContext: *mut TSS2_SYS_CONTEXT,
7414 handle: TPMI_DH_OBJECT,
7415 auth: *const TPM2B_AUTH,
7416 inScheme: TPMI_ALG_MAC_SCHEME,
7417 ) -> TSS2_RC;
7418}
7419extern "C" {
7420 pub fn Tss2_Sys_MAC_Start_Complete(
7421 sysContext: *mut TSS2_SYS_CONTEXT,
7422 sequenceHandle: *mut TPMI_DH_OBJECT,
7423 ) -> TSS2_RC;
7424}
7425extern "C" {
7426 pub fn Tss2_Sys_MAC_Start(
7427 sysContext: *mut TSS2_SYS_CONTEXT,
7428 handle: TPMI_DH_OBJECT,
7429 cmdAuths: *const TSS2L_SYS_AUTH_COMMAND,
7430 auth: *const TPM2B_AUTH,
7431 inScheme: TPMI_ALG_MAC_SCHEME,
7432 sequenceHandle: *mut TPMI_DH_OBJECT,
7433 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7434 ) -> TSS2_RC;
7435}
7436extern "C" {
7437 pub fn Tss2_Sys_HashSequenceStart_Prepare(
7438 sysContext: *mut TSS2_SYS_CONTEXT,
7439 auth: *const TPM2B_AUTH,
7440 hashAlg: TPMI_ALG_HASH,
7441 ) -> TSS2_RC;
7442}
7443extern "C" {
7444 pub fn Tss2_Sys_HashSequenceStart_Complete(
7445 sysContext: *mut TSS2_SYS_CONTEXT,
7446 sequenceHandle: *mut TPMI_DH_OBJECT,
7447 ) -> TSS2_RC;
7448}
7449extern "C" {
7450 pub fn Tss2_Sys_HashSequenceStart(
7451 sysContext: *mut TSS2_SYS_CONTEXT,
7452 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7453 auth: *const TPM2B_AUTH,
7454 hashAlg: TPMI_ALG_HASH,
7455 sequenceHandle: *mut TPMI_DH_OBJECT,
7456 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7457 ) -> TSS2_RC;
7458}
7459extern "C" {
7460 pub fn Tss2_Sys_SequenceUpdate_Prepare(
7461 sysContext: *mut TSS2_SYS_CONTEXT,
7462 sequenceHandle: TPMI_DH_OBJECT,
7463 buffer: *const TPM2B_MAX_BUFFER,
7464 ) -> TSS2_RC;
7465}
7466extern "C" {
7467 pub fn Tss2_Sys_SequenceUpdate_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
7468}
7469extern "C" {
7470 pub fn Tss2_Sys_SequenceUpdate(
7471 sysContext: *mut TSS2_SYS_CONTEXT,
7472 sequenceHandle: TPMI_DH_OBJECT,
7473 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7474 buffer: *const TPM2B_MAX_BUFFER,
7475 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7476 ) -> TSS2_RC;
7477}
7478extern "C" {
7479 pub fn Tss2_Sys_SequenceComplete_Prepare(
7480 sysContext: *mut TSS2_SYS_CONTEXT,
7481 sequenceHandle: TPMI_DH_OBJECT,
7482 buffer: *const TPM2B_MAX_BUFFER,
7483 hierarchy: TPMI_RH_HIERARCHY,
7484 ) -> TSS2_RC;
7485}
7486extern "C" {
7487 pub fn Tss2_Sys_SequenceComplete_Complete(
7488 sysContext: *mut TSS2_SYS_CONTEXT,
7489 result: *mut TPM2B_DIGEST,
7490 validation: *mut TPMT_TK_HASHCHECK,
7491 ) -> TSS2_RC;
7492}
7493extern "C" {
7494 pub fn Tss2_Sys_SequenceComplete(
7495 sysContext: *mut TSS2_SYS_CONTEXT,
7496 sequenceHandle: TPMI_DH_OBJECT,
7497 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7498 buffer: *const TPM2B_MAX_BUFFER,
7499 hierarchy: TPMI_RH_HIERARCHY,
7500 result: *mut TPM2B_DIGEST,
7501 validation: *mut TPMT_TK_HASHCHECK,
7502 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7503 ) -> TSS2_RC;
7504}
7505extern "C" {
7506 pub fn Tss2_Sys_EventSequenceComplete_Prepare(
7507 sysContext: *mut TSS2_SYS_CONTEXT,
7508 pcrHandle: TPMI_DH_PCR,
7509 sequenceHandle: TPMI_DH_OBJECT,
7510 buffer: *const TPM2B_MAX_BUFFER,
7511 ) -> TSS2_RC;
7512}
7513extern "C" {
7514 pub fn Tss2_Sys_EventSequenceComplete_Complete(
7515 sysContext: *mut TSS2_SYS_CONTEXT,
7516 results: *mut TPML_DIGEST_VALUES,
7517 ) -> TSS2_RC;
7518}
7519extern "C" {
7520 pub fn Tss2_Sys_EventSequenceComplete(
7521 sysContext: *mut TSS2_SYS_CONTEXT,
7522 pcrHandle: TPMI_DH_PCR,
7523 sequenceHandle: TPMI_DH_OBJECT,
7524 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7525 buffer: *const TPM2B_MAX_BUFFER,
7526 results: *mut TPML_DIGEST_VALUES,
7527 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7528 ) -> TSS2_RC;
7529}
7530extern "C" {
7531 pub fn Tss2_Sys_Certify_Prepare(
7532 sysContext: *mut TSS2_SYS_CONTEXT,
7533 objectHandle: TPMI_DH_OBJECT,
7534 signHandle: TPMI_DH_OBJECT,
7535 qualifyingData: *const TPM2B_DATA,
7536 inScheme: *const TPMT_SIG_SCHEME,
7537 ) -> TSS2_RC;
7538}
7539extern "C" {
7540 pub fn Tss2_Sys_Certify_Complete(
7541 sysContext: *mut TSS2_SYS_CONTEXT,
7542 certifyInfo: *mut TPM2B_ATTEST,
7543 signature: *mut TPMT_SIGNATURE,
7544 ) -> TSS2_RC;
7545}
7546extern "C" {
7547 pub fn Tss2_Sys_Certify(
7548 sysContext: *mut TSS2_SYS_CONTEXT,
7549 objectHandle: TPMI_DH_OBJECT,
7550 signHandle: TPMI_DH_OBJECT,
7551 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7552 qualifyingData: *const TPM2B_DATA,
7553 inScheme: *const TPMT_SIG_SCHEME,
7554 certifyInfo: *mut TPM2B_ATTEST,
7555 signature: *mut TPMT_SIGNATURE,
7556 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7557 ) -> TSS2_RC;
7558}
7559extern "C" {
7560 pub fn Tss2_Sys_CertifyX509_Prepare(
7561 sysContext: *mut TSS2_SYS_CONTEXT,
7562 objectHandle: TPMI_DH_OBJECT,
7563 signHandle: TPMI_DH_OBJECT,
7564 reserved: *const TPM2B_DATA,
7565 inScheme: *const TPMT_SIG_SCHEME,
7566 partialCertificate: *const TPM2B_MAX_BUFFER,
7567 ) -> TSS2_RC;
7568}
7569extern "C" {
7570 pub fn Tss2_Sys_CertifyX509_Complete(
7571 sysContext: *mut TSS2_SYS_CONTEXT,
7572 addedToCertificate: *mut TPM2B_MAX_BUFFER,
7573 tbsDigest: *mut TPM2B_DIGEST,
7574 signature: *mut TPMT_SIGNATURE,
7575 ) -> TSS2_RC;
7576}
7577extern "C" {
7578 pub fn Tss2_Sys_CertifyX509(
7579 sysContext: *mut TSS2_SYS_CONTEXT,
7580 objectHandle: TPMI_DH_OBJECT,
7581 signHandle: TPMI_DH_OBJECT,
7582 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7583 reserved: *const TPM2B_DATA,
7584 inScheme: *const TPMT_SIG_SCHEME,
7585 partialCertificate: *const TPM2B_MAX_BUFFER,
7586 addedToCertificate: *mut TPM2B_MAX_BUFFER,
7587 tbsDigest: *mut TPM2B_DIGEST,
7588 signature: *mut TPMT_SIGNATURE,
7589 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7590 ) -> TSS2_RC;
7591}
7592extern "C" {
7593 pub fn Tss2_Sys_CertifyCreation_Prepare(
7594 sysContext: *mut TSS2_SYS_CONTEXT,
7595 signHandle: TPMI_DH_OBJECT,
7596 objectHandle: TPMI_DH_OBJECT,
7597 qualifyingData: *const TPM2B_DATA,
7598 creationHash: *const TPM2B_DIGEST,
7599 inScheme: *const TPMT_SIG_SCHEME,
7600 creationTicket: *const TPMT_TK_CREATION,
7601 ) -> TSS2_RC;
7602}
7603extern "C" {
7604 pub fn Tss2_Sys_CertifyCreation_Complete(
7605 sysContext: *mut TSS2_SYS_CONTEXT,
7606 certifyInfo: *mut TPM2B_ATTEST,
7607 signature: *mut TPMT_SIGNATURE,
7608 ) -> TSS2_RC;
7609}
7610extern "C" {
7611 pub fn Tss2_Sys_CertifyCreation(
7612 sysContext: *mut TSS2_SYS_CONTEXT,
7613 signHandle: TPMI_DH_OBJECT,
7614 objectHandle: TPMI_DH_OBJECT,
7615 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7616 qualifyingData: *const TPM2B_DATA,
7617 creationHash: *const TPM2B_DIGEST,
7618 inScheme: *const TPMT_SIG_SCHEME,
7619 creationTicket: *const TPMT_TK_CREATION,
7620 certifyInfo: *mut TPM2B_ATTEST,
7621 signature: *mut TPMT_SIGNATURE,
7622 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7623 ) -> TSS2_RC;
7624}
7625extern "C" {
7626 pub fn Tss2_Sys_Quote_Prepare(
7627 sysContext: *mut TSS2_SYS_CONTEXT,
7628 signHandle: TPMI_DH_OBJECT,
7629 qualifyingData: *const TPM2B_DATA,
7630 inScheme: *const TPMT_SIG_SCHEME,
7631 PCRselect: *const TPML_PCR_SELECTION,
7632 ) -> TSS2_RC;
7633}
7634extern "C" {
7635 pub fn Tss2_Sys_Quote_Complete(
7636 sysContext: *mut TSS2_SYS_CONTEXT,
7637 quoted: *mut TPM2B_ATTEST,
7638 signature: *mut TPMT_SIGNATURE,
7639 ) -> TSS2_RC;
7640}
7641extern "C" {
7642 pub fn Tss2_Sys_Quote(
7643 sysContext: *mut TSS2_SYS_CONTEXT,
7644 signHandle: TPMI_DH_OBJECT,
7645 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7646 qualifyingData: *const TPM2B_DATA,
7647 inScheme: *const TPMT_SIG_SCHEME,
7648 PCRselect: *const TPML_PCR_SELECTION,
7649 quoted: *mut TPM2B_ATTEST,
7650 signature: *mut TPMT_SIGNATURE,
7651 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7652 ) -> TSS2_RC;
7653}
7654extern "C" {
7655 pub fn Tss2_Sys_GetSessionAuditDigest_Prepare(
7656 sysContext: *mut TSS2_SYS_CONTEXT,
7657 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
7658 signHandle: TPMI_DH_OBJECT,
7659 sessionHandle: TPMI_SH_HMAC,
7660 qualifyingData: *const TPM2B_DATA,
7661 inScheme: *const TPMT_SIG_SCHEME,
7662 ) -> TSS2_RC;
7663}
7664extern "C" {
7665 pub fn Tss2_Sys_GetSessionAuditDigest_Complete(
7666 sysContext: *mut TSS2_SYS_CONTEXT,
7667 auditInfo: *mut TPM2B_ATTEST,
7668 signature: *mut TPMT_SIGNATURE,
7669 ) -> TSS2_RC;
7670}
7671extern "C" {
7672 pub fn Tss2_Sys_GetSessionAuditDigest(
7673 sysContext: *mut TSS2_SYS_CONTEXT,
7674 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
7675 signHandle: TPMI_DH_OBJECT,
7676 sessionHandle: TPMI_SH_HMAC,
7677 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7678 qualifyingData: *const TPM2B_DATA,
7679 inScheme: *const TPMT_SIG_SCHEME,
7680 auditInfo: *mut TPM2B_ATTEST,
7681 signature: *mut TPMT_SIGNATURE,
7682 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7683 ) -> TSS2_RC;
7684}
7685extern "C" {
7686 pub fn Tss2_Sys_GetCommandAuditDigest_Prepare(
7687 sysContext: *mut TSS2_SYS_CONTEXT,
7688 privacyHandle: TPMI_RH_ENDORSEMENT,
7689 signHandle: TPMI_DH_OBJECT,
7690 qualifyingData: *const TPM2B_DATA,
7691 inScheme: *const TPMT_SIG_SCHEME,
7692 ) -> TSS2_RC;
7693}
7694extern "C" {
7695 pub fn Tss2_Sys_GetCommandAuditDigest_Complete(
7696 sysContext: *mut TSS2_SYS_CONTEXT,
7697 auditInfo: *mut TPM2B_ATTEST,
7698 signature: *mut TPMT_SIGNATURE,
7699 ) -> TSS2_RC;
7700}
7701extern "C" {
7702 pub fn Tss2_Sys_GetCommandAuditDigest(
7703 sysContext: *mut TSS2_SYS_CONTEXT,
7704 privacyHandle: TPMI_RH_ENDORSEMENT,
7705 signHandle: TPMI_DH_OBJECT,
7706 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7707 qualifyingData: *const TPM2B_DATA,
7708 inScheme: *const TPMT_SIG_SCHEME,
7709 auditInfo: *mut TPM2B_ATTEST,
7710 signature: *mut TPMT_SIGNATURE,
7711 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7712 ) -> TSS2_RC;
7713}
7714extern "C" {
7715 pub fn Tss2_Sys_GetTime_Prepare(
7716 sysContext: *mut TSS2_SYS_CONTEXT,
7717 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
7718 signHandle: TPMI_DH_OBJECT,
7719 qualifyingData: *const TPM2B_DATA,
7720 inScheme: *const TPMT_SIG_SCHEME,
7721 ) -> TSS2_RC;
7722}
7723extern "C" {
7724 pub fn Tss2_Sys_GetTime_Complete(
7725 sysContext: *mut TSS2_SYS_CONTEXT,
7726 timeInfo: *mut TPM2B_ATTEST,
7727 signature: *mut TPMT_SIGNATURE,
7728 ) -> TSS2_RC;
7729}
7730extern "C" {
7731 pub fn Tss2_Sys_GetTime(
7732 sysContext: *mut TSS2_SYS_CONTEXT,
7733 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
7734 signHandle: TPMI_DH_OBJECT,
7735 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7736 qualifyingData: *const TPM2B_DATA,
7737 inScheme: *const TPMT_SIG_SCHEME,
7738 timeInfo: *mut TPM2B_ATTEST,
7739 signature: *mut TPMT_SIGNATURE,
7740 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7741 ) -> TSS2_RC;
7742}
7743extern "C" {
7744 pub fn Tss2_Sys_Commit_Prepare(
7745 sysContext: *mut TSS2_SYS_CONTEXT,
7746 signHandle: TPMI_DH_OBJECT,
7747 P1: *const TPM2B_ECC_POINT,
7748 s2: *const TPM2B_SENSITIVE_DATA,
7749 y2: *const TPM2B_ECC_PARAMETER,
7750 ) -> TSS2_RC;
7751}
7752extern "C" {
7753 pub fn Tss2_Sys_Commit_Complete(
7754 sysContext: *mut TSS2_SYS_CONTEXT,
7755 K: *mut TPM2B_ECC_POINT,
7756 L: *mut TPM2B_ECC_POINT,
7757 E: *mut TPM2B_ECC_POINT,
7758 counter: *mut UINT16,
7759 ) -> TSS2_RC;
7760}
7761extern "C" {
7762 pub fn Tss2_Sys_Commit(
7763 sysContext: *mut TSS2_SYS_CONTEXT,
7764 signHandle: TPMI_DH_OBJECT,
7765 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7766 P1: *const TPM2B_ECC_POINT,
7767 s2: *const TPM2B_SENSITIVE_DATA,
7768 y2: *const TPM2B_ECC_PARAMETER,
7769 K: *mut TPM2B_ECC_POINT,
7770 L: *mut TPM2B_ECC_POINT,
7771 E: *mut TPM2B_ECC_POINT,
7772 counter: *mut UINT16,
7773 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7774 ) -> TSS2_RC;
7775}
7776extern "C" {
7777 pub fn Tss2_Sys_EC_Ephemeral_Prepare(
7778 sysContext: *mut TSS2_SYS_CONTEXT,
7779 curveID: TPMI_ECC_CURVE,
7780 ) -> TSS2_RC;
7781}
7782extern "C" {
7783 pub fn Tss2_Sys_EC_Ephemeral_Complete(
7784 sysContext: *mut TSS2_SYS_CONTEXT,
7785 Q: *mut TPM2B_ECC_POINT,
7786 counter: *mut UINT16,
7787 ) -> TSS2_RC;
7788}
7789extern "C" {
7790 pub fn Tss2_Sys_EC_Ephemeral(
7791 sysContext: *mut TSS2_SYS_CONTEXT,
7792 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7793 curveID: TPMI_ECC_CURVE,
7794 Q: *mut TPM2B_ECC_POINT,
7795 counter: *mut UINT16,
7796 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7797 ) -> TSS2_RC;
7798}
7799extern "C" {
7800 pub fn Tss2_Sys_VerifySignature_Prepare(
7801 sysContext: *mut TSS2_SYS_CONTEXT,
7802 keyHandle: TPMI_DH_OBJECT,
7803 digest: *const TPM2B_DIGEST,
7804 signature: *const TPMT_SIGNATURE,
7805 ) -> TSS2_RC;
7806}
7807extern "C" {
7808 pub fn Tss2_Sys_VerifySignature_Complete(
7809 sysContext: *mut TSS2_SYS_CONTEXT,
7810 validation: *mut TPMT_TK_VERIFIED,
7811 ) -> TSS2_RC;
7812}
7813extern "C" {
7814 pub fn Tss2_Sys_VerifySignature(
7815 sysContext: *mut TSS2_SYS_CONTEXT,
7816 keyHandle: TPMI_DH_OBJECT,
7817 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7818 digest: *const TPM2B_DIGEST,
7819 signature: *const TPMT_SIGNATURE,
7820 validation: *mut TPMT_TK_VERIFIED,
7821 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7822 ) -> TSS2_RC;
7823}
7824extern "C" {
7825 pub fn Tss2_Sys_Sign_Prepare(
7826 sysContext: *mut TSS2_SYS_CONTEXT,
7827 keyHandle: TPMI_DH_OBJECT,
7828 digest: *const TPM2B_DIGEST,
7829 inScheme: *const TPMT_SIG_SCHEME,
7830 validation: *const TPMT_TK_HASHCHECK,
7831 ) -> TSS2_RC;
7832}
7833extern "C" {
7834 pub fn Tss2_Sys_Sign_Complete(
7835 sysContext: *mut TSS2_SYS_CONTEXT,
7836 signature: *mut TPMT_SIGNATURE,
7837 ) -> TSS2_RC;
7838}
7839extern "C" {
7840 pub fn Tss2_Sys_Sign(
7841 sysContext: *mut TSS2_SYS_CONTEXT,
7842 keyHandle: TPMI_DH_OBJECT,
7843 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7844 digest: *const TPM2B_DIGEST,
7845 inScheme: *const TPMT_SIG_SCHEME,
7846 validation: *const TPMT_TK_HASHCHECK,
7847 signature: *mut TPMT_SIGNATURE,
7848 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7849 ) -> TSS2_RC;
7850}
7851extern "C" {
7852 pub fn Tss2_Sys_SetCommandCodeAuditStatus_Prepare(
7853 sysContext: *mut TSS2_SYS_CONTEXT,
7854 auth: TPMI_RH_PROVISION,
7855 auditAlg: TPMI_ALG_HASH,
7856 setList: *const TPML_CC,
7857 clearList: *const TPML_CC,
7858 ) -> TSS2_RC;
7859}
7860extern "C" {
7861 pub fn Tss2_Sys_SetCommandCodeAuditStatus_Complete(
7862 sysContext: *mut TSS2_SYS_CONTEXT,
7863 ) -> TSS2_RC;
7864}
7865extern "C" {
7866 pub fn Tss2_Sys_SetCommandCodeAuditStatus(
7867 sysContext: *mut TSS2_SYS_CONTEXT,
7868 auth: TPMI_RH_PROVISION,
7869 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7870 auditAlg: TPMI_ALG_HASH,
7871 setList: *const TPML_CC,
7872 clearList: *const TPML_CC,
7873 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7874 ) -> TSS2_RC;
7875}
7876extern "C" {
7877 pub fn Tss2_Sys_PCR_Extend_Prepare(
7878 sysContext: *mut TSS2_SYS_CONTEXT,
7879 pcrHandle: TPMI_DH_PCR,
7880 digests: *const TPML_DIGEST_VALUES,
7881 ) -> TSS2_RC;
7882}
7883extern "C" {
7884 pub fn Tss2_Sys_PCR_Extend_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
7885}
7886extern "C" {
7887 pub fn Tss2_Sys_PCR_Extend(
7888 sysContext: *mut TSS2_SYS_CONTEXT,
7889 pcrHandle: TPMI_DH_PCR,
7890 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7891 digests: *const TPML_DIGEST_VALUES,
7892 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7893 ) -> TSS2_RC;
7894}
7895extern "C" {
7896 pub fn Tss2_Sys_PCR_Event_Prepare(
7897 sysContext: *mut TSS2_SYS_CONTEXT,
7898 pcrHandle: TPMI_DH_PCR,
7899 eventData: *const TPM2B_EVENT,
7900 ) -> TSS2_RC;
7901}
7902extern "C" {
7903 pub fn Tss2_Sys_PCR_Event_Complete(
7904 sysContext: *mut TSS2_SYS_CONTEXT,
7905 digests: *mut TPML_DIGEST_VALUES,
7906 ) -> TSS2_RC;
7907}
7908extern "C" {
7909 pub fn Tss2_Sys_PCR_Event(
7910 sysContext: *mut TSS2_SYS_CONTEXT,
7911 pcrHandle: TPMI_DH_PCR,
7912 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7913 eventData: *const TPM2B_EVENT,
7914 digests: *mut TPML_DIGEST_VALUES,
7915 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7916 ) -> TSS2_RC;
7917}
7918extern "C" {
7919 pub fn Tss2_Sys_PCR_Read_Prepare(
7920 sysContext: *mut TSS2_SYS_CONTEXT,
7921 pcrSelectionIn: *const TPML_PCR_SELECTION,
7922 ) -> TSS2_RC;
7923}
7924extern "C" {
7925 pub fn Tss2_Sys_PCR_Read_Complete(
7926 sysContext: *mut TSS2_SYS_CONTEXT,
7927 pcrUpdateCounter: *mut UINT32,
7928 pcrSelectionOut: *mut TPML_PCR_SELECTION,
7929 pcrValues: *mut TPML_DIGEST,
7930 ) -> TSS2_RC;
7931}
7932extern "C" {
7933 pub fn Tss2_Sys_PCR_Read(
7934 sysContext: *mut TSS2_SYS_CONTEXT,
7935 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7936 pcrSelectionIn: *const TPML_PCR_SELECTION,
7937 pcrUpdateCounter: *mut UINT32,
7938 pcrSelectionOut: *mut TPML_PCR_SELECTION,
7939 pcrValues: *mut TPML_DIGEST,
7940 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7941 ) -> TSS2_RC;
7942}
7943extern "C" {
7944 pub fn Tss2_Sys_PCR_Allocate_Prepare(
7945 sysContext: *mut TSS2_SYS_CONTEXT,
7946 authHandle: TPMI_RH_PLATFORM,
7947 pcrAllocation: *const TPML_PCR_SELECTION,
7948 ) -> TSS2_RC;
7949}
7950extern "C" {
7951 pub fn Tss2_Sys_PCR_Allocate_Complete(
7952 sysContext: *mut TSS2_SYS_CONTEXT,
7953 allocationSuccess: *mut TPMI_YES_NO,
7954 maxPCR: *mut UINT32,
7955 sizeNeeded: *mut UINT32,
7956 sizeAvailable: *mut UINT32,
7957 ) -> TSS2_RC;
7958}
7959extern "C" {
7960 pub fn Tss2_Sys_PCR_Allocate(
7961 sysContext: *mut TSS2_SYS_CONTEXT,
7962 authHandle: TPMI_RH_PLATFORM,
7963 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7964 pcrAllocation: *const TPML_PCR_SELECTION,
7965 allocationSuccess: *mut TPMI_YES_NO,
7966 maxPCR: *mut UINT32,
7967 sizeNeeded: *mut UINT32,
7968 sizeAvailable: *mut UINT32,
7969 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7970 ) -> TSS2_RC;
7971}
7972extern "C" {
7973 pub fn Tss2_Sys_PCR_SetAuthPolicy_Prepare(
7974 sysContext: *mut TSS2_SYS_CONTEXT,
7975 authHandle: TPMI_RH_PLATFORM,
7976 authPolicy: *const TPM2B_DIGEST,
7977 hashAlg: TPMI_ALG_HASH,
7978 pcrNum: TPMI_DH_PCR,
7979 ) -> TSS2_RC;
7980}
7981extern "C" {
7982 pub fn Tss2_Sys_PCR_SetAuthPolicy_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
7983}
7984extern "C" {
7985 pub fn Tss2_Sys_PCR_SetAuthPolicy(
7986 sysContext: *mut TSS2_SYS_CONTEXT,
7987 authHandle: TPMI_RH_PLATFORM,
7988 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7989 authPolicy: *const TPM2B_DIGEST,
7990 hashAlg: TPMI_ALG_HASH,
7991 pcrNum: TPMI_DH_PCR,
7992 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7993 ) -> TSS2_RC;
7994}
7995extern "C" {
7996 pub fn Tss2_Sys_PCR_SetAuthValue_Prepare(
7997 sysContext: *mut TSS2_SYS_CONTEXT,
7998 pcrHandle: TPMI_DH_PCR,
7999 auth: *const TPM2B_DIGEST,
8000 ) -> TSS2_RC;
8001}
8002extern "C" {
8003 pub fn Tss2_Sys_PCR_SetAuthValue_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8004}
8005extern "C" {
8006 pub fn Tss2_Sys_PCR_SetAuthValue(
8007 sysContext: *mut TSS2_SYS_CONTEXT,
8008 pcrHandle: TPMI_DH_PCR,
8009 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8010 auth: *const TPM2B_DIGEST,
8011 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8012 ) -> TSS2_RC;
8013}
8014extern "C" {
8015 pub fn Tss2_Sys_PCR_Reset_Prepare(
8016 sysContext: *mut TSS2_SYS_CONTEXT,
8017 pcrHandle: TPMI_DH_PCR,
8018 ) -> TSS2_RC;
8019}
8020extern "C" {
8021 pub fn Tss2_Sys_PCR_Reset_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8022}
8023extern "C" {
8024 pub fn Tss2_Sys_PCR_Reset(
8025 sysContext: *mut TSS2_SYS_CONTEXT,
8026 pcrHandle: TPMI_DH_PCR,
8027 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8028 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8029 ) -> TSS2_RC;
8030}
8031extern "C" {
8032 pub fn Tss2_Sys_PolicySigned_Prepare(
8033 sysContext: *mut TSS2_SYS_CONTEXT,
8034 authObject: TPMI_DH_OBJECT,
8035 policySession: TPMI_SH_POLICY,
8036 nonceTPM: *const TPM2B_NONCE,
8037 cpHashA: *const TPM2B_DIGEST,
8038 policyRef: *const TPM2B_NONCE,
8039 expiration: INT32,
8040 auth: *const TPMT_SIGNATURE,
8041 ) -> TSS2_RC;
8042}
8043extern "C" {
8044 pub fn Tss2_Sys_PolicySigned_Complete(
8045 sysContext: *mut TSS2_SYS_CONTEXT,
8046 timeout: *mut TPM2B_TIMEOUT,
8047 policyTicket: *mut TPMT_TK_AUTH,
8048 ) -> TSS2_RC;
8049}
8050extern "C" {
8051 pub fn Tss2_Sys_PolicySigned(
8052 sysContext: *mut TSS2_SYS_CONTEXT,
8053 authObject: TPMI_DH_OBJECT,
8054 policySession: TPMI_SH_POLICY,
8055 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8056 nonceTPM: *const TPM2B_NONCE,
8057 cpHashA: *const TPM2B_DIGEST,
8058 policyRef: *const TPM2B_NONCE,
8059 expiration: INT32,
8060 auth: *const TPMT_SIGNATURE,
8061 timeout: *mut TPM2B_TIMEOUT,
8062 policyTicket: *mut TPMT_TK_AUTH,
8063 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8064 ) -> TSS2_RC;
8065}
8066extern "C" {
8067 pub fn Tss2_Sys_PolicySecret_Prepare(
8068 sysContext: *mut TSS2_SYS_CONTEXT,
8069 authHandle: TPMI_DH_ENTITY,
8070 policySession: TPMI_SH_POLICY,
8071 nonceTPM: *const TPM2B_NONCE,
8072 cpHashA: *const TPM2B_DIGEST,
8073 policyRef: *const TPM2B_NONCE,
8074 expiration: INT32,
8075 ) -> TSS2_RC;
8076}
8077extern "C" {
8078 pub fn Tss2_Sys_PolicySecret_Complete(
8079 sysContext: *mut TSS2_SYS_CONTEXT,
8080 timeout: *mut TPM2B_TIMEOUT,
8081 policyTicket: *mut TPMT_TK_AUTH,
8082 ) -> TSS2_RC;
8083}
8084extern "C" {
8085 pub fn Tss2_Sys_PolicySecret(
8086 sysContext: *mut TSS2_SYS_CONTEXT,
8087 authHandle: TPMI_DH_ENTITY,
8088 policySession: TPMI_SH_POLICY,
8089 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8090 nonceTPM: *const TPM2B_NONCE,
8091 cpHashA: *const TPM2B_DIGEST,
8092 policyRef: *const TPM2B_NONCE,
8093 expiration: INT32,
8094 timeout: *mut TPM2B_TIMEOUT,
8095 policyTicket: *mut TPMT_TK_AUTH,
8096 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8097 ) -> TSS2_RC;
8098}
8099extern "C" {
8100 pub fn Tss2_Sys_PolicyTicket_Prepare(
8101 sysContext: *mut TSS2_SYS_CONTEXT,
8102 policySession: TPMI_SH_POLICY,
8103 timeout: *const TPM2B_TIMEOUT,
8104 cpHashA: *const TPM2B_DIGEST,
8105 policyRef: *const TPM2B_NONCE,
8106 authName: *const TPM2B_NAME,
8107 ticket: *const TPMT_TK_AUTH,
8108 ) -> TSS2_RC;
8109}
8110extern "C" {
8111 pub fn Tss2_Sys_PolicyTicket_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8112}
8113extern "C" {
8114 pub fn Tss2_Sys_PolicyTicket(
8115 sysContext: *mut TSS2_SYS_CONTEXT,
8116 policySession: TPMI_SH_POLICY,
8117 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8118 timeout: *const TPM2B_TIMEOUT,
8119 cpHashA: *const TPM2B_DIGEST,
8120 policyRef: *const TPM2B_NONCE,
8121 authName: *const TPM2B_NAME,
8122 ticket: *const TPMT_TK_AUTH,
8123 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8124 ) -> TSS2_RC;
8125}
8126extern "C" {
8127 pub fn Tss2_Sys_PolicyOR_Prepare(
8128 sysContext: *mut TSS2_SYS_CONTEXT,
8129 policySession: TPMI_SH_POLICY,
8130 pHashList: *const TPML_DIGEST,
8131 ) -> TSS2_RC;
8132}
8133extern "C" {
8134 pub fn Tss2_Sys_PolicyOR_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8135}
8136extern "C" {
8137 pub fn Tss2_Sys_PolicyOR(
8138 sysContext: *mut TSS2_SYS_CONTEXT,
8139 policySession: TPMI_SH_POLICY,
8140 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8141 pHashList: *const TPML_DIGEST,
8142 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8143 ) -> TSS2_RC;
8144}
8145extern "C" {
8146 pub fn Tss2_Sys_PolicyPCR_Prepare(
8147 sysContext: *mut TSS2_SYS_CONTEXT,
8148 policySession: TPMI_SH_POLICY,
8149 pcrDigest: *const TPM2B_DIGEST,
8150 pcrs: *const TPML_PCR_SELECTION,
8151 ) -> TSS2_RC;
8152}
8153extern "C" {
8154 pub fn Tss2_Sys_PolicyPCR_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8155}
8156extern "C" {
8157 pub fn Tss2_Sys_PolicyPCR(
8158 sysContext: *mut TSS2_SYS_CONTEXT,
8159 policySession: TPMI_SH_POLICY,
8160 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8161 pcrDigest: *const TPM2B_DIGEST,
8162 pcrs: *const TPML_PCR_SELECTION,
8163 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8164 ) -> TSS2_RC;
8165}
8166extern "C" {
8167 pub fn Tss2_Sys_PolicyLocality_Prepare(
8168 sysContext: *mut TSS2_SYS_CONTEXT,
8169 policySession: TPMI_SH_POLICY,
8170 locality: TPMA_LOCALITY,
8171 ) -> TSS2_RC;
8172}
8173extern "C" {
8174 pub fn Tss2_Sys_PolicyLocality_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8175}
8176extern "C" {
8177 pub fn Tss2_Sys_PolicyLocality(
8178 sysContext: *mut TSS2_SYS_CONTEXT,
8179 policySession: TPMI_SH_POLICY,
8180 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8181 locality: TPMA_LOCALITY,
8182 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8183 ) -> TSS2_RC;
8184}
8185extern "C" {
8186 pub fn Tss2_Sys_PolicyNV_Prepare(
8187 sysContext: *mut TSS2_SYS_CONTEXT,
8188 authHandle: TPMI_RH_NV_AUTH,
8189 nvIndex: TPMI_RH_NV_INDEX,
8190 policySession: TPMI_SH_POLICY,
8191 operandB: *const TPM2B_OPERAND,
8192 offset: UINT16,
8193 operation: TPM2_EO,
8194 ) -> TSS2_RC;
8195}
8196extern "C" {
8197 pub fn Tss2_Sys_PolicyNV_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8198}
8199extern "C" {
8200 pub fn Tss2_Sys_PolicyNV(
8201 sysContext: *mut TSS2_SYS_CONTEXT,
8202 authHandle: TPMI_RH_NV_AUTH,
8203 nvIndex: TPMI_RH_NV_INDEX,
8204 policySession: TPMI_SH_POLICY,
8205 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8206 operandB: *const TPM2B_OPERAND,
8207 offset: UINT16,
8208 operation: TPM2_EO,
8209 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8210 ) -> TSS2_RC;
8211}
8212extern "C" {
8213 pub fn Tss2_Sys_PolicyCounterTimer_Prepare(
8214 sysContext: *mut TSS2_SYS_CONTEXT,
8215 policySession: TPMI_SH_POLICY,
8216 operandB: *const TPM2B_OPERAND,
8217 offset: UINT16,
8218 operation: TPM2_EO,
8219 ) -> TSS2_RC;
8220}
8221extern "C" {
8222 pub fn Tss2_Sys_PolicyCounterTimer_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8223}
8224extern "C" {
8225 pub fn Tss2_Sys_PolicyCounterTimer(
8226 sysContext: *mut TSS2_SYS_CONTEXT,
8227 policySession: TPMI_SH_POLICY,
8228 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8229 operandB: *const TPM2B_OPERAND,
8230 offset: UINT16,
8231 operation: TPM2_EO,
8232 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8233 ) -> TSS2_RC;
8234}
8235extern "C" {
8236 pub fn Tss2_Sys_PolicyCommandCode_Prepare(
8237 sysContext: *mut TSS2_SYS_CONTEXT,
8238 policySession: TPMI_SH_POLICY,
8239 code: TPM2_CC,
8240 ) -> TSS2_RC;
8241}
8242extern "C" {
8243 pub fn Tss2_Sys_PolicyCommandCode_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8244}
8245extern "C" {
8246 pub fn Tss2_Sys_PolicyCommandCode(
8247 sysContext: *mut TSS2_SYS_CONTEXT,
8248 policySession: TPMI_SH_POLICY,
8249 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8250 code: TPM2_CC,
8251 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8252 ) -> TSS2_RC;
8253}
8254extern "C" {
8255 pub fn Tss2_Sys_PolicyPhysicalPresence_Prepare(
8256 sysContext: *mut TSS2_SYS_CONTEXT,
8257 policySession: TPMI_SH_POLICY,
8258 ) -> TSS2_RC;
8259}
8260extern "C" {
8261 pub fn Tss2_Sys_PolicyPhysicalPresence_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8262}
8263extern "C" {
8264 pub fn Tss2_Sys_PolicyPhysicalPresence(
8265 sysContext: *mut TSS2_SYS_CONTEXT,
8266 policySession: TPMI_SH_POLICY,
8267 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8268 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8269 ) -> TSS2_RC;
8270}
8271extern "C" {
8272 pub fn Tss2_Sys_PolicyCpHash_Prepare(
8273 sysContext: *mut TSS2_SYS_CONTEXT,
8274 policySession: TPMI_SH_POLICY,
8275 cpHashA: *const TPM2B_DIGEST,
8276 ) -> TSS2_RC;
8277}
8278extern "C" {
8279 pub fn Tss2_Sys_PolicyCpHash_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8280}
8281extern "C" {
8282 pub fn Tss2_Sys_PolicyCpHash(
8283 sysContext: *mut TSS2_SYS_CONTEXT,
8284 policySession: TPMI_SH_POLICY,
8285 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8286 cpHashA: *const TPM2B_DIGEST,
8287 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8288 ) -> TSS2_RC;
8289}
8290extern "C" {
8291 pub fn Tss2_Sys_PolicyNameHash_Prepare(
8292 sysContext: *mut TSS2_SYS_CONTEXT,
8293 policySession: TPMI_SH_POLICY,
8294 nameHash: *const TPM2B_DIGEST,
8295 ) -> TSS2_RC;
8296}
8297extern "C" {
8298 pub fn Tss2_Sys_PolicyNameHash_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8299}
8300extern "C" {
8301 pub fn Tss2_Sys_PolicyNameHash(
8302 sysContext: *mut TSS2_SYS_CONTEXT,
8303 policySession: TPMI_SH_POLICY,
8304 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8305 nameHash: *const TPM2B_DIGEST,
8306 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8307 ) -> TSS2_RC;
8308}
8309extern "C" {
8310 pub fn Tss2_Sys_PolicyDuplicationSelect_Prepare(
8311 sysContext: *mut TSS2_SYS_CONTEXT,
8312 policySession: TPMI_SH_POLICY,
8313 objectName: *const TPM2B_NAME,
8314 newParentName: *const TPM2B_NAME,
8315 includeObject: TPMI_YES_NO,
8316 ) -> TSS2_RC;
8317}
8318extern "C" {
8319 pub fn Tss2_Sys_PolicyDuplicationSelect_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8320}
8321extern "C" {
8322 pub fn Tss2_Sys_PolicyDuplicationSelect(
8323 sysContext: *mut TSS2_SYS_CONTEXT,
8324 policySession: TPMI_SH_POLICY,
8325 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8326 objectName: *const TPM2B_NAME,
8327 newParentName: *const TPM2B_NAME,
8328 includeObject: TPMI_YES_NO,
8329 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8330 ) -> TSS2_RC;
8331}
8332extern "C" {
8333 pub fn Tss2_Sys_PolicyAuthorize_Prepare(
8334 sysContext: *mut TSS2_SYS_CONTEXT,
8335 policySession: TPMI_SH_POLICY,
8336 approvedPolicy: *const TPM2B_DIGEST,
8337 policyRef: *const TPM2B_NONCE,
8338 keySign: *const TPM2B_NAME,
8339 checkTicket: *const TPMT_TK_VERIFIED,
8340 ) -> TSS2_RC;
8341}
8342extern "C" {
8343 pub fn Tss2_Sys_PolicyAuthorize_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8344}
8345extern "C" {
8346 pub fn Tss2_Sys_PolicyAuthorize(
8347 sysContext: *mut TSS2_SYS_CONTEXT,
8348 policySession: TPMI_SH_POLICY,
8349 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8350 approvedPolicy: *const TPM2B_DIGEST,
8351 policyRef: *const TPM2B_NONCE,
8352 keySign: *const TPM2B_NAME,
8353 checkTicket: *const TPMT_TK_VERIFIED,
8354 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8355 ) -> TSS2_RC;
8356}
8357extern "C" {
8358 pub fn Tss2_Sys_PolicyAuthValue_Prepare(
8359 sysContext: *mut TSS2_SYS_CONTEXT,
8360 policySession: TPMI_SH_POLICY,
8361 ) -> TSS2_RC;
8362}
8363extern "C" {
8364 pub fn Tss2_Sys_PolicyAuthValue_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8365}
8366extern "C" {
8367 pub fn Tss2_Sys_PolicyAuthValue(
8368 sysContext: *mut TSS2_SYS_CONTEXT,
8369 policySession: TPMI_SH_POLICY,
8370 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8371 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8372 ) -> TSS2_RC;
8373}
8374extern "C" {
8375 pub fn Tss2_Sys_PolicyPassword_Prepare(
8376 sysContext: *mut TSS2_SYS_CONTEXT,
8377 policySession: TPMI_SH_POLICY,
8378 ) -> TSS2_RC;
8379}
8380extern "C" {
8381 pub fn Tss2_Sys_PolicyPassword_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8382}
8383extern "C" {
8384 pub fn Tss2_Sys_PolicyPassword(
8385 sysContext: *mut TSS2_SYS_CONTEXT,
8386 policySession: TPMI_SH_POLICY,
8387 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8388 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8389 ) -> TSS2_RC;
8390}
8391extern "C" {
8392 pub fn Tss2_Sys_PolicyGetDigest_Prepare(
8393 sysContext: *mut TSS2_SYS_CONTEXT,
8394 policySession: TPMI_SH_POLICY,
8395 ) -> TSS2_RC;
8396}
8397extern "C" {
8398 pub fn Tss2_Sys_PolicyGetDigest_Complete(
8399 sysContext: *mut TSS2_SYS_CONTEXT,
8400 policyDigest: *mut TPM2B_DIGEST,
8401 ) -> TSS2_RC;
8402}
8403extern "C" {
8404 pub fn Tss2_Sys_PolicyGetDigest(
8405 sysContext: *mut TSS2_SYS_CONTEXT,
8406 policySession: TPMI_SH_POLICY,
8407 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8408 policyDigest: *mut TPM2B_DIGEST,
8409 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8410 ) -> TSS2_RC;
8411}
8412extern "C" {
8413 pub fn Tss2_Sys_PolicyNvWritten_Prepare(
8414 sysContext: *mut TSS2_SYS_CONTEXT,
8415 policySession: TPMI_SH_POLICY,
8416 writtenSet: TPMI_YES_NO,
8417 ) -> TSS2_RC;
8418}
8419extern "C" {
8420 pub fn Tss2_Sys_PolicyNvWritten_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8421}
8422extern "C" {
8423 pub fn Tss2_Sys_PolicyNvWritten(
8424 sysContext: *mut TSS2_SYS_CONTEXT,
8425 policySession: TPMI_SH_POLICY,
8426 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8427 writtenSet: TPMI_YES_NO,
8428 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8429 ) -> TSS2_RC;
8430}
8431extern "C" {
8432 pub fn Tss2_Sys_CreatePrimary_Prepare(
8433 sysContext: *mut TSS2_SYS_CONTEXT,
8434 primaryHandle: TPMI_RH_HIERARCHY,
8435 inSensitive: *const TPM2B_SENSITIVE_CREATE,
8436 inPublic: *const TPM2B_PUBLIC,
8437 outsideInfo: *const TPM2B_DATA,
8438 creationPCR: *const TPML_PCR_SELECTION,
8439 ) -> TSS2_RC;
8440}
8441extern "C" {
8442 pub fn Tss2_Sys_CreatePrimary_Complete(
8443 sysContext: *mut TSS2_SYS_CONTEXT,
8444 objectHandle: *mut TPM2_HANDLE,
8445 outPublic: *mut TPM2B_PUBLIC,
8446 creationData: *mut TPM2B_CREATION_DATA,
8447 creationHash: *mut TPM2B_DIGEST,
8448 creationTicket: *mut TPMT_TK_CREATION,
8449 name: *mut TPM2B_NAME,
8450 ) -> TSS2_RC;
8451}
8452extern "C" {
8453 pub fn Tss2_Sys_CreatePrimary(
8454 sysContext: *mut TSS2_SYS_CONTEXT,
8455 primaryHandle: TPMI_RH_HIERARCHY,
8456 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8457 inSensitive: *const TPM2B_SENSITIVE_CREATE,
8458 inPublic: *const TPM2B_PUBLIC,
8459 outsideInfo: *const TPM2B_DATA,
8460 creationPCR: *const TPML_PCR_SELECTION,
8461 objectHandle: *mut TPM2_HANDLE,
8462 outPublic: *mut TPM2B_PUBLIC,
8463 creationData: *mut TPM2B_CREATION_DATA,
8464 creationHash: *mut TPM2B_DIGEST,
8465 creationTicket: *mut TPMT_TK_CREATION,
8466 name: *mut TPM2B_NAME,
8467 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8468 ) -> TSS2_RC;
8469}
8470extern "C" {
8471 pub fn Tss2_Sys_HierarchyControl_Prepare(
8472 sysContext: *mut TSS2_SYS_CONTEXT,
8473 authHandle: TPMI_RH_HIERARCHY,
8474 enable: TPMI_RH_ENABLES,
8475 state: TPMI_YES_NO,
8476 ) -> TSS2_RC;
8477}
8478extern "C" {
8479 pub fn Tss2_Sys_HierarchyControl_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8480}
8481extern "C" {
8482 pub fn Tss2_Sys_HierarchyControl(
8483 sysContext: *mut TSS2_SYS_CONTEXT,
8484 authHandle: TPMI_RH_HIERARCHY,
8485 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8486 enable: TPMI_RH_ENABLES,
8487 state: TPMI_YES_NO,
8488 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8489 ) -> TSS2_RC;
8490}
8491extern "C" {
8492 pub fn Tss2_Sys_SetPrimaryPolicy_Prepare(
8493 sysContext: *mut TSS2_SYS_CONTEXT,
8494 authHandle: TPMI_RH_HIERARCHY_AUTH,
8495 authPolicy: *const TPM2B_DIGEST,
8496 hashAlg: TPMI_ALG_HASH,
8497 ) -> TSS2_RC;
8498}
8499extern "C" {
8500 pub fn Tss2_Sys_SetPrimaryPolicy_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8501}
8502extern "C" {
8503 pub fn Tss2_Sys_SetPrimaryPolicy(
8504 sysContext: *mut TSS2_SYS_CONTEXT,
8505 authHandle: TPMI_RH_HIERARCHY_AUTH,
8506 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8507 authPolicy: *const TPM2B_DIGEST,
8508 hashAlg: TPMI_ALG_HASH,
8509 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8510 ) -> TSS2_RC;
8511}
8512extern "C" {
8513 pub fn Tss2_Sys_ChangePPS_Prepare(
8514 sysContext: *mut TSS2_SYS_CONTEXT,
8515 authHandle: TPMI_RH_PLATFORM,
8516 ) -> TSS2_RC;
8517}
8518extern "C" {
8519 pub fn Tss2_Sys_ChangePPS_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8520}
8521extern "C" {
8522 pub fn Tss2_Sys_ChangePPS(
8523 sysContext: *mut TSS2_SYS_CONTEXT,
8524 authHandle: TPMI_RH_PLATFORM,
8525 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8526 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8527 ) -> TSS2_RC;
8528}
8529extern "C" {
8530 pub fn Tss2_Sys_ChangeEPS_Prepare(
8531 sysContext: *mut TSS2_SYS_CONTEXT,
8532 authHandle: TPMI_RH_PLATFORM,
8533 ) -> TSS2_RC;
8534}
8535extern "C" {
8536 pub fn Tss2_Sys_ChangeEPS_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8537}
8538extern "C" {
8539 pub fn Tss2_Sys_ChangeEPS(
8540 sysContext: *mut TSS2_SYS_CONTEXT,
8541 authHandle: TPMI_RH_PLATFORM,
8542 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8543 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8544 ) -> TSS2_RC;
8545}
8546extern "C" {
8547 pub fn Tss2_Sys_Clear_Prepare(
8548 sysContext: *mut TSS2_SYS_CONTEXT,
8549 authHandle: TPMI_RH_CLEAR,
8550 ) -> TSS2_RC;
8551}
8552extern "C" {
8553 pub fn Tss2_Sys_Clear_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8554}
8555extern "C" {
8556 pub fn Tss2_Sys_Clear(
8557 sysContext: *mut TSS2_SYS_CONTEXT,
8558 authHandle: TPMI_RH_CLEAR,
8559 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8560 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8561 ) -> TSS2_RC;
8562}
8563extern "C" {
8564 pub fn Tss2_Sys_ClearControl_Prepare(
8565 sysContext: *mut TSS2_SYS_CONTEXT,
8566 auth: TPMI_RH_CLEAR,
8567 disable: TPMI_YES_NO,
8568 ) -> TSS2_RC;
8569}
8570extern "C" {
8571 pub fn Tss2_Sys_ClearControl_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8572}
8573extern "C" {
8574 pub fn Tss2_Sys_ClearControl(
8575 sysContext: *mut TSS2_SYS_CONTEXT,
8576 auth: TPMI_RH_CLEAR,
8577 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8578 disable: TPMI_YES_NO,
8579 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8580 ) -> TSS2_RC;
8581}
8582extern "C" {
8583 pub fn Tss2_Sys_HierarchyChangeAuth_Prepare(
8584 sysContext: *mut TSS2_SYS_CONTEXT,
8585 authHandle: TPMI_RH_HIERARCHY_AUTH,
8586 newAuth: *const TPM2B_AUTH,
8587 ) -> TSS2_RC;
8588}
8589extern "C" {
8590 pub fn Tss2_Sys_HierarchyChangeAuth_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8591}
8592extern "C" {
8593 pub fn Tss2_Sys_HierarchyChangeAuth(
8594 sysContext: *mut TSS2_SYS_CONTEXT,
8595 authHandle: TPMI_RH_HIERARCHY_AUTH,
8596 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8597 newAuth: *const TPM2B_AUTH,
8598 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8599 ) -> TSS2_RC;
8600}
8601extern "C" {
8602 pub fn Tss2_Sys_DictionaryAttackLockReset_Prepare(
8603 sysContext: *mut TSS2_SYS_CONTEXT,
8604 lockHandle: TPMI_RH_LOCKOUT,
8605 ) -> TSS2_RC;
8606}
8607extern "C" {
8608 pub fn Tss2_Sys_DictionaryAttackLockReset_Complete(
8609 sysContext: *mut TSS2_SYS_CONTEXT,
8610 ) -> TSS2_RC;
8611}
8612extern "C" {
8613 pub fn Tss2_Sys_DictionaryAttackLockReset(
8614 sysContext: *mut TSS2_SYS_CONTEXT,
8615 lockHandle: TPMI_RH_LOCKOUT,
8616 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8617 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8618 ) -> TSS2_RC;
8619}
8620extern "C" {
8621 pub fn Tss2_Sys_DictionaryAttackParameters_Prepare(
8622 sysContext: *mut TSS2_SYS_CONTEXT,
8623 lockHandle: TPMI_RH_LOCKOUT,
8624 newMaxTries: UINT32,
8625 newRecoveryTime: UINT32,
8626 lockoutRecovery: UINT32,
8627 ) -> TSS2_RC;
8628}
8629extern "C" {
8630 pub fn Tss2_Sys_DictionaryAttackParameters_Complete(
8631 sysContext: *mut TSS2_SYS_CONTEXT,
8632 ) -> TSS2_RC;
8633}
8634extern "C" {
8635 pub fn Tss2_Sys_DictionaryAttackParameters(
8636 sysContext: *mut TSS2_SYS_CONTEXT,
8637 lockHandle: TPMI_RH_LOCKOUT,
8638 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8639 newMaxTries: UINT32,
8640 newRecoveryTime: UINT32,
8641 lockoutRecovery: UINT32,
8642 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8643 ) -> TSS2_RC;
8644}
8645extern "C" {
8646 pub fn Tss2_Sys_PP_Commands_Prepare(
8647 sysContext: *mut TSS2_SYS_CONTEXT,
8648 auth: TPMI_RH_PLATFORM,
8649 setList: *const TPML_CC,
8650 clearList: *const TPML_CC,
8651 ) -> TSS2_RC;
8652}
8653extern "C" {
8654 pub fn Tss2_Sys_PP_Commands_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8655}
8656extern "C" {
8657 pub fn Tss2_Sys_PP_Commands(
8658 sysContext: *mut TSS2_SYS_CONTEXT,
8659 auth: TPMI_RH_PLATFORM,
8660 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8661 setList: *const TPML_CC,
8662 clearList: *const TPML_CC,
8663 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8664 ) -> TSS2_RC;
8665}
8666extern "C" {
8667 pub fn Tss2_Sys_SetAlgorithmSet_Prepare(
8668 sysContext: *mut TSS2_SYS_CONTEXT,
8669 authHandle: TPMI_RH_PLATFORM,
8670 algorithmSet: UINT32,
8671 ) -> TSS2_RC;
8672}
8673extern "C" {
8674 pub fn Tss2_Sys_SetAlgorithmSet_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8675}
8676extern "C" {
8677 pub fn Tss2_Sys_SetAlgorithmSet(
8678 sysContext: *mut TSS2_SYS_CONTEXT,
8679 authHandle: TPMI_RH_PLATFORM,
8680 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8681 algorithmSet: UINT32,
8682 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8683 ) -> TSS2_RC;
8684}
8685extern "C" {
8686 pub fn Tss2_Sys_FieldUpgradeStart_Prepare(
8687 sysContext: *mut TSS2_SYS_CONTEXT,
8688 authorization: TPMI_RH_PLATFORM,
8689 keyHandle: TPMI_DH_OBJECT,
8690 fuDigest: *const TPM2B_DIGEST,
8691 manifestSignature: *const TPMT_SIGNATURE,
8692 ) -> TSS2_RC;
8693}
8694extern "C" {
8695 pub fn Tss2_Sys_FieldUpgradeStart_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8696}
8697extern "C" {
8698 pub fn Tss2_Sys_FieldUpgradeStart(
8699 sysContext: *mut TSS2_SYS_CONTEXT,
8700 authorization: TPMI_RH_PLATFORM,
8701 keyHandle: TPMI_DH_OBJECT,
8702 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8703 fuDigest: *const TPM2B_DIGEST,
8704 manifestSignature: *const TPMT_SIGNATURE,
8705 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8706 ) -> TSS2_RC;
8707}
8708extern "C" {
8709 pub fn Tss2_Sys_FieldUpgradeData_Prepare(
8710 sysContext: *mut TSS2_SYS_CONTEXT,
8711 fuData: *const TPM2B_MAX_BUFFER,
8712 ) -> TSS2_RC;
8713}
8714extern "C" {
8715 pub fn Tss2_Sys_FieldUpgradeData_Complete(
8716 sysContext: *mut TSS2_SYS_CONTEXT,
8717 nextDigest: *mut TPMT_HA,
8718 firstDigest: *mut TPMT_HA,
8719 ) -> TSS2_RC;
8720}
8721extern "C" {
8722 pub fn Tss2_Sys_FieldUpgradeData(
8723 sysContext: *mut TSS2_SYS_CONTEXT,
8724 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8725 fuData: *const TPM2B_MAX_BUFFER,
8726 nextDigest: *mut TPMT_HA,
8727 firstDigest: *mut TPMT_HA,
8728 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8729 ) -> TSS2_RC;
8730}
8731extern "C" {
8732 pub fn Tss2_Sys_FirmwareRead_Prepare(
8733 sysContext: *mut TSS2_SYS_CONTEXT,
8734 sequenceNumber: UINT32,
8735 ) -> TSS2_RC;
8736}
8737extern "C" {
8738 pub fn Tss2_Sys_FirmwareRead_Complete(
8739 sysContext: *mut TSS2_SYS_CONTEXT,
8740 fuData: *mut TPM2B_MAX_BUFFER,
8741 ) -> TSS2_RC;
8742}
8743extern "C" {
8744 pub fn Tss2_Sys_FirmwareRead(
8745 sysContext: *mut TSS2_SYS_CONTEXT,
8746 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8747 sequenceNumber: UINT32,
8748 fuData: *mut TPM2B_MAX_BUFFER,
8749 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8750 ) -> TSS2_RC;
8751}
8752extern "C" {
8753 pub fn Tss2_Sys_ContextSave_Prepare(
8754 sysContext: *mut TSS2_SYS_CONTEXT,
8755 saveHandle: TPMI_DH_CONTEXT,
8756 ) -> TSS2_RC;
8757}
8758extern "C" {
8759 pub fn Tss2_Sys_ContextSave_Complete(
8760 sysContext: *mut TSS2_SYS_CONTEXT,
8761 context: *mut TPMS_CONTEXT,
8762 ) -> TSS2_RC;
8763}
8764extern "C" {
8765 pub fn Tss2_Sys_ContextSave(
8766 sysContext: *mut TSS2_SYS_CONTEXT,
8767 saveHandle: TPMI_DH_CONTEXT,
8768 context: *mut TPMS_CONTEXT,
8769 ) -> TSS2_RC;
8770}
8771extern "C" {
8772 pub fn Tss2_Sys_ContextLoad_Prepare(
8773 sysContext: *mut TSS2_SYS_CONTEXT,
8774 context: *const TPMS_CONTEXT,
8775 ) -> TSS2_RC;
8776}
8777extern "C" {
8778 pub fn Tss2_Sys_ContextLoad_Complete(
8779 sysContext: *mut TSS2_SYS_CONTEXT,
8780 loadedHandle: *mut TPMI_DH_CONTEXT,
8781 ) -> TSS2_RC;
8782}
8783extern "C" {
8784 pub fn Tss2_Sys_ContextLoad(
8785 sysContext: *mut TSS2_SYS_CONTEXT,
8786 context: *const TPMS_CONTEXT,
8787 loadedHandle: *mut TPMI_DH_CONTEXT,
8788 ) -> TSS2_RC;
8789}
8790extern "C" {
8791 pub fn Tss2_Sys_FlushContext_Prepare(
8792 sysContext: *mut TSS2_SYS_CONTEXT,
8793 flushHandle: TPMI_DH_CONTEXT,
8794 ) -> TSS2_RC;
8795}
8796extern "C" {
8797 pub fn Tss2_Sys_FlushContext_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8798}
8799extern "C" {
8800 pub fn Tss2_Sys_FlushContext(
8801 sysContext: *mut TSS2_SYS_CONTEXT,
8802 flushHandle: TPMI_DH_CONTEXT,
8803 ) -> TSS2_RC;
8804}
8805extern "C" {
8806 pub fn Tss2_Sys_EvictControl_Prepare(
8807 sysContext: *mut TSS2_SYS_CONTEXT,
8808 auth: TPMI_RH_PROVISION,
8809 objectHandle: TPMI_DH_OBJECT,
8810 persistentHandle: TPMI_DH_PERSISTENT,
8811 ) -> TSS2_RC;
8812}
8813extern "C" {
8814 pub fn Tss2_Sys_EvictControl_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8815}
8816extern "C" {
8817 pub fn Tss2_Sys_EvictControl(
8818 sysContext: *mut TSS2_SYS_CONTEXT,
8819 auth: TPMI_RH_PROVISION,
8820 objectHandle: TPMI_DH_OBJECT,
8821 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8822 persistentHandle: TPMI_DH_PERSISTENT,
8823 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8824 ) -> TSS2_RC;
8825}
8826extern "C" {
8827 pub fn Tss2_Sys_ReadClock_Prepare(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8828}
8829extern "C" {
8830 pub fn Tss2_Sys_ReadClock_Complete(
8831 sysContext: *mut TSS2_SYS_CONTEXT,
8832 currentTime: *mut TPMS_TIME_INFO,
8833 ) -> TSS2_RC;
8834}
8835extern "C" {
8836 pub fn Tss2_Sys_ReadClock(
8837 sysContext: *mut TSS2_SYS_CONTEXT,
8838 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8839 currentTime: *mut TPMS_TIME_INFO,
8840 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8841 ) -> TSS2_RC;
8842}
8843extern "C" {
8844 pub fn Tss2_Sys_ClockSet_Prepare(
8845 sysContext: *mut TSS2_SYS_CONTEXT,
8846 auth: TPMI_RH_PROVISION,
8847 newTime: UINT64,
8848 ) -> TSS2_RC;
8849}
8850extern "C" {
8851 pub fn Tss2_Sys_ClockSet_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8852}
8853extern "C" {
8854 pub fn Tss2_Sys_ClockSet(
8855 sysContext: *mut TSS2_SYS_CONTEXT,
8856 auth: TPMI_RH_PROVISION,
8857 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8858 newTime: UINT64,
8859 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8860 ) -> TSS2_RC;
8861}
8862extern "C" {
8863 pub fn Tss2_Sys_ClockRateAdjust_Prepare(
8864 sysContext: *mut TSS2_SYS_CONTEXT,
8865 auth: TPMI_RH_PROVISION,
8866 rateAdjust: TPM2_CLOCK_ADJUST,
8867 ) -> TSS2_RC;
8868}
8869extern "C" {
8870 pub fn Tss2_Sys_ClockRateAdjust_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8871}
8872extern "C" {
8873 pub fn Tss2_Sys_ClockRateAdjust(
8874 sysContext: *mut TSS2_SYS_CONTEXT,
8875 auth: TPMI_RH_PROVISION,
8876 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8877 rateAdjust: TPM2_CLOCK_ADJUST,
8878 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8879 ) -> TSS2_RC;
8880}
8881extern "C" {
8882 pub fn Tss2_Sys_GetCapability_Prepare(
8883 sysContext: *mut TSS2_SYS_CONTEXT,
8884 capability: TPM2_CAP,
8885 property: UINT32,
8886 propertyCount: UINT32,
8887 ) -> TSS2_RC;
8888}
8889extern "C" {
8890 pub fn Tss2_Sys_GetCapability_Complete(
8891 sysContext: *mut TSS2_SYS_CONTEXT,
8892 moreData: *mut TPMI_YES_NO,
8893 capabilityData: *mut TPMS_CAPABILITY_DATA,
8894 ) -> TSS2_RC;
8895}
8896extern "C" {
8897 pub fn Tss2_Sys_GetCapability(
8898 sysContext: *mut TSS2_SYS_CONTEXT,
8899 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8900 capability: TPM2_CAP,
8901 property: UINT32,
8902 propertyCount: UINT32,
8903 moreData: *mut TPMI_YES_NO,
8904 capabilityData: *mut TPMS_CAPABILITY_DATA,
8905 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8906 ) -> TSS2_RC;
8907}
8908extern "C" {
8909 pub fn Tss2_Sys_TestParms_Prepare(
8910 sysContext: *mut TSS2_SYS_CONTEXT,
8911 parameters: *const TPMT_PUBLIC_PARMS,
8912 ) -> TSS2_RC;
8913}
8914extern "C" {
8915 pub fn Tss2_Sys_TestParms_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8916}
8917extern "C" {
8918 pub fn Tss2_Sys_TestParms(
8919 sysContext: *mut TSS2_SYS_CONTEXT,
8920 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8921 parameters: *const TPMT_PUBLIC_PARMS,
8922 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8923 ) -> TSS2_RC;
8924}
8925extern "C" {
8926 pub fn Tss2_Sys_NV_DefineSpace_Prepare(
8927 sysContext: *mut TSS2_SYS_CONTEXT,
8928 authHandle: TPMI_RH_PROVISION,
8929 auth: *const TPM2B_AUTH,
8930 publicInfo: *const TPM2B_NV_PUBLIC,
8931 ) -> TSS2_RC;
8932}
8933extern "C" {
8934 pub fn Tss2_Sys_NV_DefineSpace_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8935}
8936extern "C" {
8937 pub fn Tss2_Sys_NV_DefineSpace(
8938 sysContext: *mut TSS2_SYS_CONTEXT,
8939 authHandle: TPMI_RH_PROVISION,
8940 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8941 auth: *const TPM2B_AUTH,
8942 publicInfo: *const TPM2B_NV_PUBLIC,
8943 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8944 ) -> TSS2_RC;
8945}
8946extern "C" {
8947 pub fn Tss2_Sys_NV_UndefineSpace_Prepare(
8948 sysContext: *mut TSS2_SYS_CONTEXT,
8949 authHandle: TPMI_RH_PROVISION,
8950 nvIndex: TPMI_RH_NV_INDEX,
8951 ) -> TSS2_RC;
8952}
8953extern "C" {
8954 pub fn Tss2_Sys_NV_UndefineSpace_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8955}
8956extern "C" {
8957 pub fn Tss2_Sys_NV_UndefineSpace(
8958 sysContext: *mut TSS2_SYS_CONTEXT,
8959 authHandle: TPMI_RH_PROVISION,
8960 nvIndex: TPMI_RH_NV_INDEX,
8961 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8962 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8963 ) -> TSS2_RC;
8964}
8965extern "C" {
8966 pub fn Tss2_Sys_NV_UndefineSpaceSpecial_Prepare(
8967 sysContext: *mut TSS2_SYS_CONTEXT,
8968 nvIndex: TPMI_RH_NV_INDEX,
8969 platform: TPMI_RH_PLATFORM,
8970 ) -> TSS2_RC;
8971}
8972extern "C" {
8973 pub fn Tss2_Sys_NV_UndefineSpaceSpecial_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8974}
8975extern "C" {
8976 pub fn Tss2_Sys_NV_UndefineSpaceSpecial(
8977 sysContext: *mut TSS2_SYS_CONTEXT,
8978 nvIndex: TPMI_RH_NV_INDEX,
8979 platform: TPMI_RH_PLATFORM,
8980 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8981 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8982 ) -> TSS2_RC;
8983}
8984extern "C" {
8985 pub fn Tss2_Sys_NV_ReadPublic_Prepare(
8986 sysContext: *mut TSS2_SYS_CONTEXT,
8987 nvIndex: TPMI_RH_NV_INDEX,
8988 ) -> TSS2_RC;
8989}
8990extern "C" {
8991 pub fn Tss2_Sys_NV_ReadPublic_Complete(
8992 sysContext: *mut TSS2_SYS_CONTEXT,
8993 nvPublic: *mut TPM2B_NV_PUBLIC,
8994 nvName: *mut TPM2B_NAME,
8995 ) -> TSS2_RC;
8996}
8997extern "C" {
8998 pub fn Tss2_Sys_NV_ReadPublic(
8999 sysContext: *mut TSS2_SYS_CONTEXT,
9000 nvIndex: TPMI_RH_NV_INDEX,
9001 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9002 nvPublic: *mut TPM2B_NV_PUBLIC,
9003 nvName: *mut TPM2B_NAME,
9004 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9005 ) -> TSS2_RC;
9006}
9007extern "C" {
9008 pub fn Tss2_Sys_NV_Write_Prepare(
9009 sysContext: *mut TSS2_SYS_CONTEXT,
9010 authHandle: TPMI_RH_NV_AUTH,
9011 nvIndex: TPMI_RH_NV_INDEX,
9012 data: *const TPM2B_MAX_NV_BUFFER,
9013 offset: UINT16,
9014 ) -> TSS2_RC;
9015}
9016extern "C" {
9017 pub fn Tss2_Sys_NV_Write_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9018}
9019extern "C" {
9020 pub fn Tss2_Sys_NV_Write(
9021 sysContext: *mut TSS2_SYS_CONTEXT,
9022 authHandle: TPMI_RH_NV_AUTH,
9023 nvIndex: TPMI_RH_NV_INDEX,
9024 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9025 data: *const TPM2B_MAX_NV_BUFFER,
9026 offset: UINT16,
9027 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9028 ) -> TSS2_RC;
9029}
9030extern "C" {
9031 pub fn Tss2_Sys_NV_Increment_Prepare(
9032 sysContext: *mut TSS2_SYS_CONTEXT,
9033 authHandle: TPMI_RH_NV_AUTH,
9034 nvIndex: TPMI_RH_NV_INDEX,
9035 ) -> TSS2_RC;
9036}
9037extern "C" {
9038 pub fn Tss2_Sys_NV_Increment_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9039}
9040extern "C" {
9041 pub fn Tss2_Sys_NV_Increment(
9042 sysContext: *mut TSS2_SYS_CONTEXT,
9043 authHandle: TPMI_RH_NV_AUTH,
9044 nvIndex: TPMI_RH_NV_INDEX,
9045 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9046 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9047 ) -> TSS2_RC;
9048}
9049extern "C" {
9050 pub fn Tss2_Sys_NV_Extend_Prepare(
9051 sysContext: *mut TSS2_SYS_CONTEXT,
9052 authHandle: TPMI_RH_NV_AUTH,
9053 nvIndex: TPMI_RH_NV_INDEX,
9054 data: *const TPM2B_MAX_NV_BUFFER,
9055 ) -> TSS2_RC;
9056}
9057extern "C" {
9058 pub fn Tss2_Sys_NV_Extend_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9059}
9060extern "C" {
9061 pub fn Tss2_Sys_NV_Extend(
9062 sysContext: *mut TSS2_SYS_CONTEXT,
9063 authHandle: TPMI_RH_NV_AUTH,
9064 nvIndex: TPMI_RH_NV_INDEX,
9065 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9066 data: *const TPM2B_MAX_NV_BUFFER,
9067 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9068 ) -> TSS2_RC;
9069}
9070extern "C" {
9071 pub fn Tss2_Sys_NV_SetBits_Prepare(
9072 sysContext: *mut TSS2_SYS_CONTEXT,
9073 authHandle: TPMI_RH_NV_AUTH,
9074 nvIndex: TPMI_RH_NV_INDEX,
9075 bits: UINT64,
9076 ) -> TSS2_RC;
9077}
9078extern "C" {
9079 pub fn Tss2_Sys_NV_SetBits_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9080}
9081extern "C" {
9082 pub fn Tss2_Sys_NV_SetBits(
9083 sysContext: *mut TSS2_SYS_CONTEXT,
9084 authHandle: TPMI_RH_NV_AUTH,
9085 nvIndex: TPMI_RH_NV_INDEX,
9086 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9087 bits: UINT64,
9088 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9089 ) -> TSS2_RC;
9090}
9091extern "C" {
9092 pub fn Tss2_Sys_NV_WriteLock_Prepare(
9093 sysContext: *mut TSS2_SYS_CONTEXT,
9094 authHandle: TPMI_RH_NV_AUTH,
9095 nvIndex: TPMI_RH_NV_INDEX,
9096 ) -> TSS2_RC;
9097}
9098extern "C" {
9099 pub fn Tss2_Sys_NV_WriteLock_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9100}
9101extern "C" {
9102 pub fn Tss2_Sys_NV_WriteLock(
9103 sysContext: *mut TSS2_SYS_CONTEXT,
9104 authHandle: TPMI_RH_NV_AUTH,
9105 nvIndex: TPMI_RH_NV_INDEX,
9106 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9107 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9108 ) -> TSS2_RC;
9109}
9110extern "C" {
9111 pub fn Tss2_Sys_NV_GlobalWriteLock_Prepare(
9112 sysContext: *mut TSS2_SYS_CONTEXT,
9113 authHandle: TPMI_RH_PROVISION,
9114 ) -> TSS2_RC;
9115}
9116extern "C" {
9117 pub fn Tss2_Sys_NV_GlobalWriteLock_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9118}
9119extern "C" {
9120 pub fn Tss2_Sys_NV_GlobalWriteLock(
9121 sysContext: *mut TSS2_SYS_CONTEXT,
9122 authHandle: TPMI_RH_PROVISION,
9123 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9124 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9125 ) -> TSS2_RC;
9126}
9127extern "C" {
9128 pub fn Tss2_Sys_NV_Read_Prepare(
9129 sysContext: *mut TSS2_SYS_CONTEXT,
9130 authHandle: TPMI_RH_NV_AUTH,
9131 nvIndex: TPMI_RH_NV_INDEX,
9132 size: UINT16,
9133 offset: UINT16,
9134 ) -> TSS2_RC;
9135}
9136extern "C" {
9137 pub fn Tss2_Sys_NV_Read_Complete(
9138 sysContext: *mut TSS2_SYS_CONTEXT,
9139 data: *mut TPM2B_MAX_NV_BUFFER,
9140 ) -> TSS2_RC;
9141}
9142extern "C" {
9143 pub fn Tss2_Sys_NV_Read(
9144 sysContext: *mut TSS2_SYS_CONTEXT,
9145 authHandle: TPMI_RH_NV_AUTH,
9146 nvIndex: TPMI_RH_NV_INDEX,
9147 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9148 size: UINT16,
9149 offset: UINT16,
9150 data: *mut TPM2B_MAX_NV_BUFFER,
9151 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9152 ) -> TSS2_RC;
9153}
9154extern "C" {
9155 pub fn Tss2_Sys_NV_ReadLock_Prepare(
9156 sysContext: *mut TSS2_SYS_CONTEXT,
9157 authHandle: TPMI_RH_NV_AUTH,
9158 nvIndex: TPMI_RH_NV_INDEX,
9159 ) -> TSS2_RC;
9160}
9161extern "C" {
9162 pub fn Tss2_Sys_NV_ReadLock_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9163}
9164extern "C" {
9165 pub fn Tss2_Sys_NV_ReadLock(
9166 sysContext: *mut TSS2_SYS_CONTEXT,
9167 authHandle: TPMI_RH_NV_AUTH,
9168 nvIndex: TPMI_RH_NV_INDEX,
9169 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9170 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9171 ) -> TSS2_RC;
9172}
9173extern "C" {
9174 pub fn Tss2_Sys_NV_ChangeAuth_Prepare(
9175 sysContext: *mut TSS2_SYS_CONTEXT,
9176 nvIndex: TPMI_RH_NV_INDEX,
9177 newAuth: *const TPM2B_AUTH,
9178 ) -> TSS2_RC;
9179}
9180extern "C" {
9181 pub fn Tss2_Sys_NV_ChangeAuth_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9182}
9183extern "C" {
9184 pub fn Tss2_Sys_NV_ChangeAuth(
9185 sysContext: *mut TSS2_SYS_CONTEXT,
9186 nvIndex: TPMI_RH_NV_INDEX,
9187 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9188 newAuth: *const TPM2B_AUTH,
9189 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9190 ) -> TSS2_RC;
9191}
9192extern "C" {
9193 pub fn Tss2_Sys_NV_Certify_Prepare(
9194 sysContext: *mut TSS2_SYS_CONTEXT,
9195 signHandle: TPMI_DH_OBJECT,
9196 authHandle: TPMI_RH_NV_AUTH,
9197 nvIndex: TPMI_RH_NV_INDEX,
9198 qualifyingData: *const TPM2B_DATA,
9199 inScheme: *const TPMT_SIG_SCHEME,
9200 size: UINT16,
9201 offset: UINT16,
9202 ) -> TSS2_RC;
9203}
9204extern "C" {
9205 pub fn Tss2_Sys_NV_Certify_Complete(
9206 sysContext: *mut TSS2_SYS_CONTEXT,
9207 certifyInfo: *mut TPM2B_ATTEST,
9208 signature: *mut TPMT_SIGNATURE,
9209 ) -> TSS2_RC;
9210}
9211extern "C" {
9212 pub fn Tss2_Sys_NV_Certify(
9213 sysContext: *mut TSS2_SYS_CONTEXT,
9214 signHandle: TPMI_DH_OBJECT,
9215 authHandle: TPMI_RH_NV_AUTH,
9216 nvIndex: TPMI_RH_NV_INDEX,
9217 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9218 qualifyingData: *const TPM2B_DATA,
9219 inScheme: *const TPMT_SIG_SCHEME,
9220 size: UINT16,
9221 offset: UINT16,
9222 certifyInfo: *mut TPM2B_ATTEST,
9223 signature: *mut TPMT_SIGNATURE,
9224 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9225 ) -> TSS2_RC;
9226}
9227extern "C" {
9228 pub fn Tss2_Sys_Vendor_TCG_Test_Prepare(
9229 sysContext: *mut TSS2_SYS_CONTEXT,
9230 inputData: *const TPM2B_DATA,
9231 ) -> TSS2_RC;
9232}
9233extern "C" {
9234 pub fn Tss2_Sys_Vendor_TCG_Test_Complete(
9235 sysContext: *mut TSS2_SYS_CONTEXT,
9236 outputData: *mut TPM2B_DATA,
9237 ) -> TSS2_RC;
9238}
9239extern "C" {
9240 pub fn Tss2_Sys_Vendor_TCG_Test(
9241 sysContext: *mut TSS2_SYS_CONTEXT,
9242 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9243 inputData: *const TPM2B_DATA,
9244 outputData: *mut TPM2B_DATA,
9245 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9246 ) -> TSS2_RC;
9247}
9248extern "C" {
9249 pub fn Tss2_Sys_AC_GetCapability_Prepare(
9250 sysContext: *mut TSS2_SYS_CONTEXT,
9251 ac: TPMI_RH_AC,
9252 capability: TPM_AT,
9253 count: UINT32,
9254 ) -> TSS2_RC;
9255}
9256extern "C" {
9257 pub fn Tss2_Sys_AC_GetCapability_Complete(
9258 sysContext: *mut TSS2_SYS_CONTEXT,
9259 moreData: *mut TPMI_YES_NO,
9260 capabilityData: *mut TPML_AC_CAPABILITIES,
9261 ) -> TSS2_RC;
9262}
9263extern "C" {
9264 pub fn Tss2_Sys_AC_GetCapability(
9265 sysContext: *mut TSS2_SYS_CONTEXT,
9266 ac: TPMI_RH_AC,
9267 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9268 capability: TPM_AT,
9269 count: UINT32,
9270 moreData: *mut TPMI_YES_NO,
9271 capabilityData: *mut TPML_AC_CAPABILITIES,
9272 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9273 ) -> TSS2_RC;
9274}
9275extern "C" {
9276 pub fn Tss2_Sys_AC_Send_Prepare(
9277 sysContext: *mut TSS2_SYS_CONTEXT,
9278 sendObject: TPMI_DH_OBJECT,
9279 authHandle: TPMI_RH_NV_AUTH,
9280 ac: TPMI_RH_AC,
9281 acDataIn: *mut TPM2B_MAX_BUFFER,
9282 ) -> TSS2_RC;
9283}
9284extern "C" {
9285 pub fn Tss2_Sys_AC_Send_Complete(
9286 sysContext: *mut TSS2_SYS_CONTEXT,
9287 acDataOut: *mut TPMS_AC_OUTPUT,
9288 ) -> TSS2_RC;
9289}
9290extern "C" {
9291 pub fn Tss2_Sys_AC_Send(
9292 sysContext: *mut TSS2_SYS_CONTEXT,
9293 sendObject: TPMI_DH_OBJECT,
9294 authHandle: TPMI_RH_NV_AUTH,
9295 ac: TPMI_RH_AC,
9296 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9297 acDataIn: *mut TPM2B_MAX_BUFFER,
9298 acDataOut: *mut TPMS_AC_OUTPUT,
9299 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9300 ) -> TSS2_RC;
9301}
9302extern "C" {
9303 pub fn Tss2_Sys_Policy_AC_SendSelect_Prepare(
9304 sysContext: *mut TSS2_SYS_CONTEXT,
9305 policySession: TPMI_SH_POLICY,
9306 objectName: *mut TPM2B_NAME,
9307 authHandleName: *mut TPM2B_NAME,
9308 acName: *mut TPM2B_NAME,
9309 includeObject: TPMI_YES_NO,
9310 ) -> TSS2_RC;
9311}
9312extern "C" {
9313 pub fn Tss2_Sys_Policy_AC_SendSelect_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9314}
9315extern "C" {
9316 pub fn Tss2_Sys_Policy_AC_SendSelect(
9317 sysContext: *mut TSS2_SYS_CONTEXT,
9318 policySession: TPMI_SH_POLICY,
9319 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9320 objectName: *mut TPM2B_NAME,
9321 authHandleName: *mut TPM2B_NAME,
9322 acName: *mut TPM2B_NAME,
9323 includeObject: TPMI_YES_NO,
9324 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9325 ) -> TSS2_RC;
9326}
9327extern "C" {
9328 pub fn Tss2_Sys_ACT_SetTimeout_Prepare(
9329 sysContext: *mut TSS2_SYS_CONTEXT,
9330 actHandle: TPMI_RH_ACT,
9331 startTimeout: UINT32,
9332 ) -> TSS2_RC;
9333}
9334extern "C" {
9335 pub fn Tss2_Sys_ACT_SetTimeout_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9336}
9337extern "C" {
9338 pub fn Tss2_Sys_ACT_SetTimeout(
9339 sysContext: *mut TSS2_SYS_CONTEXT,
9340 actHandle: TPMI_RH_ACT,
9341 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9342 startTimeout: UINT32,
9343 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9344 ) -> TSS2_RC;
9345}
9346extern "C" {
9347 pub fn Tss2_Sys_PolicyTemplate_Prepare(
9348 sysContext: *mut TSS2_SYS_CONTEXT,
9349 policySession: TPMI_SH_POLICY,
9350 templateHash: *const TPM2B_DIGEST,
9351 ) -> TSS2_RC;
9352}
9353extern "C" {
9354 pub fn Tss2_Sys_PolicyTemplate_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9355}
9356extern "C" {
9357 pub fn Tss2_Sys_PolicyTemplate(
9358 sysContext: *mut TSS2_SYS_CONTEXT,
9359 policySession: TPMI_SH_POLICY,
9360 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9361 templateHash: *const TPM2B_DIGEST,
9362 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9363 ) -> TSS2_RC;
9364}
9365extern "C" {
9366 pub fn Tss2_Sys_CreateLoaded_Prepare(
9367 sysContext: *mut TSS2_SYS_CONTEXT,
9368 parentHandle: TPMI_RH_HIERARCHY,
9369 inSensitive: *const TPM2B_SENSITIVE_CREATE,
9370 inPublic: *const TPM2B_TEMPLATE,
9371 ) -> TSS2_RC;
9372}
9373extern "C" {
9374 pub fn Tss2_Sys_CreateLoaded_Complete(
9375 sysContext: *mut TSS2_SYS_CONTEXT,
9376 objectHandle: *mut TPM2_HANDLE,
9377 outPrivate: *mut TPM2B_PRIVATE,
9378 outPublic: *mut TPM2B_PUBLIC,
9379 name: *mut TPM2B_NAME,
9380 ) -> TSS2_RC;
9381}
9382extern "C" {
9383 pub fn Tss2_Sys_CreateLoaded(
9384 sysContext: *mut TSS2_SYS_CONTEXT,
9385 parentHandle: TPMI_RH_HIERARCHY,
9386 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9387 inSensitive: *const TPM2B_SENSITIVE_CREATE,
9388 inPublic: *const TPM2B_TEMPLATE,
9389 objectHandle: *mut TPM2_HANDLE,
9390 outPrivate: *mut TPM2B_PRIVATE,
9391 outPublic: *mut TPM2B_PUBLIC,
9392 name: *mut TPM2B_NAME,
9393 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9394 ) -> TSS2_RC;
9395}
9396extern "C" {
9397 pub fn Tss2_Sys_PolicyAuthorizeNV_Prepare(
9398 sysContext: *mut TSS2_SYS_CONTEXT,
9399 authHandle: TPMI_RH_NV_AUTH,
9400 nvIndex: TPMI_RH_NV_INDEX,
9401 policySession: TPMI_SH_POLICY,
9402 ) -> TSS2_RC;
9403}
9404extern "C" {
9405 pub fn Tss2_Sys_PolicyAuthorizeNV_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9406}
9407extern "C" {
9408 pub fn Tss2_Sys_PolicyAuthorizeNV(
9409 sysContext: *mut TSS2_SYS_CONTEXT,
9410 authHandle: TPMI_RH_NV_AUTH,
9411 nvIndex: TPMI_RH_NV_INDEX,
9412 policySession: TPMI_SH_POLICY,
9413 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9414 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9415 ) -> TSS2_RC;
9416}
9417pub type ESYS_TR = u32;
9418#[repr(C)]
9419#[derive(Debug, Copy, Clone)]
9420pub struct ESYS_CONTEXT {
9421 _unused: [u8; 0],
9422}
9423#[repr(C)]
9424#[derive(Debug, Copy, Clone)]
9425pub struct ESYS_CRYPTO_CONTEXT_BLOB {
9426 _unused: [u8; 0],
9427}
9428pub type ESYS_CRYPTO_HASH_START_FNP = ::std::option::Option<
9429 unsafe extern "C" fn(
9430 context: *mut *mut ESYS_CRYPTO_CONTEXT_BLOB,
9431 hashAlg: TPM2_ALG_ID,
9432 userdata: *mut ::std::os::raw::c_void,
9433 ) -> TSS2_RC,
9434>;
9435pub type ESYS_CRYPTO_HASH_UPDATE_FNP = ::std::option::Option<
9436 unsafe extern "C" fn(
9437 context: *mut ESYS_CRYPTO_CONTEXT_BLOB,
9438 buffer: *const u8,
9439 size: size_t,
9440 userdata: *mut ::std::os::raw::c_void,
9441 ) -> TSS2_RC,
9442>;
9443pub type ESYS_CRYPTO_HASH_FINISH_FNP = ::std::option::Option<
9444 unsafe extern "C" fn(
9445 context: *mut *mut ESYS_CRYPTO_CONTEXT_BLOB,
9446 buffer: *mut u8,
9447 size: *mut size_t,
9448 userdata: *mut ::std::os::raw::c_void,
9449 ) -> TSS2_RC,
9450>;
9451pub type ESYS_CRYPTO_HASH_ABORT_FNP = ::std::option::Option<
9452 unsafe extern "C" fn(
9453 context: *mut *mut ESYS_CRYPTO_CONTEXT_BLOB,
9454 userdata: *mut ::std::os::raw::c_void,
9455 ),
9456>;
9457pub type ESYS_CRYPTO_HMAC_START_FNP = ::std::option::Option<
9458 unsafe extern "C" fn(
9459 context: *mut *mut ESYS_CRYPTO_CONTEXT_BLOB,
9460 hashAlg: TPM2_ALG_ID,
9461 key: *const u8,
9462 size: size_t,
9463 userdata: *mut ::std::os::raw::c_void,
9464 ) -> TSS2_RC,
9465>;
9466pub type ESYS_CRYPTO_HMAC_UPDATE_FNP = ::std::option::Option<
9467 unsafe extern "C" fn(
9468 context: *mut ESYS_CRYPTO_CONTEXT_BLOB,
9469 buffer: *const u8,
9470 size: size_t,
9471 userdata: *mut ::std::os::raw::c_void,
9472 ) -> TSS2_RC,
9473>;
9474pub type ESYS_CRYPTO_HMAC_FINISH_FNP = ::std::option::Option<
9475 unsafe extern "C" fn(
9476 context: *mut *mut ESYS_CRYPTO_CONTEXT_BLOB,
9477 buffer: *mut u8,
9478 size: *mut size_t,
9479 userdata: *mut ::std::os::raw::c_void,
9480 ) -> TSS2_RC,
9481>;
9482pub type ESYS_CRYPTO_HMAC_ABORT_FNP = ::std::option::Option<
9483 unsafe extern "C" fn(
9484 context: *mut *mut ESYS_CRYPTO_CONTEXT_BLOB,
9485 userdata: *mut ::std::os::raw::c_void,
9486 ),
9487>;
9488pub type ESYS_CRYPTO_GET_RANDOM2B_FNP = ::std::option::Option<
9489 unsafe extern "C" fn(
9490 nonce: *mut TPM2B_NONCE,
9491 num_bytes: size_t,
9492 userdata: *mut ::std::os::raw::c_void,
9493 ) -> TSS2_RC,
9494>;
9495pub type ESYS_CRYPTO_GET_ECDH_POINT_FNP = ::std::option::Option<
9496 unsafe extern "C" fn(
9497 key: *mut TPM2B_PUBLIC,
9498 max_out_size: size_t,
9499 Z: *mut TPM2B_ECC_PARAMETER,
9500 Q: *mut TPMS_ECC_POINT,
9501 out_buffer: *mut BYTE,
9502 out_size: *mut size_t,
9503 userdata: *mut ::std::os::raw::c_void,
9504 ) -> TSS2_RC,
9505>;
9506pub type ESYS_CRYPTO_AES_ENCRYPT_FNP = ::std::option::Option<
9507 unsafe extern "C" fn(
9508 key: *mut u8,
9509 tpm_sym_alg: TPM2_ALG_ID,
9510 key_bits: TPMI_AES_KEY_BITS,
9511 tpm_mode: TPM2_ALG_ID,
9512 buffer: *mut u8,
9513 buffer_size: size_t,
9514 iv: *mut u8,
9515 userdata: *mut ::std::os::raw::c_void,
9516 ) -> TSS2_RC,
9517>;
9518pub type ESYS_CRYPTO_AES_DECRYPT_FNP = ::std::option::Option<
9519 unsafe extern "C" fn(
9520 key: *mut u8,
9521 tpm_sym_alg: TPM2_ALG_ID,
9522 key_bits: TPMI_AES_KEY_BITS,
9523 tpm_mode: TPM2_ALG_ID,
9524 buffer: *mut u8,
9525 buffer_size: size_t,
9526 iv: *mut u8,
9527 userdata: *mut ::std::os::raw::c_void,
9528 ) -> TSS2_RC,
9529>;
9530pub type ESYS_CRYPTO_SM4_ENCRYPT_FNP = ::std::option::Option<
9531 unsafe extern "C" fn(
9532 key: *mut u8,
9533 tpm_sym_alg: TPM2_ALG_ID,
9534 key_bits: TPMI_SM4_KEY_BITS,
9535 tpm_mode: TPM2_ALG_ID,
9536 buffer: *mut u8,
9537 buffer_size: size_t,
9538 iv: *mut u8,
9539 userdata: *mut ::std::os::raw::c_void,
9540 ) -> TSS2_RC,
9541>;
9542pub type ESYS_CRYPTO_SM4_DECRYPT_FNP = ::std::option::Option<
9543 unsafe extern "C" fn(
9544 key: *mut u8,
9545 tpm_sym_alg: TPM2_ALG_ID,
9546 key_bits: TPMI_SM4_KEY_BITS,
9547 tpm_mode: TPM2_ALG_ID,
9548 buffer: *mut u8,
9549 buffer_size: size_t,
9550 iv: *mut u8,
9551 userdata: *mut ::std::os::raw::c_void,
9552 ) -> TSS2_RC,
9553>;
9554pub type ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP = ::std::option::Option<
9555 unsafe extern "C" fn(
9556 pub_tpm_key: *mut TPM2B_PUBLIC,
9557 in_size: size_t,
9558 in_buffer: *mut BYTE,
9559 max_out_size: size_t,
9560 out_buffer: *mut BYTE,
9561 out_size: *mut size_t,
9562 label: *const ::std::os::raw::c_char,
9563 userdata: *mut ::std::os::raw::c_void,
9564 ) -> TSS2_RC,
9565>;
9566pub type ESYS_CRYPTO_INIT_FNP =
9567 ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void) -> TSS2_RC>;
9568#[repr(C)]
9569#[derive(Debug, Copy, Clone)]
9570pub struct ESYS_CRYPTO_CALLBACKS {
9571 pub rsa_pk_encrypt: ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP,
9572 pub hash_start: ESYS_CRYPTO_HASH_START_FNP,
9573 pub hash_update: ESYS_CRYPTO_HASH_UPDATE_FNP,
9574 pub hash_finish: ESYS_CRYPTO_HASH_FINISH_FNP,
9575 pub hash_abort: ESYS_CRYPTO_HASH_ABORT_FNP,
9576 pub hmac_start: ESYS_CRYPTO_HMAC_START_FNP,
9577 pub hmac_update: ESYS_CRYPTO_HMAC_UPDATE_FNP,
9578 pub hmac_finish: ESYS_CRYPTO_HMAC_FINISH_FNP,
9579 pub hmac_abort: ESYS_CRYPTO_HMAC_ABORT_FNP,
9580 pub get_random2b: ESYS_CRYPTO_GET_RANDOM2B_FNP,
9581 pub get_ecdh_point: ESYS_CRYPTO_GET_ECDH_POINT_FNP,
9582 pub aes_encrypt: ESYS_CRYPTO_AES_ENCRYPT_FNP,
9583 pub aes_decrypt: ESYS_CRYPTO_AES_DECRYPT_FNP,
9584 pub sm4_encrypt: ESYS_CRYPTO_SM4_ENCRYPT_FNP,
9585 pub sm4_decrypt: ESYS_CRYPTO_SM4_DECRYPT_FNP,
9586 pub init: ESYS_CRYPTO_INIT_FNP,
9587 pub userdata: *mut ::std::os::raw::c_void,
9588}
9589#[test]
9590fn bindgen_test_layout_ESYS_CRYPTO_CALLBACKS() {
9591 const UNINIT: ::std::mem::MaybeUninit<ESYS_CRYPTO_CALLBACKS> =
9592 ::std::mem::MaybeUninit::uninit();
9593 let ptr = UNINIT.as_ptr();
9594 assert_eq!(
9595 ::std::mem::size_of::<ESYS_CRYPTO_CALLBACKS>(),
9596 136usize,
9597 "Size of ESYS_CRYPTO_CALLBACKS"
9598 );
9599 assert_eq!(
9600 ::std::mem::align_of::<ESYS_CRYPTO_CALLBACKS>(),
9601 8usize,
9602 "Alignment of ESYS_CRYPTO_CALLBACKS"
9603 );
9604 assert_eq!(
9605 unsafe { ::std::ptr::addr_of!((*ptr).rsa_pk_encrypt) as usize - ptr as usize },
9606 0usize,
9607 "Offset of field: ESYS_CRYPTO_CALLBACKS::rsa_pk_encrypt"
9608 );
9609 assert_eq!(
9610 unsafe { ::std::ptr::addr_of!((*ptr).hash_start) as usize - ptr as usize },
9611 8usize,
9612 "Offset of field: ESYS_CRYPTO_CALLBACKS::hash_start"
9613 );
9614 assert_eq!(
9615 unsafe { ::std::ptr::addr_of!((*ptr).hash_update) as usize - ptr as usize },
9616 16usize,
9617 "Offset of field: ESYS_CRYPTO_CALLBACKS::hash_update"
9618 );
9619 assert_eq!(
9620 unsafe { ::std::ptr::addr_of!((*ptr).hash_finish) as usize - ptr as usize },
9621 24usize,
9622 "Offset of field: ESYS_CRYPTO_CALLBACKS::hash_finish"
9623 );
9624 assert_eq!(
9625 unsafe { ::std::ptr::addr_of!((*ptr).hash_abort) as usize - ptr as usize },
9626 32usize,
9627 "Offset of field: ESYS_CRYPTO_CALLBACKS::hash_abort"
9628 );
9629 assert_eq!(
9630 unsafe { ::std::ptr::addr_of!((*ptr).hmac_start) as usize - ptr as usize },
9631 40usize,
9632 "Offset of field: ESYS_CRYPTO_CALLBACKS::hmac_start"
9633 );
9634 assert_eq!(
9635 unsafe { ::std::ptr::addr_of!((*ptr).hmac_update) as usize - ptr as usize },
9636 48usize,
9637 "Offset of field: ESYS_CRYPTO_CALLBACKS::hmac_update"
9638 );
9639 assert_eq!(
9640 unsafe { ::std::ptr::addr_of!((*ptr).hmac_finish) as usize - ptr as usize },
9641 56usize,
9642 "Offset of field: ESYS_CRYPTO_CALLBACKS::hmac_finish"
9643 );
9644 assert_eq!(
9645 unsafe { ::std::ptr::addr_of!((*ptr).hmac_abort) as usize - ptr as usize },
9646 64usize,
9647 "Offset of field: ESYS_CRYPTO_CALLBACKS::hmac_abort"
9648 );
9649 assert_eq!(
9650 unsafe { ::std::ptr::addr_of!((*ptr).get_random2b) as usize - ptr as usize },
9651 72usize,
9652 "Offset of field: ESYS_CRYPTO_CALLBACKS::get_random2b"
9653 );
9654 assert_eq!(
9655 unsafe { ::std::ptr::addr_of!((*ptr).get_ecdh_point) as usize - ptr as usize },
9656 80usize,
9657 "Offset of field: ESYS_CRYPTO_CALLBACKS::get_ecdh_point"
9658 );
9659 assert_eq!(
9660 unsafe { ::std::ptr::addr_of!((*ptr).aes_encrypt) as usize - ptr as usize },
9661 88usize,
9662 "Offset of field: ESYS_CRYPTO_CALLBACKS::aes_encrypt"
9663 );
9664 assert_eq!(
9665 unsafe { ::std::ptr::addr_of!((*ptr).aes_decrypt) as usize - ptr as usize },
9666 96usize,
9667 "Offset of field: ESYS_CRYPTO_CALLBACKS::aes_decrypt"
9668 );
9669 assert_eq!(
9670 unsafe { ::std::ptr::addr_of!((*ptr).sm4_encrypt) as usize - ptr as usize },
9671 104usize,
9672 "Offset of field: ESYS_CRYPTO_CALLBACKS::sm4_encrypt"
9673 );
9674 assert_eq!(
9675 unsafe { ::std::ptr::addr_of!((*ptr).sm4_decrypt) as usize - ptr as usize },
9676 112usize,
9677 "Offset of field: ESYS_CRYPTO_CALLBACKS::sm4_decrypt"
9678 );
9679 assert_eq!(
9680 unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
9681 120usize,
9682 "Offset of field: ESYS_CRYPTO_CALLBACKS::init"
9683 );
9684 assert_eq!(
9685 unsafe { ::std::ptr::addr_of!((*ptr).userdata) as usize - ptr as usize },
9686 128usize,
9687 "Offset of field: ESYS_CRYPTO_CALLBACKS::userdata"
9688 );
9689}
9690impl Default for ESYS_CRYPTO_CALLBACKS {
9691 fn default() -> Self {
9692 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9693 unsafe {
9694 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9695 s.assume_init()
9696 }
9697 }
9698}
9699extern "C" {
9700 pub fn Esys_Initialize(
9701 esys_context: *mut *mut ESYS_CONTEXT,
9702 tcti: *mut TSS2_TCTI_CONTEXT,
9703 abiVersion: *mut TSS2_ABI_VERSION,
9704 ) -> TSS2_RC;
9705}
9706extern "C" {
9707 pub fn Esys_Finalize(context: *mut *mut ESYS_CONTEXT);
9708}
9709extern "C" {
9710 pub fn Esys_GetTcti(
9711 esys_context: *mut ESYS_CONTEXT,
9712 tcti: *mut *mut TSS2_TCTI_CONTEXT,
9713 ) -> TSS2_RC;
9714}
9715extern "C" {
9716 pub fn Esys_GetPollHandles(
9717 esys_context: *mut ESYS_CONTEXT,
9718 handles: *mut *mut TSS2_TCTI_POLL_HANDLE,
9719 count: *mut size_t,
9720 ) -> TSS2_RC;
9721}
9722extern "C" {
9723 pub fn Esys_SetTimeout(esys_context: *mut ESYS_CONTEXT, timeout: i32) -> TSS2_RC;
9724}
9725extern "C" {
9726 pub fn Esys_TR_Serialize(
9727 esys_context: *mut ESYS_CONTEXT,
9728 object: ESYS_TR,
9729 buffer: *mut *mut u8,
9730 buffer_size: *mut size_t,
9731 ) -> TSS2_RC;
9732}
9733extern "C" {
9734 pub fn Esys_TR_Deserialize(
9735 esys_context: *mut ESYS_CONTEXT,
9736 buffer: *const u8,
9737 buffer_size: size_t,
9738 esys_handle: *mut ESYS_TR,
9739 ) -> TSS2_RC;
9740}
9741extern "C" {
9742 pub fn Esys_TR_FromTPMPublic_Async(
9743 esysContext: *mut ESYS_CONTEXT,
9744 tpm_handle: TPM2_HANDLE,
9745 optionalSession1: ESYS_TR,
9746 optionalSession2: ESYS_TR,
9747 optionalSession3: ESYS_TR,
9748 ) -> TSS2_RC;
9749}
9750extern "C" {
9751 pub fn Esys_TR_FromTPMPublic_Finish(
9752 esysContext: *mut ESYS_CONTEXT,
9753 object: *mut ESYS_TR,
9754 ) -> TSS2_RC;
9755}
9756extern "C" {
9757 pub fn Esys_TR_FromTPMPublic(
9758 esysContext: *mut ESYS_CONTEXT,
9759 tpm_handle: TPM2_HANDLE,
9760 optionalSession1: ESYS_TR,
9761 optionalSession2: ESYS_TR,
9762 optionalSession3: ESYS_TR,
9763 object: *mut ESYS_TR,
9764 ) -> TSS2_RC;
9765}
9766extern "C" {
9767 pub fn Esys_TR_Close(esys_context: *mut ESYS_CONTEXT, rsrc_handle: *mut ESYS_TR) -> TSS2_RC;
9768}
9769extern "C" {
9770 pub fn Esys_TR_SetAuth(
9771 esysContext: *mut ESYS_CONTEXT,
9772 handle: ESYS_TR,
9773 authValue: *const TPM2B_AUTH,
9774 ) -> TSS2_RC;
9775}
9776extern "C" {
9777 pub fn Esys_TR_GetName(
9778 esysContext: *mut ESYS_CONTEXT,
9779 handle: ESYS_TR,
9780 name: *mut *mut TPM2B_NAME,
9781 ) -> TSS2_RC;
9782}
9783extern "C" {
9784 pub fn Esys_TRSess_GetAttributes(
9785 esysContext: *mut ESYS_CONTEXT,
9786 session: ESYS_TR,
9787 flags: *mut TPMA_SESSION,
9788 ) -> TSS2_RC;
9789}
9790extern "C" {
9791 pub fn Esys_TRSess_SetAttributes(
9792 esysContext: *mut ESYS_CONTEXT,
9793 session: ESYS_TR,
9794 flags: TPMA_SESSION,
9795 mask: TPMA_SESSION,
9796 ) -> TSS2_RC;
9797}
9798extern "C" {
9799 pub fn Esys_TRSess_GetNonceTPM(
9800 esysContext: *mut ESYS_CONTEXT,
9801 session: ESYS_TR,
9802 nonceTPM: *mut *mut TPM2B_NONCE,
9803 ) -> TSS2_RC;
9804}
9805extern "C" {
9806 pub fn Esys_TR_GetTpmHandle(
9807 esys_context: *mut ESYS_CONTEXT,
9808 esys_handle: ESYS_TR,
9809 tpm_handle: *mut TPM2_HANDLE,
9810 ) -> TSS2_RC;
9811}
9812extern "C" {
9813 pub fn Esys_TRSess_GetAuthRequired(
9814 esys_context: *mut ESYS_CONTEXT,
9815 esys_handle: ESYS_TR,
9816 auth_needed: *mut TPMI_YES_NO,
9817 ) -> TSS2_RC;
9818}
9819extern "C" {
9820 pub fn Esys_Startup(esysContext: *mut ESYS_CONTEXT, startupType: TPM2_SU) -> TSS2_RC;
9821}
9822extern "C" {
9823 pub fn Esys_Startup_Async(esysContext: *mut ESYS_CONTEXT, startupType: TPM2_SU) -> TSS2_RC;
9824}
9825extern "C" {
9826 pub fn Esys_Startup_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
9827}
9828extern "C" {
9829 pub fn Esys_Shutdown(
9830 esysContext: *mut ESYS_CONTEXT,
9831 shandle1: ESYS_TR,
9832 shandle2: ESYS_TR,
9833 shandle3: ESYS_TR,
9834 shutdownType: TPM2_SU,
9835 ) -> TSS2_RC;
9836}
9837extern "C" {
9838 pub fn Esys_Shutdown_Async(
9839 esysContext: *mut ESYS_CONTEXT,
9840 shandle1: ESYS_TR,
9841 shandle2: ESYS_TR,
9842 shandle3: ESYS_TR,
9843 shutdownType: TPM2_SU,
9844 ) -> TSS2_RC;
9845}
9846extern "C" {
9847 pub fn Esys_Shutdown_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
9848}
9849extern "C" {
9850 pub fn Esys_SelfTest(
9851 esysContext: *mut ESYS_CONTEXT,
9852 shandle1: ESYS_TR,
9853 shandle2: ESYS_TR,
9854 shandle3: ESYS_TR,
9855 fullTest: TPMI_YES_NO,
9856 ) -> TSS2_RC;
9857}
9858extern "C" {
9859 pub fn Esys_SelfTest_Async(
9860 esysContext: *mut ESYS_CONTEXT,
9861 shandle1: ESYS_TR,
9862 shandle2: ESYS_TR,
9863 shandle3: ESYS_TR,
9864 fullTest: TPMI_YES_NO,
9865 ) -> TSS2_RC;
9866}
9867extern "C" {
9868 pub fn Esys_SelfTest_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
9869}
9870extern "C" {
9871 pub fn Esys_IncrementalSelfTest(
9872 esysContext: *mut ESYS_CONTEXT,
9873 shandle1: ESYS_TR,
9874 shandle2: ESYS_TR,
9875 shandle3: ESYS_TR,
9876 toTest: *const TPML_ALG,
9877 toDoList: *mut *mut TPML_ALG,
9878 ) -> TSS2_RC;
9879}
9880extern "C" {
9881 pub fn Esys_IncrementalSelfTest_Async(
9882 esysContext: *mut ESYS_CONTEXT,
9883 shandle1: ESYS_TR,
9884 shandle2: ESYS_TR,
9885 shandle3: ESYS_TR,
9886 toTest: *const TPML_ALG,
9887 ) -> TSS2_RC;
9888}
9889extern "C" {
9890 pub fn Esys_IncrementalSelfTest_Finish(
9891 esysContext: *mut ESYS_CONTEXT,
9892 toDoList: *mut *mut TPML_ALG,
9893 ) -> TSS2_RC;
9894}
9895extern "C" {
9896 pub fn Esys_GetTestResult(
9897 esysContext: *mut ESYS_CONTEXT,
9898 shandle1: ESYS_TR,
9899 shandle2: ESYS_TR,
9900 shandle3: ESYS_TR,
9901 outData: *mut *mut TPM2B_MAX_BUFFER,
9902 testResult: *mut TPM2_RC,
9903 ) -> TSS2_RC;
9904}
9905extern "C" {
9906 pub fn Esys_GetTestResult_Async(
9907 esysContext: *mut ESYS_CONTEXT,
9908 shandle1: ESYS_TR,
9909 shandle2: ESYS_TR,
9910 shandle3: ESYS_TR,
9911 ) -> TSS2_RC;
9912}
9913extern "C" {
9914 pub fn Esys_GetTestResult_Finish(
9915 esysContext: *mut ESYS_CONTEXT,
9916 outData: *mut *mut TPM2B_MAX_BUFFER,
9917 testResult: *mut TPM2_RC,
9918 ) -> TSS2_RC;
9919}
9920extern "C" {
9921 pub fn Esys_StartAuthSession(
9922 esysContext: *mut ESYS_CONTEXT,
9923 tpmKey: ESYS_TR,
9924 bind: ESYS_TR,
9925 shandle1: ESYS_TR,
9926 shandle2: ESYS_TR,
9927 shandle3: ESYS_TR,
9928 nonceCaller: *const TPM2B_NONCE,
9929 sessionType: TPM2_SE,
9930 symmetric: *const TPMT_SYM_DEF,
9931 authHash: TPMI_ALG_HASH,
9932 sessionHandle: *mut ESYS_TR,
9933 ) -> TSS2_RC;
9934}
9935extern "C" {
9936 pub fn Esys_StartAuthSession_Async(
9937 esysContext: *mut ESYS_CONTEXT,
9938 tpmKey: ESYS_TR,
9939 bind: ESYS_TR,
9940 shandle1: ESYS_TR,
9941 shandle2: ESYS_TR,
9942 shandle3: ESYS_TR,
9943 nonceCaller: *const TPM2B_NONCE,
9944 sessionType: TPM2_SE,
9945 symmetric: *const TPMT_SYM_DEF,
9946 authHash: TPMI_ALG_HASH,
9947 ) -> TSS2_RC;
9948}
9949extern "C" {
9950 pub fn Esys_StartAuthSession_Finish(
9951 esysContext: *mut ESYS_CONTEXT,
9952 sessionHandle: *mut ESYS_TR,
9953 ) -> TSS2_RC;
9954}
9955extern "C" {
9956 pub fn Esys_PolicyRestart(
9957 esysContext: *mut ESYS_CONTEXT,
9958 sessionHandle: ESYS_TR,
9959 shandle1: ESYS_TR,
9960 shandle2: ESYS_TR,
9961 shandle3: ESYS_TR,
9962 ) -> TSS2_RC;
9963}
9964extern "C" {
9965 pub fn Esys_PolicyRestart_Async(
9966 esysContext: *mut ESYS_CONTEXT,
9967 sessionHandle: ESYS_TR,
9968 shandle1: ESYS_TR,
9969 shandle2: ESYS_TR,
9970 shandle3: ESYS_TR,
9971 ) -> TSS2_RC;
9972}
9973extern "C" {
9974 pub fn Esys_PolicyRestart_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
9975}
9976extern "C" {
9977 pub fn Esys_Create(
9978 esysContext: *mut ESYS_CONTEXT,
9979 parentHandle: ESYS_TR,
9980 shandle1: ESYS_TR,
9981 shandle2: ESYS_TR,
9982 shandle3: ESYS_TR,
9983 inSensitive: *const TPM2B_SENSITIVE_CREATE,
9984 inPublic: *const TPM2B_PUBLIC,
9985 outsideInfo: *const TPM2B_DATA,
9986 creationPCR: *const TPML_PCR_SELECTION,
9987 outPrivate: *mut *mut TPM2B_PRIVATE,
9988 outPublic: *mut *mut TPM2B_PUBLIC,
9989 creationData: *mut *mut TPM2B_CREATION_DATA,
9990 creationHash: *mut *mut TPM2B_DIGEST,
9991 creationTicket: *mut *mut TPMT_TK_CREATION,
9992 ) -> TSS2_RC;
9993}
9994extern "C" {
9995 pub fn Esys_Create_Async(
9996 esysContext: *mut ESYS_CONTEXT,
9997 parentHandle: ESYS_TR,
9998 shandle1: ESYS_TR,
9999 shandle2: ESYS_TR,
10000 shandle3: ESYS_TR,
10001 inSensitive: *const TPM2B_SENSITIVE_CREATE,
10002 inPublic: *const TPM2B_PUBLIC,
10003 outsideInfo: *const TPM2B_DATA,
10004 creationPCR: *const TPML_PCR_SELECTION,
10005 ) -> TSS2_RC;
10006}
10007extern "C" {
10008 pub fn Esys_Create_Finish(
10009 esysContext: *mut ESYS_CONTEXT,
10010 outPrivate: *mut *mut TPM2B_PRIVATE,
10011 outPublic: *mut *mut TPM2B_PUBLIC,
10012 creationData: *mut *mut TPM2B_CREATION_DATA,
10013 creationHash: *mut *mut TPM2B_DIGEST,
10014 creationTicket: *mut *mut TPMT_TK_CREATION,
10015 ) -> TSS2_RC;
10016}
10017extern "C" {
10018 pub fn Esys_Load(
10019 esysContext: *mut ESYS_CONTEXT,
10020 parentHandle: ESYS_TR,
10021 shandle1: ESYS_TR,
10022 shandle2: ESYS_TR,
10023 shandle3: ESYS_TR,
10024 inPrivate: *const TPM2B_PRIVATE,
10025 inPublic: *const TPM2B_PUBLIC,
10026 objectHandle: *mut ESYS_TR,
10027 ) -> TSS2_RC;
10028}
10029extern "C" {
10030 pub fn Esys_Load_Async(
10031 esysContext: *mut ESYS_CONTEXT,
10032 parentHandle: ESYS_TR,
10033 shandle1: ESYS_TR,
10034 shandle2: ESYS_TR,
10035 shandle3: ESYS_TR,
10036 inPrivate: *const TPM2B_PRIVATE,
10037 inPublic: *const TPM2B_PUBLIC,
10038 ) -> TSS2_RC;
10039}
10040extern "C" {
10041 pub fn Esys_Load_Finish(esysContext: *mut ESYS_CONTEXT, objectHandle: *mut ESYS_TR) -> TSS2_RC;
10042}
10043extern "C" {
10044 pub fn Esys_LoadExternal(
10045 esysContext: *mut ESYS_CONTEXT,
10046 shandle1: ESYS_TR,
10047 shandle2: ESYS_TR,
10048 shandle3: ESYS_TR,
10049 inPrivate: *const TPM2B_SENSITIVE,
10050 inPublic: *const TPM2B_PUBLIC,
10051 hierarchy: ESYS_TR,
10052 objectHandle: *mut ESYS_TR,
10053 ) -> TSS2_RC;
10054}
10055extern "C" {
10056 pub fn Esys_LoadExternal_Async(
10057 esysContext: *mut ESYS_CONTEXT,
10058 shandle1: ESYS_TR,
10059 shandle2: ESYS_TR,
10060 shandle3: ESYS_TR,
10061 inPrivate: *const TPM2B_SENSITIVE,
10062 inPublic: *const TPM2B_PUBLIC,
10063 hierarchy: ESYS_TR,
10064 ) -> TSS2_RC;
10065}
10066extern "C" {
10067 pub fn Esys_LoadExternal_Finish(
10068 esysContext: *mut ESYS_CONTEXT,
10069 objectHandle: *mut ESYS_TR,
10070 ) -> TSS2_RC;
10071}
10072extern "C" {
10073 pub fn Esys_ReadPublic(
10074 esysContext: *mut ESYS_CONTEXT,
10075 objectHandle: ESYS_TR,
10076 shandle1: ESYS_TR,
10077 shandle2: ESYS_TR,
10078 shandle3: ESYS_TR,
10079 outPublic: *mut *mut TPM2B_PUBLIC,
10080 name: *mut *mut TPM2B_NAME,
10081 qualifiedName: *mut *mut TPM2B_NAME,
10082 ) -> TSS2_RC;
10083}
10084extern "C" {
10085 pub fn Esys_ReadPublic_Async(
10086 esysContext: *mut ESYS_CONTEXT,
10087 objectHandle: ESYS_TR,
10088 shandle1: ESYS_TR,
10089 shandle2: ESYS_TR,
10090 shandle3: ESYS_TR,
10091 ) -> TSS2_RC;
10092}
10093extern "C" {
10094 pub fn Esys_ReadPublic_Finish(
10095 esysContext: *mut ESYS_CONTEXT,
10096 outPublic: *mut *mut TPM2B_PUBLIC,
10097 name: *mut *mut TPM2B_NAME,
10098 qualifiedName: *mut *mut TPM2B_NAME,
10099 ) -> TSS2_RC;
10100}
10101extern "C" {
10102 pub fn Esys_ActivateCredential(
10103 esysContext: *mut ESYS_CONTEXT,
10104 activateHandle: ESYS_TR,
10105 keyHandle: ESYS_TR,
10106 shandle1: ESYS_TR,
10107 shandle2: ESYS_TR,
10108 shandle3: ESYS_TR,
10109 credentialBlob: *const TPM2B_ID_OBJECT,
10110 secret: *const TPM2B_ENCRYPTED_SECRET,
10111 certInfo: *mut *mut TPM2B_DIGEST,
10112 ) -> TSS2_RC;
10113}
10114extern "C" {
10115 pub fn Esys_ActivateCredential_Async(
10116 esysContext: *mut ESYS_CONTEXT,
10117 activateHandle: ESYS_TR,
10118 keyHandle: ESYS_TR,
10119 shandle1: ESYS_TR,
10120 shandle2: ESYS_TR,
10121 shandle3: ESYS_TR,
10122 credentialBlob: *const TPM2B_ID_OBJECT,
10123 secret: *const TPM2B_ENCRYPTED_SECRET,
10124 ) -> TSS2_RC;
10125}
10126extern "C" {
10127 pub fn Esys_ActivateCredential_Finish(
10128 esysContext: *mut ESYS_CONTEXT,
10129 certInfo: *mut *mut TPM2B_DIGEST,
10130 ) -> TSS2_RC;
10131}
10132extern "C" {
10133 pub fn Esys_ACT_SetTimeout(
10134 esysContext: *mut ESYS_CONTEXT,
10135 actHandle: ESYS_TR,
10136 shandle1: ESYS_TR,
10137 shandle2: ESYS_TR,
10138 shandle3: ESYS_TR,
10139 startTimeout: UINT32,
10140 ) -> TSS2_RC;
10141}
10142extern "C" {
10143 pub fn Esys_ACT_SetTimeout_Async(
10144 esysContext: *mut ESYS_CONTEXT,
10145 actHandle: ESYS_TR,
10146 shandle1: ESYS_TR,
10147 shandle2: ESYS_TR,
10148 shandle3: ESYS_TR,
10149 startTimeout: UINT32,
10150 ) -> TSS2_RC;
10151}
10152extern "C" {
10153 pub fn Esys_ACT_SetTimeout_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10154}
10155extern "C" {
10156 pub fn Esys_AC_GetCapability_Async(
10157 esysContext: *mut ESYS_CONTEXT,
10158 optionalSession1: ESYS_TR,
10159 optionalSession2: ESYS_TR,
10160 optionalSession3: ESYS_TR,
10161 ac: ESYS_TR,
10162 capability: TPM_AT,
10163 count: UINT32,
10164 ) -> TSS2_RC;
10165}
10166extern "C" {
10167 pub fn Esys_AC_GetCapability_Finish(
10168 esysContext: *mut ESYS_CONTEXT,
10169 moreData: *mut TPMI_YES_NO,
10170 capabilityData: *mut *mut TPML_AC_CAPABILITIES,
10171 ) -> TSS2_RC;
10172}
10173extern "C" {
10174 pub fn Esys_AC_GetCapability(
10175 esysContext: *mut ESYS_CONTEXT,
10176 optionalSession1: ESYS_TR,
10177 optionalSession2: ESYS_TR,
10178 optionalSession3: ESYS_TR,
10179 ac: ESYS_TR,
10180 capability: TPM_AT,
10181 count: UINT32,
10182 moreData: *mut TPMI_YES_NO,
10183 capabilityData: *mut *mut TPML_AC_CAPABILITIES,
10184 ) -> TSS2_RC;
10185}
10186extern "C" {
10187 pub fn Esys_AC_Send_Async(
10188 esysContext: *mut ESYS_CONTEXT,
10189 sendObject: ESYS_TR,
10190 nvAuthHandle: ESYS_TR,
10191 optionalSession1: ESYS_TR,
10192 optionalSession2: ESYS_TR,
10193 optionalSession3: ESYS_TR,
10194 ac: ESYS_TR,
10195 acDataIn: *mut TPM2B_MAX_BUFFER,
10196 ) -> TSS2_RC;
10197}
10198extern "C" {
10199 pub fn Esys_AC_Send_Finish(
10200 esysContext: *mut ESYS_CONTEXT,
10201 acDataOut: *mut *mut TPMS_AC_OUTPUT,
10202 ) -> TSS2_RC;
10203}
10204extern "C" {
10205 pub fn Esys_AC_Send(
10206 esysContext: *mut ESYS_CONTEXT,
10207 sendObject: ESYS_TR,
10208 nvAuthHandle: ESYS_TR,
10209 optionalSession1: ESYS_TR,
10210 optionalSession2: ESYS_TR,
10211 optionalSession3: ESYS_TR,
10212 ac: ESYS_TR,
10213 acDataIn: *mut TPM2B_MAX_BUFFER,
10214 acDataOut: *mut *mut TPMS_AC_OUTPUT,
10215 ) -> TSS2_RC;
10216}
10217extern "C" {
10218 pub fn Esys_Policy_AC_SendSelect_Async(
10219 esysContext: *mut ESYS_CONTEXT,
10220 policySession1: ESYS_TR,
10221 optionalSession2: ESYS_TR,
10222 optionalSession3: ESYS_TR,
10223 objectName: *mut TPM2B_NAME,
10224 authHandleName: *mut TPM2B_NAME,
10225 acName: *mut TPM2B_NAME,
10226 includeObject: TPMI_YES_NO,
10227 ) -> TSS2_RC;
10228}
10229extern "C" {
10230 pub fn Esys_Policy_AC_SendSelect_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10231}
10232extern "C" {
10233 pub fn Esys_Policy_AC_SendSelect(
10234 esysContext: *mut ESYS_CONTEXT,
10235 policySession1: ESYS_TR,
10236 optionalSession2: ESYS_TR,
10237 optionalSession3: ESYS_TR,
10238 objectName: *mut TPM2B_NAME,
10239 authHandleName: *mut TPM2B_NAME,
10240 acName: *mut TPM2B_NAME,
10241 includeObject: TPMI_YES_NO,
10242 ) -> TSS2_RC;
10243}
10244extern "C" {
10245 pub fn Esys_MakeCredential(
10246 esysContext: *mut ESYS_CONTEXT,
10247 handle: ESYS_TR,
10248 shandle1: ESYS_TR,
10249 shandle2: ESYS_TR,
10250 shandle3: ESYS_TR,
10251 credential: *const TPM2B_DIGEST,
10252 objectName: *const TPM2B_NAME,
10253 credentialBlob: *mut *mut TPM2B_ID_OBJECT,
10254 secret: *mut *mut TPM2B_ENCRYPTED_SECRET,
10255 ) -> TSS2_RC;
10256}
10257extern "C" {
10258 pub fn Esys_MakeCredential_Async(
10259 esysContext: *mut ESYS_CONTEXT,
10260 handle: ESYS_TR,
10261 shandle1: ESYS_TR,
10262 shandle2: ESYS_TR,
10263 shandle3: ESYS_TR,
10264 credential: *const TPM2B_DIGEST,
10265 objectName: *const TPM2B_NAME,
10266 ) -> TSS2_RC;
10267}
10268extern "C" {
10269 pub fn Esys_MakeCredential_Finish(
10270 esysContext: *mut ESYS_CONTEXT,
10271 credentialBlob: *mut *mut TPM2B_ID_OBJECT,
10272 secret: *mut *mut TPM2B_ENCRYPTED_SECRET,
10273 ) -> TSS2_RC;
10274}
10275extern "C" {
10276 pub fn Esys_Unseal(
10277 esysContext: *mut ESYS_CONTEXT,
10278 itemHandle: ESYS_TR,
10279 shandle1: ESYS_TR,
10280 shandle2: ESYS_TR,
10281 shandle3: ESYS_TR,
10282 outData: *mut *mut TPM2B_SENSITIVE_DATA,
10283 ) -> TSS2_RC;
10284}
10285extern "C" {
10286 pub fn Esys_Unseal_Async(
10287 esysContext: *mut ESYS_CONTEXT,
10288 itemHandle: ESYS_TR,
10289 shandle1: ESYS_TR,
10290 shandle2: ESYS_TR,
10291 shandle3: ESYS_TR,
10292 ) -> TSS2_RC;
10293}
10294extern "C" {
10295 pub fn Esys_Unseal_Finish(
10296 esysContext: *mut ESYS_CONTEXT,
10297 outData: *mut *mut TPM2B_SENSITIVE_DATA,
10298 ) -> TSS2_RC;
10299}
10300extern "C" {
10301 pub fn Esys_ObjectChangeAuth(
10302 esysContext: *mut ESYS_CONTEXT,
10303 objectHandle: ESYS_TR,
10304 parentHandle: ESYS_TR,
10305 shandle1: ESYS_TR,
10306 shandle2: ESYS_TR,
10307 shandle3: ESYS_TR,
10308 newAuth: *const TPM2B_AUTH,
10309 outPrivate: *mut *mut TPM2B_PRIVATE,
10310 ) -> TSS2_RC;
10311}
10312extern "C" {
10313 pub fn Esys_ObjectChangeAuth_Async(
10314 esysContext: *mut ESYS_CONTEXT,
10315 objectHandle: ESYS_TR,
10316 parentHandle: ESYS_TR,
10317 shandle1: ESYS_TR,
10318 shandle2: ESYS_TR,
10319 shandle3: ESYS_TR,
10320 newAuth: *const TPM2B_AUTH,
10321 ) -> TSS2_RC;
10322}
10323extern "C" {
10324 pub fn Esys_ObjectChangeAuth_Finish(
10325 esysContext: *mut ESYS_CONTEXT,
10326 outPrivate: *mut *mut TPM2B_PRIVATE,
10327 ) -> TSS2_RC;
10328}
10329extern "C" {
10330 pub fn Esys_CreateLoaded(
10331 esysContext: *mut ESYS_CONTEXT,
10332 parentHandle: ESYS_TR,
10333 shandle1: ESYS_TR,
10334 shandle2: ESYS_TR,
10335 shandle3: ESYS_TR,
10336 inSensitive: *const TPM2B_SENSITIVE_CREATE,
10337 inPublic: *const TPM2B_TEMPLATE,
10338 objectHandle: *mut ESYS_TR,
10339 outPrivate: *mut *mut TPM2B_PRIVATE,
10340 outPublic: *mut *mut TPM2B_PUBLIC,
10341 ) -> TSS2_RC;
10342}
10343extern "C" {
10344 pub fn Esys_CreateLoaded_Async(
10345 esysContext: *mut ESYS_CONTEXT,
10346 parentHandle: ESYS_TR,
10347 shandle1: ESYS_TR,
10348 shandle2: ESYS_TR,
10349 shandle3: ESYS_TR,
10350 inSensitive: *const TPM2B_SENSITIVE_CREATE,
10351 inPublic: *const TPM2B_TEMPLATE,
10352 ) -> TSS2_RC;
10353}
10354extern "C" {
10355 pub fn Esys_CreateLoaded_Finish(
10356 esysContext: *mut ESYS_CONTEXT,
10357 objectHandle: *mut ESYS_TR,
10358 outPrivate: *mut *mut TPM2B_PRIVATE,
10359 outPublic: *mut *mut TPM2B_PUBLIC,
10360 ) -> TSS2_RC;
10361}
10362extern "C" {
10363 pub fn Esys_Duplicate(
10364 esysContext: *mut ESYS_CONTEXT,
10365 objectHandle: ESYS_TR,
10366 newParentHandle: ESYS_TR,
10367 shandle1: ESYS_TR,
10368 shandle2: ESYS_TR,
10369 shandle3: ESYS_TR,
10370 encryptionKeyIn: *const TPM2B_DATA,
10371 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
10372 encryptionKeyOut: *mut *mut TPM2B_DATA,
10373 duplicate: *mut *mut TPM2B_PRIVATE,
10374 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
10375 ) -> TSS2_RC;
10376}
10377extern "C" {
10378 pub fn Esys_Duplicate_Async(
10379 esysContext: *mut ESYS_CONTEXT,
10380 objectHandle: ESYS_TR,
10381 newParentHandle: ESYS_TR,
10382 shandle1: ESYS_TR,
10383 shandle2: ESYS_TR,
10384 shandle3: ESYS_TR,
10385 encryptionKeyIn: *const TPM2B_DATA,
10386 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
10387 ) -> TSS2_RC;
10388}
10389extern "C" {
10390 pub fn Esys_Duplicate_Finish(
10391 esysContext: *mut ESYS_CONTEXT,
10392 encryptionKeyOut: *mut *mut TPM2B_DATA,
10393 duplicate: *mut *mut TPM2B_PRIVATE,
10394 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
10395 ) -> TSS2_RC;
10396}
10397extern "C" {
10398 pub fn Esys_Rewrap(
10399 esysContext: *mut ESYS_CONTEXT,
10400 oldParent: ESYS_TR,
10401 newParent: ESYS_TR,
10402 shandle1: ESYS_TR,
10403 shandle2: ESYS_TR,
10404 shandle3: ESYS_TR,
10405 inDuplicate: *const TPM2B_PRIVATE,
10406 name: *const TPM2B_NAME,
10407 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
10408 outDuplicate: *mut *mut TPM2B_PRIVATE,
10409 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
10410 ) -> TSS2_RC;
10411}
10412extern "C" {
10413 pub fn Esys_Rewrap_Async(
10414 esysContext: *mut ESYS_CONTEXT,
10415 oldParent: ESYS_TR,
10416 newParent: ESYS_TR,
10417 shandle1: ESYS_TR,
10418 shandle2: ESYS_TR,
10419 shandle3: ESYS_TR,
10420 inDuplicate: *const TPM2B_PRIVATE,
10421 name: *const TPM2B_NAME,
10422 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
10423 ) -> TSS2_RC;
10424}
10425extern "C" {
10426 pub fn Esys_Rewrap_Finish(
10427 esysContext: *mut ESYS_CONTEXT,
10428 outDuplicate: *mut *mut TPM2B_PRIVATE,
10429 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
10430 ) -> TSS2_RC;
10431}
10432extern "C" {
10433 pub fn Esys_Import(
10434 esysContext: *mut ESYS_CONTEXT,
10435 parentHandle: ESYS_TR,
10436 shandle1: ESYS_TR,
10437 shandle2: ESYS_TR,
10438 shandle3: ESYS_TR,
10439 encryptionKey: *const TPM2B_DATA,
10440 objectPublic: *const TPM2B_PUBLIC,
10441 duplicate: *const TPM2B_PRIVATE,
10442 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
10443 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
10444 outPrivate: *mut *mut TPM2B_PRIVATE,
10445 ) -> TSS2_RC;
10446}
10447extern "C" {
10448 pub fn Esys_Import_Async(
10449 esysContext: *mut ESYS_CONTEXT,
10450 parentHandle: ESYS_TR,
10451 shandle1: ESYS_TR,
10452 shandle2: ESYS_TR,
10453 shandle3: ESYS_TR,
10454 encryptionKey: *const TPM2B_DATA,
10455 objectPublic: *const TPM2B_PUBLIC,
10456 duplicate: *const TPM2B_PRIVATE,
10457 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
10458 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
10459 ) -> TSS2_RC;
10460}
10461extern "C" {
10462 pub fn Esys_Import_Finish(
10463 esysContext: *mut ESYS_CONTEXT,
10464 outPrivate: *mut *mut TPM2B_PRIVATE,
10465 ) -> TSS2_RC;
10466}
10467extern "C" {
10468 pub fn Esys_RSA_Encrypt(
10469 esysContext: *mut ESYS_CONTEXT,
10470 keyHandle: ESYS_TR,
10471 shandle1: ESYS_TR,
10472 shandle2: ESYS_TR,
10473 shandle3: ESYS_TR,
10474 message: *const TPM2B_PUBLIC_KEY_RSA,
10475 inScheme: *const TPMT_RSA_DECRYPT,
10476 label: *const TPM2B_DATA,
10477 outData: *mut *mut TPM2B_PUBLIC_KEY_RSA,
10478 ) -> TSS2_RC;
10479}
10480extern "C" {
10481 pub fn Esys_RSA_Encrypt_Async(
10482 esysContext: *mut ESYS_CONTEXT,
10483 keyHandle: ESYS_TR,
10484 shandle1: ESYS_TR,
10485 shandle2: ESYS_TR,
10486 shandle3: ESYS_TR,
10487 message: *const TPM2B_PUBLIC_KEY_RSA,
10488 inScheme: *const TPMT_RSA_DECRYPT,
10489 label: *const TPM2B_DATA,
10490 ) -> TSS2_RC;
10491}
10492extern "C" {
10493 pub fn Esys_RSA_Encrypt_Finish(
10494 esysContext: *mut ESYS_CONTEXT,
10495 outData: *mut *mut TPM2B_PUBLIC_KEY_RSA,
10496 ) -> TSS2_RC;
10497}
10498extern "C" {
10499 pub fn Esys_RSA_Decrypt(
10500 esysContext: *mut ESYS_CONTEXT,
10501 keyHandle: ESYS_TR,
10502 shandle1: ESYS_TR,
10503 shandle2: ESYS_TR,
10504 shandle3: ESYS_TR,
10505 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
10506 inScheme: *const TPMT_RSA_DECRYPT,
10507 label: *const TPM2B_DATA,
10508 message: *mut *mut TPM2B_PUBLIC_KEY_RSA,
10509 ) -> TSS2_RC;
10510}
10511extern "C" {
10512 pub fn Esys_RSA_Decrypt_Async(
10513 esysContext: *mut ESYS_CONTEXT,
10514 keyHandle: ESYS_TR,
10515 shandle1: ESYS_TR,
10516 shandle2: ESYS_TR,
10517 shandle3: ESYS_TR,
10518 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
10519 inScheme: *const TPMT_RSA_DECRYPT,
10520 label: *const TPM2B_DATA,
10521 ) -> TSS2_RC;
10522}
10523extern "C" {
10524 pub fn Esys_RSA_Decrypt_Finish(
10525 esysContext: *mut ESYS_CONTEXT,
10526 message: *mut *mut TPM2B_PUBLIC_KEY_RSA,
10527 ) -> TSS2_RC;
10528}
10529extern "C" {
10530 pub fn Esys_ECDH_KeyGen(
10531 esysContext: *mut ESYS_CONTEXT,
10532 keyHandle: ESYS_TR,
10533 shandle1: ESYS_TR,
10534 shandle2: ESYS_TR,
10535 shandle3: ESYS_TR,
10536 zPoint: *mut *mut TPM2B_ECC_POINT,
10537 pubPoint: *mut *mut TPM2B_ECC_POINT,
10538 ) -> TSS2_RC;
10539}
10540extern "C" {
10541 pub fn Esys_ECDH_KeyGen_Async(
10542 esysContext: *mut ESYS_CONTEXT,
10543 keyHandle: ESYS_TR,
10544 shandle1: ESYS_TR,
10545 shandle2: ESYS_TR,
10546 shandle3: ESYS_TR,
10547 ) -> TSS2_RC;
10548}
10549extern "C" {
10550 pub fn Esys_ECDH_KeyGen_Finish(
10551 esysContext: *mut ESYS_CONTEXT,
10552 zPoint: *mut *mut TPM2B_ECC_POINT,
10553 pubPoint: *mut *mut TPM2B_ECC_POINT,
10554 ) -> TSS2_RC;
10555}
10556extern "C" {
10557 pub fn Esys_ECDH_ZGen(
10558 esysContext: *mut ESYS_CONTEXT,
10559 keyHandle: ESYS_TR,
10560 shandle1: ESYS_TR,
10561 shandle2: ESYS_TR,
10562 shandle3: ESYS_TR,
10563 inPoint: *const TPM2B_ECC_POINT,
10564 outPoint: *mut *mut TPM2B_ECC_POINT,
10565 ) -> TSS2_RC;
10566}
10567extern "C" {
10568 pub fn Esys_ECDH_ZGen_Async(
10569 esysContext: *mut ESYS_CONTEXT,
10570 keyHandle: ESYS_TR,
10571 shandle1: ESYS_TR,
10572 shandle2: ESYS_TR,
10573 shandle3: ESYS_TR,
10574 inPoint: *const TPM2B_ECC_POINT,
10575 ) -> TSS2_RC;
10576}
10577extern "C" {
10578 pub fn Esys_ECDH_ZGen_Finish(
10579 esysContext: *mut ESYS_CONTEXT,
10580 outPoint: *mut *mut TPM2B_ECC_POINT,
10581 ) -> TSS2_RC;
10582}
10583extern "C" {
10584 pub fn Esys_ECC_Parameters(
10585 esysContext: *mut ESYS_CONTEXT,
10586 shandle1: ESYS_TR,
10587 shandle2: ESYS_TR,
10588 shandle3: ESYS_TR,
10589 curveID: TPMI_ECC_CURVE,
10590 parameters: *mut *mut TPMS_ALGORITHM_DETAIL_ECC,
10591 ) -> TSS2_RC;
10592}
10593extern "C" {
10594 pub fn Esys_ECC_Parameters_Async(
10595 esysContext: *mut ESYS_CONTEXT,
10596 shandle1: ESYS_TR,
10597 shandle2: ESYS_TR,
10598 shandle3: ESYS_TR,
10599 curveID: TPMI_ECC_CURVE,
10600 ) -> TSS2_RC;
10601}
10602extern "C" {
10603 pub fn Esys_ECC_Parameters_Finish(
10604 esysContext: *mut ESYS_CONTEXT,
10605 parameters: *mut *mut TPMS_ALGORITHM_DETAIL_ECC,
10606 ) -> TSS2_RC;
10607}
10608extern "C" {
10609 pub fn Esys_ZGen_2Phase(
10610 esysContext: *mut ESYS_CONTEXT,
10611 keyA: ESYS_TR,
10612 shandle1: ESYS_TR,
10613 shandle2: ESYS_TR,
10614 shandle3: ESYS_TR,
10615 inQsB: *const TPM2B_ECC_POINT,
10616 inQeB: *const TPM2B_ECC_POINT,
10617 inScheme: TPMI_ECC_KEY_EXCHANGE,
10618 counter: UINT16,
10619 outZ1: *mut *mut TPM2B_ECC_POINT,
10620 outZ2: *mut *mut TPM2B_ECC_POINT,
10621 ) -> TSS2_RC;
10622}
10623extern "C" {
10624 pub fn Esys_ZGen_2Phase_Async(
10625 esysContext: *mut ESYS_CONTEXT,
10626 keyA: ESYS_TR,
10627 shandle1: ESYS_TR,
10628 shandle2: ESYS_TR,
10629 shandle3: ESYS_TR,
10630 inQsB: *const TPM2B_ECC_POINT,
10631 inQeB: *const TPM2B_ECC_POINT,
10632 inScheme: TPMI_ECC_KEY_EXCHANGE,
10633 counter: UINT16,
10634 ) -> TSS2_RC;
10635}
10636extern "C" {
10637 pub fn Esys_ZGen_2Phase_Finish(
10638 esysContext: *mut ESYS_CONTEXT,
10639 outZ1: *mut *mut TPM2B_ECC_POINT,
10640 outZ2: *mut *mut TPM2B_ECC_POINT,
10641 ) -> TSS2_RC;
10642}
10643extern "C" {
10644 pub fn Esys_EncryptDecrypt(
10645 esysContext: *mut ESYS_CONTEXT,
10646 keyHandle: ESYS_TR,
10647 shandle1: ESYS_TR,
10648 shandle2: ESYS_TR,
10649 shandle3: ESYS_TR,
10650 decrypt: TPMI_YES_NO,
10651 mode: TPMI_ALG_CIPHER_MODE,
10652 ivIn: *const TPM2B_IV,
10653 inData: *const TPM2B_MAX_BUFFER,
10654 outData: *mut *mut TPM2B_MAX_BUFFER,
10655 ivOut: *mut *mut TPM2B_IV,
10656 ) -> TSS2_RC;
10657}
10658extern "C" {
10659 pub fn Esys_EncryptDecrypt_Async(
10660 esysContext: *mut ESYS_CONTEXT,
10661 keyHandle: ESYS_TR,
10662 shandle1: ESYS_TR,
10663 shandle2: ESYS_TR,
10664 shandle3: ESYS_TR,
10665 decrypt: TPMI_YES_NO,
10666 mode: TPMI_ALG_CIPHER_MODE,
10667 ivIn: *const TPM2B_IV,
10668 inData: *const TPM2B_MAX_BUFFER,
10669 ) -> TSS2_RC;
10670}
10671extern "C" {
10672 pub fn Esys_EncryptDecrypt_Finish(
10673 esysContext: *mut ESYS_CONTEXT,
10674 outData: *mut *mut TPM2B_MAX_BUFFER,
10675 ivOut: *mut *mut TPM2B_IV,
10676 ) -> TSS2_RC;
10677}
10678extern "C" {
10679 pub fn Esys_EncryptDecrypt2(
10680 esysContext: *mut ESYS_CONTEXT,
10681 keyHandle: ESYS_TR,
10682 shandle1: ESYS_TR,
10683 shandle2: ESYS_TR,
10684 shandle3: ESYS_TR,
10685 inData: *const TPM2B_MAX_BUFFER,
10686 decrypt: TPMI_YES_NO,
10687 mode: TPMI_ALG_CIPHER_MODE,
10688 ivIn: *const TPM2B_IV,
10689 outData: *mut *mut TPM2B_MAX_BUFFER,
10690 ivOut: *mut *mut TPM2B_IV,
10691 ) -> TSS2_RC;
10692}
10693extern "C" {
10694 pub fn Esys_EncryptDecrypt2_Async(
10695 esysContext: *mut ESYS_CONTEXT,
10696 keyHandle: ESYS_TR,
10697 shandle1: ESYS_TR,
10698 shandle2: ESYS_TR,
10699 shandle3: ESYS_TR,
10700 inData: *const TPM2B_MAX_BUFFER,
10701 decrypt: TPMI_YES_NO,
10702 mode: TPMI_ALG_CIPHER_MODE,
10703 ivIn: *const TPM2B_IV,
10704 ) -> TSS2_RC;
10705}
10706extern "C" {
10707 pub fn Esys_EncryptDecrypt2_Finish(
10708 esysContext: *mut ESYS_CONTEXT,
10709 outData: *mut *mut TPM2B_MAX_BUFFER,
10710 ivOut: *mut *mut TPM2B_IV,
10711 ) -> TSS2_RC;
10712}
10713extern "C" {
10714 pub fn Esys_Hash(
10715 esysContext: *mut ESYS_CONTEXT,
10716 shandle1: ESYS_TR,
10717 shandle2: ESYS_TR,
10718 shandle3: ESYS_TR,
10719 data: *const TPM2B_MAX_BUFFER,
10720 hashAlg: TPMI_ALG_HASH,
10721 hierarchy: ESYS_TR,
10722 outHash: *mut *mut TPM2B_DIGEST,
10723 validation: *mut *mut TPMT_TK_HASHCHECK,
10724 ) -> TSS2_RC;
10725}
10726extern "C" {
10727 pub fn Esys_Hash_Async(
10728 esysContext: *mut ESYS_CONTEXT,
10729 shandle1: ESYS_TR,
10730 shandle2: ESYS_TR,
10731 shandle3: ESYS_TR,
10732 data: *const TPM2B_MAX_BUFFER,
10733 hashAlg: TPMI_ALG_HASH,
10734 hierarchy: ESYS_TR,
10735 ) -> TSS2_RC;
10736}
10737extern "C" {
10738 pub fn Esys_Hash_Finish(
10739 esysContext: *mut ESYS_CONTEXT,
10740 outHash: *mut *mut TPM2B_DIGEST,
10741 validation: *mut *mut TPMT_TK_HASHCHECK,
10742 ) -> TSS2_RC;
10743}
10744extern "C" {
10745 pub fn Esys_HMAC(
10746 esysContext: *mut ESYS_CONTEXT,
10747 handle: ESYS_TR,
10748 shandle1: ESYS_TR,
10749 shandle2: ESYS_TR,
10750 shandle3: ESYS_TR,
10751 buffer: *const TPM2B_MAX_BUFFER,
10752 hashAlg: TPMI_ALG_HASH,
10753 outHMAC: *mut *mut TPM2B_DIGEST,
10754 ) -> TSS2_RC;
10755}
10756extern "C" {
10757 pub fn Esys_HMAC_Async(
10758 esysContext: *mut ESYS_CONTEXT,
10759 handle: ESYS_TR,
10760 shandle1: ESYS_TR,
10761 shandle2: ESYS_TR,
10762 shandle3: ESYS_TR,
10763 buffer: *const TPM2B_MAX_BUFFER,
10764 hashAlg: TPMI_ALG_HASH,
10765 ) -> TSS2_RC;
10766}
10767extern "C" {
10768 pub fn Esys_HMAC_Finish(
10769 esysContext: *mut ESYS_CONTEXT,
10770 outHMAC: *mut *mut TPM2B_DIGEST,
10771 ) -> TSS2_RC;
10772}
10773extern "C" {
10774 pub fn Esys_MAC_Async(
10775 esysContext: *mut ESYS_CONTEXT,
10776 handle: ESYS_TR,
10777 handleSession1: ESYS_TR,
10778 optionalSession2: ESYS_TR,
10779 optionalSession3: ESYS_TR,
10780 buffer: *const TPM2B_MAX_BUFFER,
10781 inScheme: TPMI_ALG_MAC_SCHEME,
10782 ) -> TSS2_RC;
10783}
10784extern "C" {
10785 pub fn Esys_MAC_Finish(
10786 esysContext: *mut ESYS_CONTEXT,
10787 outMAC: *mut *mut TPM2B_DIGEST,
10788 ) -> TSS2_RC;
10789}
10790extern "C" {
10791 pub fn Esys_MAC(
10792 esysContext: *mut ESYS_CONTEXT,
10793 handle: ESYS_TR,
10794 handleSession1: ESYS_TR,
10795 optionalSession2: ESYS_TR,
10796 optionalSession3: ESYS_TR,
10797 buffer: *const TPM2B_MAX_BUFFER,
10798 inScheme: TPMI_ALG_MAC_SCHEME,
10799 outMAC: *mut *mut TPM2B_DIGEST,
10800 ) -> TSS2_RC;
10801}
10802extern "C" {
10803 pub fn Esys_GetRandom(
10804 esysContext: *mut ESYS_CONTEXT,
10805 shandle1: ESYS_TR,
10806 shandle2: ESYS_TR,
10807 shandle3: ESYS_TR,
10808 bytesRequested: UINT16,
10809 randomBytes: *mut *mut TPM2B_DIGEST,
10810 ) -> TSS2_RC;
10811}
10812extern "C" {
10813 pub fn Esys_GetRandom_Async(
10814 esysContext: *mut ESYS_CONTEXT,
10815 shandle1: ESYS_TR,
10816 shandle2: ESYS_TR,
10817 shandle3: ESYS_TR,
10818 bytesRequested: UINT16,
10819 ) -> TSS2_RC;
10820}
10821extern "C" {
10822 pub fn Esys_GetRandom_Finish(
10823 esysContext: *mut ESYS_CONTEXT,
10824 randomBytes: *mut *mut TPM2B_DIGEST,
10825 ) -> TSS2_RC;
10826}
10827extern "C" {
10828 pub fn Esys_StirRandom(
10829 esysContext: *mut ESYS_CONTEXT,
10830 shandle1: ESYS_TR,
10831 shandle2: ESYS_TR,
10832 shandle3: ESYS_TR,
10833 inData: *const TPM2B_SENSITIVE_DATA,
10834 ) -> TSS2_RC;
10835}
10836extern "C" {
10837 pub fn Esys_StirRandom_Async(
10838 esysContext: *mut ESYS_CONTEXT,
10839 shandle1: ESYS_TR,
10840 shandle2: ESYS_TR,
10841 shandle3: ESYS_TR,
10842 inData: *const TPM2B_SENSITIVE_DATA,
10843 ) -> TSS2_RC;
10844}
10845extern "C" {
10846 pub fn Esys_StirRandom_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10847}
10848extern "C" {
10849 pub fn Esys_HMAC_Start(
10850 esysContext: *mut ESYS_CONTEXT,
10851 handle: ESYS_TR,
10852 shandle1: ESYS_TR,
10853 shandle2: ESYS_TR,
10854 shandle3: ESYS_TR,
10855 auth: *const TPM2B_AUTH,
10856 hashAlg: TPMI_ALG_HASH,
10857 sequenceHandle: *mut ESYS_TR,
10858 ) -> TSS2_RC;
10859}
10860extern "C" {
10861 pub fn Esys_HMAC_Start_Async(
10862 esysContext: *mut ESYS_CONTEXT,
10863 handle: ESYS_TR,
10864 shandle1: ESYS_TR,
10865 shandle2: ESYS_TR,
10866 shandle3: ESYS_TR,
10867 auth: *const TPM2B_AUTH,
10868 hashAlg: TPMI_ALG_HASH,
10869 ) -> TSS2_RC;
10870}
10871extern "C" {
10872 pub fn Esys_HMAC_Start_Finish(
10873 esysContext: *mut ESYS_CONTEXT,
10874 sequenceHandle: *mut ESYS_TR,
10875 ) -> TSS2_RC;
10876}
10877extern "C" {
10878 pub fn Esys_MAC_Start(
10879 esysContext: *mut ESYS_CONTEXT,
10880 handle: ESYS_TR,
10881 handleSession1: ESYS_TR,
10882 optionalSession2: ESYS_TR,
10883 optionalSession3: ESYS_TR,
10884 auth: *const TPM2B_AUTH,
10885 inScheme: TPMI_ALG_MAC_SCHEME,
10886 sequenceHandle: *mut ESYS_TR,
10887 ) -> TSS2_RC;
10888}
10889extern "C" {
10890 pub fn Esys_MAC_Start_Async(
10891 esysContext: *mut ESYS_CONTEXT,
10892 handle: ESYS_TR,
10893 handleSession1: ESYS_TR,
10894 optionalSession2: ESYS_TR,
10895 optionalSession3: ESYS_TR,
10896 auth: *const TPM2B_AUTH,
10897 inScheme: TPMI_ALG_MAC_SCHEME,
10898 ) -> TSS2_RC;
10899}
10900extern "C" {
10901 pub fn Esys_MAC_Start_Finish(
10902 esysContext: *mut ESYS_CONTEXT,
10903 sequenceHandle: *mut ESYS_TR,
10904 ) -> TSS2_RC;
10905}
10906extern "C" {
10907 pub fn Esys_HashSequenceStart(
10908 esysContext: *mut ESYS_CONTEXT,
10909 shandle1: ESYS_TR,
10910 shandle2: ESYS_TR,
10911 shandle3: ESYS_TR,
10912 auth: *const TPM2B_AUTH,
10913 hashAlg: TPMI_ALG_HASH,
10914 sequenceHandle: *mut ESYS_TR,
10915 ) -> TSS2_RC;
10916}
10917extern "C" {
10918 pub fn Esys_HashSequenceStart_Async(
10919 esysContext: *mut ESYS_CONTEXT,
10920 shandle1: ESYS_TR,
10921 shandle2: ESYS_TR,
10922 shandle3: ESYS_TR,
10923 auth: *const TPM2B_AUTH,
10924 hashAlg: TPMI_ALG_HASH,
10925 ) -> TSS2_RC;
10926}
10927extern "C" {
10928 pub fn Esys_HashSequenceStart_Finish(
10929 esysContext: *mut ESYS_CONTEXT,
10930 sequenceHandle: *mut ESYS_TR,
10931 ) -> TSS2_RC;
10932}
10933extern "C" {
10934 pub fn Esys_SequenceUpdate(
10935 esysContext: *mut ESYS_CONTEXT,
10936 sequenceHandle: ESYS_TR,
10937 shandle1: ESYS_TR,
10938 shandle2: ESYS_TR,
10939 shandle3: ESYS_TR,
10940 buffer: *const TPM2B_MAX_BUFFER,
10941 ) -> TSS2_RC;
10942}
10943extern "C" {
10944 pub fn Esys_SequenceUpdate_Async(
10945 esysContext: *mut ESYS_CONTEXT,
10946 sequenceHandle: ESYS_TR,
10947 shandle1: ESYS_TR,
10948 shandle2: ESYS_TR,
10949 shandle3: ESYS_TR,
10950 buffer: *const TPM2B_MAX_BUFFER,
10951 ) -> TSS2_RC;
10952}
10953extern "C" {
10954 pub fn Esys_SequenceUpdate_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10955}
10956extern "C" {
10957 pub fn Esys_SequenceComplete(
10958 esysContext: *mut ESYS_CONTEXT,
10959 sequenceHandle: ESYS_TR,
10960 shandle1: ESYS_TR,
10961 shandle2: ESYS_TR,
10962 shandle3: ESYS_TR,
10963 buffer: *const TPM2B_MAX_BUFFER,
10964 hierarchy: ESYS_TR,
10965 result: *mut *mut TPM2B_DIGEST,
10966 validation: *mut *mut TPMT_TK_HASHCHECK,
10967 ) -> TSS2_RC;
10968}
10969extern "C" {
10970 pub fn Esys_SequenceComplete_Async(
10971 esysContext: *mut ESYS_CONTEXT,
10972 sequenceHandle: ESYS_TR,
10973 shandle1: ESYS_TR,
10974 shandle2: ESYS_TR,
10975 shandle3: ESYS_TR,
10976 buffer: *const TPM2B_MAX_BUFFER,
10977 hierarchy: ESYS_TR,
10978 ) -> TSS2_RC;
10979}
10980extern "C" {
10981 pub fn Esys_SequenceComplete_Finish(
10982 esysContext: *mut ESYS_CONTEXT,
10983 result: *mut *mut TPM2B_DIGEST,
10984 validation: *mut *mut TPMT_TK_HASHCHECK,
10985 ) -> TSS2_RC;
10986}
10987extern "C" {
10988 pub fn Esys_EventSequenceComplete(
10989 esysContext: *mut ESYS_CONTEXT,
10990 pcrHandle: ESYS_TR,
10991 sequenceHandle: ESYS_TR,
10992 shandle1: ESYS_TR,
10993 shandle2: ESYS_TR,
10994 shandle3: ESYS_TR,
10995 buffer: *const TPM2B_MAX_BUFFER,
10996 results: *mut *mut TPML_DIGEST_VALUES,
10997 ) -> TSS2_RC;
10998}
10999extern "C" {
11000 pub fn Esys_EventSequenceComplete_Async(
11001 esysContext: *mut ESYS_CONTEXT,
11002 pcrHandle: ESYS_TR,
11003 sequenceHandle: ESYS_TR,
11004 shandle1: ESYS_TR,
11005 shandle2: ESYS_TR,
11006 shandle3: ESYS_TR,
11007 buffer: *const TPM2B_MAX_BUFFER,
11008 ) -> TSS2_RC;
11009}
11010extern "C" {
11011 pub fn Esys_EventSequenceComplete_Finish(
11012 esysContext: *mut ESYS_CONTEXT,
11013 results: *mut *mut TPML_DIGEST_VALUES,
11014 ) -> TSS2_RC;
11015}
11016extern "C" {
11017 pub fn Esys_Certify(
11018 esysContext: *mut ESYS_CONTEXT,
11019 objectHandle: ESYS_TR,
11020 signHandle: ESYS_TR,
11021 shandle1: ESYS_TR,
11022 shandle2: ESYS_TR,
11023 shandle3: ESYS_TR,
11024 qualifyingData: *const TPM2B_DATA,
11025 inScheme: *const TPMT_SIG_SCHEME,
11026 certifyInfo: *mut *mut TPM2B_ATTEST,
11027 signature: *mut *mut TPMT_SIGNATURE,
11028 ) -> TSS2_RC;
11029}
11030extern "C" {
11031 pub fn Esys_Certify_Async(
11032 esysContext: *mut ESYS_CONTEXT,
11033 objectHandle: ESYS_TR,
11034 signHandle: ESYS_TR,
11035 shandle1: ESYS_TR,
11036 shandle2: ESYS_TR,
11037 shandle3: ESYS_TR,
11038 qualifyingData: *const TPM2B_DATA,
11039 inScheme: *const TPMT_SIG_SCHEME,
11040 ) -> TSS2_RC;
11041}
11042extern "C" {
11043 pub fn Esys_Certify_Finish(
11044 esysContext: *mut ESYS_CONTEXT,
11045 certifyInfo: *mut *mut TPM2B_ATTEST,
11046 signature: *mut *mut TPMT_SIGNATURE,
11047 ) -> TSS2_RC;
11048}
11049extern "C" {
11050 pub fn Esys_CertifyCreation(
11051 esysContext: *mut ESYS_CONTEXT,
11052 signHandle: ESYS_TR,
11053 objectHandle: ESYS_TR,
11054 shandle1: ESYS_TR,
11055 shandle2: ESYS_TR,
11056 shandle3: ESYS_TR,
11057 qualifyingData: *const TPM2B_DATA,
11058 creationHash: *const TPM2B_DIGEST,
11059 inScheme: *const TPMT_SIG_SCHEME,
11060 creationTicket: *const TPMT_TK_CREATION,
11061 certifyInfo: *mut *mut TPM2B_ATTEST,
11062 signature: *mut *mut TPMT_SIGNATURE,
11063 ) -> TSS2_RC;
11064}
11065extern "C" {
11066 pub fn Esys_CertifyCreation_Async(
11067 esysContext: *mut ESYS_CONTEXT,
11068 signHandle: ESYS_TR,
11069 objectHandle: ESYS_TR,
11070 shandle1: ESYS_TR,
11071 shandle2: ESYS_TR,
11072 shandle3: ESYS_TR,
11073 qualifyingData: *const TPM2B_DATA,
11074 creationHash: *const TPM2B_DIGEST,
11075 inScheme: *const TPMT_SIG_SCHEME,
11076 creationTicket: *const TPMT_TK_CREATION,
11077 ) -> TSS2_RC;
11078}
11079extern "C" {
11080 pub fn Esys_CertifyCreation_Finish(
11081 esysContext: *mut ESYS_CONTEXT,
11082 certifyInfo: *mut *mut TPM2B_ATTEST,
11083 signature: *mut *mut TPMT_SIGNATURE,
11084 ) -> TSS2_RC;
11085}
11086extern "C" {
11087 pub fn Esys_CertifyX509(
11088 esysContext: *mut ESYS_CONTEXT,
11089 objectHandle: ESYS_TR,
11090 signHandle: ESYS_TR,
11091 shandle1: ESYS_TR,
11092 shandle2: ESYS_TR,
11093 shandle3: ESYS_TR,
11094 reserved: *const TPM2B_DATA,
11095 inScheme: *const TPMT_SIG_SCHEME,
11096 partialCertificate: *const TPM2B_MAX_BUFFER,
11097 addedToCertificate: *mut *mut TPM2B_MAX_BUFFER,
11098 tbsDigest: *mut *mut TPM2B_DIGEST,
11099 signature: *mut *mut TPMT_SIGNATURE,
11100 ) -> TSS2_RC;
11101}
11102extern "C" {
11103 pub fn Esys_CertifyX509_Async(
11104 esysContext: *mut ESYS_CONTEXT,
11105 objectHandle: ESYS_TR,
11106 signHandle: ESYS_TR,
11107 shandle1: ESYS_TR,
11108 shandle2: ESYS_TR,
11109 shandle3: ESYS_TR,
11110 reserved: *const TPM2B_DATA,
11111 inScheme: *const TPMT_SIG_SCHEME,
11112 partialCertificate: *const TPM2B_MAX_BUFFER,
11113 ) -> TSS2_RC;
11114}
11115extern "C" {
11116 pub fn Esys_CertifyX509_Finish(
11117 esysContext: *mut ESYS_CONTEXT,
11118 addedToCertificate: *mut *mut TPM2B_MAX_BUFFER,
11119 tbsDigest: *mut *mut TPM2B_DIGEST,
11120 signature: *mut *mut TPMT_SIGNATURE,
11121 ) -> TSS2_RC;
11122}
11123extern "C" {
11124 pub fn Esys_Quote(
11125 esysContext: *mut ESYS_CONTEXT,
11126 signHandle: ESYS_TR,
11127 shandle1: ESYS_TR,
11128 shandle2: ESYS_TR,
11129 shandle3: ESYS_TR,
11130 qualifyingData: *const TPM2B_DATA,
11131 inScheme: *const TPMT_SIG_SCHEME,
11132 PCRselect: *const TPML_PCR_SELECTION,
11133 quoted: *mut *mut TPM2B_ATTEST,
11134 signature: *mut *mut TPMT_SIGNATURE,
11135 ) -> TSS2_RC;
11136}
11137extern "C" {
11138 pub fn Esys_Quote_Async(
11139 esysContext: *mut ESYS_CONTEXT,
11140 signHandle: ESYS_TR,
11141 shandle1: ESYS_TR,
11142 shandle2: ESYS_TR,
11143 shandle3: ESYS_TR,
11144 qualifyingData: *const TPM2B_DATA,
11145 inScheme: *const TPMT_SIG_SCHEME,
11146 PCRselect: *const TPML_PCR_SELECTION,
11147 ) -> TSS2_RC;
11148}
11149extern "C" {
11150 pub fn Esys_Quote_Finish(
11151 esysContext: *mut ESYS_CONTEXT,
11152 quoted: *mut *mut TPM2B_ATTEST,
11153 signature: *mut *mut TPMT_SIGNATURE,
11154 ) -> TSS2_RC;
11155}
11156extern "C" {
11157 pub fn Esys_GetSessionAuditDigest(
11158 esysContext: *mut ESYS_CONTEXT,
11159 privacyAdminHandle: ESYS_TR,
11160 signHandle: ESYS_TR,
11161 sessionHandle: ESYS_TR,
11162 shandle1: ESYS_TR,
11163 shandle2: ESYS_TR,
11164 shandle3: ESYS_TR,
11165 qualifyingData: *const TPM2B_DATA,
11166 inScheme: *const TPMT_SIG_SCHEME,
11167 auditInfo: *mut *mut TPM2B_ATTEST,
11168 signature: *mut *mut TPMT_SIGNATURE,
11169 ) -> TSS2_RC;
11170}
11171extern "C" {
11172 pub fn Esys_GetSessionAuditDigest_Async(
11173 esysContext: *mut ESYS_CONTEXT,
11174 privacyAdminHandle: ESYS_TR,
11175 signHandle: ESYS_TR,
11176 sessionHandle: ESYS_TR,
11177 shandle1: ESYS_TR,
11178 shandle2: ESYS_TR,
11179 shandle3: ESYS_TR,
11180 qualifyingData: *const TPM2B_DATA,
11181 inScheme: *const TPMT_SIG_SCHEME,
11182 ) -> TSS2_RC;
11183}
11184extern "C" {
11185 pub fn Esys_GetSessionAuditDigest_Finish(
11186 esysContext: *mut ESYS_CONTEXT,
11187 auditInfo: *mut *mut TPM2B_ATTEST,
11188 signature: *mut *mut TPMT_SIGNATURE,
11189 ) -> TSS2_RC;
11190}
11191extern "C" {
11192 pub fn Esys_GetCommandAuditDigest(
11193 esysContext: *mut ESYS_CONTEXT,
11194 privacyHandle: ESYS_TR,
11195 signHandle: ESYS_TR,
11196 shandle1: ESYS_TR,
11197 shandle2: ESYS_TR,
11198 shandle3: ESYS_TR,
11199 qualifyingData: *const TPM2B_DATA,
11200 inScheme: *const TPMT_SIG_SCHEME,
11201 auditInfo: *mut *mut TPM2B_ATTEST,
11202 signature: *mut *mut TPMT_SIGNATURE,
11203 ) -> TSS2_RC;
11204}
11205extern "C" {
11206 pub fn Esys_GetCommandAuditDigest_Async(
11207 esysContext: *mut ESYS_CONTEXT,
11208 privacyHandle: ESYS_TR,
11209 signHandle: ESYS_TR,
11210 shandle1: ESYS_TR,
11211 shandle2: ESYS_TR,
11212 shandle3: ESYS_TR,
11213 qualifyingData: *const TPM2B_DATA,
11214 inScheme: *const TPMT_SIG_SCHEME,
11215 ) -> TSS2_RC;
11216}
11217extern "C" {
11218 pub fn Esys_GetCommandAuditDigest_Finish(
11219 esysContext: *mut ESYS_CONTEXT,
11220 auditInfo: *mut *mut TPM2B_ATTEST,
11221 signature: *mut *mut TPMT_SIGNATURE,
11222 ) -> TSS2_RC;
11223}
11224extern "C" {
11225 pub fn Esys_GetTime(
11226 esysContext: *mut ESYS_CONTEXT,
11227 privacyAdminHandle: ESYS_TR,
11228 signHandle: ESYS_TR,
11229 shandle1: ESYS_TR,
11230 shandle2: ESYS_TR,
11231 shandle3: ESYS_TR,
11232 qualifyingData: *const TPM2B_DATA,
11233 inScheme: *const TPMT_SIG_SCHEME,
11234 timeInfo: *mut *mut TPM2B_ATTEST,
11235 signature: *mut *mut TPMT_SIGNATURE,
11236 ) -> TSS2_RC;
11237}
11238extern "C" {
11239 pub fn Esys_GetTime_Async(
11240 esysContext: *mut ESYS_CONTEXT,
11241 privacyAdminHandle: ESYS_TR,
11242 signHandle: ESYS_TR,
11243 shandle1: ESYS_TR,
11244 shandle2: ESYS_TR,
11245 shandle3: ESYS_TR,
11246 qualifyingData: *const TPM2B_DATA,
11247 inScheme: *const TPMT_SIG_SCHEME,
11248 ) -> TSS2_RC;
11249}
11250extern "C" {
11251 pub fn Esys_GetTime_Finish(
11252 esysContext: *mut ESYS_CONTEXT,
11253 timeInfo: *mut *mut TPM2B_ATTEST,
11254 signature: *mut *mut TPMT_SIGNATURE,
11255 ) -> TSS2_RC;
11256}
11257extern "C" {
11258 pub fn Esys_Commit(
11259 esysContext: *mut ESYS_CONTEXT,
11260 signHandle: ESYS_TR,
11261 shandle1: ESYS_TR,
11262 shandle2: ESYS_TR,
11263 shandle3: ESYS_TR,
11264 P1: *const TPM2B_ECC_POINT,
11265 s2: *const TPM2B_SENSITIVE_DATA,
11266 y2: *const TPM2B_ECC_PARAMETER,
11267 K: *mut *mut TPM2B_ECC_POINT,
11268 L: *mut *mut TPM2B_ECC_POINT,
11269 E: *mut *mut TPM2B_ECC_POINT,
11270 counter: *mut UINT16,
11271 ) -> TSS2_RC;
11272}
11273extern "C" {
11274 pub fn Esys_Commit_Async(
11275 esysContext: *mut ESYS_CONTEXT,
11276 signHandle: ESYS_TR,
11277 shandle1: ESYS_TR,
11278 shandle2: ESYS_TR,
11279 shandle3: ESYS_TR,
11280 P1: *const TPM2B_ECC_POINT,
11281 s2: *const TPM2B_SENSITIVE_DATA,
11282 y2: *const TPM2B_ECC_PARAMETER,
11283 ) -> TSS2_RC;
11284}
11285extern "C" {
11286 pub fn Esys_Commit_Finish(
11287 esysContext: *mut ESYS_CONTEXT,
11288 K: *mut *mut TPM2B_ECC_POINT,
11289 L: *mut *mut TPM2B_ECC_POINT,
11290 E: *mut *mut TPM2B_ECC_POINT,
11291 counter: *mut UINT16,
11292 ) -> TSS2_RC;
11293}
11294extern "C" {
11295 pub fn Esys_EC_Ephemeral(
11296 esysContext: *mut ESYS_CONTEXT,
11297 shandle1: ESYS_TR,
11298 shandle2: ESYS_TR,
11299 shandle3: ESYS_TR,
11300 curveID: TPMI_ECC_CURVE,
11301 Q: *mut *mut TPM2B_ECC_POINT,
11302 counter: *mut UINT16,
11303 ) -> TSS2_RC;
11304}
11305extern "C" {
11306 pub fn Esys_EC_Ephemeral_Async(
11307 esysContext: *mut ESYS_CONTEXT,
11308 shandle1: ESYS_TR,
11309 shandle2: ESYS_TR,
11310 shandle3: ESYS_TR,
11311 curveID: TPMI_ECC_CURVE,
11312 ) -> TSS2_RC;
11313}
11314extern "C" {
11315 pub fn Esys_EC_Ephemeral_Finish(
11316 esysContext: *mut ESYS_CONTEXT,
11317 Q: *mut *mut TPM2B_ECC_POINT,
11318 counter: *mut UINT16,
11319 ) -> TSS2_RC;
11320}
11321extern "C" {
11322 pub fn Esys_VerifySignature(
11323 esysContext: *mut ESYS_CONTEXT,
11324 keyHandle: ESYS_TR,
11325 shandle1: ESYS_TR,
11326 shandle2: ESYS_TR,
11327 shandle3: ESYS_TR,
11328 digest: *const TPM2B_DIGEST,
11329 signature: *const TPMT_SIGNATURE,
11330 validation: *mut *mut TPMT_TK_VERIFIED,
11331 ) -> TSS2_RC;
11332}
11333extern "C" {
11334 pub fn Esys_VerifySignature_Async(
11335 esysContext: *mut ESYS_CONTEXT,
11336 keyHandle: ESYS_TR,
11337 shandle1: ESYS_TR,
11338 shandle2: ESYS_TR,
11339 shandle3: ESYS_TR,
11340 digest: *const TPM2B_DIGEST,
11341 signature: *const TPMT_SIGNATURE,
11342 ) -> TSS2_RC;
11343}
11344extern "C" {
11345 pub fn Esys_VerifySignature_Finish(
11346 esysContext: *mut ESYS_CONTEXT,
11347 validation: *mut *mut TPMT_TK_VERIFIED,
11348 ) -> TSS2_RC;
11349}
11350extern "C" {
11351 pub fn Esys_Sign(
11352 esysContext: *mut ESYS_CONTEXT,
11353 keyHandle: ESYS_TR,
11354 shandle1: ESYS_TR,
11355 shandle2: ESYS_TR,
11356 shandle3: ESYS_TR,
11357 digest: *const TPM2B_DIGEST,
11358 inScheme: *const TPMT_SIG_SCHEME,
11359 validation: *const TPMT_TK_HASHCHECK,
11360 signature: *mut *mut TPMT_SIGNATURE,
11361 ) -> TSS2_RC;
11362}
11363extern "C" {
11364 pub fn Esys_Sign_Async(
11365 esysContext: *mut ESYS_CONTEXT,
11366 keyHandle: ESYS_TR,
11367 shandle1: ESYS_TR,
11368 shandle2: ESYS_TR,
11369 shandle3: ESYS_TR,
11370 digest: *const TPM2B_DIGEST,
11371 inScheme: *const TPMT_SIG_SCHEME,
11372 validation: *const TPMT_TK_HASHCHECK,
11373 ) -> TSS2_RC;
11374}
11375extern "C" {
11376 pub fn Esys_Sign_Finish(
11377 esysContext: *mut ESYS_CONTEXT,
11378 signature: *mut *mut TPMT_SIGNATURE,
11379 ) -> TSS2_RC;
11380}
11381extern "C" {
11382 pub fn Esys_SetCommandCodeAuditStatus(
11383 esysContext: *mut ESYS_CONTEXT,
11384 auth: ESYS_TR,
11385 shandle1: ESYS_TR,
11386 shandle2: ESYS_TR,
11387 shandle3: ESYS_TR,
11388 auditAlg: TPMI_ALG_HASH,
11389 setList: *const TPML_CC,
11390 clearList: *const TPML_CC,
11391 ) -> TSS2_RC;
11392}
11393extern "C" {
11394 pub fn Esys_SetCommandCodeAuditStatus_Async(
11395 esysContext: *mut ESYS_CONTEXT,
11396 auth: ESYS_TR,
11397 shandle1: ESYS_TR,
11398 shandle2: ESYS_TR,
11399 shandle3: ESYS_TR,
11400 auditAlg: TPMI_ALG_HASH,
11401 setList: *const TPML_CC,
11402 clearList: *const TPML_CC,
11403 ) -> TSS2_RC;
11404}
11405extern "C" {
11406 pub fn Esys_SetCommandCodeAuditStatus_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11407}
11408extern "C" {
11409 pub fn Esys_PCR_Extend(
11410 esysContext: *mut ESYS_CONTEXT,
11411 pcrHandle: ESYS_TR,
11412 shandle1: ESYS_TR,
11413 shandle2: ESYS_TR,
11414 shandle3: ESYS_TR,
11415 digests: *const TPML_DIGEST_VALUES,
11416 ) -> TSS2_RC;
11417}
11418extern "C" {
11419 pub fn Esys_PCR_Extend_Async(
11420 esysContext: *mut ESYS_CONTEXT,
11421 pcrHandle: ESYS_TR,
11422 shandle1: ESYS_TR,
11423 shandle2: ESYS_TR,
11424 shandle3: ESYS_TR,
11425 digests: *const TPML_DIGEST_VALUES,
11426 ) -> TSS2_RC;
11427}
11428extern "C" {
11429 pub fn Esys_PCR_Extend_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11430}
11431extern "C" {
11432 pub fn Esys_PCR_Event(
11433 esysContext: *mut ESYS_CONTEXT,
11434 pcrHandle: ESYS_TR,
11435 shandle1: ESYS_TR,
11436 shandle2: ESYS_TR,
11437 shandle3: ESYS_TR,
11438 eventData: *const TPM2B_EVENT,
11439 digests: *mut *mut TPML_DIGEST_VALUES,
11440 ) -> TSS2_RC;
11441}
11442extern "C" {
11443 pub fn Esys_PCR_Event_Async(
11444 esysContext: *mut ESYS_CONTEXT,
11445 pcrHandle: ESYS_TR,
11446 shandle1: ESYS_TR,
11447 shandle2: ESYS_TR,
11448 shandle3: ESYS_TR,
11449 eventData: *const TPM2B_EVENT,
11450 ) -> TSS2_RC;
11451}
11452extern "C" {
11453 pub fn Esys_PCR_Event_Finish(
11454 esysContext: *mut ESYS_CONTEXT,
11455 digests: *mut *mut TPML_DIGEST_VALUES,
11456 ) -> TSS2_RC;
11457}
11458extern "C" {
11459 pub fn Esys_PCR_Read(
11460 esysContext: *mut ESYS_CONTEXT,
11461 shandle1: ESYS_TR,
11462 shandle2: ESYS_TR,
11463 shandle3: ESYS_TR,
11464 pcrSelectionIn: *const TPML_PCR_SELECTION,
11465 pcrUpdateCounter: *mut UINT32,
11466 pcrSelectionOut: *mut *mut TPML_PCR_SELECTION,
11467 pcrValues: *mut *mut TPML_DIGEST,
11468 ) -> TSS2_RC;
11469}
11470extern "C" {
11471 pub fn Esys_PCR_Read_Async(
11472 esysContext: *mut ESYS_CONTEXT,
11473 shandle1: ESYS_TR,
11474 shandle2: ESYS_TR,
11475 shandle3: ESYS_TR,
11476 pcrSelectionIn: *const TPML_PCR_SELECTION,
11477 ) -> TSS2_RC;
11478}
11479extern "C" {
11480 pub fn Esys_PCR_Read_Finish(
11481 esysContext: *mut ESYS_CONTEXT,
11482 pcrUpdateCounter: *mut UINT32,
11483 pcrSelectionOut: *mut *mut TPML_PCR_SELECTION,
11484 pcrValues: *mut *mut TPML_DIGEST,
11485 ) -> TSS2_RC;
11486}
11487extern "C" {
11488 pub fn Esys_PCR_Allocate(
11489 esysContext: *mut ESYS_CONTEXT,
11490 authHandle: ESYS_TR,
11491 shandle1: ESYS_TR,
11492 shandle2: ESYS_TR,
11493 shandle3: ESYS_TR,
11494 pcrAllocation: *const TPML_PCR_SELECTION,
11495 allocationSuccess: *mut TPMI_YES_NO,
11496 maxPCR: *mut UINT32,
11497 sizeNeeded: *mut UINT32,
11498 sizeAvailable: *mut UINT32,
11499 ) -> TSS2_RC;
11500}
11501extern "C" {
11502 pub fn Esys_PCR_Allocate_Async(
11503 esysContext: *mut ESYS_CONTEXT,
11504 authHandle: ESYS_TR,
11505 shandle1: ESYS_TR,
11506 shandle2: ESYS_TR,
11507 shandle3: ESYS_TR,
11508 pcrAllocation: *const TPML_PCR_SELECTION,
11509 ) -> TSS2_RC;
11510}
11511extern "C" {
11512 pub fn Esys_PCR_Allocate_Finish(
11513 esysContext: *mut ESYS_CONTEXT,
11514 allocationSuccess: *mut TPMI_YES_NO,
11515 maxPCR: *mut UINT32,
11516 sizeNeeded: *mut UINT32,
11517 sizeAvailable: *mut UINT32,
11518 ) -> TSS2_RC;
11519}
11520extern "C" {
11521 pub fn Esys_PCR_SetAuthPolicy(
11522 esysContext: *mut ESYS_CONTEXT,
11523 authHandle: ESYS_TR,
11524 shandle1: ESYS_TR,
11525 shandle2: ESYS_TR,
11526 shandle3: ESYS_TR,
11527 authPolicy: *const TPM2B_DIGEST,
11528 hashAlg: TPMI_ALG_HASH,
11529 pcrNum: TPMI_DH_PCR,
11530 ) -> TSS2_RC;
11531}
11532extern "C" {
11533 pub fn Esys_PCR_SetAuthPolicy_Async(
11534 esysContext: *mut ESYS_CONTEXT,
11535 authHandle: ESYS_TR,
11536 shandle1: ESYS_TR,
11537 shandle2: ESYS_TR,
11538 shandle3: ESYS_TR,
11539 authPolicy: *const TPM2B_DIGEST,
11540 hashAlg: TPMI_ALG_HASH,
11541 pcrNum: TPMI_DH_PCR,
11542 ) -> TSS2_RC;
11543}
11544extern "C" {
11545 pub fn Esys_PCR_SetAuthPolicy_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11546}
11547extern "C" {
11548 pub fn Esys_PCR_SetAuthValue(
11549 esysContext: *mut ESYS_CONTEXT,
11550 pcrHandle: ESYS_TR,
11551 shandle1: ESYS_TR,
11552 shandle2: ESYS_TR,
11553 shandle3: ESYS_TR,
11554 auth: *const TPM2B_DIGEST,
11555 ) -> TSS2_RC;
11556}
11557extern "C" {
11558 pub fn Esys_PCR_SetAuthValue_Async(
11559 esysContext: *mut ESYS_CONTEXT,
11560 pcrHandle: ESYS_TR,
11561 shandle1: ESYS_TR,
11562 shandle2: ESYS_TR,
11563 shandle3: ESYS_TR,
11564 auth: *const TPM2B_DIGEST,
11565 ) -> TSS2_RC;
11566}
11567extern "C" {
11568 pub fn Esys_PCR_SetAuthValue_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11569}
11570extern "C" {
11571 pub fn Esys_PCR_Reset(
11572 esysContext: *mut ESYS_CONTEXT,
11573 pcrHandle: ESYS_TR,
11574 shandle1: ESYS_TR,
11575 shandle2: ESYS_TR,
11576 shandle3: ESYS_TR,
11577 ) -> TSS2_RC;
11578}
11579extern "C" {
11580 pub fn Esys_PCR_Reset_Async(
11581 esysContext: *mut ESYS_CONTEXT,
11582 pcrHandle: ESYS_TR,
11583 shandle1: ESYS_TR,
11584 shandle2: ESYS_TR,
11585 shandle3: ESYS_TR,
11586 ) -> TSS2_RC;
11587}
11588extern "C" {
11589 pub fn Esys_PCR_Reset_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11590}
11591extern "C" {
11592 pub fn Esys_PolicySigned(
11593 esysContext: *mut ESYS_CONTEXT,
11594 authObject: ESYS_TR,
11595 policySession: ESYS_TR,
11596 shandle1: ESYS_TR,
11597 shandle2: ESYS_TR,
11598 shandle3: ESYS_TR,
11599 nonceTPM: *const TPM2B_NONCE,
11600 cpHashA: *const TPM2B_DIGEST,
11601 policyRef: *const TPM2B_NONCE,
11602 expiration: INT32,
11603 auth: *const TPMT_SIGNATURE,
11604 timeout: *mut *mut TPM2B_TIMEOUT,
11605 policyTicket: *mut *mut TPMT_TK_AUTH,
11606 ) -> TSS2_RC;
11607}
11608extern "C" {
11609 pub fn Esys_PolicySigned_Async(
11610 esysContext: *mut ESYS_CONTEXT,
11611 authObject: ESYS_TR,
11612 policySession: ESYS_TR,
11613 shandle1: ESYS_TR,
11614 shandle2: ESYS_TR,
11615 shandle3: ESYS_TR,
11616 nonceTPM: *const TPM2B_NONCE,
11617 cpHashA: *const TPM2B_DIGEST,
11618 policyRef: *const TPM2B_NONCE,
11619 expiration: INT32,
11620 auth: *const TPMT_SIGNATURE,
11621 ) -> TSS2_RC;
11622}
11623extern "C" {
11624 pub fn Esys_PolicySigned_Finish(
11625 esysContext: *mut ESYS_CONTEXT,
11626 timeout: *mut *mut TPM2B_TIMEOUT,
11627 policyTicket: *mut *mut TPMT_TK_AUTH,
11628 ) -> TSS2_RC;
11629}
11630extern "C" {
11631 pub fn Esys_PolicySecret(
11632 esysContext: *mut ESYS_CONTEXT,
11633 authHandle: ESYS_TR,
11634 policySession: ESYS_TR,
11635 shandle1: ESYS_TR,
11636 shandle2: ESYS_TR,
11637 shandle3: ESYS_TR,
11638 nonceTPM: *const TPM2B_NONCE,
11639 cpHashA: *const TPM2B_DIGEST,
11640 policyRef: *const TPM2B_NONCE,
11641 expiration: INT32,
11642 timeout: *mut *mut TPM2B_TIMEOUT,
11643 policyTicket: *mut *mut TPMT_TK_AUTH,
11644 ) -> TSS2_RC;
11645}
11646extern "C" {
11647 pub fn Esys_PolicySecret_Async(
11648 esysContext: *mut ESYS_CONTEXT,
11649 authHandle: ESYS_TR,
11650 policySession: ESYS_TR,
11651 shandle1: ESYS_TR,
11652 shandle2: ESYS_TR,
11653 shandle3: ESYS_TR,
11654 nonceTPM: *const TPM2B_NONCE,
11655 cpHashA: *const TPM2B_DIGEST,
11656 policyRef: *const TPM2B_NONCE,
11657 expiration: INT32,
11658 ) -> TSS2_RC;
11659}
11660extern "C" {
11661 pub fn Esys_PolicySecret_Finish(
11662 esysContext: *mut ESYS_CONTEXT,
11663 timeout: *mut *mut TPM2B_TIMEOUT,
11664 policyTicket: *mut *mut TPMT_TK_AUTH,
11665 ) -> TSS2_RC;
11666}
11667extern "C" {
11668 pub fn Esys_PolicyTicket(
11669 esysContext: *mut ESYS_CONTEXT,
11670 policySession: ESYS_TR,
11671 shandle1: ESYS_TR,
11672 shandle2: ESYS_TR,
11673 shandle3: ESYS_TR,
11674 timeout: *const TPM2B_TIMEOUT,
11675 cpHashA: *const TPM2B_DIGEST,
11676 policyRef: *const TPM2B_NONCE,
11677 authName: *const TPM2B_NAME,
11678 ticket: *const TPMT_TK_AUTH,
11679 ) -> TSS2_RC;
11680}
11681extern "C" {
11682 pub fn Esys_PolicyTicket_Async(
11683 esysContext: *mut ESYS_CONTEXT,
11684 policySession: ESYS_TR,
11685 shandle1: ESYS_TR,
11686 shandle2: ESYS_TR,
11687 shandle3: ESYS_TR,
11688 timeout: *const TPM2B_TIMEOUT,
11689 cpHashA: *const TPM2B_DIGEST,
11690 policyRef: *const TPM2B_NONCE,
11691 authName: *const TPM2B_NAME,
11692 ticket: *const TPMT_TK_AUTH,
11693 ) -> TSS2_RC;
11694}
11695extern "C" {
11696 pub fn Esys_PolicyTicket_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11697}
11698extern "C" {
11699 pub fn Esys_PolicyOR(
11700 esysContext: *mut ESYS_CONTEXT,
11701 policySession: ESYS_TR,
11702 shandle1: ESYS_TR,
11703 shandle2: ESYS_TR,
11704 shandle3: ESYS_TR,
11705 pHashList: *const TPML_DIGEST,
11706 ) -> TSS2_RC;
11707}
11708extern "C" {
11709 pub fn Esys_PolicyOR_Async(
11710 esysContext: *mut ESYS_CONTEXT,
11711 policySession: ESYS_TR,
11712 shandle1: ESYS_TR,
11713 shandle2: ESYS_TR,
11714 shandle3: ESYS_TR,
11715 pHashList: *const TPML_DIGEST,
11716 ) -> TSS2_RC;
11717}
11718extern "C" {
11719 pub fn Esys_PolicyOR_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11720}
11721extern "C" {
11722 pub fn Esys_PolicyPCR(
11723 esysContext: *mut ESYS_CONTEXT,
11724 policySession: ESYS_TR,
11725 shandle1: ESYS_TR,
11726 shandle2: ESYS_TR,
11727 shandle3: ESYS_TR,
11728 pcrDigest: *const TPM2B_DIGEST,
11729 pcrs: *const TPML_PCR_SELECTION,
11730 ) -> TSS2_RC;
11731}
11732extern "C" {
11733 pub fn Esys_PolicyPCR_Async(
11734 esysContext: *mut ESYS_CONTEXT,
11735 policySession: ESYS_TR,
11736 shandle1: ESYS_TR,
11737 shandle2: ESYS_TR,
11738 shandle3: ESYS_TR,
11739 pcrDigest: *const TPM2B_DIGEST,
11740 pcrs: *const TPML_PCR_SELECTION,
11741 ) -> TSS2_RC;
11742}
11743extern "C" {
11744 pub fn Esys_PolicyPCR_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11745}
11746extern "C" {
11747 pub fn Esys_PolicyLocality(
11748 esysContext: *mut ESYS_CONTEXT,
11749 policySession: ESYS_TR,
11750 shandle1: ESYS_TR,
11751 shandle2: ESYS_TR,
11752 shandle3: ESYS_TR,
11753 locality: TPMA_LOCALITY,
11754 ) -> TSS2_RC;
11755}
11756extern "C" {
11757 pub fn Esys_PolicyLocality_Async(
11758 esysContext: *mut ESYS_CONTEXT,
11759 policySession: ESYS_TR,
11760 shandle1: ESYS_TR,
11761 shandle2: ESYS_TR,
11762 shandle3: ESYS_TR,
11763 locality: TPMA_LOCALITY,
11764 ) -> TSS2_RC;
11765}
11766extern "C" {
11767 pub fn Esys_PolicyLocality_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11768}
11769extern "C" {
11770 pub fn Esys_PolicyNV(
11771 esysContext: *mut ESYS_CONTEXT,
11772 authHandle: ESYS_TR,
11773 nvIndex: ESYS_TR,
11774 policySession: ESYS_TR,
11775 shandle1: ESYS_TR,
11776 shandle2: ESYS_TR,
11777 shandle3: ESYS_TR,
11778 operandB: *const TPM2B_OPERAND,
11779 offset: UINT16,
11780 operation: TPM2_EO,
11781 ) -> TSS2_RC;
11782}
11783extern "C" {
11784 pub fn Esys_PolicyNV_Async(
11785 esysContext: *mut ESYS_CONTEXT,
11786 authHandle: ESYS_TR,
11787 nvIndex: ESYS_TR,
11788 policySession: ESYS_TR,
11789 shandle1: ESYS_TR,
11790 shandle2: ESYS_TR,
11791 shandle3: ESYS_TR,
11792 operandB: *const TPM2B_OPERAND,
11793 offset: UINT16,
11794 operation: TPM2_EO,
11795 ) -> TSS2_RC;
11796}
11797extern "C" {
11798 pub fn Esys_PolicyNV_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11799}
11800extern "C" {
11801 pub fn Esys_PolicyCounterTimer(
11802 esysContext: *mut ESYS_CONTEXT,
11803 policySession: ESYS_TR,
11804 shandle1: ESYS_TR,
11805 shandle2: ESYS_TR,
11806 shandle3: ESYS_TR,
11807 operandB: *const TPM2B_OPERAND,
11808 offset: UINT16,
11809 operation: TPM2_EO,
11810 ) -> TSS2_RC;
11811}
11812extern "C" {
11813 pub fn Esys_PolicyCounterTimer_Async(
11814 esysContext: *mut ESYS_CONTEXT,
11815 policySession: ESYS_TR,
11816 shandle1: ESYS_TR,
11817 shandle2: ESYS_TR,
11818 shandle3: ESYS_TR,
11819 operandB: *const TPM2B_OPERAND,
11820 offset: UINT16,
11821 operation: TPM2_EO,
11822 ) -> TSS2_RC;
11823}
11824extern "C" {
11825 pub fn Esys_PolicyCounterTimer_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11826}
11827extern "C" {
11828 pub fn Esys_PolicyCommandCode(
11829 esysContext: *mut ESYS_CONTEXT,
11830 policySession: ESYS_TR,
11831 shandle1: ESYS_TR,
11832 shandle2: ESYS_TR,
11833 shandle3: ESYS_TR,
11834 code: TPM2_CC,
11835 ) -> TSS2_RC;
11836}
11837extern "C" {
11838 pub fn Esys_PolicyCommandCode_Async(
11839 esysContext: *mut ESYS_CONTEXT,
11840 policySession: ESYS_TR,
11841 shandle1: ESYS_TR,
11842 shandle2: ESYS_TR,
11843 shandle3: ESYS_TR,
11844 code: TPM2_CC,
11845 ) -> TSS2_RC;
11846}
11847extern "C" {
11848 pub fn Esys_PolicyCommandCode_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11849}
11850extern "C" {
11851 pub fn Esys_PolicyPhysicalPresence(
11852 esysContext: *mut ESYS_CONTEXT,
11853 policySession: ESYS_TR,
11854 shandle1: ESYS_TR,
11855 shandle2: ESYS_TR,
11856 shandle3: ESYS_TR,
11857 ) -> TSS2_RC;
11858}
11859extern "C" {
11860 pub fn Esys_PolicyPhysicalPresence_Async(
11861 esysContext: *mut ESYS_CONTEXT,
11862 policySession: ESYS_TR,
11863 shandle1: ESYS_TR,
11864 shandle2: ESYS_TR,
11865 shandle3: ESYS_TR,
11866 ) -> TSS2_RC;
11867}
11868extern "C" {
11869 pub fn Esys_PolicyPhysicalPresence_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11870}
11871extern "C" {
11872 pub fn Esys_PolicyCpHash(
11873 esysContext: *mut ESYS_CONTEXT,
11874 policySession: ESYS_TR,
11875 shandle1: ESYS_TR,
11876 shandle2: ESYS_TR,
11877 shandle3: ESYS_TR,
11878 cpHashA: *const TPM2B_DIGEST,
11879 ) -> TSS2_RC;
11880}
11881extern "C" {
11882 pub fn Esys_PolicyCpHash_Async(
11883 esysContext: *mut ESYS_CONTEXT,
11884 policySession: ESYS_TR,
11885 shandle1: ESYS_TR,
11886 shandle2: ESYS_TR,
11887 shandle3: ESYS_TR,
11888 cpHashA: *const TPM2B_DIGEST,
11889 ) -> TSS2_RC;
11890}
11891extern "C" {
11892 pub fn Esys_PolicyCpHash_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11893}
11894extern "C" {
11895 pub fn Esys_PolicyNameHash(
11896 esysContext: *mut ESYS_CONTEXT,
11897 policySession: ESYS_TR,
11898 shandle1: ESYS_TR,
11899 shandle2: ESYS_TR,
11900 shandle3: ESYS_TR,
11901 nameHash: *const TPM2B_DIGEST,
11902 ) -> TSS2_RC;
11903}
11904extern "C" {
11905 pub fn Esys_PolicyNameHash_Async(
11906 esysContext: *mut ESYS_CONTEXT,
11907 policySession: ESYS_TR,
11908 shandle1: ESYS_TR,
11909 shandle2: ESYS_TR,
11910 shandle3: ESYS_TR,
11911 nameHash: *const TPM2B_DIGEST,
11912 ) -> TSS2_RC;
11913}
11914extern "C" {
11915 pub fn Esys_PolicyNameHash_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11916}
11917extern "C" {
11918 pub fn Esys_PolicyDuplicationSelect(
11919 esysContext: *mut ESYS_CONTEXT,
11920 policySession: ESYS_TR,
11921 shandle1: ESYS_TR,
11922 shandle2: ESYS_TR,
11923 shandle3: ESYS_TR,
11924 objectName: *const TPM2B_NAME,
11925 newParentName: *const TPM2B_NAME,
11926 includeObject: TPMI_YES_NO,
11927 ) -> TSS2_RC;
11928}
11929extern "C" {
11930 pub fn Esys_PolicyDuplicationSelect_Async(
11931 esysContext: *mut ESYS_CONTEXT,
11932 policySession: ESYS_TR,
11933 shandle1: ESYS_TR,
11934 shandle2: ESYS_TR,
11935 shandle3: ESYS_TR,
11936 objectName: *const TPM2B_NAME,
11937 newParentName: *const TPM2B_NAME,
11938 includeObject: TPMI_YES_NO,
11939 ) -> TSS2_RC;
11940}
11941extern "C" {
11942 pub fn Esys_PolicyDuplicationSelect_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11943}
11944extern "C" {
11945 pub fn Esys_PolicyAuthorize(
11946 esysContext: *mut ESYS_CONTEXT,
11947 policySession: ESYS_TR,
11948 shandle1: ESYS_TR,
11949 shandle2: ESYS_TR,
11950 shandle3: ESYS_TR,
11951 approvedPolicy: *const TPM2B_DIGEST,
11952 policyRef: *const TPM2B_NONCE,
11953 keySign: *const TPM2B_NAME,
11954 checkTicket: *const TPMT_TK_VERIFIED,
11955 ) -> TSS2_RC;
11956}
11957extern "C" {
11958 pub fn Esys_PolicyAuthorize_Async(
11959 esysContext: *mut ESYS_CONTEXT,
11960 policySession: ESYS_TR,
11961 shandle1: ESYS_TR,
11962 shandle2: ESYS_TR,
11963 shandle3: ESYS_TR,
11964 approvedPolicy: *const TPM2B_DIGEST,
11965 policyRef: *const TPM2B_NONCE,
11966 keySign: *const TPM2B_NAME,
11967 checkTicket: *const TPMT_TK_VERIFIED,
11968 ) -> TSS2_RC;
11969}
11970extern "C" {
11971 pub fn Esys_PolicyAuthorize_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11972}
11973extern "C" {
11974 pub fn Esys_PolicyAuthValue(
11975 esysContext: *mut ESYS_CONTEXT,
11976 policySession: ESYS_TR,
11977 shandle1: ESYS_TR,
11978 shandle2: ESYS_TR,
11979 shandle3: ESYS_TR,
11980 ) -> TSS2_RC;
11981}
11982extern "C" {
11983 pub fn Esys_PolicyAuthValue_Async(
11984 esysContext: *mut ESYS_CONTEXT,
11985 policySession: ESYS_TR,
11986 shandle1: ESYS_TR,
11987 shandle2: ESYS_TR,
11988 shandle3: ESYS_TR,
11989 ) -> TSS2_RC;
11990}
11991extern "C" {
11992 pub fn Esys_PolicyAuthValue_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11993}
11994extern "C" {
11995 pub fn Esys_PolicyPassword(
11996 esysContext: *mut ESYS_CONTEXT,
11997 policySession: ESYS_TR,
11998 shandle1: ESYS_TR,
11999 shandle2: ESYS_TR,
12000 shandle3: ESYS_TR,
12001 ) -> TSS2_RC;
12002}
12003extern "C" {
12004 pub fn Esys_PolicyPassword_Async(
12005 esysContext: *mut ESYS_CONTEXT,
12006 policySession: ESYS_TR,
12007 shandle1: ESYS_TR,
12008 shandle2: ESYS_TR,
12009 shandle3: ESYS_TR,
12010 ) -> TSS2_RC;
12011}
12012extern "C" {
12013 pub fn Esys_PolicyPassword_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12014}
12015extern "C" {
12016 pub fn Esys_PolicyGetDigest(
12017 esysContext: *mut ESYS_CONTEXT,
12018 policySession: ESYS_TR,
12019 shandle1: ESYS_TR,
12020 shandle2: ESYS_TR,
12021 shandle3: ESYS_TR,
12022 policyDigest: *mut *mut TPM2B_DIGEST,
12023 ) -> TSS2_RC;
12024}
12025extern "C" {
12026 pub fn Esys_PolicyGetDigest_Async(
12027 esysContext: *mut ESYS_CONTEXT,
12028 policySession: ESYS_TR,
12029 shandle1: ESYS_TR,
12030 shandle2: ESYS_TR,
12031 shandle3: ESYS_TR,
12032 ) -> TSS2_RC;
12033}
12034extern "C" {
12035 pub fn Esys_PolicyGetDigest_Finish(
12036 esysContext: *mut ESYS_CONTEXT,
12037 policyDigest: *mut *mut TPM2B_DIGEST,
12038 ) -> TSS2_RC;
12039}
12040extern "C" {
12041 pub fn Esys_PolicyNvWritten(
12042 esysContext: *mut ESYS_CONTEXT,
12043 policySession: ESYS_TR,
12044 shandle1: ESYS_TR,
12045 shandle2: ESYS_TR,
12046 shandle3: ESYS_TR,
12047 writtenSet: TPMI_YES_NO,
12048 ) -> TSS2_RC;
12049}
12050extern "C" {
12051 pub fn Esys_PolicyNvWritten_Async(
12052 esysContext: *mut ESYS_CONTEXT,
12053 policySession: ESYS_TR,
12054 shandle1: ESYS_TR,
12055 shandle2: ESYS_TR,
12056 shandle3: ESYS_TR,
12057 writtenSet: TPMI_YES_NO,
12058 ) -> TSS2_RC;
12059}
12060extern "C" {
12061 pub fn Esys_PolicyNvWritten_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12062}
12063extern "C" {
12064 pub fn Esys_PolicyTemplate(
12065 esysContext: *mut ESYS_CONTEXT,
12066 policySession: ESYS_TR,
12067 shandle1: ESYS_TR,
12068 shandle2: ESYS_TR,
12069 shandle3: ESYS_TR,
12070 templateHash: *const TPM2B_DIGEST,
12071 ) -> TSS2_RC;
12072}
12073extern "C" {
12074 pub fn Esys_PolicyTemplate_Async(
12075 esysContext: *mut ESYS_CONTEXT,
12076 policySession: ESYS_TR,
12077 shandle1: ESYS_TR,
12078 shandle2: ESYS_TR,
12079 shandle3: ESYS_TR,
12080 templateHash: *const TPM2B_DIGEST,
12081 ) -> TSS2_RC;
12082}
12083extern "C" {
12084 pub fn Esys_PolicyTemplate_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12085}
12086extern "C" {
12087 pub fn Esys_PolicyAuthorizeNV(
12088 esysContext: *mut ESYS_CONTEXT,
12089 authHandle: ESYS_TR,
12090 nvIndex: ESYS_TR,
12091 policySession: ESYS_TR,
12092 shandle1: ESYS_TR,
12093 shandle2: ESYS_TR,
12094 shandle3: ESYS_TR,
12095 ) -> TSS2_RC;
12096}
12097extern "C" {
12098 pub fn Esys_PolicyAuthorizeNV_Async(
12099 esysContext: *mut ESYS_CONTEXT,
12100 authHandle: ESYS_TR,
12101 nvIndex: ESYS_TR,
12102 policySession: ESYS_TR,
12103 shandle1: ESYS_TR,
12104 shandle2: ESYS_TR,
12105 shandle3: ESYS_TR,
12106 ) -> TSS2_RC;
12107}
12108extern "C" {
12109 pub fn Esys_PolicyAuthorizeNV_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12110}
12111extern "C" {
12112 pub fn Esys_CreatePrimary(
12113 esysContext: *mut ESYS_CONTEXT,
12114 primaryHandle: ESYS_TR,
12115 shandle1: ESYS_TR,
12116 shandle2: ESYS_TR,
12117 shandle3: ESYS_TR,
12118 inSensitive: *const TPM2B_SENSITIVE_CREATE,
12119 inPublic: *const TPM2B_PUBLIC,
12120 outsideInfo: *const TPM2B_DATA,
12121 creationPCR: *const TPML_PCR_SELECTION,
12122 objectHandle: *mut ESYS_TR,
12123 outPublic: *mut *mut TPM2B_PUBLIC,
12124 creationData: *mut *mut TPM2B_CREATION_DATA,
12125 creationHash: *mut *mut TPM2B_DIGEST,
12126 creationTicket: *mut *mut TPMT_TK_CREATION,
12127 ) -> TSS2_RC;
12128}
12129extern "C" {
12130 pub fn Esys_CreatePrimary_Async(
12131 esysContext: *mut ESYS_CONTEXT,
12132 primaryHandle: ESYS_TR,
12133 shandle1: ESYS_TR,
12134 shandle2: ESYS_TR,
12135 shandle3: ESYS_TR,
12136 inSensitive: *const TPM2B_SENSITIVE_CREATE,
12137 inPublic: *const TPM2B_PUBLIC,
12138 outsideInfo: *const TPM2B_DATA,
12139 creationPCR: *const TPML_PCR_SELECTION,
12140 ) -> TSS2_RC;
12141}
12142extern "C" {
12143 pub fn Esys_CreatePrimary_Finish(
12144 esysContext: *mut ESYS_CONTEXT,
12145 objectHandle: *mut ESYS_TR,
12146 outPublic: *mut *mut TPM2B_PUBLIC,
12147 creationData: *mut *mut TPM2B_CREATION_DATA,
12148 creationHash: *mut *mut TPM2B_DIGEST,
12149 creationTicket: *mut *mut TPMT_TK_CREATION,
12150 ) -> TSS2_RC;
12151}
12152extern "C" {
12153 pub fn Esys_HierarchyControl(
12154 esysContext: *mut ESYS_CONTEXT,
12155 authHandle: ESYS_TR,
12156 shandle1: ESYS_TR,
12157 shandle2: ESYS_TR,
12158 shandle3: ESYS_TR,
12159 enable: ESYS_TR,
12160 state: TPMI_YES_NO,
12161 ) -> TSS2_RC;
12162}
12163extern "C" {
12164 pub fn Esys_HierarchyControl_Async(
12165 esysContext: *mut ESYS_CONTEXT,
12166 authHandle: ESYS_TR,
12167 shandle1: ESYS_TR,
12168 shandle2: ESYS_TR,
12169 shandle3: ESYS_TR,
12170 enable: ESYS_TR,
12171 state: TPMI_YES_NO,
12172 ) -> TSS2_RC;
12173}
12174extern "C" {
12175 pub fn Esys_HierarchyControl_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12176}
12177extern "C" {
12178 pub fn Esys_SetPrimaryPolicy(
12179 esysContext: *mut ESYS_CONTEXT,
12180 authHandle: ESYS_TR,
12181 shandle1: ESYS_TR,
12182 shandle2: ESYS_TR,
12183 shandle3: ESYS_TR,
12184 authPolicy: *const TPM2B_DIGEST,
12185 hashAlg: TPMI_ALG_HASH,
12186 ) -> TSS2_RC;
12187}
12188extern "C" {
12189 pub fn Esys_SetPrimaryPolicy_Async(
12190 esysContext: *mut ESYS_CONTEXT,
12191 authHandle: ESYS_TR,
12192 shandle1: ESYS_TR,
12193 shandle2: ESYS_TR,
12194 shandle3: ESYS_TR,
12195 authPolicy: *const TPM2B_DIGEST,
12196 hashAlg: TPMI_ALG_HASH,
12197 ) -> TSS2_RC;
12198}
12199extern "C" {
12200 pub fn Esys_SetPrimaryPolicy_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12201}
12202extern "C" {
12203 pub fn Esys_ChangePPS(
12204 esysContext: *mut ESYS_CONTEXT,
12205 authHandle: ESYS_TR,
12206 shandle1: ESYS_TR,
12207 shandle2: ESYS_TR,
12208 shandle3: ESYS_TR,
12209 ) -> TSS2_RC;
12210}
12211extern "C" {
12212 pub fn Esys_ChangePPS_Async(
12213 esysContext: *mut ESYS_CONTEXT,
12214 authHandle: ESYS_TR,
12215 shandle1: ESYS_TR,
12216 shandle2: ESYS_TR,
12217 shandle3: ESYS_TR,
12218 ) -> TSS2_RC;
12219}
12220extern "C" {
12221 pub fn Esys_ChangePPS_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12222}
12223extern "C" {
12224 pub fn Esys_ChangeEPS(
12225 esysContext: *mut ESYS_CONTEXT,
12226 authHandle: ESYS_TR,
12227 shandle1: ESYS_TR,
12228 shandle2: ESYS_TR,
12229 shandle3: ESYS_TR,
12230 ) -> TSS2_RC;
12231}
12232extern "C" {
12233 pub fn Esys_ChangeEPS_Async(
12234 esysContext: *mut ESYS_CONTEXT,
12235 authHandle: ESYS_TR,
12236 shandle1: ESYS_TR,
12237 shandle2: ESYS_TR,
12238 shandle3: ESYS_TR,
12239 ) -> TSS2_RC;
12240}
12241extern "C" {
12242 pub fn Esys_ChangeEPS_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12243}
12244extern "C" {
12245 pub fn Esys_Clear(
12246 esysContext: *mut ESYS_CONTEXT,
12247 authHandle: ESYS_TR,
12248 shandle1: ESYS_TR,
12249 shandle2: ESYS_TR,
12250 shandle3: ESYS_TR,
12251 ) -> TSS2_RC;
12252}
12253extern "C" {
12254 pub fn Esys_Clear_Async(
12255 esysContext: *mut ESYS_CONTEXT,
12256 authHandle: ESYS_TR,
12257 shandle1: ESYS_TR,
12258 shandle2: ESYS_TR,
12259 shandle3: ESYS_TR,
12260 ) -> TSS2_RC;
12261}
12262extern "C" {
12263 pub fn Esys_Clear_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12264}
12265extern "C" {
12266 pub fn Esys_ClearControl(
12267 esysContext: *mut ESYS_CONTEXT,
12268 auth: ESYS_TR,
12269 shandle1: ESYS_TR,
12270 shandle2: ESYS_TR,
12271 shandle3: ESYS_TR,
12272 disable: TPMI_YES_NO,
12273 ) -> TSS2_RC;
12274}
12275extern "C" {
12276 pub fn Esys_ClearControl_Async(
12277 esysContext: *mut ESYS_CONTEXT,
12278 auth: ESYS_TR,
12279 shandle1: ESYS_TR,
12280 shandle2: ESYS_TR,
12281 shandle3: ESYS_TR,
12282 disable: TPMI_YES_NO,
12283 ) -> TSS2_RC;
12284}
12285extern "C" {
12286 pub fn Esys_ClearControl_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12287}
12288extern "C" {
12289 pub fn Esys_HierarchyChangeAuth(
12290 esysContext: *mut ESYS_CONTEXT,
12291 authHandle: ESYS_TR,
12292 shandle1: ESYS_TR,
12293 shandle2: ESYS_TR,
12294 shandle3: ESYS_TR,
12295 newAuth: *const TPM2B_AUTH,
12296 ) -> TSS2_RC;
12297}
12298extern "C" {
12299 pub fn Esys_HierarchyChangeAuth_Async(
12300 esysContext: *mut ESYS_CONTEXT,
12301 authHandle: ESYS_TR,
12302 shandle1: ESYS_TR,
12303 shandle2: ESYS_TR,
12304 shandle3: ESYS_TR,
12305 newAuth: *const TPM2B_AUTH,
12306 ) -> TSS2_RC;
12307}
12308extern "C" {
12309 pub fn Esys_HierarchyChangeAuth_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12310}
12311extern "C" {
12312 pub fn Esys_DictionaryAttackLockReset(
12313 esysContext: *mut ESYS_CONTEXT,
12314 lockHandle: ESYS_TR,
12315 shandle1: ESYS_TR,
12316 shandle2: ESYS_TR,
12317 shandle3: ESYS_TR,
12318 ) -> TSS2_RC;
12319}
12320extern "C" {
12321 pub fn Esys_DictionaryAttackLockReset_Async(
12322 esysContext: *mut ESYS_CONTEXT,
12323 lockHandle: ESYS_TR,
12324 shandle1: ESYS_TR,
12325 shandle2: ESYS_TR,
12326 shandle3: ESYS_TR,
12327 ) -> TSS2_RC;
12328}
12329extern "C" {
12330 pub fn Esys_DictionaryAttackLockReset_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12331}
12332extern "C" {
12333 pub fn Esys_DictionaryAttackParameters(
12334 esysContext: *mut ESYS_CONTEXT,
12335 lockHandle: ESYS_TR,
12336 shandle1: ESYS_TR,
12337 shandle2: ESYS_TR,
12338 shandle3: ESYS_TR,
12339 newMaxTries: UINT32,
12340 newRecoveryTime: UINT32,
12341 lockoutRecovery: UINT32,
12342 ) -> TSS2_RC;
12343}
12344extern "C" {
12345 pub fn Esys_DictionaryAttackParameters_Async(
12346 esysContext: *mut ESYS_CONTEXT,
12347 lockHandle: ESYS_TR,
12348 shandle1: ESYS_TR,
12349 shandle2: ESYS_TR,
12350 shandle3: ESYS_TR,
12351 newMaxTries: UINT32,
12352 newRecoveryTime: UINT32,
12353 lockoutRecovery: UINT32,
12354 ) -> TSS2_RC;
12355}
12356extern "C" {
12357 pub fn Esys_DictionaryAttackParameters_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12358}
12359extern "C" {
12360 pub fn Esys_PP_Commands(
12361 esysContext: *mut ESYS_CONTEXT,
12362 auth: ESYS_TR,
12363 shandle1: ESYS_TR,
12364 shandle2: ESYS_TR,
12365 shandle3: ESYS_TR,
12366 setList: *const TPML_CC,
12367 clearList: *const TPML_CC,
12368 ) -> TSS2_RC;
12369}
12370extern "C" {
12371 pub fn Esys_PP_Commands_Async(
12372 esysContext: *mut ESYS_CONTEXT,
12373 auth: ESYS_TR,
12374 shandle1: ESYS_TR,
12375 shandle2: ESYS_TR,
12376 shandle3: ESYS_TR,
12377 setList: *const TPML_CC,
12378 clearList: *const TPML_CC,
12379 ) -> TSS2_RC;
12380}
12381extern "C" {
12382 pub fn Esys_PP_Commands_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12383}
12384extern "C" {
12385 pub fn Esys_SetAlgorithmSet(
12386 esysContext: *mut ESYS_CONTEXT,
12387 authHandle: ESYS_TR,
12388 shandle1: ESYS_TR,
12389 shandle2: ESYS_TR,
12390 shandle3: ESYS_TR,
12391 algorithmSet: UINT32,
12392 ) -> TSS2_RC;
12393}
12394extern "C" {
12395 pub fn Esys_SetAlgorithmSet_Async(
12396 esysContext: *mut ESYS_CONTEXT,
12397 authHandle: ESYS_TR,
12398 shandle1: ESYS_TR,
12399 shandle2: ESYS_TR,
12400 shandle3: ESYS_TR,
12401 algorithmSet: UINT32,
12402 ) -> TSS2_RC;
12403}
12404extern "C" {
12405 pub fn Esys_SetAlgorithmSet_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12406}
12407extern "C" {
12408 pub fn Esys_FieldUpgradeStart(
12409 esysContext: *mut ESYS_CONTEXT,
12410 authorization: ESYS_TR,
12411 keyHandle: ESYS_TR,
12412 shandle1: ESYS_TR,
12413 shandle2: ESYS_TR,
12414 shandle3: ESYS_TR,
12415 fuDigest: *const TPM2B_DIGEST,
12416 manifestSignature: *const TPMT_SIGNATURE,
12417 ) -> TSS2_RC;
12418}
12419extern "C" {
12420 pub fn Esys_FieldUpgradeStart_Async(
12421 esysContext: *mut ESYS_CONTEXT,
12422 authorization: ESYS_TR,
12423 keyHandle: ESYS_TR,
12424 shandle1: ESYS_TR,
12425 shandle2: ESYS_TR,
12426 shandle3: ESYS_TR,
12427 fuDigest: *const TPM2B_DIGEST,
12428 manifestSignature: *const TPMT_SIGNATURE,
12429 ) -> TSS2_RC;
12430}
12431extern "C" {
12432 pub fn Esys_FieldUpgradeStart_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12433}
12434extern "C" {
12435 pub fn Esys_FieldUpgradeData(
12436 esysContext: *mut ESYS_CONTEXT,
12437 shandle1: ESYS_TR,
12438 shandle2: ESYS_TR,
12439 shandle3: ESYS_TR,
12440 fuData: *const TPM2B_MAX_BUFFER,
12441 nextDigest: *mut *mut TPMT_HA,
12442 firstDigest: *mut *mut TPMT_HA,
12443 ) -> TSS2_RC;
12444}
12445extern "C" {
12446 pub fn Esys_FieldUpgradeData_Async(
12447 esysContext: *mut ESYS_CONTEXT,
12448 shandle1: ESYS_TR,
12449 shandle2: ESYS_TR,
12450 shandle3: ESYS_TR,
12451 fuData: *const TPM2B_MAX_BUFFER,
12452 ) -> TSS2_RC;
12453}
12454extern "C" {
12455 pub fn Esys_FieldUpgradeData_Finish(
12456 esysContext: *mut ESYS_CONTEXT,
12457 nextDigest: *mut *mut TPMT_HA,
12458 firstDigest: *mut *mut TPMT_HA,
12459 ) -> TSS2_RC;
12460}
12461extern "C" {
12462 pub fn Esys_FirmwareRead(
12463 esysContext: *mut ESYS_CONTEXT,
12464 shandle1: ESYS_TR,
12465 shandle2: ESYS_TR,
12466 shandle3: ESYS_TR,
12467 sequenceNumber: UINT32,
12468 fuData: *mut *mut TPM2B_MAX_BUFFER,
12469 ) -> TSS2_RC;
12470}
12471extern "C" {
12472 pub fn Esys_FirmwareRead_Async(
12473 esysContext: *mut ESYS_CONTEXT,
12474 shandle1: ESYS_TR,
12475 shandle2: ESYS_TR,
12476 shandle3: ESYS_TR,
12477 sequenceNumber: UINT32,
12478 ) -> TSS2_RC;
12479}
12480extern "C" {
12481 pub fn Esys_FirmwareRead_Finish(
12482 esysContext: *mut ESYS_CONTEXT,
12483 fuData: *mut *mut TPM2B_MAX_BUFFER,
12484 ) -> TSS2_RC;
12485}
12486extern "C" {
12487 pub fn Esys_ContextSave(
12488 esysContext: *mut ESYS_CONTEXT,
12489 saveHandle: ESYS_TR,
12490 context: *mut *mut TPMS_CONTEXT,
12491 ) -> TSS2_RC;
12492}
12493extern "C" {
12494 pub fn Esys_ContextSave_Async(esysContext: *mut ESYS_CONTEXT, saveHandle: ESYS_TR) -> TSS2_RC;
12495}
12496extern "C" {
12497 pub fn Esys_ContextSave_Finish(
12498 esysContext: *mut ESYS_CONTEXT,
12499 context: *mut *mut TPMS_CONTEXT,
12500 ) -> TSS2_RC;
12501}
12502extern "C" {
12503 pub fn Esys_ContextLoad(
12504 esysContext: *mut ESYS_CONTEXT,
12505 context: *const TPMS_CONTEXT,
12506 loadedHandle: *mut ESYS_TR,
12507 ) -> TSS2_RC;
12508}
12509extern "C" {
12510 pub fn Esys_ContextLoad_Async(
12511 esysContext: *mut ESYS_CONTEXT,
12512 context: *const TPMS_CONTEXT,
12513 ) -> TSS2_RC;
12514}
12515extern "C" {
12516 pub fn Esys_ContextLoad_Finish(
12517 esysContext: *mut ESYS_CONTEXT,
12518 loadedHandle: *mut ESYS_TR,
12519 ) -> TSS2_RC;
12520}
12521extern "C" {
12522 pub fn Esys_FlushContext(esysContext: *mut ESYS_CONTEXT, flushHandle: ESYS_TR) -> TSS2_RC;
12523}
12524extern "C" {
12525 pub fn Esys_FlushContext_Async(esysContext: *mut ESYS_CONTEXT, flushHandle: ESYS_TR)
12526 -> TSS2_RC;
12527}
12528extern "C" {
12529 pub fn Esys_FlushContext_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12530}
12531extern "C" {
12532 pub fn Esys_EvictControl(
12533 esysContext: *mut ESYS_CONTEXT,
12534 auth: ESYS_TR,
12535 objectHandle: ESYS_TR,
12536 shandle1: ESYS_TR,
12537 shandle2: ESYS_TR,
12538 shandle3: ESYS_TR,
12539 persistentHandle: TPMI_DH_PERSISTENT,
12540 newObjectHandle: *mut ESYS_TR,
12541 ) -> TSS2_RC;
12542}
12543extern "C" {
12544 pub fn Esys_EvictControl_Async(
12545 esysContext: *mut ESYS_CONTEXT,
12546 auth: ESYS_TR,
12547 objectHandle: ESYS_TR,
12548 shandle1: ESYS_TR,
12549 shandle2: ESYS_TR,
12550 shandle3: ESYS_TR,
12551 persistentHandle: TPMI_DH_PERSISTENT,
12552 ) -> TSS2_RC;
12553}
12554extern "C" {
12555 pub fn Esys_EvictControl_Finish(
12556 esysContext: *mut ESYS_CONTEXT,
12557 newObjectHandle: *mut ESYS_TR,
12558 ) -> TSS2_RC;
12559}
12560extern "C" {
12561 pub fn Esys_ReadClock(
12562 esysContext: *mut ESYS_CONTEXT,
12563 shandle1: ESYS_TR,
12564 shandle2: ESYS_TR,
12565 shandle3: ESYS_TR,
12566 currentTime: *mut *mut TPMS_TIME_INFO,
12567 ) -> TSS2_RC;
12568}
12569extern "C" {
12570 pub fn Esys_ReadClock_Async(
12571 esysContext: *mut ESYS_CONTEXT,
12572 shandle1: ESYS_TR,
12573 shandle2: ESYS_TR,
12574 shandle3: ESYS_TR,
12575 ) -> TSS2_RC;
12576}
12577extern "C" {
12578 pub fn Esys_ReadClock_Finish(
12579 esysContext: *mut ESYS_CONTEXT,
12580 currentTime: *mut *mut TPMS_TIME_INFO,
12581 ) -> TSS2_RC;
12582}
12583extern "C" {
12584 pub fn Esys_ClockSet(
12585 esysContext: *mut ESYS_CONTEXT,
12586 auth: ESYS_TR,
12587 shandle1: ESYS_TR,
12588 shandle2: ESYS_TR,
12589 shandle3: ESYS_TR,
12590 newTime: UINT64,
12591 ) -> TSS2_RC;
12592}
12593extern "C" {
12594 pub fn Esys_ClockSet_Async(
12595 esysContext: *mut ESYS_CONTEXT,
12596 auth: ESYS_TR,
12597 shandle1: ESYS_TR,
12598 shandle2: ESYS_TR,
12599 shandle3: ESYS_TR,
12600 newTime: UINT64,
12601 ) -> TSS2_RC;
12602}
12603extern "C" {
12604 pub fn Esys_ClockSet_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12605}
12606extern "C" {
12607 pub fn Esys_ClockRateAdjust(
12608 esysContext: *mut ESYS_CONTEXT,
12609 auth: ESYS_TR,
12610 shandle1: ESYS_TR,
12611 shandle2: ESYS_TR,
12612 shandle3: ESYS_TR,
12613 rateAdjust: TPM2_CLOCK_ADJUST,
12614 ) -> TSS2_RC;
12615}
12616extern "C" {
12617 pub fn Esys_ClockRateAdjust_Async(
12618 esysContext: *mut ESYS_CONTEXT,
12619 auth: ESYS_TR,
12620 shandle1: ESYS_TR,
12621 shandle2: ESYS_TR,
12622 shandle3: ESYS_TR,
12623 rateAdjust: TPM2_CLOCK_ADJUST,
12624 ) -> TSS2_RC;
12625}
12626extern "C" {
12627 pub fn Esys_ClockRateAdjust_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12628}
12629extern "C" {
12630 pub fn Esys_GetCapability(
12631 esysContext: *mut ESYS_CONTEXT,
12632 shandle1: ESYS_TR,
12633 shandle2: ESYS_TR,
12634 shandle3: ESYS_TR,
12635 capability: TPM2_CAP,
12636 property: UINT32,
12637 propertyCount: UINT32,
12638 moreData: *mut TPMI_YES_NO,
12639 capabilityData: *mut *mut TPMS_CAPABILITY_DATA,
12640 ) -> TSS2_RC;
12641}
12642extern "C" {
12643 pub fn Esys_GetCapability_Async(
12644 esysContext: *mut ESYS_CONTEXT,
12645 shandle1: ESYS_TR,
12646 shandle2: ESYS_TR,
12647 shandle3: ESYS_TR,
12648 capability: TPM2_CAP,
12649 property: UINT32,
12650 propertyCount: UINT32,
12651 ) -> TSS2_RC;
12652}
12653extern "C" {
12654 pub fn Esys_GetCapability_Finish(
12655 esysContext: *mut ESYS_CONTEXT,
12656 moreData: *mut TPMI_YES_NO,
12657 capabilityData: *mut *mut TPMS_CAPABILITY_DATA,
12658 ) -> TSS2_RC;
12659}
12660extern "C" {
12661 pub fn Esys_TestParms(
12662 esysContext: *mut ESYS_CONTEXT,
12663 shandle1: ESYS_TR,
12664 shandle2: ESYS_TR,
12665 shandle3: ESYS_TR,
12666 parameters: *const TPMT_PUBLIC_PARMS,
12667 ) -> TSS2_RC;
12668}
12669extern "C" {
12670 pub fn Esys_TestParms_Async(
12671 esysContext: *mut ESYS_CONTEXT,
12672 shandle1: ESYS_TR,
12673 shandle2: ESYS_TR,
12674 shandle3: ESYS_TR,
12675 parameters: *const TPMT_PUBLIC_PARMS,
12676 ) -> TSS2_RC;
12677}
12678extern "C" {
12679 pub fn Esys_TestParms_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12680}
12681extern "C" {
12682 pub fn Esys_NV_DefineSpace(
12683 esysContext: *mut ESYS_CONTEXT,
12684 authHandle: ESYS_TR,
12685 shandle1: ESYS_TR,
12686 shandle2: ESYS_TR,
12687 shandle3: ESYS_TR,
12688 auth: *const TPM2B_AUTH,
12689 publicInfo: *const TPM2B_NV_PUBLIC,
12690 nvHandle: *mut ESYS_TR,
12691 ) -> TSS2_RC;
12692}
12693extern "C" {
12694 pub fn Esys_NV_DefineSpace_Async(
12695 esysContext: *mut ESYS_CONTEXT,
12696 authHandle: ESYS_TR,
12697 shandle1: ESYS_TR,
12698 shandle2: ESYS_TR,
12699 shandle3: ESYS_TR,
12700 auth: *const TPM2B_AUTH,
12701 publicInfo: *const TPM2B_NV_PUBLIC,
12702 ) -> TSS2_RC;
12703}
12704extern "C" {
12705 pub fn Esys_NV_DefineSpace_Finish(
12706 esysContext: *mut ESYS_CONTEXT,
12707 nvHandle: *mut ESYS_TR,
12708 ) -> TSS2_RC;
12709}
12710extern "C" {
12711 pub fn Esys_NV_UndefineSpace(
12712 esysContext: *mut ESYS_CONTEXT,
12713 authHandle: ESYS_TR,
12714 nvIndex: ESYS_TR,
12715 shandle1: ESYS_TR,
12716 shandle2: ESYS_TR,
12717 shandle3: ESYS_TR,
12718 ) -> TSS2_RC;
12719}
12720extern "C" {
12721 pub fn Esys_NV_UndefineSpace_Async(
12722 esysContext: *mut ESYS_CONTEXT,
12723 authHandle: ESYS_TR,
12724 nvIndex: ESYS_TR,
12725 shandle1: ESYS_TR,
12726 shandle2: ESYS_TR,
12727 shandle3: ESYS_TR,
12728 ) -> TSS2_RC;
12729}
12730extern "C" {
12731 pub fn Esys_NV_UndefineSpace_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12732}
12733extern "C" {
12734 pub fn Esys_NV_UndefineSpaceSpecial(
12735 esysContext: *mut ESYS_CONTEXT,
12736 nvIndex: ESYS_TR,
12737 platform: ESYS_TR,
12738 shandle1: ESYS_TR,
12739 shandle2: ESYS_TR,
12740 shandle3: ESYS_TR,
12741 ) -> TSS2_RC;
12742}
12743extern "C" {
12744 pub fn Esys_NV_UndefineSpaceSpecial_Async(
12745 esysContext: *mut ESYS_CONTEXT,
12746 nvIndex: ESYS_TR,
12747 platform: ESYS_TR,
12748 shandle1: ESYS_TR,
12749 shandle2: ESYS_TR,
12750 shandle3: ESYS_TR,
12751 ) -> TSS2_RC;
12752}
12753extern "C" {
12754 pub fn Esys_NV_UndefineSpaceSpecial_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12755}
12756extern "C" {
12757 pub fn Esys_NV_ReadPublic(
12758 esysContext: *mut ESYS_CONTEXT,
12759 nvIndex: ESYS_TR,
12760 shandle1: ESYS_TR,
12761 shandle2: ESYS_TR,
12762 shandle3: ESYS_TR,
12763 nvPublic: *mut *mut TPM2B_NV_PUBLIC,
12764 nvName: *mut *mut TPM2B_NAME,
12765 ) -> TSS2_RC;
12766}
12767extern "C" {
12768 pub fn Esys_NV_ReadPublic_Async(
12769 esysContext: *mut ESYS_CONTEXT,
12770 nvIndex: ESYS_TR,
12771 shandle1: ESYS_TR,
12772 shandle2: ESYS_TR,
12773 shandle3: ESYS_TR,
12774 ) -> TSS2_RC;
12775}
12776extern "C" {
12777 pub fn Esys_NV_ReadPublic_Finish(
12778 esysContext: *mut ESYS_CONTEXT,
12779 nvPublic: *mut *mut TPM2B_NV_PUBLIC,
12780 nvName: *mut *mut TPM2B_NAME,
12781 ) -> TSS2_RC;
12782}
12783extern "C" {
12784 pub fn Esys_NV_Write(
12785 esysContext: *mut ESYS_CONTEXT,
12786 authHandle: ESYS_TR,
12787 nvIndex: ESYS_TR,
12788 shandle1: ESYS_TR,
12789 shandle2: ESYS_TR,
12790 shandle3: ESYS_TR,
12791 data: *const TPM2B_MAX_NV_BUFFER,
12792 offset: UINT16,
12793 ) -> TSS2_RC;
12794}
12795extern "C" {
12796 pub fn Esys_NV_Write_Async(
12797 esysContext: *mut ESYS_CONTEXT,
12798 authHandle: ESYS_TR,
12799 nvIndex: ESYS_TR,
12800 shandle1: ESYS_TR,
12801 shandle2: ESYS_TR,
12802 shandle3: ESYS_TR,
12803 data: *const TPM2B_MAX_NV_BUFFER,
12804 offset: UINT16,
12805 ) -> TSS2_RC;
12806}
12807extern "C" {
12808 pub fn Esys_NV_Write_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12809}
12810extern "C" {
12811 pub fn Esys_NV_Increment(
12812 esysContext: *mut ESYS_CONTEXT,
12813 authHandle: ESYS_TR,
12814 nvIndex: ESYS_TR,
12815 shandle1: ESYS_TR,
12816 shandle2: ESYS_TR,
12817 shandle3: ESYS_TR,
12818 ) -> TSS2_RC;
12819}
12820extern "C" {
12821 pub fn Esys_NV_Increment_Async(
12822 esysContext: *mut ESYS_CONTEXT,
12823 authHandle: ESYS_TR,
12824 nvIndex: ESYS_TR,
12825 shandle1: ESYS_TR,
12826 shandle2: ESYS_TR,
12827 shandle3: ESYS_TR,
12828 ) -> TSS2_RC;
12829}
12830extern "C" {
12831 pub fn Esys_NV_Increment_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12832}
12833extern "C" {
12834 pub fn Esys_NV_Extend(
12835 esysContext: *mut ESYS_CONTEXT,
12836 authHandle: ESYS_TR,
12837 nvIndex: ESYS_TR,
12838 shandle1: ESYS_TR,
12839 shandle2: ESYS_TR,
12840 shandle3: ESYS_TR,
12841 data: *const TPM2B_MAX_NV_BUFFER,
12842 ) -> TSS2_RC;
12843}
12844extern "C" {
12845 pub fn Esys_NV_Extend_Async(
12846 esysContext: *mut ESYS_CONTEXT,
12847 authHandle: ESYS_TR,
12848 nvIndex: ESYS_TR,
12849 shandle1: ESYS_TR,
12850 shandle2: ESYS_TR,
12851 shandle3: ESYS_TR,
12852 data: *const TPM2B_MAX_NV_BUFFER,
12853 ) -> TSS2_RC;
12854}
12855extern "C" {
12856 pub fn Esys_NV_Extend_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12857}
12858extern "C" {
12859 pub fn Esys_NV_SetBits(
12860 esysContext: *mut ESYS_CONTEXT,
12861 authHandle: ESYS_TR,
12862 nvIndex: ESYS_TR,
12863 shandle1: ESYS_TR,
12864 shandle2: ESYS_TR,
12865 shandle3: ESYS_TR,
12866 bits: UINT64,
12867 ) -> TSS2_RC;
12868}
12869extern "C" {
12870 pub fn Esys_NV_SetBits_Async(
12871 esysContext: *mut ESYS_CONTEXT,
12872 authHandle: ESYS_TR,
12873 nvIndex: ESYS_TR,
12874 shandle1: ESYS_TR,
12875 shandle2: ESYS_TR,
12876 shandle3: ESYS_TR,
12877 bits: UINT64,
12878 ) -> TSS2_RC;
12879}
12880extern "C" {
12881 pub fn Esys_NV_SetBits_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12882}
12883extern "C" {
12884 pub fn Esys_NV_WriteLock(
12885 esysContext: *mut ESYS_CONTEXT,
12886 authHandle: ESYS_TR,
12887 nvIndex: ESYS_TR,
12888 shandle1: ESYS_TR,
12889 shandle2: ESYS_TR,
12890 shandle3: ESYS_TR,
12891 ) -> TSS2_RC;
12892}
12893extern "C" {
12894 pub fn Esys_NV_WriteLock_Async(
12895 esysContext: *mut ESYS_CONTEXT,
12896 authHandle: ESYS_TR,
12897 nvIndex: ESYS_TR,
12898 shandle1: ESYS_TR,
12899 shandle2: ESYS_TR,
12900 shandle3: ESYS_TR,
12901 ) -> TSS2_RC;
12902}
12903extern "C" {
12904 pub fn Esys_NV_WriteLock_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12905}
12906extern "C" {
12907 pub fn Esys_NV_GlobalWriteLock(
12908 esysContext: *mut ESYS_CONTEXT,
12909 authHandle: ESYS_TR,
12910 shandle1: ESYS_TR,
12911 shandle2: ESYS_TR,
12912 shandle3: ESYS_TR,
12913 ) -> TSS2_RC;
12914}
12915extern "C" {
12916 pub fn Esys_NV_GlobalWriteLock_Async(
12917 esysContext: *mut ESYS_CONTEXT,
12918 authHandle: ESYS_TR,
12919 shandle1: ESYS_TR,
12920 shandle2: ESYS_TR,
12921 shandle3: ESYS_TR,
12922 ) -> TSS2_RC;
12923}
12924extern "C" {
12925 pub fn Esys_NV_GlobalWriteLock_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12926}
12927extern "C" {
12928 pub fn Esys_NV_Read(
12929 esysContext: *mut ESYS_CONTEXT,
12930 authHandle: ESYS_TR,
12931 nvIndex: ESYS_TR,
12932 shandle1: ESYS_TR,
12933 shandle2: ESYS_TR,
12934 shandle3: ESYS_TR,
12935 size: UINT16,
12936 offset: UINT16,
12937 data: *mut *mut TPM2B_MAX_NV_BUFFER,
12938 ) -> TSS2_RC;
12939}
12940extern "C" {
12941 pub fn Esys_NV_Read_Async(
12942 esysContext: *mut ESYS_CONTEXT,
12943 authHandle: ESYS_TR,
12944 nvIndex: ESYS_TR,
12945 shandle1: ESYS_TR,
12946 shandle2: ESYS_TR,
12947 shandle3: ESYS_TR,
12948 size: UINT16,
12949 offset: UINT16,
12950 ) -> TSS2_RC;
12951}
12952extern "C" {
12953 pub fn Esys_NV_Read_Finish(
12954 esysContext: *mut ESYS_CONTEXT,
12955 data: *mut *mut TPM2B_MAX_NV_BUFFER,
12956 ) -> TSS2_RC;
12957}
12958extern "C" {
12959 pub fn Esys_NV_ReadLock(
12960 esysContext: *mut ESYS_CONTEXT,
12961 authHandle: ESYS_TR,
12962 nvIndex: ESYS_TR,
12963 shandle1: ESYS_TR,
12964 shandle2: ESYS_TR,
12965 shandle3: ESYS_TR,
12966 ) -> TSS2_RC;
12967}
12968extern "C" {
12969 pub fn Esys_NV_ReadLock_Async(
12970 esysContext: *mut ESYS_CONTEXT,
12971 authHandle: ESYS_TR,
12972 nvIndex: ESYS_TR,
12973 shandle1: ESYS_TR,
12974 shandle2: ESYS_TR,
12975 shandle3: ESYS_TR,
12976 ) -> TSS2_RC;
12977}
12978extern "C" {
12979 pub fn Esys_NV_ReadLock_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12980}
12981extern "C" {
12982 pub fn Esys_NV_ChangeAuth(
12983 esysContext: *mut ESYS_CONTEXT,
12984 nvIndex: ESYS_TR,
12985 shandle1: ESYS_TR,
12986 shandle2: ESYS_TR,
12987 shandle3: ESYS_TR,
12988 newAuth: *const TPM2B_AUTH,
12989 ) -> TSS2_RC;
12990}
12991extern "C" {
12992 pub fn Esys_NV_ChangeAuth_Async(
12993 esysContext: *mut ESYS_CONTEXT,
12994 nvIndex: ESYS_TR,
12995 shandle1: ESYS_TR,
12996 shandle2: ESYS_TR,
12997 shandle3: ESYS_TR,
12998 newAuth: *const TPM2B_AUTH,
12999 ) -> TSS2_RC;
13000}
13001extern "C" {
13002 pub fn Esys_NV_ChangeAuth_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13003}
13004extern "C" {
13005 pub fn Esys_NV_Certify(
13006 esysContext: *mut ESYS_CONTEXT,
13007 signHandle: ESYS_TR,
13008 authHandle: ESYS_TR,
13009 nvIndex: ESYS_TR,
13010 shandle1: ESYS_TR,
13011 shandle2: ESYS_TR,
13012 shandle3: ESYS_TR,
13013 qualifyingData: *const TPM2B_DATA,
13014 inScheme: *const TPMT_SIG_SCHEME,
13015 size: UINT16,
13016 offset: UINT16,
13017 certifyInfo: *mut *mut TPM2B_ATTEST,
13018 signature: *mut *mut TPMT_SIGNATURE,
13019 ) -> TSS2_RC;
13020}
13021extern "C" {
13022 pub fn Esys_NV_Certify_Async(
13023 esysContext: *mut ESYS_CONTEXT,
13024 signHandle: ESYS_TR,
13025 authHandle: ESYS_TR,
13026 nvIndex: ESYS_TR,
13027 shandle1: ESYS_TR,
13028 shandle2: ESYS_TR,
13029 shandle3: ESYS_TR,
13030 qualifyingData: *const TPM2B_DATA,
13031 inScheme: *const TPMT_SIG_SCHEME,
13032 size: UINT16,
13033 offset: UINT16,
13034 ) -> TSS2_RC;
13035}
13036extern "C" {
13037 pub fn Esys_NV_Certify_Finish(
13038 esysContext: *mut ESYS_CONTEXT,
13039 certifyInfo: *mut *mut TPM2B_ATTEST,
13040 signature: *mut *mut TPMT_SIGNATURE,
13041 ) -> TSS2_RC;
13042}
13043extern "C" {
13044 pub fn Esys_Vendor_TCG_Test(
13045 esysContext: *mut ESYS_CONTEXT,
13046 shandle1: ESYS_TR,
13047 shandle2: ESYS_TR,
13048 shandle3: ESYS_TR,
13049 inputData: *const TPM2B_DATA,
13050 outputData: *mut *mut TPM2B_DATA,
13051 ) -> TSS2_RC;
13052}
13053extern "C" {
13054 pub fn Esys_Vendor_TCG_Test_Async(
13055 esysContext: *mut ESYS_CONTEXT,
13056 shandle1: ESYS_TR,
13057 shandle2: ESYS_TR,
13058 shandle3: ESYS_TR,
13059 inputData: *const TPM2B_DATA,
13060 ) -> TSS2_RC;
13061}
13062extern "C" {
13063 pub fn Esys_Vendor_TCG_Test_Finish(
13064 esysContext: *mut ESYS_CONTEXT,
13065 outputData: *mut *mut TPM2B_DATA,
13066 ) -> TSS2_RC;
13067}
13068extern "C" {
13069 pub fn Esys_Free(__ptr: *mut ::std::os::raw::c_void);
13070}
13071extern "C" {
13072 pub fn Esys_GetSysContext(
13073 esys_context: *mut ESYS_CONTEXT,
13074 sys_context: *mut *mut TSS2_SYS_CONTEXT,
13075 ) -> TSS2_RC;
13076}
13077extern "C" {
13078 pub fn Esys_SetCryptoCallbacks(
13079 esysContext: *mut ESYS_CONTEXT,
13080 callbacks: *mut ESYS_CRYPTO_CALLBACKS,
13081 ) -> TSS2_RC;
13082}
13083pub type __gwchar_t = ::std::os::raw::c_uint;
13084#[repr(C)]
13085#[derive(Debug, Default, Copy, Clone)]
13086pub struct imaxdiv_t {
13087 pub quot: ::std::os::raw::c_long,
13088 pub rem: ::std::os::raw::c_long,
13089}
13090#[test]
13091fn bindgen_test_layout_imaxdiv_t() {
13092 const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
13093 let ptr = UNINIT.as_ptr();
13094 assert_eq!(
13095 ::std::mem::size_of::<imaxdiv_t>(),
13096 16usize,
13097 "Size of imaxdiv_t"
13098 );
13099 assert_eq!(
13100 ::std::mem::align_of::<imaxdiv_t>(),
13101 8usize,
13102 "Alignment of imaxdiv_t"
13103 );
13104 assert_eq!(
13105 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
13106 0usize,
13107 "Offset of field: imaxdiv_t::quot"
13108 );
13109 assert_eq!(
13110 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
13111 8usize,
13112 "Offset of field: imaxdiv_t::rem"
13113 );
13114}
13115extern "C" {
13116 pub fn imaxabs(__n: intmax_t) -> intmax_t;
13117}
13118extern "C" {
13119 pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
13120}
13121extern "C" {
13122 pub fn strtoimax(
13123 __nptr: *const ::std::os::raw::c_char,
13124 __endptr: *mut *mut ::std::os::raw::c_char,
13125 __base: ::std::os::raw::c_int,
13126 ) -> intmax_t;
13127}
13128extern "C" {
13129 pub fn strtoumax(
13130 __nptr: *const ::std::os::raw::c_char,
13131 __endptr: *mut *mut ::std::os::raw::c_char,
13132 __base: ::std::os::raw::c_int,
13133 ) -> uintmax_t;
13134}
13135extern "C" {
13136 pub fn wcstoimax(
13137 __nptr: *const __gwchar_t,
13138 __endptr: *mut *mut __gwchar_t,
13139 __base: ::std::os::raw::c_int,
13140 ) -> intmax_t;
13141}
13142extern "C" {
13143 pub fn wcstoumax(
13144 __nptr: *const __gwchar_t,
13145 __endptr: *mut *mut __gwchar_t,
13146 __base: ::std::os::raw::c_int,
13147 ) -> uintmax_t;
13148}
13149pub type _Float128 = u128;
13150pub type _Float32 = f32;
13151pub type _Float64 = f64;
13152pub type _Float32x = f64;
13153pub type _Float64x = u128;
13154#[repr(C)]
13155#[derive(Debug, Default, Copy, Clone)]
13156pub struct div_t {
13157 pub quot: ::std::os::raw::c_int,
13158 pub rem: ::std::os::raw::c_int,
13159}
13160#[test]
13161fn bindgen_test_layout_div_t() {
13162 const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
13163 let ptr = UNINIT.as_ptr();
13164 assert_eq!(::std::mem::size_of::<div_t>(), 8usize, "Size of div_t");
13165 assert_eq!(
13166 ::std::mem::align_of::<div_t>(),
13167 4usize,
13168 "Alignment of div_t"
13169 );
13170 assert_eq!(
13171 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
13172 0usize,
13173 "Offset of field: div_t::quot"
13174 );
13175 assert_eq!(
13176 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
13177 4usize,
13178 "Offset of field: div_t::rem"
13179 );
13180}
13181#[repr(C)]
13182#[derive(Debug, Default, Copy, Clone)]
13183pub struct ldiv_t {
13184 pub quot: ::std::os::raw::c_long,
13185 pub rem: ::std::os::raw::c_long,
13186}
13187#[test]
13188fn bindgen_test_layout_ldiv_t() {
13189 const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
13190 let ptr = UNINIT.as_ptr();
13191 assert_eq!(::std::mem::size_of::<ldiv_t>(), 16usize, "Size of ldiv_t");
13192 assert_eq!(
13193 ::std::mem::align_of::<ldiv_t>(),
13194 8usize,
13195 "Alignment of ldiv_t"
13196 );
13197 assert_eq!(
13198 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
13199 0usize,
13200 "Offset of field: ldiv_t::quot"
13201 );
13202 assert_eq!(
13203 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
13204 8usize,
13205 "Offset of field: ldiv_t::rem"
13206 );
13207}
13208#[repr(C)]
13209#[derive(Debug, Default, Copy, Clone)]
13210pub struct lldiv_t {
13211 pub quot: ::std::os::raw::c_longlong,
13212 pub rem: ::std::os::raw::c_longlong,
13213}
13214#[test]
13215fn bindgen_test_layout_lldiv_t() {
13216 const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
13217 let ptr = UNINIT.as_ptr();
13218 assert_eq!(::std::mem::size_of::<lldiv_t>(), 16usize, "Size of lldiv_t");
13219 assert_eq!(
13220 ::std::mem::align_of::<lldiv_t>(),
13221 8usize,
13222 "Alignment of lldiv_t"
13223 );
13224 assert_eq!(
13225 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
13226 0usize,
13227 "Offset of field: lldiv_t::quot"
13228 );
13229 assert_eq!(
13230 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
13231 8usize,
13232 "Offset of field: lldiv_t::rem"
13233 );
13234}
13235extern "C" {
13236 pub fn __ctype_get_mb_cur_max() -> size_t;
13237}
13238extern "C" {
13239 pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
13240}
13241extern "C" {
13242 pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13243}
13244extern "C" {
13245 pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
13246}
13247extern "C" {
13248 pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
13249}
13250extern "C" {
13251 pub fn strtod(
13252 __nptr: *const ::std::os::raw::c_char,
13253 __endptr: *mut *mut ::std::os::raw::c_char,
13254 ) -> f64;
13255}
13256extern "C" {
13257 pub fn strtof(
13258 __nptr: *const ::std::os::raw::c_char,
13259 __endptr: *mut *mut ::std::os::raw::c_char,
13260 ) -> f32;
13261}
13262extern "C" {
13263 pub fn strtold(
13264 __nptr: *const ::std::os::raw::c_char,
13265 __endptr: *mut *mut ::std::os::raw::c_char,
13266 ) -> u128;
13267}
13268extern "C" {
13269 pub fn strtol(
13270 __nptr: *const ::std::os::raw::c_char,
13271 __endptr: *mut *mut ::std::os::raw::c_char,
13272 __base: ::std::os::raw::c_int,
13273 ) -> ::std::os::raw::c_long;
13274}
13275extern "C" {
13276 pub fn strtoul(
13277 __nptr: *const ::std::os::raw::c_char,
13278 __endptr: *mut *mut ::std::os::raw::c_char,
13279 __base: ::std::os::raw::c_int,
13280 ) -> ::std::os::raw::c_ulong;
13281}
13282extern "C" {
13283 pub fn strtoq(
13284 __nptr: *const ::std::os::raw::c_char,
13285 __endptr: *mut *mut ::std::os::raw::c_char,
13286 __base: ::std::os::raw::c_int,
13287 ) -> ::std::os::raw::c_longlong;
13288}
13289extern "C" {
13290 pub fn strtouq(
13291 __nptr: *const ::std::os::raw::c_char,
13292 __endptr: *mut *mut ::std::os::raw::c_char,
13293 __base: ::std::os::raw::c_int,
13294 ) -> ::std::os::raw::c_ulonglong;
13295}
13296extern "C" {
13297 pub fn strtoll(
13298 __nptr: *const ::std::os::raw::c_char,
13299 __endptr: *mut *mut ::std::os::raw::c_char,
13300 __base: ::std::os::raw::c_int,
13301 ) -> ::std::os::raw::c_longlong;
13302}
13303extern "C" {
13304 pub fn strtoull(
13305 __nptr: *const ::std::os::raw::c_char,
13306 __endptr: *mut *mut ::std::os::raw::c_char,
13307 __base: ::std::os::raw::c_int,
13308 ) -> ::std::os::raw::c_ulonglong;
13309}
13310extern "C" {
13311 pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
13312}
13313extern "C" {
13314 pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
13315}
13316pub type u_char = __u_char;
13317pub type u_short = __u_short;
13318pub type u_int = __u_int;
13319pub type u_long = __u_long;
13320pub type quad_t = __quad_t;
13321pub type u_quad_t = __u_quad_t;
13322pub type fsid_t = __fsid_t;
13323pub type loff_t = __loff_t;
13324pub type ino_t = __ino_t;
13325pub type dev_t = __dev_t;
13326pub type gid_t = __gid_t;
13327pub type mode_t = __mode_t;
13328pub type nlink_t = __nlink_t;
13329pub type uid_t = __uid_t;
13330pub type off_t = __off_t;
13331pub type pid_t = __pid_t;
13332pub type id_t = __id_t;
13333pub type ssize_t = __ssize_t;
13334pub type daddr_t = __daddr_t;
13335pub type caddr_t = __caddr_t;
13336pub type key_t = __key_t;
13337pub type clock_t = __clock_t;
13338pub type clockid_t = __clockid_t;
13339pub type time_t = __time_t;
13340pub type timer_t = __timer_t;
13341pub type ulong = ::std::os::raw::c_ulong;
13342pub type ushort = ::std::os::raw::c_ushort;
13343pub type uint = ::std::os::raw::c_uint;
13344pub type u_int8_t = __uint8_t;
13345pub type u_int16_t = __uint16_t;
13346pub type u_int32_t = __uint32_t;
13347pub type u_int64_t = __uint64_t;
13348pub type register_t = ::std::os::raw::c_long;
13349#[repr(C)]
13350#[derive(Debug, Default, Copy, Clone)]
13351pub struct __sigset_t {
13352 pub __val: [::std::os::raw::c_ulong; 16usize],
13353}
13354#[test]
13355fn bindgen_test_layout___sigset_t() {
13356 const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
13357 let ptr = UNINIT.as_ptr();
13358 assert_eq!(
13359 ::std::mem::size_of::<__sigset_t>(),
13360 128usize,
13361 "Size of __sigset_t"
13362 );
13363 assert_eq!(
13364 ::std::mem::align_of::<__sigset_t>(),
13365 8usize,
13366 "Alignment of __sigset_t"
13367 );
13368 assert_eq!(
13369 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
13370 0usize,
13371 "Offset of field: __sigset_t::__val"
13372 );
13373}
13374pub type sigset_t = __sigset_t;
13375#[repr(C)]
13376#[derive(Debug, Default, Copy, Clone)]
13377pub struct timeval {
13378 pub tv_sec: __time_t,
13379 pub tv_usec: __suseconds_t,
13380}
13381#[test]
13382fn bindgen_test_layout_timeval() {
13383 const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
13384 let ptr = UNINIT.as_ptr();
13385 assert_eq!(::std::mem::size_of::<timeval>(), 16usize, "Size of timeval");
13386 assert_eq!(
13387 ::std::mem::align_of::<timeval>(),
13388 8usize,
13389 "Alignment of timeval"
13390 );
13391 assert_eq!(
13392 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
13393 0usize,
13394 "Offset of field: timeval::tv_sec"
13395 );
13396 assert_eq!(
13397 unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
13398 8usize,
13399 "Offset of field: timeval::tv_usec"
13400 );
13401}
13402#[repr(C)]
13403#[derive(Debug, Default, Copy, Clone)]
13404pub struct timespec {
13405 pub tv_sec: __time_t,
13406 pub tv_nsec: __syscall_slong_t,
13407}
13408#[test]
13409fn bindgen_test_layout_timespec() {
13410 const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
13411 let ptr = UNINIT.as_ptr();
13412 assert_eq!(
13413 ::std::mem::size_of::<timespec>(),
13414 16usize,
13415 "Size of timespec"
13416 );
13417 assert_eq!(
13418 ::std::mem::align_of::<timespec>(),
13419 8usize,
13420 "Alignment of timespec"
13421 );
13422 assert_eq!(
13423 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
13424 0usize,
13425 "Offset of field: timespec::tv_sec"
13426 );
13427 assert_eq!(
13428 unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
13429 8usize,
13430 "Offset of field: timespec::tv_nsec"
13431 );
13432}
13433pub type suseconds_t = __suseconds_t;
13434pub type __fd_mask = ::std::os::raw::c_long;
13435#[repr(C)]
13436#[derive(Debug, Default, Copy, Clone)]
13437pub struct fd_set {
13438 pub __fds_bits: [__fd_mask; 16usize],
13439}
13440#[test]
13441fn bindgen_test_layout_fd_set() {
13442 const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
13443 let ptr = UNINIT.as_ptr();
13444 assert_eq!(::std::mem::size_of::<fd_set>(), 128usize, "Size of fd_set");
13445 assert_eq!(
13446 ::std::mem::align_of::<fd_set>(),
13447 8usize,
13448 "Alignment of fd_set"
13449 );
13450 assert_eq!(
13451 unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize },
13452 0usize,
13453 "Offset of field: fd_set::__fds_bits"
13454 );
13455}
13456pub type fd_mask = __fd_mask;
13457extern "C" {
13458 pub fn select(
13459 __nfds: ::std::os::raw::c_int,
13460 __readfds: *mut fd_set,
13461 __writefds: *mut fd_set,
13462 __exceptfds: *mut fd_set,
13463 __timeout: *mut timeval,
13464 ) -> ::std::os::raw::c_int;
13465}
13466extern "C" {
13467 pub fn pselect(
13468 __nfds: ::std::os::raw::c_int,
13469 __readfds: *mut fd_set,
13470 __writefds: *mut fd_set,
13471 __exceptfds: *mut fd_set,
13472 __timeout: *const timespec,
13473 __sigmask: *const __sigset_t,
13474 ) -> ::std::os::raw::c_int;
13475}
13476pub type blksize_t = __blksize_t;
13477pub type blkcnt_t = __blkcnt_t;
13478pub type fsblkcnt_t = __fsblkcnt_t;
13479pub type fsfilcnt_t = __fsfilcnt_t;
13480#[repr(C)]
13481#[derive(Copy, Clone)]
13482pub union __atomic_wide_counter {
13483 pub __value64: ::std::os::raw::c_ulonglong,
13484 pub __value32: __atomic_wide_counter__bindgen_ty_1,
13485}
13486#[repr(C)]
13487#[derive(Debug, Default, Copy, Clone)]
13488pub struct __atomic_wide_counter__bindgen_ty_1 {
13489 pub __low: ::std::os::raw::c_uint,
13490 pub __high: ::std::os::raw::c_uint,
13491}
13492#[test]
13493fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() {
13494 const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> =
13495 ::std::mem::MaybeUninit::uninit();
13496 let ptr = UNINIT.as_ptr();
13497 assert_eq!(
13498 ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(),
13499 8usize,
13500 "Size of __atomic_wide_counter__bindgen_ty_1"
13501 );
13502 assert_eq!(
13503 ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(),
13504 4usize,
13505 "Alignment of __atomic_wide_counter__bindgen_ty_1"
13506 );
13507 assert_eq!(
13508 unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
13509 0usize,
13510 "Offset of field: __atomic_wide_counter__bindgen_ty_1::__low"
13511 );
13512 assert_eq!(
13513 unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
13514 4usize,
13515 "Offset of field: __atomic_wide_counter__bindgen_ty_1::__high"
13516 );
13517}
13518#[test]
13519fn bindgen_test_layout___atomic_wide_counter() {
13520 const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> =
13521 ::std::mem::MaybeUninit::uninit();
13522 let ptr = UNINIT.as_ptr();
13523 assert_eq!(
13524 ::std::mem::size_of::<__atomic_wide_counter>(),
13525 8usize,
13526 "Size of __atomic_wide_counter"
13527 );
13528 assert_eq!(
13529 ::std::mem::align_of::<__atomic_wide_counter>(),
13530 8usize,
13531 "Alignment of __atomic_wide_counter"
13532 );
13533 assert_eq!(
13534 unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize },
13535 0usize,
13536 "Offset of field: __atomic_wide_counter::__value64"
13537 );
13538 assert_eq!(
13539 unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize },
13540 0usize,
13541 "Offset of field: __atomic_wide_counter::__value32"
13542 );
13543}
13544impl Default for __atomic_wide_counter {
13545 fn default() -> Self {
13546 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13547 unsafe {
13548 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13549 s.assume_init()
13550 }
13551 }
13552}
13553#[repr(C)]
13554#[derive(Debug, Copy, Clone)]
13555pub struct __pthread_internal_list {
13556 pub __prev: *mut __pthread_internal_list,
13557 pub __next: *mut __pthread_internal_list,
13558}
13559#[test]
13560fn bindgen_test_layout___pthread_internal_list() {
13561 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> =
13562 ::std::mem::MaybeUninit::uninit();
13563 let ptr = UNINIT.as_ptr();
13564 assert_eq!(
13565 ::std::mem::size_of::<__pthread_internal_list>(),
13566 16usize,
13567 "Size of __pthread_internal_list"
13568 );
13569 assert_eq!(
13570 ::std::mem::align_of::<__pthread_internal_list>(),
13571 8usize,
13572 "Alignment of __pthread_internal_list"
13573 );
13574 assert_eq!(
13575 unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
13576 0usize,
13577 "Offset of field: __pthread_internal_list::__prev"
13578 );
13579 assert_eq!(
13580 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
13581 8usize,
13582 "Offset of field: __pthread_internal_list::__next"
13583 );
13584}
13585impl Default for __pthread_internal_list {
13586 fn default() -> Self {
13587 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13588 unsafe {
13589 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13590 s.assume_init()
13591 }
13592 }
13593}
13594pub type __pthread_list_t = __pthread_internal_list;
13595#[repr(C)]
13596#[derive(Debug, Copy, Clone)]
13597pub struct __pthread_internal_slist {
13598 pub __next: *mut __pthread_internal_slist,
13599}
13600#[test]
13601fn bindgen_test_layout___pthread_internal_slist() {
13602 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> =
13603 ::std::mem::MaybeUninit::uninit();
13604 let ptr = UNINIT.as_ptr();
13605 assert_eq!(
13606 ::std::mem::size_of::<__pthread_internal_slist>(),
13607 8usize,
13608 "Size of __pthread_internal_slist"
13609 );
13610 assert_eq!(
13611 ::std::mem::align_of::<__pthread_internal_slist>(),
13612 8usize,
13613 "Alignment of __pthread_internal_slist"
13614 );
13615 assert_eq!(
13616 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
13617 0usize,
13618 "Offset of field: __pthread_internal_slist::__next"
13619 );
13620}
13621impl Default for __pthread_internal_slist {
13622 fn default() -> Self {
13623 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13624 unsafe {
13625 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13626 s.assume_init()
13627 }
13628 }
13629}
13630pub type __pthread_slist_t = __pthread_internal_slist;
13631#[repr(C)]
13632#[derive(Debug, Copy, Clone)]
13633pub struct __pthread_mutex_s {
13634 pub __lock: ::std::os::raw::c_int,
13635 pub __count: ::std::os::raw::c_uint,
13636 pub __owner: ::std::os::raw::c_int,
13637 pub __nusers: ::std::os::raw::c_uint,
13638 pub __kind: ::std::os::raw::c_int,
13639 pub __spins: ::std::os::raw::c_int,
13640 pub __list: __pthread_list_t,
13641}
13642#[test]
13643fn bindgen_test_layout___pthread_mutex_s() {
13644 const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit();
13645 let ptr = UNINIT.as_ptr();
13646 assert_eq!(
13647 ::std::mem::size_of::<__pthread_mutex_s>(),
13648 40usize,
13649 "Size of __pthread_mutex_s"
13650 );
13651 assert_eq!(
13652 ::std::mem::align_of::<__pthread_mutex_s>(),
13653 8usize,
13654 "Alignment of __pthread_mutex_s"
13655 );
13656 assert_eq!(
13657 unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize },
13658 0usize,
13659 "Offset of field: __pthread_mutex_s::__lock"
13660 );
13661 assert_eq!(
13662 unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
13663 4usize,
13664 "Offset of field: __pthread_mutex_s::__count"
13665 );
13666 assert_eq!(
13667 unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
13668 8usize,
13669 "Offset of field: __pthread_mutex_s::__owner"
13670 );
13671 assert_eq!(
13672 unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
13673 12usize,
13674 "Offset of field: __pthread_mutex_s::__nusers"
13675 );
13676 assert_eq!(
13677 unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
13678 16usize,
13679 "Offset of field: __pthread_mutex_s::__kind"
13680 );
13681 assert_eq!(
13682 unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
13683 20usize,
13684 "Offset of field: __pthread_mutex_s::__spins"
13685 );
13686 assert_eq!(
13687 unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
13688 24usize,
13689 "Offset of field: __pthread_mutex_s::__list"
13690 );
13691}
13692impl Default for __pthread_mutex_s {
13693 fn default() -> Self {
13694 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13695 unsafe {
13696 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13697 s.assume_init()
13698 }
13699 }
13700}
13701#[repr(C)]
13702#[derive(Debug, Default, Copy, Clone)]
13703pub struct __pthread_rwlock_arch_t {
13704 pub __readers: ::std::os::raw::c_uint,
13705 pub __writers: ::std::os::raw::c_uint,
13706 pub __wrphase_futex: ::std::os::raw::c_uint,
13707 pub __writers_futex: ::std::os::raw::c_uint,
13708 pub __pad3: ::std::os::raw::c_uint,
13709 pub __pad4: ::std::os::raw::c_uint,
13710 pub __cur_writer: ::std::os::raw::c_int,
13711 pub __shared: ::std::os::raw::c_int,
13712 pub __pad1: ::std::os::raw::c_ulong,
13713 pub __pad2: ::std::os::raw::c_ulong,
13714 pub __flags: ::std::os::raw::c_uint,
13715}
13716#[test]
13717fn bindgen_test_layout___pthread_rwlock_arch_t() {
13718 const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> =
13719 ::std::mem::MaybeUninit::uninit();
13720 let ptr = UNINIT.as_ptr();
13721 assert_eq!(
13722 ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
13723 56usize,
13724 "Size of __pthread_rwlock_arch_t"
13725 );
13726 assert_eq!(
13727 ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
13728 8usize,
13729 "Alignment of __pthread_rwlock_arch_t"
13730 );
13731 assert_eq!(
13732 unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize },
13733 0usize,
13734 "Offset of field: __pthread_rwlock_arch_t::__readers"
13735 );
13736 assert_eq!(
13737 unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
13738 4usize,
13739 "Offset of field: __pthread_rwlock_arch_t::__writers"
13740 );
13741 assert_eq!(
13742 unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
13743 8usize,
13744 "Offset of field: __pthread_rwlock_arch_t::__wrphase_futex"
13745 );
13746 assert_eq!(
13747 unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
13748 12usize,
13749 "Offset of field: __pthread_rwlock_arch_t::__writers_futex"
13750 );
13751 assert_eq!(
13752 unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
13753 16usize,
13754 "Offset of field: __pthread_rwlock_arch_t::__pad3"
13755 );
13756 assert_eq!(
13757 unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
13758 20usize,
13759 "Offset of field: __pthread_rwlock_arch_t::__pad4"
13760 );
13761 assert_eq!(
13762 unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
13763 24usize,
13764 "Offset of field: __pthread_rwlock_arch_t::__cur_writer"
13765 );
13766 assert_eq!(
13767 unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
13768 28usize,
13769 "Offset of field: __pthread_rwlock_arch_t::__shared"
13770 );
13771 assert_eq!(
13772 unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
13773 32usize,
13774 "Offset of field: __pthread_rwlock_arch_t::__pad1"
13775 );
13776 assert_eq!(
13777 unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
13778 40usize,
13779 "Offset of field: __pthread_rwlock_arch_t::__pad2"
13780 );
13781 assert_eq!(
13782 unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
13783 48usize,
13784 "Offset of field: __pthread_rwlock_arch_t::__flags"
13785 );
13786}
13787#[repr(C)]
13788#[derive(Copy, Clone)]
13789pub struct __pthread_cond_s {
13790 pub __wseq: __atomic_wide_counter,
13791 pub __g1_start: __atomic_wide_counter,
13792 pub __g_refs: [::std::os::raw::c_uint; 2usize],
13793 pub __g_size: [::std::os::raw::c_uint; 2usize],
13794 pub __g1_orig_size: ::std::os::raw::c_uint,
13795 pub __wrefs: ::std::os::raw::c_uint,
13796 pub __g_signals: [::std::os::raw::c_uint; 2usize],
13797}
13798#[test]
13799fn bindgen_test_layout___pthread_cond_s() {
13800 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit();
13801 let ptr = UNINIT.as_ptr();
13802 assert_eq!(
13803 ::std::mem::size_of::<__pthread_cond_s>(),
13804 48usize,
13805 "Size of __pthread_cond_s"
13806 );
13807 assert_eq!(
13808 ::std::mem::align_of::<__pthread_cond_s>(),
13809 8usize,
13810 "Alignment of __pthread_cond_s"
13811 );
13812 assert_eq!(
13813 unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize },
13814 0usize,
13815 "Offset of field: __pthread_cond_s::__wseq"
13816 );
13817 assert_eq!(
13818 unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
13819 8usize,
13820 "Offset of field: __pthread_cond_s::__g1_start"
13821 );
13822 assert_eq!(
13823 unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
13824 16usize,
13825 "Offset of field: __pthread_cond_s::__g_refs"
13826 );
13827 assert_eq!(
13828 unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
13829 24usize,
13830 "Offset of field: __pthread_cond_s::__g_size"
13831 );
13832 assert_eq!(
13833 unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
13834 32usize,
13835 "Offset of field: __pthread_cond_s::__g1_orig_size"
13836 );
13837 assert_eq!(
13838 unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
13839 36usize,
13840 "Offset of field: __pthread_cond_s::__wrefs"
13841 );
13842 assert_eq!(
13843 unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
13844 40usize,
13845 "Offset of field: __pthread_cond_s::__g_signals"
13846 );
13847}
13848impl Default for __pthread_cond_s {
13849 fn default() -> Self {
13850 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13851 unsafe {
13852 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13853 s.assume_init()
13854 }
13855 }
13856}
13857pub type __tss_t = ::std::os::raw::c_uint;
13858pub type __thrd_t = ::std::os::raw::c_ulong;
13859#[repr(C)]
13860#[derive(Debug, Default, Copy, Clone)]
13861pub struct __once_flag {
13862 pub __data: ::std::os::raw::c_int,
13863}
13864#[test]
13865fn bindgen_test_layout___once_flag() {
13866 const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit();
13867 let ptr = UNINIT.as_ptr();
13868 assert_eq!(
13869 ::std::mem::size_of::<__once_flag>(),
13870 4usize,
13871 "Size of __once_flag"
13872 );
13873 assert_eq!(
13874 ::std::mem::align_of::<__once_flag>(),
13875 4usize,
13876 "Alignment of __once_flag"
13877 );
13878 assert_eq!(
13879 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
13880 0usize,
13881 "Offset of field: __once_flag::__data"
13882 );
13883}
13884pub type pthread_t = ::std::os::raw::c_ulong;
13885#[repr(C)]
13886#[derive(Copy, Clone)]
13887pub union pthread_mutexattr_t {
13888 pub __size: [::std::os::raw::c_char; 8usize],
13889 pub __align: ::std::os::raw::c_int,
13890}
13891#[test]
13892fn bindgen_test_layout_pthread_mutexattr_t() {
13893 const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
13894 let ptr = UNINIT.as_ptr();
13895 assert_eq!(
13896 ::std::mem::size_of::<pthread_mutexattr_t>(),
13897 8usize,
13898 "Size of pthread_mutexattr_t"
13899 );
13900 assert_eq!(
13901 ::std::mem::align_of::<pthread_mutexattr_t>(),
13902 4usize,
13903 "Alignment of pthread_mutexattr_t"
13904 );
13905 assert_eq!(
13906 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
13907 0usize,
13908 "Offset of field: pthread_mutexattr_t::__size"
13909 );
13910 assert_eq!(
13911 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
13912 0usize,
13913 "Offset of field: pthread_mutexattr_t::__align"
13914 );
13915}
13916impl Default for pthread_mutexattr_t {
13917 fn default() -> Self {
13918 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13919 unsafe {
13920 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13921 s.assume_init()
13922 }
13923 }
13924}
13925#[repr(C)]
13926#[derive(Copy, Clone)]
13927pub union pthread_condattr_t {
13928 pub __size: [::std::os::raw::c_char; 8usize],
13929 pub __align: ::std::os::raw::c_int,
13930}
13931#[test]
13932fn bindgen_test_layout_pthread_condattr_t() {
13933 const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
13934 let ptr = UNINIT.as_ptr();
13935 assert_eq!(
13936 ::std::mem::size_of::<pthread_condattr_t>(),
13937 8usize,
13938 "Size of pthread_condattr_t"
13939 );
13940 assert_eq!(
13941 ::std::mem::align_of::<pthread_condattr_t>(),
13942 4usize,
13943 "Alignment of pthread_condattr_t"
13944 );
13945 assert_eq!(
13946 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
13947 0usize,
13948 "Offset of field: pthread_condattr_t::__size"
13949 );
13950 assert_eq!(
13951 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
13952 0usize,
13953 "Offset of field: pthread_condattr_t::__align"
13954 );
13955}
13956impl Default for pthread_condattr_t {
13957 fn default() -> Self {
13958 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13959 unsafe {
13960 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13961 s.assume_init()
13962 }
13963 }
13964}
13965pub type pthread_key_t = ::std::os::raw::c_uint;
13966pub type pthread_once_t = ::std::os::raw::c_int;
13967#[repr(C)]
13968#[derive(Copy, Clone)]
13969pub union pthread_attr_t {
13970 pub __size: [::std::os::raw::c_char; 64usize],
13971 pub __align: ::std::os::raw::c_long,
13972}
13973#[test]
13974fn bindgen_test_layout_pthread_attr_t() {
13975 const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
13976 let ptr = UNINIT.as_ptr();
13977 assert_eq!(
13978 ::std::mem::size_of::<pthread_attr_t>(),
13979 64usize,
13980 "Size of pthread_attr_t"
13981 );
13982 assert_eq!(
13983 ::std::mem::align_of::<pthread_attr_t>(),
13984 8usize,
13985 "Alignment of pthread_attr_t"
13986 );
13987 assert_eq!(
13988 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
13989 0usize,
13990 "Offset of field: pthread_attr_t::__size"
13991 );
13992 assert_eq!(
13993 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
13994 0usize,
13995 "Offset of field: pthread_attr_t::__align"
13996 );
13997}
13998impl Default for pthread_attr_t {
13999 fn default() -> Self {
14000 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14001 unsafe {
14002 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14003 s.assume_init()
14004 }
14005 }
14006}
14007#[repr(C)]
14008#[derive(Copy, Clone)]
14009pub union pthread_mutex_t {
14010 pub __data: __pthread_mutex_s,
14011 pub __size: [::std::os::raw::c_char; 48usize],
14012 pub __align: ::std::os::raw::c_long,
14013}
14014#[test]
14015fn bindgen_test_layout_pthread_mutex_t() {
14016 const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
14017 let ptr = UNINIT.as_ptr();
14018 assert_eq!(
14019 ::std::mem::size_of::<pthread_mutex_t>(),
14020 48usize,
14021 "Size of pthread_mutex_t"
14022 );
14023 assert_eq!(
14024 ::std::mem::align_of::<pthread_mutex_t>(),
14025 8usize,
14026 "Alignment of pthread_mutex_t"
14027 );
14028 assert_eq!(
14029 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
14030 0usize,
14031 "Offset of field: pthread_mutex_t::__data"
14032 );
14033 assert_eq!(
14034 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
14035 0usize,
14036 "Offset of field: pthread_mutex_t::__size"
14037 );
14038 assert_eq!(
14039 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
14040 0usize,
14041 "Offset of field: pthread_mutex_t::__align"
14042 );
14043}
14044impl Default for pthread_mutex_t {
14045 fn default() -> Self {
14046 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14047 unsafe {
14048 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14049 s.assume_init()
14050 }
14051 }
14052}
14053#[repr(C)]
14054#[derive(Copy, Clone)]
14055pub union pthread_cond_t {
14056 pub __data: __pthread_cond_s,
14057 pub __size: [::std::os::raw::c_char; 48usize],
14058 pub __align: ::std::os::raw::c_longlong,
14059}
14060#[test]
14061fn bindgen_test_layout_pthread_cond_t() {
14062 const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
14063 let ptr = UNINIT.as_ptr();
14064 assert_eq!(
14065 ::std::mem::size_of::<pthread_cond_t>(),
14066 48usize,
14067 "Size of pthread_cond_t"
14068 );
14069 assert_eq!(
14070 ::std::mem::align_of::<pthread_cond_t>(),
14071 8usize,
14072 "Alignment of pthread_cond_t"
14073 );
14074 assert_eq!(
14075 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
14076 0usize,
14077 "Offset of field: pthread_cond_t::__data"
14078 );
14079 assert_eq!(
14080 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
14081 0usize,
14082 "Offset of field: pthread_cond_t::__size"
14083 );
14084 assert_eq!(
14085 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
14086 0usize,
14087 "Offset of field: pthread_cond_t::__align"
14088 );
14089}
14090impl Default for pthread_cond_t {
14091 fn default() -> Self {
14092 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14093 unsafe {
14094 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14095 s.assume_init()
14096 }
14097 }
14098}
14099#[repr(C)]
14100#[derive(Copy, Clone)]
14101pub union pthread_rwlock_t {
14102 pub __data: __pthread_rwlock_arch_t,
14103 pub __size: [::std::os::raw::c_char; 56usize],
14104 pub __align: ::std::os::raw::c_long,
14105}
14106#[test]
14107fn bindgen_test_layout_pthread_rwlock_t() {
14108 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
14109 let ptr = UNINIT.as_ptr();
14110 assert_eq!(
14111 ::std::mem::size_of::<pthread_rwlock_t>(),
14112 56usize,
14113 "Size of pthread_rwlock_t"
14114 );
14115 assert_eq!(
14116 ::std::mem::align_of::<pthread_rwlock_t>(),
14117 8usize,
14118 "Alignment of pthread_rwlock_t"
14119 );
14120 assert_eq!(
14121 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
14122 0usize,
14123 "Offset of field: pthread_rwlock_t::__data"
14124 );
14125 assert_eq!(
14126 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
14127 0usize,
14128 "Offset of field: pthread_rwlock_t::__size"
14129 );
14130 assert_eq!(
14131 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
14132 0usize,
14133 "Offset of field: pthread_rwlock_t::__align"
14134 );
14135}
14136impl Default for pthread_rwlock_t {
14137 fn default() -> Self {
14138 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14139 unsafe {
14140 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14141 s.assume_init()
14142 }
14143 }
14144}
14145#[repr(C)]
14146#[derive(Copy, Clone)]
14147pub union pthread_rwlockattr_t {
14148 pub __size: [::std::os::raw::c_char; 8usize],
14149 pub __align: ::std::os::raw::c_long,
14150}
14151#[test]
14152fn bindgen_test_layout_pthread_rwlockattr_t() {
14153 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
14154 let ptr = UNINIT.as_ptr();
14155 assert_eq!(
14156 ::std::mem::size_of::<pthread_rwlockattr_t>(),
14157 8usize,
14158 "Size of pthread_rwlockattr_t"
14159 );
14160 assert_eq!(
14161 ::std::mem::align_of::<pthread_rwlockattr_t>(),
14162 8usize,
14163 "Alignment of pthread_rwlockattr_t"
14164 );
14165 assert_eq!(
14166 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
14167 0usize,
14168 "Offset of field: pthread_rwlockattr_t::__size"
14169 );
14170 assert_eq!(
14171 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
14172 0usize,
14173 "Offset of field: pthread_rwlockattr_t::__align"
14174 );
14175}
14176impl Default for pthread_rwlockattr_t {
14177 fn default() -> Self {
14178 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14179 unsafe {
14180 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14181 s.assume_init()
14182 }
14183 }
14184}
14185pub type pthread_spinlock_t = ::std::os::raw::c_int;
14186#[repr(C)]
14187#[derive(Copy, Clone)]
14188pub union pthread_barrier_t {
14189 pub __size: [::std::os::raw::c_char; 32usize],
14190 pub __align: ::std::os::raw::c_long,
14191}
14192#[test]
14193fn bindgen_test_layout_pthread_barrier_t() {
14194 const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
14195 let ptr = UNINIT.as_ptr();
14196 assert_eq!(
14197 ::std::mem::size_of::<pthread_barrier_t>(),
14198 32usize,
14199 "Size of pthread_barrier_t"
14200 );
14201 assert_eq!(
14202 ::std::mem::align_of::<pthread_barrier_t>(),
14203 8usize,
14204 "Alignment of pthread_barrier_t"
14205 );
14206 assert_eq!(
14207 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
14208 0usize,
14209 "Offset of field: pthread_barrier_t::__size"
14210 );
14211 assert_eq!(
14212 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
14213 0usize,
14214 "Offset of field: pthread_barrier_t::__align"
14215 );
14216}
14217impl Default for pthread_barrier_t {
14218 fn default() -> Self {
14219 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14220 unsafe {
14221 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14222 s.assume_init()
14223 }
14224 }
14225}
14226#[repr(C)]
14227#[derive(Copy, Clone)]
14228pub union pthread_barrierattr_t {
14229 pub __size: [::std::os::raw::c_char; 8usize],
14230 pub __align: ::std::os::raw::c_int,
14231}
14232#[test]
14233fn bindgen_test_layout_pthread_barrierattr_t() {
14234 const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
14235 ::std::mem::MaybeUninit::uninit();
14236 let ptr = UNINIT.as_ptr();
14237 assert_eq!(
14238 ::std::mem::size_of::<pthread_barrierattr_t>(),
14239 8usize,
14240 "Size of pthread_barrierattr_t"
14241 );
14242 assert_eq!(
14243 ::std::mem::align_of::<pthread_barrierattr_t>(),
14244 4usize,
14245 "Alignment of pthread_barrierattr_t"
14246 );
14247 assert_eq!(
14248 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
14249 0usize,
14250 "Offset of field: pthread_barrierattr_t::__size"
14251 );
14252 assert_eq!(
14253 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
14254 0usize,
14255 "Offset of field: pthread_barrierattr_t::__align"
14256 );
14257}
14258impl Default for pthread_barrierattr_t {
14259 fn default() -> Self {
14260 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14261 unsafe {
14262 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14263 s.assume_init()
14264 }
14265 }
14266}
14267extern "C" {
14268 pub fn random() -> ::std::os::raw::c_long;
14269}
14270extern "C" {
14271 pub fn srandom(__seed: ::std::os::raw::c_uint);
14272}
14273extern "C" {
14274 pub fn initstate(
14275 __seed: ::std::os::raw::c_uint,
14276 __statebuf: *mut ::std::os::raw::c_char,
14277 __statelen: size_t,
14278 ) -> *mut ::std::os::raw::c_char;
14279}
14280extern "C" {
14281 pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
14282}
14283#[repr(C)]
14284#[derive(Debug, Copy, Clone)]
14285pub struct random_data {
14286 pub fptr: *mut i32,
14287 pub rptr: *mut i32,
14288 pub state: *mut i32,
14289 pub rand_type: ::std::os::raw::c_int,
14290 pub rand_deg: ::std::os::raw::c_int,
14291 pub rand_sep: ::std::os::raw::c_int,
14292 pub end_ptr: *mut i32,
14293}
14294#[test]
14295fn bindgen_test_layout_random_data() {
14296 const UNINIT: ::std::mem::MaybeUninit<random_data> = ::std::mem::MaybeUninit::uninit();
14297 let ptr = UNINIT.as_ptr();
14298 assert_eq!(
14299 ::std::mem::size_of::<random_data>(),
14300 48usize,
14301 "Size of random_data"
14302 );
14303 assert_eq!(
14304 ::std::mem::align_of::<random_data>(),
14305 8usize,
14306 "Alignment of random_data"
14307 );
14308 assert_eq!(
14309 unsafe { ::std::ptr::addr_of!((*ptr).fptr) as usize - ptr as usize },
14310 0usize,
14311 "Offset of field: random_data::fptr"
14312 );
14313 assert_eq!(
14314 unsafe { ::std::ptr::addr_of!((*ptr).rptr) as usize - ptr as usize },
14315 8usize,
14316 "Offset of field: random_data::rptr"
14317 );
14318 assert_eq!(
14319 unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
14320 16usize,
14321 "Offset of field: random_data::state"
14322 );
14323 assert_eq!(
14324 unsafe { ::std::ptr::addr_of!((*ptr).rand_type) as usize - ptr as usize },
14325 24usize,
14326 "Offset of field: random_data::rand_type"
14327 );
14328 assert_eq!(
14329 unsafe { ::std::ptr::addr_of!((*ptr).rand_deg) as usize - ptr as usize },
14330 28usize,
14331 "Offset of field: random_data::rand_deg"
14332 );
14333 assert_eq!(
14334 unsafe { ::std::ptr::addr_of!((*ptr).rand_sep) as usize - ptr as usize },
14335 32usize,
14336 "Offset of field: random_data::rand_sep"
14337 );
14338 assert_eq!(
14339 unsafe { ::std::ptr::addr_of!((*ptr).end_ptr) as usize - ptr as usize },
14340 40usize,
14341 "Offset of field: random_data::end_ptr"
14342 );
14343}
14344impl Default for random_data {
14345 fn default() -> Self {
14346 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14347 unsafe {
14348 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14349 s.assume_init()
14350 }
14351 }
14352}
14353extern "C" {
14354 pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
14355}
14356extern "C" {
14357 pub fn srandom_r(
14358 __seed: ::std::os::raw::c_uint,
14359 __buf: *mut random_data,
14360 ) -> ::std::os::raw::c_int;
14361}
14362extern "C" {
14363 pub fn initstate_r(
14364 __seed: ::std::os::raw::c_uint,
14365 __statebuf: *mut ::std::os::raw::c_char,
14366 __statelen: size_t,
14367 __buf: *mut random_data,
14368 ) -> ::std::os::raw::c_int;
14369}
14370extern "C" {
14371 pub fn setstate_r(
14372 __statebuf: *mut ::std::os::raw::c_char,
14373 __buf: *mut random_data,
14374 ) -> ::std::os::raw::c_int;
14375}
14376extern "C" {
14377 pub fn rand() -> ::std::os::raw::c_int;
14378}
14379extern "C" {
14380 pub fn srand(__seed: ::std::os::raw::c_uint);
14381}
14382extern "C" {
14383 pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
14384}
14385extern "C" {
14386 pub fn drand48() -> f64;
14387}
14388extern "C" {
14389 pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
14390}
14391extern "C" {
14392 pub fn lrand48() -> ::std::os::raw::c_long;
14393}
14394extern "C" {
14395 pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
14396}
14397extern "C" {
14398 pub fn mrand48() -> ::std::os::raw::c_long;
14399}
14400extern "C" {
14401 pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
14402}
14403extern "C" {
14404 pub fn srand48(__seedval: ::std::os::raw::c_long);
14405}
14406extern "C" {
14407 pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
14408}
14409extern "C" {
14410 pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
14411}
14412#[repr(C)]
14413#[derive(Debug, Default, Copy, Clone)]
14414pub struct drand48_data {
14415 pub __x: [::std::os::raw::c_ushort; 3usize],
14416 pub __old_x: [::std::os::raw::c_ushort; 3usize],
14417 pub __c: ::std::os::raw::c_ushort,
14418 pub __init: ::std::os::raw::c_ushort,
14419 pub __a: ::std::os::raw::c_ulonglong,
14420}
14421#[test]
14422fn bindgen_test_layout_drand48_data() {
14423 const UNINIT: ::std::mem::MaybeUninit<drand48_data> = ::std::mem::MaybeUninit::uninit();
14424 let ptr = UNINIT.as_ptr();
14425 assert_eq!(
14426 ::std::mem::size_of::<drand48_data>(),
14427 24usize,
14428 "Size of drand48_data"
14429 );
14430 assert_eq!(
14431 ::std::mem::align_of::<drand48_data>(),
14432 8usize,
14433 "Alignment of drand48_data"
14434 );
14435 assert_eq!(
14436 unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize },
14437 0usize,
14438 "Offset of field: drand48_data::__x"
14439 );
14440 assert_eq!(
14441 unsafe { ::std::ptr::addr_of!((*ptr).__old_x) as usize - ptr as usize },
14442 6usize,
14443 "Offset of field: drand48_data::__old_x"
14444 );
14445 assert_eq!(
14446 unsafe { ::std::ptr::addr_of!((*ptr).__c) as usize - ptr as usize },
14447 12usize,
14448 "Offset of field: drand48_data::__c"
14449 );
14450 assert_eq!(
14451 unsafe { ::std::ptr::addr_of!((*ptr).__init) as usize - ptr as usize },
14452 14usize,
14453 "Offset of field: drand48_data::__init"
14454 );
14455 assert_eq!(
14456 unsafe { ::std::ptr::addr_of!((*ptr).__a) as usize - ptr as usize },
14457 16usize,
14458 "Offset of field: drand48_data::__a"
14459 );
14460}
14461extern "C" {
14462 pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
14463}
14464extern "C" {
14465 pub fn erand48_r(
14466 __xsubi: *mut ::std::os::raw::c_ushort,
14467 __buffer: *mut drand48_data,
14468 __result: *mut f64,
14469 ) -> ::std::os::raw::c_int;
14470}
14471extern "C" {
14472 pub fn lrand48_r(
14473 __buffer: *mut drand48_data,
14474 __result: *mut ::std::os::raw::c_long,
14475 ) -> ::std::os::raw::c_int;
14476}
14477extern "C" {
14478 pub fn nrand48_r(
14479 __xsubi: *mut ::std::os::raw::c_ushort,
14480 __buffer: *mut drand48_data,
14481 __result: *mut ::std::os::raw::c_long,
14482 ) -> ::std::os::raw::c_int;
14483}
14484extern "C" {
14485 pub fn mrand48_r(
14486 __buffer: *mut drand48_data,
14487 __result: *mut ::std::os::raw::c_long,
14488 ) -> ::std::os::raw::c_int;
14489}
14490extern "C" {
14491 pub fn jrand48_r(
14492 __xsubi: *mut ::std::os::raw::c_ushort,
14493 __buffer: *mut drand48_data,
14494 __result: *mut ::std::os::raw::c_long,
14495 ) -> ::std::os::raw::c_int;
14496}
14497extern "C" {
14498 pub fn srand48_r(
14499 __seedval: ::std::os::raw::c_long,
14500 __buffer: *mut drand48_data,
14501 ) -> ::std::os::raw::c_int;
14502}
14503extern "C" {
14504 pub fn seed48_r(
14505 __seed16v: *mut ::std::os::raw::c_ushort,
14506 __buffer: *mut drand48_data,
14507 ) -> ::std::os::raw::c_int;
14508}
14509extern "C" {
14510 pub fn lcong48_r(
14511 __param: *mut ::std::os::raw::c_ushort,
14512 __buffer: *mut drand48_data,
14513 ) -> ::std::os::raw::c_int;
14514}
14515extern "C" {
14516 pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
14517}
14518extern "C" {
14519 pub fn calloc(
14520 __nmemb: ::std::os::raw::c_ulong,
14521 __size: ::std::os::raw::c_ulong,
14522 ) -> *mut ::std::os::raw::c_void;
14523}
14524extern "C" {
14525 pub fn realloc(
14526 __ptr: *mut ::std::os::raw::c_void,
14527 __size: ::std::os::raw::c_ulong,
14528 ) -> *mut ::std::os::raw::c_void;
14529}
14530extern "C" {
14531 pub fn free(__ptr: *mut ::std::os::raw::c_void);
14532}
14533extern "C" {
14534 pub fn reallocarray(
14535 __ptr: *mut ::std::os::raw::c_void,
14536 __nmemb: size_t,
14537 __size: size_t,
14538 ) -> *mut ::std::os::raw::c_void;
14539}
14540extern "C" {
14541 pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
14542}
14543extern "C" {
14544 pub fn valloc(__size: size_t) -> *mut ::std::os::raw::c_void;
14545}
14546extern "C" {
14547 pub fn posix_memalign(
14548 __memptr: *mut *mut ::std::os::raw::c_void,
14549 __alignment: size_t,
14550 __size: size_t,
14551 ) -> ::std::os::raw::c_int;
14552}
14553extern "C" {
14554 pub fn aligned_alloc(
14555 __alignment: ::std::os::raw::c_ulong,
14556 __size: ::std::os::raw::c_ulong,
14557 ) -> *mut ::std::os::raw::c_void;
14558}
14559extern "C" {
14560 pub fn abort() -> !;
14561}
14562extern "C" {
14563 pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
14564}
14565extern "C" {
14566 pub fn at_quick_exit(
14567 __func: ::std::option::Option<unsafe extern "C" fn()>,
14568 ) -> ::std::os::raw::c_int;
14569}
14570extern "C" {
14571 pub fn on_exit(
14572 __func: ::std::option::Option<
14573 unsafe extern "C" fn(
14574 __status: ::std::os::raw::c_int,
14575 __arg: *mut ::std::os::raw::c_void,
14576 ),
14577 >,
14578 __arg: *mut ::std::os::raw::c_void,
14579 ) -> ::std::os::raw::c_int;
14580}
14581extern "C" {
14582 pub fn exit(__status: ::std::os::raw::c_int) -> !;
14583}
14584extern "C" {
14585 pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
14586}
14587extern "C" {
14588 pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
14589}
14590extern "C" {
14591 pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
14592}
14593extern "C" {
14594 pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14595}
14596extern "C" {
14597 pub fn setenv(
14598 __name: *const ::std::os::raw::c_char,
14599 __value: *const ::std::os::raw::c_char,
14600 __replace: ::std::os::raw::c_int,
14601 ) -> ::std::os::raw::c_int;
14602}
14603extern "C" {
14604 pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14605}
14606extern "C" {
14607 pub fn clearenv() -> ::std::os::raw::c_int;
14608}
14609extern "C" {
14610 pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
14611}
14612extern "C" {
14613 pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14614}
14615extern "C" {
14616 pub fn mkstemps(
14617 __template: *mut ::std::os::raw::c_char,
14618 __suffixlen: ::std::os::raw::c_int,
14619 ) -> ::std::os::raw::c_int;
14620}
14621extern "C" {
14622 pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
14623}
14624extern "C" {
14625 pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14626}
14627extern "C" {
14628 pub fn realpath(
14629 __name: *const ::std::os::raw::c_char,
14630 __resolved: *mut ::std::os::raw::c_char,
14631 ) -> *mut ::std::os::raw::c_char;
14632}
14633pub type __compar_fn_t = ::std::option::Option<
14634 unsafe extern "C" fn(
14635 arg1: *const ::std::os::raw::c_void,
14636 arg2: *const ::std::os::raw::c_void,
14637 ) -> ::std::os::raw::c_int,
14638>;
14639extern "C" {
14640 pub fn bsearch(
14641 __key: *const ::std::os::raw::c_void,
14642 __base: *const ::std::os::raw::c_void,
14643 __nmemb: size_t,
14644 __size: size_t,
14645 __compar: __compar_fn_t,
14646 ) -> *mut ::std::os::raw::c_void;
14647}
14648extern "C" {
14649 pub fn qsort(
14650 __base: *mut ::std::os::raw::c_void,
14651 __nmemb: size_t,
14652 __size: size_t,
14653 __compar: __compar_fn_t,
14654 );
14655}
14656extern "C" {
14657 pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14658}
14659extern "C" {
14660 pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
14661}
14662extern "C" {
14663 pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
14664}
14665extern "C" {
14666 pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
14667}
14668extern "C" {
14669 pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
14670}
14671extern "C" {
14672 pub fn lldiv(
14673 __numer: ::std::os::raw::c_longlong,
14674 __denom: ::std::os::raw::c_longlong,
14675 ) -> lldiv_t;
14676}
14677extern "C" {
14678 pub fn ecvt(
14679 __value: f64,
14680 __ndigit: ::std::os::raw::c_int,
14681 __decpt: *mut ::std::os::raw::c_int,
14682 __sign: *mut ::std::os::raw::c_int,
14683 ) -> *mut ::std::os::raw::c_char;
14684}
14685extern "C" {
14686 pub fn fcvt(
14687 __value: f64,
14688 __ndigit: ::std::os::raw::c_int,
14689 __decpt: *mut ::std::os::raw::c_int,
14690 __sign: *mut ::std::os::raw::c_int,
14691 ) -> *mut ::std::os::raw::c_char;
14692}
14693extern "C" {
14694 pub fn gcvt(
14695 __value: f64,
14696 __ndigit: ::std::os::raw::c_int,
14697 __buf: *mut ::std::os::raw::c_char,
14698 ) -> *mut ::std::os::raw::c_char;
14699}
14700extern "C" {
14701 pub fn qecvt(
14702 __value: u128,
14703 __ndigit: ::std::os::raw::c_int,
14704 __decpt: *mut ::std::os::raw::c_int,
14705 __sign: *mut ::std::os::raw::c_int,
14706 ) -> *mut ::std::os::raw::c_char;
14707}
14708extern "C" {
14709 pub fn qfcvt(
14710 __value: u128,
14711 __ndigit: ::std::os::raw::c_int,
14712 __decpt: *mut ::std::os::raw::c_int,
14713 __sign: *mut ::std::os::raw::c_int,
14714 ) -> *mut ::std::os::raw::c_char;
14715}
14716extern "C" {
14717 pub fn qgcvt(
14718 __value: u128,
14719 __ndigit: ::std::os::raw::c_int,
14720 __buf: *mut ::std::os::raw::c_char,
14721 ) -> *mut ::std::os::raw::c_char;
14722}
14723extern "C" {
14724 pub fn ecvt_r(
14725 __value: f64,
14726 __ndigit: ::std::os::raw::c_int,
14727 __decpt: *mut ::std::os::raw::c_int,
14728 __sign: *mut ::std::os::raw::c_int,
14729 __buf: *mut ::std::os::raw::c_char,
14730 __len: size_t,
14731 ) -> ::std::os::raw::c_int;
14732}
14733extern "C" {
14734 pub fn fcvt_r(
14735 __value: f64,
14736 __ndigit: ::std::os::raw::c_int,
14737 __decpt: *mut ::std::os::raw::c_int,
14738 __sign: *mut ::std::os::raw::c_int,
14739 __buf: *mut ::std::os::raw::c_char,
14740 __len: size_t,
14741 ) -> ::std::os::raw::c_int;
14742}
14743extern "C" {
14744 pub fn qecvt_r(
14745 __value: u128,
14746 __ndigit: ::std::os::raw::c_int,
14747 __decpt: *mut ::std::os::raw::c_int,
14748 __sign: *mut ::std::os::raw::c_int,
14749 __buf: *mut ::std::os::raw::c_char,
14750 __len: size_t,
14751 ) -> ::std::os::raw::c_int;
14752}
14753extern "C" {
14754 pub fn qfcvt_r(
14755 __value: u128,
14756 __ndigit: ::std::os::raw::c_int,
14757 __decpt: *mut ::std::os::raw::c_int,
14758 __sign: *mut ::std::os::raw::c_int,
14759 __buf: *mut ::std::os::raw::c_char,
14760 __len: size_t,
14761 ) -> ::std::os::raw::c_int;
14762}
14763extern "C" {
14764 pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int;
14765}
14766extern "C" {
14767 pub fn mbtowc(
14768 __pwc: *mut wchar_t,
14769 __s: *const ::std::os::raw::c_char,
14770 __n: size_t,
14771 ) -> ::std::os::raw::c_int;
14772}
14773extern "C" {
14774 pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
14775}
14776extern "C" {
14777 pub fn mbstowcs(
14778 __pwcs: *mut wchar_t,
14779 __s: *const ::std::os::raw::c_char,
14780 __n: size_t,
14781 ) -> size_t;
14782}
14783extern "C" {
14784 pub fn wcstombs(
14785 __s: *mut ::std::os::raw::c_char,
14786 __pwcs: *const wchar_t,
14787 __n: size_t,
14788 ) -> size_t;
14789}
14790extern "C" {
14791 pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14792}
14793extern "C" {
14794 pub fn getsubopt(
14795 __optionp: *mut *mut ::std::os::raw::c_char,
14796 __tokens: *const *mut ::std::os::raw::c_char,
14797 __valuep: *mut *mut ::std::os::raw::c_char,
14798 ) -> ::std::os::raw::c_int;
14799}
14800extern "C" {
14801 pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
14802 -> ::std::os::raw::c_int;
14803}
14804extern "C" {
14805 pub fn Tss2_TctiLdr_Finalize(context: *mut *mut TSS2_TCTI_CONTEXT);
14806}
14807extern "C" {
14808 pub fn Tss2_TctiLdr_Initialize_Ex(
14809 name: *const ::std::os::raw::c_char,
14810 conf: *const ::std::os::raw::c_char,
14811 context: *mut *mut TSS2_TCTI_CONTEXT,
14812 ) -> TSS2_RC;
14813}
14814extern "C" {
14815 pub fn Tss2_TctiLdr_Initialize(
14816 nameConf: *const ::std::os::raw::c_char,
14817 context: *mut *mut TSS2_TCTI_CONTEXT,
14818 ) -> TSS2_RC;
14819}
14820extern "C" {
14821 pub fn Tss2_TctiLdr_GetInfo(
14822 name: *const ::std::os::raw::c_char,
14823 info: *mut *mut TSS2_TCTI_INFO,
14824 ) -> TSS2_RC;
14825}
14826extern "C" {
14827 pub fn Tss2_TctiLdr_FreeInfo(info: *mut *mut TSS2_TCTI_INFO);
14828}
14829extern "C" {
14830 pub fn Tss2_Tcti_TctiLdr_Init(
14831 tctiContext: *mut TSS2_TCTI_CONTEXT,
14832 size: *mut size_t,
14833 nameConf: *const ::std::os::raw::c_char,
14834 ) -> TSS2_RC;
14835}
14836extern "C" {
14837 pub fn Tss2_MU_INT8_Marshal(
14838 src: INT8,
14839 buffer: *mut u8,
14840 buffer_size: size_t,
14841 offset: *mut size_t,
14842 ) -> TSS2_RC;
14843}
14844extern "C" {
14845 pub fn Tss2_MU_INT8_Unmarshal(
14846 buffer: *const u8,
14847 buffer_size: size_t,
14848 offset: *mut size_t,
14849 dest: *mut INT8,
14850 ) -> TSS2_RC;
14851}
14852extern "C" {
14853 pub fn Tss2_MU_INT16_Marshal(
14854 src: INT16,
14855 buffer: *mut u8,
14856 buffer_size: size_t,
14857 offset: *mut size_t,
14858 ) -> TSS2_RC;
14859}
14860extern "C" {
14861 pub fn Tss2_MU_INT16_Unmarshal(
14862 buffer: *const u8,
14863 buffer_size: size_t,
14864 offset: *mut size_t,
14865 dest: *mut INT16,
14866 ) -> TSS2_RC;
14867}
14868extern "C" {
14869 pub fn Tss2_MU_INT32_Marshal(
14870 src: INT32,
14871 buffer: *mut u8,
14872 buffer_size: size_t,
14873 offset: *mut size_t,
14874 ) -> TSS2_RC;
14875}
14876extern "C" {
14877 pub fn Tss2_MU_INT32_Unmarshal(
14878 buffer: *const u8,
14879 buffer_size: size_t,
14880 offset: *mut size_t,
14881 dest: *mut INT32,
14882 ) -> TSS2_RC;
14883}
14884extern "C" {
14885 pub fn Tss2_MU_INT64_Marshal(
14886 src: INT64,
14887 buffer: *mut u8,
14888 buffer_size: size_t,
14889 offset: *mut size_t,
14890 ) -> TSS2_RC;
14891}
14892extern "C" {
14893 pub fn Tss2_MU_INT64_Unmarshal(
14894 buffer: *const u8,
14895 buffer_size: size_t,
14896 offset: *mut size_t,
14897 dest: *mut INT64,
14898 ) -> TSS2_RC;
14899}
14900extern "C" {
14901 pub fn Tss2_MU_UINT8_Marshal(
14902 src: UINT8,
14903 buffer: *mut u8,
14904 buffer_size: size_t,
14905 offset: *mut size_t,
14906 ) -> TSS2_RC;
14907}
14908extern "C" {
14909 pub fn Tss2_MU_UINT8_Unmarshal(
14910 buffer: *const u8,
14911 buffer_size: size_t,
14912 offset: *mut size_t,
14913 dest: *mut UINT8,
14914 ) -> TSS2_RC;
14915}
14916extern "C" {
14917 pub fn Tss2_MU_UINT16_Marshal(
14918 src: UINT16,
14919 buffer: *mut u8,
14920 buffer_size: size_t,
14921 offset: *mut size_t,
14922 ) -> TSS2_RC;
14923}
14924extern "C" {
14925 pub fn Tss2_MU_UINT16_Unmarshal(
14926 buffer: *const u8,
14927 buffer_size: size_t,
14928 offset: *mut size_t,
14929 dest: *mut UINT16,
14930 ) -> TSS2_RC;
14931}
14932extern "C" {
14933 pub fn Tss2_MU_UINT32_Marshal(
14934 src: UINT32,
14935 buffer: *mut u8,
14936 buffer_size: size_t,
14937 offset: *mut size_t,
14938 ) -> TSS2_RC;
14939}
14940extern "C" {
14941 pub fn Tss2_MU_UINT32_Unmarshal(
14942 buffer: *const u8,
14943 buffer_size: size_t,
14944 offset: *mut size_t,
14945 dest: *mut UINT32,
14946 ) -> TSS2_RC;
14947}
14948extern "C" {
14949 pub fn Tss2_MU_UINT64_Marshal(
14950 src: UINT64,
14951 buffer: *mut u8,
14952 buffer_size: size_t,
14953 offset: *mut size_t,
14954 ) -> TSS2_RC;
14955}
14956extern "C" {
14957 pub fn Tss2_MU_UINT64_Unmarshal(
14958 buffer: *const u8,
14959 buffer_size: size_t,
14960 offset: *mut size_t,
14961 dest: *mut UINT64,
14962 ) -> TSS2_RC;
14963}
14964extern "C" {
14965 pub fn Tss2_MU_TPM2_CC_Marshal(
14966 src: TPM2_CC,
14967 buffer: *mut u8,
14968 buffer_size: size_t,
14969 offset: *mut size_t,
14970 ) -> TSS2_RC;
14971}
14972extern "C" {
14973 pub fn Tss2_MU_TPM2_CC_Unmarshal(
14974 buffer: *const u8,
14975 buffer_size: size_t,
14976 offset: *mut size_t,
14977 dest: *mut TPM2_CC,
14978 ) -> TSS2_RC;
14979}
14980extern "C" {
14981 pub fn Tss2_MU_TPM2_ST_Marshal(
14982 src: TPM2_ST,
14983 buffer: *mut u8,
14984 buffer_size: size_t,
14985 offset: *mut size_t,
14986 ) -> TSS2_RC;
14987}
14988extern "C" {
14989 pub fn Tss2_MU_TPM2_ST_Unmarshal(
14990 buffer: *const u8,
14991 buffer_size: size_t,
14992 offset: *mut size_t,
14993 dest: *mut TPM2_ST,
14994 ) -> TSS2_RC;
14995}
14996extern "C" {
14997 pub fn Tss2_MU_TPMA_ALGORITHM_Marshal(
14998 src: TPMA_ALGORITHM,
14999 buffer: *mut u8,
15000 buffer_size: size_t,
15001 offset: *mut size_t,
15002 ) -> TSS2_RC;
15003}
15004extern "C" {
15005 pub fn Tss2_MU_TPMA_ALGORITHM_Unmarshal(
15006 buffer: *const u8,
15007 buffer_size: size_t,
15008 offset: *mut size_t,
15009 dest: *mut TPMA_ALGORITHM,
15010 ) -> TSS2_RC;
15011}
15012extern "C" {
15013 pub fn Tss2_MU_TPMA_CC_Marshal(
15014 src: TPMA_CC,
15015 buffer: *mut u8,
15016 buffer_size: size_t,
15017 offset: *mut size_t,
15018 ) -> TSS2_RC;
15019}
15020extern "C" {
15021 pub fn Tss2_MU_TPMA_CC_Unmarshal(
15022 buffer: *const u8,
15023 buffer_size: size_t,
15024 offset: *mut size_t,
15025 dest: *mut TPMA_CC,
15026 ) -> TSS2_RC;
15027}
15028extern "C" {
15029 pub fn Tss2_MU_TPMA_LOCALITY_Marshal(
15030 src: TPMA_LOCALITY,
15031 buffer: *mut u8,
15032 buffer_size: size_t,
15033 offset: *mut size_t,
15034 ) -> TSS2_RC;
15035}
15036extern "C" {
15037 pub fn Tss2_MU_TPMA_LOCALITY_Unmarshal(
15038 buffer: *const u8,
15039 buffer_size: size_t,
15040 offset: *mut size_t,
15041 dest: *mut TPMA_LOCALITY,
15042 ) -> TSS2_RC;
15043}
15044extern "C" {
15045 pub fn Tss2_MU_TPMA_NV_Marshal(
15046 src: TPMA_NV,
15047 buffer: *mut u8,
15048 buffer_size: size_t,
15049 offset: *mut size_t,
15050 ) -> TSS2_RC;
15051}
15052extern "C" {
15053 pub fn Tss2_MU_TPMA_NV_Unmarshal(
15054 buffer: *const u8,
15055 buffer_size: size_t,
15056 offset: *mut size_t,
15057 dest: *mut TPMA_NV,
15058 ) -> TSS2_RC;
15059}
15060extern "C" {
15061 pub fn Tss2_MU_TPMA_OBJECT_Marshal(
15062 src: TPMA_OBJECT,
15063 buffer: *mut u8,
15064 buffer_size: size_t,
15065 offset: *mut size_t,
15066 ) -> TSS2_RC;
15067}
15068extern "C" {
15069 pub fn Tss2_MU_TPMA_OBJECT_Unmarshal(
15070 buffer: *const u8,
15071 buffer_size: size_t,
15072 offset: *mut size_t,
15073 dest: *mut TPMA_OBJECT,
15074 ) -> TSS2_RC;
15075}
15076extern "C" {
15077 pub fn Tss2_MU_TPMA_PERMANENT_Marshal(
15078 src: TPMA_PERMANENT,
15079 buffer: *mut u8,
15080 buffer_size: size_t,
15081 offset: *mut size_t,
15082 ) -> TSS2_RC;
15083}
15084extern "C" {
15085 pub fn Tss2_MU_TPMA_PERMANENT_Unmarshal(
15086 buffer: *const u8,
15087 buffer_size: size_t,
15088 offset: *mut size_t,
15089 dest: *mut TPMA_PERMANENT,
15090 ) -> TSS2_RC;
15091}
15092extern "C" {
15093 pub fn Tss2_MU_TPMA_SESSION_Marshal(
15094 src: TPMA_SESSION,
15095 buffer: *mut u8,
15096 buffer_size: size_t,
15097 offset: *mut size_t,
15098 ) -> TSS2_RC;
15099}
15100extern "C" {
15101 pub fn Tss2_MU_TPMA_SESSION_Unmarshal(
15102 buffer: *const u8,
15103 buffer_size: size_t,
15104 offset: *mut size_t,
15105 dest: *mut TPMA_SESSION,
15106 ) -> TSS2_RC;
15107}
15108extern "C" {
15109 pub fn Tss2_MU_TPMA_STARTUP_CLEAR_Marshal(
15110 src: TPMA_STARTUP_CLEAR,
15111 buffer: *mut u8,
15112 buffer_size: size_t,
15113 offset: *mut size_t,
15114 ) -> TSS2_RC;
15115}
15116extern "C" {
15117 pub fn Tss2_MU_TPMA_STARTUP_CLEAR_Unmarshal(
15118 buffer: *const u8,
15119 buffer_size: size_t,
15120 offset: *mut size_t,
15121 dest: *mut TPMA_STARTUP_CLEAR,
15122 ) -> TSS2_RC;
15123}
15124extern "C" {
15125 pub fn Tss2_MU_TPM2B_DIGEST_Marshal(
15126 src: *const TPM2B_DIGEST,
15127 buffer: *mut u8,
15128 buffer_size: size_t,
15129 offset: *mut size_t,
15130 ) -> TSS2_RC;
15131}
15132extern "C" {
15133 pub fn Tss2_MU_TPM2B_DIGEST_Unmarshal(
15134 buffer: *const u8,
15135 buffer_size: size_t,
15136 offset: *mut size_t,
15137 dest: *mut TPM2B_DIGEST,
15138 ) -> TSS2_RC;
15139}
15140extern "C" {
15141 pub fn Tss2_MU_TPM2B_ATTEST_Marshal(
15142 src: *const TPM2B_ATTEST,
15143 buffer: *mut u8,
15144 buffer_size: size_t,
15145 offset: *mut size_t,
15146 ) -> TSS2_RC;
15147}
15148extern "C" {
15149 pub fn Tss2_MU_TPM2B_ATTEST_Unmarshal(
15150 buffer: *const u8,
15151 buffer_size: size_t,
15152 offset: *mut size_t,
15153 dest: *mut TPM2B_ATTEST,
15154 ) -> TSS2_RC;
15155}
15156extern "C" {
15157 pub fn Tss2_MU_TPM2B_NAME_Marshal(
15158 src: *const TPM2B_NAME,
15159 buffer: *mut u8,
15160 buffer_size: size_t,
15161 offset: *mut size_t,
15162 ) -> TSS2_RC;
15163}
15164extern "C" {
15165 pub fn Tss2_MU_TPM2B_NAME_Unmarshal(
15166 buffer: *const u8,
15167 buffer_size: size_t,
15168 offset: *mut size_t,
15169 dest: *mut TPM2B_NAME,
15170 ) -> TSS2_RC;
15171}
15172extern "C" {
15173 pub fn Tss2_MU_TPM2B_MAX_NV_BUFFER_Marshal(
15174 src: *const TPM2B_MAX_NV_BUFFER,
15175 buffer: *mut u8,
15176 buffer_size: size_t,
15177 offset: *mut size_t,
15178 ) -> TSS2_RC;
15179}
15180extern "C" {
15181 pub fn Tss2_MU_TPM2B_MAX_NV_BUFFER_Unmarshal(
15182 buffer: *const u8,
15183 buffer_size: size_t,
15184 offset: *mut size_t,
15185 dest: *mut TPM2B_MAX_NV_BUFFER,
15186 ) -> TSS2_RC;
15187}
15188extern "C" {
15189 pub fn Tss2_MU_TPM2B_SENSITIVE_DATA_Marshal(
15190 src: *const TPM2B_SENSITIVE_DATA,
15191 buffer: *mut u8,
15192 buffer_size: size_t,
15193 offset: *mut size_t,
15194 ) -> TSS2_RC;
15195}
15196extern "C" {
15197 pub fn Tss2_MU_TPM2B_SENSITIVE_DATA_Unmarshal(
15198 buffer: *const u8,
15199 buffer_size: size_t,
15200 offset: *mut size_t,
15201 dest: *mut TPM2B_SENSITIVE_DATA,
15202 ) -> TSS2_RC;
15203}
15204extern "C" {
15205 pub fn Tss2_MU_TPM2B_ECC_PARAMETER_Marshal(
15206 src: *const TPM2B_ECC_PARAMETER,
15207 buffer: *mut u8,
15208 buffer_size: size_t,
15209 offset: *mut size_t,
15210 ) -> TSS2_RC;
15211}
15212extern "C" {
15213 pub fn Tss2_MU_TPM2B_ECC_PARAMETER_Unmarshal(
15214 buffer: *const u8,
15215 buffer_size: size_t,
15216 offset: *mut size_t,
15217 dest: *mut TPM2B_ECC_PARAMETER,
15218 ) -> TSS2_RC;
15219}
15220extern "C" {
15221 pub fn Tss2_MU_TPM2B_PUBLIC_KEY_RSA_Marshal(
15222 src: *const TPM2B_PUBLIC_KEY_RSA,
15223 buffer: *mut u8,
15224 buffer_size: size_t,
15225 offset: *mut size_t,
15226 ) -> TSS2_RC;
15227}
15228extern "C" {
15229 pub fn Tss2_MU_TPM2B_PUBLIC_KEY_RSA_Unmarshal(
15230 buffer: *const u8,
15231 buffer_size: size_t,
15232 offset: *mut size_t,
15233 dest: *mut TPM2B_PUBLIC_KEY_RSA,
15234 ) -> TSS2_RC;
15235}
15236extern "C" {
15237 pub fn Tss2_MU_TPM2B_PRIVATE_KEY_RSA_Marshal(
15238 src: *const TPM2B_PRIVATE_KEY_RSA,
15239 buffer: *mut u8,
15240 buffer_size: size_t,
15241 offset: *mut size_t,
15242 ) -> TSS2_RC;
15243}
15244extern "C" {
15245 pub fn Tss2_MU_TPM2B_PRIVATE_KEY_RSA_Unmarshal(
15246 buffer: *const u8,
15247 buffer_size: size_t,
15248 offset: *mut size_t,
15249 dest: *mut TPM2B_PRIVATE_KEY_RSA,
15250 ) -> TSS2_RC;
15251}
15252extern "C" {
15253 pub fn Tss2_MU_TPM2B_PRIVATE_Marshal(
15254 src: *const TPM2B_PRIVATE,
15255 buffer: *mut u8,
15256 buffer_size: size_t,
15257 offset: *mut size_t,
15258 ) -> TSS2_RC;
15259}
15260extern "C" {
15261 pub fn Tss2_MU_TPM2B_PRIVATE_Unmarshal(
15262 buffer: *const u8,
15263 buffer_size: size_t,
15264 offset: *mut size_t,
15265 dest: *mut TPM2B_PRIVATE,
15266 ) -> TSS2_RC;
15267}
15268extern "C" {
15269 pub fn Tss2_MU_TPM2B_CONTEXT_SENSITIVE_Marshal(
15270 src: *const TPM2B_CONTEXT_SENSITIVE,
15271 buffer: *mut u8,
15272 buffer_size: size_t,
15273 offset: *mut size_t,
15274 ) -> TSS2_RC;
15275}
15276extern "C" {
15277 pub fn Tss2_MU_TPM2B_CONTEXT_SENSITIVE_Unmarshal(
15278 buffer: *const u8,
15279 buffer_size: size_t,
15280 offset: *mut size_t,
15281 dest: *mut TPM2B_CONTEXT_SENSITIVE,
15282 ) -> TSS2_RC;
15283}
15284extern "C" {
15285 pub fn Tss2_MU_TPM2B_CONTEXT_DATA_Marshal(
15286 src: *const TPM2B_CONTEXT_DATA,
15287 buffer: *mut u8,
15288 buffer_size: size_t,
15289 offset: *mut size_t,
15290 ) -> TSS2_RC;
15291}
15292extern "C" {
15293 pub fn Tss2_MU_TPM2B_CONTEXT_DATA_Unmarshal(
15294 buffer: *const u8,
15295 buffer_size: size_t,
15296 offset: *mut size_t,
15297 dest: *mut TPM2B_CONTEXT_DATA,
15298 ) -> TSS2_RC;
15299}
15300extern "C" {
15301 pub fn Tss2_MU_TPM2B_DATA_Marshal(
15302 src: *const TPM2B_DATA,
15303 buffer: *mut u8,
15304 buffer_size: size_t,
15305 offset: *mut size_t,
15306 ) -> TSS2_RC;
15307}
15308extern "C" {
15309 pub fn Tss2_MU_TPM2B_DATA_Unmarshal(
15310 buffer: *const u8,
15311 buffer_size: size_t,
15312 offset: *mut size_t,
15313 dest: *mut TPM2B_DATA,
15314 ) -> TSS2_RC;
15315}
15316extern "C" {
15317 pub fn Tss2_MU_TPM2B_SYM_KEY_Marshal(
15318 src: *const TPM2B_SYM_KEY,
15319 buffer: *mut u8,
15320 buffer_size: size_t,
15321 offset: *mut size_t,
15322 ) -> TSS2_RC;
15323}
15324extern "C" {
15325 pub fn Tss2_MU_TPM2B_SYM_KEY_Unmarshal(
15326 buffer: *const u8,
15327 buffer_size: size_t,
15328 offset: *mut size_t,
15329 dest: *mut TPM2B_SYM_KEY,
15330 ) -> TSS2_RC;
15331}
15332extern "C" {
15333 pub fn Tss2_MU_TPM2B_ECC_POINT_Marshal(
15334 src: *const TPM2B_ECC_POINT,
15335 buffer: *mut u8,
15336 buffer_size: size_t,
15337 offset: *mut size_t,
15338 ) -> TSS2_RC;
15339}
15340extern "C" {
15341 pub fn Tss2_MU_TPM2B_ECC_POINT_Unmarshal(
15342 buffer: *const u8,
15343 buffer_size: size_t,
15344 offset: *mut size_t,
15345 dest: *mut TPM2B_ECC_POINT,
15346 ) -> TSS2_RC;
15347}
15348extern "C" {
15349 pub fn Tss2_MU_TPM2B_NV_PUBLIC_Marshal(
15350 src: *const TPM2B_NV_PUBLIC,
15351 buffer: *mut u8,
15352 buffer_size: size_t,
15353 offset: *mut size_t,
15354 ) -> TSS2_RC;
15355}
15356extern "C" {
15357 pub fn Tss2_MU_TPM2B_NV_PUBLIC_Unmarshal(
15358 buffer: *const u8,
15359 buffer_size: size_t,
15360 offset: *mut size_t,
15361 dest: *mut TPM2B_NV_PUBLIC,
15362 ) -> TSS2_RC;
15363}
15364extern "C" {
15365 pub fn Tss2_MU_TPM2B_SENSITIVE_Marshal(
15366 src: *const TPM2B_SENSITIVE,
15367 buffer: *mut u8,
15368 buffer_size: size_t,
15369 offset: *mut size_t,
15370 ) -> TSS2_RC;
15371}
15372extern "C" {
15373 pub fn Tss2_MU_TPM2B_SENSITIVE_Unmarshal(
15374 buffer: *const u8,
15375 buffer_size: size_t,
15376 offset: *mut size_t,
15377 dest: *mut TPM2B_SENSITIVE,
15378 ) -> TSS2_RC;
15379}
15380extern "C" {
15381 pub fn Tss2_MU_TPM2B_SENSITIVE_CREATE_Marshal(
15382 src: *const TPM2B_SENSITIVE_CREATE,
15383 buffer: *mut u8,
15384 buffer_size: size_t,
15385 offset: *mut size_t,
15386 ) -> TSS2_RC;
15387}
15388extern "C" {
15389 pub fn Tss2_MU_TPM2B_SENSITIVE_CREATE_Unmarshal(
15390 buffer: *const u8,
15391 buffer_size: size_t,
15392 offset: *mut size_t,
15393 dest: *mut TPM2B_SENSITIVE_CREATE,
15394 ) -> TSS2_RC;
15395}
15396extern "C" {
15397 pub fn Tss2_MU_TPM2B_CREATION_DATA_Marshal(
15398 src: *const TPM2B_CREATION_DATA,
15399 buffer: *mut u8,
15400 buffer_size: size_t,
15401 offset: *mut size_t,
15402 ) -> TSS2_RC;
15403}
15404extern "C" {
15405 pub fn Tss2_MU_TPM2B_CREATION_DATA_Unmarshal(
15406 buffer: *const u8,
15407 buffer_size: size_t,
15408 offset: *mut size_t,
15409 dest: *mut TPM2B_CREATION_DATA,
15410 ) -> TSS2_RC;
15411}
15412extern "C" {
15413 pub fn Tss2_MU_TPM2B_PUBLIC_Marshal(
15414 src: *const TPM2B_PUBLIC,
15415 buffer: *mut u8,
15416 buffer_size: size_t,
15417 offset: *mut size_t,
15418 ) -> TSS2_RC;
15419}
15420extern "C" {
15421 pub fn Tss2_MU_TPM2B_PUBLIC_Unmarshal(
15422 buffer: *const u8,
15423 buffer_size: size_t,
15424 offset: *mut size_t,
15425 dest: *mut TPM2B_PUBLIC,
15426 ) -> TSS2_RC;
15427}
15428extern "C" {
15429 pub fn Tss2_MU_TPM2B_ENCRYPTED_SECRET_Marshal(
15430 src: *const TPM2B_ENCRYPTED_SECRET,
15431 buffer: *mut u8,
15432 buffer_size: size_t,
15433 offset: *mut size_t,
15434 ) -> TSS2_RC;
15435}
15436extern "C" {
15437 pub fn Tss2_MU_TPM2B_ENCRYPTED_SECRET_Unmarshal(
15438 buffer: *const u8,
15439 buffer_size: size_t,
15440 offset: *mut size_t,
15441 dest: *mut TPM2B_ENCRYPTED_SECRET,
15442 ) -> TSS2_RC;
15443}
15444extern "C" {
15445 pub fn Tss2_MU_TPM2B_ID_OBJECT_Marshal(
15446 src: *const TPM2B_ID_OBJECT,
15447 buffer: *mut u8,
15448 buffer_size: size_t,
15449 offset: *mut size_t,
15450 ) -> TSS2_RC;
15451}
15452extern "C" {
15453 pub fn Tss2_MU_TPM2B_ID_OBJECT_Unmarshal(
15454 buffer: *const u8,
15455 buffer_size: size_t,
15456 offset: *mut size_t,
15457 dest: *mut TPM2B_ID_OBJECT,
15458 ) -> TSS2_RC;
15459}
15460extern "C" {
15461 pub fn Tss2_MU_TPM2B_IV_Marshal(
15462 src: *const TPM2B_IV,
15463 buffer: *mut u8,
15464 buffer_size: size_t,
15465 offset: *mut size_t,
15466 ) -> TSS2_RC;
15467}
15468extern "C" {
15469 pub fn Tss2_MU_TPM2B_IV_Unmarshal(
15470 buffer: *const u8,
15471 buffer_size: size_t,
15472 offset: *mut size_t,
15473 dest: *mut TPM2B_IV,
15474 ) -> TSS2_RC;
15475}
15476extern "C" {
15477 pub fn Tss2_MU_TPM2B_AUTH_Marshal(
15478 src: *const TPM2B_AUTH,
15479 buffer: *mut u8,
15480 buffer_size: size_t,
15481 offset: *mut size_t,
15482 ) -> TSS2_RC;
15483}
15484extern "C" {
15485 pub fn Tss2_MU_TPM2B_AUTH_Unmarshal(
15486 buffer: *const u8,
15487 buffer_size: size_t,
15488 offset: *mut size_t,
15489 dest: *mut TPM2B_AUTH,
15490 ) -> TSS2_RC;
15491}
15492extern "C" {
15493 pub fn Tss2_MU_TPM2B_EVENT_Marshal(
15494 src: *const TPM2B_EVENT,
15495 buffer: *mut u8,
15496 buffer_size: size_t,
15497 offset: *mut size_t,
15498 ) -> TSS2_RC;
15499}
15500extern "C" {
15501 pub fn Tss2_MU_TPM2B_EVENT_Unmarshal(
15502 buffer: *const u8,
15503 buffer_size: size_t,
15504 offset: *mut size_t,
15505 dest: *mut TPM2B_EVENT,
15506 ) -> TSS2_RC;
15507}
15508extern "C" {
15509 pub fn Tss2_MU_TPM2B_MAX_BUFFER_Marshal(
15510 src: *const TPM2B_MAX_BUFFER,
15511 buffer: *mut u8,
15512 buffer_size: size_t,
15513 offset: *mut size_t,
15514 ) -> TSS2_RC;
15515}
15516extern "C" {
15517 pub fn Tss2_MU_TPM2B_MAX_BUFFER_Unmarshal(
15518 buffer: *const u8,
15519 buffer_size: size_t,
15520 offset: *mut size_t,
15521 dest: *mut TPM2B_MAX_BUFFER,
15522 ) -> TSS2_RC;
15523}
15524extern "C" {
15525 pub fn Tss2_MU_TPM2B_NONCE_Marshal(
15526 src: *const TPM2B_NONCE,
15527 buffer: *mut u8,
15528 buffer_size: size_t,
15529 offset: *mut size_t,
15530 ) -> TSS2_RC;
15531}
15532extern "C" {
15533 pub fn Tss2_MU_TPM2B_NONCE_Unmarshal(
15534 buffer: *const u8,
15535 buffer_size: size_t,
15536 offset: *mut size_t,
15537 dest: *mut TPM2B_NONCE,
15538 ) -> TSS2_RC;
15539}
15540extern "C" {
15541 pub fn Tss2_MU_TPM2B_OPERAND_Marshal(
15542 src: *const TPM2B_OPERAND,
15543 buffer: *mut u8,
15544 buffer_size: size_t,
15545 offset: *mut size_t,
15546 ) -> TSS2_RC;
15547}
15548extern "C" {
15549 pub fn Tss2_MU_TPM2B_OPERAND_Unmarshal(
15550 buffer: *const u8,
15551 buffer_size: size_t,
15552 offset: *mut size_t,
15553 dest: *mut TPM2B_OPERAND,
15554 ) -> TSS2_RC;
15555}
15556extern "C" {
15557 pub fn Tss2_MU_TPM2B_TIMEOUT_Marshal(
15558 src: *const TPM2B_TIMEOUT,
15559 buffer: *mut u8,
15560 buffer_size: size_t,
15561 offset: *mut size_t,
15562 ) -> TSS2_RC;
15563}
15564extern "C" {
15565 pub fn Tss2_MU_TPM2B_TIMEOUT_Unmarshal(
15566 buffer: *const u8,
15567 buffer_size: size_t,
15568 offset: *mut size_t,
15569 dest: *mut TPM2B_TIMEOUT,
15570 ) -> TSS2_RC;
15571}
15572extern "C" {
15573 pub fn Tss2_MU_TPM2B_TEMPLATE_Marshal(
15574 src: *const TPM2B_TEMPLATE,
15575 buffer: *mut u8,
15576 buffer_size: size_t,
15577 offset: *mut size_t,
15578 ) -> TSS2_RC;
15579}
15580extern "C" {
15581 pub fn Tss2_MU_TPM2B_TEMPLATE_Unmarshal(
15582 buffer: *const u8,
15583 buffer_size: size_t,
15584 offset: *mut size_t,
15585 dest: *mut TPM2B_TEMPLATE,
15586 ) -> TSS2_RC;
15587}
15588extern "C" {
15589 pub fn Tss2_MU_TPMS_CONTEXT_Marshal(
15590 src: *const TPMS_CONTEXT,
15591 buffer: *mut u8,
15592 buffer_size: size_t,
15593 offset: *mut size_t,
15594 ) -> TSS2_RC;
15595}
15596extern "C" {
15597 pub fn Tss2_MU_TPMS_CONTEXT_Unmarshal(
15598 buffer: *const u8,
15599 buffer_size: size_t,
15600 offset: *mut size_t,
15601 dest: *mut TPMS_CONTEXT,
15602 ) -> TSS2_RC;
15603}
15604extern "C" {
15605 pub fn Tss2_MU_TPMS_TIME_INFO_Marshal(
15606 src: *const TPMS_TIME_INFO,
15607 buffer: *mut u8,
15608 buffer_size: size_t,
15609 offset: *mut size_t,
15610 ) -> TSS2_RC;
15611}
15612extern "C" {
15613 pub fn Tss2_MU_TPMS_TIME_INFO_Unmarshal(
15614 buffer: *const u8,
15615 buffer_size: size_t,
15616 offset: *mut size_t,
15617 dest: *mut TPMS_TIME_INFO,
15618 ) -> TSS2_RC;
15619}
15620extern "C" {
15621 pub fn Tss2_MU_TPMS_ECC_POINT_Marshal(
15622 src: *const TPMS_ECC_POINT,
15623 buffer: *mut u8,
15624 buffer_size: size_t,
15625 offset: *mut size_t,
15626 ) -> TSS2_RC;
15627}
15628extern "C" {
15629 pub fn Tss2_MU_TPMS_ECC_POINT_Unmarshal(
15630 buffer: *const u8,
15631 buffer_size: size_t,
15632 offset: *mut size_t,
15633 dest: *mut TPMS_ECC_POINT,
15634 ) -> TSS2_RC;
15635}
15636extern "C" {
15637 pub fn Tss2_MU_TPMS_NV_PUBLIC_Marshal(
15638 src: *const TPMS_NV_PUBLIC,
15639 buffer: *mut u8,
15640 buffer_size: size_t,
15641 offset: *mut size_t,
15642 ) -> TSS2_RC;
15643}
15644extern "C" {
15645 pub fn Tss2_MU_TPMS_NV_PUBLIC_Unmarshal(
15646 buffer: *const u8,
15647 buffer_size: size_t,
15648 offset: *mut size_t,
15649 dest: *mut TPMS_NV_PUBLIC,
15650 ) -> TSS2_RC;
15651}
15652extern "C" {
15653 pub fn Tss2_MU_TPMS_ALG_PROPERTY_Marshal(
15654 src: *const TPMS_ALG_PROPERTY,
15655 buffer: *mut u8,
15656 buffer_size: size_t,
15657 offset: *mut size_t,
15658 ) -> TSS2_RC;
15659}
15660extern "C" {
15661 pub fn Tss2_MU_TPMS_ALG_PROPERTY_Unmarshal(
15662 buffer: *const u8,
15663 buffer_size: size_t,
15664 offset: *mut size_t,
15665 dest: *mut TPMS_ALG_PROPERTY,
15666 ) -> TSS2_RC;
15667}
15668extern "C" {
15669 pub fn Tss2_MU_TPMS_TAGGED_PROPERTY_Marshal(
15670 src: *const TPMS_TAGGED_PROPERTY,
15671 buffer: *mut u8,
15672 buffer_size: size_t,
15673 offset: *mut size_t,
15674 ) -> TSS2_RC;
15675}
15676extern "C" {
15677 pub fn Tss2_MU_TPMS_TAGGED_PROPERTY_Unmarshal(
15678 buffer: *const u8,
15679 buffer_size: size_t,
15680 offset: *mut size_t,
15681 dest: *mut TPMS_TAGGED_PROPERTY,
15682 ) -> TSS2_RC;
15683}
15684extern "C" {
15685 pub fn Tss2_MU_TPMS_TAGGED_POLICY_Marshal(
15686 src: *const TPMS_TAGGED_POLICY,
15687 buffer: *mut u8,
15688 buffer_size: size_t,
15689 offset: *mut size_t,
15690 ) -> TSS2_RC;
15691}
15692extern "C" {
15693 pub fn Tss2_MU_TPMS_TAGGED_POLICY_Unmarshal(
15694 buffer: *const u8,
15695 buffer_size: size_t,
15696 offset: *mut size_t,
15697 dest: *mut TPMS_TAGGED_POLICY,
15698 ) -> TSS2_RC;
15699}
15700extern "C" {
15701 pub fn Tss2_MU_TPMS_CLOCK_INFO_Marshal(
15702 src: *const TPMS_CLOCK_INFO,
15703 buffer: *mut u8,
15704 buffer_size: size_t,
15705 offset: *mut size_t,
15706 ) -> TSS2_RC;
15707}
15708extern "C" {
15709 pub fn Tss2_MU_TPMS_CLOCK_INFO_Unmarshal(
15710 buffer: *const u8,
15711 buffer_size: size_t,
15712 offset: *mut size_t,
15713 dest: *mut TPMS_CLOCK_INFO,
15714 ) -> TSS2_RC;
15715}
15716extern "C" {
15717 pub fn Tss2_MU_TPMS_TIME_ATTEST_INFO_Marshal(
15718 src: *const TPMS_TIME_ATTEST_INFO,
15719 buffer: *mut u8,
15720 buffer_size: size_t,
15721 offset: *mut size_t,
15722 ) -> TSS2_RC;
15723}
15724extern "C" {
15725 pub fn Tss2_MU_TPMS_TIME_ATTEST_INFO_Unmarshal(
15726 buffer: *const u8,
15727 buffer_size: size_t,
15728 offset: *mut size_t,
15729 dest: *mut TPMS_TIME_ATTEST_INFO,
15730 ) -> TSS2_RC;
15731}
15732extern "C" {
15733 pub fn Tss2_MU_TPMS_CERTIFY_INFO_Marshal(
15734 src: *const TPMS_CERTIFY_INFO,
15735 buffer: *mut u8,
15736 buffer_size: size_t,
15737 offset: *mut size_t,
15738 ) -> TSS2_RC;
15739}
15740extern "C" {
15741 pub fn Tss2_MU_TPMS_CERTIFY_INFO_Unmarshal(
15742 buffer: *const u8,
15743 buffer_size: size_t,
15744 offset: *mut size_t,
15745 dest: *mut TPMS_CERTIFY_INFO,
15746 ) -> TSS2_RC;
15747}
15748extern "C" {
15749 pub fn Tss2_MU_TPMS_COMMAND_AUDIT_INFO_Marshal(
15750 src: *const TPMS_COMMAND_AUDIT_INFO,
15751 buffer: *mut u8,
15752 buffer_size: size_t,
15753 offset: *mut size_t,
15754 ) -> TSS2_RC;
15755}
15756extern "C" {
15757 pub fn Tss2_MU_TPMS_COMMAND_AUDIT_INFO_Unmarshal(
15758 buffer: *const u8,
15759 buffer_size: size_t,
15760 offset: *mut size_t,
15761 dest: *mut TPMS_COMMAND_AUDIT_INFO,
15762 ) -> TSS2_RC;
15763}
15764extern "C" {
15765 pub fn Tss2_MU_TPMS_SESSION_AUDIT_INFO_Marshal(
15766 src: *const TPMS_SESSION_AUDIT_INFO,
15767 buffer: *mut u8,
15768 buffer_size: size_t,
15769 offset: *mut size_t,
15770 ) -> TSS2_RC;
15771}
15772extern "C" {
15773 pub fn Tss2_MU_TPMS_SESSION_AUDIT_INFO_Unmarshal(
15774 buffer: *const u8,
15775 buffer_size: size_t,
15776 offset: *mut size_t,
15777 dest: *mut TPMS_SESSION_AUDIT_INFO,
15778 ) -> TSS2_RC;
15779}
15780extern "C" {
15781 pub fn Tss2_MU_TPMS_CREATION_INFO_Marshal(
15782 src: *const TPMS_CREATION_INFO,
15783 buffer: *mut u8,
15784 buffer_size: size_t,
15785 offset: *mut size_t,
15786 ) -> TSS2_RC;
15787}
15788extern "C" {
15789 pub fn Tss2_MU_TPMS_CREATION_INFO_Unmarshal(
15790 buffer: *const u8,
15791 buffer_size: size_t,
15792 offset: *mut size_t,
15793 dest: *mut TPMS_CREATION_INFO,
15794 ) -> TSS2_RC;
15795}
15796extern "C" {
15797 pub fn Tss2_MU_TPMS_NV_CERTIFY_INFO_Marshal(
15798 src: *const TPMS_NV_CERTIFY_INFO,
15799 buffer: *mut u8,
15800 buffer_size: size_t,
15801 offset: *mut size_t,
15802 ) -> TSS2_RC;
15803}
15804extern "C" {
15805 pub fn Tss2_MU_TPMS_NV_CERTIFY_INFO_Unmarshal(
15806 buffer: *const u8,
15807 buffer_size: size_t,
15808 offset: *mut size_t,
15809 dest: *mut TPMS_NV_CERTIFY_INFO,
15810 ) -> TSS2_RC;
15811}
15812extern "C" {
15813 pub fn Tss2_MU_TPMS_AUTH_COMMAND_Marshal(
15814 src: *const TPMS_AUTH_COMMAND,
15815 buffer: *mut u8,
15816 buffer_size: size_t,
15817 offset: *mut size_t,
15818 ) -> TSS2_RC;
15819}
15820extern "C" {
15821 pub fn Tss2_MU_TPMS_AUTH_COMMAND_Unmarshal(
15822 buffer: *const u8,
15823 buffer_size: size_t,
15824 offset: *mut size_t,
15825 dest: *mut TPMS_AUTH_COMMAND,
15826 ) -> TSS2_RC;
15827}
15828extern "C" {
15829 pub fn Tss2_MU_TPMS_AUTH_RESPONSE_Marshal(
15830 src: *const TPMS_AUTH_RESPONSE,
15831 buffer: *mut u8,
15832 buffer_size: size_t,
15833 offset: *mut size_t,
15834 ) -> TSS2_RC;
15835}
15836extern "C" {
15837 pub fn Tss2_MU_TPMS_AUTH_RESPONSE_Unmarshal(
15838 buffer: *const u8,
15839 buffer_size: size_t,
15840 offset: *mut size_t,
15841 dest: *mut TPMS_AUTH_RESPONSE,
15842 ) -> TSS2_RC;
15843}
15844extern "C" {
15845 pub fn Tss2_MU_TPMS_SENSITIVE_CREATE_Marshal(
15846 src: *const TPMS_SENSITIVE_CREATE,
15847 buffer: *mut u8,
15848 buffer_size: size_t,
15849 offset: *mut size_t,
15850 ) -> TSS2_RC;
15851}
15852extern "C" {
15853 pub fn Tss2_MU_TPMS_SENSITIVE_CREATE_Unmarshal(
15854 buffer: *const u8,
15855 buffer_size: size_t,
15856 offset: *mut size_t,
15857 dest: *mut TPMS_SENSITIVE_CREATE,
15858 ) -> TSS2_RC;
15859}
15860extern "C" {
15861 pub fn Tss2_MU_TPMS_SCHEME_HASH_Marshal(
15862 src: *const TPMS_SCHEME_HASH,
15863 buffer: *mut u8,
15864 buffer_size: size_t,
15865 offset: *mut size_t,
15866 ) -> TSS2_RC;
15867}
15868extern "C" {
15869 pub fn Tss2_MU_TPMS_SCHEME_HASH_Unmarshal(
15870 buffer: *const u8,
15871 buffer_size: size_t,
15872 offset: *mut size_t,
15873 dest: *mut TPMS_SCHEME_HASH,
15874 ) -> TSS2_RC;
15875}
15876extern "C" {
15877 pub fn Tss2_MU_TPMS_SCHEME_ECDAA_Marshal(
15878 src: *const TPMS_SCHEME_ECDAA,
15879 buffer: *mut u8,
15880 buffer_size: size_t,
15881 offset: *mut size_t,
15882 ) -> TSS2_RC;
15883}
15884extern "C" {
15885 pub fn Tss2_MU_TPMS_SCHEME_ECDAA_Unmarshal(
15886 buffer: *const u8,
15887 buffer_size: size_t,
15888 offset: *mut size_t,
15889 dest: *mut TPMS_SCHEME_ECDAA,
15890 ) -> TSS2_RC;
15891}
15892extern "C" {
15893 pub fn Tss2_MU_TPMS_SCHEME_XOR_Marshal(
15894 src: *const TPMS_SCHEME_XOR,
15895 buffer: *mut u8,
15896 buffer_size: size_t,
15897 offset: *mut size_t,
15898 ) -> TSS2_RC;
15899}
15900extern "C" {
15901 pub fn Tss2_MU_TPMS_SCHEME_XOR_Unmarshal(
15902 buffer: *const u8,
15903 buffer_size: size_t,
15904 offset: *mut size_t,
15905 dest: *mut TPMS_SCHEME_XOR,
15906 ) -> TSS2_RC;
15907}
15908extern "C" {
15909 pub fn Tss2_MU_TPMS_SIGNATURE_RSA_Marshal(
15910 src: *const TPMS_SIGNATURE_RSA,
15911 buffer: *mut u8,
15912 buffer_size: size_t,
15913 offset: *mut size_t,
15914 ) -> TSS2_RC;
15915}
15916extern "C" {
15917 pub fn Tss2_MU_TPMS_SIGNATURE_RSA_Unmarshal(
15918 buffer: *const u8,
15919 buffer_size: size_t,
15920 offset: *mut size_t,
15921 dest: *mut TPMS_SIGNATURE_RSA,
15922 ) -> TSS2_RC;
15923}
15924extern "C" {
15925 pub fn Tss2_MU_TPMS_SIGNATURE_ECC_Marshal(
15926 src: *const TPMS_SIGNATURE_ECC,
15927 buffer: *mut u8,
15928 buffer_size: size_t,
15929 offset: *mut size_t,
15930 ) -> TSS2_RC;
15931}
15932extern "C" {
15933 pub fn Tss2_MU_TPMS_SIGNATURE_ECC_Unmarshal(
15934 buffer: *const u8,
15935 buffer_size: size_t,
15936 offset: *mut size_t,
15937 dest: *mut TPMS_SIGNATURE_ECC,
15938 ) -> TSS2_RC;
15939}
15940extern "C" {
15941 pub fn Tss2_MU_TPMS_NV_PIN_COUNTER_PARAMETERS_Marshal(
15942 src: *const TPMS_NV_PIN_COUNTER_PARAMETERS,
15943 buffer: *mut u8,
15944 buffer_size: size_t,
15945 offset: *mut size_t,
15946 ) -> TSS2_RC;
15947}
15948extern "C" {
15949 pub fn Tss2_MU_TPMS_NV_PIN_COUNTER_PARAMETERS_Unmarshal(
15950 buffer: *const u8,
15951 buffer_size: size_t,
15952 offset: *mut size_t,
15953 dest: *mut TPMS_NV_PIN_COUNTER_PARAMETERS,
15954 ) -> TSS2_RC;
15955}
15956extern "C" {
15957 pub fn Tss2_MU_TPMS_CONTEXT_DATA_Marshal(
15958 src: *const TPMS_CONTEXT_DATA,
15959 buffer: *mut u8,
15960 buffer_size: size_t,
15961 offset: *mut size_t,
15962 ) -> TSS2_RC;
15963}
15964extern "C" {
15965 pub fn Tss2_MU_TPMS_CONTEXT_DATA_Unmarshal(
15966 buffer: *const u8,
15967 buffer_size: size_t,
15968 offset: *mut size_t,
15969 dest: *mut TPMS_CONTEXT_DATA,
15970 ) -> TSS2_RC;
15971}
15972extern "C" {
15973 pub fn Tss2_MU_TPMS_PCR_SELECT_Marshal(
15974 src: *const TPMS_PCR_SELECT,
15975 buffer: *mut u8,
15976 buffer_size: size_t,
15977 offset: *mut size_t,
15978 ) -> TSS2_RC;
15979}
15980extern "C" {
15981 pub fn Tss2_MU_TPMS_PCR_SELECT_Unmarshal(
15982 buffer: *const u8,
15983 buffer_size: size_t,
15984 offset: *mut size_t,
15985 dest: *mut TPMS_PCR_SELECT,
15986 ) -> TSS2_RC;
15987}
15988extern "C" {
15989 pub fn Tss2_MU_TPMS_PCR_SELECTION_Marshal(
15990 src: *const TPMS_PCR_SELECTION,
15991 buffer: *mut u8,
15992 buffer_size: size_t,
15993 offset: *mut size_t,
15994 ) -> TSS2_RC;
15995}
15996extern "C" {
15997 pub fn Tss2_MU_TPMS_PCR_SELECTION_Unmarshal(
15998 buffer: *const u8,
15999 buffer_size: size_t,
16000 offset: *mut size_t,
16001 dest: *mut TPMS_PCR_SELECTION,
16002 ) -> TSS2_RC;
16003}
16004extern "C" {
16005 pub fn Tss2_MU_TPMS_TAGGED_PCR_SELECT_Marshal(
16006 src: *const TPMS_TAGGED_PCR_SELECT,
16007 buffer: *mut u8,
16008 buffer_size: size_t,
16009 offset: *mut size_t,
16010 ) -> TSS2_RC;
16011}
16012extern "C" {
16013 pub fn Tss2_MU_TPMS_TAGGED_PCR_SELECT_Unmarshal(
16014 buffer: *const u8,
16015 buffer_size: size_t,
16016 offset: *mut size_t,
16017 dest: *mut TPMS_TAGGED_PCR_SELECT,
16018 ) -> TSS2_RC;
16019}
16020extern "C" {
16021 pub fn Tss2_MU_TPMS_QUOTE_INFO_Marshal(
16022 src: *const TPMS_QUOTE_INFO,
16023 buffer: *mut u8,
16024 buffer_size: size_t,
16025 offset: *mut size_t,
16026 ) -> TSS2_RC;
16027}
16028extern "C" {
16029 pub fn Tss2_MU_TPMS_QUOTE_INFO_Unmarshal(
16030 buffer: *const u8,
16031 buffer_size: size_t,
16032 offset: *mut size_t,
16033 dest: *mut TPMS_QUOTE_INFO,
16034 ) -> TSS2_RC;
16035}
16036extern "C" {
16037 pub fn Tss2_MU_TPMS_CREATION_DATA_Marshal(
16038 src: *const TPMS_CREATION_DATA,
16039 buffer: *mut u8,
16040 buffer_size: size_t,
16041 offset: *mut size_t,
16042 ) -> TSS2_RC;
16043}
16044extern "C" {
16045 pub fn Tss2_MU_TPMS_CREATION_DATA_Unmarshal(
16046 buffer: *const u8,
16047 buffer_size: size_t,
16048 offset: *mut size_t,
16049 dest: *mut TPMS_CREATION_DATA,
16050 ) -> TSS2_RC;
16051}
16052extern "C" {
16053 pub fn Tss2_MU_TPMS_ECC_PARMS_Marshal(
16054 src: *const TPMS_ECC_PARMS,
16055 buffer: *mut u8,
16056 buffer_size: size_t,
16057 offset: *mut size_t,
16058 ) -> TSS2_RC;
16059}
16060extern "C" {
16061 pub fn Tss2_MU_TPMS_ECC_PARMS_Unmarshal(
16062 buffer: *const u8,
16063 buffer_size: size_t,
16064 offset: *mut size_t,
16065 dest: *mut TPMS_ECC_PARMS,
16066 ) -> TSS2_RC;
16067}
16068extern "C" {
16069 pub fn Tss2_MU_TPMS_ATTEST_Marshal(
16070 src: *const TPMS_ATTEST,
16071 buffer: *mut u8,
16072 buffer_size: size_t,
16073 offset: *mut size_t,
16074 ) -> TSS2_RC;
16075}
16076extern "C" {
16077 pub fn Tss2_MU_TPMS_ATTEST_Unmarshal(
16078 buffer: *const u8,
16079 buffer_size: size_t,
16080 offset: *mut size_t,
16081 dest: *mut TPMS_ATTEST,
16082 ) -> TSS2_RC;
16083}
16084extern "C" {
16085 pub fn Tss2_MU_TPMS_ALGORITHM_DETAIL_ECC_Marshal(
16086 src: *const TPMS_ALGORITHM_DETAIL_ECC,
16087 buffer: *mut u8,
16088 buffer_size: size_t,
16089 offset: *mut size_t,
16090 ) -> TSS2_RC;
16091}
16092extern "C" {
16093 pub fn Tss2_MU_TPMS_ALGORITHM_DETAIL_ECC_Unmarshal(
16094 buffer: *const u8,
16095 buffer_size: size_t,
16096 offset: *mut size_t,
16097 dest: *mut TPMS_ALGORITHM_DETAIL_ECC,
16098 ) -> TSS2_RC;
16099}
16100extern "C" {
16101 pub fn Tss2_MU_TPMS_CAPABILITY_DATA_Marshal(
16102 src: *const TPMS_CAPABILITY_DATA,
16103 buffer: *mut u8,
16104 buffer_size: size_t,
16105 offset: *mut size_t,
16106 ) -> TSS2_RC;
16107}
16108extern "C" {
16109 pub fn Tss2_MU_TPMS_CAPABILITY_DATA_Unmarshal(
16110 buffer: *const u8,
16111 buffer_size: size_t,
16112 offset: *mut size_t,
16113 dest: *mut TPMS_CAPABILITY_DATA,
16114 ) -> TSS2_RC;
16115}
16116extern "C" {
16117 pub fn Tss2_MU_TPMS_KEYEDHASH_PARMS_Marshal(
16118 src: *const TPMS_KEYEDHASH_PARMS,
16119 buffer: *mut u8,
16120 buffer_size: size_t,
16121 offset: *mut size_t,
16122 ) -> TSS2_RC;
16123}
16124extern "C" {
16125 pub fn Tss2_MU_TPMS_KEYEDHASH_PARMS_Unmarshal(
16126 buffer: *const u8,
16127 buffer_size: size_t,
16128 offset: *mut size_t,
16129 dest: *mut TPMS_KEYEDHASH_PARMS,
16130 ) -> TSS2_RC;
16131}
16132extern "C" {
16133 pub fn Tss2_MU_TPMS_RSA_PARMS_Marshal(
16134 src: *const TPMS_RSA_PARMS,
16135 buffer: *mut u8,
16136 buffer_size: size_t,
16137 offset: *mut size_t,
16138 ) -> TSS2_RC;
16139}
16140extern "C" {
16141 pub fn Tss2_MU_TPMS_RSA_PARMS_Unmarshal(
16142 buffer: *const u8,
16143 buffer_size: size_t,
16144 offset: *mut size_t,
16145 dest: *mut TPMS_RSA_PARMS,
16146 ) -> TSS2_RC;
16147}
16148extern "C" {
16149 pub fn Tss2_MU_TPMS_SYMCIPHER_PARMS_Marshal(
16150 src: *const TPMS_SYMCIPHER_PARMS,
16151 buffer: *mut u8,
16152 buffer_size: size_t,
16153 offset: *mut size_t,
16154 ) -> TSS2_RC;
16155}
16156extern "C" {
16157 pub fn Tss2_MU_TPMS_SYMCIPHER_PARMS_Unmarshal(
16158 buffer: *const u8,
16159 buffer_size: size_t,
16160 offset: *mut size_t,
16161 dest: *mut TPMS_SYMCIPHER_PARMS,
16162 ) -> TSS2_RC;
16163}
16164extern "C" {
16165 pub fn Tss2_MU_TPMS_AC_OUTPUT_Marshal(
16166 src: *const TPMS_AC_OUTPUT,
16167 buffer: *mut u8,
16168 buffer_size: size_t,
16169 offset: *mut size_t,
16170 ) -> TSS2_RC;
16171}
16172extern "C" {
16173 pub fn Tss2_MU_TPMS_AC_OUTPUT_Unmarshal(
16174 buffer: *const u8,
16175 buffer_size: size_t,
16176 offset: *mut size_t,
16177 dest: *mut TPMS_AC_OUTPUT,
16178 ) -> TSS2_RC;
16179}
16180extern "C" {
16181 pub fn Tss2_MU_TPMS_ID_OBJECT_Marshal(
16182 src: *const TPMS_ID_OBJECT,
16183 buffer: *mut u8,
16184 buffer_size: size_t,
16185 offset: *mut size_t,
16186 ) -> TSS2_RC;
16187}
16188extern "C" {
16189 pub fn Tss2_MU_TPMS_ID_OBJECT_Unmarshal(
16190 buffer: *const u8,
16191 buffer_size: size_t,
16192 offset: *mut size_t,
16193 dest: *mut TPMS_ID_OBJECT,
16194 ) -> TSS2_RC;
16195}
16196extern "C" {
16197 pub fn Tss2_MU_TPMS_ACT_DATA_Marshal(
16198 src: *const TPMS_ACT_DATA,
16199 buffer: *mut u8,
16200 buffer_size: size_t,
16201 offset: *mut size_t,
16202 ) -> TSS2_RC;
16203}
16204extern "C" {
16205 pub fn Tss2_MU_TPMS_ACT_DATA_Unmarshal(
16206 buffer: *const u8,
16207 buffer_size: size_t,
16208 offset: *mut size_t,
16209 dest: *mut TPMS_ACT_DATA,
16210 ) -> TSS2_RC;
16211}
16212extern "C" {
16213 pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Marshal(
16214 src: *const TPMS_NV_DIGEST_CERTIFY_INFO,
16215 buffer: *mut u8,
16216 buffer_size: size_t,
16217 offset: *mut size_t,
16218 ) -> TSS2_RC;
16219}
16220extern "C" {
16221 pub fn Tss2_MU_TPMS_NV_DIGEST_CERTIFY_INFO_Unmarshal(
16222 buffer: *const u8,
16223 buffer_size: size_t,
16224 offset: *mut size_t,
16225 dest: *mut TPMS_NV_DIGEST_CERTIFY_INFO,
16226 ) -> TSS2_RC;
16227}
16228extern "C" {
16229 pub fn Tss2_MU_TPML_CC_Marshal(
16230 src: *const TPML_CC,
16231 buffer: *mut u8,
16232 buffer_size: size_t,
16233 offset: *mut size_t,
16234 ) -> TSS2_RC;
16235}
16236extern "C" {
16237 pub fn Tss2_MU_TPML_CC_Unmarshal(
16238 buffer: *const u8,
16239 buffer_size: size_t,
16240 offset: *mut size_t,
16241 dest: *mut TPML_CC,
16242 ) -> TSS2_RC;
16243}
16244extern "C" {
16245 pub fn Tss2_MU_TPML_CCA_Marshal(
16246 src: *const TPML_CCA,
16247 buffer: *mut u8,
16248 buffer_size: size_t,
16249 offset: *mut size_t,
16250 ) -> TSS2_RC;
16251}
16252extern "C" {
16253 pub fn Tss2_MU_TPML_CCA_Unmarshal(
16254 buffer: *const u8,
16255 buffer_size: size_t,
16256 offset: *mut size_t,
16257 dest: *mut TPML_CCA,
16258 ) -> TSS2_RC;
16259}
16260extern "C" {
16261 pub fn Tss2_MU_TPML_ALG_Marshal(
16262 src: *const TPML_ALG,
16263 buffer: *mut u8,
16264 buffer_size: size_t,
16265 offset: *mut size_t,
16266 ) -> TSS2_RC;
16267}
16268extern "C" {
16269 pub fn Tss2_MU_TPML_ALG_Unmarshal(
16270 buffer: *const u8,
16271 buffer_size: size_t,
16272 offset: *mut size_t,
16273 dest: *mut TPML_ALG,
16274 ) -> TSS2_RC;
16275}
16276extern "C" {
16277 pub fn Tss2_MU_TPML_HANDLE_Marshal(
16278 src: *const TPML_HANDLE,
16279 buffer: *mut u8,
16280 buffer_size: size_t,
16281 offset: *mut size_t,
16282 ) -> TSS2_RC;
16283}
16284extern "C" {
16285 pub fn Tss2_MU_TPML_HANDLE_Unmarshal(
16286 buffer: *const u8,
16287 buffer_size: size_t,
16288 offset: *mut size_t,
16289 dest: *mut TPML_HANDLE,
16290 ) -> TSS2_RC;
16291}
16292extern "C" {
16293 pub fn Tss2_MU_TPML_DIGEST_Marshal(
16294 src: *const TPML_DIGEST,
16295 buffer: *mut u8,
16296 buffer_size: size_t,
16297 offset: *mut size_t,
16298 ) -> TSS2_RC;
16299}
16300extern "C" {
16301 pub fn Tss2_MU_TPML_DIGEST_Unmarshal(
16302 buffer: *const u8,
16303 buffer_size: size_t,
16304 offset: *mut size_t,
16305 dest: *mut TPML_DIGEST,
16306 ) -> TSS2_RC;
16307}
16308extern "C" {
16309 pub fn Tss2_MU_TPML_DIGEST_VALUES_Marshal(
16310 src: *const TPML_DIGEST_VALUES,
16311 buffer: *mut u8,
16312 buffer_size: size_t,
16313 offset: *mut size_t,
16314 ) -> TSS2_RC;
16315}
16316extern "C" {
16317 pub fn Tss2_MU_TPML_DIGEST_VALUES_Unmarshal(
16318 buffer: *const u8,
16319 buffer_size: size_t,
16320 offset: *mut size_t,
16321 dest: *mut TPML_DIGEST_VALUES,
16322 ) -> TSS2_RC;
16323}
16324extern "C" {
16325 pub fn Tss2_MU_TPML_PCR_SELECTION_Marshal(
16326 src: *const TPML_PCR_SELECTION,
16327 buffer: *mut u8,
16328 buffer_size: size_t,
16329 offset: *mut size_t,
16330 ) -> TSS2_RC;
16331}
16332extern "C" {
16333 pub fn Tss2_MU_TPML_PCR_SELECTION_Unmarshal(
16334 buffer: *const u8,
16335 buffer_size: size_t,
16336 offset: *mut size_t,
16337 dest: *mut TPML_PCR_SELECTION,
16338 ) -> TSS2_RC;
16339}
16340extern "C" {
16341 pub fn Tss2_MU_TPML_ALG_PROPERTY_Marshal(
16342 src: *const TPML_ALG_PROPERTY,
16343 buffer: *mut u8,
16344 buffer_size: size_t,
16345 offset: *mut size_t,
16346 ) -> TSS2_RC;
16347}
16348extern "C" {
16349 pub fn Tss2_MU_TPML_ALG_PROPERTY_Unmarshal(
16350 buffer: *const u8,
16351 buffer_size: size_t,
16352 offset: *mut size_t,
16353 dest: *mut TPML_ALG_PROPERTY,
16354 ) -> TSS2_RC;
16355}
16356extern "C" {
16357 pub fn Tss2_MU_TPML_ECC_CURVE_Marshal(
16358 src: *const TPML_ECC_CURVE,
16359 buffer: *mut u8,
16360 buffer_size: size_t,
16361 offset: *mut size_t,
16362 ) -> TSS2_RC;
16363}
16364extern "C" {
16365 pub fn Tss2_MU_TPML_ECC_CURVE_Unmarshal(
16366 buffer: *const u8,
16367 buffer_size: size_t,
16368 offset: *mut size_t,
16369 dest: *mut TPML_ECC_CURVE,
16370 ) -> TSS2_RC;
16371}
16372extern "C" {
16373 pub fn Tss2_MU_TPML_TAGGED_PCR_PROPERTY_Marshal(
16374 src: *const TPML_TAGGED_PCR_PROPERTY,
16375 buffer: *mut u8,
16376 buffer_size: size_t,
16377 offset: *mut size_t,
16378 ) -> TSS2_RC;
16379}
16380extern "C" {
16381 pub fn Tss2_MU_TPML_TAGGED_PCR_PROPERTY_Unmarshal(
16382 buffer: *const u8,
16383 buffer_size: size_t,
16384 offset: *mut size_t,
16385 dest: *mut TPML_TAGGED_PCR_PROPERTY,
16386 ) -> TSS2_RC;
16387}
16388extern "C" {
16389 pub fn Tss2_MU_TPML_TAGGED_TPM_PROPERTY_Marshal(
16390 src: *const TPML_TAGGED_TPM_PROPERTY,
16391 buffer: *mut u8,
16392 buffer_size: size_t,
16393 offset: *mut size_t,
16394 ) -> TSS2_RC;
16395}
16396extern "C" {
16397 pub fn Tss2_MU_TPML_TAGGED_TPM_PROPERTY_Unmarshal(
16398 buffer: *const u8,
16399 buffer_size: size_t,
16400 offset: *mut size_t,
16401 dest: *mut TPML_TAGGED_TPM_PROPERTY,
16402 ) -> TSS2_RC;
16403}
16404extern "C" {
16405 pub fn Tss2_MU_TPML_AC_CAPABILITIES_Marshal(
16406 src: *const TPML_AC_CAPABILITIES,
16407 buffer: *mut u8,
16408 buffer_size: size_t,
16409 offset: *mut size_t,
16410 ) -> TSS2_RC;
16411}
16412extern "C" {
16413 pub fn Tss2_MU_TPML_AC_CAPABILITIES_Unmarshal(
16414 buffer: *const u8,
16415 buffer_size: size_t,
16416 offset: *mut size_t,
16417 dest: *mut TPML_AC_CAPABILITIES,
16418 ) -> TSS2_RC;
16419}
16420extern "C" {
16421 pub fn Tss2_MU_TPML_TAGGED_POLICY_Marshal(
16422 src: *const TPML_TAGGED_POLICY,
16423 buffer: *mut u8,
16424 buffer_size: size_t,
16425 offset: *mut size_t,
16426 ) -> TSS2_RC;
16427}
16428extern "C" {
16429 pub fn Tss2_MU_TPML_TAGGED_POLICY_Unmarshal(
16430 buffer: *const u8,
16431 buffer_size: size_t,
16432 offset: *mut size_t,
16433 dest: *mut TPML_TAGGED_POLICY,
16434 ) -> TSS2_RC;
16435}
16436extern "C" {
16437 pub fn Tss2_MU_TPML_ACT_DATA_Marshal(
16438 src: *const TPML_ACT_DATA,
16439 buffer: *mut u8,
16440 buffer_size: size_t,
16441 offset: *mut size_t,
16442 ) -> TSS2_RC;
16443}
16444extern "C" {
16445 pub fn Tss2_MU_TPML_ACT_DATA_Unmarshal(
16446 buffer: *const u8,
16447 buffer_size: size_t,
16448 offset: *mut size_t,
16449 dest: *mut TPML_ACT_DATA,
16450 ) -> TSS2_RC;
16451}
16452extern "C" {
16453 pub fn Tss2_MU_TPMU_HA_Marshal(
16454 src: *const TPMU_HA,
16455 selector_value: u32,
16456 buffer: *mut u8,
16457 buffer_size: size_t,
16458 offset: *mut size_t,
16459 ) -> TSS2_RC;
16460}
16461extern "C" {
16462 pub fn Tss2_MU_TPMU_HA_Unmarshal(
16463 buffer: *const u8,
16464 buffer_size: size_t,
16465 offset: *mut size_t,
16466 selector_value: u32,
16467 dest: *mut TPMU_HA,
16468 ) -> TSS2_RC;
16469}
16470extern "C" {
16471 pub fn Tss2_MU_TPMU_CAPABILITIES_Marshal(
16472 src: *const TPMU_CAPABILITIES,
16473 selector_value: u32,
16474 buffer: *mut u8,
16475 buffer_size: size_t,
16476 offset: *mut size_t,
16477 ) -> TSS2_RC;
16478}
16479extern "C" {
16480 pub fn Tss2_MU_TPMU_CAPABILITIES_Unmarshal(
16481 buffer: *const u8,
16482 buffer_size: size_t,
16483 offset: *mut size_t,
16484 selector_value: u32,
16485 dest: *mut TPMU_CAPABILITIES,
16486 ) -> TSS2_RC;
16487}
16488extern "C" {
16489 pub fn Tss2_MU_TPMU_ATTEST_Marshal(
16490 src: *const TPMU_ATTEST,
16491 selector_value: u32,
16492 buffer: *mut u8,
16493 buffer_size: size_t,
16494 offset: *mut size_t,
16495 ) -> TSS2_RC;
16496}
16497extern "C" {
16498 pub fn Tss2_MU_TPMU_ATTEST_Unmarshal(
16499 buffer: *const u8,
16500 buffer_size: size_t,
16501 offset: *mut size_t,
16502 selector_value: u32,
16503 dest: *mut TPMU_ATTEST,
16504 ) -> TSS2_RC;
16505}
16506extern "C" {
16507 pub fn Tss2_MU_TPMU_SYM_KEY_BITS_Marshal(
16508 src: *const TPMU_SYM_KEY_BITS,
16509 selector_value: u32,
16510 buffer: *mut u8,
16511 buffer_size: size_t,
16512 offset: *mut size_t,
16513 ) -> TSS2_RC;
16514}
16515extern "C" {
16516 pub fn Tss2_MU_TPMU_SYM_KEY_BITS_Unmarshal(
16517 buffer: *const u8,
16518 buffer_size: size_t,
16519 offset: *mut size_t,
16520 selector_value: u32,
16521 dest: *mut TPMU_SYM_KEY_BITS,
16522 ) -> TSS2_RC;
16523}
16524extern "C" {
16525 pub fn Tss2_MU_TPMU_SYM_MODE_Marshal(
16526 src: *const TPMU_SYM_MODE,
16527 selector_value: u32,
16528 buffer: *mut u8,
16529 buffer_size: size_t,
16530 offset: *mut size_t,
16531 ) -> TSS2_RC;
16532}
16533extern "C" {
16534 pub fn Tss2_MU_TPMU_SYM_MODE_Unmarshal(
16535 buffer: *const u8,
16536 buffer_size: size_t,
16537 offset: *mut size_t,
16538 selector_value: u32,
16539 dest: *mut TPMU_SYM_MODE,
16540 ) -> TSS2_RC;
16541}
16542extern "C" {
16543 pub fn Tss2_MU_TPMU_SIG_SCHEME_Marshal(
16544 src: *const TPMU_SIG_SCHEME,
16545 selector_value: u32,
16546 buffer: *mut u8,
16547 buffer_size: size_t,
16548 offset: *mut size_t,
16549 ) -> TSS2_RC;
16550}
16551extern "C" {
16552 pub fn Tss2_MU_TPMU_SIG_SCHEME_Unmarshal(
16553 buffer: *const u8,
16554 buffer_size: size_t,
16555 offset: *mut size_t,
16556 selector_value: u32,
16557 dest: *mut TPMU_SIG_SCHEME,
16558 ) -> TSS2_RC;
16559}
16560extern "C" {
16561 pub fn Tss2_MU_TPMU_KDF_SCHEME_Marshal(
16562 src: *const TPMU_KDF_SCHEME,
16563 selector_value: u32,
16564 buffer: *mut u8,
16565 buffer_size: size_t,
16566 offset: *mut size_t,
16567 ) -> TSS2_RC;
16568}
16569extern "C" {
16570 pub fn Tss2_MU_TPMU_KDF_SCHEME_Unmarshal(
16571 buffer: *const u8,
16572 buffer_size: size_t,
16573 offset: *mut size_t,
16574 selector_value: u32,
16575 dest: *mut TPMU_KDF_SCHEME,
16576 ) -> TSS2_RC;
16577}
16578extern "C" {
16579 pub fn Tss2_MU_TPMU_ASYM_SCHEME_Marshal(
16580 src: *const TPMU_ASYM_SCHEME,
16581 selector_value: u32,
16582 buffer: *mut u8,
16583 buffer_size: size_t,
16584 offset: *mut size_t,
16585 ) -> TSS2_RC;
16586}
16587extern "C" {
16588 pub fn Tss2_MU_TPMU_ASYM_SCHEME_Unmarshal(
16589 buffer: *const u8,
16590 buffer_size: size_t,
16591 offset: *mut size_t,
16592 selector_value: u32,
16593 dest: *mut TPMU_ASYM_SCHEME,
16594 ) -> TSS2_RC;
16595}
16596extern "C" {
16597 pub fn Tss2_MU_TPMU_SCHEME_KEYEDHASH_Marshal(
16598 src: *const TPMU_SCHEME_KEYEDHASH,
16599 selector_value: u32,
16600 buffer: *mut u8,
16601 buffer_size: size_t,
16602 offset: *mut size_t,
16603 ) -> TSS2_RC;
16604}
16605extern "C" {
16606 pub fn Tss2_MU_TPMU_SCHEME_KEYEDHASH_Unmarshal(
16607 buffer: *const u8,
16608 buffer_size: size_t,
16609 offset: *mut size_t,
16610 selector_value: u32,
16611 dest: *mut TPMU_SCHEME_KEYEDHASH,
16612 ) -> TSS2_RC;
16613}
16614extern "C" {
16615 pub fn Tss2_MU_TPMU_SIGNATURE_Marshal(
16616 src: *const TPMU_SIGNATURE,
16617 selector_value: u32,
16618 buffer: *mut u8,
16619 buffer_size: size_t,
16620 offset: *mut size_t,
16621 ) -> TSS2_RC;
16622}
16623extern "C" {
16624 pub fn Tss2_MU_TPMU_SIGNATURE_Unmarshal(
16625 buffer: *const u8,
16626 buffer_size: size_t,
16627 offset: *mut size_t,
16628 selector_value: u32,
16629 dest: *mut TPMU_SIGNATURE,
16630 ) -> TSS2_RC;
16631}
16632extern "C" {
16633 pub fn Tss2_MU_TPMU_SENSITIVE_COMPOSITE_Marshal(
16634 src: *const TPMU_SENSITIVE_COMPOSITE,
16635 selector_value: u32,
16636 buffer: *mut u8,
16637 buffer_size: size_t,
16638 offset: *mut size_t,
16639 ) -> TSS2_RC;
16640}
16641extern "C" {
16642 pub fn Tss2_MU_TPMU_SENSITIVE_COMPOSITE_Unmarshal(
16643 buffer: *const u8,
16644 buffer_size: size_t,
16645 offset: *mut size_t,
16646 selector_value: u32,
16647 dest: *mut TPMU_SENSITIVE_COMPOSITE,
16648 ) -> TSS2_RC;
16649}
16650extern "C" {
16651 pub fn Tss2_MU_TPMU_ENCRYPTED_SECRET_Marshal(
16652 src: *const TPMU_ENCRYPTED_SECRET,
16653 selector_value: u32,
16654 buffer: *mut u8,
16655 buffer_size: size_t,
16656 offset: *mut size_t,
16657 ) -> TSS2_RC;
16658}
16659extern "C" {
16660 pub fn Tss2_MU_TPMU_ENCRYPTED_SECRET_Unmarshal(
16661 buffer: *const u8,
16662 buffer_size: size_t,
16663 offset: *mut size_t,
16664 selector_value: u32,
16665 dest: *mut TPMU_ENCRYPTED_SECRET,
16666 ) -> TSS2_RC;
16667}
16668extern "C" {
16669 pub fn Tss2_MU_TPMU_PUBLIC_PARMS_Marshal(
16670 src: *const TPMU_PUBLIC_PARMS,
16671 selector_value: u32,
16672 buffer: *mut u8,
16673 buffer_size: size_t,
16674 offset: *mut size_t,
16675 ) -> TSS2_RC;
16676}
16677extern "C" {
16678 pub fn Tss2_MU_TPMU_PUBLIC_PARMS_Unmarshal(
16679 buffer: *const u8,
16680 buffer_size: size_t,
16681 offset: *mut size_t,
16682 selector_value: u32,
16683 dest: *mut TPMU_PUBLIC_PARMS,
16684 ) -> TSS2_RC;
16685}
16686extern "C" {
16687 pub fn Tss2_MU_TPMU_PUBLIC_ID_Marshal(
16688 src: *const TPMU_PUBLIC_ID,
16689 selector_value: u32,
16690 buffer: *mut u8,
16691 buffer_size: size_t,
16692 offset: *mut size_t,
16693 ) -> TSS2_RC;
16694}
16695extern "C" {
16696 pub fn Tss2_MU_TPMU_PUBLIC_ID_Unmarshal(
16697 buffer: *const u8,
16698 buffer_size: size_t,
16699 offset: *mut size_t,
16700 selector_value: u32,
16701 dest: *mut TPMU_PUBLIC_ID,
16702 ) -> TSS2_RC;
16703}
16704extern "C" {
16705 pub fn Tss2_MU_TPMU_NAME_Marshal(
16706 src: *const TPMU_NAME,
16707 selector_value: u32,
16708 buffer: *mut u8,
16709 buffer_size: size_t,
16710 offset: *mut size_t,
16711 ) -> TSS2_RC;
16712}
16713extern "C" {
16714 pub fn Tss2_MU_TPMU_NAME_Unmarshal(
16715 buffer: *const u8,
16716 buffer_size: size_t,
16717 offset: *mut size_t,
16718 selector_value: u32,
16719 dest: *mut TPMU_NAME,
16720 ) -> TSS2_RC;
16721}
16722extern "C" {
16723 pub fn Tss2_MU_TPMT_HA_Marshal(
16724 src: *const TPMT_HA,
16725 buffer: *mut u8,
16726 buffer_size: size_t,
16727 offset: *mut size_t,
16728 ) -> TSS2_RC;
16729}
16730extern "C" {
16731 pub fn Tss2_MU_TPMT_HA_Unmarshal(
16732 buffer: *const u8,
16733 buffer_size: size_t,
16734 offset: *mut size_t,
16735 dest: *mut TPMT_HA,
16736 ) -> TSS2_RC;
16737}
16738extern "C" {
16739 pub fn Tss2_MU_TPMT_SYM_DEF_Marshal(
16740 src: *const TPMT_SYM_DEF,
16741 buffer: *mut u8,
16742 buffer_size: size_t,
16743 offset: *mut size_t,
16744 ) -> TSS2_RC;
16745}
16746extern "C" {
16747 pub fn Tss2_MU_TPMT_SYM_DEF_Unmarshal(
16748 buffer: *const u8,
16749 buffer_size: size_t,
16750 offset: *mut size_t,
16751 dest: *mut TPMT_SYM_DEF,
16752 ) -> TSS2_RC;
16753}
16754extern "C" {
16755 pub fn Tss2_MU_TPMT_SYM_DEF_OBJECT_Marshal(
16756 src: *const TPMT_SYM_DEF_OBJECT,
16757 buffer: *mut u8,
16758 buffer_size: size_t,
16759 offset: *mut size_t,
16760 ) -> TSS2_RC;
16761}
16762extern "C" {
16763 pub fn Tss2_MU_TPMT_SYM_DEF_OBJECT_Unmarshal(
16764 buffer: *const u8,
16765 buffer_size: size_t,
16766 offset: *mut size_t,
16767 dest: *mut TPMT_SYM_DEF_OBJECT,
16768 ) -> TSS2_RC;
16769}
16770extern "C" {
16771 pub fn Tss2_MU_TPMT_KEYEDHASH_SCHEME_Marshal(
16772 src: *const TPMT_KEYEDHASH_SCHEME,
16773 buffer: *mut u8,
16774 buffer_size: size_t,
16775 offset: *mut size_t,
16776 ) -> TSS2_RC;
16777}
16778extern "C" {
16779 pub fn Tss2_MU_TPMT_KEYEDHASH_SCHEME_Unmarshal(
16780 buffer: *const u8,
16781 buffer_size: size_t,
16782 offset: *mut size_t,
16783 dest: *mut TPMT_KEYEDHASH_SCHEME,
16784 ) -> TSS2_RC;
16785}
16786extern "C" {
16787 pub fn Tss2_MU_TPMT_SIG_SCHEME_Marshal(
16788 src: *const TPMT_SIG_SCHEME,
16789 buffer: *mut u8,
16790 buffer_size: size_t,
16791 offset: *mut size_t,
16792 ) -> TSS2_RC;
16793}
16794extern "C" {
16795 pub fn Tss2_MU_TPMT_SIG_SCHEME_Unmarshal(
16796 buffer: *const u8,
16797 buffer_size: size_t,
16798 offset: *mut size_t,
16799 dest: *mut TPMT_SIG_SCHEME,
16800 ) -> TSS2_RC;
16801}
16802extern "C" {
16803 pub fn Tss2_MU_TPMT_KDF_SCHEME_Marshal(
16804 src: *const TPMT_KDF_SCHEME,
16805 buffer: *mut u8,
16806 buffer_size: size_t,
16807 offset: *mut size_t,
16808 ) -> TSS2_RC;
16809}
16810extern "C" {
16811 pub fn Tss2_MU_TPMT_KDF_SCHEME_Unmarshal(
16812 buffer: *const u8,
16813 buffer_size: size_t,
16814 offset: *mut size_t,
16815 dest: *mut TPMT_KDF_SCHEME,
16816 ) -> TSS2_RC;
16817}
16818extern "C" {
16819 pub fn Tss2_MU_TPMT_ASYM_SCHEME_Marshal(
16820 src: *const TPMT_ASYM_SCHEME,
16821 buffer: *mut u8,
16822 buffer_size: size_t,
16823 offset: *mut size_t,
16824 ) -> TSS2_RC;
16825}
16826extern "C" {
16827 pub fn Tss2_MU_TPMT_ASYM_SCHEME_Unmarshal(
16828 buffer: *const u8,
16829 buffer_size: size_t,
16830 offset: *mut size_t,
16831 dest: *mut TPMT_ASYM_SCHEME,
16832 ) -> TSS2_RC;
16833}
16834extern "C" {
16835 pub fn Tss2_MU_TPMT_RSA_SCHEME_Marshal(
16836 src: *const TPMT_RSA_SCHEME,
16837 buffer: *mut u8,
16838 buffer_size: size_t,
16839 offset: *mut size_t,
16840 ) -> TSS2_RC;
16841}
16842extern "C" {
16843 pub fn Tss2_MU_TPMT_RSA_SCHEME_Unmarshal(
16844 buffer: *const u8,
16845 buffer_size: size_t,
16846 offset: *mut size_t,
16847 dest: *mut TPMT_RSA_SCHEME,
16848 ) -> TSS2_RC;
16849}
16850extern "C" {
16851 pub fn Tss2_MU_TPMT_RSA_DECRYPT_Marshal(
16852 src: *const TPMT_RSA_DECRYPT,
16853 buffer: *mut u8,
16854 buffer_size: size_t,
16855 offset: *mut size_t,
16856 ) -> TSS2_RC;
16857}
16858extern "C" {
16859 pub fn Tss2_MU_TPMT_RSA_DECRYPT_Unmarshal(
16860 buffer: *const u8,
16861 buffer_size: size_t,
16862 offset: *mut size_t,
16863 dest: *mut TPMT_RSA_DECRYPT,
16864 ) -> TSS2_RC;
16865}
16866extern "C" {
16867 pub fn Tss2_MU_TPMT_ECC_SCHEME_Marshal(
16868 src: *const TPMT_ECC_SCHEME,
16869 buffer: *mut u8,
16870 buffer_size: size_t,
16871 offset: *mut size_t,
16872 ) -> TSS2_RC;
16873}
16874extern "C" {
16875 pub fn Tss2_MU_TPMT_ECC_SCHEME_Unmarshal(
16876 buffer: *const u8,
16877 buffer_size: size_t,
16878 offset: *mut size_t,
16879 dest: *mut TPMT_ECC_SCHEME,
16880 ) -> TSS2_RC;
16881}
16882extern "C" {
16883 pub fn Tss2_MU_TPMT_SIGNATURE_Marshal(
16884 src: *const TPMT_SIGNATURE,
16885 buffer: *mut u8,
16886 buffer_size: size_t,
16887 offset: *mut size_t,
16888 ) -> TSS2_RC;
16889}
16890extern "C" {
16891 pub fn Tss2_MU_TPMT_SIGNATURE_Unmarshal(
16892 buffer: *const u8,
16893 buffer_size: size_t,
16894 offset: *mut size_t,
16895 dest: *mut TPMT_SIGNATURE,
16896 ) -> TSS2_RC;
16897}
16898extern "C" {
16899 pub fn Tss2_MU_TPMT_SENSITIVE_Marshal(
16900 src: *const TPMT_SENSITIVE,
16901 buffer: *mut u8,
16902 buffer_size: size_t,
16903 offset: *mut size_t,
16904 ) -> TSS2_RC;
16905}
16906extern "C" {
16907 pub fn Tss2_MU_TPMT_SENSITIVE_Unmarshal(
16908 buffer: *const u8,
16909 buffer_size: size_t,
16910 offset: *mut size_t,
16911 dest: *mut TPMT_SENSITIVE,
16912 ) -> TSS2_RC;
16913}
16914extern "C" {
16915 pub fn Tss2_MU_TPMT_PUBLIC_Marshal(
16916 src: *const TPMT_PUBLIC,
16917 buffer: *mut u8,
16918 buffer_size: size_t,
16919 offset: *mut size_t,
16920 ) -> TSS2_RC;
16921}
16922extern "C" {
16923 pub fn Tss2_MU_TPMT_PUBLIC_Unmarshal(
16924 buffer: *const u8,
16925 buffer_size: size_t,
16926 offset: *mut size_t,
16927 dest: *mut TPMT_PUBLIC,
16928 ) -> TSS2_RC;
16929}
16930extern "C" {
16931 pub fn Tss2_MU_TPMT_PUBLIC_PARMS_Marshal(
16932 src: *const TPMT_PUBLIC_PARMS,
16933 buffer: *mut u8,
16934 buffer_size: size_t,
16935 offset: *mut size_t,
16936 ) -> TSS2_RC;
16937}
16938extern "C" {
16939 pub fn Tss2_MU_TPMT_PUBLIC_PARMS_Unmarshal(
16940 buffer: *const u8,
16941 buffer_size: size_t,
16942 offset: *mut size_t,
16943 dest: *mut TPMT_PUBLIC_PARMS,
16944 ) -> TSS2_RC;
16945}
16946extern "C" {
16947 pub fn Tss2_MU_TPMT_TK_CREATION_Marshal(
16948 src: *const TPMT_TK_CREATION,
16949 buffer: *mut u8,
16950 buffer_size: size_t,
16951 offset: *mut size_t,
16952 ) -> TSS2_RC;
16953}
16954extern "C" {
16955 pub fn Tss2_MU_TPMT_TK_CREATION_Unmarshal(
16956 buffer: *const u8,
16957 buffer_size: size_t,
16958 offset: *mut size_t,
16959 dest: *mut TPMT_TK_CREATION,
16960 ) -> TSS2_RC;
16961}
16962extern "C" {
16963 pub fn Tss2_MU_TPMT_TK_VERIFIED_Marshal(
16964 src: *const TPMT_TK_VERIFIED,
16965 buffer: *mut u8,
16966 buffer_size: size_t,
16967 offset: *mut size_t,
16968 ) -> TSS2_RC;
16969}
16970extern "C" {
16971 pub fn Tss2_MU_TPMT_TK_VERIFIED_Unmarshal(
16972 buffer: *const u8,
16973 buffer_size: size_t,
16974 offset: *mut size_t,
16975 dest: *mut TPMT_TK_VERIFIED,
16976 ) -> TSS2_RC;
16977}
16978extern "C" {
16979 pub fn Tss2_MU_TPMT_TK_AUTH_Marshal(
16980 src: *const TPMT_TK_AUTH,
16981 buffer: *mut u8,
16982 buffer_size: size_t,
16983 offset: *mut size_t,
16984 ) -> TSS2_RC;
16985}
16986extern "C" {
16987 pub fn Tss2_MU_TPMT_TK_AUTH_Unmarshal(
16988 buffer: *const u8,
16989 buffer_size: size_t,
16990 offset: *mut size_t,
16991 dest: *mut TPMT_TK_AUTH,
16992 ) -> TSS2_RC;
16993}
16994extern "C" {
16995 pub fn Tss2_MU_TPMT_TK_HASHCHECK_Marshal(
16996 src: *const TPMT_TK_HASHCHECK,
16997 buffer: *mut u8,
16998 buffer_size: size_t,
16999 offset: *mut size_t,
17000 ) -> TSS2_RC;
17001}
17002extern "C" {
17003 pub fn Tss2_MU_TPMT_TK_HASHCHECK_Unmarshal(
17004 buffer: *const u8,
17005 buffer_size: size_t,
17006 offset: *mut size_t,
17007 dest: *mut TPMT_TK_HASHCHECK,
17008 ) -> TSS2_RC;
17009}
17010extern "C" {
17011 pub fn Tss2_MU_TPM2_HANDLE_Marshal(
17012 in_: TPM2_HANDLE,
17013 buffer: *mut u8,
17014 size: size_t,
17015 offset: *mut size_t,
17016 ) -> TSS2_RC;
17017}
17018extern "C" {
17019 pub fn Tss2_MU_TPM2_HANDLE_Unmarshal(
17020 buffer: *const u8,
17021 size: size_t,
17022 offset: *mut size_t,
17023 out: *mut TPM2_HANDLE,
17024 ) -> TSS2_RC;
17025}
17026extern "C" {
17027 pub fn Tss2_MU_TPMI_ALG_HASH_Marshal(
17028 in_: TPMI_ALG_HASH,
17029 buffer: *mut u8,
17030 size: size_t,
17031 offset: *mut size_t,
17032 ) -> TSS2_RC;
17033}
17034extern "C" {
17035 pub fn Tss2_MU_TPMI_ALG_HASH_Unmarshal(
17036 buffer: *const u8,
17037 size: size_t,
17038 offset: *mut size_t,
17039 out: *mut TPMI_ALG_HASH,
17040 ) -> TSS2_RC;
17041}
17042extern "C" {
17043 pub fn Tss2_MU_BYTE_Marshal(
17044 in_: BYTE,
17045 buffer: *mut u8,
17046 size: size_t,
17047 offset: *mut size_t,
17048 ) -> TSS2_RC;
17049}
17050extern "C" {
17051 pub fn Tss2_MU_BYTE_Unmarshal(
17052 buffer: *const u8,
17053 size: size_t,
17054 offset: *mut size_t,
17055 out: *mut BYTE,
17056 ) -> TSS2_RC;
17057}
17058extern "C" {
17059 pub fn Tss2_MU_TPM2_SE_Marshal(
17060 in_: TPM2_SE,
17061 buffer: *mut u8,
17062 size: size_t,
17063 offset: *mut size_t,
17064 ) -> TSS2_RC;
17065}
17066extern "C" {
17067 pub fn Tss2_MU_TPM2_SE_Unmarshal(
17068 buffer: *const u8,
17069 size: size_t,
17070 offset: *mut size_t,
17071 out: *mut TPM2_SE,
17072 ) -> TSS2_RC;
17073}
17074extern "C" {
17075 pub fn Tss2_MU_TPM2_NT_Marshal(
17076 in_: TPM2_NT,
17077 buffer: *mut u8,
17078 size: size_t,
17079 offset: *mut size_t,
17080 ) -> TSS2_RC;
17081}
17082extern "C" {
17083 pub fn Tss2_MU_TPM2_NT_Unmarshal(
17084 buffer: *const u8,
17085 size: size_t,
17086 offset: *mut size_t,
17087 out: *mut TPM2_NT,
17088 ) -> TSS2_RC;
17089}
17090extern "C" {
17091 pub fn Tss2_MU_TPMS_EMPTY_Marshal(
17092 in_: *const TPMS_EMPTY,
17093 buffer: *mut u8,
17094 size: size_t,
17095 offset: *mut size_t,
17096 ) -> TSS2_RC;
17097}
17098extern "C" {
17099 pub fn Tss2_MU_TPMS_EMPTY_Unmarshal(
17100 buffer: *const u8,
17101 size: size_t,
17102 offset: *mut size_t,
17103 out: *mut TPMS_EMPTY,
17104 ) -> TSS2_RC;
17105}
17106extern "C" {
17107 pub fn Tss2_MU_TPM2B_MAX_CAP_BUFFER_Marshal(
17108 src: *const TPM2B_MAX_CAP_BUFFER,
17109 buffer: *mut u8,
17110 buffer_size: size_t,
17111 offset: *mut size_t,
17112 ) -> TSS2_RC;
17113}
17114extern "C" {
17115 pub fn Tss2_MU_TPM2B_MAX_CAP_BUFFER_Unmarshal(
17116 buffer: *const u8,
17117 buffer_size: size_t,
17118 offset: *mut size_t,
17119 dest: *mut TPM2B_MAX_CAP_BUFFER,
17120 ) -> TSS2_RC;
17121}
17122extern "C" {
17123 pub fn Tss2_MU_TPML_INTEL_PTT_PROPERTY_Marshal(
17124 src: *const TPML_INTEL_PTT_PROPERTY,
17125 buffer: *mut u8,
17126 buffer_size: size_t,
17127 offset: *mut size_t,
17128 ) -> TSS2_RC;
17129}
17130extern "C" {
17131 pub fn Tss2_MU_TPML_INTEL_PTT_PROPERTY_Unmarshal(
17132 buffer: *const u8,
17133 buffer_size: size_t,
17134 offset: *mut size_t,
17135 dest: *mut TPML_INTEL_PTT_PROPERTY,
17136 ) -> TSS2_RC;
17137}