1pub const _STDINT_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC2X: u32 = 0;
7pub const __USE_ISOC11: u32 = 1;
8pub const __USE_ISOC99: u32 = 1;
9pub const __USE_ISOC95: u32 = 1;
10pub const __USE_POSIX_IMPLICITLY: u32 = 1;
11pub const _POSIX_SOURCE: u32 = 1;
12pub const _POSIX_C_SOURCE: u32 = 200809;
13pub const __USE_POSIX: u32 = 1;
14pub const __USE_POSIX2: u32 = 1;
15pub const __USE_POSIX199309: u32 = 1;
16pub const __USE_POSIX199506: u32 = 1;
17pub const __USE_XOPEN2K: u32 = 1;
18pub const __USE_XOPEN2K8: u32 = 1;
19pub const _ATFILE_SOURCE: u32 = 1;
20pub const __USE_MISC: u32 = 1;
21pub const __USE_ATFILE: u32 = 1;
22pub const __USE_FORTIFY_LEVEL: u32 = 0;
23pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
24pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
25pub const _STDC_PREDEF_H: u32 = 1;
26pub const __STDC_IEC_559__: u32 = 1;
27pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
28pub const __STDC_ISO_10646__: u32 = 201706;
29pub const __GNU_LIBRARY__: u32 = 6;
30pub const __GLIBC__: u32 = 2;
31pub const __GLIBC_MINOR__: u32 = 31;
32pub const _SYS_CDEFS_H: u32 = 1;
33pub const __glibc_c99_flexarr_available: u32 = 1;
34pub const __WORDSIZE: u32 = 64;
35pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
36pub const __SYSCALL_WORDSIZE: u32 = 64;
37pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0;
38pub const __HAVE_GENERIC_SELECTION: u32 = 1;
39pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
40pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
41pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
42pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
43pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
45pub const _BITS_TYPES_H: u32 = 1;
46pub const __TIMESIZE: u32 = 64;
47pub const _BITS_TYPESIZES_H: u32 = 1;
48pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
49pub const __INO_T_MATCHES_INO64_T: u32 = 1;
50pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
51pub const __STATFS_MATCHES_STATFS64: u32 = 1;
52pub const __FD_SETSIZE: u32 = 1024;
53pub const _BITS_TIME64_H: u32 = 1;
54pub const _BITS_WCHAR_H: u32 = 1;
55pub const _BITS_STDINT_INTN_H: u32 = 1;
56pub const _BITS_STDINT_UINTN_H: u32 = 1;
57pub const INT8_MIN: i32 = -128;
58pub const INT16_MIN: i32 = -32768;
59pub const INT32_MIN: i32 = -2147483648;
60pub const INT8_MAX: u32 = 127;
61pub const INT16_MAX: u32 = 32767;
62pub const INT32_MAX: u32 = 2147483647;
63pub const UINT8_MAX: u32 = 255;
64pub const UINT16_MAX: u32 = 65535;
65pub const UINT32_MAX: u32 = 4294967295;
66pub const INT_LEAST8_MIN: i32 = -128;
67pub const INT_LEAST16_MIN: i32 = -32768;
68pub const INT_LEAST32_MIN: i32 = -2147483648;
69pub const INT_LEAST8_MAX: u32 = 127;
70pub const INT_LEAST16_MAX: u32 = 32767;
71pub const INT_LEAST32_MAX: u32 = 2147483647;
72pub const UINT_LEAST8_MAX: u32 = 255;
73pub const UINT_LEAST16_MAX: u32 = 65535;
74pub const UINT_LEAST32_MAX: u32 = 4294967295;
75pub const INT_FAST8_MIN: i32 = -128;
76pub const INT_FAST16_MIN: i64 = -9223372036854775808;
77pub const INT_FAST32_MIN: i64 = -9223372036854775808;
78pub const INT_FAST8_MAX: u32 = 127;
79pub const INT_FAST16_MAX: u64 = 9223372036854775807;
80pub const INT_FAST32_MAX: u64 = 9223372036854775807;
81pub const UINT_FAST8_MAX: u32 = 255;
82pub const UINT_FAST16_MAX: i32 = -1;
83pub const UINT_FAST32_MAX: i32 = -1;
84pub const INTPTR_MIN: i64 = -9223372036854775808;
85pub const INTPTR_MAX: u64 = 9223372036854775807;
86pub const UINTPTR_MAX: i32 = -1;
87pub const PTRDIFF_MIN: i64 = -9223372036854775808;
88pub const PTRDIFF_MAX: u64 = 9223372036854775807;
89pub const SIG_ATOMIC_MIN: i32 = -2147483648;
90pub const SIG_ATOMIC_MAX: u32 = 2147483647;
91pub const SIZE_MAX: i32 = -1;
92pub const WINT_MIN: u32 = 0;
93pub const WINT_MAX: u32 = 4294967295;
94pub const TSS2_RC_LAYER_SHIFT: u32 = 16;
95pub const TSS2_BASE_RC_GENERAL_FAILURE: u32 = 1;
96pub const TSS2_BASE_RC_NOT_IMPLEMENTED: u32 = 2;
97pub const TSS2_BASE_RC_BAD_CONTEXT: u32 = 3;
98pub const TSS2_BASE_RC_ABI_MISMATCH: u32 = 4;
99pub const TSS2_BASE_RC_BAD_REFERENCE: u32 = 5;
100pub const TSS2_BASE_RC_INSUFFICIENT_BUFFER: u32 = 6;
101pub const TSS2_BASE_RC_BAD_SEQUENCE: u32 = 7;
102pub const TSS2_BASE_RC_NO_CONNECTION: u32 = 8;
103pub const TSS2_BASE_RC_TRY_AGAIN: u32 = 9;
104pub const TSS2_BASE_RC_IO_ERROR: u32 = 10;
105pub const TSS2_BASE_RC_BAD_VALUE: u32 = 11;
106pub const TSS2_BASE_RC_NOT_PERMITTED: u32 = 12;
107pub const TSS2_BASE_RC_INVALID_SESSIONS: u32 = 13;
108pub const TSS2_BASE_RC_NO_DECRYPT_PARAM: u32 = 14;
109pub const TSS2_BASE_RC_NO_ENCRYPT_PARAM: u32 = 15;
110pub const TSS2_BASE_RC_BAD_SIZE: u32 = 16;
111pub const TSS2_BASE_RC_MALFORMED_RESPONSE: u32 = 17;
112pub const TSS2_BASE_RC_INSUFFICIENT_CONTEXT: u32 = 18;
113pub const TSS2_BASE_RC_INSUFFICIENT_RESPONSE: u32 = 19;
114pub const TSS2_BASE_RC_INCOMPATIBLE_TCTI: u32 = 20;
115pub const TSS2_BASE_RC_NOT_SUPPORTED: u32 = 21;
116pub const TSS2_BASE_RC_BAD_TCTI_STRUCTURE: u32 = 22;
117pub const TSS2_BASE_RC_MEMORY: u32 = 23;
118pub const TSS2_BASE_RC_BAD_TR: u32 = 24;
119pub const TSS2_BASE_RC_MULTIPLE_DECRYPT_SESSIONS: u32 = 25;
120pub const TSS2_BASE_RC_MULTIPLE_ENCRYPT_SESSIONS: u32 = 26;
121pub const TSS2_BASE_RC_RSP_AUTH_FAILED: u32 = 27;
122pub const TSS2_BASE_RC_NO_CONFIG: u32 = 28;
123pub const TSS2_BASE_RC_BAD_PATH: u32 = 29;
124pub const TSS2_BASE_RC_NOT_DELETABLE: u32 = 30;
125pub const TSS2_BASE_RC_PATH_ALREADY_EXISTS: u32 = 31;
126pub const TSS2_BASE_RC_KEY_NOT_FOUND: u32 = 32;
127pub const TSS2_BASE_RC_SIGNATURE_VERIFICATION_FAILED: u32 = 33;
128pub const TSS2_BASE_RC_HASH_MISMATCH: u32 = 34;
129pub const TSS2_BASE_RC_KEY_NOT_DUPLICABLE: u32 = 35;
130pub const TSS2_BASE_RC_PATH_NOT_FOUND: u32 = 36;
131pub const TSS2_BASE_RC_NO_CERT: u32 = 37;
132pub const TSS2_BASE_RC_NO_PCR: u32 = 38;
133pub const TSS2_BASE_RC_PCR_NOT_RESETTABLE: u32 = 39;
134pub const TSS2_BASE_RC_BAD_TEMPLATE: u32 = 40;
135pub const TSS2_BASE_RC_AUTHORIZATION_FAILED: u32 = 41;
136pub const TSS2_BASE_RC_AUTHORIZATION_UNKNOWN: u32 = 42;
137pub const TSS2_BASE_RC_NV_NOT_READABLE: u32 = 43;
138pub const TSS2_BASE_RC_NV_TOO_SMALL: u32 = 44;
139pub const TSS2_BASE_RC_NV_NOT_WRITEABLE: u32 = 45;
140pub const TSS2_BASE_RC_POLICY_UNKNOWN: u32 = 46;
141pub const TSS2_BASE_RC_NV_WRONG_TYPE: u32 = 47;
142pub const TSS2_BASE_RC_NAME_ALREADY_EXISTS: u32 = 48;
143pub const TSS2_BASE_RC_NO_TPM: u32 = 49;
144pub const TSS2_BASE_RC_BAD_KEY: u32 = 50;
145pub const TSS2_BASE_RC_NO_HANDLE: u32 = 51;
146pub const TSS2_LAYER_IMPLEMENTATION_SPECIFIC_OFFSET: u32 = 63488;
147pub const TSS2_LEVEL_IMPLEMENTATION_SPECIFIC_SHIFT: u32 = 11;
148pub const TPM2_MAX_COMMAND_SIZE: u32 = 4096;
149pub const TPM2_MAX_RESPONSE_SIZE: u32 = 4096;
150pub const TPM2_NUM_PCR_BANKS: u32 = 16;
151pub const TPM2_MAX_DIGEST_BUFFER: u32 = 1024;
152pub const TPM2_MAX_NV_BUFFER_SIZE: u32 = 2048;
153pub const TPM2_MAX_PCRS: u32 = 32;
154pub const TPM2_MAX_ALG_LIST_SIZE: u32 = 128;
155pub const TPM2_MAX_CAP_CC: u32 = 256;
156pub const TPM2_MAX_CAP_BUFFER: u32 = 1024;
157pub const TPM2_MAX_CONTEXT_SIZE: u32 = 5120;
158pub const TPM2_SHA_DIGEST_SIZE: u32 = 20;
159pub const TPM2_SHA1_DIGEST_SIZE: u32 = 20;
160pub const TPM2_SHA256_DIGEST_SIZE: u32 = 32;
161pub const TPM2_SHA384_DIGEST_SIZE: u32 = 48;
162pub const TPM2_SHA512_DIGEST_SIZE: u32 = 64;
163pub const TPM2_SM3_256_DIGEST_SIZE: u32 = 32;
164pub const TPM2_MAX_SYM_BLOCK_SIZE: u32 = 16;
165pub const TPM2_MAX_SYM_DATA: u32 = 256;
166pub const TPM2_MAX_ECC_KEY_BYTES: u32 = 128;
167pub const TPM2_MAX_SYM_KEY_BYTES: u32 = 32;
168pub const TPM2_MAX_RSA_KEY_BYTES: u32 = 512;
169pub const TPM2_LABEL_MAX_BUFFER: u32 = 32;
170pub const TPM2_PCR_SELECT_MAX: u32 = 4;
171pub const TPM2_PRIVATE_VENDOR_SPECIFIC_BYTES: u32 = 1280;
172pub const TPMA_LOCALITY_EXTENDED_SHIFT: u32 = 5;
173pub const TPMA_CC_COMMANDINDEX_SHIFT: u32 = 0;
174pub const TPMA_CC_CHANDLES_SHIFT: u32 = 25;
175pub const TPMA_CC_RES_SHIFT: u32 = 30;
176pub const TPM2_NO: u32 = 0;
177pub const TPM2_YES: u32 = 1;
178pub const TPM2_NV_INDEX_INDEX_SHIFT: u32 = 0;
179pub const TPM2_NV_INDEX_RH_NV_SHIFT: u32 = 24;
180pub const TPMA_NV_TPM2_NT_SHIFT: u32 = 4;
181pub const _SYS_POLL_H: u32 = 1;
182pub const POLLIN: u32 = 1;
183pub const POLLPRI: u32 = 2;
184pub const POLLOUT: u32 = 4;
185pub const POLLRDNORM: u32 = 64;
186pub const POLLRDBAND: u32 = 128;
187pub const POLLWRNORM: u32 = 256;
188pub const POLLWRBAND: u32 = 512;
189pub const POLLERR: u32 = 8;
190pub const POLLHUP: u32 = 16;
191pub const POLLNVAL: u32 = 32;
192pub const TSS2_TCTI_TIMEOUT_BLOCK: i32 = -1;
193pub const TSS2_TCTI_TIMEOUT_NONE: u32 = 0;
194pub const TSS2_TCTI_INFO_SYMBOL: &[u8; 15] = b"Tss2_Tcti_Info\0";
195pub const TSS2_SYS_MAX_SESSIONS: u32 = 3;
196pub const ESYS_TR_NONE: u32 = 4095;
197pub const ESYS_TR_PASSWORD: u32 = 255;
198pub const ESYS_TR_PCR0: u32 = 0;
199pub const ESYS_TR_PCR1: u32 = 1;
200pub const ESYS_TR_PCR2: u32 = 2;
201pub const ESYS_TR_PCR3: u32 = 3;
202pub const ESYS_TR_PCR4: u32 = 4;
203pub const ESYS_TR_PCR5: u32 = 5;
204pub const ESYS_TR_PCR6: u32 = 6;
205pub const ESYS_TR_PCR7: u32 = 7;
206pub const ESYS_TR_PCR8: u32 = 8;
207pub const ESYS_TR_PCR9: u32 = 9;
208pub const ESYS_TR_PCR10: u32 = 10;
209pub const ESYS_TR_PCR11: u32 = 11;
210pub const ESYS_TR_PCR12: u32 = 12;
211pub const ESYS_TR_PCR13: u32 = 13;
212pub const ESYS_TR_PCR14: u32 = 14;
213pub const ESYS_TR_PCR15: u32 = 15;
214pub const ESYS_TR_PCR16: u32 = 16;
215pub const ESYS_TR_PCR17: u32 = 17;
216pub const ESYS_TR_PCR18: u32 = 18;
217pub const ESYS_TR_PCR19: u32 = 19;
218pub const ESYS_TR_PCR20: u32 = 20;
219pub const ESYS_TR_PCR21: u32 = 21;
220pub const ESYS_TR_PCR22: u32 = 22;
221pub const ESYS_TR_PCR23: u32 = 23;
222pub const ESYS_TR_PCR24: u32 = 24;
223pub const ESYS_TR_PCR25: u32 = 25;
224pub const ESYS_TR_PCR26: u32 = 26;
225pub const ESYS_TR_PCR27: u32 = 27;
226pub const ESYS_TR_PCR28: u32 = 28;
227pub const ESYS_TR_PCR29: u32 = 29;
228pub const ESYS_TR_PCR30: u32 = 30;
229pub const ESYS_TR_PCR31: u32 = 31;
230pub const ESYS_TR_RH_OWNER: u32 = 257;
231pub const ESYS_TR_RH_NULL: u32 = 263;
232pub const ESYS_TR_RH_LOCKOUT: u32 = 266;
233pub const ESYS_TR_RH_ENDORSEMENT: u32 = 267;
234pub const ESYS_TR_RH_PLATFORM: u32 = 268;
235pub const ESYS_TR_RH_PLATFORM_NV: u32 = 269;
236pub const ESYS_TR_RH_AUTH_FIRST: u32 = 272;
237pub const ESYS_TR_MIN_OBJECT: u32 = 4096;
238pub const _INTTYPES_H: u32 = 1;
239pub const ____gwchar_t_defined: u32 = 1;
240pub const __PRI64_PREFIX: &[u8; 2] = b"l\0";
241pub const __PRIPTR_PREFIX: &[u8; 2] = b"l\0";
242pub const PRId8: &[u8; 2] = b"d\0";
243pub const PRId16: &[u8; 2] = b"d\0";
244pub const PRId32: &[u8; 2] = b"d\0";
245pub const PRId64: &[u8; 3] = b"ld\0";
246pub const PRIdLEAST8: &[u8; 2] = b"d\0";
247pub const PRIdLEAST16: &[u8; 2] = b"d\0";
248pub const PRIdLEAST32: &[u8; 2] = b"d\0";
249pub const PRIdLEAST64: &[u8; 3] = b"ld\0";
250pub const PRIdFAST8: &[u8; 2] = b"d\0";
251pub const PRIdFAST16: &[u8; 3] = b"ld\0";
252pub const PRIdFAST32: &[u8; 3] = b"ld\0";
253pub const PRIdFAST64: &[u8; 3] = b"ld\0";
254pub const PRIi8: &[u8; 2] = b"i\0";
255pub const PRIi16: &[u8; 2] = b"i\0";
256pub const PRIi32: &[u8; 2] = b"i\0";
257pub const PRIi64: &[u8; 3] = b"li\0";
258pub const PRIiLEAST8: &[u8; 2] = b"i\0";
259pub const PRIiLEAST16: &[u8; 2] = b"i\0";
260pub const PRIiLEAST32: &[u8; 2] = b"i\0";
261pub const PRIiLEAST64: &[u8; 3] = b"li\0";
262pub const PRIiFAST8: &[u8; 2] = b"i\0";
263pub const PRIiFAST16: &[u8; 3] = b"li\0";
264pub const PRIiFAST32: &[u8; 3] = b"li\0";
265pub const PRIiFAST64: &[u8; 3] = b"li\0";
266pub const PRIo8: &[u8; 2] = b"o\0";
267pub const PRIo16: &[u8; 2] = b"o\0";
268pub const PRIo32: &[u8; 2] = b"o\0";
269pub const PRIo64: &[u8; 3] = b"lo\0";
270pub const PRIoLEAST8: &[u8; 2] = b"o\0";
271pub const PRIoLEAST16: &[u8; 2] = b"o\0";
272pub const PRIoLEAST32: &[u8; 2] = b"o\0";
273pub const PRIoLEAST64: &[u8; 3] = b"lo\0";
274pub const PRIoFAST8: &[u8; 2] = b"o\0";
275pub const PRIoFAST16: &[u8; 3] = b"lo\0";
276pub const PRIoFAST32: &[u8; 3] = b"lo\0";
277pub const PRIoFAST64: &[u8; 3] = b"lo\0";
278pub const PRIu8: &[u8; 2] = b"u\0";
279pub const PRIu16: &[u8; 2] = b"u\0";
280pub const PRIu32: &[u8; 2] = b"u\0";
281pub const PRIu64: &[u8; 3] = b"lu\0";
282pub const PRIuLEAST8: &[u8; 2] = b"u\0";
283pub const PRIuLEAST16: &[u8; 2] = b"u\0";
284pub const PRIuLEAST32: &[u8; 2] = b"u\0";
285pub const PRIuLEAST64: &[u8; 3] = b"lu\0";
286pub const PRIuFAST8: &[u8; 2] = b"u\0";
287pub const PRIuFAST16: &[u8; 3] = b"lu\0";
288pub const PRIuFAST32: &[u8; 3] = b"lu\0";
289pub const PRIuFAST64: &[u8; 3] = b"lu\0";
290pub const PRIx8: &[u8; 2] = b"x\0";
291pub const PRIx16: &[u8; 2] = b"x\0";
292pub const PRIx32: &[u8; 2] = b"x\0";
293pub const PRIx64: &[u8; 3] = b"lx\0";
294pub const PRIxLEAST8: &[u8; 2] = b"x\0";
295pub const PRIxLEAST16: &[u8; 2] = b"x\0";
296pub const PRIxLEAST32: &[u8; 2] = b"x\0";
297pub const PRIxLEAST64: &[u8; 3] = b"lx\0";
298pub const PRIxFAST8: &[u8; 2] = b"x\0";
299pub const PRIxFAST16: &[u8; 3] = b"lx\0";
300pub const PRIxFAST32: &[u8; 3] = b"lx\0";
301pub const PRIxFAST64: &[u8; 3] = b"lx\0";
302pub const PRIX8: &[u8; 2] = b"X\0";
303pub const PRIX16: &[u8; 2] = b"X\0";
304pub const PRIX32: &[u8; 2] = b"X\0";
305pub const PRIX64: &[u8; 3] = b"lX\0";
306pub const PRIXLEAST8: &[u8; 2] = b"X\0";
307pub const PRIXLEAST16: &[u8; 2] = b"X\0";
308pub const PRIXLEAST32: &[u8; 2] = b"X\0";
309pub const PRIXLEAST64: &[u8; 3] = b"lX\0";
310pub const PRIXFAST8: &[u8; 2] = b"X\0";
311pub const PRIXFAST16: &[u8; 3] = b"lX\0";
312pub const PRIXFAST32: &[u8; 3] = b"lX\0";
313pub const PRIXFAST64: &[u8; 3] = b"lX\0";
314pub const PRIdMAX: &[u8; 3] = b"ld\0";
315pub const PRIiMAX: &[u8; 3] = b"li\0";
316pub const PRIoMAX: &[u8; 3] = b"lo\0";
317pub const PRIuMAX: &[u8; 3] = b"lu\0";
318pub const PRIxMAX: &[u8; 3] = b"lx\0";
319pub const PRIXMAX: &[u8; 3] = b"lX\0";
320pub const PRIdPTR: &[u8; 3] = b"ld\0";
321pub const PRIiPTR: &[u8; 3] = b"li\0";
322pub const PRIoPTR: &[u8; 3] = b"lo\0";
323pub const PRIuPTR: &[u8; 3] = b"lu\0";
324pub const PRIxPTR: &[u8; 3] = b"lx\0";
325pub const PRIXPTR: &[u8; 3] = b"lX\0";
326pub const SCNd8: &[u8; 4] = b"hhd\0";
327pub const SCNd16: &[u8; 3] = b"hd\0";
328pub const SCNd32: &[u8; 2] = b"d\0";
329pub const SCNd64: &[u8; 3] = b"ld\0";
330pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
331pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
332pub const SCNdLEAST32: &[u8; 2] = b"d\0";
333pub const SCNdLEAST64: &[u8; 3] = b"ld\0";
334pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
335pub const SCNdFAST16: &[u8; 3] = b"ld\0";
336pub const SCNdFAST32: &[u8; 3] = b"ld\0";
337pub const SCNdFAST64: &[u8; 3] = b"ld\0";
338pub const SCNi8: &[u8; 4] = b"hhi\0";
339pub const SCNi16: &[u8; 3] = b"hi\0";
340pub const SCNi32: &[u8; 2] = b"i\0";
341pub const SCNi64: &[u8; 3] = b"li\0";
342pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
343pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
344pub const SCNiLEAST32: &[u8; 2] = b"i\0";
345pub const SCNiLEAST64: &[u8; 3] = b"li\0";
346pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
347pub const SCNiFAST16: &[u8; 3] = b"li\0";
348pub const SCNiFAST32: &[u8; 3] = b"li\0";
349pub const SCNiFAST64: &[u8; 3] = b"li\0";
350pub const SCNu8: &[u8; 4] = b"hhu\0";
351pub const SCNu16: &[u8; 3] = b"hu\0";
352pub const SCNu32: &[u8; 2] = b"u\0";
353pub const SCNu64: &[u8; 3] = b"lu\0";
354pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
355pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
356pub const SCNuLEAST32: &[u8; 2] = b"u\0";
357pub const SCNuLEAST64: &[u8; 3] = b"lu\0";
358pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
359pub const SCNuFAST16: &[u8; 3] = b"lu\0";
360pub const SCNuFAST32: &[u8; 3] = b"lu\0";
361pub const SCNuFAST64: &[u8; 3] = b"lu\0";
362pub const SCNo8: &[u8; 4] = b"hho\0";
363pub const SCNo16: &[u8; 3] = b"ho\0";
364pub const SCNo32: &[u8; 2] = b"o\0";
365pub const SCNo64: &[u8; 3] = b"lo\0";
366pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
367pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
368pub const SCNoLEAST32: &[u8; 2] = b"o\0";
369pub const SCNoLEAST64: &[u8; 3] = b"lo\0";
370pub const SCNoFAST8: &[u8; 4] = b"hho\0";
371pub const SCNoFAST16: &[u8; 3] = b"lo\0";
372pub const SCNoFAST32: &[u8; 3] = b"lo\0";
373pub const SCNoFAST64: &[u8; 3] = b"lo\0";
374pub const SCNx8: &[u8; 4] = b"hhx\0";
375pub const SCNx16: &[u8; 3] = b"hx\0";
376pub const SCNx32: &[u8; 2] = b"x\0";
377pub const SCNx64: &[u8; 3] = b"lx\0";
378pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
379pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
380pub const SCNxLEAST32: &[u8; 2] = b"x\0";
381pub const SCNxLEAST64: &[u8; 3] = b"lx\0";
382pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
383pub const SCNxFAST16: &[u8; 3] = b"lx\0";
384pub const SCNxFAST32: &[u8; 3] = b"lx\0";
385pub const SCNxFAST64: &[u8; 3] = b"lx\0";
386pub const SCNdMAX: &[u8; 3] = b"ld\0";
387pub const SCNiMAX: &[u8; 3] = b"li\0";
388pub const SCNoMAX: &[u8; 3] = b"lo\0";
389pub const SCNuMAX: &[u8; 3] = b"lu\0";
390pub const SCNxMAX: &[u8; 3] = b"lx\0";
391pub const SCNdPTR: &[u8; 3] = b"ld\0";
392pub const SCNiPTR: &[u8; 3] = b"li\0";
393pub const SCNoPTR: &[u8; 3] = b"lo\0";
394pub const SCNuPTR: &[u8; 3] = b"lu\0";
395pub const SCNxPTR: &[u8; 3] = b"lx\0";
396pub const _STDLIB_H: u32 = 1;
397pub const WNOHANG: u32 = 1;
398pub const WUNTRACED: u32 = 2;
399pub const WSTOPPED: u32 = 2;
400pub const WEXITED: u32 = 4;
401pub const WCONTINUED: u32 = 8;
402pub const WNOWAIT: u32 = 16777216;
403pub const __WNOTHREAD: u32 = 536870912;
404pub const __WALL: u32 = 1073741824;
405pub const __WCLONE: u32 = 2147483648;
406pub const __ENUM_IDTYPE_T: u32 = 1;
407pub const __W_CONTINUED: u32 = 65535;
408pub const __WCOREFLAG: u32 = 128;
409pub const __HAVE_FLOAT128: u32 = 0;
410pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
411pub const __HAVE_FLOAT64X: u32 = 1;
412pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
413pub const __HAVE_FLOAT16: u32 = 0;
414pub const __HAVE_FLOAT32: u32 = 1;
415pub const __HAVE_FLOAT64: u32 = 1;
416pub const __HAVE_FLOAT32X: u32 = 1;
417pub const __HAVE_FLOAT128X: u32 = 0;
418pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
419pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
420pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
421pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
422pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
423pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
424pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
425pub const __ldiv_t_defined: u32 = 1;
426pub const __lldiv_t_defined: u32 = 1;
427pub const RAND_MAX: u32 = 2147483647;
428pub const EXIT_FAILURE: u32 = 1;
429pub const EXIT_SUCCESS: u32 = 0;
430pub const _SYS_TYPES_H: u32 = 1;
431pub const __clock_t_defined: u32 = 1;
432pub const __clockid_t_defined: u32 = 1;
433pub const __time_t_defined: u32 = 1;
434pub const __timer_t_defined: u32 = 1;
435pub const __BIT_TYPES_DEFINED__: u32 = 1;
436pub const _ENDIAN_H: u32 = 1;
437pub const _BITS_ENDIAN_H: u32 = 1;
438pub const __LITTLE_ENDIAN: u32 = 1234;
439pub const __BIG_ENDIAN: u32 = 4321;
440pub const __PDP_ENDIAN: u32 = 3412;
441pub const _BITS_ENDIANNESS_H: u32 = 1;
442pub const __BYTE_ORDER: u32 = 1234;
443pub const __FLOAT_WORD_ORDER: u32 = 1234;
444pub const LITTLE_ENDIAN: u32 = 1234;
445pub const BIG_ENDIAN: u32 = 4321;
446pub const PDP_ENDIAN: u32 = 3412;
447pub const BYTE_ORDER: u32 = 1234;
448pub const _BITS_BYTESWAP_H: u32 = 1;
449pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
450pub const _SYS_SELECT_H: u32 = 1;
451pub const __FD_ZERO_STOS: &[u8; 6] = b"stosq\0";
452pub const __sigset_t_defined: u32 = 1;
453pub const __timeval_defined: u32 = 1;
454pub const _STRUCT_TIMESPEC: u32 = 1;
455pub const FD_SETSIZE: u32 = 1024;
456pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
457pub const _THREAD_SHARED_TYPES_H: u32 = 1;
458pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
459pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
460pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
461pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
462pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
463pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
464pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
465pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
466pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
467pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
468pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
469pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
470pub const __have_pthread_attr_t: u32 = 1;
471pub const _ALLOCA_H: u32 = 1;
472pub type __u_char = ::std::os::raw::c_uchar;
473pub type __u_short = ::std::os::raw::c_ushort;
474pub type __u_int = ::std::os::raw::c_uint;
475pub type __u_long = ::std::os::raw::c_ulong;
476pub type __int8_t = ::std::os::raw::c_schar;
477pub type __uint8_t = ::std::os::raw::c_uchar;
478pub type __int16_t = ::std::os::raw::c_short;
479pub type __uint16_t = ::std::os::raw::c_ushort;
480pub type __int32_t = ::std::os::raw::c_int;
481pub type __uint32_t = ::std::os::raw::c_uint;
482pub type __int64_t = ::std::os::raw::c_long;
483pub type __uint64_t = ::std::os::raw::c_ulong;
484pub type __int_least8_t = __int8_t;
485pub type __uint_least8_t = __uint8_t;
486pub type __int_least16_t = __int16_t;
487pub type __uint_least16_t = __uint16_t;
488pub type __int_least32_t = __int32_t;
489pub type __uint_least32_t = __uint32_t;
490pub type __int_least64_t = __int64_t;
491pub type __uint_least64_t = __uint64_t;
492pub type __quad_t = ::std::os::raw::c_long;
493pub type __u_quad_t = ::std::os::raw::c_ulong;
494pub type __intmax_t = ::std::os::raw::c_long;
495pub type __uintmax_t = ::std::os::raw::c_ulong;
496pub type __dev_t = ::std::os::raw::c_ulong;
497pub type __uid_t = ::std::os::raw::c_uint;
498pub type __gid_t = ::std::os::raw::c_uint;
499pub type __ino_t = ::std::os::raw::c_ulong;
500pub type __ino64_t = ::std::os::raw::c_ulong;
501pub type __mode_t = ::std::os::raw::c_uint;
502pub type __nlink_t = ::std::os::raw::c_ulong;
503pub type __off_t = ::std::os::raw::c_long;
504pub type __off64_t = ::std::os::raw::c_long;
505pub type __pid_t = ::std::os::raw::c_int;
506#[repr(C)]
507#[derive(Debug, Default, Copy, Clone)]
508pub struct __fsid_t {
509 pub __val: [::std::os::raw::c_int; 2usize],
510}
511#[test]
512fn bindgen_test_layout___fsid_t() {
513 const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
514 let ptr = UNINIT.as_ptr();
515 assert_eq!(
516 ::std::mem::size_of::<__fsid_t>(),
517 8usize,
518 concat!("Size of: ", stringify!(__fsid_t))
519 );
520 assert_eq!(
521 ::std::mem::align_of::<__fsid_t>(),
522 4usize,
523 concat!("Alignment of ", stringify!(__fsid_t))
524 );
525 assert_eq!(
526 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
527 0usize,
528 concat!(
529 "Offset of field: ",
530 stringify!(__fsid_t),
531 "::",
532 stringify!(__val)
533 )
534 );
535}
536pub type __clock_t = ::std::os::raw::c_long;
537pub type __rlim_t = ::std::os::raw::c_ulong;
538pub type __rlim64_t = ::std::os::raw::c_ulong;
539pub type __id_t = ::std::os::raw::c_uint;
540pub type __time_t = ::std::os::raw::c_long;
541pub type __useconds_t = ::std::os::raw::c_uint;
542pub type __suseconds_t = ::std::os::raw::c_long;
543pub type __daddr_t = ::std::os::raw::c_int;
544pub type __key_t = ::std::os::raw::c_int;
545pub type __clockid_t = ::std::os::raw::c_int;
546pub type __timer_t = *mut ::std::os::raw::c_void;
547pub type __blksize_t = ::std::os::raw::c_long;
548pub type __blkcnt_t = ::std::os::raw::c_long;
549pub type __blkcnt64_t = ::std::os::raw::c_long;
550pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
551pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
552pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
553pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
554pub type __fsword_t = ::std::os::raw::c_long;
555pub type __ssize_t = ::std::os::raw::c_long;
556pub type __syscall_slong_t = ::std::os::raw::c_long;
557pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
558pub type __loff_t = __off64_t;
559pub type __caddr_t = *mut ::std::os::raw::c_char;
560pub type __intptr_t = ::std::os::raw::c_long;
561pub type __socklen_t = ::std::os::raw::c_uint;
562pub type __sig_atomic_t = ::std::os::raw::c_int;
563pub type int_least8_t = __int_least8_t;
564pub type int_least16_t = __int_least16_t;
565pub type int_least32_t = __int_least32_t;
566pub type int_least64_t = __int_least64_t;
567pub type uint_least8_t = __uint_least8_t;
568pub type uint_least16_t = __uint_least16_t;
569pub type uint_least32_t = __uint_least32_t;
570pub type uint_least64_t = __uint_least64_t;
571pub type int_fast8_t = ::std::os::raw::c_schar;
572pub type int_fast16_t = ::std::os::raw::c_long;
573pub type int_fast32_t = ::std::os::raw::c_long;
574pub type int_fast64_t = ::std::os::raw::c_long;
575pub type uint_fast8_t = ::std::os::raw::c_uchar;
576pub type uint_fast16_t = ::std::os::raw::c_ulong;
577pub type uint_fast32_t = ::std::os::raw::c_ulong;
578pub type uint_fast64_t = ::std::os::raw::c_ulong;
579pub type intmax_t = __intmax_t;
580pub type uintmax_t = __uintmax_t;
581pub type size_t = ::std::os::raw::c_ulong;
582pub type wchar_t = ::std::os::raw::c_int;
583pub type UINT8 = u8;
584pub type BYTE = u8;
585pub type INT8 = i8;
586pub type BOOL = ::std::os::raw::c_int;
587pub type UINT16 = u16;
588pub type INT16 = i16;
589pub type UINT32 = u32;
590pub type INT32 = i32;
591pub type UINT64 = u64;
592pub type INT64 = i64;
593#[repr(C)]
594#[derive(Debug, Default, Copy, Clone)]
595pub struct TSS2_ABI_VERSION {
596 pub tssCreator: u32,
597 pub tssFamily: u32,
598 pub tssLevel: u32,
599 pub tssVersion: u32,
600}
601#[test]
602fn bindgen_test_layout_TSS2_ABI_VERSION() {
603 const UNINIT: ::std::mem::MaybeUninit<TSS2_ABI_VERSION> = ::std::mem::MaybeUninit::uninit();
604 let ptr = UNINIT.as_ptr();
605 assert_eq!(
606 ::std::mem::size_of::<TSS2_ABI_VERSION>(),
607 16usize,
608 concat!("Size of: ", stringify!(TSS2_ABI_VERSION))
609 );
610 assert_eq!(
611 ::std::mem::align_of::<TSS2_ABI_VERSION>(),
612 4usize,
613 concat!("Alignment of ", stringify!(TSS2_ABI_VERSION))
614 );
615 assert_eq!(
616 unsafe { ::std::ptr::addr_of!((*ptr).tssCreator) as usize - ptr as usize },
617 0usize,
618 concat!(
619 "Offset of field: ",
620 stringify!(TSS2_ABI_VERSION),
621 "::",
622 stringify!(tssCreator)
623 )
624 );
625 assert_eq!(
626 unsafe { ::std::ptr::addr_of!((*ptr).tssFamily) as usize - ptr as usize },
627 4usize,
628 concat!(
629 "Offset of field: ",
630 stringify!(TSS2_ABI_VERSION),
631 "::",
632 stringify!(tssFamily)
633 )
634 );
635 assert_eq!(
636 unsafe { ::std::ptr::addr_of!((*ptr).tssLevel) as usize - ptr as usize },
637 8usize,
638 concat!(
639 "Offset of field: ",
640 stringify!(TSS2_ABI_VERSION),
641 "::",
642 stringify!(tssLevel)
643 )
644 );
645 assert_eq!(
646 unsafe { ::std::ptr::addr_of!((*ptr).tssVersion) as usize - ptr as usize },
647 12usize,
648 concat!(
649 "Offset of field: ",
650 stringify!(TSS2_ABI_VERSION),
651 "::",
652 stringify!(tssVersion)
653 )
654 );
655}
656pub type TSS2_RC = u32;
657pub type TPM2_ALG_ID = UINT16;
658pub type TPM2_ECC_CURVE = UINT16;
659pub type TPM2_CC = UINT32;
660pub type TPM2_ALGORITHM_ID = UINT32;
661pub type TPM2_MODIFIER_INDICATOR = UINT32;
662pub type TPM2_AUTHORIZATION_SIZE = UINT32;
663pub type TPM2_PARAMETER_SIZE = UINT32;
664pub type TPM2_KEY_SIZE = UINT16;
665pub type TPM2_KEY_BITS = UINT16;
666pub type TPM2_SPEC = UINT32;
667pub type TPM2_GENERATED = UINT32;
668pub type TPM2_RC = UINT32;
669pub type TPM2_CLOCK_ADJUST = INT8;
670pub type TPM2_EO = UINT16;
671pub type TPM2_ST = UINT16;
672pub type TPM2_SU = UINT16;
673pub type TPM2_SE = UINT8;
674pub type TPM2_CAP = UINT32;
675pub type TPM2_PT = UINT32;
676pub type TPM2_PT_PCR = UINT32;
677pub type TPM2_PS = UINT32;
678pub type TPM2_HANDLE = UINT32;
679pub type TPM2_HT = UINT8;
680pub type TPM2_RH = TPM2_HANDLE;
681pub type TPM2_HC = TPM2_HANDLE;
682pub type TPMA_ALGORITHM = u32;
683pub type TPMA_OBJECT = u32;
684pub type TPMA_SESSION = UINT8;
685pub type TPMA_LOCALITY = UINT8;
686pub type TPMA_PERMANENT = u32;
687pub type TPMA_STARTUP_CLEAR = u32;
688pub type TPMA_MEMORY = u32;
689pub type TPMA_CC = u32;
690pub type TPMA_MODES = u32;
691pub type TPMI_YES_NO = BYTE;
692pub type TPMI_DH_OBJECT = TPM2_HANDLE;
693pub type TPMI_DH_PERSISTENT = TPM2_HANDLE;
694pub type TPMI_DH_ENTITY = TPM2_HANDLE;
695pub type TPMI_DH_PCR = TPM2_HANDLE;
696pub type TPMI_SH_AUTH_SESSION = TPM2_HANDLE;
697pub type TPMI_SH_HMAC = TPM2_HANDLE;
698pub type TPMI_SH_POLICY = TPM2_HANDLE;
699pub type TPMI_DH_CONTEXT = TPM2_HANDLE;
700pub type TPMI_RH_HIERARCHY = TPM2_HANDLE;
701pub type TPMI_RH_ENABLES = TPM2_HANDLE;
702pub type TPMI_RH_HIERARCHY_AUTH = TPM2_HANDLE;
703pub type TPMI_RH_PLATFORM = TPM2_HANDLE;
704pub type TPMI_RH_OWNER = TPM2_HANDLE;
705pub type TPMI_RH_ENDORSEMENT = TPM2_HANDLE;
706pub type TPMI_RH_PROVISION = TPM2_HANDLE;
707pub type TPMI_RH_CLEAR = TPM2_HANDLE;
708pub type TPMI_RH_NV_AUTH = TPM2_HANDLE;
709pub type TPMI_RH_LOCKOUT = TPM2_HANDLE;
710pub type TPMI_RH_NV_INDEX = TPM2_HANDLE;
711pub type TPMI_ALG_HASH = TPM2_ALG_ID;
712pub type TPMI_ALG_ASYM = TPM2_ALG_ID;
713pub type TPMI_ALG_SYM = TPM2_ALG_ID;
714pub type TPMI_ALG_SYM_OBJECT = TPM2_ALG_ID;
715pub type TPMI_ALG_SYM_MODE = TPM2_ALG_ID;
716pub type TPMI_ALG_KDF = TPM2_ALG_ID;
717pub type TPMI_ALG_SIG_SCHEME = TPM2_ALG_ID;
718pub type TPMI_ECC_KEY_EXCHANGE = TPM2_ALG_ID;
719pub type TPMI_ST_COMMAND_TAG = TPM2_ST;
720#[repr(C)]
721#[derive(Debug, Default, Copy, Clone)]
722pub struct TPMS_EMPTY {
723 pub empty: [BYTE; 1usize],
724}
725#[test]
726fn bindgen_test_layout_TPMS_EMPTY() {
727 const UNINIT: ::std::mem::MaybeUninit<TPMS_EMPTY> = ::std::mem::MaybeUninit::uninit();
728 let ptr = UNINIT.as_ptr();
729 assert_eq!(
730 ::std::mem::size_of::<TPMS_EMPTY>(),
731 1usize,
732 concat!("Size of: ", stringify!(TPMS_EMPTY))
733 );
734 assert_eq!(
735 ::std::mem::align_of::<TPMS_EMPTY>(),
736 1usize,
737 concat!("Alignment of ", stringify!(TPMS_EMPTY))
738 );
739 assert_eq!(
740 unsafe { ::std::ptr::addr_of!((*ptr).empty) as usize - ptr as usize },
741 0usize,
742 concat!(
743 "Offset of field: ",
744 stringify!(TPMS_EMPTY),
745 "::",
746 stringify!(empty)
747 )
748 );
749}
750#[repr(C)]
751#[derive(Debug, Default, Copy, Clone)]
752pub struct TPMS_ALGORITHM_DESCRIPTION {
753 pub alg: TPM2_ALG_ID,
754 pub attributes: TPMA_ALGORITHM,
755}
756#[test]
757fn bindgen_test_layout_TPMS_ALGORITHM_DESCRIPTION() {
758 const UNINIT: ::std::mem::MaybeUninit<TPMS_ALGORITHM_DESCRIPTION> =
759 ::std::mem::MaybeUninit::uninit();
760 let ptr = UNINIT.as_ptr();
761 assert_eq!(
762 ::std::mem::size_of::<TPMS_ALGORITHM_DESCRIPTION>(),
763 8usize,
764 concat!("Size of: ", stringify!(TPMS_ALGORITHM_DESCRIPTION))
765 );
766 assert_eq!(
767 ::std::mem::align_of::<TPMS_ALGORITHM_DESCRIPTION>(),
768 4usize,
769 concat!("Alignment of ", stringify!(TPMS_ALGORITHM_DESCRIPTION))
770 );
771 assert_eq!(
772 unsafe { ::std::ptr::addr_of!((*ptr).alg) as usize - ptr as usize },
773 0usize,
774 concat!(
775 "Offset of field: ",
776 stringify!(TPMS_ALGORITHM_DESCRIPTION),
777 "::",
778 stringify!(alg)
779 )
780 );
781 assert_eq!(
782 unsafe { ::std::ptr::addr_of!((*ptr).attributes) as usize - ptr as usize },
783 4usize,
784 concat!(
785 "Offset of field: ",
786 stringify!(TPMS_ALGORITHM_DESCRIPTION),
787 "::",
788 stringify!(attributes)
789 )
790 );
791}
792#[repr(C)]
793#[derive(Copy, Clone)]
794pub union TPMU_HA {
795 pub sha1: [BYTE; 20usize],
796 pub sha256: [BYTE; 32usize],
797 pub sha384: [BYTE; 48usize],
798 pub sha512: [BYTE; 64usize],
799 pub sm3_256: [BYTE; 32usize],
800}
801#[test]
802fn bindgen_test_layout_TPMU_HA() {
803 const UNINIT: ::std::mem::MaybeUninit<TPMU_HA> = ::std::mem::MaybeUninit::uninit();
804 let ptr = UNINIT.as_ptr();
805 assert_eq!(
806 ::std::mem::size_of::<TPMU_HA>(),
807 64usize,
808 concat!("Size of: ", stringify!(TPMU_HA))
809 );
810 assert_eq!(
811 ::std::mem::align_of::<TPMU_HA>(),
812 1usize,
813 concat!("Alignment of ", stringify!(TPMU_HA))
814 );
815 assert_eq!(
816 unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
817 0usize,
818 concat!(
819 "Offset of field: ",
820 stringify!(TPMU_HA),
821 "::",
822 stringify!(sha1)
823 )
824 );
825 assert_eq!(
826 unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
827 0usize,
828 concat!(
829 "Offset of field: ",
830 stringify!(TPMU_HA),
831 "::",
832 stringify!(sha256)
833 )
834 );
835 assert_eq!(
836 unsafe { ::std::ptr::addr_of!((*ptr).sha384) as usize - ptr as usize },
837 0usize,
838 concat!(
839 "Offset of field: ",
840 stringify!(TPMU_HA),
841 "::",
842 stringify!(sha384)
843 )
844 );
845 assert_eq!(
846 unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
847 0usize,
848 concat!(
849 "Offset of field: ",
850 stringify!(TPMU_HA),
851 "::",
852 stringify!(sha512)
853 )
854 );
855 assert_eq!(
856 unsafe { ::std::ptr::addr_of!((*ptr).sm3_256) as usize - ptr as usize },
857 0usize,
858 concat!(
859 "Offset of field: ",
860 stringify!(TPMU_HA),
861 "::",
862 stringify!(sm3_256)
863 )
864 );
865}
866impl Default for TPMU_HA {
867 fn default() -> Self {
868 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
869 unsafe {
870 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
871 s.assume_init()
872 }
873 }
874}
875#[repr(C)]
876#[derive(Copy, Clone)]
877pub struct TPMT_HA {
878 pub hashAlg: TPMI_ALG_HASH,
879 pub digest: TPMU_HA,
880}
881#[test]
882fn bindgen_test_layout_TPMT_HA() {
883 const UNINIT: ::std::mem::MaybeUninit<TPMT_HA> = ::std::mem::MaybeUninit::uninit();
884 let ptr = UNINIT.as_ptr();
885 assert_eq!(
886 ::std::mem::size_of::<TPMT_HA>(),
887 66usize,
888 concat!("Size of: ", stringify!(TPMT_HA))
889 );
890 assert_eq!(
891 ::std::mem::align_of::<TPMT_HA>(),
892 2usize,
893 concat!("Alignment of ", stringify!(TPMT_HA))
894 );
895 assert_eq!(
896 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
897 0usize,
898 concat!(
899 "Offset of field: ",
900 stringify!(TPMT_HA),
901 "::",
902 stringify!(hashAlg)
903 )
904 );
905 assert_eq!(
906 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
907 2usize,
908 concat!(
909 "Offset of field: ",
910 stringify!(TPMT_HA),
911 "::",
912 stringify!(digest)
913 )
914 );
915}
916impl Default for TPMT_HA {
917 fn default() -> Self {
918 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
919 unsafe {
920 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
921 s.assume_init()
922 }
923 }
924}
925#[repr(C)]
926#[derive(Debug, Copy, Clone)]
927pub struct TPM2B_DIGEST {
928 pub size: UINT16,
929 pub buffer: [BYTE; 64usize],
930}
931#[test]
932fn bindgen_test_layout_TPM2B_DIGEST() {
933 const UNINIT: ::std::mem::MaybeUninit<TPM2B_DIGEST> = ::std::mem::MaybeUninit::uninit();
934 let ptr = UNINIT.as_ptr();
935 assert_eq!(
936 ::std::mem::size_of::<TPM2B_DIGEST>(),
937 66usize,
938 concat!("Size of: ", stringify!(TPM2B_DIGEST))
939 );
940 assert_eq!(
941 ::std::mem::align_of::<TPM2B_DIGEST>(),
942 2usize,
943 concat!("Alignment of ", stringify!(TPM2B_DIGEST))
944 );
945 assert_eq!(
946 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
947 0usize,
948 concat!(
949 "Offset of field: ",
950 stringify!(TPM2B_DIGEST),
951 "::",
952 stringify!(size)
953 )
954 );
955 assert_eq!(
956 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
957 2usize,
958 concat!(
959 "Offset of field: ",
960 stringify!(TPM2B_DIGEST),
961 "::",
962 stringify!(buffer)
963 )
964 );
965}
966impl Default for TPM2B_DIGEST {
967 fn default() -> Self {
968 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
969 unsafe {
970 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
971 s.assume_init()
972 }
973 }
974}
975#[repr(C)]
976#[derive(Debug, Copy, Clone)]
977pub struct TPM2B_DATA {
978 pub size: UINT16,
979 pub buffer: [BYTE; 64usize],
980}
981#[test]
982fn bindgen_test_layout_TPM2B_DATA() {
983 const UNINIT: ::std::mem::MaybeUninit<TPM2B_DATA> = ::std::mem::MaybeUninit::uninit();
984 let ptr = UNINIT.as_ptr();
985 assert_eq!(
986 ::std::mem::size_of::<TPM2B_DATA>(),
987 66usize,
988 concat!("Size of: ", stringify!(TPM2B_DATA))
989 );
990 assert_eq!(
991 ::std::mem::align_of::<TPM2B_DATA>(),
992 2usize,
993 concat!("Alignment of ", stringify!(TPM2B_DATA))
994 );
995 assert_eq!(
996 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
997 0usize,
998 concat!(
999 "Offset of field: ",
1000 stringify!(TPM2B_DATA),
1001 "::",
1002 stringify!(size)
1003 )
1004 );
1005 assert_eq!(
1006 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1007 2usize,
1008 concat!(
1009 "Offset of field: ",
1010 stringify!(TPM2B_DATA),
1011 "::",
1012 stringify!(buffer)
1013 )
1014 );
1015}
1016impl Default for TPM2B_DATA {
1017 fn default() -> Self {
1018 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1019 unsafe {
1020 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1021 s.assume_init()
1022 }
1023 }
1024}
1025pub type TPM2B_NONCE = TPM2B_DIGEST;
1026pub type TPM2B_AUTH = TPM2B_DIGEST;
1027pub type TPM2B_OPERAND = TPM2B_DIGEST;
1028#[repr(C)]
1029#[derive(Debug, Copy, Clone)]
1030pub struct TPM2B_EVENT {
1031 pub size: UINT16,
1032 pub buffer: [BYTE; 1024usize],
1033}
1034#[test]
1035fn bindgen_test_layout_TPM2B_EVENT() {
1036 const UNINIT: ::std::mem::MaybeUninit<TPM2B_EVENT> = ::std::mem::MaybeUninit::uninit();
1037 let ptr = UNINIT.as_ptr();
1038 assert_eq!(
1039 ::std::mem::size_of::<TPM2B_EVENT>(),
1040 1026usize,
1041 concat!("Size of: ", stringify!(TPM2B_EVENT))
1042 );
1043 assert_eq!(
1044 ::std::mem::align_of::<TPM2B_EVENT>(),
1045 2usize,
1046 concat!("Alignment of ", stringify!(TPM2B_EVENT))
1047 );
1048 assert_eq!(
1049 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1050 0usize,
1051 concat!(
1052 "Offset of field: ",
1053 stringify!(TPM2B_EVENT),
1054 "::",
1055 stringify!(size)
1056 )
1057 );
1058 assert_eq!(
1059 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1060 2usize,
1061 concat!(
1062 "Offset of field: ",
1063 stringify!(TPM2B_EVENT),
1064 "::",
1065 stringify!(buffer)
1066 )
1067 );
1068}
1069impl Default for TPM2B_EVENT {
1070 fn default() -> Self {
1071 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1072 unsafe {
1073 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1074 s.assume_init()
1075 }
1076 }
1077}
1078#[repr(C)]
1079#[derive(Debug, Copy, Clone)]
1080pub struct TPM2B_MAX_BUFFER {
1081 pub size: UINT16,
1082 pub buffer: [BYTE; 1024usize],
1083}
1084#[test]
1085fn bindgen_test_layout_TPM2B_MAX_BUFFER() {
1086 const UNINIT: ::std::mem::MaybeUninit<TPM2B_MAX_BUFFER> = ::std::mem::MaybeUninit::uninit();
1087 let ptr = UNINIT.as_ptr();
1088 assert_eq!(
1089 ::std::mem::size_of::<TPM2B_MAX_BUFFER>(),
1090 1026usize,
1091 concat!("Size of: ", stringify!(TPM2B_MAX_BUFFER))
1092 );
1093 assert_eq!(
1094 ::std::mem::align_of::<TPM2B_MAX_BUFFER>(),
1095 2usize,
1096 concat!("Alignment of ", stringify!(TPM2B_MAX_BUFFER))
1097 );
1098 assert_eq!(
1099 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1100 0usize,
1101 concat!(
1102 "Offset of field: ",
1103 stringify!(TPM2B_MAX_BUFFER),
1104 "::",
1105 stringify!(size)
1106 )
1107 );
1108 assert_eq!(
1109 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1110 2usize,
1111 concat!(
1112 "Offset of field: ",
1113 stringify!(TPM2B_MAX_BUFFER),
1114 "::",
1115 stringify!(buffer)
1116 )
1117 );
1118}
1119impl Default for TPM2B_MAX_BUFFER {
1120 fn default() -> Self {
1121 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1122 unsafe {
1123 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1124 s.assume_init()
1125 }
1126 }
1127}
1128#[repr(C)]
1129#[derive(Debug, Copy, Clone)]
1130pub struct TPM2B_MAX_NV_BUFFER {
1131 pub size: UINT16,
1132 pub buffer: [BYTE; 2048usize],
1133}
1134#[test]
1135fn bindgen_test_layout_TPM2B_MAX_NV_BUFFER() {
1136 const UNINIT: ::std::mem::MaybeUninit<TPM2B_MAX_NV_BUFFER> = ::std::mem::MaybeUninit::uninit();
1137 let ptr = UNINIT.as_ptr();
1138 assert_eq!(
1139 ::std::mem::size_of::<TPM2B_MAX_NV_BUFFER>(),
1140 2050usize,
1141 concat!("Size of: ", stringify!(TPM2B_MAX_NV_BUFFER))
1142 );
1143 assert_eq!(
1144 ::std::mem::align_of::<TPM2B_MAX_NV_BUFFER>(),
1145 2usize,
1146 concat!("Alignment of ", stringify!(TPM2B_MAX_NV_BUFFER))
1147 );
1148 assert_eq!(
1149 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1150 0usize,
1151 concat!(
1152 "Offset of field: ",
1153 stringify!(TPM2B_MAX_NV_BUFFER),
1154 "::",
1155 stringify!(size)
1156 )
1157 );
1158 assert_eq!(
1159 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1160 2usize,
1161 concat!(
1162 "Offset of field: ",
1163 stringify!(TPM2B_MAX_NV_BUFFER),
1164 "::",
1165 stringify!(buffer)
1166 )
1167 );
1168}
1169impl Default for TPM2B_MAX_NV_BUFFER {
1170 fn default() -> Self {
1171 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1172 unsafe {
1173 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1174 s.assume_init()
1175 }
1176 }
1177}
1178pub type TPM2B_TIMEOUT = TPM2B_DIGEST;
1179#[repr(C)]
1180#[derive(Debug, Default, Copy, Clone)]
1181pub struct TPM2B_IV {
1182 pub size: UINT16,
1183 pub buffer: [BYTE; 16usize],
1184}
1185#[test]
1186fn bindgen_test_layout_TPM2B_IV() {
1187 const UNINIT: ::std::mem::MaybeUninit<TPM2B_IV> = ::std::mem::MaybeUninit::uninit();
1188 let ptr = UNINIT.as_ptr();
1189 assert_eq!(
1190 ::std::mem::size_of::<TPM2B_IV>(),
1191 18usize,
1192 concat!("Size of: ", stringify!(TPM2B_IV))
1193 );
1194 assert_eq!(
1195 ::std::mem::align_of::<TPM2B_IV>(),
1196 2usize,
1197 concat!("Alignment of ", stringify!(TPM2B_IV))
1198 );
1199 assert_eq!(
1200 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1201 0usize,
1202 concat!(
1203 "Offset of field: ",
1204 stringify!(TPM2B_IV),
1205 "::",
1206 stringify!(size)
1207 )
1208 );
1209 assert_eq!(
1210 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1211 2usize,
1212 concat!(
1213 "Offset of field: ",
1214 stringify!(TPM2B_IV),
1215 "::",
1216 stringify!(buffer)
1217 )
1218 );
1219}
1220#[repr(C)]
1221#[derive(Copy, Clone)]
1222pub union TPMU_NAME {
1223 pub digest: TPMT_HA,
1224 pub handle: TPM2_HANDLE,
1225}
1226#[test]
1227fn bindgen_test_layout_TPMU_NAME() {
1228 const UNINIT: ::std::mem::MaybeUninit<TPMU_NAME> = ::std::mem::MaybeUninit::uninit();
1229 let ptr = UNINIT.as_ptr();
1230 assert_eq!(
1231 ::std::mem::size_of::<TPMU_NAME>(),
1232 68usize,
1233 concat!("Size of: ", stringify!(TPMU_NAME))
1234 );
1235 assert_eq!(
1236 ::std::mem::align_of::<TPMU_NAME>(),
1237 4usize,
1238 concat!("Alignment of ", stringify!(TPMU_NAME))
1239 );
1240 assert_eq!(
1241 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1242 0usize,
1243 concat!(
1244 "Offset of field: ",
1245 stringify!(TPMU_NAME),
1246 "::",
1247 stringify!(digest)
1248 )
1249 );
1250 assert_eq!(
1251 unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
1252 0usize,
1253 concat!(
1254 "Offset of field: ",
1255 stringify!(TPMU_NAME),
1256 "::",
1257 stringify!(handle)
1258 )
1259 );
1260}
1261impl Default for TPMU_NAME {
1262 fn default() -> Self {
1263 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1264 unsafe {
1265 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1266 s.assume_init()
1267 }
1268 }
1269}
1270#[repr(C)]
1271#[derive(Debug, Copy, Clone)]
1272pub struct TPM2B_NAME {
1273 pub size: UINT16,
1274 pub name: [BYTE; 68usize],
1275}
1276#[test]
1277fn bindgen_test_layout_TPM2B_NAME() {
1278 const UNINIT: ::std::mem::MaybeUninit<TPM2B_NAME> = ::std::mem::MaybeUninit::uninit();
1279 let ptr = UNINIT.as_ptr();
1280 assert_eq!(
1281 ::std::mem::size_of::<TPM2B_NAME>(),
1282 70usize,
1283 concat!("Size of: ", stringify!(TPM2B_NAME))
1284 );
1285 assert_eq!(
1286 ::std::mem::align_of::<TPM2B_NAME>(),
1287 2usize,
1288 concat!("Alignment of ", stringify!(TPM2B_NAME))
1289 );
1290 assert_eq!(
1291 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1292 0usize,
1293 concat!(
1294 "Offset of field: ",
1295 stringify!(TPM2B_NAME),
1296 "::",
1297 stringify!(size)
1298 )
1299 );
1300 assert_eq!(
1301 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1302 2usize,
1303 concat!(
1304 "Offset of field: ",
1305 stringify!(TPM2B_NAME),
1306 "::",
1307 stringify!(name)
1308 )
1309 );
1310}
1311impl Default for TPM2B_NAME {
1312 fn default() -> Self {
1313 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1314 unsafe {
1315 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1316 s.assume_init()
1317 }
1318 }
1319}
1320#[repr(C)]
1321#[derive(Debug, Default, Copy, Clone)]
1322pub struct TPMS_PCR_SELECT {
1323 pub sizeofSelect: UINT8,
1324 pub pcrSelect: [BYTE; 4usize],
1325}
1326#[test]
1327fn bindgen_test_layout_TPMS_PCR_SELECT() {
1328 const UNINIT: ::std::mem::MaybeUninit<TPMS_PCR_SELECT> = ::std::mem::MaybeUninit::uninit();
1329 let ptr = UNINIT.as_ptr();
1330 assert_eq!(
1331 ::std::mem::size_of::<TPMS_PCR_SELECT>(),
1332 5usize,
1333 concat!("Size of: ", stringify!(TPMS_PCR_SELECT))
1334 );
1335 assert_eq!(
1336 ::std::mem::align_of::<TPMS_PCR_SELECT>(),
1337 1usize,
1338 concat!("Alignment of ", stringify!(TPMS_PCR_SELECT))
1339 );
1340 assert_eq!(
1341 unsafe { ::std::ptr::addr_of!((*ptr).sizeofSelect) as usize - ptr as usize },
1342 0usize,
1343 concat!(
1344 "Offset of field: ",
1345 stringify!(TPMS_PCR_SELECT),
1346 "::",
1347 stringify!(sizeofSelect)
1348 )
1349 );
1350 assert_eq!(
1351 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
1352 1usize,
1353 concat!(
1354 "Offset of field: ",
1355 stringify!(TPMS_PCR_SELECT),
1356 "::",
1357 stringify!(pcrSelect)
1358 )
1359 );
1360}
1361#[repr(C)]
1362#[derive(Debug, Default, Copy, Clone)]
1363pub struct TPMS_PCR_SELECTION {
1364 pub hash: TPMI_ALG_HASH,
1365 pub sizeofSelect: UINT8,
1366 pub pcrSelect: [BYTE; 4usize],
1367}
1368#[test]
1369fn bindgen_test_layout_TPMS_PCR_SELECTION() {
1370 const UNINIT: ::std::mem::MaybeUninit<TPMS_PCR_SELECTION> = ::std::mem::MaybeUninit::uninit();
1371 let ptr = UNINIT.as_ptr();
1372 assert_eq!(
1373 ::std::mem::size_of::<TPMS_PCR_SELECTION>(),
1374 8usize,
1375 concat!("Size of: ", stringify!(TPMS_PCR_SELECTION))
1376 );
1377 assert_eq!(
1378 ::std::mem::align_of::<TPMS_PCR_SELECTION>(),
1379 2usize,
1380 concat!("Alignment of ", stringify!(TPMS_PCR_SELECTION))
1381 );
1382 assert_eq!(
1383 unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
1384 0usize,
1385 concat!(
1386 "Offset of field: ",
1387 stringify!(TPMS_PCR_SELECTION),
1388 "::",
1389 stringify!(hash)
1390 )
1391 );
1392 assert_eq!(
1393 unsafe { ::std::ptr::addr_of!((*ptr).sizeofSelect) as usize - ptr as usize },
1394 2usize,
1395 concat!(
1396 "Offset of field: ",
1397 stringify!(TPMS_PCR_SELECTION),
1398 "::",
1399 stringify!(sizeofSelect)
1400 )
1401 );
1402 assert_eq!(
1403 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
1404 3usize,
1405 concat!(
1406 "Offset of field: ",
1407 stringify!(TPMS_PCR_SELECTION),
1408 "::",
1409 stringify!(pcrSelect)
1410 )
1411 );
1412}
1413#[repr(C)]
1414#[derive(Debug, Copy, Clone)]
1415pub struct TPMT_TK_CREATION {
1416 pub tag: TPM2_ST,
1417 pub hierarchy: TPMI_RH_HIERARCHY,
1418 pub digest: TPM2B_DIGEST,
1419}
1420#[test]
1421fn bindgen_test_layout_TPMT_TK_CREATION() {
1422 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_CREATION> = ::std::mem::MaybeUninit::uninit();
1423 let ptr = UNINIT.as_ptr();
1424 assert_eq!(
1425 ::std::mem::size_of::<TPMT_TK_CREATION>(),
1426 76usize,
1427 concat!("Size of: ", stringify!(TPMT_TK_CREATION))
1428 );
1429 assert_eq!(
1430 ::std::mem::align_of::<TPMT_TK_CREATION>(),
1431 4usize,
1432 concat!("Alignment of ", stringify!(TPMT_TK_CREATION))
1433 );
1434 assert_eq!(
1435 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1436 0usize,
1437 concat!(
1438 "Offset of field: ",
1439 stringify!(TPMT_TK_CREATION),
1440 "::",
1441 stringify!(tag)
1442 )
1443 );
1444 assert_eq!(
1445 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1446 4usize,
1447 concat!(
1448 "Offset of field: ",
1449 stringify!(TPMT_TK_CREATION),
1450 "::",
1451 stringify!(hierarchy)
1452 )
1453 );
1454 assert_eq!(
1455 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1456 8usize,
1457 concat!(
1458 "Offset of field: ",
1459 stringify!(TPMT_TK_CREATION),
1460 "::",
1461 stringify!(digest)
1462 )
1463 );
1464}
1465impl Default for TPMT_TK_CREATION {
1466 fn default() -> Self {
1467 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1468 unsafe {
1469 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1470 s.assume_init()
1471 }
1472 }
1473}
1474#[repr(C)]
1475#[derive(Debug, Copy, Clone)]
1476pub struct TPMT_TK_VERIFIED {
1477 pub tag: TPM2_ST,
1478 pub hierarchy: TPMI_RH_HIERARCHY,
1479 pub digest: TPM2B_DIGEST,
1480}
1481#[test]
1482fn bindgen_test_layout_TPMT_TK_VERIFIED() {
1483 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_VERIFIED> = ::std::mem::MaybeUninit::uninit();
1484 let ptr = UNINIT.as_ptr();
1485 assert_eq!(
1486 ::std::mem::size_of::<TPMT_TK_VERIFIED>(),
1487 76usize,
1488 concat!("Size of: ", stringify!(TPMT_TK_VERIFIED))
1489 );
1490 assert_eq!(
1491 ::std::mem::align_of::<TPMT_TK_VERIFIED>(),
1492 4usize,
1493 concat!("Alignment of ", stringify!(TPMT_TK_VERIFIED))
1494 );
1495 assert_eq!(
1496 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1497 0usize,
1498 concat!(
1499 "Offset of field: ",
1500 stringify!(TPMT_TK_VERIFIED),
1501 "::",
1502 stringify!(tag)
1503 )
1504 );
1505 assert_eq!(
1506 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1507 4usize,
1508 concat!(
1509 "Offset of field: ",
1510 stringify!(TPMT_TK_VERIFIED),
1511 "::",
1512 stringify!(hierarchy)
1513 )
1514 );
1515 assert_eq!(
1516 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1517 8usize,
1518 concat!(
1519 "Offset of field: ",
1520 stringify!(TPMT_TK_VERIFIED),
1521 "::",
1522 stringify!(digest)
1523 )
1524 );
1525}
1526impl Default for TPMT_TK_VERIFIED {
1527 fn default() -> Self {
1528 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1529 unsafe {
1530 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1531 s.assume_init()
1532 }
1533 }
1534}
1535#[repr(C)]
1536#[derive(Debug, Copy, Clone)]
1537pub struct TPMT_TK_AUTH {
1538 pub tag: TPM2_ST,
1539 pub hierarchy: TPMI_RH_HIERARCHY,
1540 pub digest: TPM2B_DIGEST,
1541}
1542#[test]
1543fn bindgen_test_layout_TPMT_TK_AUTH() {
1544 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_AUTH> = ::std::mem::MaybeUninit::uninit();
1545 let ptr = UNINIT.as_ptr();
1546 assert_eq!(
1547 ::std::mem::size_of::<TPMT_TK_AUTH>(),
1548 76usize,
1549 concat!("Size of: ", stringify!(TPMT_TK_AUTH))
1550 );
1551 assert_eq!(
1552 ::std::mem::align_of::<TPMT_TK_AUTH>(),
1553 4usize,
1554 concat!("Alignment of ", stringify!(TPMT_TK_AUTH))
1555 );
1556 assert_eq!(
1557 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1558 0usize,
1559 concat!(
1560 "Offset of field: ",
1561 stringify!(TPMT_TK_AUTH),
1562 "::",
1563 stringify!(tag)
1564 )
1565 );
1566 assert_eq!(
1567 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1568 4usize,
1569 concat!(
1570 "Offset of field: ",
1571 stringify!(TPMT_TK_AUTH),
1572 "::",
1573 stringify!(hierarchy)
1574 )
1575 );
1576 assert_eq!(
1577 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1578 8usize,
1579 concat!(
1580 "Offset of field: ",
1581 stringify!(TPMT_TK_AUTH),
1582 "::",
1583 stringify!(digest)
1584 )
1585 );
1586}
1587impl Default for TPMT_TK_AUTH {
1588 fn default() -> Self {
1589 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1590 unsafe {
1591 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1592 s.assume_init()
1593 }
1594 }
1595}
1596#[repr(C)]
1597#[derive(Debug, Copy, Clone)]
1598pub struct TPMT_TK_HASHCHECK {
1599 pub tag: TPM2_ST,
1600 pub hierarchy: TPMI_RH_HIERARCHY,
1601 pub digest: TPM2B_DIGEST,
1602}
1603#[test]
1604fn bindgen_test_layout_TPMT_TK_HASHCHECK() {
1605 const UNINIT: ::std::mem::MaybeUninit<TPMT_TK_HASHCHECK> = ::std::mem::MaybeUninit::uninit();
1606 let ptr = UNINIT.as_ptr();
1607 assert_eq!(
1608 ::std::mem::size_of::<TPMT_TK_HASHCHECK>(),
1609 76usize,
1610 concat!("Size of: ", stringify!(TPMT_TK_HASHCHECK))
1611 );
1612 assert_eq!(
1613 ::std::mem::align_of::<TPMT_TK_HASHCHECK>(),
1614 4usize,
1615 concat!("Alignment of ", stringify!(TPMT_TK_HASHCHECK))
1616 );
1617 assert_eq!(
1618 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1619 0usize,
1620 concat!(
1621 "Offset of field: ",
1622 stringify!(TPMT_TK_HASHCHECK),
1623 "::",
1624 stringify!(tag)
1625 )
1626 );
1627 assert_eq!(
1628 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
1629 4usize,
1630 concat!(
1631 "Offset of field: ",
1632 stringify!(TPMT_TK_HASHCHECK),
1633 "::",
1634 stringify!(hierarchy)
1635 )
1636 );
1637 assert_eq!(
1638 unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
1639 8usize,
1640 concat!(
1641 "Offset of field: ",
1642 stringify!(TPMT_TK_HASHCHECK),
1643 "::",
1644 stringify!(digest)
1645 )
1646 );
1647}
1648impl Default for TPMT_TK_HASHCHECK {
1649 fn default() -> Self {
1650 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1651 unsafe {
1652 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1653 s.assume_init()
1654 }
1655 }
1656}
1657#[repr(C)]
1658#[derive(Debug, Default, Copy, Clone)]
1659pub struct TPMS_ALG_PROPERTY {
1660 pub alg: TPM2_ALG_ID,
1661 pub algProperties: TPMA_ALGORITHM,
1662}
1663#[test]
1664fn bindgen_test_layout_TPMS_ALG_PROPERTY() {
1665 const UNINIT: ::std::mem::MaybeUninit<TPMS_ALG_PROPERTY> = ::std::mem::MaybeUninit::uninit();
1666 let ptr = UNINIT.as_ptr();
1667 assert_eq!(
1668 ::std::mem::size_of::<TPMS_ALG_PROPERTY>(),
1669 8usize,
1670 concat!("Size of: ", stringify!(TPMS_ALG_PROPERTY))
1671 );
1672 assert_eq!(
1673 ::std::mem::align_of::<TPMS_ALG_PROPERTY>(),
1674 4usize,
1675 concat!("Alignment of ", stringify!(TPMS_ALG_PROPERTY))
1676 );
1677 assert_eq!(
1678 unsafe { ::std::ptr::addr_of!((*ptr).alg) as usize - ptr as usize },
1679 0usize,
1680 concat!(
1681 "Offset of field: ",
1682 stringify!(TPMS_ALG_PROPERTY),
1683 "::",
1684 stringify!(alg)
1685 )
1686 );
1687 assert_eq!(
1688 unsafe { ::std::ptr::addr_of!((*ptr).algProperties) as usize - ptr as usize },
1689 4usize,
1690 concat!(
1691 "Offset of field: ",
1692 stringify!(TPMS_ALG_PROPERTY),
1693 "::",
1694 stringify!(algProperties)
1695 )
1696 );
1697}
1698#[repr(C)]
1699#[derive(Debug, Default, Copy, Clone)]
1700pub struct TPMS_TAGGED_PROPERTY {
1701 pub property: TPM2_PT,
1702 pub value: UINT32,
1703}
1704#[test]
1705fn bindgen_test_layout_TPMS_TAGGED_PROPERTY() {
1706 const UNINIT: ::std::mem::MaybeUninit<TPMS_TAGGED_PROPERTY> = ::std::mem::MaybeUninit::uninit();
1707 let ptr = UNINIT.as_ptr();
1708 assert_eq!(
1709 ::std::mem::size_of::<TPMS_TAGGED_PROPERTY>(),
1710 8usize,
1711 concat!("Size of: ", stringify!(TPMS_TAGGED_PROPERTY))
1712 );
1713 assert_eq!(
1714 ::std::mem::align_of::<TPMS_TAGGED_PROPERTY>(),
1715 4usize,
1716 concat!("Alignment of ", stringify!(TPMS_TAGGED_PROPERTY))
1717 );
1718 assert_eq!(
1719 unsafe { ::std::ptr::addr_of!((*ptr).property) as usize - ptr as usize },
1720 0usize,
1721 concat!(
1722 "Offset of field: ",
1723 stringify!(TPMS_TAGGED_PROPERTY),
1724 "::",
1725 stringify!(property)
1726 )
1727 );
1728 assert_eq!(
1729 unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
1730 4usize,
1731 concat!(
1732 "Offset of field: ",
1733 stringify!(TPMS_TAGGED_PROPERTY),
1734 "::",
1735 stringify!(value)
1736 )
1737 );
1738}
1739#[repr(C)]
1740#[derive(Debug, Default, Copy, Clone)]
1741pub struct TPMS_TAGGED_PCR_SELECT {
1742 pub tag: TPM2_PT_PCR,
1743 pub sizeofSelect: UINT8,
1744 pub pcrSelect: [BYTE; 4usize],
1745}
1746#[test]
1747fn bindgen_test_layout_TPMS_TAGGED_PCR_SELECT() {
1748 const UNINIT: ::std::mem::MaybeUninit<TPMS_TAGGED_PCR_SELECT> =
1749 ::std::mem::MaybeUninit::uninit();
1750 let ptr = UNINIT.as_ptr();
1751 assert_eq!(
1752 ::std::mem::size_of::<TPMS_TAGGED_PCR_SELECT>(),
1753 12usize,
1754 concat!("Size of: ", stringify!(TPMS_TAGGED_PCR_SELECT))
1755 );
1756 assert_eq!(
1757 ::std::mem::align_of::<TPMS_TAGGED_PCR_SELECT>(),
1758 4usize,
1759 concat!("Alignment of ", stringify!(TPMS_TAGGED_PCR_SELECT))
1760 );
1761 assert_eq!(
1762 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
1763 0usize,
1764 concat!(
1765 "Offset of field: ",
1766 stringify!(TPMS_TAGGED_PCR_SELECT),
1767 "::",
1768 stringify!(tag)
1769 )
1770 );
1771 assert_eq!(
1772 unsafe { ::std::ptr::addr_of!((*ptr).sizeofSelect) as usize - ptr as usize },
1773 4usize,
1774 concat!(
1775 "Offset of field: ",
1776 stringify!(TPMS_TAGGED_PCR_SELECT),
1777 "::",
1778 stringify!(sizeofSelect)
1779 )
1780 );
1781 assert_eq!(
1782 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
1783 5usize,
1784 concat!(
1785 "Offset of field: ",
1786 stringify!(TPMS_TAGGED_PCR_SELECT),
1787 "::",
1788 stringify!(pcrSelect)
1789 )
1790 );
1791}
1792#[repr(C)]
1793#[derive(Copy, Clone)]
1794pub struct TPMS_TAGGED_POLICY {
1795 pub handle: TPM2_HANDLE,
1796 pub policyHash: TPMT_HA,
1797}
1798#[test]
1799fn bindgen_test_layout_TPMS_TAGGED_POLICY() {
1800 const UNINIT: ::std::mem::MaybeUninit<TPMS_TAGGED_POLICY> = ::std::mem::MaybeUninit::uninit();
1801 let ptr = UNINIT.as_ptr();
1802 assert_eq!(
1803 ::std::mem::size_of::<TPMS_TAGGED_POLICY>(),
1804 72usize,
1805 concat!("Size of: ", stringify!(TPMS_TAGGED_POLICY))
1806 );
1807 assert_eq!(
1808 ::std::mem::align_of::<TPMS_TAGGED_POLICY>(),
1809 4usize,
1810 concat!("Alignment of ", stringify!(TPMS_TAGGED_POLICY))
1811 );
1812 assert_eq!(
1813 unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
1814 0usize,
1815 concat!(
1816 "Offset of field: ",
1817 stringify!(TPMS_TAGGED_POLICY),
1818 "::",
1819 stringify!(handle)
1820 )
1821 );
1822 assert_eq!(
1823 unsafe { ::std::ptr::addr_of!((*ptr).policyHash) as usize - ptr as usize },
1824 4usize,
1825 concat!(
1826 "Offset of field: ",
1827 stringify!(TPMS_TAGGED_POLICY),
1828 "::",
1829 stringify!(policyHash)
1830 )
1831 );
1832}
1833impl Default for TPMS_TAGGED_POLICY {
1834 fn default() -> Self {
1835 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1836 unsafe {
1837 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1838 s.assume_init()
1839 }
1840 }
1841}
1842#[repr(C)]
1843#[derive(Debug, Copy, Clone)]
1844pub struct TPML_CC {
1845 pub count: UINT32,
1846 pub commandCodes: [TPM2_CC; 256usize],
1847}
1848#[test]
1849fn bindgen_test_layout_TPML_CC() {
1850 const UNINIT: ::std::mem::MaybeUninit<TPML_CC> = ::std::mem::MaybeUninit::uninit();
1851 let ptr = UNINIT.as_ptr();
1852 assert_eq!(
1853 ::std::mem::size_of::<TPML_CC>(),
1854 1028usize,
1855 concat!("Size of: ", stringify!(TPML_CC))
1856 );
1857 assert_eq!(
1858 ::std::mem::align_of::<TPML_CC>(),
1859 4usize,
1860 concat!("Alignment of ", stringify!(TPML_CC))
1861 );
1862 assert_eq!(
1863 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1864 0usize,
1865 concat!(
1866 "Offset of field: ",
1867 stringify!(TPML_CC),
1868 "::",
1869 stringify!(count)
1870 )
1871 );
1872 assert_eq!(
1873 unsafe { ::std::ptr::addr_of!((*ptr).commandCodes) as usize - ptr as usize },
1874 4usize,
1875 concat!(
1876 "Offset of field: ",
1877 stringify!(TPML_CC),
1878 "::",
1879 stringify!(commandCodes)
1880 )
1881 );
1882}
1883impl Default for TPML_CC {
1884 fn default() -> Self {
1885 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1886 unsafe {
1887 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1888 s.assume_init()
1889 }
1890 }
1891}
1892#[repr(C)]
1893#[derive(Debug, Copy, Clone)]
1894pub struct TPML_CCA {
1895 pub count: UINT32,
1896 pub commandAttributes: [TPMA_CC; 256usize],
1897}
1898#[test]
1899fn bindgen_test_layout_TPML_CCA() {
1900 const UNINIT: ::std::mem::MaybeUninit<TPML_CCA> = ::std::mem::MaybeUninit::uninit();
1901 let ptr = UNINIT.as_ptr();
1902 assert_eq!(
1903 ::std::mem::size_of::<TPML_CCA>(),
1904 1028usize,
1905 concat!("Size of: ", stringify!(TPML_CCA))
1906 );
1907 assert_eq!(
1908 ::std::mem::align_of::<TPML_CCA>(),
1909 4usize,
1910 concat!("Alignment of ", stringify!(TPML_CCA))
1911 );
1912 assert_eq!(
1913 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1914 0usize,
1915 concat!(
1916 "Offset of field: ",
1917 stringify!(TPML_CCA),
1918 "::",
1919 stringify!(count)
1920 )
1921 );
1922 assert_eq!(
1923 unsafe { ::std::ptr::addr_of!((*ptr).commandAttributes) as usize - ptr as usize },
1924 4usize,
1925 concat!(
1926 "Offset of field: ",
1927 stringify!(TPML_CCA),
1928 "::",
1929 stringify!(commandAttributes)
1930 )
1931 );
1932}
1933impl Default for TPML_CCA {
1934 fn default() -> Self {
1935 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1936 unsafe {
1937 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1938 s.assume_init()
1939 }
1940 }
1941}
1942#[repr(C)]
1943#[derive(Debug, Copy, Clone)]
1944pub struct TPML_ALG {
1945 pub count: UINT32,
1946 pub algorithms: [TPM2_ALG_ID; 128usize],
1947}
1948#[test]
1949fn bindgen_test_layout_TPML_ALG() {
1950 const UNINIT: ::std::mem::MaybeUninit<TPML_ALG> = ::std::mem::MaybeUninit::uninit();
1951 let ptr = UNINIT.as_ptr();
1952 assert_eq!(
1953 ::std::mem::size_of::<TPML_ALG>(),
1954 260usize,
1955 concat!("Size of: ", stringify!(TPML_ALG))
1956 );
1957 assert_eq!(
1958 ::std::mem::align_of::<TPML_ALG>(),
1959 4usize,
1960 concat!("Alignment of ", stringify!(TPML_ALG))
1961 );
1962 assert_eq!(
1963 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
1964 0usize,
1965 concat!(
1966 "Offset of field: ",
1967 stringify!(TPML_ALG),
1968 "::",
1969 stringify!(count)
1970 )
1971 );
1972 assert_eq!(
1973 unsafe { ::std::ptr::addr_of!((*ptr).algorithms) as usize - ptr as usize },
1974 4usize,
1975 concat!(
1976 "Offset of field: ",
1977 stringify!(TPML_ALG),
1978 "::",
1979 stringify!(algorithms)
1980 )
1981 );
1982}
1983impl Default for TPML_ALG {
1984 fn default() -> Self {
1985 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1986 unsafe {
1987 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1988 s.assume_init()
1989 }
1990 }
1991}
1992#[repr(C)]
1993#[derive(Debug, Copy, Clone)]
1994pub struct TPML_HANDLE {
1995 pub count: UINT32,
1996 pub handle: [TPM2_HANDLE; 254usize],
1997}
1998#[test]
1999fn bindgen_test_layout_TPML_HANDLE() {
2000 const UNINIT: ::std::mem::MaybeUninit<TPML_HANDLE> = ::std::mem::MaybeUninit::uninit();
2001 let ptr = UNINIT.as_ptr();
2002 assert_eq!(
2003 ::std::mem::size_of::<TPML_HANDLE>(),
2004 1020usize,
2005 concat!("Size of: ", stringify!(TPML_HANDLE))
2006 );
2007 assert_eq!(
2008 ::std::mem::align_of::<TPML_HANDLE>(),
2009 4usize,
2010 concat!("Alignment of ", stringify!(TPML_HANDLE))
2011 );
2012 assert_eq!(
2013 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2014 0usize,
2015 concat!(
2016 "Offset of field: ",
2017 stringify!(TPML_HANDLE),
2018 "::",
2019 stringify!(count)
2020 )
2021 );
2022 assert_eq!(
2023 unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
2024 4usize,
2025 concat!(
2026 "Offset of field: ",
2027 stringify!(TPML_HANDLE),
2028 "::",
2029 stringify!(handle)
2030 )
2031 );
2032}
2033impl Default for TPML_HANDLE {
2034 fn default() -> Self {
2035 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2036 unsafe {
2037 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2038 s.assume_init()
2039 }
2040 }
2041}
2042#[repr(C)]
2043#[derive(Debug, Copy, Clone)]
2044pub struct TPML_DIGEST {
2045 pub count: UINT32,
2046 pub digests: [TPM2B_DIGEST; 8usize],
2047}
2048#[test]
2049fn bindgen_test_layout_TPML_DIGEST() {
2050 const UNINIT: ::std::mem::MaybeUninit<TPML_DIGEST> = ::std::mem::MaybeUninit::uninit();
2051 let ptr = UNINIT.as_ptr();
2052 assert_eq!(
2053 ::std::mem::size_of::<TPML_DIGEST>(),
2054 532usize,
2055 concat!("Size of: ", stringify!(TPML_DIGEST))
2056 );
2057 assert_eq!(
2058 ::std::mem::align_of::<TPML_DIGEST>(),
2059 4usize,
2060 concat!("Alignment of ", stringify!(TPML_DIGEST))
2061 );
2062 assert_eq!(
2063 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2064 0usize,
2065 concat!(
2066 "Offset of field: ",
2067 stringify!(TPML_DIGEST),
2068 "::",
2069 stringify!(count)
2070 )
2071 );
2072 assert_eq!(
2073 unsafe { ::std::ptr::addr_of!((*ptr).digests) as usize - ptr as usize },
2074 4usize,
2075 concat!(
2076 "Offset of field: ",
2077 stringify!(TPML_DIGEST),
2078 "::",
2079 stringify!(digests)
2080 )
2081 );
2082}
2083impl Default for TPML_DIGEST {
2084 fn default() -> Self {
2085 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2086 unsafe {
2087 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2088 s.assume_init()
2089 }
2090 }
2091}
2092#[repr(C)]
2093#[derive(Copy, Clone)]
2094pub struct TPML_DIGEST_VALUES {
2095 pub count: UINT32,
2096 pub digests: [TPMT_HA; 16usize],
2097}
2098#[test]
2099fn bindgen_test_layout_TPML_DIGEST_VALUES() {
2100 const UNINIT: ::std::mem::MaybeUninit<TPML_DIGEST_VALUES> = ::std::mem::MaybeUninit::uninit();
2101 let ptr = UNINIT.as_ptr();
2102 assert_eq!(
2103 ::std::mem::size_of::<TPML_DIGEST_VALUES>(),
2104 1060usize,
2105 concat!("Size of: ", stringify!(TPML_DIGEST_VALUES))
2106 );
2107 assert_eq!(
2108 ::std::mem::align_of::<TPML_DIGEST_VALUES>(),
2109 4usize,
2110 concat!("Alignment of ", stringify!(TPML_DIGEST_VALUES))
2111 );
2112 assert_eq!(
2113 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2114 0usize,
2115 concat!(
2116 "Offset of field: ",
2117 stringify!(TPML_DIGEST_VALUES),
2118 "::",
2119 stringify!(count)
2120 )
2121 );
2122 assert_eq!(
2123 unsafe { ::std::ptr::addr_of!((*ptr).digests) as usize - ptr as usize },
2124 4usize,
2125 concat!(
2126 "Offset of field: ",
2127 stringify!(TPML_DIGEST_VALUES),
2128 "::",
2129 stringify!(digests)
2130 )
2131 );
2132}
2133impl Default for TPML_DIGEST_VALUES {
2134 fn default() -> Self {
2135 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2136 unsafe {
2137 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2138 s.assume_init()
2139 }
2140 }
2141}
2142#[repr(C)]
2143#[derive(Debug, Default, Copy, Clone)]
2144pub struct TPML_PCR_SELECTION {
2145 pub count: UINT32,
2146 pub pcrSelections: [TPMS_PCR_SELECTION; 16usize],
2147}
2148#[test]
2149fn bindgen_test_layout_TPML_PCR_SELECTION() {
2150 const UNINIT: ::std::mem::MaybeUninit<TPML_PCR_SELECTION> = ::std::mem::MaybeUninit::uninit();
2151 let ptr = UNINIT.as_ptr();
2152 assert_eq!(
2153 ::std::mem::size_of::<TPML_PCR_SELECTION>(),
2154 132usize,
2155 concat!("Size of: ", stringify!(TPML_PCR_SELECTION))
2156 );
2157 assert_eq!(
2158 ::std::mem::align_of::<TPML_PCR_SELECTION>(),
2159 4usize,
2160 concat!("Alignment of ", stringify!(TPML_PCR_SELECTION))
2161 );
2162 assert_eq!(
2163 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2164 0usize,
2165 concat!(
2166 "Offset of field: ",
2167 stringify!(TPML_PCR_SELECTION),
2168 "::",
2169 stringify!(count)
2170 )
2171 );
2172 assert_eq!(
2173 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelections) as usize - ptr as usize },
2174 4usize,
2175 concat!(
2176 "Offset of field: ",
2177 stringify!(TPML_PCR_SELECTION),
2178 "::",
2179 stringify!(pcrSelections)
2180 )
2181 );
2182}
2183#[repr(C)]
2184#[derive(Debug, Copy, Clone)]
2185pub struct TPML_ALG_PROPERTY {
2186 pub count: UINT32,
2187 pub algProperties: [TPMS_ALG_PROPERTY; 127usize],
2188}
2189#[test]
2190fn bindgen_test_layout_TPML_ALG_PROPERTY() {
2191 const UNINIT: ::std::mem::MaybeUninit<TPML_ALG_PROPERTY> = ::std::mem::MaybeUninit::uninit();
2192 let ptr = UNINIT.as_ptr();
2193 assert_eq!(
2194 ::std::mem::size_of::<TPML_ALG_PROPERTY>(),
2195 1020usize,
2196 concat!("Size of: ", stringify!(TPML_ALG_PROPERTY))
2197 );
2198 assert_eq!(
2199 ::std::mem::align_of::<TPML_ALG_PROPERTY>(),
2200 4usize,
2201 concat!("Alignment of ", stringify!(TPML_ALG_PROPERTY))
2202 );
2203 assert_eq!(
2204 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2205 0usize,
2206 concat!(
2207 "Offset of field: ",
2208 stringify!(TPML_ALG_PROPERTY),
2209 "::",
2210 stringify!(count)
2211 )
2212 );
2213 assert_eq!(
2214 unsafe { ::std::ptr::addr_of!((*ptr).algProperties) as usize - ptr as usize },
2215 4usize,
2216 concat!(
2217 "Offset of field: ",
2218 stringify!(TPML_ALG_PROPERTY),
2219 "::",
2220 stringify!(algProperties)
2221 )
2222 );
2223}
2224impl Default for TPML_ALG_PROPERTY {
2225 fn default() -> Self {
2226 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2227 unsafe {
2228 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2229 s.assume_init()
2230 }
2231 }
2232}
2233#[repr(C)]
2234#[derive(Debug, Copy, Clone)]
2235pub struct TPML_TAGGED_TPM_PROPERTY {
2236 pub count: UINT32,
2237 pub tpmProperty: [TPMS_TAGGED_PROPERTY; 127usize],
2238}
2239#[test]
2240fn bindgen_test_layout_TPML_TAGGED_TPM_PROPERTY() {
2241 const UNINIT: ::std::mem::MaybeUninit<TPML_TAGGED_TPM_PROPERTY> =
2242 ::std::mem::MaybeUninit::uninit();
2243 let ptr = UNINIT.as_ptr();
2244 assert_eq!(
2245 ::std::mem::size_of::<TPML_TAGGED_TPM_PROPERTY>(),
2246 1020usize,
2247 concat!("Size of: ", stringify!(TPML_TAGGED_TPM_PROPERTY))
2248 );
2249 assert_eq!(
2250 ::std::mem::align_of::<TPML_TAGGED_TPM_PROPERTY>(),
2251 4usize,
2252 concat!("Alignment of ", stringify!(TPML_TAGGED_TPM_PROPERTY))
2253 );
2254 assert_eq!(
2255 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2256 0usize,
2257 concat!(
2258 "Offset of field: ",
2259 stringify!(TPML_TAGGED_TPM_PROPERTY),
2260 "::",
2261 stringify!(count)
2262 )
2263 );
2264 assert_eq!(
2265 unsafe { ::std::ptr::addr_of!((*ptr).tpmProperty) as usize - ptr as usize },
2266 4usize,
2267 concat!(
2268 "Offset of field: ",
2269 stringify!(TPML_TAGGED_TPM_PROPERTY),
2270 "::",
2271 stringify!(tpmProperty)
2272 )
2273 );
2274}
2275impl Default for TPML_TAGGED_TPM_PROPERTY {
2276 fn default() -> Self {
2277 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2278 unsafe {
2279 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2280 s.assume_init()
2281 }
2282 }
2283}
2284#[repr(C)]
2285#[derive(Debug, Copy, Clone)]
2286pub struct TPML_TAGGED_PCR_PROPERTY {
2287 pub count: UINT32,
2288 pub pcrProperty: [TPMS_TAGGED_PCR_SELECT; 84usize],
2289}
2290#[test]
2291fn bindgen_test_layout_TPML_TAGGED_PCR_PROPERTY() {
2292 const UNINIT: ::std::mem::MaybeUninit<TPML_TAGGED_PCR_PROPERTY> =
2293 ::std::mem::MaybeUninit::uninit();
2294 let ptr = UNINIT.as_ptr();
2295 assert_eq!(
2296 ::std::mem::size_of::<TPML_TAGGED_PCR_PROPERTY>(),
2297 1012usize,
2298 concat!("Size of: ", stringify!(TPML_TAGGED_PCR_PROPERTY))
2299 );
2300 assert_eq!(
2301 ::std::mem::align_of::<TPML_TAGGED_PCR_PROPERTY>(),
2302 4usize,
2303 concat!("Alignment of ", stringify!(TPML_TAGGED_PCR_PROPERTY))
2304 );
2305 assert_eq!(
2306 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2307 0usize,
2308 concat!(
2309 "Offset of field: ",
2310 stringify!(TPML_TAGGED_PCR_PROPERTY),
2311 "::",
2312 stringify!(count)
2313 )
2314 );
2315 assert_eq!(
2316 unsafe { ::std::ptr::addr_of!((*ptr).pcrProperty) as usize - ptr as usize },
2317 4usize,
2318 concat!(
2319 "Offset of field: ",
2320 stringify!(TPML_TAGGED_PCR_PROPERTY),
2321 "::",
2322 stringify!(pcrProperty)
2323 )
2324 );
2325}
2326impl Default for TPML_TAGGED_PCR_PROPERTY {
2327 fn default() -> Self {
2328 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2329 unsafe {
2330 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2331 s.assume_init()
2332 }
2333 }
2334}
2335#[repr(C)]
2336#[derive(Debug, Copy, Clone)]
2337pub struct TPML_ECC_CURVE {
2338 pub count: UINT32,
2339 pub eccCurves: [TPM2_ECC_CURVE; 508usize],
2340}
2341#[test]
2342fn bindgen_test_layout_TPML_ECC_CURVE() {
2343 const UNINIT: ::std::mem::MaybeUninit<TPML_ECC_CURVE> = ::std::mem::MaybeUninit::uninit();
2344 let ptr = UNINIT.as_ptr();
2345 assert_eq!(
2346 ::std::mem::size_of::<TPML_ECC_CURVE>(),
2347 1020usize,
2348 concat!("Size of: ", stringify!(TPML_ECC_CURVE))
2349 );
2350 assert_eq!(
2351 ::std::mem::align_of::<TPML_ECC_CURVE>(),
2352 4usize,
2353 concat!("Alignment of ", stringify!(TPML_ECC_CURVE))
2354 );
2355 assert_eq!(
2356 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2357 0usize,
2358 concat!(
2359 "Offset of field: ",
2360 stringify!(TPML_ECC_CURVE),
2361 "::",
2362 stringify!(count)
2363 )
2364 );
2365 assert_eq!(
2366 unsafe { ::std::ptr::addr_of!((*ptr).eccCurves) as usize - ptr as usize },
2367 4usize,
2368 concat!(
2369 "Offset of field: ",
2370 stringify!(TPML_ECC_CURVE),
2371 "::",
2372 stringify!(eccCurves)
2373 )
2374 );
2375}
2376impl Default for TPML_ECC_CURVE {
2377 fn default() -> Self {
2378 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2379 unsafe {
2380 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2381 s.assume_init()
2382 }
2383 }
2384}
2385#[repr(C)]
2386#[derive(Debug, Copy, Clone)]
2387pub struct TPML_INTEL_PTT_PROPERTY {
2388 pub count: UINT32,
2389 pub property: [UINT32; 256usize],
2390}
2391#[test]
2392fn bindgen_test_layout_TPML_INTEL_PTT_PROPERTY() {
2393 const UNINIT: ::std::mem::MaybeUninit<TPML_INTEL_PTT_PROPERTY> =
2394 ::std::mem::MaybeUninit::uninit();
2395 let ptr = UNINIT.as_ptr();
2396 assert_eq!(
2397 ::std::mem::size_of::<TPML_INTEL_PTT_PROPERTY>(),
2398 1028usize,
2399 concat!("Size of: ", stringify!(TPML_INTEL_PTT_PROPERTY))
2400 );
2401 assert_eq!(
2402 ::std::mem::align_of::<TPML_INTEL_PTT_PROPERTY>(),
2403 4usize,
2404 concat!("Alignment of ", stringify!(TPML_INTEL_PTT_PROPERTY))
2405 );
2406 assert_eq!(
2407 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2408 0usize,
2409 concat!(
2410 "Offset of field: ",
2411 stringify!(TPML_INTEL_PTT_PROPERTY),
2412 "::",
2413 stringify!(count)
2414 )
2415 );
2416 assert_eq!(
2417 unsafe { ::std::ptr::addr_of!((*ptr).property) as usize - ptr as usize },
2418 4usize,
2419 concat!(
2420 "Offset of field: ",
2421 stringify!(TPML_INTEL_PTT_PROPERTY),
2422 "::",
2423 stringify!(property)
2424 )
2425 );
2426}
2427impl Default for TPML_INTEL_PTT_PROPERTY {
2428 fn default() -> Self {
2429 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2430 unsafe {
2431 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2432 s.assume_init()
2433 }
2434 }
2435}
2436#[repr(C)]
2437#[derive(Copy, Clone)]
2438pub union TPMU_CAPABILITIES {
2439 pub algorithms: TPML_ALG_PROPERTY,
2440 pub handles: TPML_HANDLE,
2441 pub command: TPML_CCA,
2442 pub ppCommands: TPML_CC,
2443 pub auditCommands: TPML_CC,
2444 pub assignedPCR: TPML_PCR_SELECTION,
2445 pub tpmProperties: TPML_TAGGED_TPM_PROPERTY,
2446 pub pcrProperties: TPML_TAGGED_PCR_PROPERTY,
2447 pub eccCurves: TPML_ECC_CURVE,
2448 pub intelPttProperty: TPML_INTEL_PTT_PROPERTY,
2449}
2450#[test]
2451fn bindgen_test_layout_TPMU_CAPABILITIES() {
2452 const UNINIT: ::std::mem::MaybeUninit<TPMU_CAPABILITIES> = ::std::mem::MaybeUninit::uninit();
2453 let ptr = UNINIT.as_ptr();
2454 assert_eq!(
2455 ::std::mem::size_of::<TPMU_CAPABILITIES>(),
2456 1028usize,
2457 concat!("Size of: ", stringify!(TPMU_CAPABILITIES))
2458 );
2459 assert_eq!(
2460 ::std::mem::align_of::<TPMU_CAPABILITIES>(),
2461 4usize,
2462 concat!("Alignment of ", stringify!(TPMU_CAPABILITIES))
2463 );
2464 assert_eq!(
2465 unsafe { ::std::ptr::addr_of!((*ptr).algorithms) as usize - ptr as usize },
2466 0usize,
2467 concat!(
2468 "Offset of field: ",
2469 stringify!(TPMU_CAPABILITIES),
2470 "::",
2471 stringify!(algorithms)
2472 )
2473 );
2474 assert_eq!(
2475 unsafe { ::std::ptr::addr_of!((*ptr).handles) as usize - ptr as usize },
2476 0usize,
2477 concat!(
2478 "Offset of field: ",
2479 stringify!(TPMU_CAPABILITIES),
2480 "::",
2481 stringify!(handles)
2482 )
2483 );
2484 assert_eq!(
2485 unsafe { ::std::ptr::addr_of!((*ptr).command) as usize - ptr as usize },
2486 0usize,
2487 concat!(
2488 "Offset of field: ",
2489 stringify!(TPMU_CAPABILITIES),
2490 "::",
2491 stringify!(command)
2492 )
2493 );
2494 assert_eq!(
2495 unsafe { ::std::ptr::addr_of!((*ptr).ppCommands) as usize - ptr as usize },
2496 0usize,
2497 concat!(
2498 "Offset of field: ",
2499 stringify!(TPMU_CAPABILITIES),
2500 "::",
2501 stringify!(ppCommands)
2502 )
2503 );
2504 assert_eq!(
2505 unsafe { ::std::ptr::addr_of!((*ptr).auditCommands) as usize - ptr as usize },
2506 0usize,
2507 concat!(
2508 "Offset of field: ",
2509 stringify!(TPMU_CAPABILITIES),
2510 "::",
2511 stringify!(auditCommands)
2512 )
2513 );
2514 assert_eq!(
2515 unsafe { ::std::ptr::addr_of!((*ptr).assignedPCR) as usize - ptr as usize },
2516 0usize,
2517 concat!(
2518 "Offset of field: ",
2519 stringify!(TPMU_CAPABILITIES),
2520 "::",
2521 stringify!(assignedPCR)
2522 )
2523 );
2524 assert_eq!(
2525 unsafe { ::std::ptr::addr_of!((*ptr).tpmProperties) as usize - ptr as usize },
2526 0usize,
2527 concat!(
2528 "Offset of field: ",
2529 stringify!(TPMU_CAPABILITIES),
2530 "::",
2531 stringify!(tpmProperties)
2532 )
2533 );
2534 assert_eq!(
2535 unsafe { ::std::ptr::addr_of!((*ptr).pcrProperties) as usize - ptr as usize },
2536 0usize,
2537 concat!(
2538 "Offset of field: ",
2539 stringify!(TPMU_CAPABILITIES),
2540 "::",
2541 stringify!(pcrProperties)
2542 )
2543 );
2544 assert_eq!(
2545 unsafe { ::std::ptr::addr_of!((*ptr).eccCurves) as usize - ptr as usize },
2546 0usize,
2547 concat!(
2548 "Offset of field: ",
2549 stringify!(TPMU_CAPABILITIES),
2550 "::",
2551 stringify!(eccCurves)
2552 )
2553 );
2554 assert_eq!(
2555 unsafe { ::std::ptr::addr_of!((*ptr).intelPttProperty) as usize - ptr as usize },
2556 0usize,
2557 concat!(
2558 "Offset of field: ",
2559 stringify!(TPMU_CAPABILITIES),
2560 "::",
2561 stringify!(intelPttProperty)
2562 )
2563 );
2564}
2565impl Default for TPMU_CAPABILITIES {
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(Copy, Clone)]
2576pub struct TPMS_CAPABILITY_DATA {
2577 pub capability: TPM2_CAP,
2578 pub data: TPMU_CAPABILITIES,
2579}
2580#[test]
2581fn bindgen_test_layout_TPMS_CAPABILITY_DATA() {
2582 const UNINIT: ::std::mem::MaybeUninit<TPMS_CAPABILITY_DATA> = ::std::mem::MaybeUninit::uninit();
2583 let ptr = UNINIT.as_ptr();
2584 assert_eq!(
2585 ::std::mem::size_of::<TPMS_CAPABILITY_DATA>(),
2586 1032usize,
2587 concat!("Size of: ", stringify!(TPMS_CAPABILITY_DATA))
2588 );
2589 assert_eq!(
2590 ::std::mem::align_of::<TPMS_CAPABILITY_DATA>(),
2591 4usize,
2592 concat!("Alignment of ", stringify!(TPMS_CAPABILITY_DATA))
2593 );
2594 assert_eq!(
2595 unsafe { ::std::ptr::addr_of!((*ptr).capability) as usize - ptr as usize },
2596 0usize,
2597 concat!(
2598 "Offset of field: ",
2599 stringify!(TPMS_CAPABILITY_DATA),
2600 "::",
2601 stringify!(capability)
2602 )
2603 );
2604 assert_eq!(
2605 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
2606 4usize,
2607 concat!(
2608 "Offset of field: ",
2609 stringify!(TPMS_CAPABILITY_DATA),
2610 "::",
2611 stringify!(data)
2612 )
2613 );
2614}
2615impl Default for TPMS_CAPABILITY_DATA {
2616 fn default() -> Self {
2617 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2618 unsafe {
2619 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2620 s.assume_init()
2621 }
2622 }
2623}
2624#[repr(C)]
2625#[derive(Debug, Default, Copy, Clone)]
2626pub struct TPMS_CLOCK_INFO {
2627 pub clock: UINT64,
2628 pub resetCount: UINT32,
2629 pub restartCount: UINT32,
2630 pub safe: TPMI_YES_NO,
2631}
2632#[test]
2633fn bindgen_test_layout_TPMS_CLOCK_INFO() {
2634 const UNINIT: ::std::mem::MaybeUninit<TPMS_CLOCK_INFO> = ::std::mem::MaybeUninit::uninit();
2635 let ptr = UNINIT.as_ptr();
2636 assert_eq!(
2637 ::std::mem::size_of::<TPMS_CLOCK_INFO>(),
2638 24usize,
2639 concat!("Size of: ", stringify!(TPMS_CLOCK_INFO))
2640 );
2641 assert_eq!(
2642 ::std::mem::align_of::<TPMS_CLOCK_INFO>(),
2643 8usize,
2644 concat!("Alignment of ", stringify!(TPMS_CLOCK_INFO))
2645 );
2646 assert_eq!(
2647 unsafe { ::std::ptr::addr_of!((*ptr).clock) as usize - ptr as usize },
2648 0usize,
2649 concat!(
2650 "Offset of field: ",
2651 stringify!(TPMS_CLOCK_INFO),
2652 "::",
2653 stringify!(clock)
2654 )
2655 );
2656 assert_eq!(
2657 unsafe { ::std::ptr::addr_of!((*ptr).resetCount) as usize - ptr as usize },
2658 8usize,
2659 concat!(
2660 "Offset of field: ",
2661 stringify!(TPMS_CLOCK_INFO),
2662 "::",
2663 stringify!(resetCount)
2664 )
2665 );
2666 assert_eq!(
2667 unsafe { ::std::ptr::addr_of!((*ptr).restartCount) as usize - ptr as usize },
2668 12usize,
2669 concat!(
2670 "Offset of field: ",
2671 stringify!(TPMS_CLOCK_INFO),
2672 "::",
2673 stringify!(restartCount)
2674 )
2675 );
2676 assert_eq!(
2677 unsafe { ::std::ptr::addr_of!((*ptr).safe) as usize - ptr as usize },
2678 16usize,
2679 concat!(
2680 "Offset of field: ",
2681 stringify!(TPMS_CLOCK_INFO),
2682 "::",
2683 stringify!(safe)
2684 )
2685 );
2686}
2687#[repr(C)]
2688#[derive(Debug, Default, Copy, Clone)]
2689pub struct TPMS_TIME_INFO {
2690 pub time: UINT64,
2691 pub clockInfo: TPMS_CLOCK_INFO,
2692}
2693#[test]
2694fn bindgen_test_layout_TPMS_TIME_INFO() {
2695 const UNINIT: ::std::mem::MaybeUninit<TPMS_TIME_INFO> = ::std::mem::MaybeUninit::uninit();
2696 let ptr = UNINIT.as_ptr();
2697 assert_eq!(
2698 ::std::mem::size_of::<TPMS_TIME_INFO>(),
2699 32usize,
2700 concat!("Size of: ", stringify!(TPMS_TIME_INFO))
2701 );
2702 assert_eq!(
2703 ::std::mem::align_of::<TPMS_TIME_INFO>(),
2704 8usize,
2705 concat!("Alignment of ", stringify!(TPMS_TIME_INFO))
2706 );
2707 assert_eq!(
2708 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
2709 0usize,
2710 concat!(
2711 "Offset of field: ",
2712 stringify!(TPMS_TIME_INFO),
2713 "::",
2714 stringify!(time)
2715 )
2716 );
2717 assert_eq!(
2718 unsafe { ::std::ptr::addr_of!((*ptr).clockInfo) as usize - ptr as usize },
2719 8usize,
2720 concat!(
2721 "Offset of field: ",
2722 stringify!(TPMS_TIME_INFO),
2723 "::",
2724 stringify!(clockInfo)
2725 )
2726 );
2727}
2728#[repr(C)]
2729#[derive(Debug, Default, Copy, Clone)]
2730pub struct TPMS_TIME_ATTEST_INFO {
2731 pub time: TPMS_TIME_INFO,
2732 pub firmwareVersion: UINT64,
2733}
2734#[test]
2735fn bindgen_test_layout_TPMS_TIME_ATTEST_INFO() {
2736 const UNINIT: ::std::mem::MaybeUninit<TPMS_TIME_ATTEST_INFO> =
2737 ::std::mem::MaybeUninit::uninit();
2738 let ptr = UNINIT.as_ptr();
2739 assert_eq!(
2740 ::std::mem::size_of::<TPMS_TIME_ATTEST_INFO>(),
2741 40usize,
2742 concat!("Size of: ", stringify!(TPMS_TIME_ATTEST_INFO))
2743 );
2744 assert_eq!(
2745 ::std::mem::align_of::<TPMS_TIME_ATTEST_INFO>(),
2746 8usize,
2747 concat!("Alignment of ", stringify!(TPMS_TIME_ATTEST_INFO))
2748 );
2749 assert_eq!(
2750 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
2751 0usize,
2752 concat!(
2753 "Offset of field: ",
2754 stringify!(TPMS_TIME_ATTEST_INFO),
2755 "::",
2756 stringify!(time)
2757 )
2758 );
2759 assert_eq!(
2760 unsafe { ::std::ptr::addr_of!((*ptr).firmwareVersion) as usize - ptr as usize },
2761 32usize,
2762 concat!(
2763 "Offset of field: ",
2764 stringify!(TPMS_TIME_ATTEST_INFO),
2765 "::",
2766 stringify!(firmwareVersion)
2767 )
2768 );
2769}
2770#[repr(C)]
2771#[derive(Debug, Copy, Clone)]
2772pub struct TPMS_CERTIFY_INFO {
2773 pub name: TPM2B_NAME,
2774 pub qualifiedName: TPM2B_NAME,
2775}
2776#[test]
2777fn bindgen_test_layout_TPMS_CERTIFY_INFO() {
2778 const UNINIT: ::std::mem::MaybeUninit<TPMS_CERTIFY_INFO> = ::std::mem::MaybeUninit::uninit();
2779 let ptr = UNINIT.as_ptr();
2780 assert_eq!(
2781 ::std::mem::size_of::<TPMS_CERTIFY_INFO>(),
2782 140usize,
2783 concat!("Size of: ", stringify!(TPMS_CERTIFY_INFO))
2784 );
2785 assert_eq!(
2786 ::std::mem::align_of::<TPMS_CERTIFY_INFO>(),
2787 2usize,
2788 concat!("Alignment of ", stringify!(TPMS_CERTIFY_INFO))
2789 );
2790 assert_eq!(
2791 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
2792 0usize,
2793 concat!(
2794 "Offset of field: ",
2795 stringify!(TPMS_CERTIFY_INFO),
2796 "::",
2797 stringify!(name)
2798 )
2799 );
2800 assert_eq!(
2801 unsafe { ::std::ptr::addr_of!((*ptr).qualifiedName) as usize - ptr as usize },
2802 70usize,
2803 concat!(
2804 "Offset of field: ",
2805 stringify!(TPMS_CERTIFY_INFO),
2806 "::",
2807 stringify!(qualifiedName)
2808 )
2809 );
2810}
2811impl Default for TPMS_CERTIFY_INFO {
2812 fn default() -> Self {
2813 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2814 unsafe {
2815 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2816 s.assume_init()
2817 }
2818 }
2819}
2820#[repr(C)]
2821#[derive(Debug, Copy, Clone)]
2822pub struct TPMS_QUOTE_INFO {
2823 pub pcrSelect: TPML_PCR_SELECTION,
2824 pub pcrDigest: TPM2B_DIGEST,
2825}
2826#[test]
2827fn bindgen_test_layout_TPMS_QUOTE_INFO() {
2828 const UNINIT: ::std::mem::MaybeUninit<TPMS_QUOTE_INFO> = ::std::mem::MaybeUninit::uninit();
2829 let ptr = UNINIT.as_ptr();
2830 assert_eq!(
2831 ::std::mem::size_of::<TPMS_QUOTE_INFO>(),
2832 200usize,
2833 concat!("Size of: ", stringify!(TPMS_QUOTE_INFO))
2834 );
2835 assert_eq!(
2836 ::std::mem::align_of::<TPMS_QUOTE_INFO>(),
2837 4usize,
2838 concat!("Alignment of ", stringify!(TPMS_QUOTE_INFO))
2839 );
2840 assert_eq!(
2841 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
2842 0usize,
2843 concat!(
2844 "Offset of field: ",
2845 stringify!(TPMS_QUOTE_INFO),
2846 "::",
2847 stringify!(pcrSelect)
2848 )
2849 );
2850 assert_eq!(
2851 unsafe { ::std::ptr::addr_of!((*ptr).pcrDigest) as usize - ptr as usize },
2852 132usize,
2853 concat!(
2854 "Offset of field: ",
2855 stringify!(TPMS_QUOTE_INFO),
2856 "::",
2857 stringify!(pcrDigest)
2858 )
2859 );
2860}
2861impl Default for TPMS_QUOTE_INFO {
2862 fn default() -> Self {
2863 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2864 unsafe {
2865 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2866 s.assume_init()
2867 }
2868 }
2869}
2870#[repr(C)]
2871#[derive(Debug, Copy, Clone)]
2872pub struct TPMS_COMMAND_AUDIT_INFO {
2873 pub auditCounter: UINT64,
2874 pub digestAlg: TPM2_ALG_ID,
2875 pub auditDigest: TPM2B_DIGEST,
2876 pub commandDigest: TPM2B_DIGEST,
2877}
2878#[test]
2879fn bindgen_test_layout_TPMS_COMMAND_AUDIT_INFO() {
2880 const UNINIT: ::std::mem::MaybeUninit<TPMS_COMMAND_AUDIT_INFO> =
2881 ::std::mem::MaybeUninit::uninit();
2882 let ptr = UNINIT.as_ptr();
2883 assert_eq!(
2884 ::std::mem::size_of::<TPMS_COMMAND_AUDIT_INFO>(),
2885 144usize,
2886 concat!("Size of: ", stringify!(TPMS_COMMAND_AUDIT_INFO))
2887 );
2888 assert_eq!(
2889 ::std::mem::align_of::<TPMS_COMMAND_AUDIT_INFO>(),
2890 8usize,
2891 concat!("Alignment of ", stringify!(TPMS_COMMAND_AUDIT_INFO))
2892 );
2893 assert_eq!(
2894 unsafe { ::std::ptr::addr_of!((*ptr).auditCounter) as usize - ptr as usize },
2895 0usize,
2896 concat!(
2897 "Offset of field: ",
2898 stringify!(TPMS_COMMAND_AUDIT_INFO),
2899 "::",
2900 stringify!(auditCounter)
2901 )
2902 );
2903 assert_eq!(
2904 unsafe { ::std::ptr::addr_of!((*ptr).digestAlg) as usize - ptr as usize },
2905 8usize,
2906 concat!(
2907 "Offset of field: ",
2908 stringify!(TPMS_COMMAND_AUDIT_INFO),
2909 "::",
2910 stringify!(digestAlg)
2911 )
2912 );
2913 assert_eq!(
2914 unsafe { ::std::ptr::addr_of!((*ptr).auditDigest) as usize - ptr as usize },
2915 10usize,
2916 concat!(
2917 "Offset of field: ",
2918 stringify!(TPMS_COMMAND_AUDIT_INFO),
2919 "::",
2920 stringify!(auditDigest)
2921 )
2922 );
2923 assert_eq!(
2924 unsafe { ::std::ptr::addr_of!((*ptr).commandDigest) as usize - ptr as usize },
2925 76usize,
2926 concat!(
2927 "Offset of field: ",
2928 stringify!(TPMS_COMMAND_AUDIT_INFO),
2929 "::",
2930 stringify!(commandDigest)
2931 )
2932 );
2933}
2934impl Default for TPMS_COMMAND_AUDIT_INFO {
2935 fn default() -> Self {
2936 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2937 unsafe {
2938 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2939 s.assume_init()
2940 }
2941 }
2942}
2943#[repr(C)]
2944#[derive(Debug, Copy, Clone)]
2945pub struct TPMS_SESSION_AUDIT_INFO {
2946 pub exclusiveSession: TPMI_YES_NO,
2947 pub sessionDigest: TPM2B_DIGEST,
2948}
2949#[test]
2950fn bindgen_test_layout_TPMS_SESSION_AUDIT_INFO() {
2951 const UNINIT: ::std::mem::MaybeUninit<TPMS_SESSION_AUDIT_INFO> =
2952 ::std::mem::MaybeUninit::uninit();
2953 let ptr = UNINIT.as_ptr();
2954 assert_eq!(
2955 ::std::mem::size_of::<TPMS_SESSION_AUDIT_INFO>(),
2956 68usize,
2957 concat!("Size of: ", stringify!(TPMS_SESSION_AUDIT_INFO))
2958 );
2959 assert_eq!(
2960 ::std::mem::align_of::<TPMS_SESSION_AUDIT_INFO>(),
2961 2usize,
2962 concat!("Alignment of ", stringify!(TPMS_SESSION_AUDIT_INFO))
2963 );
2964 assert_eq!(
2965 unsafe { ::std::ptr::addr_of!((*ptr).exclusiveSession) as usize - ptr as usize },
2966 0usize,
2967 concat!(
2968 "Offset of field: ",
2969 stringify!(TPMS_SESSION_AUDIT_INFO),
2970 "::",
2971 stringify!(exclusiveSession)
2972 )
2973 );
2974 assert_eq!(
2975 unsafe { ::std::ptr::addr_of!((*ptr).sessionDigest) as usize - ptr as usize },
2976 2usize,
2977 concat!(
2978 "Offset of field: ",
2979 stringify!(TPMS_SESSION_AUDIT_INFO),
2980 "::",
2981 stringify!(sessionDigest)
2982 )
2983 );
2984}
2985impl Default for TPMS_SESSION_AUDIT_INFO {
2986 fn default() -> Self {
2987 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2988 unsafe {
2989 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2990 s.assume_init()
2991 }
2992 }
2993}
2994#[repr(C)]
2995#[derive(Debug, Copy, Clone)]
2996pub struct TPMS_CREATION_INFO {
2997 pub objectName: TPM2B_NAME,
2998 pub creationHash: TPM2B_DIGEST,
2999}
3000#[test]
3001fn bindgen_test_layout_TPMS_CREATION_INFO() {
3002 const UNINIT: ::std::mem::MaybeUninit<TPMS_CREATION_INFO> = ::std::mem::MaybeUninit::uninit();
3003 let ptr = UNINIT.as_ptr();
3004 assert_eq!(
3005 ::std::mem::size_of::<TPMS_CREATION_INFO>(),
3006 136usize,
3007 concat!("Size of: ", stringify!(TPMS_CREATION_INFO))
3008 );
3009 assert_eq!(
3010 ::std::mem::align_of::<TPMS_CREATION_INFO>(),
3011 2usize,
3012 concat!("Alignment of ", stringify!(TPMS_CREATION_INFO))
3013 );
3014 assert_eq!(
3015 unsafe { ::std::ptr::addr_of!((*ptr).objectName) as usize - ptr as usize },
3016 0usize,
3017 concat!(
3018 "Offset of field: ",
3019 stringify!(TPMS_CREATION_INFO),
3020 "::",
3021 stringify!(objectName)
3022 )
3023 );
3024 assert_eq!(
3025 unsafe { ::std::ptr::addr_of!((*ptr).creationHash) as usize - ptr as usize },
3026 70usize,
3027 concat!(
3028 "Offset of field: ",
3029 stringify!(TPMS_CREATION_INFO),
3030 "::",
3031 stringify!(creationHash)
3032 )
3033 );
3034}
3035impl Default for TPMS_CREATION_INFO {
3036 fn default() -> Self {
3037 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3038 unsafe {
3039 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3040 s.assume_init()
3041 }
3042 }
3043}
3044#[repr(C)]
3045#[derive(Debug, Copy, Clone)]
3046pub struct TPMS_NV_CERTIFY_INFO {
3047 pub indexName: TPM2B_NAME,
3048 pub offset: UINT16,
3049 pub nvContents: TPM2B_MAX_NV_BUFFER,
3050}
3051#[test]
3052fn bindgen_test_layout_TPMS_NV_CERTIFY_INFO() {
3053 const UNINIT: ::std::mem::MaybeUninit<TPMS_NV_CERTIFY_INFO> = ::std::mem::MaybeUninit::uninit();
3054 let ptr = UNINIT.as_ptr();
3055 assert_eq!(
3056 ::std::mem::size_of::<TPMS_NV_CERTIFY_INFO>(),
3057 2122usize,
3058 concat!("Size of: ", stringify!(TPMS_NV_CERTIFY_INFO))
3059 );
3060 assert_eq!(
3061 ::std::mem::align_of::<TPMS_NV_CERTIFY_INFO>(),
3062 2usize,
3063 concat!("Alignment of ", stringify!(TPMS_NV_CERTIFY_INFO))
3064 );
3065 assert_eq!(
3066 unsafe { ::std::ptr::addr_of!((*ptr).indexName) as usize - ptr as usize },
3067 0usize,
3068 concat!(
3069 "Offset of field: ",
3070 stringify!(TPMS_NV_CERTIFY_INFO),
3071 "::",
3072 stringify!(indexName)
3073 )
3074 );
3075 assert_eq!(
3076 unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
3077 70usize,
3078 concat!(
3079 "Offset of field: ",
3080 stringify!(TPMS_NV_CERTIFY_INFO),
3081 "::",
3082 stringify!(offset)
3083 )
3084 );
3085 assert_eq!(
3086 unsafe { ::std::ptr::addr_of!((*ptr).nvContents) as usize - ptr as usize },
3087 72usize,
3088 concat!(
3089 "Offset of field: ",
3090 stringify!(TPMS_NV_CERTIFY_INFO),
3091 "::",
3092 stringify!(nvContents)
3093 )
3094 );
3095}
3096impl Default for TPMS_NV_CERTIFY_INFO {
3097 fn default() -> Self {
3098 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3099 unsafe {
3100 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3101 s.assume_init()
3102 }
3103 }
3104}
3105pub type TPMI_ST_ATTEST = TPM2_ST;
3106#[repr(C)]
3107#[derive(Copy, Clone)]
3108pub union TPMU_ATTEST {
3109 pub certify: TPMS_CERTIFY_INFO,
3110 pub creation: TPMS_CREATION_INFO,
3111 pub quote: TPMS_QUOTE_INFO,
3112 pub commandAudit: TPMS_COMMAND_AUDIT_INFO,
3113 pub sessionAudit: TPMS_SESSION_AUDIT_INFO,
3114 pub time: TPMS_TIME_ATTEST_INFO,
3115 pub nv: TPMS_NV_CERTIFY_INFO,
3116}
3117#[test]
3118fn bindgen_test_layout_TPMU_ATTEST() {
3119 const UNINIT: ::std::mem::MaybeUninit<TPMU_ATTEST> = ::std::mem::MaybeUninit::uninit();
3120 let ptr = UNINIT.as_ptr();
3121 assert_eq!(
3122 ::std::mem::size_of::<TPMU_ATTEST>(),
3123 2128usize,
3124 concat!("Size of: ", stringify!(TPMU_ATTEST))
3125 );
3126 assert_eq!(
3127 ::std::mem::align_of::<TPMU_ATTEST>(),
3128 8usize,
3129 concat!("Alignment of ", stringify!(TPMU_ATTEST))
3130 );
3131 assert_eq!(
3132 unsafe { ::std::ptr::addr_of!((*ptr).certify) as usize - ptr as usize },
3133 0usize,
3134 concat!(
3135 "Offset of field: ",
3136 stringify!(TPMU_ATTEST),
3137 "::",
3138 stringify!(certify)
3139 )
3140 );
3141 assert_eq!(
3142 unsafe { ::std::ptr::addr_of!((*ptr).creation) as usize - ptr as usize },
3143 0usize,
3144 concat!(
3145 "Offset of field: ",
3146 stringify!(TPMU_ATTEST),
3147 "::",
3148 stringify!(creation)
3149 )
3150 );
3151 assert_eq!(
3152 unsafe { ::std::ptr::addr_of!((*ptr).quote) as usize - ptr as usize },
3153 0usize,
3154 concat!(
3155 "Offset of field: ",
3156 stringify!(TPMU_ATTEST),
3157 "::",
3158 stringify!(quote)
3159 )
3160 );
3161 assert_eq!(
3162 unsafe { ::std::ptr::addr_of!((*ptr).commandAudit) as usize - ptr as usize },
3163 0usize,
3164 concat!(
3165 "Offset of field: ",
3166 stringify!(TPMU_ATTEST),
3167 "::",
3168 stringify!(commandAudit)
3169 )
3170 );
3171 assert_eq!(
3172 unsafe { ::std::ptr::addr_of!((*ptr).sessionAudit) as usize - ptr as usize },
3173 0usize,
3174 concat!(
3175 "Offset of field: ",
3176 stringify!(TPMU_ATTEST),
3177 "::",
3178 stringify!(sessionAudit)
3179 )
3180 );
3181 assert_eq!(
3182 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
3183 0usize,
3184 concat!(
3185 "Offset of field: ",
3186 stringify!(TPMU_ATTEST),
3187 "::",
3188 stringify!(time)
3189 )
3190 );
3191 assert_eq!(
3192 unsafe { ::std::ptr::addr_of!((*ptr).nv) as usize - ptr as usize },
3193 0usize,
3194 concat!(
3195 "Offset of field: ",
3196 stringify!(TPMU_ATTEST),
3197 "::",
3198 stringify!(nv)
3199 )
3200 );
3201}
3202impl Default for TPMU_ATTEST {
3203 fn default() -> Self {
3204 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3205 unsafe {
3206 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3207 s.assume_init()
3208 }
3209 }
3210}
3211#[repr(C)]
3212#[derive(Copy, Clone)]
3213pub struct TPMS_ATTEST {
3214 pub magic: TPM2_GENERATED,
3215 pub type_: TPMI_ST_ATTEST,
3216 pub qualifiedSigner: TPM2B_NAME,
3217 pub extraData: TPM2B_DATA,
3218 pub clockInfo: TPMS_CLOCK_INFO,
3219 pub firmwareVersion: UINT64,
3220 pub attested: TPMU_ATTEST,
3221}
3222#[test]
3223fn bindgen_test_layout_TPMS_ATTEST() {
3224 const UNINIT: ::std::mem::MaybeUninit<TPMS_ATTEST> = ::std::mem::MaybeUninit::uninit();
3225 let ptr = UNINIT.as_ptr();
3226 assert_eq!(
3227 ::std::mem::size_of::<TPMS_ATTEST>(),
3228 2304usize,
3229 concat!("Size of: ", stringify!(TPMS_ATTEST))
3230 );
3231 assert_eq!(
3232 ::std::mem::align_of::<TPMS_ATTEST>(),
3233 8usize,
3234 concat!("Alignment of ", stringify!(TPMS_ATTEST))
3235 );
3236 assert_eq!(
3237 unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
3238 0usize,
3239 concat!(
3240 "Offset of field: ",
3241 stringify!(TPMS_ATTEST),
3242 "::",
3243 stringify!(magic)
3244 )
3245 );
3246 assert_eq!(
3247 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
3248 4usize,
3249 concat!(
3250 "Offset of field: ",
3251 stringify!(TPMS_ATTEST),
3252 "::",
3253 stringify!(type_)
3254 )
3255 );
3256 assert_eq!(
3257 unsafe { ::std::ptr::addr_of!((*ptr).qualifiedSigner) as usize - ptr as usize },
3258 6usize,
3259 concat!(
3260 "Offset of field: ",
3261 stringify!(TPMS_ATTEST),
3262 "::",
3263 stringify!(qualifiedSigner)
3264 )
3265 );
3266 assert_eq!(
3267 unsafe { ::std::ptr::addr_of!((*ptr).extraData) as usize - ptr as usize },
3268 76usize,
3269 concat!(
3270 "Offset of field: ",
3271 stringify!(TPMS_ATTEST),
3272 "::",
3273 stringify!(extraData)
3274 )
3275 );
3276 assert_eq!(
3277 unsafe { ::std::ptr::addr_of!((*ptr).clockInfo) as usize - ptr as usize },
3278 144usize,
3279 concat!(
3280 "Offset of field: ",
3281 stringify!(TPMS_ATTEST),
3282 "::",
3283 stringify!(clockInfo)
3284 )
3285 );
3286 assert_eq!(
3287 unsafe { ::std::ptr::addr_of!((*ptr).firmwareVersion) as usize - ptr as usize },
3288 168usize,
3289 concat!(
3290 "Offset of field: ",
3291 stringify!(TPMS_ATTEST),
3292 "::",
3293 stringify!(firmwareVersion)
3294 )
3295 );
3296 assert_eq!(
3297 unsafe { ::std::ptr::addr_of!((*ptr).attested) as usize - ptr as usize },
3298 176usize,
3299 concat!(
3300 "Offset of field: ",
3301 stringify!(TPMS_ATTEST),
3302 "::",
3303 stringify!(attested)
3304 )
3305 );
3306}
3307impl Default for TPMS_ATTEST {
3308 fn default() -> Self {
3309 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3310 unsafe {
3311 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3312 s.assume_init()
3313 }
3314 }
3315}
3316#[repr(C)]
3317#[derive(Debug, Copy, Clone)]
3318pub struct TPM2B_ATTEST {
3319 pub size: UINT16,
3320 pub attestationData: [BYTE; 2304usize],
3321}
3322#[test]
3323fn bindgen_test_layout_TPM2B_ATTEST() {
3324 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ATTEST> = ::std::mem::MaybeUninit::uninit();
3325 let ptr = UNINIT.as_ptr();
3326 assert_eq!(
3327 ::std::mem::size_of::<TPM2B_ATTEST>(),
3328 2306usize,
3329 concat!("Size of: ", stringify!(TPM2B_ATTEST))
3330 );
3331 assert_eq!(
3332 ::std::mem::align_of::<TPM2B_ATTEST>(),
3333 2usize,
3334 concat!("Alignment of ", stringify!(TPM2B_ATTEST))
3335 );
3336 assert_eq!(
3337 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3338 0usize,
3339 concat!(
3340 "Offset of field: ",
3341 stringify!(TPM2B_ATTEST),
3342 "::",
3343 stringify!(size)
3344 )
3345 );
3346 assert_eq!(
3347 unsafe { ::std::ptr::addr_of!((*ptr).attestationData) as usize - ptr as usize },
3348 2usize,
3349 concat!(
3350 "Offset of field: ",
3351 stringify!(TPM2B_ATTEST),
3352 "::",
3353 stringify!(attestationData)
3354 )
3355 );
3356}
3357impl Default for TPM2B_ATTEST {
3358 fn default() -> Self {
3359 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3360 unsafe {
3361 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3362 s.assume_init()
3363 }
3364 }
3365}
3366#[repr(C)]
3367#[derive(Debug, Copy, Clone)]
3368pub struct TPMS_AUTH_COMMAND {
3369 pub sessionHandle: TPMI_SH_AUTH_SESSION,
3370 pub nonce: TPM2B_NONCE,
3371 pub sessionAttributes: TPMA_SESSION,
3372 pub hmac: TPM2B_AUTH,
3373}
3374#[test]
3375fn bindgen_test_layout_TPMS_AUTH_COMMAND() {
3376 const UNINIT: ::std::mem::MaybeUninit<TPMS_AUTH_COMMAND> = ::std::mem::MaybeUninit::uninit();
3377 let ptr = UNINIT.as_ptr();
3378 assert_eq!(
3379 ::std::mem::size_of::<TPMS_AUTH_COMMAND>(),
3380 140usize,
3381 concat!("Size of: ", stringify!(TPMS_AUTH_COMMAND))
3382 );
3383 assert_eq!(
3384 ::std::mem::align_of::<TPMS_AUTH_COMMAND>(),
3385 4usize,
3386 concat!("Alignment of ", stringify!(TPMS_AUTH_COMMAND))
3387 );
3388 assert_eq!(
3389 unsafe { ::std::ptr::addr_of!((*ptr).sessionHandle) as usize - ptr as usize },
3390 0usize,
3391 concat!(
3392 "Offset of field: ",
3393 stringify!(TPMS_AUTH_COMMAND),
3394 "::",
3395 stringify!(sessionHandle)
3396 )
3397 );
3398 assert_eq!(
3399 unsafe { ::std::ptr::addr_of!((*ptr).nonce) as usize - ptr as usize },
3400 4usize,
3401 concat!(
3402 "Offset of field: ",
3403 stringify!(TPMS_AUTH_COMMAND),
3404 "::",
3405 stringify!(nonce)
3406 )
3407 );
3408 assert_eq!(
3409 unsafe { ::std::ptr::addr_of!((*ptr).sessionAttributes) as usize - ptr as usize },
3410 70usize,
3411 concat!(
3412 "Offset of field: ",
3413 stringify!(TPMS_AUTH_COMMAND),
3414 "::",
3415 stringify!(sessionAttributes)
3416 )
3417 );
3418 assert_eq!(
3419 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
3420 72usize,
3421 concat!(
3422 "Offset of field: ",
3423 stringify!(TPMS_AUTH_COMMAND),
3424 "::",
3425 stringify!(hmac)
3426 )
3427 );
3428}
3429impl Default for TPMS_AUTH_COMMAND {
3430 fn default() -> Self {
3431 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3432 unsafe {
3433 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3434 s.assume_init()
3435 }
3436 }
3437}
3438#[repr(C)]
3439#[derive(Debug, Copy, Clone)]
3440pub struct TPMS_AUTH_RESPONSE {
3441 pub nonce: TPM2B_NONCE,
3442 pub sessionAttributes: TPMA_SESSION,
3443 pub hmac: TPM2B_AUTH,
3444}
3445#[test]
3446fn bindgen_test_layout_TPMS_AUTH_RESPONSE() {
3447 const UNINIT: ::std::mem::MaybeUninit<TPMS_AUTH_RESPONSE> = ::std::mem::MaybeUninit::uninit();
3448 let ptr = UNINIT.as_ptr();
3449 assert_eq!(
3450 ::std::mem::size_of::<TPMS_AUTH_RESPONSE>(),
3451 134usize,
3452 concat!("Size of: ", stringify!(TPMS_AUTH_RESPONSE))
3453 );
3454 assert_eq!(
3455 ::std::mem::align_of::<TPMS_AUTH_RESPONSE>(),
3456 2usize,
3457 concat!("Alignment of ", stringify!(TPMS_AUTH_RESPONSE))
3458 );
3459 assert_eq!(
3460 unsafe { ::std::ptr::addr_of!((*ptr).nonce) as usize - ptr as usize },
3461 0usize,
3462 concat!(
3463 "Offset of field: ",
3464 stringify!(TPMS_AUTH_RESPONSE),
3465 "::",
3466 stringify!(nonce)
3467 )
3468 );
3469 assert_eq!(
3470 unsafe { ::std::ptr::addr_of!((*ptr).sessionAttributes) as usize - ptr as usize },
3471 66usize,
3472 concat!(
3473 "Offset of field: ",
3474 stringify!(TPMS_AUTH_RESPONSE),
3475 "::",
3476 stringify!(sessionAttributes)
3477 )
3478 );
3479 assert_eq!(
3480 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
3481 68usize,
3482 concat!(
3483 "Offset of field: ",
3484 stringify!(TPMS_AUTH_RESPONSE),
3485 "::",
3486 stringify!(hmac)
3487 )
3488 );
3489}
3490impl Default for TPMS_AUTH_RESPONSE {
3491 fn default() -> Self {
3492 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3493 unsafe {
3494 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3495 s.assume_init()
3496 }
3497 }
3498}
3499pub type TPMI_AES_KEY_BITS = TPM2_KEY_BITS;
3500pub type TPMI_SM4_KEY_BITS = TPM2_KEY_BITS;
3501pub type TPMI_CAMELLIA_KEY_BITS = TPM2_KEY_BITS;
3502#[repr(C)]
3503#[derive(Copy, Clone)]
3504pub union TPMU_SYM_KEY_BITS {
3505 pub aes: TPMI_AES_KEY_BITS,
3506 pub sm4: TPMI_SM4_KEY_BITS,
3507 pub camellia: TPMI_CAMELLIA_KEY_BITS,
3508 pub sym: TPM2_KEY_BITS,
3509 pub exclusiveOr: TPMI_ALG_HASH,
3510}
3511#[test]
3512fn bindgen_test_layout_TPMU_SYM_KEY_BITS() {
3513 const UNINIT: ::std::mem::MaybeUninit<TPMU_SYM_KEY_BITS> = ::std::mem::MaybeUninit::uninit();
3514 let ptr = UNINIT.as_ptr();
3515 assert_eq!(
3516 ::std::mem::size_of::<TPMU_SYM_KEY_BITS>(),
3517 2usize,
3518 concat!("Size of: ", stringify!(TPMU_SYM_KEY_BITS))
3519 );
3520 assert_eq!(
3521 ::std::mem::align_of::<TPMU_SYM_KEY_BITS>(),
3522 2usize,
3523 concat!("Alignment of ", stringify!(TPMU_SYM_KEY_BITS))
3524 );
3525 assert_eq!(
3526 unsafe { ::std::ptr::addr_of!((*ptr).aes) as usize - ptr as usize },
3527 0usize,
3528 concat!(
3529 "Offset of field: ",
3530 stringify!(TPMU_SYM_KEY_BITS),
3531 "::",
3532 stringify!(aes)
3533 )
3534 );
3535 assert_eq!(
3536 unsafe { ::std::ptr::addr_of!((*ptr).sm4) as usize - ptr as usize },
3537 0usize,
3538 concat!(
3539 "Offset of field: ",
3540 stringify!(TPMU_SYM_KEY_BITS),
3541 "::",
3542 stringify!(sm4)
3543 )
3544 );
3545 assert_eq!(
3546 unsafe { ::std::ptr::addr_of!((*ptr).camellia) as usize - ptr as usize },
3547 0usize,
3548 concat!(
3549 "Offset of field: ",
3550 stringify!(TPMU_SYM_KEY_BITS),
3551 "::",
3552 stringify!(camellia)
3553 )
3554 );
3555 assert_eq!(
3556 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
3557 0usize,
3558 concat!(
3559 "Offset of field: ",
3560 stringify!(TPMU_SYM_KEY_BITS),
3561 "::",
3562 stringify!(sym)
3563 )
3564 );
3565 assert_eq!(
3566 unsafe { ::std::ptr::addr_of!((*ptr).exclusiveOr) as usize - ptr as usize },
3567 0usize,
3568 concat!(
3569 "Offset of field: ",
3570 stringify!(TPMU_SYM_KEY_BITS),
3571 "::",
3572 stringify!(exclusiveOr)
3573 )
3574 );
3575}
3576impl Default for TPMU_SYM_KEY_BITS {
3577 fn default() -> Self {
3578 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3579 unsafe {
3580 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3581 s.assume_init()
3582 }
3583 }
3584}
3585#[repr(C)]
3586#[derive(Copy, Clone)]
3587pub union TPMU_SYM_MODE {
3588 pub aes: TPMI_ALG_SYM_MODE,
3589 pub sm4: TPMI_ALG_SYM_MODE,
3590 pub camellia: TPMI_ALG_SYM_MODE,
3591 pub sym: TPMI_ALG_SYM_MODE,
3592}
3593#[test]
3594fn bindgen_test_layout_TPMU_SYM_MODE() {
3595 const UNINIT: ::std::mem::MaybeUninit<TPMU_SYM_MODE> = ::std::mem::MaybeUninit::uninit();
3596 let ptr = UNINIT.as_ptr();
3597 assert_eq!(
3598 ::std::mem::size_of::<TPMU_SYM_MODE>(),
3599 2usize,
3600 concat!("Size of: ", stringify!(TPMU_SYM_MODE))
3601 );
3602 assert_eq!(
3603 ::std::mem::align_of::<TPMU_SYM_MODE>(),
3604 2usize,
3605 concat!("Alignment of ", stringify!(TPMU_SYM_MODE))
3606 );
3607 assert_eq!(
3608 unsafe { ::std::ptr::addr_of!((*ptr).aes) as usize - ptr as usize },
3609 0usize,
3610 concat!(
3611 "Offset of field: ",
3612 stringify!(TPMU_SYM_MODE),
3613 "::",
3614 stringify!(aes)
3615 )
3616 );
3617 assert_eq!(
3618 unsafe { ::std::ptr::addr_of!((*ptr).sm4) as usize - ptr as usize },
3619 0usize,
3620 concat!(
3621 "Offset of field: ",
3622 stringify!(TPMU_SYM_MODE),
3623 "::",
3624 stringify!(sm4)
3625 )
3626 );
3627 assert_eq!(
3628 unsafe { ::std::ptr::addr_of!((*ptr).camellia) as usize - ptr as usize },
3629 0usize,
3630 concat!(
3631 "Offset of field: ",
3632 stringify!(TPMU_SYM_MODE),
3633 "::",
3634 stringify!(camellia)
3635 )
3636 );
3637 assert_eq!(
3638 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
3639 0usize,
3640 concat!(
3641 "Offset of field: ",
3642 stringify!(TPMU_SYM_MODE),
3643 "::",
3644 stringify!(sym)
3645 )
3646 );
3647}
3648impl Default for TPMU_SYM_MODE {
3649 fn default() -> Self {
3650 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3651 unsafe {
3652 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3653 s.assume_init()
3654 }
3655 }
3656}
3657#[repr(C)]
3658#[derive(Copy, Clone)]
3659pub struct TPMT_SYM_DEF {
3660 pub algorithm: TPMI_ALG_SYM,
3661 pub keyBits: TPMU_SYM_KEY_BITS,
3662 pub mode: TPMU_SYM_MODE,
3663}
3664#[test]
3665fn bindgen_test_layout_TPMT_SYM_DEF() {
3666 const UNINIT: ::std::mem::MaybeUninit<TPMT_SYM_DEF> = ::std::mem::MaybeUninit::uninit();
3667 let ptr = UNINIT.as_ptr();
3668 assert_eq!(
3669 ::std::mem::size_of::<TPMT_SYM_DEF>(),
3670 6usize,
3671 concat!("Size of: ", stringify!(TPMT_SYM_DEF))
3672 );
3673 assert_eq!(
3674 ::std::mem::align_of::<TPMT_SYM_DEF>(),
3675 2usize,
3676 concat!("Alignment of ", stringify!(TPMT_SYM_DEF))
3677 );
3678 assert_eq!(
3679 unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
3680 0usize,
3681 concat!(
3682 "Offset of field: ",
3683 stringify!(TPMT_SYM_DEF),
3684 "::",
3685 stringify!(algorithm)
3686 )
3687 );
3688 assert_eq!(
3689 unsafe { ::std::ptr::addr_of!((*ptr).keyBits) as usize - ptr as usize },
3690 2usize,
3691 concat!(
3692 "Offset of field: ",
3693 stringify!(TPMT_SYM_DEF),
3694 "::",
3695 stringify!(keyBits)
3696 )
3697 );
3698 assert_eq!(
3699 unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
3700 4usize,
3701 concat!(
3702 "Offset of field: ",
3703 stringify!(TPMT_SYM_DEF),
3704 "::",
3705 stringify!(mode)
3706 )
3707 );
3708}
3709impl Default for TPMT_SYM_DEF {
3710 fn default() -> Self {
3711 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3712 unsafe {
3713 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3714 s.assume_init()
3715 }
3716 }
3717}
3718#[repr(C)]
3719#[derive(Copy, Clone)]
3720pub struct TPMT_SYM_DEF_OBJECT {
3721 pub algorithm: TPMI_ALG_SYM_OBJECT,
3722 pub keyBits: TPMU_SYM_KEY_BITS,
3723 pub mode: TPMU_SYM_MODE,
3724}
3725#[test]
3726fn bindgen_test_layout_TPMT_SYM_DEF_OBJECT() {
3727 const UNINIT: ::std::mem::MaybeUninit<TPMT_SYM_DEF_OBJECT> = ::std::mem::MaybeUninit::uninit();
3728 let ptr = UNINIT.as_ptr();
3729 assert_eq!(
3730 ::std::mem::size_of::<TPMT_SYM_DEF_OBJECT>(),
3731 6usize,
3732 concat!("Size of: ", stringify!(TPMT_SYM_DEF_OBJECT))
3733 );
3734 assert_eq!(
3735 ::std::mem::align_of::<TPMT_SYM_DEF_OBJECT>(),
3736 2usize,
3737 concat!("Alignment of ", stringify!(TPMT_SYM_DEF_OBJECT))
3738 );
3739 assert_eq!(
3740 unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
3741 0usize,
3742 concat!(
3743 "Offset of field: ",
3744 stringify!(TPMT_SYM_DEF_OBJECT),
3745 "::",
3746 stringify!(algorithm)
3747 )
3748 );
3749 assert_eq!(
3750 unsafe { ::std::ptr::addr_of!((*ptr).keyBits) as usize - ptr as usize },
3751 2usize,
3752 concat!(
3753 "Offset of field: ",
3754 stringify!(TPMT_SYM_DEF_OBJECT),
3755 "::",
3756 stringify!(keyBits)
3757 )
3758 );
3759 assert_eq!(
3760 unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
3761 4usize,
3762 concat!(
3763 "Offset of field: ",
3764 stringify!(TPMT_SYM_DEF_OBJECT),
3765 "::",
3766 stringify!(mode)
3767 )
3768 );
3769}
3770impl Default for TPMT_SYM_DEF_OBJECT {
3771 fn default() -> Self {
3772 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3773 unsafe {
3774 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3775 s.assume_init()
3776 }
3777 }
3778}
3779#[repr(C)]
3780#[derive(Debug, Default, Copy, Clone)]
3781pub struct TPM2B_SYM_KEY {
3782 pub size: UINT16,
3783 pub buffer: [BYTE; 32usize],
3784}
3785#[test]
3786fn bindgen_test_layout_TPM2B_SYM_KEY() {
3787 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SYM_KEY> = ::std::mem::MaybeUninit::uninit();
3788 let ptr = UNINIT.as_ptr();
3789 assert_eq!(
3790 ::std::mem::size_of::<TPM2B_SYM_KEY>(),
3791 34usize,
3792 concat!("Size of: ", stringify!(TPM2B_SYM_KEY))
3793 );
3794 assert_eq!(
3795 ::std::mem::align_of::<TPM2B_SYM_KEY>(),
3796 2usize,
3797 concat!("Alignment of ", stringify!(TPM2B_SYM_KEY))
3798 );
3799 assert_eq!(
3800 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3801 0usize,
3802 concat!(
3803 "Offset of field: ",
3804 stringify!(TPM2B_SYM_KEY),
3805 "::",
3806 stringify!(size)
3807 )
3808 );
3809 assert_eq!(
3810 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
3811 2usize,
3812 concat!(
3813 "Offset of field: ",
3814 stringify!(TPM2B_SYM_KEY),
3815 "::",
3816 stringify!(buffer)
3817 )
3818 );
3819}
3820#[repr(C)]
3821#[derive(Copy, Clone)]
3822pub struct TPMS_SYMCIPHER_PARMS {
3823 pub sym: TPMT_SYM_DEF_OBJECT,
3824}
3825#[test]
3826fn bindgen_test_layout_TPMS_SYMCIPHER_PARMS() {
3827 const UNINIT: ::std::mem::MaybeUninit<TPMS_SYMCIPHER_PARMS> = ::std::mem::MaybeUninit::uninit();
3828 let ptr = UNINIT.as_ptr();
3829 assert_eq!(
3830 ::std::mem::size_of::<TPMS_SYMCIPHER_PARMS>(),
3831 6usize,
3832 concat!("Size of: ", stringify!(TPMS_SYMCIPHER_PARMS))
3833 );
3834 assert_eq!(
3835 ::std::mem::align_of::<TPMS_SYMCIPHER_PARMS>(),
3836 2usize,
3837 concat!("Alignment of ", stringify!(TPMS_SYMCIPHER_PARMS))
3838 );
3839 assert_eq!(
3840 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
3841 0usize,
3842 concat!(
3843 "Offset of field: ",
3844 stringify!(TPMS_SYMCIPHER_PARMS),
3845 "::",
3846 stringify!(sym)
3847 )
3848 );
3849}
3850impl Default for TPMS_SYMCIPHER_PARMS {
3851 fn default() -> Self {
3852 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3853 unsafe {
3854 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3855 s.assume_init()
3856 }
3857 }
3858}
3859#[repr(C)]
3860#[derive(Debug, Copy, Clone)]
3861pub struct TPM2B_SENSITIVE_DATA {
3862 pub size: UINT16,
3863 pub buffer: [BYTE; 256usize],
3864}
3865#[test]
3866fn bindgen_test_layout_TPM2B_SENSITIVE_DATA() {
3867 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SENSITIVE_DATA> = ::std::mem::MaybeUninit::uninit();
3868 let ptr = UNINIT.as_ptr();
3869 assert_eq!(
3870 ::std::mem::size_of::<TPM2B_SENSITIVE_DATA>(),
3871 258usize,
3872 concat!("Size of: ", stringify!(TPM2B_SENSITIVE_DATA))
3873 );
3874 assert_eq!(
3875 ::std::mem::align_of::<TPM2B_SENSITIVE_DATA>(),
3876 2usize,
3877 concat!("Alignment of ", stringify!(TPM2B_SENSITIVE_DATA))
3878 );
3879 assert_eq!(
3880 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3881 0usize,
3882 concat!(
3883 "Offset of field: ",
3884 stringify!(TPM2B_SENSITIVE_DATA),
3885 "::",
3886 stringify!(size)
3887 )
3888 );
3889 assert_eq!(
3890 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
3891 2usize,
3892 concat!(
3893 "Offset of field: ",
3894 stringify!(TPM2B_SENSITIVE_DATA),
3895 "::",
3896 stringify!(buffer)
3897 )
3898 );
3899}
3900impl Default for TPM2B_SENSITIVE_DATA {
3901 fn default() -> Self {
3902 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3903 unsafe {
3904 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3905 s.assume_init()
3906 }
3907 }
3908}
3909#[repr(C)]
3910#[derive(Debug, Copy, Clone)]
3911pub struct TPMS_SENSITIVE_CREATE {
3912 pub userAuth: TPM2B_AUTH,
3913 pub data: TPM2B_SENSITIVE_DATA,
3914}
3915#[test]
3916fn bindgen_test_layout_TPMS_SENSITIVE_CREATE() {
3917 const UNINIT: ::std::mem::MaybeUninit<TPMS_SENSITIVE_CREATE> =
3918 ::std::mem::MaybeUninit::uninit();
3919 let ptr = UNINIT.as_ptr();
3920 assert_eq!(
3921 ::std::mem::size_of::<TPMS_SENSITIVE_CREATE>(),
3922 324usize,
3923 concat!("Size of: ", stringify!(TPMS_SENSITIVE_CREATE))
3924 );
3925 assert_eq!(
3926 ::std::mem::align_of::<TPMS_SENSITIVE_CREATE>(),
3927 2usize,
3928 concat!("Alignment of ", stringify!(TPMS_SENSITIVE_CREATE))
3929 );
3930 assert_eq!(
3931 unsafe { ::std::ptr::addr_of!((*ptr).userAuth) as usize - ptr as usize },
3932 0usize,
3933 concat!(
3934 "Offset of field: ",
3935 stringify!(TPMS_SENSITIVE_CREATE),
3936 "::",
3937 stringify!(userAuth)
3938 )
3939 );
3940 assert_eq!(
3941 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3942 66usize,
3943 concat!(
3944 "Offset of field: ",
3945 stringify!(TPMS_SENSITIVE_CREATE),
3946 "::",
3947 stringify!(data)
3948 )
3949 );
3950}
3951impl Default for TPMS_SENSITIVE_CREATE {
3952 fn default() -> Self {
3953 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3954 unsafe {
3955 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3956 s.assume_init()
3957 }
3958 }
3959}
3960#[repr(C)]
3961#[derive(Debug, Copy, Clone)]
3962pub struct TPM2B_SENSITIVE_CREATE {
3963 pub size: UINT16,
3964 pub sensitive: TPMS_SENSITIVE_CREATE,
3965}
3966#[test]
3967fn bindgen_test_layout_TPM2B_SENSITIVE_CREATE() {
3968 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SENSITIVE_CREATE> =
3969 ::std::mem::MaybeUninit::uninit();
3970 let ptr = UNINIT.as_ptr();
3971 assert_eq!(
3972 ::std::mem::size_of::<TPM2B_SENSITIVE_CREATE>(),
3973 326usize,
3974 concat!("Size of: ", stringify!(TPM2B_SENSITIVE_CREATE))
3975 );
3976 assert_eq!(
3977 ::std::mem::align_of::<TPM2B_SENSITIVE_CREATE>(),
3978 2usize,
3979 concat!("Alignment of ", stringify!(TPM2B_SENSITIVE_CREATE))
3980 );
3981 assert_eq!(
3982 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
3983 0usize,
3984 concat!(
3985 "Offset of field: ",
3986 stringify!(TPM2B_SENSITIVE_CREATE),
3987 "::",
3988 stringify!(size)
3989 )
3990 );
3991 assert_eq!(
3992 unsafe { ::std::ptr::addr_of!((*ptr).sensitive) as usize - ptr as usize },
3993 2usize,
3994 concat!(
3995 "Offset of field: ",
3996 stringify!(TPM2B_SENSITIVE_CREATE),
3997 "::",
3998 stringify!(sensitive)
3999 )
4000 );
4001}
4002impl Default for TPM2B_SENSITIVE_CREATE {
4003 fn default() -> Self {
4004 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4005 unsafe {
4006 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4007 s.assume_init()
4008 }
4009 }
4010}
4011#[repr(C)]
4012#[derive(Debug, Default, Copy, Clone)]
4013pub struct TPMS_SCHEME_HASH {
4014 pub hashAlg: TPMI_ALG_HASH,
4015}
4016#[test]
4017fn bindgen_test_layout_TPMS_SCHEME_HASH() {
4018 const UNINIT: ::std::mem::MaybeUninit<TPMS_SCHEME_HASH> = ::std::mem::MaybeUninit::uninit();
4019 let ptr = UNINIT.as_ptr();
4020 assert_eq!(
4021 ::std::mem::size_of::<TPMS_SCHEME_HASH>(),
4022 2usize,
4023 concat!("Size of: ", stringify!(TPMS_SCHEME_HASH))
4024 );
4025 assert_eq!(
4026 ::std::mem::align_of::<TPMS_SCHEME_HASH>(),
4027 2usize,
4028 concat!("Alignment of ", stringify!(TPMS_SCHEME_HASH))
4029 );
4030 assert_eq!(
4031 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
4032 0usize,
4033 concat!(
4034 "Offset of field: ",
4035 stringify!(TPMS_SCHEME_HASH),
4036 "::",
4037 stringify!(hashAlg)
4038 )
4039 );
4040}
4041#[repr(C)]
4042#[derive(Debug, Default, Copy, Clone)]
4043pub struct TPMS_SCHEME_ECDAA {
4044 pub hashAlg: TPMI_ALG_HASH,
4045 pub count: UINT16,
4046}
4047#[test]
4048fn bindgen_test_layout_TPMS_SCHEME_ECDAA() {
4049 const UNINIT: ::std::mem::MaybeUninit<TPMS_SCHEME_ECDAA> = ::std::mem::MaybeUninit::uninit();
4050 let ptr = UNINIT.as_ptr();
4051 assert_eq!(
4052 ::std::mem::size_of::<TPMS_SCHEME_ECDAA>(),
4053 4usize,
4054 concat!("Size of: ", stringify!(TPMS_SCHEME_ECDAA))
4055 );
4056 assert_eq!(
4057 ::std::mem::align_of::<TPMS_SCHEME_ECDAA>(),
4058 2usize,
4059 concat!("Alignment of ", stringify!(TPMS_SCHEME_ECDAA))
4060 );
4061 assert_eq!(
4062 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
4063 0usize,
4064 concat!(
4065 "Offset of field: ",
4066 stringify!(TPMS_SCHEME_ECDAA),
4067 "::",
4068 stringify!(hashAlg)
4069 )
4070 );
4071 assert_eq!(
4072 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
4073 2usize,
4074 concat!(
4075 "Offset of field: ",
4076 stringify!(TPMS_SCHEME_ECDAA),
4077 "::",
4078 stringify!(count)
4079 )
4080 );
4081}
4082pub type TPMI_ALG_KEYEDHASH_SCHEME = TPM2_ALG_ID;
4083pub type TPMS_SCHEME_HMAC = TPMS_SCHEME_HASH;
4084#[repr(C)]
4085#[derive(Debug, Default, Copy, Clone)]
4086pub struct TPMS_SCHEME_XOR {
4087 pub hashAlg: TPMI_ALG_HASH,
4088 pub kdf: TPMI_ALG_KDF,
4089}
4090#[test]
4091fn bindgen_test_layout_TPMS_SCHEME_XOR() {
4092 const UNINIT: ::std::mem::MaybeUninit<TPMS_SCHEME_XOR> = ::std::mem::MaybeUninit::uninit();
4093 let ptr = UNINIT.as_ptr();
4094 assert_eq!(
4095 ::std::mem::size_of::<TPMS_SCHEME_XOR>(),
4096 4usize,
4097 concat!("Size of: ", stringify!(TPMS_SCHEME_XOR))
4098 );
4099 assert_eq!(
4100 ::std::mem::align_of::<TPMS_SCHEME_XOR>(),
4101 2usize,
4102 concat!("Alignment of ", stringify!(TPMS_SCHEME_XOR))
4103 );
4104 assert_eq!(
4105 unsafe { ::std::ptr::addr_of!((*ptr).hashAlg) as usize - ptr as usize },
4106 0usize,
4107 concat!(
4108 "Offset of field: ",
4109 stringify!(TPMS_SCHEME_XOR),
4110 "::",
4111 stringify!(hashAlg)
4112 )
4113 );
4114 assert_eq!(
4115 unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
4116 2usize,
4117 concat!(
4118 "Offset of field: ",
4119 stringify!(TPMS_SCHEME_XOR),
4120 "::",
4121 stringify!(kdf)
4122 )
4123 );
4124}
4125#[repr(C)]
4126#[derive(Copy, Clone)]
4127pub union TPMU_SCHEME_KEYEDHASH {
4128 pub hmac: TPMS_SCHEME_HMAC,
4129 pub exclusiveOr: TPMS_SCHEME_XOR,
4130}
4131#[test]
4132fn bindgen_test_layout_TPMU_SCHEME_KEYEDHASH() {
4133 const UNINIT: ::std::mem::MaybeUninit<TPMU_SCHEME_KEYEDHASH> =
4134 ::std::mem::MaybeUninit::uninit();
4135 let ptr = UNINIT.as_ptr();
4136 assert_eq!(
4137 ::std::mem::size_of::<TPMU_SCHEME_KEYEDHASH>(),
4138 4usize,
4139 concat!("Size of: ", stringify!(TPMU_SCHEME_KEYEDHASH))
4140 );
4141 assert_eq!(
4142 ::std::mem::align_of::<TPMU_SCHEME_KEYEDHASH>(),
4143 2usize,
4144 concat!("Alignment of ", stringify!(TPMU_SCHEME_KEYEDHASH))
4145 );
4146 assert_eq!(
4147 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
4148 0usize,
4149 concat!(
4150 "Offset of field: ",
4151 stringify!(TPMU_SCHEME_KEYEDHASH),
4152 "::",
4153 stringify!(hmac)
4154 )
4155 );
4156 assert_eq!(
4157 unsafe { ::std::ptr::addr_of!((*ptr).exclusiveOr) as usize - ptr as usize },
4158 0usize,
4159 concat!(
4160 "Offset of field: ",
4161 stringify!(TPMU_SCHEME_KEYEDHASH),
4162 "::",
4163 stringify!(exclusiveOr)
4164 )
4165 );
4166}
4167impl Default for TPMU_SCHEME_KEYEDHASH {
4168 fn default() -> Self {
4169 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4170 unsafe {
4171 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4172 s.assume_init()
4173 }
4174 }
4175}
4176#[repr(C)]
4177#[derive(Copy, Clone)]
4178pub struct TPMT_KEYEDHASH_SCHEME {
4179 pub scheme: TPMI_ALG_KEYEDHASH_SCHEME,
4180 pub details: TPMU_SCHEME_KEYEDHASH,
4181}
4182#[test]
4183fn bindgen_test_layout_TPMT_KEYEDHASH_SCHEME() {
4184 const UNINIT: ::std::mem::MaybeUninit<TPMT_KEYEDHASH_SCHEME> =
4185 ::std::mem::MaybeUninit::uninit();
4186 let ptr = UNINIT.as_ptr();
4187 assert_eq!(
4188 ::std::mem::size_of::<TPMT_KEYEDHASH_SCHEME>(),
4189 6usize,
4190 concat!("Size of: ", stringify!(TPMT_KEYEDHASH_SCHEME))
4191 );
4192 assert_eq!(
4193 ::std::mem::align_of::<TPMT_KEYEDHASH_SCHEME>(),
4194 2usize,
4195 concat!("Alignment of ", stringify!(TPMT_KEYEDHASH_SCHEME))
4196 );
4197 assert_eq!(
4198 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4199 0usize,
4200 concat!(
4201 "Offset of field: ",
4202 stringify!(TPMT_KEYEDHASH_SCHEME),
4203 "::",
4204 stringify!(scheme)
4205 )
4206 );
4207 assert_eq!(
4208 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4209 2usize,
4210 concat!(
4211 "Offset of field: ",
4212 stringify!(TPMT_KEYEDHASH_SCHEME),
4213 "::",
4214 stringify!(details)
4215 )
4216 );
4217}
4218impl Default for TPMT_KEYEDHASH_SCHEME {
4219 fn default() -> Self {
4220 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4221 unsafe {
4222 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4223 s.assume_init()
4224 }
4225 }
4226}
4227pub type TPMS_SIG_SCHEME_RSASSA = TPMS_SCHEME_HASH;
4228pub type TPMS_SIG_SCHEME_RSAPSS = TPMS_SCHEME_HASH;
4229pub type TPMS_SIG_SCHEME_ECDSA = TPMS_SCHEME_HASH;
4230pub type TPMS_SIG_SCHEME_SM2 = TPMS_SCHEME_HASH;
4231pub type TPMS_SIG_SCHEME_ECSCHNORR = TPMS_SCHEME_HASH;
4232pub type TPMS_SIG_SCHEME_ECDAA = TPMS_SCHEME_ECDAA;
4233#[repr(C)]
4234#[derive(Copy, Clone)]
4235pub union TPMU_SIG_SCHEME {
4236 pub rsassa: TPMS_SIG_SCHEME_RSASSA,
4237 pub rsapss: TPMS_SIG_SCHEME_RSAPSS,
4238 pub ecdsa: TPMS_SIG_SCHEME_ECDSA,
4239 pub ecdaa: TPMS_SIG_SCHEME_ECDAA,
4240 pub sm2: TPMS_SIG_SCHEME_SM2,
4241 pub ecschnorr: TPMS_SIG_SCHEME_ECSCHNORR,
4242 pub hmac: TPMS_SCHEME_HMAC,
4243 pub any: TPMS_SCHEME_HASH,
4244}
4245#[test]
4246fn bindgen_test_layout_TPMU_SIG_SCHEME() {
4247 const UNINIT: ::std::mem::MaybeUninit<TPMU_SIG_SCHEME> = ::std::mem::MaybeUninit::uninit();
4248 let ptr = UNINIT.as_ptr();
4249 assert_eq!(
4250 ::std::mem::size_of::<TPMU_SIG_SCHEME>(),
4251 4usize,
4252 concat!("Size of: ", stringify!(TPMU_SIG_SCHEME))
4253 );
4254 assert_eq!(
4255 ::std::mem::align_of::<TPMU_SIG_SCHEME>(),
4256 2usize,
4257 concat!("Alignment of ", stringify!(TPMU_SIG_SCHEME))
4258 );
4259 assert_eq!(
4260 unsafe { ::std::ptr::addr_of!((*ptr).rsassa) as usize - ptr as usize },
4261 0usize,
4262 concat!(
4263 "Offset of field: ",
4264 stringify!(TPMU_SIG_SCHEME),
4265 "::",
4266 stringify!(rsassa)
4267 )
4268 );
4269 assert_eq!(
4270 unsafe { ::std::ptr::addr_of!((*ptr).rsapss) as usize - ptr as usize },
4271 0usize,
4272 concat!(
4273 "Offset of field: ",
4274 stringify!(TPMU_SIG_SCHEME),
4275 "::",
4276 stringify!(rsapss)
4277 )
4278 );
4279 assert_eq!(
4280 unsafe { ::std::ptr::addr_of!((*ptr).ecdsa) as usize - ptr as usize },
4281 0usize,
4282 concat!(
4283 "Offset of field: ",
4284 stringify!(TPMU_SIG_SCHEME),
4285 "::",
4286 stringify!(ecdsa)
4287 )
4288 );
4289 assert_eq!(
4290 unsafe { ::std::ptr::addr_of!((*ptr).ecdaa) as usize - ptr as usize },
4291 0usize,
4292 concat!(
4293 "Offset of field: ",
4294 stringify!(TPMU_SIG_SCHEME),
4295 "::",
4296 stringify!(ecdaa)
4297 )
4298 );
4299 assert_eq!(
4300 unsafe { ::std::ptr::addr_of!((*ptr).sm2) as usize - ptr as usize },
4301 0usize,
4302 concat!(
4303 "Offset of field: ",
4304 stringify!(TPMU_SIG_SCHEME),
4305 "::",
4306 stringify!(sm2)
4307 )
4308 );
4309 assert_eq!(
4310 unsafe { ::std::ptr::addr_of!((*ptr).ecschnorr) as usize - ptr as usize },
4311 0usize,
4312 concat!(
4313 "Offset of field: ",
4314 stringify!(TPMU_SIG_SCHEME),
4315 "::",
4316 stringify!(ecschnorr)
4317 )
4318 );
4319 assert_eq!(
4320 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
4321 0usize,
4322 concat!(
4323 "Offset of field: ",
4324 stringify!(TPMU_SIG_SCHEME),
4325 "::",
4326 stringify!(hmac)
4327 )
4328 );
4329 assert_eq!(
4330 unsafe { ::std::ptr::addr_of!((*ptr).any) as usize - ptr as usize },
4331 0usize,
4332 concat!(
4333 "Offset of field: ",
4334 stringify!(TPMU_SIG_SCHEME),
4335 "::",
4336 stringify!(any)
4337 )
4338 );
4339}
4340impl Default for TPMU_SIG_SCHEME {
4341 fn default() -> Self {
4342 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4343 unsafe {
4344 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4345 s.assume_init()
4346 }
4347 }
4348}
4349#[repr(C)]
4350#[derive(Copy, Clone)]
4351pub struct TPMT_SIG_SCHEME {
4352 pub scheme: TPMI_ALG_SIG_SCHEME,
4353 pub details: TPMU_SIG_SCHEME,
4354}
4355#[test]
4356fn bindgen_test_layout_TPMT_SIG_SCHEME() {
4357 const UNINIT: ::std::mem::MaybeUninit<TPMT_SIG_SCHEME> = ::std::mem::MaybeUninit::uninit();
4358 let ptr = UNINIT.as_ptr();
4359 assert_eq!(
4360 ::std::mem::size_of::<TPMT_SIG_SCHEME>(),
4361 6usize,
4362 concat!("Size of: ", stringify!(TPMT_SIG_SCHEME))
4363 );
4364 assert_eq!(
4365 ::std::mem::align_of::<TPMT_SIG_SCHEME>(),
4366 2usize,
4367 concat!("Alignment of ", stringify!(TPMT_SIG_SCHEME))
4368 );
4369 assert_eq!(
4370 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4371 0usize,
4372 concat!(
4373 "Offset of field: ",
4374 stringify!(TPMT_SIG_SCHEME),
4375 "::",
4376 stringify!(scheme)
4377 )
4378 );
4379 assert_eq!(
4380 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4381 2usize,
4382 concat!(
4383 "Offset of field: ",
4384 stringify!(TPMT_SIG_SCHEME),
4385 "::",
4386 stringify!(details)
4387 )
4388 );
4389}
4390impl Default for TPMT_SIG_SCHEME {
4391 fn default() -> Self {
4392 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4393 unsafe {
4394 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4395 s.assume_init()
4396 }
4397 }
4398}
4399pub type TPMS_ENC_SCHEME_OAEP = TPMS_SCHEME_HASH;
4400pub type TPMS_ENC_SCHEME_RSAES = TPMS_EMPTY;
4401pub type TPMS_KEY_SCHEME_ECDH = TPMS_SCHEME_HASH;
4402pub type TPMS_KEY_SCHEME_ECMQV = TPMS_SCHEME_HASH;
4403pub type TPMS_SCHEME_MGF1 = TPMS_SCHEME_HASH;
4404pub type TPMS_SCHEME_KDF1_SP800_56A = TPMS_SCHEME_HASH;
4405pub type TPMS_SCHEME_KDF2 = TPMS_SCHEME_HASH;
4406pub type TPMS_SCHEME_KDF1_SP800_108 = TPMS_SCHEME_HASH;
4407#[repr(C)]
4408#[derive(Copy, Clone)]
4409pub union TPMU_KDF_SCHEME {
4410 pub mgf1: TPMS_SCHEME_MGF1,
4411 pub kdf1_sp800_56a: TPMS_SCHEME_KDF1_SP800_56A,
4412 pub kdf2: TPMS_SCHEME_KDF2,
4413 pub kdf1_sp800_108: TPMS_SCHEME_KDF1_SP800_108,
4414}
4415#[test]
4416fn bindgen_test_layout_TPMU_KDF_SCHEME() {
4417 const UNINIT: ::std::mem::MaybeUninit<TPMU_KDF_SCHEME> = ::std::mem::MaybeUninit::uninit();
4418 let ptr = UNINIT.as_ptr();
4419 assert_eq!(
4420 ::std::mem::size_of::<TPMU_KDF_SCHEME>(),
4421 2usize,
4422 concat!("Size of: ", stringify!(TPMU_KDF_SCHEME))
4423 );
4424 assert_eq!(
4425 ::std::mem::align_of::<TPMU_KDF_SCHEME>(),
4426 2usize,
4427 concat!("Alignment of ", stringify!(TPMU_KDF_SCHEME))
4428 );
4429 assert_eq!(
4430 unsafe { ::std::ptr::addr_of!((*ptr).mgf1) as usize - ptr as usize },
4431 0usize,
4432 concat!(
4433 "Offset of field: ",
4434 stringify!(TPMU_KDF_SCHEME),
4435 "::",
4436 stringify!(mgf1)
4437 )
4438 );
4439 assert_eq!(
4440 unsafe { ::std::ptr::addr_of!((*ptr).kdf1_sp800_56a) as usize - ptr as usize },
4441 0usize,
4442 concat!(
4443 "Offset of field: ",
4444 stringify!(TPMU_KDF_SCHEME),
4445 "::",
4446 stringify!(kdf1_sp800_56a)
4447 )
4448 );
4449 assert_eq!(
4450 unsafe { ::std::ptr::addr_of!((*ptr).kdf2) as usize - ptr as usize },
4451 0usize,
4452 concat!(
4453 "Offset of field: ",
4454 stringify!(TPMU_KDF_SCHEME),
4455 "::",
4456 stringify!(kdf2)
4457 )
4458 );
4459 assert_eq!(
4460 unsafe { ::std::ptr::addr_of!((*ptr).kdf1_sp800_108) as usize - ptr as usize },
4461 0usize,
4462 concat!(
4463 "Offset of field: ",
4464 stringify!(TPMU_KDF_SCHEME),
4465 "::",
4466 stringify!(kdf1_sp800_108)
4467 )
4468 );
4469}
4470impl Default for TPMU_KDF_SCHEME {
4471 fn default() -> Self {
4472 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4473 unsafe {
4474 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4475 s.assume_init()
4476 }
4477 }
4478}
4479#[repr(C)]
4480#[derive(Copy, Clone)]
4481pub struct TPMT_KDF_SCHEME {
4482 pub scheme: TPMI_ALG_KDF,
4483 pub details: TPMU_KDF_SCHEME,
4484}
4485#[test]
4486fn bindgen_test_layout_TPMT_KDF_SCHEME() {
4487 const UNINIT: ::std::mem::MaybeUninit<TPMT_KDF_SCHEME> = ::std::mem::MaybeUninit::uninit();
4488 let ptr = UNINIT.as_ptr();
4489 assert_eq!(
4490 ::std::mem::size_of::<TPMT_KDF_SCHEME>(),
4491 4usize,
4492 concat!("Size of: ", stringify!(TPMT_KDF_SCHEME))
4493 );
4494 assert_eq!(
4495 ::std::mem::align_of::<TPMT_KDF_SCHEME>(),
4496 2usize,
4497 concat!("Alignment of ", stringify!(TPMT_KDF_SCHEME))
4498 );
4499 assert_eq!(
4500 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4501 0usize,
4502 concat!(
4503 "Offset of field: ",
4504 stringify!(TPMT_KDF_SCHEME),
4505 "::",
4506 stringify!(scheme)
4507 )
4508 );
4509 assert_eq!(
4510 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4511 2usize,
4512 concat!(
4513 "Offset of field: ",
4514 stringify!(TPMT_KDF_SCHEME),
4515 "::",
4516 stringify!(details)
4517 )
4518 );
4519}
4520impl Default for TPMT_KDF_SCHEME {
4521 fn default() -> Self {
4522 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4523 unsafe {
4524 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4525 s.assume_init()
4526 }
4527 }
4528}
4529pub type TPMI_ALG_ASYM_SCHEME = TPM2_ALG_ID;
4530#[repr(C)]
4531#[derive(Copy, Clone)]
4532pub union TPMU_ASYM_SCHEME {
4533 pub ecdh: TPMS_KEY_SCHEME_ECDH,
4534 pub ecmqv: TPMS_KEY_SCHEME_ECMQV,
4535 pub rsassa: TPMS_SIG_SCHEME_RSASSA,
4536 pub rsapss: TPMS_SIG_SCHEME_RSAPSS,
4537 pub ecdsa: TPMS_SIG_SCHEME_ECDSA,
4538 pub ecdaa: TPMS_SIG_SCHEME_ECDAA,
4539 pub sm2: TPMS_SIG_SCHEME_SM2,
4540 pub ecschnorr: TPMS_SIG_SCHEME_ECSCHNORR,
4541 pub rsaes: TPMS_ENC_SCHEME_RSAES,
4542 pub oaep: TPMS_ENC_SCHEME_OAEP,
4543 pub anySig: TPMS_SCHEME_HASH,
4544}
4545#[test]
4546fn bindgen_test_layout_TPMU_ASYM_SCHEME() {
4547 const UNINIT: ::std::mem::MaybeUninit<TPMU_ASYM_SCHEME> = ::std::mem::MaybeUninit::uninit();
4548 let ptr = UNINIT.as_ptr();
4549 assert_eq!(
4550 ::std::mem::size_of::<TPMU_ASYM_SCHEME>(),
4551 4usize,
4552 concat!("Size of: ", stringify!(TPMU_ASYM_SCHEME))
4553 );
4554 assert_eq!(
4555 ::std::mem::align_of::<TPMU_ASYM_SCHEME>(),
4556 2usize,
4557 concat!("Alignment of ", stringify!(TPMU_ASYM_SCHEME))
4558 );
4559 assert_eq!(
4560 unsafe { ::std::ptr::addr_of!((*ptr).ecdh) as usize - ptr as usize },
4561 0usize,
4562 concat!(
4563 "Offset of field: ",
4564 stringify!(TPMU_ASYM_SCHEME),
4565 "::",
4566 stringify!(ecdh)
4567 )
4568 );
4569 assert_eq!(
4570 unsafe { ::std::ptr::addr_of!((*ptr).ecmqv) as usize - ptr as usize },
4571 0usize,
4572 concat!(
4573 "Offset of field: ",
4574 stringify!(TPMU_ASYM_SCHEME),
4575 "::",
4576 stringify!(ecmqv)
4577 )
4578 );
4579 assert_eq!(
4580 unsafe { ::std::ptr::addr_of!((*ptr).rsassa) as usize - ptr as usize },
4581 0usize,
4582 concat!(
4583 "Offset of field: ",
4584 stringify!(TPMU_ASYM_SCHEME),
4585 "::",
4586 stringify!(rsassa)
4587 )
4588 );
4589 assert_eq!(
4590 unsafe { ::std::ptr::addr_of!((*ptr).rsapss) as usize - ptr as usize },
4591 0usize,
4592 concat!(
4593 "Offset of field: ",
4594 stringify!(TPMU_ASYM_SCHEME),
4595 "::",
4596 stringify!(rsapss)
4597 )
4598 );
4599 assert_eq!(
4600 unsafe { ::std::ptr::addr_of!((*ptr).ecdsa) as usize - ptr as usize },
4601 0usize,
4602 concat!(
4603 "Offset of field: ",
4604 stringify!(TPMU_ASYM_SCHEME),
4605 "::",
4606 stringify!(ecdsa)
4607 )
4608 );
4609 assert_eq!(
4610 unsafe { ::std::ptr::addr_of!((*ptr).ecdaa) as usize - ptr as usize },
4611 0usize,
4612 concat!(
4613 "Offset of field: ",
4614 stringify!(TPMU_ASYM_SCHEME),
4615 "::",
4616 stringify!(ecdaa)
4617 )
4618 );
4619 assert_eq!(
4620 unsafe { ::std::ptr::addr_of!((*ptr).sm2) as usize - ptr as usize },
4621 0usize,
4622 concat!(
4623 "Offset of field: ",
4624 stringify!(TPMU_ASYM_SCHEME),
4625 "::",
4626 stringify!(sm2)
4627 )
4628 );
4629 assert_eq!(
4630 unsafe { ::std::ptr::addr_of!((*ptr).ecschnorr) as usize - ptr as usize },
4631 0usize,
4632 concat!(
4633 "Offset of field: ",
4634 stringify!(TPMU_ASYM_SCHEME),
4635 "::",
4636 stringify!(ecschnorr)
4637 )
4638 );
4639 assert_eq!(
4640 unsafe { ::std::ptr::addr_of!((*ptr).rsaes) as usize - ptr as usize },
4641 0usize,
4642 concat!(
4643 "Offset of field: ",
4644 stringify!(TPMU_ASYM_SCHEME),
4645 "::",
4646 stringify!(rsaes)
4647 )
4648 );
4649 assert_eq!(
4650 unsafe { ::std::ptr::addr_of!((*ptr).oaep) as usize - ptr as usize },
4651 0usize,
4652 concat!(
4653 "Offset of field: ",
4654 stringify!(TPMU_ASYM_SCHEME),
4655 "::",
4656 stringify!(oaep)
4657 )
4658 );
4659 assert_eq!(
4660 unsafe { ::std::ptr::addr_of!((*ptr).anySig) as usize - ptr as usize },
4661 0usize,
4662 concat!(
4663 "Offset of field: ",
4664 stringify!(TPMU_ASYM_SCHEME),
4665 "::",
4666 stringify!(anySig)
4667 )
4668 );
4669}
4670impl Default for TPMU_ASYM_SCHEME {
4671 fn default() -> Self {
4672 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4673 unsafe {
4674 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4675 s.assume_init()
4676 }
4677 }
4678}
4679#[repr(C)]
4680#[derive(Copy, Clone)]
4681pub struct TPMT_ASYM_SCHEME {
4682 pub scheme: TPMI_ALG_ASYM_SCHEME,
4683 pub details: TPMU_ASYM_SCHEME,
4684}
4685#[test]
4686fn bindgen_test_layout_TPMT_ASYM_SCHEME() {
4687 const UNINIT: ::std::mem::MaybeUninit<TPMT_ASYM_SCHEME> = ::std::mem::MaybeUninit::uninit();
4688 let ptr = UNINIT.as_ptr();
4689 assert_eq!(
4690 ::std::mem::size_of::<TPMT_ASYM_SCHEME>(),
4691 6usize,
4692 concat!("Size of: ", stringify!(TPMT_ASYM_SCHEME))
4693 );
4694 assert_eq!(
4695 ::std::mem::align_of::<TPMT_ASYM_SCHEME>(),
4696 2usize,
4697 concat!("Alignment of ", stringify!(TPMT_ASYM_SCHEME))
4698 );
4699 assert_eq!(
4700 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4701 0usize,
4702 concat!(
4703 "Offset of field: ",
4704 stringify!(TPMT_ASYM_SCHEME),
4705 "::",
4706 stringify!(scheme)
4707 )
4708 );
4709 assert_eq!(
4710 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4711 2usize,
4712 concat!(
4713 "Offset of field: ",
4714 stringify!(TPMT_ASYM_SCHEME),
4715 "::",
4716 stringify!(details)
4717 )
4718 );
4719}
4720impl Default for TPMT_ASYM_SCHEME {
4721 fn default() -> Self {
4722 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4723 unsafe {
4724 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4725 s.assume_init()
4726 }
4727 }
4728}
4729pub type TPMI_ALG_RSA_SCHEME = TPM2_ALG_ID;
4730#[repr(C)]
4731#[derive(Copy, Clone)]
4732pub struct TPMT_RSA_SCHEME {
4733 pub scheme: TPMI_ALG_RSA_SCHEME,
4734 pub details: TPMU_ASYM_SCHEME,
4735}
4736#[test]
4737fn bindgen_test_layout_TPMT_RSA_SCHEME() {
4738 const UNINIT: ::std::mem::MaybeUninit<TPMT_RSA_SCHEME> = ::std::mem::MaybeUninit::uninit();
4739 let ptr = UNINIT.as_ptr();
4740 assert_eq!(
4741 ::std::mem::size_of::<TPMT_RSA_SCHEME>(),
4742 6usize,
4743 concat!("Size of: ", stringify!(TPMT_RSA_SCHEME))
4744 );
4745 assert_eq!(
4746 ::std::mem::align_of::<TPMT_RSA_SCHEME>(),
4747 2usize,
4748 concat!("Alignment of ", stringify!(TPMT_RSA_SCHEME))
4749 );
4750 assert_eq!(
4751 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4752 0usize,
4753 concat!(
4754 "Offset of field: ",
4755 stringify!(TPMT_RSA_SCHEME),
4756 "::",
4757 stringify!(scheme)
4758 )
4759 );
4760 assert_eq!(
4761 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4762 2usize,
4763 concat!(
4764 "Offset of field: ",
4765 stringify!(TPMT_RSA_SCHEME),
4766 "::",
4767 stringify!(details)
4768 )
4769 );
4770}
4771impl Default for TPMT_RSA_SCHEME {
4772 fn default() -> Self {
4773 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4774 unsafe {
4775 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4776 s.assume_init()
4777 }
4778 }
4779}
4780pub type TPMI_ALG_RSA_DECRYPT = TPM2_ALG_ID;
4781#[repr(C)]
4782#[derive(Copy, Clone)]
4783pub struct TPMT_RSA_DECRYPT {
4784 pub scheme: TPMI_ALG_RSA_DECRYPT,
4785 pub details: TPMU_ASYM_SCHEME,
4786}
4787#[test]
4788fn bindgen_test_layout_TPMT_RSA_DECRYPT() {
4789 const UNINIT: ::std::mem::MaybeUninit<TPMT_RSA_DECRYPT> = ::std::mem::MaybeUninit::uninit();
4790 let ptr = UNINIT.as_ptr();
4791 assert_eq!(
4792 ::std::mem::size_of::<TPMT_RSA_DECRYPT>(),
4793 6usize,
4794 concat!("Size of: ", stringify!(TPMT_RSA_DECRYPT))
4795 );
4796 assert_eq!(
4797 ::std::mem::align_of::<TPMT_RSA_DECRYPT>(),
4798 2usize,
4799 concat!("Alignment of ", stringify!(TPMT_RSA_DECRYPT))
4800 );
4801 assert_eq!(
4802 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
4803 0usize,
4804 concat!(
4805 "Offset of field: ",
4806 stringify!(TPMT_RSA_DECRYPT),
4807 "::",
4808 stringify!(scheme)
4809 )
4810 );
4811 assert_eq!(
4812 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
4813 2usize,
4814 concat!(
4815 "Offset of field: ",
4816 stringify!(TPMT_RSA_DECRYPT),
4817 "::",
4818 stringify!(details)
4819 )
4820 );
4821}
4822impl Default for TPMT_RSA_DECRYPT {
4823 fn default() -> Self {
4824 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4825 unsafe {
4826 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4827 s.assume_init()
4828 }
4829 }
4830}
4831#[repr(C)]
4832#[derive(Debug, Copy, Clone)]
4833pub struct TPM2B_PUBLIC_KEY_RSA {
4834 pub size: UINT16,
4835 pub buffer: [BYTE; 512usize],
4836}
4837#[test]
4838fn bindgen_test_layout_TPM2B_PUBLIC_KEY_RSA() {
4839 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PUBLIC_KEY_RSA> = ::std::mem::MaybeUninit::uninit();
4840 let ptr = UNINIT.as_ptr();
4841 assert_eq!(
4842 ::std::mem::size_of::<TPM2B_PUBLIC_KEY_RSA>(),
4843 514usize,
4844 concat!("Size of: ", stringify!(TPM2B_PUBLIC_KEY_RSA))
4845 );
4846 assert_eq!(
4847 ::std::mem::align_of::<TPM2B_PUBLIC_KEY_RSA>(),
4848 2usize,
4849 concat!("Alignment of ", stringify!(TPM2B_PUBLIC_KEY_RSA))
4850 );
4851 assert_eq!(
4852 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4853 0usize,
4854 concat!(
4855 "Offset of field: ",
4856 stringify!(TPM2B_PUBLIC_KEY_RSA),
4857 "::",
4858 stringify!(size)
4859 )
4860 );
4861 assert_eq!(
4862 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
4863 2usize,
4864 concat!(
4865 "Offset of field: ",
4866 stringify!(TPM2B_PUBLIC_KEY_RSA),
4867 "::",
4868 stringify!(buffer)
4869 )
4870 );
4871}
4872impl Default for TPM2B_PUBLIC_KEY_RSA {
4873 fn default() -> Self {
4874 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4875 unsafe {
4876 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4877 s.assume_init()
4878 }
4879 }
4880}
4881pub type TPMI_RSA_KEY_BITS = TPM2_KEY_BITS;
4882#[repr(C)]
4883#[derive(Debug, Copy, Clone)]
4884pub struct TPM2B_PRIVATE_KEY_RSA {
4885 pub size: UINT16,
4886 pub buffer: [BYTE; 256usize],
4887}
4888#[test]
4889fn bindgen_test_layout_TPM2B_PRIVATE_KEY_RSA() {
4890 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PRIVATE_KEY_RSA> =
4891 ::std::mem::MaybeUninit::uninit();
4892 let ptr = UNINIT.as_ptr();
4893 assert_eq!(
4894 ::std::mem::size_of::<TPM2B_PRIVATE_KEY_RSA>(),
4895 258usize,
4896 concat!("Size of: ", stringify!(TPM2B_PRIVATE_KEY_RSA))
4897 );
4898 assert_eq!(
4899 ::std::mem::align_of::<TPM2B_PRIVATE_KEY_RSA>(),
4900 2usize,
4901 concat!("Alignment of ", stringify!(TPM2B_PRIVATE_KEY_RSA))
4902 );
4903 assert_eq!(
4904 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4905 0usize,
4906 concat!(
4907 "Offset of field: ",
4908 stringify!(TPM2B_PRIVATE_KEY_RSA),
4909 "::",
4910 stringify!(size)
4911 )
4912 );
4913 assert_eq!(
4914 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
4915 2usize,
4916 concat!(
4917 "Offset of field: ",
4918 stringify!(TPM2B_PRIVATE_KEY_RSA),
4919 "::",
4920 stringify!(buffer)
4921 )
4922 );
4923}
4924impl Default for TPM2B_PRIVATE_KEY_RSA {
4925 fn default() -> Self {
4926 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4927 unsafe {
4928 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4929 s.assume_init()
4930 }
4931 }
4932}
4933#[repr(C)]
4934#[derive(Debug, Copy, Clone)]
4935pub struct TPM2B_ECC_PARAMETER {
4936 pub size: UINT16,
4937 pub buffer: [BYTE; 128usize],
4938}
4939#[test]
4940fn bindgen_test_layout_TPM2B_ECC_PARAMETER() {
4941 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ECC_PARAMETER> = ::std::mem::MaybeUninit::uninit();
4942 let ptr = UNINIT.as_ptr();
4943 assert_eq!(
4944 ::std::mem::size_of::<TPM2B_ECC_PARAMETER>(),
4945 130usize,
4946 concat!("Size of: ", stringify!(TPM2B_ECC_PARAMETER))
4947 );
4948 assert_eq!(
4949 ::std::mem::align_of::<TPM2B_ECC_PARAMETER>(),
4950 2usize,
4951 concat!("Alignment of ", stringify!(TPM2B_ECC_PARAMETER))
4952 );
4953 assert_eq!(
4954 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4955 0usize,
4956 concat!(
4957 "Offset of field: ",
4958 stringify!(TPM2B_ECC_PARAMETER),
4959 "::",
4960 stringify!(size)
4961 )
4962 );
4963 assert_eq!(
4964 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
4965 2usize,
4966 concat!(
4967 "Offset of field: ",
4968 stringify!(TPM2B_ECC_PARAMETER),
4969 "::",
4970 stringify!(buffer)
4971 )
4972 );
4973}
4974impl Default for TPM2B_ECC_PARAMETER {
4975 fn default() -> Self {
4976 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4977 unsafe {
4978 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4979 s.assume_init()
4980 }
4981 }
4982}
4983#[repr(C)]
4984#[derive(Debug, Copy, Clone)]
4985pub struct TPMS_ECC_POINT {
4986 pub x: TPM2B_ECC_PARAMETER,
4987 pub y: TPM2B_ECC_PARAMETER,
4988}
4989#[test]
4990fn bindgen_test_layout_TPMS_ECC_POINT() {
4991 const UNINIT: ::std::mem::MaybeUninit<TPMS_ECC_POINT> = ::std::mem::MaybeUninit::uninit();
4992 let ptr = UNINIT.as_ptr();
4993 assert_eq!(
4994 ::std::mem::size_of::<TPMS_ECC_POINT>(),
4995 260usize,
4996 concat!("Size of: ", stringify!(TPMS_ECC_POINT))
4997 );
4998 assert_eq!(
4999 ::std::mem::align_of::<TPMS_ECC_POINT>(),
5000 2usize,
5001 concat!("Alignment of ", stringify!(TPMS_ECC_POINT))
5002 );
5003 assert_eq!(
5004 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
5005 0usize,
5006 concat!(
5007 "Offset of field: ",
5008 stringify!(TPMS_ECC_POINT),
5009 "::",
5010 stringify!(x)
5011 )
5012 );
5013 assert_eq!(
5014 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
5015 130usize,
5016 concat!(
5017 "Offset of field: ",
5018 stringify!(TPMS_ECC_POINT),
5019 "::",
5020 stringify!(y)
5021 )
5022 );
5023}
5024impl Default for TPMS_ECC_POINT {
5025 fn default() -> Self {
5026 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5027 unsafe {
5028 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5029 s.assume_init()
5030 }
5031 }
5032}
5033#[repr(C)]
5034#[derive(Debug, Copy, Clone)]
5035pub struct TPM2B_ECC_POINT {
5036 pub size: UINT16,
5037 pub point: TPMS_ECC_POINT,
5038}
5039#[test]
5040fn bindgen_test_layout_TPM2B_ECC_POINT() {
5041 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ECC_POINT> = ::std::mem::MaybeUninit::uninit();
5042 let ptr = UNINIT.as_ptr();
5043 assert_eq!(
5044 ::std::mem::size_of::<TPM2B_ECC_POINT>(),
5045 262usize,
5046 concat!("Size of: ", stringify!(TPM2B_ECC_POINT))
5047 );
5048 assert_eq!(
5049 ::std::mem::align_of::<TPM2B_ECC_POINT>(),
5050 2usize,
5051 concat!("Alignment of ", stringify!(TPM2B_ECC_POINT))
5052 );
5053 assert_eq!(
5054 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5055 0usize,
5056 concat!(
5057 "Offset of field: ",
5058 stringify!(TPM2B_ECC_POINT),
5059 "::",
5060 stringify!(size)
5061 )
5062 );
5063 assert_eq!(
5064 unsafe { ::std::ptr::addr_of!((*ptr).point) as usize - ptr as usize },
5065 2usize,
5066 concat!(
5067 "Offset of field: ",
5068 stringify!(TPM2B_ECC_POINT),
5069 "::",
5070 stringify!(point)
5071 )
5072 );
5073}
5074impl Default for TPM2B_ECC_POINT {
5075 fn default() -> Self {
5076 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5077 unsafe {
5078 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5079 s.assume_init()
5080 }
5081 }
5082}
5083pub type TPMI_ALG_ECC_SCHEME = TPM2_ALG_ID;
5084pub type TPMI_ECC_CURVE = TPM2_ECC_CURVE;
5085#[repr(C)]
5086#[derive(Copy, Clone)]
5087pub struct TPMT_ECC_SCHEME {
5088 pub scheme: TPMI_ALG_ECC_SCHEME,
5089 pub details: TPMU_ASYM_SCHEME,
5090}
5091#[test]
5092fn bindgen_test_layout_TPMT_ECC_SCHEME() {
5093 const UNINIT: ::std::mem::MaybeUninit<TPMT_ECC_SCHEME> = ::std::mem::MaybeUninit::uninit();
5094 let ptr = UNINIT.as_ptr();
5095 assert_eq!(
5096 ::std::mem::size_of::<TPMT_ECC_SCHEME>(),
5097 6usize,
5098 concat!("Size of: ", stringify!(TPMT_ECC_SCHEME))
5099 );
5100 assert_eq!(
5101 ::std::mem::align_of::<TPMT_ECC_SCHEME>(),
5102 2usize,
5103 concat!("Alignment of ", stringify!(TPMT_ECC_SCHEME))
5104 );
5105 assert_eq!(
5106 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
5107 0usize,
5108 concat!(
5109 "Offset of field: ",
5110 stringify!(TPMT_ECC_SCHEME),
5111 "::",
5112 stringify!(scheme)
5113 )
5114 );
5115 assert_eq!(
5116 unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize },
5117 2usize,
5118 concat!(
5119 "Offset of field: ",
5120 stringify!(TPMT_ECC_SCHEME),
5121 "::",
5122 stringify!(details)
5123 )
5124 );
5125}
5126impl Default for TPMT_ECC_SCHEME {
5127 fn default() -> Self {
5128 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5129 unsafe {
5130 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5131 s.assume_init()
5132 }
5133 }
5134}
5135#[repr(C)]
5136#[derive(Copy, Clone)]
5137pub struct TPMS_ALGORITHM_DETAIL_ECC {
5138 pub curveID: TPM2_ECC_CURVE,
5139 pub keySize: UINT16,
5140 pub kdf: TPMT_KDF_SCHEME,
5141 pub sign: TPMT_ECC_SCHEME,
5142 pub p: TPM2B_ECC_PARAMETER,
5143 pub a: TPM2B_ECC_PARAMETER,
5144 pub b: TPM2B_ECC_PARAMETER,
5145 pub gX: TPM2B_ECC_PARAMETER,
5146 pub gY: TPM2B_ECC_PARAMETER,
5147 pub n: TPM2B_ECC_PARAMETER,
5148 pub h: TPM2B_ECC_PARAMETER,
5149}
5150#[test]
5151fn bindgen_test_layout_TPMS_ALGORITHM_DETAIL_ECC() {
5152 const UNINIT: ::std::mem::MaybeUninit<TPMS_ALGORITHM_DETAIL_ECC> =
5153 ::std::mem::MaybeUninit::uninit();
5154 let ptr = UNINIT.as_ptr();
5155 assert_eq!(
5156 ::std::mem::size_of::<TPMS_ALGORITHM_DETAIL_ECC>(),
5157 924usize,
5158 concat!("Size of: ", stringify!(TPMS_ALGORITHM_DETAIL_ECC))
5159 );
5160 assert_eq!(
5161 ::std::mem::align_of::<TPMS_ALGORITHM_DETAIL_ECC>(),
5162 2usize,
5163 concat!("Alignment of ", stringify!(TPMS_ALGORITHM_DETAIL_ECC))
5164 );
5165 assert_eq!(
5166 unsafe { ::std::ptr::addr_of!((*ptr).curveID) as usize - ptr as usize },
5167 0usize,
5168 concat!(
5169 "Offset of field: ",
5170 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5171 "::",
5172 stringify!(curveID)
5173 )
5174 );
5175 assert_eq!(
5176 unsafe { ::std::ptr::addr_of!((*ptr).keySize) as usize - ptr as usize },
5177 2usize,
5178 concat!(
5179 "Offset of field: ",
5180 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5181 "::",
5182 stringify!(keySize)
5183 )
5184 );
5185 assert_eq!(
5186 unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
5187 4usize,
5188 concat!(
5189 "Offset of field: ",
5190 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5191 "::",
5192 stringify!(kdf)
5193 )
5194 );
5195 assert_eq!(
5196 unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
5197 8usize,
5198 concat!(
5199 "Offset of field: ",
5200 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5201 "::",
5202 stringify!(sign)
5203 )
5204 );
5205 assert_eq!(
5206 unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5207 14usize,
5208 concat!(
5209 "Offset of field: ",
5210 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5211 "::",
5212 stringify!(p)
5213 )
5214 );
5215 assert_eq!(
5216 unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize },
5217 144usize,
5218 concat!(
5219 "Offset of field: ",
5220 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5221 "::",
5222 stringify!(a)
5223 )
5224 );
5225 assert_eq!(
5226 unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize },
5227 274usize,
5228 concat!(
5229 "Offset of field: ",
5230 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5231 "::",
5232 stringify!(b)
5233 )
5234 );
5235 assert_eq!(
5236 unsafe { ::std::ptr::addr_of!((*ptr).gX) as usize - ptr as usize },
5237 404usize,
5238 concat!(
5239 "Offset of field: ",
5240 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5241 "::",
5242 stringify!(gX)
5243 )
5244 );
5245 assert_eq!(
5246 unsafe { ::std::ptr::addr_of!((*ptr).gY) as usize - ptr as usize },
5247 534usize,
5248 concat!(
5249 "Offset of field: ",
5250 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5251 "::",
5252 stringify!(gY)
5253 )
5254 );
5255 assert_eq!(
5256 unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize },
5257 664usize,
5258 concat!(
5259 "Offset of field: ",
5260 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5261 "::",
5262 stringify!(n)
5263 )
5264 );
5265 assert_eq!(
5266 unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5267 794usize,
5268 concat!(
5269 "Offset of field: ",
5270 stringify!(TPMS_ALGORITHM_DETAIL_ECC),
5271 "::",
5272 stringify!(h)
5273 )
5274 );
5275}
5276impl Default for TPMS_ALGORITHM_DETAIL_ECC {
5277 fn default() -> Self {
5278 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5279 unsafe {
5280 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5281 s.assume_init()
5282 }
5283 }
5284}
5285#[repr(C)]
5286#[derive(Debug, Copy, Clone)]
5287pub struct TPMS_SIGNATURE_RSA {
5288 pub hash: TPMI_ALG_HASH,
5289 pub sig: TPM2B_PUBLIC_KEY_RSA,
5290}
5291#[test]
5292fn bindgen_test_layout_TPMS_SIGNATURE_RSA() {
5293 const UNINIT: ::std::mem::MaybeUninit<TPMS_SIGNATURE_RSA> = ::std::mem::MaybeUninit::uninit();
5294 let ptr = UNINIT.as_ptr();
5295 assert_eq!(
5296 ::std::mem::size_of::<TPMS_SIGNATURE_RSA>(),
5297 516usize,
5298 concat!("Size of: ", stringify!(TPMS_SIGNATURE_RSA))
5299 );
5300 assert_eq!(
5301 ::std::mem::align_of::<TPMS_SIGNATURE_RSA>(),
5302 2usize,
5303 concat!("Alignment of ", stringify!(TPMS_SIGNATURE_RSA))
5304 );
5305 assert_eq!(
5306 unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
5307 0usize,
5308 concat!(
5309 "Offset of field: ",
5310 stringify!(TPMS_SIGNATURE_RSA),
5311 "::",
5312 stringify!(hash)
5313 )
5314 );
5315 assert_eq!(
5316 unsafe { ::std::ptr::addr_of!((*ptr).sig) as usize - ptr as usize },
5317 2usize,
5318 concat!(
5319 "Offset of field: ",
5320 stringify!(TPMS_SIGNATURE_RSA),
5321 "::",
5322 stringify!(sig)
5323 )
5324 );
5325}
5326impl Default for TPMS_SIGNATURE_RSA {
5327 fn default() -> Self {
5328 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5329 unsafe {
5330 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5331 s.assume_init()
5332 }
5333 }
5334}
5335pub type TPMS_SIGNATURE_RSASSA = TPMS_SIGNATURE_RSA;
5336pub type TPMS_SIGNATURE_RSAPSS = TPMS_SIGNATURE_RSA;
5337#[repr(C)]
5338#[derive(Debug, Copy, Clone)]
5339pub struct TPMS_SIGNATURE_ECC {
5340 pub hash: TPMI_ALG_HASH,
5341 pub signatureR: TPM2B_ECC_PARAMETER,
5342 pub signatureS: TPM2B_ECC_PARAMETER,
5343}
5344#[test]
5345fn bindgen_test_layout_TPMS_SIGNATURE_ECC() {
5346 const UNINIT: ::std::mem::MaybeUninit<TPMS_SIGNATURE_ECC> = ::std::mem::MaybeUninit::uninit();
5347 let ptr = UNINIT.as_ptr();
5348 assert_eq!(
5349 ::std::mem::size_of::<TPMS_SIGNATURE_ECC>(),
5350 262usize,
5351 concat!("Size of: ", stringify!(TPMS_SIGNATURE_ECC))
5352 );
5353 assert_eq!(
5354 ::std::mem::align_of::<TPMS_SIGNATURE_ECC>(),
5355 2usize,
5356 concat!("Alignment of ", stringify!(TPMS_SIGNATURE_ECC))
5357 );
5358 assert_eq!(
5359 unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize },
5360 0usize,
5361 concat!(
5362 "Offset of field: ",
5363 stringify!(TPMS_SIGNATURE_ECC),
5364 "::",
5365 stringify!(hash)
5366 )
5367 );
5368 assert_eq!(
5369 unsafe { ::std::ptr::addr_of!((*ptr).signatureR) as usize - ptr as usize },
5370 2usize,
5371 concat!(
5372 "Offset of field: ",
5373 stringify!(TPMS_SIGNATURE_ECC),
5374 "::",
5375 stringify!(signatureR)
5376 )
5377 );
5378 assert_eq!(
5379 unsafe { ::std::ptr::addr_of!((*ptr).signatureS) as usize - ptr as usize },
5380 132usize,
5381 concat!(
5382 "Offset of field: ",
5383 stringify!(TPMS_SIGNATURE_ECC),
5384 "::",
5385 stringify!(signatureS)
5386 )
5387 );
5388}
5389impl Default for TPMS_SIGNATURE_ECC {
5390 fn default() -> Self {
5391 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5392 unsafe {
5393 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5394 s.assume_init()
5395 }
5396 }
5397}
5398pub type TPMS_SIGNATURE_ECDSA = TPMS_SIGNATURE_ECC;
5399pub type TPMS_SIGNATURE_ECDAA = TPMS_SIGNATURE_ECC;
5400pub type TPMS_SIGNATURE_SM2 = TPMS_SIGNATURE_ECC;
5401pub type TPMS_SIGNATURE_ECSCHNORR = TPMS_SIGNATURE_ECC;
5402#[repr(C)]
5403#[derive(Copy, Clone)]
5404pub union TPMU_SIGNATURE {
5405 pub rsassa: TPMS_SIGNATURE_RSASSA,
5406 pub rsapss: TPMS_SIGNATURE_RSAPSS,
5407 pub ecdsa: TPMS_SIGNATURE_ECDSA,
5408 pub ecdaa: TPMS_SIGNATURE_ECDAA,
5409 pub sm2: TPMS_SIGNATURE_SM2,
5410 pub ecschnorr: TPMS_SIGNATURE_ECSCHNORR,
5411 pub hmac: TPMT_HA,
5412 pub any: TPMS_SCHEME_HASH,
5413}
5414#[test]
5415fn bindgen_test_layout_TPMU_SIGNATURE() {
5416 const UNINIT: ::std::mem::MaybeUninit<TPMU_SIGNATURE> = ::std::mem::MaybeUninit::uninit();
5417 let ptr = UNINIT.as_ptr();
5418 assert_eq!(
5419 ::std::mem::size_of::<TPMU_SIGNATURE>(),
5420 516usize,
5421 concat!("Size of: ", stringify!(TPMU_SIGNATURE))
5422 );
5423 assert_eq!(
5424 ::std::mem::align_of::<TPMU_SIGNATURE>(),
5425 2usize,
5426 concat!("Alignment of ", stringify!(TPMU_SIGNATURE))
5427 );
5428 assert_eq!(
5429 unsafe { ::std::ptr::addr_of!((*ptr).rsassa) as usize - ptr as usize },
5430 0usize,
5431 concat!(
5432 "Offset of field: ",
5433 stringify!(TPMU_SIGNATURE),
5434 "::",
5435 stringify!(rsassa)
5436 )
5437 );
5438 assert_eq!(
5439 unsafe { ::std::ptr::addr_of!((*ptr).rsapss) as usize - ptr as usize },
5440 0usize,
5441 concat!(
5442 "Offset of field: ",
5443 stringify!(TPMU_SIGNATURE),
5444 "::",
5445 stringify!(rsapss)
5446 )
5447 );
5448 assert_eq!(
5449 unsafe { ::std::ptr::addr_of!((*ptr).ecdsa) as usize - ptr as usize },
5450 0usize,
5451 concat!(
5452 "Offset of field: ",
5453 stringify!(TPMU_SIGNATURE),
5454 "::",
5455 stringify!(ecdsa)
5456 )
5457 );
5458 assert_eq!(
5459 unsafe { ::std::ptr::addr_of!((*ptr).ecdaa) as usize - ptr as usize },
5460 0usize,
5461 concat!(
5462 "Offset of field: ",
5463 stringify!(TPMU_SIGNATURE),
5464 "::",
5465 stringify!(ecdaa)
5466 )
5467 );
5468 assert_eq!(
5469 unsafe { ::std::ptr::addr_of!((*ptr).sm2) as usize - ptr as usize },
5470 0usize,
5471 concat!(
5472 "Offset of field: ",
5473 stringify!(TPMU_SIGNATURE),
5474 "::",
5475 stringify!(sm2)
5476 )
5477 );
5478 assert_eq!(
5479 unsafe { ::std::ptr::addr_of!((*ptr).ecschnorr) as usize - ptr as usize },
5480 0usize,
5481 concat!(
5482 "Offset of field: ",
5483 stringify!(TPMU_SIGNATURE),
5484 "::",
5485 stringify!(ecschnorr)
5486 )
5487 );
5488 assert_eq!(
5489 unsafe { ::std::ptr::addr_of!((*ptr).hmac) as usize - ptr as usize },
5490 0usize,
5491 concat!(
5492 "Offset of field: ",
5493 stringify!(TPMU_SIGNATURE),
5494 "::",
5495 stringify!(hmac)
5496 )
5497 );
5498 assert_eq!(
5499 unsafe { ::std::ptr::addr_of!((*ptr).any) as usize - ptr as usize },
5500 0usize,
5501 concat!(
5502 "Offset of field: ",
5503 stringify!(TPMU_SIGNATURE),
5504 "::",
5505 stringify!(any)
5506 )
5507 );
5508}
5509impl Default for TPMU_SIGNATURE {
5510 fn default() -> Self {
5511 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5512 unsafe {
5513 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5514 s.assume_init()
5515 }
5516 }
5517}
5518#[repr(C)]
5519#[derive(Copy, Clone)]
5520pub struct TPMT_SIGNATURE {
5521 pub sigAlg: TPMI_ALG_SIG_SCHEME,
5522 pub signature: TPMU_SIGNATURE,
5523}
5524#[test]
5525fn bindgen_test_layout_TPMT_SIGNATURE() {
5526 const UNINIT: ::std::mem::MaybeUninit<TPMT_SIGNATURE> = ::std::mem::MaybeUninit::uninit();
5527 let ptr = UNINIT.as_ptr();
5528 assert_eq!(
5529 ::std::mem::size_of::<TPMT_SIGNATURE>(),
5530 518usize,
5531 concat!("Size of: ", stringify!(TPMT_SIGNATURE))
5532 );
5533 assert_eq!(
5534 ::std::mem::align_of::<TPMT_SIGNATURE>(),
5535 2usize,
5536 concat!("Alignment of ", stringify!(TPMT_SIGNATURE))
5537 );
5538 assert_eq!(
5539 unsafe { ::std::ptr::addr_of!((*ptr).sigAlg) as usize - ptr as usize },
5540 0usize,
5541 concat!(
5542 "Offset of field: ",
5543 stringify!(TPMT_SIGNATURE),
5544 "::",
5545 stringify!(sigAlg)
5546 )
5547 );
5548 assert_eq!(
5549 unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
5550 2usize,
5551 concat!(
5552 "Offset of field: ",
5553 stringify!(TPMT_SIGNATURE),
5554 "::",
5555 stringify!(signature)
5556 )
5557 );
5558}
5559impl Default for TPMT_SIGNATURE {
5560 fn default() -> Self {
5561 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5562 unsafe {
5563 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5564 s.assume_init()
5565 }
5566 }
5567}
5568#[repr(C)]
5569#[derive(Copy, Clone)]
5570pub union TPMU_ENCRYPTED_SECRET {
5571 pub ecc: [BYTE; 260usize],
5572 pub rsa: [BYTE; 512usize],
5573 pub symmetric: [BYTE; 66usize],
5574 pub keyedHash: [BYTE; 66usize],
5575}
5576#[test]
5577fn bindgen_test_layout_TPMU_ENCRYPTED_SECRET() {
5578 const UNINIT: ::std::mem::MaybeUninit<TPMU_ENCRYPTED_SECRET> =
5579 ::std::mem::MaybeUninit::uninit();
5580 let ptr = UNINIT.as_ptr();
5581 assert_eq!(
5582 ::std::mem::size_of::<TPMU_ENCRYPTED_SECRET>(),
5583 512usize,
5584 concat!("Size of: ", stringify!(TPMU_ENCRYPTED_SECRET))
5585 );
5586 assert_eq!(
5587 ::std::mem::align_of::<TPMU_ENCRYPTED_SECRET>(),
5588 1usize,
5589 concat!("Alignment of ", stringify!(TPMU_ENCRYPTED_SECRET))
5590 );
5591 assert_eq!(
5592 unsafe { ::std::ptr::addr_of!((*ptr).ecc) as usize - ptr as usize },
5593 0usize,
5594 concat!(
5595 "Offset of field: ",
5596 stringify!(TPMU_ENCRYPTED_SECRET),
5597 "::",
5598 stringify!(ecc)
5599 )
5600 );
5601 assert_eq!(
5602 unsafe { ::std::ptr::addr_of!((*ptr).rsa) as usize - ptr as usize },
5603 0usize,
5604 concat!(
5605 "Offset of field: ",
5606 stringify!(TPMU_ENCRYPTED_SECRET),
5607 "::",
5608 stringify!(rsa)
5609 )
5610 );
5611 assert_eq!(
5612 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
5613 0usize,
5614 concat!(
5615 "Offset of field: ",
5616 stringify!(TPMU_ENCRYPTED_SECRET),
5617 "::",
5618 stringify!(symmetric)
5619 )
5620 );
5621 assert_eq!(
5622 unsafe { ::std::ptr::addr_of!((*ptr).keyedHash) as usize - ptr as usize },
5623 0usize,
5624 concat!(
5625 "Offset of field: ",
5626 stringify!(TPMU_ENCRYPTED_SECRET),
5627 "::",
5628 stringify!(keyedHash)
5629 )
5630 );
5631}
5632impl Default for TPMU_ENCRYPTED_SECRET {
5633 fn default() -> Self {
5634 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5635 unsafe {
5636 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5637 s.assume_init()
5638 }
5639 }
5640}
5641#[repr(C)]
5642#[derive(Debug, Copy, Clone)]
5643pub struct TPM2B_ENCRYPTED_SECRET {
5644 pub size: UINT16,
5645 pub secret: [BYTE; 512usize],
5646}
5647#[test]
5648fn bindgen_test_layout_TPM2B_ENCRYPTED_SECRET() {
5649 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ENCRYPTED_SECRET> =
5650 ::std::mem::MaybeUninit::uninit();
5651 let ptr = UNINIT.as_ptr();
5652 assert_eq!(
5653 ::std::mem::size_of::<TPM2B_ENCRYPTED_SECRET>(),
5654 514usize,
5655 concat!("Size of: ", stringify!(TPM2B_ENCRYPTED_SECRET))
5656 );
5657 assert_eq!(
5658 ::std::mem::align_of::<TPM2B_ENCRYPTED_SECRET>(),
5659 2usize,
5660 concat!("Alignment of ", stringify!(TPM2B_ENCRYPTED_SECRET))
5661 );
5662 assert_eq!(
5663 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5664 0usize,
5665 concat!(
5666 "Offset of field: ",
5667 stringify!(TPM2B_ENCRYPTED_SECRET),
5668 "::",
5669 stringify!(size)
5670 )
5671 );
5672 assert_eq!(
5673 unsafe { ::std::ptr::addr_of!((*ptr).secret) as usize - ptr as usize },
5674 2usize,
5675 concat!(
5676 "Offset of field: ",
5677 stringify!(TPM2B_ENCRYPTED_SECRET),
5678 "::",
5679 stringify!(secret)
5680 )
5681 );
5682}
5683impl Default for TPM2B_ENCRYPTED_SECRET {
5684 fn default() -> Self {
5685 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5686 unsafe {
5687 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5688 s.assume_init()
5689 }
5690 }
5691}
5692pub type TPMI_ALG_PUBLIC = TPM2_ALG_ID;
5693#[repr(C)]
5694#[derive(Copy, Clone)]
5695pub union TPMU_PUBLIC_ID {
5696 pub keyedHash: TPM2B_DIGEST,
5697 pub sym: TPM2B_DIGEST,
5698 pub rsa: TPM2B_PUBLIC_KEY_RSA,
5699 pub ecc: TPMS_ECC_POINT,
5700}
5701#[test]
5702fn bindgen_test_layout_TPMU_PUBLIC_ID() {
5703 const UNINIT: ::std::mem::MaybeUninit<TPMU_PUBLIC_ID> = ::std::mem::MaybeUninit::uninit();
5704 let ptr = UNINIT.as_ptr();
5705 assert_eq!(
5706 ::std::mem::size_of::<TPMU_PUBLIC_ID>(),
5707 514usize,
5708 concat!("Size of: ", stringify!(TPMU_PUBLIC_ID))
5709 );
5710 assert_eq!(
5711 ::std::mem::align_of::<TPMU_PUBLIC_ID>(),
5712 2usize,
5713 concat!("Alignment of ", stringify!(TPMU_PUBLIC_ID))
5714 );
5715 assert_eq!(
5716 unsafe { ::std::ptr::addr_of!((*ptr).keyedHash) as usize - ptr as usize },
5717 0usize,
5718 concat!(
5719 "Offset of field: ",
5720 stringify!(TPMU_PUBLIC_ID),
5721 "::",
5722 stringify!(keyedHash)
5723 )
5724 );
5725 assert_eq!(
5726 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
5727 0usize,
5728 concat!(
5729 "Offset of field: ",
5730 stringify!(TPMU_PUBLIC_ID),
5731 "::",
5732 stringify!(sym)
5733 )
5734 );
5735 assert_eq!(
5736 unsafe { ::std::ptr::addr_of!((*ptr).rsa) as usize - ptr as usize },
5737 0usize,
5738 concat!(
5739 "Offset of field: ",
5740 stringify!(TPMU_PUBLIC_ID),
5741 "::",
5742 stringify!(rsa)
5743 )
5744 );
5745 assert_eq!(
5746 unsafe { ::std::ptr::addr_of!((*ptr).ecc) as usize - ptr as usize },
5747 0usize,
5748 concat!(
5749 "Offset of field: ",
5750 stringify!(TPMU_PUBLIC_ID),
5751 "::",
5752 stringify!(ecc)
5753 )
5754 );
5755}
5756impl Default for TPMU_PUBLIC_ID {
5757 fn default() -> Self {
5758 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5759 unsafe {
5760 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5761 s.assume_init()
5762 }
5763 }
5764}
5765#[repr(C)]
5766#[derive(Copy, Clone)]
5767pub struct TPMS_KEYEDHASH_PARMS {
5768 pub scheme: TPMT_KEYEDHASH_SCHEME,
5769}
5770#[test]
5771fn bindgen_test_layout_TPMS_KEYEDHASH_PARMS() {
5772 const UNINIT: ::std::mem::MaybeUninit<TPMS_KEYEDHASH_PARMS> = ::std::mem::MaybeUninit::uninit();
5773 let ptr = UNINIT.as_ptr();
5774 assert_eq!(
5775 ::std::mem::size_of::<TPMS_KEYEDHASH_PARMS>(),
5776 6usize,
5777 concat!("Size of: ", stringify!(TPMS_KEYEDHASH_PARMS))
5778 );
5779 assert_eq!(
5780 ::std::mem::align_of::<TPMS_KEYEDHASH_PARMS>(),
5781 2usize,
5782 concat!("Alignment of ", stringify!(TPMS_KEYEDHASH_PARMS))
5783 );
5784 assert_eq!(
5785 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
5786 0usize,
5787 concat!(
5788 "Offset of field: ",
5789 stringify!(TPMS_KEYEDHASH_PARMS),
5790 "::",
5791 stringify!(scheme)
5792 )
5793 );
5794}
5795impl Default for TPMS_KEYEDHASH_PARMS {
5796 fn default() -> Self {
5797 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5798 unsafe {
5799 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5800 s.assume_init()
5801 }
5802 }
5803}
5804#[repr(C)]
5805#[derive(Copy, Clone)]
5806pub struct TPMS_ASYM_PARMS {
5807 pub symmetric: TPMT_SYM_DEF_OBJECT,
5808 pub scheme: TPMT_ASYM_SCHEME,
5809}
5810#[test]
5811fn bindgen_test_layout_TPMS_ASYM_PARMS() {
5812 const UNINIT: ::std::mem::MaybeUninit<TPMS_ASYM_PARMS> = ::std::mem::MaybeUninit::uninit();
5813 let ptr = UNINIT.as_ptr();
5814 assert_eq!(
5815 ::std::mem::size_of::<TPMS_ASYM_PARMS>(),
5816 12usize,
5817 concat!("Size of: ", stringify!(TPMS_ASYM_PARMS))
5818 );
5819 assert_eq!(
5820 ::std::mem::align_of::<TPMS_ASYM_PARMS>(),
5821 2usize,
5822 concat!("Alignment of ", stringify!(TPMS_ASYM_PARMS))
5823 );
5824 assert_eq!(
5825 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
5826 0usize,
5827 concat!(
5828 "Offset of field: ",
5829 stringify!(TPMS_ASYM_PARMS),
5830 "::",
5831 stringify!(symmetric)
5832 )
5833 );
5834 assert_eq!(
5835 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
5836 6usize,
5837 concat!(
5838 "Offset of field: ",
5839 stringify!(TPMS_ASYM_PARMS),
5840 "::",
5841 stringify!(scheme)
5842 )
5843 );
5844}
5845impl Default for TPMS_ASYM_PARMS {
5846 fn default() -> Self {
5847 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5848 unsafe {
5849 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5850 s.assume_init()
5851 }
5852 }
5853}
5854#[repr(C)]
5855#[derive(Copy, Clone)]
5856pub struct TPMS_RSA_PARMS {
5857 pub symmetric: TPMT_SYM_DEF_OBJECT,
5858 pub scheme: TPMT_RSA_SCHEME,
5859 pub keyBits: TPMI_RSA_KEY_BITS,
5860 pub exponent: UINT32,
5861}
5862#[test]
5863fn bindgen_test_layout_TPMS_RSA_PARMS() {
5864 const UNINIT: ::std::mem::MaybeUninit<TPMS_RSA_PARMS> = ::std::mem::MaybeUninit::uninit();
5865 let ptr = UNINIT.as_ptr();
5866 assert_eq!(
5867 ::std::mem::size_of::<TPMS_RSA_PARMS>(),
5868 20usize,
5869 concat!("Size of: ", stringify!(TPMS_RSA_PARMS))
5870 );
5871 assert_eq!(
5872 ::std::mem::align_of::<TPMS_RSA_PARMS>(),
5873 4usize,
5874 concat!("Alignment of ", stringify!(TPMS_RSA_PARMS))
5875 );
5876 assert_eq!(
5877 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
5878 0usize,
5879 concat!(
5880 "Offset of field: ",
5881 stringify!(TPMS_RSA_PARMS),
5882 "::",
5883 stringify!(symmetric)
5884 )
5885 );
5886 assert_eq!(
5887 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
5888 6usize,
5889 concat!(
5890 "Offset of field: ",
5891 stringify!(TPMS_RSA_PARMS),
5892 "::",
5893 stringify!(scheme)
5894 )
5895 );
5896 assert_eq!(
5897 unsafe { ::std::ptr::addr_of!((*ptr).keyBits) as usize - ptr as usize },
5898 12usize,
5899 concat!(
5900 "Offset of field: ",
5901 stringify!(TPMS_RSA_PARMS),
5902 "::",
5903 stringify!(keyBits)
5904 )
5905 );
5906 assert_eq!(
5907 unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
5908 16usize,
5909 concat!(
5910 "Offset of field: ",
5911 stringify!(TPMS_RSA_PARMS),
5912 "::",
5913 stringify!(exponent)
5914 )
5915 );
5916}
5917impl Default for TPMS_RSA_PARMS {
5918 fn default() -> Self {
5919 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5920 unsafe {
5921 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5922 s.assume_init()
5923 }
5924 }
5925}
5926#[repr(C)]
5927#[derive(Copy, Clone)]
5928pub struct TPMS_ECC_PARMS {
5929 pub symmetric: TPMT_SYM_DEF_OBJECT,
5930 pub scheme: TPMT_ECC_SCHEME,
5931 pub curveID: TPMI_ECC_CURVE,
5932 pub kdf: TPMT_KDF_SCHEME,
5933}
5934#[test]
5935fn bindgen_test_layout_TPMS_ECC_PARMS() {
5936 const UNINIT: ::std::mem::MaybeUninit<TPMS_ECC_PARMS> = ::std::mem::MaybeUninit::uninit();
5937 let ptr = UNINIT.as_ptr();
5938 assert_eq!(
5939 ::std::mem::size_of::<TPMS_ECC_PARMS>(),
5940 18usize,
5941 concat!("Size of: ", stringify!(TPMS_ECC_PARMS))
5942 );
5943 assert_eq!(
5944 ::std::mem::align_of::<TPMS_ECC_PARMS>(),
5945 2usize,
5946 concat!("Alignment of ", stringify!(TPMS_ECC_PARMS))
5947 );
5948 assert_eq!(
5949 unsafe { ::std::ptr::addr_of!((*ptr).symmetric) as usize - ptr as usize },
5950 0usize,
5951 concat!(
5952 "Offset of field: ",
5953 stringify!(TPMS_ECC_PARMS),
5954 "::",
5955 stringify!(symmetric)
5956 )
5957 );
5958 assert_eq!(
5959 unsafe { ::std::ptr::addr_of!((*ptr).scheme) as usize - ptr as usize },
5960 6usize,
5961 concat!(
5962 "Offset of field: ",
5963 stringify!(TPMS_ECC_PARMS),
5964 "::",
5965 stringify!(scheme)
5966 )
5967 );
5968 assert_eq!(
5969 unsafe { ::std::ptr::addr_of!((*ptr).curveID) as usize - ptr as usize },
5970 12usize,
5971 concat!(
5972 "Offset of field: ",
5973 stringify!(TPMS_ECC_PARMS),
5974 "::",
5975 stringify!(curveID)
5976 )
5977 );
5978 assert_eq!(
5979 unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
5980 14usize,
5981 concat!(
5982 "Offset of field: ",
5983 stringify!(TPMS_ECC_PARMS),
5984 "::",
5985 stringify!(kdf)
5986 )
5987 );
5988}
5989impl Default for TPMS_ECC_PARMS {
5990 fn default() -> Self {
5991 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5992 unsafe {
5993 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5994 s.assume_init()
5995 }
5996 }
5997}
5998#[repr(C)]
5999#[derive(Copy, Clone)]
6000pub union TPMU_PUBLIC_PARMS {
6001 pub keyedHashDetail: TPMS_KEYEDHASH_PARMS,
6002 pub symDetail: TPMS_SYMCIPHER_PARMS,
6003 pub rsaDetail: TPMS_RSA_PARMS,
6004 pub eccDetail: TPMS_ECC_PARMS,
6005 pub asymDetail: TPMS_ASYM_PARMS,
6006}
6007#[test]
6008fn bindgen_test_layout_TPMU_PUBLIC_PARMS() {
6009 const UNINIT: ::std::mem::MaybeUninit<TPMU_PUBLIC_PARMS> = ::std::mem::MaybeUninit::uninit();
6010 let ptr = UNINIT.as_ptr();
6011 assert_eq!(
6012 ::std::mem::size_of::<TPMU_PUBLIC_PARMS>(),
6013 20usize,
6014 concat!("Size of: ", stringify!(TPMU_PUBLIC_PARMS))
6015 );
6016 assert_eq!(
6017 ::std::mem::align_of::<TPMU_PUBLIC_PARMS>(),
6018 4usize,
6019 concat!("Alignment of ", stringify!(TPMU_PUBLIC_PARMS))
6020 );
6021 assert_eq!(
6022 unsafe { ::std::ptr::addr_of!((*ptr).keyedHashDetail) as usize - ptr as usize },
6023 0usize,
6024 concat!(
6025 "Offset of field: ",
6026 stringify!(TPMU_PUBLIC_PARMS),
6027 "::",
6028 stringify!(keyedHashDetail)
6029 )
6030 );
6031 assert_eq!(
6032 unsafe { ::std::ptr::addr_of!((*ptr).symDetail) as usize - ptr as usize },
6033 0usize,
6034 concat!(
6035 "Offset of field: ",
6036 stringify!(TPMU_PUBLIC_PARMS),
6037 "::",
6038 stringify!(symDetail)
6039 )
6040 );
6041 assert_eq!(
6042 unsafe { ::std::ptr::addr_of!((*ptr).rsaDetail) as usize - ptr as usize },
6043 0usize,
6044 concat!(
6045 "Offset of field: ",
6046 stringify!(TPMU_PUBLIC_PARMS),
6047 "::",
6048 stringify!(rsaDetail)
6049 )
6050 );
6051 assert_eq!(
6052 unsafe { ::std::ptr::addr_of!((*ptr).eccDetail) as usize - ptr as usize },
6053 0usize,
6054 concat!(
6055 "Offset of field: ",
6056 stringify!(TPMU_PUBLIC_PARMS),
6057 "::",
6058 stringify!(eccDetail)
6059 )
6060 );
6061 assert_eq!(
6062 unsafe { ::std::ptr::addr_of!((*ptr).asymDetail) as usize - ptr as usize },
6063 0usize,
6064 concat!(
6065 "Offset of field: ",
6066 stringify!(TPMU_PUBLIC_PARMS),
6067 "::",
6068 stringify!(asymDetail)
6069 )
6070 );
6071}
6072impl Default for TPMU_PUBLIC_PARMS {
6073 fn default() -> Self {
6074 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6075 unsafe {
6076 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6077 s.assume_init()
6078 }
6079 }
6080}
6081#[repr(C)]
6082#[derive(Copy, Clone)]
6083pub struct TPMT_PUBLIC_PARMS {
6084 pub type_: TPMI_ALG_PUBLIC,
6085 pub parameters: TPMU_PUBLIC_PARMS,
6086}
6087#[test]
6088fn bindgen_test_layout_TPMT_PUBLIC_PARMS() {
6089 const UNINIT: ::std::mem::MaybeUninit<TPMT_PUBLIC_PARMS> = ::std::mem::MaybeUninit::uninit();
6090 let ptr = UNINIT.as_ptr();
6091 assert_eq!(
6092 ::std::mem::size_of::<TPMT_PUBLIC_PARMS>(),
6093 24usize,
6094 concat!("Size of: ", stringify!(TPMT_PUBLIC_PARMS))
6095 );
6096 assert_eq!(
6097 ::std::mem::align_of::<TPMT_PUBLIC_PARMS>(),
6098 4usize,
6099 concat!("Alignment of ", stringify!(TPMT_PUBLIC_PARMS))
6100 );
6101 assert_eq!(
6102 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6103 0usize,
6104 concat!(
6105 "Offset of field: ",
6106 stringify!(TPMT_PUBLIC_PARMS),
6107 "::",
6108 stringify!(type_)
6109 )
6110 );
6111 assert_eq!(
6112 unsafe { ::std::ptr::addr_of!((*ptr).parameters) as usize - ptr as usize },
6113 4usize,
6114 concat!(
6115 "Offset of field: ",
6116 stringify!(TPMT_PUBLIC_PARMS),
6117 "::",
6118 stringify!(parameters)
6119 )
6120 );
6121}
6122impl Default for TPMT_PUBLIC_PARMS {
6123 fn default() -> Self {
6124 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6125 unsafe {
6126 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6127 s.assume_init()
6128 }
6129 }
6130}
6131#[repr(C)]
6132#[derive(Copy, Clone)]
6133pub struct TPMT_PUBLIC {
6134 pub type_: TPMI_ALG_PUBLIC,
6135 pub nameAlg: TPMI_ALG_HASH,
6136 pub objectAttributes: TPMA_OBJECT,
6137 pub authPolicy: TPM2B_DIGEST,
6138 pub parameters: TPMU_PUBLIC_PARMS,
6139 pub unique: TPMU_PUBLIC_ID,
6140}
6141#[test]
6142fn bindgen_test_layout_TPMT_PUBLIC() {
6143 const UNINIT: ::std::mem::MaybeUninit<TPMT_PUBLIC> = ::std::mem::MaybeUninit::uninit();
6144 let ptr = UNINIT.as_ptr();
6145 assert_eq!(
6146 ::std::mem::size_of::<TPMT_PUBLIC>(),
6147 612usize,
6148 concat!("Size of: ", stringify!(TPMT_PUBLIC))
6149 );
6150 assert_eq!(
6151 ::std::mem::align_of::<TPMT_PUBLIC>(),
6152 4usize,
6153 concat!("Alignment of ", stringify!(TPMT_PUBLIC))
6154 );
6155 assert_eq!(
6156 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6157 0usize,
6158 concat!(
6159 "Offset of field: ",
6160 stringify!(TPMT_PUBLIC),
6161 "::",
6162 stringify!(type_)
6163 )
6164 );
6165 assert_eq!(
6166 unsafe { ::std::ptr::addr_of!((*ptr).nameAlg) as usize - ptr as usize },
6167 2usize,
6168 concat!(
6169 "Offset of field: ",
6170 stringify!(TPMT_PUBLIC),
6171 "::",
6172 stringify!(nameAlg)
6173 )
6174 );
6175 assert_eq!(
6176 unsafe { ::std::ptr::addr_of!((*ptr).objectAttributes) as usize - ptr as usize },
6177 4usize,
6178 concat!(
6179 "Offset of field: ",
6180 stringify!(TPMT_PUBLIC),
6181 "::",
6182 stringify!(objectAttributes)
6183 )
6184 );
6185 assert_eq!(
6186 unsafe { ::std::ptr::addr_of!((*ptr).authPolicy) as usize - ptr as usize },
6187 8usize,
6188 concat!(
6189 "Offset of field: ",
6190 stringify!(TPMT_PUBLIC),
6191 "::",
6192 stringify!(authPolicy)
6193 )
6194 );
6195 assert_eq!(
6196 unsafe { ::std::ptr::addr_of!((*ptr).parameters) as usize - ptr as usize },
6197 76usize,
6198 concat!(
6199 "Offset of field: ",
6200 stringify!(TPMT_PUBLIC),
6201 "::",
6202 stringify!(parameters)
6203 )
6204 );
6205 assert_eq!(
6206 unsafe { ::std::ptr::addr_of!((*ptr).unique) as usize - ptr as usize },
6207 96usize,
6208 concat!(
6209 "Offset of field: ",
6210 stringify!(TPMT_PUBLIC),
6211 "::",
6212 stringify!(unique)
6213 )
6214 );
6215}
6216impl Default for TPMT_PUBLIC {
6217 fn default() -> Self {
6218 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6219 unsafe {
6220 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6221 s.assume_init()
6222 }
6223 }
6224}
6225#[repr(C)]
6226#[derive(Copy, Clone)]
6227pub struct TPM2B_PUBLIC {
6228 pub size: UINT16,
6229 pub publicArea: TPMT_PUBLIC,
6230}
6231#[test]
6232fn bindgen_test_layout_TPM2B_PUBLIC() {
6233 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PUBLIC> = ::std::mem::MaybeUninit::uninit();
6234 let ptr = UNINIT.as_ptr();
6235 assert_eq!(
6236 ::std::mem::size_of::<TPM2B_PUBLIC>(),
6237 616usize,
6238 concat!("Size of: ", stringify!(TPM2B_PUBLIC))
6239 );
6240 assert_eq!(
6241 ::std::mem::align_of::<TPM2B_PUBLIC>(),
6242 4usize,
6243 concat!("Alignment of ", stringify!(TPM2B_PUBLIC))
6244 );
6245 assert_eq!(
6246 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6247 0usize,
6248 concat!(
6249 "Offset of field: ",
6250 stringify!(TPM2B_PUBLIC),
6251 "::",
6252 stringify!(size)
6253 )
6254 );
6255 assert_eq!(
6256 unsafe { ::std::ptr::addr_of!((*ptr).publicArea) as usize - ptr as usize },
6257 4usize,
6258 concat!(
6259 "Offset of field: ",
6260 stringify!(TPM2B_PUBLIC),
6261 "::",
6262 stringify!(publicArea)
6263 )
6264 );
6265}
6266impl Default for TPM2B_PUBLIC {
6267 fn default() -> Self {
6268 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6269 unsafe {
6270 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6271 s.assume_init()
6272 }
6273 }
6274}
6275#[repr(C)]
6276#[derive(Debug, Copy, Clone)]
6277pub struct TPM2B_TEMPLATE {
6278 pub size: UINT16,
6279 pub buffer: [BYTE; 612usize],
6280}
6281#[test]
6282fn bindgen_test_layout_TPM2B_TEMPLATE() {
6283 const UNINIT: ::std::mem::MaybeUninit<TPM2B_TEMPLATE> = ::std::mem::MaybeUninit::uninit();
6284 let ptr = UNINIT.as_ptr();
6285 assert_eq!(
6286 ::std::mem::size_of::<TPM2B_TEMPLATE>(),
6287 614usize,
6288 concat!("Size of: ", stringify!(TPM2B_TEMPLATE))
6289 );
6290 assert_eq!(
6291 ::std::mem::align_of::<TPM2B_TEMPLATE>(),
6292 2usize,
6293 concat!("Alignment of ", stringify!(TPM2B_TEMPLATE))
6294 );
6295 assert_eq!(
6296 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6297 0usize,
6298 concat!(
6299 "Offset of field: ",
6300 stringify!(TPM2B_TEMPLATE),
6301 "::",
6302 stringify!(size)
6303 )
6304 );
6305 assert_eq!(
6306 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
6307 2usize,
6308 concat!(
6309 "Offset of field: ",
6310 stringify!(TPM2B_TEMPLATE),
6311 "::",
6312 stringify!(buffer)
6313 )
6314 );
6315}
6316impl Default for TPM2B_TEMPLATE {
6317 fn default() -> Self {
6318 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6319 unsafe {
6320 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6321 s.assume_init()
6322 }
6323 }
6324}
6325#[repr(C)]
6326#[derive(Debug, Copy, Clone)]
6327pub struct TPM2B_PRIVATE_VENDOR_SPECIFIC {
6328 pub size: UINT16,
6329 pub buffer: [BYTE; 1280usize],
6330}
6331#[test]
6332fn bindgen_test_layout_TPM2B_PRIVATE_VENDOR_SPECIFIC() {
6333 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PRIVATE_VENDOR_SPECIFIC> =
6334 ::std::mem::MaybeUninit::uninit();
6335 let ptr = UNINIT.as_ptr();
6336 assert_eq!(
6337 ::std::mem::size_of::<TPM2B_PRIVATE_VENDOR_SPECIFIC>(),
6338 1282usize,
6339 concat!("Size of: ", stringify!(TPM2B_PRIVATE_VENDOR_SPECIFIC))
6340 );
6341 assert_eq!(
6342 ::std::mem::align_of::<TPM2B_PRIVATE_VENDOR_SPECIFIC>(),
6343 2usize,
6344 concat!("Alignment of ", stringify!(TPM2B_PRIVATE_VENDOR_SPECIFIC))
6345 );
6346 assert_eq!(
6347 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6348 0usize,
6349 concat!(
6350 "Offset of field: ",
6351 stringify!(TPM2B_PRIVATE_VENDOR_SPECIFIC),
6352 "::",
6353 stringify!(size)
6354 )
6355 );
6356 assert_eq!(
6357 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
6358 2usize,
6359 concat!(
6360 "Offset of field: ",
6361 stringify!(TPM2B_PRIVATE_VENDOR_SPECIFIC),
6362 "::",
6363 stringify!(buffer)
6364 )
6365 );
6366}
6367impl Default for TPM2B_PRIVATE_VENDOR_SPECIFIC {
6368 fn default() -> Self {
6369 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6370 unsafe {
6371 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6372 s.assume_init()
6373 }
6374 }
6375}
6376#[repr(C)]
6377#[derive(Copy, Clone)]
6378pub union TPMU_SENSITIVE_COMPOSITE {
6379 pub rsa: TPM2B_PRIVATE_KEY_RSA,
6380 pub ecc: TPM2B_ECC_PARAMETER,
6381 pub bits: TPM2B_SENSITIVE_DATA,
6382 pub sym: TPM2B_SYM_KEY,
6383 pub any: TPM2B_PRIVATE_VENDOR_SPECIFIC,
6384}
6385#[test]
6386fn bindgen_test_layout_TPMU_SENSITIVE_COMPOSITE() {
6387 const UNINIT: ::std::mem::MaybeUninit<TPMU_SENSITIVE_COMPOSITE> =
6388 ::std::mem::MaybeUninit::uninit();
6389 let ptr = UNINIT.as_ptr();
6390 assert_eq!(
6391 ::std::mem::size_of::<TPMU_SENSITIVE_COMPOSITE>(),
6392 1282usize,
6393 concat!("Size of: ", stringify!(TPMU_SENSITIVE_COMPOSITE))
6394 );
6395 assert_eq!(
6396 ::std::mem::align_of::<TPMU_SENSITIVE_COMPOSITE>(),
6397 2usize,
6398 concat!("Alignment of ", stringify!(TPMU_SENSITIVE_COMPOSITE))
6399 );
6400 assert_eq!(
6401 unsafe { ::std::ptr::addr_of!((*ptr).rsa) as usize - ptr as usize },
6402 0usize,
6403 concat!(
6404 "Offset of field: ",
6405 stringify!(TPMU_SENSITIVE_COMPOSITE),
6406 "::",
6407 stringify!(rsa)
6408 )
6409 );
6410 assert_eq!(
6411 unsafe { ::std::ptr::addr_of!((*ptr).ecc) as usize - ptr as usize },
6412 0usize,
6413 concat!(
6414 "Offset of field: ",
6415 stringify!(TPMU_SENSITIVE_COMPOSITE),
6416 "::",
6417 stringify!(ecc)
6418 )
6419 );
6420 assert_eq!(
6421 unsafe { ::std::ptr::addr_of!((*ptr).bits) as usize - ptr as usize },
6422 0usize,
6423 concat!(
6424 "Offset of field: ",
6425 stringify!(TPMU_SENSITIVE_COMPOSITE),
6426 "::",
6427 stringify!(bits)
6428 )
6429 );
6430 assert_eq!(
6431 unsafe { ::std::ptr::addr_of!((*ptr).sym) as usize - ptr as usize },
6432 0usize,
6433 concat!(
6434 "Offset of field: ",
6435 stringify!(TPMU_SENSITIVE_COMPOSITE),
6436 "::",
6437 stringify!(sym)
6438 )
6439 );
6440 assert_eq!(
6441 unsafe { ::std::ptr::addr_of!((*ptr).any) as usize - ptr as usize },
6442 0usize,
6443 concat!(
6444 "Offset of field: ",
6445 stringify!(TPMU_SENSITIVE_COMPOSITE),
6446 "::",
6447 stringify!(any)
6448 )
6449 );
6450}
6451impl Default for TPMU_SENSITIVE_COMPOSITE {
6452 fn default() -> Self {
6453 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6454 unsafe {
6455 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6456 s.assume_init()
6457 }
6458 }
6459}
6460#[repr(C)]
6461#[derive(Copy, Clone)]
6462pub struct TPMT_SENSITIVE {
6463 pub sensitiveType: TPMI_ALG_PUBLIC,
6464 pub authValue: TPM2B_AUTH,
6465 pub seedValue: TPM2B_DIGEST,
6466 pub sensitive: TPMU_SENSITIVE_COMPOSITE,
6467}
6468#[test]
6469fn bindgen_test_layout_TPMT_SENSITIVE() {
6470 const UNINIT: ::std::mem::MaybeUninit<TPMT_SENSITIVE> = ::std::mem::MaybeUninit::uninit();
6471 let ptr = UNINIT.as_ptr();
6472 assert_eq!(
6473 ::std::mem::size_of::<TPMT_SENSITIVE>(),
6474 1416usize,
6475 concat!("Size of: ", stringify!(TPMT_SENSITIVE))
6476 );
6477 assert_eq!(
6478 ::std::mem::align_of::<TPMT_SENSITIVE>(),
6479 2usize,
6480 concat!("Alignment of ", stringify!(TPMT_SENSITIVE))
6481 );
6482 assert_eq!(
6483 unsafe { ::std::ptr::addr_of!((*ptr).sensitiveType) as usize - ptr as usize },
6484 0usize,
6485 concat!(
6486 "Offset of field: ",
6487 stringify!(TPMT_SENSITIVE),
6488 "::",
6489 stringify!(sensitiveType)
6490 )
6491 );
6492 assert_eq!(
6493 unsafe { ::std::ptr::addr_of!((*ptr).authValue) as usize - ptr as usize },
6494 2usize,
6495 concat!(
6496 "Offset of field: ",
6497 stringify!(TPMT_SENSITIVE),
6498 "::",
6499 stringify!(authValue)
6500 )
6501 );
6502 assert_eq!(
6503 unsafe { ::std::ptr::addr_of!((*ptr).seedValue) as usize - ptr as usize },
6504 68usize,
6505 concat!(
6506 "Offset of field: ",
6507 stringify!(TPMT_SENSITIVE),
6508 "::",
6509 stringify!(seedValue)
6510 )
6511 );
6512 assert_eq!(
6513 unsafe { ::std::ptr::addr_of!((*ptr).sensitive) as usize - ptr as usize },
6514 134usize,
6515 concat!(
6516 "Offset of field: ",
6517 stringify!(TPMT_SENSITIVE),
6518 "::",
6519 stringify!(sensitive)
6520 )
6521 );
6522}
6523impl Default for TPMT_SENSITIVE {
6524 fn default() -> Self {
6525 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6526 unsafe {
6527 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6528 s.assume_init()
6529 }
6530 }
6531}
6532#[repr(C)]
6533#[derive(Copy, Clone)]
6534pub struct TPM2B_SENSITIVE {
6535 pub size: UINT16,
6536 pub sensitiveArea: TPMT_SENSITIVE,
6537}
6538#[test]
6539fn bindgen_test_layout_TPM2B_SENSITIVE() {
6540 const UNINIT: ::std::mem::MaybeUninit<TPM2B_SENSITIVE> = ::std::mem::MaybeUninit::uninit();
6541 let ptr = UNINIT.as_ptr();
6542 assert_eq!(
6543 ::std::mem::size_of::<TPM2B_SENSITIVE>(),
6544 1418usize,
6545 concat!("Size of: ", stringify!(TPM2B_SENSITIVE))
6546 );
6547 assert_eq!(
6548 ::std::mem::align_of::<TPM2B_SENSITIVE>(),
6549 2usize,
6550 concat!("Alignment of ", stringify!(TPM2B_SENSITIVE))
6551 );
6552 assert_eq!(
6553 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6554 0usize,
6555 concat!(
6556 "Offset of field: ",
6557 stringify!(TPM2B_SENSITIVE),
6558 "::",
6559 stringify!(size)
6560 )
6561 );
6562 assert_eq!(
6563 unsafe { ::std::ptr::addr_of!((*ptr).sensitiveArea) as usize - ptr as usize },
6564 2usize,
6565 concat!(
6566 "Offset of field: ",
6567 stringify!(TPM2B_SENSITIVE),
6568 "::",
6569 stringify!(sensitiveArea)
6570 )
6571 );
6572}
6573impl Default for TPM2B_SENSITIVE {
6574 fn default() -> Self {
6575 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6576 unsafe {
6577 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6578 s.assume_init()
6579 }
6580 }
6581}
6582#[repr(C)]
6583#[derive(Copy, Clone)]
6584pub struct _PRIVATE {
6585 pub integrityOuter: TPM2B_DIGEST,
6586 pub integrityInner: TPM2B_DIGEST,
6587 pub sensitive: TPM2B_SENSITIVE,
6588}
6589#[test]
6590fn bindgen_test_layout__PRIVATE() {
6591 const UNINIT: ::std::mem::MaybeUninit<_PRIVATE> = ::std::mem::MaybeUninit::uninit();
6592 let ptr = UNINIT.as_ptr();
6593 assert_eq!(
6594 ::std::mem::size_of::<_PRIVATE>(),
6595 1550usize,
6596 concat!("Size of: ", stringify!(_PRIVATE))
6597 );
6598 assert_eq!(
6599 ::std::mem::align_of::<_PRIVATE>(),
6600 2usize,
6601 concat!("Alignment of ", stringify!(_PRIVATE))
6602 );
6603 assert_eq!(
6604 unsafe { ::std::ptr::addr_of!((*ptr).integrityOuter) as usize - ptr as usize },
6605 0usize,
6606 concat!(
6607 "Offset of field: ",
6608 stringify!(_PRIVATE),
6609 "::",
6610 stringify!(integrityOuter)
6611 )
6612 );
6613 assert_eq!(
6614 unsafe { ::std::ptr::addr_of!((*ptr).integrityInner) as usize - ptr as usize },
6615 66usize,
6616 concat!(
6617 "Offset of field: ",
6618 stringify!(_PRIVATE),
6619 "::",
6620 stringify!(integrityInner)
6621 )
6622 );
6623 assert_eq!(
6624 unsafe { ::std::ptr::addr_of!((*ptr).sensitive) as usize - ptr as usize },
6625 132usize,
6626 concat!(
6627 "Offset of field: ",
6628 stringify!(_PRIVATE),
6629 "::",
6630 stringify!(sensitive)
6631 )
6632 );
6633}
6634impl Default for _PRIVATE {
6635 fn default() -> Self {
6636 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6637 unsafe {
6638 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6639 s.assume_init()
6640 }
6641 }
6642}
6643#[repr(C)]
6644#[derive(Debug, Copy, Clone)]
6645pub struct TPM2B_PRIVATE {
6646 pub size: UINT16,
6647 pub buffer: [BYTE; 1550usize],
6648}
6649#[test]
6650fn bindgen_test_layout_TPM2B_PRIVATE() {
6651 const UNINIT: ::std::mem::MaybeUninit<TPM2B_PRIVATE> = ::std::mem::MaybeUninit::uninit();
6652 let ptr = UNINIT.as_ptr();
6653 assert_eq!(
6654 ::std::mem::size_of::<TPM2B_PRIVATE>(),
6655 1552usize,
6656 concat!("Size of: ", stringify!(TPM2B_PRIVATE))
6657 );
6658 assert_eq!(
6659 ::std::mem::align_of::<TPM2B_PRIVATE>(),
6660 2usize,
6661 concat!("Alignment of ", stringify!(TPM2B_PRIVATE))
6662 );
6663 assert_eq!(
6664 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6665 0usize,
6666 concat!(
6667 "Offset of field: ",
6668 stringify!(TPM2B_PRIVATE),
6669 "::",
6670 stringify!(size)
6671 )
6672 );
6673 assert_eq!(
6674 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
6675 2usize,
6676 concat!(
6677 "Offset of field: ",
6678 stringify!(TPM2B_PRIVATE),
6679 "::",
6680 stringify!(buffer)
6681 )
6682 );
6683}
6684impl Default for TPM2B_PRIVATE {
6685 fn default() -> Self {
6686 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6687 unsafe {
6688 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6689 s.assume_init()
6690 }
6691 }
6692}
6693#[repr(C)]
6694#[derive(Debug, Copy, Clone)]
6695pub struct TPMS_ID_OBJECT {
6696 pub integrityHMAC: TPM2B_DIGEST,
6697 pub encIdentity: TPM2B_DIGEST,
6698}
6699#[test]
6700fn bindgen_test_layout_TPMS_ID_OBJECT() {
6701 const UNINIT: ::std::mem::MaybeUninit<TPMS_ID_OBJECT> = ::std::mem::MaybeUninit::uninit();
6702 let ptr = UNINIT.as_ptr();
6703 assert_eq!(
6704 ::std::mem::size_of::<TPMS_ID_OBJECT>(),
6705 132usize,
6706 concat!("Size of: ", stringify!(TPMS_ID_OBJECT))
6707 );
6708 assert_eq!(
6709 ::std::mem::align_of::<TPMS_ID_OBJECT>(),
6710 2usize,
6711 concat!("Alignment of ", stringify!(TPMS_ID_OBJECT))
6712 );
6713 assert_eq!(
6714 unsafe { ::std::ptr::addr_of!((*ptr).integrityHMAC) as usize - ptr as usize },
6715 0usize,
6716 concat!(
6717 "Offset of field: ",
6718 stringify!(TPMS_ID_OBJECT),
6719 "::",
6720 stringify!(integrityHMAC)
6721 )
6722 );
6723 assert_eq!(
6724 unsafe { ::std::ptr::addr_of!((*ptr).encIdentity) as usize - ptr as usize },
6725 66usize,
6726 concat!(
6727 "Offset of field: ",
6728 stringify!(TPMS_ID_OBJECT),
6729 "::",
6730 stringify!(encIdentity)
6731 )
6732 );
6733}
6734impl Default for TPMS_ID_OBJECT {
6735 fn default() -> Self {
6736 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6737 unsafe {
6738 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6739 s.assume_init()
6740 }
6741 }
6742}
6743#[repr(C)]
6744#[derive(Debug, Copy, Clone)]
6745pub struct TPM2B_ID_OBJECT {
6746 pub size: UINT16,
6747 pub credential: [BYTE; 132usize],
6748}
6749#[test]
6750fn bindgen_test_layout_TPM2B_ID_OBJECT() {
6751 const UNINIT: ::std::mem::MaybeUninit<TPM2B_ID_OBJECT> = ::std::mem::MaybeUninit::uninit();
6752 let ptr = UNINIT.as_ptr();
6753 assert_eq!(
6754 ::std::mem::size_of::<TPM2B_ID_OBJECT>(),
6755 134usize,
6756 concat!("Size of: ", stringify!(TPM2B_ID_OBJECT))
6757 );
6758 assert_eq!(
6759 ::std::mem::align_of::<TPM2B_ID_OBJECT>(),
6760 2usize,
6761 concat!("Alignment of ", stringify!(TPM2B_ID_OBJECT))
6762 );
6763 assert_eq!(
6764 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6765 0usize,
6766 concat!(
6767 "Offset of field: ",
6768 stringify!(TPM2B_ID_OBJECT),
6769 "::",
6770 stringify!(size)
6771 )
6772 );
6773 assert_eq!(
6774 unsafe { ::std::ptr::addr_of!((*ptr).credential) as usize - ptr as usize },
6775 2usize,
6776 concat!(
6777 "Offset of field: ",
6778 stringify!(TPM2B_ID_OBJECT),
6779 "::",
6780 stringify!(credential)
6781 )
6782 );
6783}
6784impl Default for TPM2B_ID_OBJECT {
6785 fn default() -> Self {
6786 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6787 unsafe {
6788 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6789 s.assume_init()
6790 }
6791 }
6792}
6793pub type TPM2_NV_INDEX = u32;
6794pub type TPM2_NT = UINT8;
6795#[repr(C)]
6796#[derive(Debug, Default, Copy, Clone)]
6797pub struct TPMS_NV_PIN_COUNTER_PARAMETERS {
6798 pub pinCount: UINT32,
6799 pub pinLimit: UINT32,
6800}
6801#[test]
6802fn bindgen_test_layout_TPMS_NV_PIN_COUNTER_PARAMETERS() {
6803 const UNINIT: ::std::mem::MaybeUninit<TPMS_NV_PIN_COUNTER_PARAMETERS> =
6804 ::std::mem::MaybeUninit::uninit();
6805 let ptr = UNINIT.as_ptr();
6806 assert_eq!(
6807 ::std::mem::size_of::<TPMS_NV_PIN_COUNTER_PARAMETERS>(),
6808 8usize,
6809 concat!("Size of: ", stringify!(TPMS_NV_PIN_COUNTER_PARAMETERS))
6810 );
6811 assert_eq!(
6812 ::std::mem::align_of::<TPMS_NV_PIN_COUNTER_PARAMETERS>(),
6813 4usize,
6814 concat!("Alignment of ", stringify!(TPMS_NV_PIN_COUNTER_PARAMETERS))
6815 );
6816 assert_eq!(
6817 unsafe { ::std::ptr::addr_of!((*ptr).pinCount) as usize - ptr as usize },
6818 0usize,
6819 concat!(
6820 "Offset of field: ",
6821 stringify!(TPMS_NV_PIN_COUNTER_PARAMETERS),
6822 "::",
6823 stringify!(pinCount)
6824 )
6825 );
6826 assert_eq!(
6827 unsafe { ::std::ptr::addr_of!((*ptr).pinLimit) as usize - ptr as usize },
6828 4usize,
6829 concat!(
6830 "Offset of field: ",
6831 stringify!(TPMS_NV_PIN_COUNTER_PARAMETERS),
6832 "::",
6833 stringify!(pinLimit)
6834 )
6835 );
6836}
6837pub type TPMA_NV = u32;
6838#[repr(C)]
6839#[derive(Debug, Copy, Clone)]
6840pub struct TPMS_NV_PUBLIC {
6841 pub nvIndex: TPMI_RH_NV_INDEX,
6842 pub nameAlg: TPMI_ALG_HASH,
6843 pub attributes: TPMA_NV,
6844 pub authPolicy: TPM2B_DIGEST,
6845 pub dataSize: UINT16,
6846}
6847#[test]
6848fn bindgen_test_layout_TPMS_NV_PUBLIC() {
6849 const UNINIT: ::std::mem::MaybeUninit<TPMS_NV_PUBLIC> = ::std::mem::MaybeUninit::uninit();
6850 let ptr = UNINIT.as_ptr();
6851 assert_eq!(
6852 ::std::mem::size_of::<TPMS_NV_PUBLIC>(),
6853 80usize,
6854 concat!("Size of: ", stringify!(TPMS_NV_PUBLIC))
6855 );
6856 assert_eq!(
6857 ::std::mem::align_of::<TPMS_NV_PUBLIC>(),
6858 4usize,
6859 concat!("Alignment of ", stringify!(TPMS_NV_PUBLIC))
6860 );
6861 assert_eq!(
6862 unsafe { ::std::ptr::addr_of!((*ptr).nvIndex) as usize - ptr as usize },
6863 0usize,
6864 concat!(
6865 "Offset of field: ",
6866 stringify!(TPMS_NV_PUBLIC),
6867 "::",
6868 stringify!(nvIndex)
6869 )
6870 );
6871 assert_eq!(
6872 unsafe { ::std::ptr::addr_of!((*ptr).nameAlg) as usize - ptr as usize },
6873 4usize,
6874 concat!(
6875 "Offset of field: ",
6876 stringify!(TPMS_NV_PUBLIC),
6877 "::",
6878 stringify!(nameAlg)
6879 )
6880 );
6881 assert_eq!(
6882 unsafe { ::std::ptr::addr_of!((*ptr).attributes) as usize - ptr as usize },
6883 8usize,
6884 concat!(
6885 "Offset of field: ",
6886 stringify!(TPMS_NV_PUBLIC),
6887 "::",
6888 stringify!(attributes)
6889 )
6890 );
6891 assert_eq!(
6892 unsafe { ::std::ptr::addr_of!((*ptr).authPolicy) as usize - ptr as usize },
6893 12usize,
6894 concat!(
6895 "Offset of field: ",
6896 stringify!(TPMS_NV_PUBLIC),
6897 "::",
6898 stringify!(authPolicy)
6899 )
6900 );
6901 assert_eq!(
6902 unsafe { ::std::ptr::addr_of!((*ptr).dataSize) as usize - ptr as usize },
6903 78usize,
6904 concat!(
6905 "Offset of field: ",
6906 stringify!(TPMS_NV_PUBLIC),
6907 "::",
6908 stringify!(dataSize)
6909 )
6910 );
6911}
6912impl Default for TPMS_NV_PUBLIC {
6913 fn default() -> Self {
6914 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6915 unsafe {
6916 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6917 s.assume_init()
6918 }
6919 }
6920}
6921#[repr(C)]
6922#[derive(Debug, Copy, Clone)]
6923pub struct TPM2B_NV_PUBLIC {
6924 pub size: UINT16,
6925 pub nvPublic: TPMS_NV_PUBLIC,
6926}
6927#[test]
6928fn bindgen_test_layout_TPM2B_NV_PUBLIC() {
6929 const UNINIT: ::std::mem::MaybeUninit<TPM2B_NV_PUBLIC> = ::std::mem::MaybeUninit::uninit();
6930 let ptr = UNINIT.as_ptr();
6931 assert_eq!(
6932 ::std::mem::size_of::<TPM2B_NV_PUBLIC>(),
6933 84usize,
6934 concat!("Size of: ", stringify!(TPM2B_NV_PUBLIC))
6935 );
6936 assert_eq!(
6937 ::std::mem::align_of::<TPM2B_NV_PUBLIC>(),
6938 4usize,
6939 concat!("Alignment of ", stringify!(TPM2B_NV_PUBLIC))
6940 );
6941 assert_eq!(
6942 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6943 0usize,
6944 concat!(
6945 "Offset of field: ",
6946 stringify!(TPM2B_NV_PUBLIC),
6947 "::",
6948 stringify!(size)
6949 )
6950 );
6951 assert_eq!(
6952 unsafe { ::std::ptr::addr_of!((*ptr).nvPublic) as usize - ptr as usize },
6953 4usize,
6954 concat!(
6955 "Offset of field: ",
6956 stringify!(TPM2B_NV_PUBLIC),
6957 "::",
6958 stringify!(nvPublic)
6959 )
6960 );
6961}
6962impl Default for TPM2B_NV_PUBLIC {
6963 fn default() -> Self {
6964 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6965 unsafe {
6966 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6967 s.assume_init()
6968 }
6969 }
6970}
6971#[repr(C)]
6972#[derive(Debug, Copy, Clone)]
6973pub struct TPM2B_CONTEXT_SENSITIVE {
6974 pub size: UINT16,
6975 pub buffer: [BYTE; 5120usize],
6976}
6977#[test]
6978fn bindgen_test_layout_TPM2B_CONTEXT_SENSITIVE() {
6979 const UNINIT: ::std::mem::MaybeUninit<TPM2B_CONTEXT_SENSITIVE> =
6980 ::std::mem::MaybeUninit::uninit();
6981 let ptr = UNINIT.as_ptr();
6982 assert_eq!(
6983 ::std::mem::size_of::<TPM2B_CONTEXT_SENSITIVE>(),
6984 5122usize,
6985 concat!("Size of: ", stringify!(TPM2B_CONTEXT_SENSITIVE))
6986 );
6987 assert_eq!(
6988 ::std::mem::align_of::<TPM2B_CONTEXT_SENSITIVE>(),
6989 2usize,
6990 concat!("Alignment of ", stringify!(TPM2B_CONTEXT_SENSITIVE))
6991 );
6992 assert_eq!(
6993 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6994 0usize,
6995 concat!(
6996 "Offset of field: ",
6997 stringify!(TPM2B_CONTEXT_SENSITIVE),
6998 "::",
6999 stringify!(size)
7000 )
7001 );
7002 assert_eq!(
7003 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
7004 2usize,
7005 concat!(
7006 "Offset of field: ",
7007 stringify!(TPM2B_CONTEXT_SENSITIVE),
7008 "::",
7009 stringify!(buffer)
7010 )
7011 );
7012}
7013impl Default for TPM2B_CONTEXT_SENSITIVE {
7014 fn default() -> Self {
7015 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7016 unsafe {
7017 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7018 s.assume_init()
7019 }
7020 }
7021}
7022#[repr(C)]
7023#[derive(Debug, Copy, Clone)]
7024pub struct TPMS_CONTEXT_DATA {
7025 pub integrity: TPM2B_DIGEST,
7026 pub encrypted: TPM2B_CONTEXT_SENSITIVE,
7027}
7028#[test]
7029fn bindgen_test_layout_TPMS_CONTEXT_DATA() {
7030 const UNINIT: ::std::mem::MaybeUninit<TPMS_CONTEXT_DATA> = ::std::mem::MaybeUninit::uninit();
7031 let ptr = UNINIT.as_ptr();
7032 assert_eq!(
7033 ::std::mem::size_of::<TPMS_CONTEXT_DATA>(),
7034 5188usize,
7035 concat!("Size of: ", stringify!(TPMS_CONTEXT_DATA))
7036 );
7037 assert_eq!(
7038 ::std::mem::align_of::<TPMS_CONTEXT_DATA>(),
7039 2usize,
7040 concat!("Alignment of ", stringify!(TPMS_CONTEXT_DATA))
7041 );
7042 assert_eq!(
7043 unsafe { ::std::ptr::addr_of!((*ptr).integrity) as usize - ptr as usize },
7044 0usize,
7045 concat!(
7046 "Offset of field: ",
7047 stringify!(TPMS_CONTEXT_DATA),
7048 "::",
7049 stringify!(integrity)
7050 )
7051 );
7052 assert_eq!(
7053 unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
7054 66usize,
7055 concat!(
7056 "Offset of field: ",
7057 stringify!(TPMS_CONTEXT_DATA),
7058 "::",
7059 stringify!(encrypted)
7060 )
7061 );
7062}
7063impl Default for TPMS_CONTEXT_DATA {
7064 fn default() -> Self {
7065 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7066 unsafe {
7067 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7068 s.assume_init()
7069 }
7070 }
7071}
7072#[repr(C)]
7073#[derive(Debug, Copy, Clone)]
7074pub struct TPM2B_CONTEXT_DATA {
7075 pub size: UINT16,
7076 pub buffer: [BYTE; 5188usize],
7077}
7078#[test]
7079fn bindgen_test_layout_TPM2B_CONTEXT_DATA() {
7080 const UNINIT: ::std::mem::MaybeUninit<TPM2B_CONTEXT_DATA> = ::std::mem::MaybeUninit::uninit();
7081 let ptr = UNINIT.as_ptr();
7082 assert_eq!(
7083 ::std::mem::size_of::<TPM2B_CONTEXT_DATA>(),
7084 5190usize,
7085 concat!("Size of: ", stringify!(TPM2B_CONTEXT_DATA))
7086 );
7087 assert_eq!(
7088 ::std::mem::align_of::<TPM2B_CONTEXT_DATA>(),
7089 2usize,
7090 concat!("Alignment of ", stringify!(TPM2B_CONTEXT_DATA))
7091 );
7092 assert_eq!(
7093 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
7094 0usize,
7095 concat!(
7096 "Offset of field: ",
7097 stringify!(TPM2B_CONTEXT_DATA),
7098 "::",
7099 stringify!(size)
7100 )
7101 );
7102 assert_eq!(
7103 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
7104 2usize,
7105 concat!(
7106 "Offset of field: ",
7107 stringify!(TPM2B_CONTEXT_DATA),
7108 "::",
7109 stringify!(buffer)
7110 )
7111 );
7112}
7113impl Default for TPM2B_CONTEXT_DATA {
7114 fn default() -> Self {
7115 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7116 unsafe {
7117 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7118 s.assume_init()
7119 }
7120 }
7121}
7122#[repr(C)]
7123#[derive(Debug, Copy, Clone)]
7124pub struct TPMS_CONTEXT {
7125 pub sequence: UINT64,
7126 pub savedHandle: TPMI_DH_CONTEXT,
7127 pub hierarchy: TPMI_RH_HIERARCHY,
7128 pub contextBlob: TPM2B_CONTEXT_DATA,
7129}
7130#[test]
7131fn bindgen_test_layout_TPMS_CONTEXT() {
7132 const UNINIT: ::std::mem::MaybeUninit<TPMS_CONTEXT> = ::std::mem::MaybeUninit::uninit();
7133 let ptr = UNINIT.as_ptr();
7134 assert_eq!(
7135 ::std::mem::size_of::<TPMS_CONTEXT>(),
7136 5208usize,
7137 concat!("Size of: ", stringify!(TPMS_CONTEXT))
7138 );
7139 assert_eq!(
7140 ::std::mem::align_of::<TPMS_CONTEXT>(),
7141 8usize,
7142 concat!("Alignment of ", stringify!(TPMS_CONTEXT))
7143 );
7144 assert_eq!(
7145 unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
7146 0usize,
7147 concat!(
7148 "Offset of field: ",
7149 stringify!(TPMS_CONTEXT),
7150 "::",
7151 stringify!(sequence)
7152 )
7153 );
7154 assert_eq!(
7155 unsafe { ::std::ptr::addr_of!((*ptr).savedHandle) as usize - ptr as usize },
7156 8usize,
7157 concat!(
7158 "Offset of field: ",
7159 stringify!(TPMS_CONTEXT),
7160 "::",
7161 stringify!(savedHandle)
7162 )
7163 );
7164 assert_eq!(
7165 unsafe { ::std::ptr::addr_of!((*ptr).hierarchy) as usize - ptr as usize },
7166 12usize,
7167 concat!(
7168 "Offset of field: ",
7169 stringify!(TPMS_CONTEXT),
7170 "::",
7171 stringify!(hierarchy)
7172 )
7173 );
7174 assert_eq!(
7175 unsafe { ::std::ptr::addr_of!((*ptr).contextBlob) as usize - ptr as usize },
7176 16usize,
7177 concat!(
7178 "Offset of field: ",
7179 stringify!(TPMS_CONTEXT),
7180 "::",
7181 stringify!(contextBlob)
7182 )
7183 );
7184}
7185impl Default for TPMS_CONTEXT {
7186 fn default() -> Self {
7187 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7188 unsafe {
7189 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7190 s.assume_init()
7191 }
7192 }
7193}
7194#[repr(C)]
7195#[derive(Debug, Copy, Clone)]
7196pub struct TPMS_CREATION_DATA {
7197 pub pcrSelect: TPML_PCR_SELECTION,
7198 pub pcrDigest: TPM2B_DIGEST,
7199 pub locality: TPMA_LOCALITY,
7200 pub parentNameAlg: TPM2_ALG_ID,
7201 pub parentName: TPM2B_NAME,
7202 pub parentQualifiedName: TPM2B_NAME,
7203 pub outsideInfo: TPM2B_DATA,
7204}
7205#[test]
7206fn bindgen_test_layout_TPMS_CREATION_DATA() {
7207 const UNINIT: ::std::mem::MaybeUninit<TPMS_CREATION_DATA> = ::std::mem::MaybeUninit::uninit();
7208 let ptr = UNINIT.as_ptr();
7209 assert_eq!(
7210 ::std::mem::size_of::<TPMS_CREATION_DATA>(),
7211 408usize,
7212 concat!("Size of: ", stringify!(TPMS_CREATION_DATA))
7213 );
7214 assert_eq!(
7215 ::std::mem::align_of::<TPMS_CREATION_DATA>(),
7216 4usize,
7217 concat!("Alignment of ", stringify!(TPMS_CREATION_DATA))
7218 );
7219 assert_eq!(
7220 unsafe { ::std::ptr::addr_of!((*ptr).pcrSelect) as usize - ptr as usize },
7221 0usize,
7222 concat!(
7223 "Offset of field: ",
7224 stringify!(TPMS_CREATION_DATA),
7225 "::",
7226 stringify!(pcrSelect)
7227 )
7228 );
7229 assert_eq!(
7230 unsafe { ::std::ptr::addr_of!((*ptr).pcrDigest) as usize - ptr as usize },
7231 132usize,
7232 concat!(
7233 "Offset of field: ",
7234 stringify!(TPMS_CREATION_DATA),
7235 "::",
7236 stringify!(pcrDigest)
7237 )
7238 );
7239 assert_eq!(
7240 unsafe { ::std::ptr::addr_of!((*ptr).locality) as usize - ptr as usize },
7241 198usize,
7242 concat!(
7243 "Offset of field: ",
7244 stringify!(TPMS_CREATION_DATA),
7245 "::",
7246 stringify!(locality)
7247 )
7248 );
7249 assert_eq!(
7250 unsafe { ::std::ptr::addr_of!((*ptr).parentNameAlg) as usize - ptr as usize },
7251 200usize,
7252 concat!(
7253 "Offset of field: ",
7254 stringify!(TPMS_CREATION_DATA),
7255 "::",
7256 stringify!(parentNameAlg)
7257 )
7258 );
7259 assert_eq!(
7260 unsafe { ::std::ptr::addr_of!((*ptr).parentName) as usize - ptr as usize },
7261 202usize,
7262 concat!(
7263 "Offset of field: ",
7264 stringify!(TPMS_CREATION_DATA),
7265 "::",
7266 stringify!(parentName)
7267 )
7268 );
7269 assert_eq!(
7270 unsafe { ::std::ptr::addr_of!((*ptr).parentQualifiedName) as usize - ptr as usize },
7271 272usize,
7272 concat!(
7273 "Offset of field: ",
7274 stringify!(TPMS_CREATION_DATA),
7275 "::",
7276 stringify!(parentQualifiedName)
7277 )
7278 );
7279 assert_eq!(
7280 unsafe { ::std::ptr::addr_of!((*ptr).outsideInfo) as usize - ptr as usize },
7281 342usize,
7282 concat!(
7283 "Offset of field: ",
7284 stringify!(TPMS_CREATION_DATA),
7285 "::",
7286 stringify!(outsideInfo)
7287 )
7288 );
7289}
7290impl Default for TPMS_CREATION_DATA {
7291 fn default() -> Self {
7292 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7293 unsafe {
7294 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7295 s.assume_init()
7296 }
7297 }
7298}
7299#[repr(C)]
7300#[derive(Debug, Copy, Clone)]
7301pub struct TPM2B_CREATION_DATA {
7302 pub size: UINT16,
7303 pub creationData: TPMS_CREATION_DATA,
7304}
7305#[test]
7306fn bindgen_test_layout_TPM2B_CREATION_DATA() {
7307 const UNINIT: ::std::mem::MaybeUninit<TPM2B_CREATION_DATA> = ::std::mem::MaybeUninit::uninit();
7308 let ptr = UNINIT.as_ptr();
7309 assert_eq!(
7310 ::std::mem::size_of::<TPM2B_CREATION_DATA>(),
7311 412usize,
7312 concat!("Size of: ", stringify!(TPM2B_CREATION_DATA))
7313 );
7314 assert_eq!(
7315 ::std::mem::align_of::<TPM2B_CREATION_DATA>(),
7316 4usize,
7317 concat!("Alignment of ", stringify!(TPM2B_CREATION_DATA))
7318 );
7319 assert_eq!(
7320 unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
7321 0usize,
7322 concat!(
7323 "Offset of field: ",
7324 stringify!(TPM2B_CREATION_DATA),
7325 "::",
7326 stringify!(size)
7327 )
7328 );
7329 assert_eq!(
7330 unsafe { ::std::ptr::addr_of!((*ptr).creationData) as usize - ptr as usize },
7331 4usize,
7332 concat!(
7333 "Offset of field: ",
7334 stringify!(TPM2B_CREATION_DATA),
7335 "::",
7336 stringify!(creationData)
7337 )
7338 );
7339}
7340impl Default for TPM2B_CREATION_DATA {
7341 fn default() -> Self {
7342 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7343 unsafe {
7344 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7345 s.assume_init()
7346 }
7347 }
7348}
7349pub type TPM_AT = UINT32;
7350pub type TPM_EA = UINT32;
7351pub type TPMI_RH_AC = TPM2_HANDLE;
7352#[repr(C)]
7353#[derive(Debug, Default, Copy, Clone)]
7354pub struct TPMS_AC_OUTPUT {
7355 pub tag: TPM_AT,
7356 pub data: UINT32,
7357}
7358#[test]
7359fn bindgen_test_layout_TPMS_AC_OUTPUT() {
7360 const UNINIT: ::std::mem::MaybeUninit<TPMS_AC_OUTPUT> = ::std::mem::MaybeUninit::uninit();
7361 let ptr = UNINIT.as_ptr();
7362 assert_eq!(
7363 ::std::mem::size_of::<TPMS_AC_OUTPUT>(),
7364 8usize,
7365 concat!("Size of: ", stringify!(TPMS_AC_OUTPUT))
7366 );
7367 assert_eq!(
7368 ::std::mem::align_of::<TPMS_AC_OUTPUT>(),
7369 4usize,
7370 concat!("Alignment of ", stringify!(TPMS_AC_OUTPUT))
7371 );
7372 assert_eq!(
7373 unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
7374 0usize,
7375 concat!(
7376 "Offset of field: ",
7377 stringify!(TPMS_AC_OUTPUT),
7378 "::",
7379 stringify!(tag)
7380 )
7381 );
7382 assert_eq!(
7383 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
7384 4usize,
7385 concat!(
7386 "Offset of field: ",
7387 stringify!(TPMS_AC_OUTPUT),
7388 "::",
7389 stringify!(data)
7390 )
7391 );
7392}
7393#[repr(C)]
7394#[derive(Debug, Copy, Clone)]
7395pub struct TPML_AC_CAPABILITIES {
7396 pub count: UINT32,
7397 pub acCapabilities: [TPMS_AC_OUTPUT; 128usize],
7398}
7399#[test]
7400fn bindgen_test_layout_TPML_AC_CAPABILITIES() {
7401 const UNINIT: ::std::mem::MaybeUninit<TPML_AC_CAPABILITIES> = ::std::mem::MaybeUninit::uninit();
7402 let ptr = UNINIT.as_ptr();
7403 assert_eq!(
7404 ::std::mem::size_of::<TPML_AC_CAPABILITIES>(),
7405 1028usize,
7406 concat!("Size of: ", stringify!(TPML_AC_CAPABILITIES))
7407 );
7408 assert_eq!(
7409 ::std::mem::align_of::<TPML_AC_CAPABILITIES>(),
7410 4usize,
7411 concat!("Alignment of ", stringify!(TPML_AC_CAPABILITIES))
7412 );
7413 assert_eq!(
7414 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
7415 0usize,
7416 concat!(
7417 "Offset of field: ",
7418 stringify!(TPML_AC_CAPABILITIES),
7419 "::",
7420 stringify!(count)
7421 )
7422 );
7423 assert_eq!(
7424 unsafe { ::std::ptr::addr_of!((*ptr).acCapabilities) as usize - ptr as usize },
7425 4usize,
7426 concat!(
7427 "Offset of field: ",
7428 stringify!(TPML_AC_CAPABILITIES),
7429 "::",
7430 stringify!(acCapabilities)
7431 )
7432 );
7433}
7434impl Default for TPML_AC_CAPABILITIES {
7435 fn default() -> Self {
7436 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7437 unsafe {
7438 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7439 s.assume_init()
7440 }
7441 }
7442}
7443pub type nfds_t = ::std::os::raw::c_ulong;
7444#[repr(C)]
7445#[derive(Debug, Default, Copy, Clone)]
7446pub struct pollfd {
7447 pub fd: ::std::os::raw::c_int,
7448 pub events: ::std::os::raw::c_short,
7449 pub revents: ::std::os::raw::c_short,
7450}
7451#[test]
7452fn bindgen_test_layout_pollfd() {
7453 const UNINIT: ::std::mem::MaybeUninit<pollfd> = ::std::mem::MaybeUninit::uninit();
7454 let ptr = UNINIT.as_ptr();
7455 assert_eq!(
7456 ::std::mem::size_of::<pollfd>(),
7457 8usize,
7458 concat!("Size of: ", stringify!(pollfd))
7459 );
7460 assert_eq!(
7461 ::std::mem::align_of::<pollfd>(),
7462 4usize,
7463 concat!("Alignment of ", stringify!(pollfd))
7464 );
7465 assert_eq!(
7466 unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
7467 0usize,
7468 concat!(
7469 "Offset of field: ",
7470 stringify!(pollfd),
7471 "::",
7472 stringify!(fd)
7473 )
7474 );
7475 assert_eq!(
7476 unsafe { ::std::ptr::addr_of!((*ptr).events) as usize - ptr as usize },
7477 4usize,
7478 concat!(
7479 "Offset of field: ",
7480 stringify!(pollfd),
7481 "::",
7482 stringify!(events)
7483 )
7484 );
7485 assert_eq!(
7486 unsafe { ::std::ptr::addr_of!((*ptr).revents) as usize - ptr as usize },
7487 6usize,
7488 concat!(
7489 "Offset of field: ",
7490 stringify!(pollfd),
7491 "::",
7492 stringify!(revents)
7493 )
7494 );
7495}
7496extern "C" {
7497 pub fn poll(
7498 __fds: *mut pollfd,
7499 __nfds: nfds_t,
7500 __timeout: ::std::os::raw::c_int,
7501 ) -> ::std::os::raw::c_int;
7502}
7503pub type TSS2_TCTI_POLL_HANDLE = pollfd;
7504#[repr(C)]
7505#[derive(Debug, Copy, Clone)]
7506pub struct TSS2_TCTI_OPAQUE_CONTEXT_BLOB {
7507 _unused: [u8; 0],
7508}
7509pub type TSS2_TCTI_CONTEXT = TSS2_TCTI_OPAQUE_CONTEXT_BLOB;
7510pub type TSS2_TCTI_TRANSMIT_FCN = ::std::option::Option<
7511 unsafe extern "C" fn(
7512 tctiContext: *mut TSS2_TCTI_CONTEXT,
7513 size: size_t,
7514 command: *const u8,
7515 ) -> TSS2_RC,
7516>;
7517pub type TSS2_TCTI_RECEIVE_FCN = ::std::option::Option<
7518 unsafe extern "C" fn(
7519 tctiContext: *mut TSS2_TCTI_CONTEXT,
7520 size: *mut size_t,
7521 response: *mut u8,
7522 timeout: i32,
7523 ) -> TSS2_RC,
7524>;
7525pub type TSS2_TCTI_FINALIZE_FCN =
7526 ::std::option::Option<unsafe extern "C" fn(tctiContext: *mut TSS2_TCTI_CONTEXT)>;
7527pub type TSS2_TCTI_CANCEL_FCN =
7528 ::std::option::Option<unsafe extern "C" fn(tctiContext: *mut TSS2_TCTI_CONTEXT) -> TSS2_RC>;
7529pub type TSS2_TCTI_GET_POLL_HANDLES_FCN = ::std::option::Option<
7530 unsafe extern "C" fn(
7531 tctiContext: *mut TSS2_TCTI_CONTEXT,
7532 handles: *mut TSS2_TCTI_POLL_HANDLE,
7533 num_handles: *mut size_t,
7534 ) -> TSS2_RC,
7535>;
7536pub type TSS2_TCTI_SET_LOCALITY_FCN = ::std::option::Option<
7537 unsafe extern "C" fn(tctiContext: *mut TSS2_TCTI_CONTEXT, locality: u8) -> TSS2_RC,
7538>;
7539pub type TSS2_TCTI_MAKE_STICKY_FCN = ::std::option::Option<
7540 unsafe extern "C" fn(
7541 tctiContext: *mut TSS2_TCTI_CONTEXT,
7542 handle: *mut TPM2_HANDLE,
7543 sticky: u8,
7544 ) -> TSS2_RC,
7545>;
7546pub type TSS2_TCTI_INIT_FUNC = ::std::option::Option<
7547 unsafe extern "C" fn(
7548 tctiContext: *mut TSS2_TCTI_CONTEXT,
7549 size: *mut size_t,
7550 config: *const ::std::os::raw::c_char,
7551 ) -> TSS2_RC,
7552>;
7553#[repr(C)]
7554#[derive(Debug, Default, Copy, Clone)]
7555pub struct TSS2_TCTI_CONTEXT_COMMON_V1 {
7556 pub magic: u64,
7557 pub version: u32,
7558 pub transmit: TSS2_TCTI_TRANSMIT_FCN,
7559 pub receive: TSS2_TCTI_RECEIVE_FCN,
7560 pub finalize: TSS2_TCTI_FINALIZE_FCN,
7561 pub cancel: TSS2_TCTI_CANCEL_FCN,
7562 pub getPollHandles: TSS2_TCTI_GET_POLL_HANDLES_FCN,
7563 pub setLocality: TSS2_TCTI_SET_LOCALITY_FCN,
7564}
7565#[test]
7566fn bindgen_test_layout_TSS2_TCTI_CONTEXT_COMMON_V1() {
7567 const UNINIT: ::std::mem::MaybeUninit<TSS2_TCTI_CONTEXT_COMMON_V1> =
7568 ::std::mem::MaybeUninit::uninit();
7569 let ptr = UNINIT.as_ptr();
7570 assert_eq!(
7571 ::std::mem::size_of::<TSS2_TCTI_CONTEXT_COMMON_V1>(),
7572 64usize,
7573 concat!("Size of: ", stringify!(TSS2_TCTI_CONTEXT_COMMON_V1))
7574 );
7575 assert_eq!(
7576 ::std::mem::align_of::<TSS2_TCTI_CONTEXT_COMMON_V1>(),
7577 8usize,
7578 concat!("Alignment of ", stringify!(TSS2_TCTI_CONTEXT_COMMON_V1))
7579 );
7580 assert_eq!(
7581 unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
7582 0usize,
7583 concat!(
7584 "Offset of field: ",
7585 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7586 "::",
7587 stringify!(magic)
7588 )
7589 );
7590 assert_eq!(
7591 unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
7592 8usize,
7593 concat!(
7594 "Offset of field: ",
7595 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7596 "::",
7597 stringify!(version)
7598 )
7599 );
7600 assert_eq!(
7601 unsafe { ::std::ptr::addr_of!((*ptr).transmit) as usize - ptr as usize },
7602 16usize,
7603 concat!(
7604 "Offset of field: ",
7605 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7606 "::",
7607 stringify!(transmit)
7608 )
7609 );
7610 assert_eq!(
7611 unsafe { ::std::ptr::addr_of!((*ptr).receive) as usize - ptr as usize },
7612 24usize,
7613 concat!(
7614 "Offset of field: ",
7615 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7616 "::",
7617 stringify!(receive)
7618 )
7619 );
7620 assert_eq!(
7621 unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
7622 32usize,
7623 concat!(
7624 "Offset of field: ",
7625 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7626 "::",
7627 stringify!(finalize)
7628 )
7629 );
7630 assert_eq!(
7631 unsafe { ::std::ptr::addr_of!((*ptr).cancel) as usize - ptr as usize },
7632 40usize,
7633 concat!(
7634 "Offset of field: ",
7635 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7636 "::",
7637 stringify!(cancel)
7638 )
7639 );
7640 assert_eq!(
7641 unsafe { ::std::ptr::addr_of!((*ptr).getPollHandles) as usize - ptr as usize },
7642 48usize,
7643 concat!(
7644 "Offset of field: ",
7645 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7646 "::",
7647 stringify!(getPollHandles)
7648 )
7649 );
7650 assert_eq!(
7651 unsafe { ::std::ptr::addr_of!((*ptr).setLocality) as usize - ptr as usize },
7652 56usize,
7653 concat!(
7654 "Offset of field: ",
7655 stringify!(TSS2_TCTI_CONTEXT_COMMON_V1),
7656 "::",
7657 stringify!(setLocality)
7658 )
7659 );
7660}
7661#[repr(C)]
7662#[derive(Debug, Default, Copy, Clone)]
7663pub struct TSS2_TCTI_CONTEXT_COMMON_V2 {
7664 pub v1: TSS2_TCTI_CONTEXT_COMMON_V1,
7665 pub makeSticky: TSS2_TCTI_MAKE_STICKY_FCN,
7666}
7667#[test]
7668fn bindgen_test_layout_TSS2_TCTI_CONTEXT_COMMON_V2() {
7669 const UNINIT: ::std::mem::MaybeUninit<TSS2_TCTI_CONTEXT_COMMON_V2> =
7670 ::std::mem::MaybeUninit::uninit();
7671 let ptr = UNINIT.as_ptr();
7672 assert_eq!(
7673 ::std::mem::size_of::<TSS2_TCTI_CONTEXT_COMMON_V2>(),
7674 72usize,
7675 concat!("Size of: ", stringify!(TSS2_TCTI_CONTEXT_COMMON_V2))
7676 );
7677 assert_eq!(
7678 ::std::mem::align_of::<TSS2_TCTI_CONTEXT_COMMON_V2>(),
7679 8usize,
7680 concat!("Alignment of ", stringify!(TSS2_TCTI_CONTEXT_COMMON_V2))
7681 );
7682 assert_eq!(
7683 unsafe { ::std::ptr::addr_of!((*ptr).v1) as usize - ptr as usize },
7684 0usize,
7685 concat!(
7686 "Offset of field: ",
7687 stringify!(TSS2_TCTI_CONTEXT_COMMON_V2),
7688 "::",
7689 stringify!(v1)
7690 )
7691 );
7692 assert_eq!(
7693 unsafe { ::std::ptr::addr_of!((*ptr).makeSticky) as usize - ptr as usize },
7694 64usize,
7695 concat!(
7696 "Offset of field: ",
7697 stringify!(TSS2_TCTI_CONTEXT_COMMON_V2),
7698 "::",
7699 stringify!(makeSticky)
7700 )
7701 );
7702}
7703pub type TSS2_TCTI_CONTEXT_COMMON_CURRENT = TSS2_TCTI_CONTEXT_COMMON_V2;
7704#[repr(C)]
7705#[derive(Debug, Copy, Clone)]
7706pub struct TSS2_TCTI_INFO {
7707 pub version: u32,
7708 pub name: *const ::std::os::raw::c_char,
7709 pub description: *const ::std::os::raw::c_char,
7710 pub config_help: *const ::std::os::raw::c_char,
7711 pub init: TSS2_TCTI_INIT_FUNC,
7712}
7713#[test]
7714fn bindgen_test_layout_TSS2_TCTI_INFO() {
7715 const UNINIT: ::std::mem::MaybeUninit<TSS2_TCTI_INFO> = ::std::mem::MaybeUninit::uninit();
7716 let ptr = UNINIT.as_ptr();
7717 assert_eq!(
7718 ::std::mem::size_of::<TSS2_TCTI_INFO>(),
7719 40usize,
7720 concat!("Size of: ", stringify!(TSS2_TCTI_INFO))
7721 );
7722 assert_eq!(
7723 ::std::mem::align_of::<TSS2_TCTI_INFO>(),
7724 8usize,
7725 concat!("Alignment of ", stringify!(TSS2_TCTI_INFO))
7726 );
7727 assert_eq!(
7728 unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
7729 0usize,
7730 concat!(
7731 "Offset of field: ",
7732 stringify!(TSS2_TCTI_INFO),
7733 "::",
7734 stringify!(version)
7735 )
7736 );
7737 assert_eq!(
7738 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7739 8usize,
7740 concat!(
7741 "Offset of field: ",
7742 stringify!(TSS2_TCTI_INFO),
7743 "::",
7744 stringify!(name)
7745 )
7746 );
7747 assert_eq!(
7748 unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
7749 16usize,
7750 concat!(
7751 "Offset of field: ",
7752 stringify!(TSS2_TCTI_INFO),
7753 "::",
7754 stringify!(description)
7755 )
7756 );
7757 assert_eq!(
7758 unsafe { ::std::ptr::addr_of!((*ptr).config_help) as usize - ptr as usize },
7759 24usize,
7760 concat!(
7761 "Offset of field: ",
7762 stringify!(TSS2_TCTI_INFO),
7763 "::",
7764 stringify!(config_help)
7765 )
7766 );
7767 assert_eq!(
7768 unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
7769 32usize,
7770 concat!(
7771 "Offset of field: ",
7772 stringify!(TSS2_TCTI_INFO),
7773 "::",
7774 stringify!(init)
7775 )
7776 );
7777}
7778impl Default for TSS2_TCTI_INFO {
7779 fn default() -> Self {
7780 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7781 unsafe {
7782 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7783 s.assume_init()
7784 }
7785 }
7786}
7787pub type TSS2_TCTI_INFO_FUNC =
7788 ::std::option::Option<unsafe extern "C" fn() -> *const TSS2_TCTI_INFO>;
7789#[repr(C)]
7790#[derive(Debug, Copy, Clone)]
7791pub struct _TSS2_SYS_OPAQUE_CONTEXT_BLOB {
7792 _unused: [u8; 0],
7793}
7794pub type TSS2_SYS_CONTEXT = _TSS2_SYS_OPAQUE_CONTEXT_BLOB;
7795#[repr(C)]
7796#[derive(Debug, Copy, Clone)]
7797pub struct TSS2L_SYS_AUTH_COMMAND {
7798 pub count: u16,
7799 pub auths: [TPMS_AUTH_COMMAND; 3usize],
7800}
7801#[test]
7802fn bindgen_test_layout_TSS2L_SYS_AUTH_COMMAND() {
7803 const UNINIT: ::std::mem::MaybeUninit<TSS2L_SYS_AUTH_COMMAND> =
7804 ::std::mem::MaybeUninit::uninit();
7805 let ptr = UNINIT.as_ptr();
7806 assert_eq!(
7807 ::std::mem::size_of::<TSS2L_SYS_AUTH_COMMAND>(),
7808 424usize,
7809 concat!("Size of: ", stringify!(TSS2L_SYS_AUTH_COMMAND))
7810 );
7811 assert_eq!(
7812 ::std::mem::align_of::<TSS2L_SYS_AUTH_COMMAND>(),
7813 4usize,
7814 concat!("Alignment of ", stringify!(TSS2L_SYS_AUTH_COMMAND))
7815 );
7816 assert_eq!(
7817 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
7818 0usize,
7819 concat!(
7820 "Offset of field: ",
7821 stringify!(TSS2L_SYS_AUTH_COMMAND),
7822 "::",
7823 stringify!(count)
7824 )
7825 );
7826 assert_eq!(
7827 unsafe { ::std::ptr::addr_of!((*ptr).auths) as usize - ptr as usize },
7828 4usize,
7829 concat!(
7830 "Offset of field: ",
7831 stringify!(TSS2L_SYS_AUTH_COMMAND),
7832 "::",
7833 stringify!(auths)
7834 )
7835 );
7836}
7837impl Default for TSS2L_SYS_AUTH_COMMAND {
7838 fn default() -> Self {
7839 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7840 unsafe {
7841 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7842 s.assume_init()
7843 }
7844 }
7845}
7846#[repr(C)]
7847#[derive(Debug, Copy, Clone)]
7848pub struct TSS2L_SYS_AUTH_RESPONSE {
7849 pub count: u16,
7850 pub auths: [TPMS_AUTH_RESPONSE; 3usize],
7851}
7852#[test]
7853fn bindgen_test_layout_TSS2L_SYS_AUTH_RESPONSE() {
7854 const UNINIT: ::std::mem::MaybeUninit<TSS2L_SYS_AUTH_RESPONSE> =
7855 ::std::mem::MaybeUninit::uninit();
7856 let ptr = UNINIT.as_ptr();
7857 assert_eq!(
7858 ::std::mem::size_of::<TSS2L_SYS_AUTH_RESPONSE>(),
7859 404usize,
7860 concat!("Size of: ", stringify!(TSS2L_SYS_AUTH_RESPONSE))
7861 );
7862 assert_eq!(
7863 ::std::mem::align_of::<TSS2L_SYS_AUTH_RESPONSE>(),
7864 2usize,
7865 concat!("Alignment of ", stringify!(TSS2L_SYS_AUTH_RESPONSE))
7866 );
7867 assert_eq!(
7868 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
7869 0usize,
7870 concat!(
7871 "Offset of field: ",
7872 stringify!(TSS2L_SYS_AUTH_RESPONSE),
7873 "::",
7874 stringify!(count)
7875 )
7876 );
7877 assert_eq!(
7878 unsafe { ::std::ptr::addr_of!((*ptr).auths) as usize - ptr as usize },
7879 2usize,
7880 concat!(
7881 "Offset of field: ",
7882 stringify!(TSS2L_SYS_AUTH_RESPONSE),
7883 "::",
7884 stringify!(auths)
7885 )
7886 );
7887}
7888impl Default for TSS2L_SYS_AUTH_RESPONSE {
7889 fn default() -> Self {
7890 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7891 unsafe {
7892 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7893 s.assume_init()
7894 }
7895 }
7896}
7897extern "C" {
7898 pub fn Tss2_Sys_GetContextSize(maxCommandResponseSize: size_t) -> size_t;
7899}
7900extern "C" {
7901 pub fn Tss2_Sys_Initialize(
7902 sysContext: *mut TSS2_SYS_CONTEXT,
7903 contextSize: size_t,
7904 tctiContext: *mut TSS2_TCTI_CONTEXT,
7905 abiVersion: *mut TSS2_ABI_VERSION,
7906 ) -> TSS2_RC;
7907}
7908extern "C" {
7909 pub fn Tss2_Sys_Finalize(sysContext: *mut TSS2_SYS_CONTEXT);
7910}
7911extern "C" {
7912 pub fn Tss2_Sys_GetTctiContext(
7913 sysContext: *mut TSS2_SYS_CONTEXT,
7914 tctiContext: *mut *mut TSS2_TCTI_CONTEXT,
7915 ) -> TSS2_RC;
7916}
7917extern "C" {
7918 pub fn Tss2_Sys_GetDecryptParam(
7919 sysContext: *mut TSS2_SYS_CONTEXT,
7920 decryptParamSize: *mut size_t,
7921 decryptParamBuffer: *mut *const u8,
7922 ) -> TSS2_RC;
7923}
7924extern "C" {
7925 pub fn Tss2_Sys_SetDecryptParam(
7926 sysContext: *mut TSS2_SYS_CONTEXT,
7927 decryptParamSize: size_t,
7928 decryptParamBuffer: *const u8,
7929 ) -> TSS2_RC;
7930}
7931extern "C" {
7932 pub fn Tss2_Sys_GetCpBuffer(
7933 sysContext: *mut TSS2_SYS_CONTEXT,
7934 cpBufferUsedSize: *mut size_t,
7935 cpBuffer: *mut *const u8,
7936 ) -> TSS2_RC;
7937}
7938extern "C" {
7939 pub fn Tss2_Sys_SetCmdAuths(
7940 sysContext: *mut TSS2_SYS_CONTEXT,
7941 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
7942 ) -> TSS2_RC;
7943}
7944extern "C" {
7945 pub fn Tss2_Sys_ExecuteAsync(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
7946}
7947extern "C" {
7948 pub fn Tss2_Sys_ExecuteFinish(sysContext: *mut TSS2_SYS_CONTEXT, timeout: i32) -> TSS2_RC;
7949}
7950extern "C" {
7951 pub fn Tss2_Sys_Execute(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
7952}
7953extern "C" {
7954 pub fn Tss2_Sys_GetCommandCode(
7955 sysContext: *mut TSS2_SYS_CONTEXT,
7956 commandCode: *mut UINT8,
7957 ) -> TSS2_RC;
7958}
7959extern "C" {
7960 pub fn Tss2_Sys_GetRspAuths(
7961 sysContext: *mut TSS2_SYS_CONTEXT,
7962 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
7963 ) -> TSS2_RC;
7964}
7965extern "C" {
7966 pub fn Tss2_Sys_GetEncryptParam(
7967 sysContext: *mut TSS2_SYS_CONTEXT,
7968 encryptParamSize: *mut size_t,
7969 encryptParamBuffer: *mut *const u8,
7970 ) -> TSS2_RC;
7971}
7972extern "C" {
7973 pub fn Tss2_Sys_SetEncryptParam(
7974 sysContext: *mut TSS2_SYS_CONTEXT,
7975 encryptParamSize: size_t,
7976 encryptParamBuffer: *const u8,
7977 ) -> TSS2_RC;
7978}
7979extern "C" {
7980 pub fn Tss2_Sys_GetRpBuffer(
7981 sysContext: *mut TSS2_SYS_CONTEXT,
7982 rpBufferUsedSize: *mut size_t,
7983 rpBuffer: *mut *const u8,
7984 ) -> TSS2_RC;
7985}
7986extern "C" {
7987 pub fn Tss2_Sys_Startup_Prepare(
7988 sysContext: *mut TSS2_SYS_CONTEXT,
7989 startupType: TPM2_SU,
7990 ) -> TSS2_RC;
7991}
7992extern "C" {
7993 pub fn Tss2_Sys_Startup_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
7994}
7995extern "C" {
7996 pub fn Tss2_Sys_Startup(sysContext: *mut TSS2_SYS_CONTEXT, startupType: TPM2_SU) -> TSS2_RC;
7997}
7998extern "C" {
7999 pub fn Tss2_Sys_Shutdown_Prepare(
8000 sysContext: *mut TSS2_SYS_CONTEXT,
8001 shutdownType: TPM2_SU,
8002 ) -> TSS2_RC;
8003}
8004extern "C" {
8005 pub fn Tss2_Sys_Shutdown_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8006}
8007extern "C" {
8008 pub fn Tss2_Sys_Shutdown(
8009 sysContext: *mut TSS2_SYS_CONTEXT,
8010 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8011 shutdownType: TPM2_SU,
8012 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8013 ) -> TSS2_RC;
8014}
8015extern "C" {
8016 pub fn Tss2_Sys_SelfTest_Prepare(
8017 sysContext: *mut TSS2_SYS_CONTEXT,
8018 fullTest: TPMI_YES_NO,
8019 ) -> TSS2_RC;
8020}
8021extern "C" {
8022 pub fn Tss2_Sys_SelfTest_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8023}
8024extern "C" {
8025 pub fn Tss2_Sys_SelfTest(
8026 sysContext: *mut TSS2_SYS_CONTEXT,
8027 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8028 fullTest: TPMI_YES_NO,
8029 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8030 ) -> TSS2_RC;
8031}
8032extern "C" {
8033 pub fn Tss2_Sys_IncrementalSelfTest_Prepare(
8034 sysContext: *mut TSS2_SYS_CONTEXT,
8035 toTest: *const TPML_ALG,
8036 ) -> TSS2_RC;
8037}
8038extern "C" {
8039 pub fn Tss2_Sys_IncrementalSelfTest_Complete(
8040 sysContext: *mut TSS2_SYS_CONTEXT,
8041 toDoList: *mut TPML_ALG,
8042 ) -> TSS2_RC;
8043}
8044extern "C" {
8045 pub fn Tss2_Sys_IncrementalSelfTest(
8046 sysContext: *mut TSS2_SYS_CONTEXT,
8047 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8048 toTest: *const TPML_ALG,
8049 toDoList: *mut TPML_ALG,
8050 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8051 ) -> TSS2_RC;
8052}
8053extern "C" {
8054 pub fn Tss2_Sys_GetTestResult_Prepare(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8055}
8056extern "C" {
8057 pub fn Tss2_Sys_GetTestResult_Complete(
8058 sysContext: *mut TSS2_SYS_CONTEXT,
8059 outData: *mut TPM2B_MAX_BUFFER,
8060 testResult: *mut TPM2_RC,
8061 ) -> TSS2_RC;
8062}
8063extern "C" {
8064 pub fn Tss2_Sys_GetTestResult(
8065 sysContext: *mut TSS2_SYS_CONTEXT,
8066 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8067 outData: *mut TPM2B_MAX_BUFFER,
8068 testResult: *mut TPM2_RC,
8069 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8070 ) -> TSS2_RC;
8071}
8072extern "C" {
8073 pub fn Tss2_Sys_StartAuthSession_Prepare(
8074 sysContext: *mut TSS2_SYS_CONTEXT,
8075 tpmKey: TPMI_DH_OBJECT,
8076 bind: TPMI_DH_ENTITY,
8077 nonceCaller: *const TPM2B_NONCE,
8078 encryptedSalt: *const TPM2B_ENCRYPTED_SECRET,
8079 sessionType: TPM2_SE,
8080 symmetric: *const TPMT_SYM_DEF,
8081 authHash: TPMI_ALG_HASH,
8082 ) -> TSS2_RC;
8083}
8084extern "C" {
8085 pub fn Tss2_Sys_StartAuthSession_Complete(
8086 sysContext: *mut TSS2_SYS_CONTEXT,
8087 sessionHandle: *mut TPMI_SH_AUTH_SESSION,
8088 nonceTPM: *mut TPM2B_NONCE,
8089 ) -> TSS2_RC;
8090}
8091extern "C" {
8092 pub fn Tss2_Sys_StartAuthSession(
8093 sysContext: *mut TSS2_SYS_CONTEXT,
8094 tpmKey: TPMI_DH_OBJECT,
8095 bind: TPMI_DH_ENTITY,
8096 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8097 nonceCaller: *const TPM2B_NONCE,
8098 encryptedSalt: *const TPM2B_ENCRYPTED_SECRET,
8099 sessionType: TPM2_SE,
8100 symmetric: *const TPMT_SYM_DEF,
8101 authHash: TPMI_ALG_HASH,
8102 sessionHandle: *mut TPMI_SH_AUTH_SESSION,
8103 nonceTPM: *mut TPM2B_NONCE,
8104 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8105 ) -> TSS2_RC;
8106}
8107extern "C" {
8108 pub fn Tss2_Sys_PolicyRestart_Prepare(
8109 sysContext: *mut TSS2_SYS_CONTEXT,
8110 sessionHandle: TPMI_SH_POLICY,
8111 ) -> TSS2_RC;
8112}
8113extern "C" {
8114 pub fn Tss2_Sys_PolicyRestart_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8115}
8116extern "C" {
8117 pub fn Tss2_Sys_PolicyRestart(
8118 sysContext: *mut TSS2_SYS_CONTEXT,
8119 sessionHandle: TPMI_SH_POLICY,
8120 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8121 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8122 ) -> TSS2_RC;
8123}
8124extern "C" {
8125 pub fn Tss2_Sys_Create_Prepare(
8126 sysContext: *mut TSS2_SYS_CONTEXT,
8127 parentHandle: TPMI_DH_OBJECT,
8128 inSensitive: *const TPM2B_SENSITIVE_CREATE,
8129 inPublic: *const TPM2B_PUBLIC,
8130 outsideInfo: *const TPM2B_DATA,
8131 creationPCR: *const TPML_PCR_SELECTION,
8132 ) -> TSS2_RC;
8133}
8134extern "C" {
8135 pub fn Tss2_Sys_Create_Complete(
8136 sysContext: *mut TSS2_SYS_CONTEXT,
8137 outPrivate: *mut TPM2B_PRIVATE,
8138 outPublic: *mut TPM2B_PUBLIC,
8139 creationData: *mut TPM2B_CREATION_DATA,
8140 creationHash: *mut TPM2B_DIGEST,
8141 creationTicket: *mut TPMT_TK_CREATION,
8142 ) -> TSS2_RC;
8143}
8144extern "C" {
8145 pub fn Tss2_Sys_Create(
8146 sysContext: *mut TSS2_SYS_CONTEXT,
8147 parentHandle: TPMI_DH_OBJECT,
8148 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8149 inSensitive: *const TPM2B_SENSITIVE_CREATE,
8150 inPublic: *const TPM2B_PUBLIC,
8151 outsideInfo: *const TPM2B_DATA,
8152 creationPCR: *const TPML_PCR_SELECTION,
8153 outPrivate: *mut TPM2B_PRIVATE,
8154 outPublic: *mut TPM2B_PUBLIC,
8155 creationData: *mut TPM2B_CREATION_DATA,
8156 creationHash: *mut TPM2B_DIGEST,
8157 creationTicket: *mut TPMT_TK_CREATION,
8158 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8159 ) -> TSS2_RC;
8160}
8161extern "C" {
8162 pub fn Tss2_Sys_Load_Prepare(
8163 sysContext: *mut TSS2_SYS_CONTEXT,
8164 parentHandle: TPMI_DH_OBJECT,
8165 inPrivate: *const TPM2B_PRIVATE,
8166 inPublic: *const TPM2B_PUBLIC,
8167 ) -> TSS2_RC;
8168}
8169extern "C" {
8170 pub fn Tss2_Sys_Load_Complete(
8171 sysContext: *mut TSS2_SYS_CONTEXT,
8172 objectHandle: *mut TPM2_HANDLE,
8173 name: *mut TPM2B_NAME,
8174 ) -> TSS2_RC;
8175}
8176extern "C" {
8177 pub fn Tss2_Sys_Load(
8178 sysContext: *mut TSS2_SYS_CONTEXT,
8179 parentHandle: TPMI_DH_OBJECT,
8180 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8181 inPrivate: *const TPM2B_PRIVATE,
8182 inPublic: *const TPM2B_PUBLIC,
8183 objectHandle: *mut TPM2_HANDLE,
8184 name: *mut TPM2B_NAME,
8185 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8186 ) -> TSS2_RC;
8187}
8188extern "C" {
8189 pub fn Tss2_Sys_LoadExternal_Prepare(
8190 sysContext: *mut TSS2_SYS_CONTEXT,
8191 inPrivate: *const TPM2B_SENSITIVE,
8192 inPublic: *const TPM2B_PUBLIC,
8193 hierarchy: TPMI_RH_HIERARCHY,
8194 ) -> TSS2_RC;
8195}
8196extern "C" {
8197 pub fn Tss2_Sys_LoadExternal_Complete(
8198 sysContext: *mut TSS2_SYS_CONTEXT,
8199 objectHandle: *mut TPM2_HANDLE,
8200 name: *mut TPM2B_NAME,
8201 ) -> TSS2_RC;
8202}
8203extern "C" {
8204 pub fn Tss2_Sys_LoadExternal(
8205 sysContext: *mut TSS2_SYS_CONTEXT,
8206 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8207 inPrivate: *const TPM2B_SENSITIVE,
8208 inPublic: *const TPM2B_PUBLIC,
8209 hierarchy: TPMI_RH_HIERARCHY,
8210 objectHandle: *mut TPM2_HANDLE,
8211 name: *mut TPM2B_NAME,
8212 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8213 ) -> TSS2_RC;
8214}
8215extern "C" {
8216 pub fn Tss2_Sys_ReadPublic_Prepare(
8217 sysContext: *mut TSS2_SYS_CONTEXT,
8218 objectHandle: TPMI_DH_OBJECT,
8219 ) -> TSS2_RC;
8220}
8221extern "C" {
8222 pub fn Tss2_Sys_ReadPublic_Complete(
8223 sysContext: *mut TSS2_SYS_CONTEXT,
8224 outPublic: *mut TPM2B_PUBLIC,
8225 name: *mut TPM2B_NAME,
8226 qualifiedName: *mut TPM2B_NAME,
8227 ) -> TSS2_RC;
8228}
8229extern "C" {
8230 pub fn Tss2_Sys_ReadPublic(
8231 sysContext: *mut TSS2_SYS_CONTEXT,
8232 objectHandle: TPMI_DH_OBJECT,
8233 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8234 outPublic: *mut TPM2B_PUBLIC,
8235 name: *mut TPM2B_NAME,
8236 qualifiedName: *mut TPM2B_NAME,
8237 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8238 ) -> TSS2_RC;
8239}
8240extern "C" {
8241 pub fn Tss2_Sys_ActivateCredential_Prepare(
8242 sysContext: *mut TSS2_SYS_CONTEXT,
8243 activateHandle: TPMI_DH_OBJECT,
8244 keyHandle: TPMI_DH_OBJECT,
8245 credentialBlob: *const TPM2B_ID_OBJECT,
8246 secret: *const TPM2B_ENCRYPTED_SECRET,
8247 ) -> TSS2_RC;
8248}
8249extern "C" {
8250 pub fn Tss2_Sys_ActivateCredential_Complete(
8251 sysContext: *mut TSS2_SYS_CONTEXT,
8252 certInfo: *mut TPM2B_DIGEST,
8253 ) -> TSS2_RC;
8254}
8255extern "C" {
8256 pub fn Tss2_Sys_ActivateCredential(
8257 sysContext: *mut TSS2_SYS_CONTEXT,
8258 activateHandle: TPMI_DH_OBJECT,
8259 keyHandle: TPMI_DH_OBJECT,
8260 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8261 credentialBlob: *const TPM2B_ID_OBJECT,
8262 secret: *const TPM2B_ENCRYPTED_SECRET,
8263 certInfo: *mut TPM2B_DIGEST,
8264 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8265 ) -> TSS2_RC;
8266}
8267extern "C" {
8268 pub fn Tss2_Sys_MakeCredential_Prepare(
8269 sysContext: *mut TSS2_SYS_CONTEXT,
8270 handle: TPMI_DH_OBJECT,
8271 credential: *const TPM2B_DIGEST,
8272 objectName: *const TPM2B_NAME,
8273 ) -> TSS2_RC;
8274}
8275extern "C" {
8276 pub fn Tss2_Sys_MakeCredential_Complete(
8277 sysContext: *mut TSS2_SYS_CONTEXT,
8278 credentialBlob: *mut TPM2B_ID_OBJECT,
8279 secret: *mut TPM2B_ENCRYPTED_SECRET,
8280 ) -> TSS2_RC;
8281}
8282extern "C" {
8283 pub fn Tss2_Sys_MakeCredential(
8284 sysContext: *mut TSS2_SYS_CONTEXT,
8285 handle: TPMI_DH_OBJECT,
8286 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8287 credential: *const TPM2B_DIGEST,
8288 objectName: *const TPM2B_NAME,
8289 credentialBlob: *mut TPM2B_ID_OBJECT,
8290 secret: *mut TPM2B_ENCRYPTED_SECRET,
8291 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8292 ) -> TSS2_RC;
8293}
8294extern "C" {
8295 pub fn Tss2_Sys_Unseal_Prepare(
8296 sysContext: *mut TSS2_SYS_CONTEXT,
8297 itemHandle: TPMI_DH_OBJECT,
8298 ) -> TSS2_RC;
8299}
8300extern "C" {
8301 pub fn Tss2_Sys_Unseal_Complete(
8302 sysContext: *mut TSS2_SYS_CONTEXT,
8303 outData: *mut TPM2B_SENSITIVE_DATA,
8304 ) -> TSS2_RC;
8305}
8306extern "C" {
8307 pub fn Tss2_Sys_Unseal(
8308 sysContext: *mut TSS2_SYS_CONTEXT,
8309 itemHandle: TPMI_DH_OBJECT,
8310 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8311 outData: *mut TPM2B_SENSITIVE_DATA,
8312 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8313 ) -> TSS2_RC;
8314}
8315extern "C" {
8316 pub fn Tss2_Sys_ObjectChangeAuth_Prepare(
8317 sysContext: *mut TSS2_SYS_CONTEXT,
8318 objectHandle: TPMI_DH_OBJECT,
8319 parentHandle: TPMI_DH_OBJECT,
8320 newAuth: *const TPM2B_AUTH,
8321 ) -> TSS2_RC;
8322}
8323extern "C" {
8324 pub fn Tss2_Sys_ObjectChangeAuth_Complete(
8325 sysContext: *mut TSS2_SYS_CONTEXT,
8326 outPrivate: *mut TPM2B_PRIVATE,
8327 ) -> TSS2_RC;
8328}
8329extern "C" {
8330 pub fn Tss2_Sys_ObjectChangeAuth(
8331 sysContext: *mut TSS2_SYS_CONTEXT,
8332 objectHandle: TPMI_DH_OBJECT,
8333 parentHandle: TPMI_DH_OBJECT,
8334 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8335 newAuth: *const TPM2B_AUTH,
8336 outPrivate: *mut TPM2B_PRIVATE,
8337 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8338 ) -> TSS2_RC;
8339}
8340extern "C" {
8341 pub fn Tss2_Sys_Duplicate_Prepare(
8342 sysContext: *mut TSS2_SYS_CONTEXT,
8343 objectHandle: TPMI_DH_OBJECT,
8344 newParentHandle: TPMI_DH_OBJECT,
8345 encryptionKeyIn: *const TPM2B_DATA,
8346 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
8347 ) -> TSS2_RC;
8348}
8349extern "C" {
8350 pub fn Tss2_Sys_Duplicate_Complete(
8351 sysContext: *mut TSS2_SYS_CONTEXT,
8352 encryptionKeyOut: *mut TPM2B_DATA,
8353 duplicate: *mut TPM2B_PRIVATE,
8354 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
8355 ) -> TSS2_RC;
8356}
8357extern "C" {
8358 pub fn Tss2_Sys_Duplicate(
8359 sysContext: *mut TSS2_SYS_CONTEXT,
8360 objectHandle: TPMI_DH_OBJECT,
8361 newParentHandle: TPMI_DH_OBJECT,
8362 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8363 encryptionKeyIn: *const TPM2B_DATA,
8364 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
8365 encryptionKeyOut: *mut TPM2B_DATA,
8366 duplicate: *mut TPM2B_PRIVATE,
8367 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
8368 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8369 ) -> TSS2_RC;
8370}
8371extern "C" {
8372 pub fn Tss2_Sys_Rewrap_Prepare(
8373 sysContext: *mut TSS2_SYS_CONTEXT,
8374 oldParent: TPMI_DH_OBJECT,
8375 newParent: TPMI_DH_OBJECT,
8376 inDuplicate: *const TPM2B_PRIVATE,
8377 name: *const TPM2B_NAME,
8378 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
8379 ) -> TSS2_RC;
8380}
8381extern "C" {
8382 pub fn Tss2_Sys_Rewrap_Complete(
8383 sysContext: *mut TSS2_SYS_CONTEXT,
8384 outDuplicate: *mut TPM2B_PRIVATE,
8385 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
8386 ) -> TSS2_RC;
8387}
8388extern "C" {
8389 pub fn Tss2_Sys_Rewrap(
8390 sysContext: *mut TSS2_SYS_CONTEXT,
8391 oldParent: TPMI_DH_OBJECT,
8392 newParent: TPMI_DH_OBJECT,
8393 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8394 inDuplicate: *const TPM2B_PRIVATE,
8395 name: *const TPM2B_NAME,
8396 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
8397 outDuplicate: *mut TPM2B_PRIVATE,
8398 outSymSeed: *mut TPM2B_ENCRYPTED_SECRET,
8399 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8400 ) -> TSS2_RC;
8401}
8402extern "C" {
8403 pub fn Tss2_Sys_Import_Prepare(
8404 sysContext: *mut TSS2_SYS_CONTEXT,
8405 parentHandle: TPMI_DH_OBJECT,
8406 encryptionKey: *const TPM2B_DATA,
8407 objectPublic: *const TPM2B_PUBLIC,
8408 duplicate: *const TPM2B_PRIVATE,
8409 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
8410 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
8411 ) -> TSS2_RC;
8412}
8413extern "C" {
8414 pub fn Tss2_Sys_Import_Complete(
8415 sysContext: *mut TSS2_SYS_CONTEXT,
8416 outPrivate: *mut TPM2B_PRIVATE,
8417 ) -> TSS2_RC;
8418}
8419extern "C" {
8420 pub fn Tss2_Sys_Import(
8421 sysContext: *mut TSS2_SYS_CONTEXT,
8422 parentHandle: TPMI_DH_OBJECT,
8423 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8424 encryptionKey: *const TPM2B_DATA,
8425 objectPublic: *const TPM2B_PUBLIC,
8426 duplicate: *const TPM2B_PRIVATE,
8427 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
8428 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
8429 outPrivate: *mut TPM2B_PRIVATE,
8430 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8431 ) -> TSS2_RC;
8432}
8433extern "C" {
8434 pub fn Tss2_Sys_RSA_Encrypt_Prepare(
8435 sysContext: *mut TSS2_SYS_CONTEXT,
8436 keyHandle: TPMI_DH_OBJECT,
8437 message: *const TPM2B_PUBLIC_KEY_RSA,
8438 inScheme: *const TPMT_RSA_DECRYPT,
8439 label: *const TPM2B_DATA,
8440 ) -> TSS2_RC;
8441}
8442extern "C" {
8443 pub fn Tss2_Sys_RSA_Encrypt_Complete(
8444 sysContext: *mut TSS2_SYS_CONTEXT,
8445 outData: *mut TPM2B_PUBLIC_KEY_RSA,
8446 ) -> TSS2_RC;
8447}
8448extern "C" {
8449 pub fn Tss2_Sys_RSA_Encrypt(
8450 sysContext: *mut TSS2_SYS_CONTEXT,
8451 keyHandle: TPMI_DH_OBJECT,
8452 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8453 message: *const TPM2B_PUBLIC_KEY_RSA,
8454 inScheme: *const TPMT_RSA_DECRYPT,
8455 label: *const TPM2B_DATA,
8456 outData: *mut TPM2B_PUBLIC_KEY_RSA,
8457 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8458 ) -> TSS2_RC;
8459}
8460extern "C" {
8461 pub fn Tss2_Sys_RSA_Decrypt_Prepare(
8462 sysContext: *mut TSS2_SYS_CONTEXT,
8463 keyHandle: TPMI_DH_OBJECT,
8464 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
8465 inScheme: *const TPMT_RSA_DECRYPT,
8466 label: *const TPM2B_DATA,
8467 ) -> TSS2_RC;
8468}
8469extern "C" {
8470 pub fn Tss2_Sys_RSA_Decrypt_Complete(
8471 sysContext: *mut TSS2_SYS_CONTEXT,
8472 message: *mut TPM2B_PUBLIC_KEY_RSA,
8473 ) -> TSS2_RC;
8474}
8475extern "C" {
8476 pub fn Tss2_Sys_RSA_Decrypt(
8477 sysContext: *mut TSS2_SYS_CONTEXT,
8478 keyHandle: TPMI_DH_OBJECT,
8479 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8480 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
8481 inScheme: *const TPMT_RSA_DECRYPT,
8482 label: *const TPM2B_DATA,
8483 message: *mut TPM2B_PUBLIC_KEY_RSA,
8484 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8485 ) -> TSS2_RC;
8486}
8487extern "C" {
8488 pub fn Tss2_Sys_ECDH_KeyGen_Prepare(
8489 sysContext: *mut TSS2_SYS_CONTEXT,
8490 keyHandle: TPMI_DH_OBJECT,
8491 ) -> TSS2_RC;
8492}
8493extern "C" {
8494 pub fn Tss2_Sys_ECDH_KeyGen_Complete(
8495 sysContext: *mut TSS2_SYS_CONTEXT,
8496 zPoint: *mut TPM2B_ECC_POINT,
8497 pubPoint: *mut TPM2B_ECC_POINT,
8498 ) -> TSS2_RC;
8499}
8500extern "C" {
8501 pub fn Tss2_Sys_ECDH_KeyGen(
8502 sysContext: *mut TSS2_SYS_CONTEXT,
8503 keyHandle: TPMI_DH_OBJECT,
8504 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8505 zPoint: *mut TPM2B_ECC_POINT,
8506 pubPoint: *mut TPM2B_ECC_POINT,
8507 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8508 ) -> TSS2_RC;
8509}
8510extern "C" {
8511 pub fn Tss2_Sys_ECDH_ZGen_Prepare(
8512 sysContext: *mut TSS2_SYS_CONTEXT,
8513 keyHandle: TPMI_DH_OBJECT,
8514 inPoint: *const TPM2B_ECC_POINT,
8515 ) -> TSS2_RC;
8516}
8517extern "C" {
8518 pub fn Tss2_Sys_ECDH_ZGen_Complete(
8519 sysContext: *mut TSS2_SYS_CONTEXT,
8520 outPoint: *mut TPM2B_ECC_POINT,
8521 ) -> TSS2_RC;
8522}
8523extern "C" {
8524 pub fn Tss2_Sys_ECDH_ZGen(
8525 sysContext: *mut TSS2_SYS_CONTEXT,
8526 keyHandle: TPMI_DH_OBJECT,
8527 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8528 inPoint: *const TPM2B_ECC_POINT,
8529 outPoint: *mut TPM2B_ECC_POINT,
8530 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8531 ) -> TSS2_RC;
8532}
8533extern "C" {
8534 pub fn Tss2_Sys_ECC_Parameters_Prepare(
8535 sysContext: *mut TSS2_SYS_CONTEXT,
8536 curveID: TPMI_ECC_CURVE,
8537 ) -> TSS2_RC;
8538}
8539extern "C" {
8540 pub fn Tss2_Sys_ECC_Parameters_Complete(
8541 sysContext: *mut TSS2_SYS_CONTEXT,
8542 parameters: *mut TPMS_ALGORITHM_DETAIL_ECC,
8543 ) -> TSS2_RC;
8544}
8545extern "C" {
8546 pub fn Tss2_Sys_ECC_Parameters(
8547 sysContext: *mut TSS2_SYS_CONTEXT,
8548 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8549 curveID: TPMI_ECC_CURVE,
8550 parameters: *mut TPMS_ALGORITHM_DETAIL_ECC,
8551 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8552 ) -> TSS2_RC;
8553}
8554extern "C" {
8555 pub fn Tss2_Sys_ZGen_2Phase_Prepare(
8556 sysContext: *mut TSS2_SYS_CONTEXT,
8557 keyA: TPMI_DH_OBJECT,
8558 inQsB: *const TPM2B_ECC_POINT,
8559 inQeB: *const TPM2B_ECC_POINT,
8560 inScheme: TPMI_ECC_KEY_EXCHANGE,
8561 counter: UINT16,
8562 ) -> TSS2_RC;
8563}
8564extern "C" {
8565 pub fn Tss2_Sys_ZGen_2Phase_Complete(
8566 sysContext: *mut TSS2_SYS_CONTEXT,
8567 outZ1: *mut TPM2B_ECC_POINT,
8568 outZ2: *mut TPM2B_ECC_POINT,
8569 ) -> TSS2_RC;
8570}
8571extern "C" {
8572 pub fn Tss2_Sys_ZGen_2Phase(
8573 sysContext: *mut TSS2_SYS_CONTEXT,
8574 keyA: TPMI_DH_OBJECT,
8575 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8576 inQsB: *const TPM2B_ECC_POINT,
8577 inQeB: *const TPM2B_ECC_POINT,
8578 inScheme: TPMI_ECC_KEY_EXCHANGE,
8579 counter: UINT16,
8580 outZ1: *mut TPM2B_ECC_POINT,
8581 outZ2: *mut TPM2B_ECC_POINT,
8582 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8583 ) -> TSS2_RC;
8584}
8585extern "C" {
8586 pub fn Tss2_Sys_EncryptDecrypt_Prepare(
8587 sysContext: *mut TSS2_SYS_CONTEXT,
8588 keyHandle: TPMI_DH_OBJECT,
8589 decrypt: TPMI_YES_NO,
8590 mode: TPMI_ALG_SYM_MODE,
8591 ivIn: *const TPM2B_IV,
8592 inData: *const TPM2B_MAX_BUFFER,
8593 ) -> TSS2_RC;
8594}
8595extern "C" {
8596 pub fn Tss2_Sys_EncryptDecrypt_Complete(
8597 sysContext: *mut TSS2_SYS_CONTEXT,
8598 outData: *mut TPM2B_MAX_BUFFER,
8599 ivOut: *mut TPM2B_IV,
8600 ) -> TSS2_RC;
8601}
8602extern "C" {
8603 pub fn Tss2_Sys_EncryptDecrypt(
8604 sysContext: *mut TSS2_SYS_CONTEXT,
8605 keyHandle: TPMI_DH_OBJECT,
8606 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8607 decrypt: TPMI_YES_NO,
8608 mode: TPMI_ALG_SYM_MODE,
8609 ivIn: *const TPM2B_IV,
8610 inData: *const TPM2B_MAX_BUFFER,
8611 outData: *mut TPM2B_MAX_BUFFER,
8612 ivOut: *mut TPM2B_IV,
8613 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8614 ) -> TSS2_RC;
8615}
8616extern "C" {
8617 pub fn Tss2_Sys_EncryptDecrypt2_Prepare(
8618 sysContext: *mut TSS2_SYS_CONTEXT,
8619 keyHandle: TPMI_DH_OBJECT,
8620 inData: *const TPM2B_MAX_BUFFER,
8621 decrypt: TPMI_YES_NO,
8622 mode: TPMI_ALG_SYM_MODE,
8623 ivIn: *const TPM2B_IV,
8624 ) -> TSS2_RC;
8625}
8626extern "C" {
8627 pub fn Tss2_Sys_EncryptDecrypt2_Complete(
8628 sysContext: *mut TSS2_SYS_CONTEXT,
8629 outData: *mut TPM2B_MAX_BUFFER,
8630 ivOut: *mut TPM2B_IV,
8631 ) -> TSS2_RC;
8632}
8633extern "C" {
8634 pub fn Tss2_Sys_EncryptDecrypt2(
8635 sysContext: *mut TSS2_SYS_CONTEXT,
8636 keyHandle: TPMI_DH_OBJECT,
8637 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8638 inData: *const TPM2B_MAX_BUFFER,
8639 decrypt: TPMI_YES_NO,
8640 mode: TPMI_ALG_SYM_MODE,
8641 ivIn: *const TPM2B_IV,
8642 outData: *mut TPM2B_MAX_BUFFER,
8643 ivOut: *mut TPM2B_IV,
8644 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8645 ) -> TSS2_RC;
8646}
8647extern "C" {
8648 pub fn Tss2_Sys_Hash_Prepare(
8649 sysContext: *mut TSS2_SYS_CONTEXT,
8650 data: *const TPM2B_MAX_BUFFER,
8651 hashAlg: TPMI_ALG_HASH,
8652 hierarchy: TPMI_RH_HIERARCHY,
8653 ) -> TSS2_RC;
8654}
8655extern "C" {
8656 pub fn Tss2_Sys_Hash_Complete(
8657 sysContext: *mut TSS2_SYS_CONTEXT,
8658 outHash: *mut TPM2B_DIGEST,
8659 validation: *mut TPMT_TK_HASHCHECK,
8660 ) -> TSS2_RC;
8661}
8662extern "C" {
8663 pub fn Tss2_Sys_Hash(
8664 sysContext: *mut TSS2_SYS_CONTEXT,
8665 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8666 data: *const TPM2B_MAX_BUFFER,
8667 hashAlg: TPMI_ALG_HASH,
8668 hierarchy: TPMI_RH_HIERARCHY,
8669 outHash: *mut TPM2B_DIGEST,
8670 validation: *mut TPMT_TK_HASHCHECK,
8671 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8672 ) -> TSS2_RC;
8673}
8674extern "C" {
8675 pub fn Tss2_Sys_HMAC_Prepare(
8676 sysContext: *mut TSS2_SYS_CONTEXT,
8677 handle: TPMI_DH_OBJECT,
8678 buffer: *const TPM2B_MAX_BUFFER,
8679 hashAlg: TPMI_ALG_HASH,
8680 ) -> TSS2_RC;
8681}
8682extern "C" {
8683 pub fn Tss2_Sys_HMAC_Complete(
8684 sysContext: *mut TSS2_SYS_CONTEXT,
8685 outHMAC: *mut TPM2B_DIGEST,
8686 ) -> TSS2_RC;
8687}
8688extern "C" {
8689 pub fn Tss2_Sys_HMAC(
8690 sysContext: *mut TSS2_SYS_CONTEXT,
8691 handle: TPMI_DH_OBJECT,
8692 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8693 buffer: *const TPM2B_MAX_BUFFER,
8694 hashAlg: TPMI_ALG_HASH,
8695 outHMAC: *mut TPM2B_DIGEST,
8696 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8697 ) -> TSS2_RC;
8698}
8699extern "C" {
8700 pub fn Tss2_Sys_GetRandom_Prepare(
8701 sysContext: *mut TSS2_SYS_CONTEXT,
8702 bytesRequested: UINT16,
8703 ) -> TSS2_RC;
8704}
8705extern "C" {
8706 pub fn Tss2_Sys_GetRandom_Complete(
8707 sysContext: *mut TSS2_SYS_CONTEXT,
8708 randomBytes: *mut TPM2B_DIGEST,
8709 ) -> TSS2_RC;
8710}
8711extern "C" {
8712 pub fn Tss2_Sys_GetRandom(
8713 sysContext: *mut TSS2_SYS_CONTEXT,
8714 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8715 bytesRequested: UINT16,
8716 randomBytes: *mut TPM2B_DIGEST,
8717 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8718 ) -> TSS2_RC;
8719}
8720extern "C" {
8721 pub fn Tss2_Sys_StirRandom_Prepare(
8722 sysContext: *mut TSS2_SYS_CONTEXT,
8723 inData: *const TPM2B_SENSITIVE_DATA,
8724 ) -> TSS2_RC;
8725}
8726extern "C" {
8727 pub fn Tss2_Sys_StirRandom_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8728}
8729extern "C" {
8730 pub fn Tss2_Sys_StirRandom(
8731 sysContext: *mut TSS2_SYS_CONTEXT,
8732 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8733 inData: *const TPM2B_SENSITIVE_DATA,
8734 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8735 ) -> TSS2_RC;
8736}
8737extern "C" {
8738 pub fn Tss2_Sys_HMAC_Start_Prepare(
8739 sysContext: *mut TSS2_SYS_CONTEXT,
8740 handle: TPMI_DH_OBJECT,
8741 auth: *const TPM2B_AUTH,
8742 hashAlg: TPMI_ALG_HASH,
8743 ) -> TSS2_RC;
8744}
8745extern "C" {
8746 pub fn Tss2_Sys_HMAC_Start_Complete(
8747 sysContext: *mut TSS2_SYS_CONTEXT,
8748 sequenceHandle: *mut TPMI_DH_OBJECT,
8749 ) -> TSS2_RC;
8750}
8751extern "C" {
8752 pub fn Tss2_Sys_HMAC_Start(
8753 sysContext: *mut TSS2_SYS_CONTEXT,
8754 handle: TPMI_DH_OBJECT,
8755 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8756 auth: *const TPM2B_AUTH,
8757 hashAlg: TPMI_ALG_HASH,
8758 sequenceHandle: *mut TPMI_DH_OBJECT,
8759 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8760 ) -> TSS2_RC;
8761}
8762extern "C" {
8763 pub fn Tss2_Sys_HashSequenceStart_Prepare(
8764 sysContext: *mut TSS2_SYS_CONTEXT,
8765 auth: *const TPM2B_AUTH,
8766 hashAlg: TPMI_ALG_HASH,
8767 ) -> TSS2_RC;
8768}
8769extern "C" {
8770 pub fn Tss2_Sys_HashSequenceStart_Complete(
8771 sysContext: *mut TSS2_SYS_CONTEXT,
8772 sequenceHandle: *mut TPMI_DH_OBJECT,
8773 ) -> TSS2_RC;
8774}
8775extern "C" {
8776 pub fn Tss2_Sys_HashSequenceStart(
8777 sysContext: *mut TSS2_SYS_CONTEXT,
8778 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8779 auth: *const TPM2B_AUTH,
8780 hashAlg: TPMI_ALG_HASH,
8781 sequenceHandle: *mut TPMI_DH_OBJECT,
8782 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8783 ) -> TSS2_RC;
8784}
8785extern "C" {
8786 pub fn Tss2_Sys_SequenceUpdate_Prepare(
8787 sysContext: *mut TSS2_SYS_CONTEXT,
8788 sequenceHandle: TPMI_DH_OBJECT,
8789 buffer: *const TPM2B_MAX_BUFFER,
8790 ) -> TSS2_RC;
8791}
8792extern "C" {
8793 pub fn Tss2_Sys_SequenceUpdate_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
8794}
8795extern "C" {
8796 pub fn Tss2_Sys_SequenceUpdate(
8797 sysContext: *mut TSS2_SYS_CONTEXT,
8798 sequenceHandle: TPMI_DH_OBJECT,
8799 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8800 buffer: *const TPM2B_MAX_BUFFER,
8801 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8802 ) -> TSS2_RC;
8803}
8804extern "C" {
8805 pub fn Tss2_Sys_SequenceComplete_Prepare(
8806 sysContext: *mut TSS2_SYS_CONTEXT,
8807 sequenceHandle: TPMI_DH_OBJECT,
8808 buffer: *const TPM2B_MAX_BUFFER,
8809 hierarchy: TPMI_RH_HIERARCHY,
8810 ) -> TSS2_RC;
8811}
8812extern "C" {
8813 pub fn Tss2_Sys_SequenceComplete_Complete(
8814 sysContext: *mut TSS2_SYS_CONTEXT,
8815 result: *mut TPM2B_DIGEST,
8816 validation: *mut TPMT_TK_HASHCHECK,
8817 ) -> TSS2_RC;
8818}
8819extern "C" {
8820 pub fn Tss2_Sys_SequenceComplete(
8821 sysContext: *mut TSS2_SYS_CONTEXT,
8822 sequenceHandle: TPMI_DH_OBJECT,
8823 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8824 buffer: *const TPM2B_MAX_BUFFER,
8825 hierarchy: TPMI_RH_HIERARCHY,
8826 result: *mut TPM2B_DIGEST,
8827 validation: *mut TPMT_TK_HASHCHECK,
8828 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8829 ) -> TSS2_RC;
8830}
8831extern "C" {
8832 pub fn Tss2_Sys_EventSequenceComplete_Prepare(
8833 sysContext: *mut TSS2_SYS_CONTEXT,
8834 pcrHandle: TPMI_DH_PCR,
8835 sequenceHandle: TPMI_DH_OBJECT,
8836 buffer: *const TPM2B_MAX_BUFFER,
8837 ) -> TSS2_RC;
8838}
8839extern "C" {
8840 pub fn Tss2_Sys_EventSequenceComplete_Complete(
8841 sysContext: *mut TSS2_SYS_CONTEXT,
8842 results: *mut TPML_DIGEST_VALUES,
8843 ) -> TSS2_RC;
8844}
8845extern "C" {
8846 pub fn Tss2_Sys_EventSequenceComplete(
8847 sysContext: *mut TSS2_SYS_CONTEXT,
8848 pcrHandle: TPMI_DH_PCR,
8849 sequenceHandle: TPMI_DH_OBJECT,
8850 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8851 buffer: *const TPM2B_MAX_BUFFER,
8852 results: *mut TPML_DIGEST_VALUES,
8853 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8854 ) -> TSS2_RC;
8855}
8856extern "C" {
8857 pub fn Tss2_Sys_Certify_Prepare(
8858 sysContext: *mut TSS2_SYS_CONTEXT,
8859 objectHandle: TPMI_DH_OBJECT,
8860 signHandle: TPMI_DH_OBJECT,
8861 qualifyingData: *const TPM2B_DATA,
8862 inScheme: *const TPMT_SIG_SCHEME,
8863 ) -> TSS2_RC;
8864}
8865extern "C" {
8866 pub fn Tss2_Sys_Certify_Complete(
8867 sysContext: *mut TSS2_SYS_CONTEXT,
8868 certifyInfo: *mut TPM2B_ATTEST,
8869 signature: *mut TPMT_SIGNATURE,
8870 ) -> TSS2_RC;
8871}
8872extern "C" {
8873 pub fn Tss2_Sys_Certify(
8874 sysContext: *mut TSS2_SYS_CONTEXT,
8875 objectHandle: TPMI_DH_OBJECT,
8876 signHandle: TPMI_DH_OBJECT,
8877 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8878 qualifyingData: *const TPM2B_DATA,
8879 inScheme: *const TPMT_SIG_SCHEME,
8880 certifyInfo: *mut TPM2B_ATTEST,
8881 signature: *mut TPMT_SIGNATURE,
8882 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8883 ) -> TSS2_RC;
8884}
8885extern "C" {
8886 pub fn Tss2_Sys_CertifyCreation_Prepare(
8887 sysContext: *mut TSS2_SYS_CONTEXT,
8888 signHandle: TPMI_DH_OBJECT,
8889 objectHandle: TPMI_DH_OBJECT,
8890 qualifyingData: *const TPM2B_DATA,
8891 creationHash: *const TPM2B_DIGEST,
8892 inScheme: *const TPMT_SIG_SCHEME,
8893 creationTicket: *const TPMT_TK_CREATION,
8894 ) -> TSS2_RC;
8895}
8896extern "C" {
8897 pub fn Tss2_Sys_CertifyCreation_Complete(
8898 sysContext: *mut TSS2_SYS_CONTEXT,
8899 certifyInfo: *mut TPM2B_ATTEST,
8900 signature: *mut TPMT_SIGNATURE,
8901 ) -> TSS2_RC;
8902}
8903extern "C" {
8904 pub fn Tss2_Sys_CertifyCreation(
8905 sysContext: *mut TSS2_SYS_CONTEXT,
8906 signHandle: TPMI_DH_OBJECT,
8907 objectHandle: TPMI_DH_OBJECT,
8908 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8909 qualifyingData: *const TPM2B_DATA,
8910 creationHash: *const TPM2B_DIGEST,
8911 inScheme: *const TPMT_SIG_SCHEME,
8912 creationTicket: *const TPMT_TK_CREATION,
8913 certifyInfo: *mut TPM2B_ATTEST,
8914 signature: *mut TPMT_SIGNATURE,
8915 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8916 ) -> TSS2_RC;
8917}
8918extern "C" {
8919 pub fn Tss2_Sys_Quote_Prepare(
8920 sysContext: *mut TSS2_SYS_CONTEXT,
8921 signHandle: TPMI_DH_OBJECT,
8922 qualifyingData: *const TPM2B_DATA,
8923 inScheme: *const TPMT_SIG_SCHEME,
8924 PCRselect: *const TPML_PCR_SELECTION,
8925 ) -> TSS2_RC;
8926}
8927extern "C" {
8928 pub fn Tss2_Sys_Quote_Complete(
8929 sysContext: *mut TSS2_SYS_CONTEXT,
8930 quoted: *mut TPM2B_ATTEST,
8931 signature: *mut TPMT_SIGNATURE,
8932 ) -> TSS2_RC;
8933}
8934extern "C" {
8935 pub fn Tss2_Sys_Quote(
8936 sysContext: *mut TSS2_SYS_CONTEXT,
8937 signHandle: TPMI_DH_OBJECT,
8938 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8939 qualifyingData: *const TPM2B_DATA,
8940 inScheme: *const TPMT_SIG_SCHEME,
8941 PCRselect: *const TPML_PCR_SELECTION,
8942 quoted: *mut TPM2B_ATTEST,
8943 signature: *mut TPMT_SIGNATURE,
8944 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8945 ) -> TSS2_RC;
8946}
8947extern "C" {
8948 pub fn Tss2_Sys_GetSessionAuditDigest_Prepare(
8949 sysContext: *mut TSS2_SYS_CONTEXT,
8950 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
8951 signHandle: TPMI_DH_OBJECT,
8952 sessionHandle: TPMI_SH_HMAC,
8953 qualifyingData: *const TPM2B_DATA,
8954 inScheme: *const TPMT_SIG_SCHEME,
8955 ) -> TSS2_RC;
8956}
8957extern "C" {
8958 pub fn Tss2_Sys_GetSessionAuditDigest_Complete(
8959 sysContext: *mut TSS2_SYS_CONTEXT,
8960 auditInfo: *mut TPM2B_ATTEST,
8961 signature: *mut TPMT_SIGNATURE,
8962 ) -> TSS2_RC;
8963}
8964extern "C" {
8965 pub fn Tss2_Sys_GetSessionAuditDigest(
8966 sysContext: *mut TSS2_SYS_CONTEXT,
8967 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
8968 signHandle: TPMI_DH_OBJECT,
8969 sessionHandle: TPMI_SH_HMAC,
8970 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
8971 qualifyingData: *const TPM2B_DATA,
8972 inScheme: *const TPMT_SIG_SCHEME,
8973 auditInfo: *mut TPM2B_ATTEST,
8974 signature: *mut TPMT_SIGNATURE,
8975 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
8976 ) -> TSS2_RC;
8977}
8978extern "C" {
8979 pub fn Tss2_Sys_GetCommandAuditDigest_Prepare(
8980 sysContext: *mut TSS2_SYS_CONTEXT,
8981 privacyHandle: TPMI_RH_ENDORSEMENT,
8982 signHandle: TPMI_DH_OBJECT,
8983 qualifyingData: *const TPM2B_DATA,
8984 inScheme: *const TPMT_SIG_SCHEME,
8985 ) -> TSS2_RC;
8986}
8987extern "C" {
8988 pub fn Tss2_Sys_GetCommandAuditDigest_Complete(
8989 sysContext: *mut TSS2_SYS_CONTEXT,
8990 auditInfo: *mut TPM2B_ATTEST,
8991 signature: *mut TPMT_SIGNATURE,
8992 ) -> TSS2_RC;
8993}
8994extern "C" {
8995 pub fn Tss2_Sys_GetCommandAuditDigest(
8996 sysContext: *mut TSS2_SYS_CONTEXT,
8997 privacyHandle: TPMI_RH_ENDORSEMENT,
8998 signHandle: TPMI_DH_OBJECT,
8999 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9000 qualifyingData: *const TPM2B_DATA,
9001 inScheme: *const TPMT_SIG_SCHEME,
9002 auditInfo: *mut TPM2B_ATTEST,
9003 signature: *mut TPMT_SIGNATURE,
9004 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9005 ) -> TSS2_RC;
9006}
9007extern "C" {
9008 pub fn Tss2_Sys_GetTime_Prepare(
9009 sysContext: *mut TSS2_SYS_CONTEXT,
9010 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
9011 signHandle: TPMI_DH_OBJECT,
9012 qualifyingData: *const TPM2B_DATA,
9013 inScheme: *const TPMT_SIG_SCHEME,
9014 ) -> TSS2_RC;
9015}
9016extern "C" {
9017 pub fn Tss2_Sys_GetTime_Complete(
9018 sysContext: *mut TSS2_SYS_CONTEXT,
9019 timeInfo: *mut TPM2B_ATTEST,
9020 signature: *mut TPMT_SIGNATURE,
9021 ) -> TSS2_RC;
9022}
9023extern "C" {
9024 pub fn Tss2_Sys_GetTime(
9025 sysContext: *mut TSS2_SYS_CONTEXT,
9026 privacyAdminHandle: TPMI_RH_ENDORSEMENT,
9027 signHandle: TPMI_DH_OBJECT,
9028 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9029 qualifyingData: *const TPM2B_DATA,
9030 inScheme: *const TPMT_SIG_SCHEME,
9031 timeInfo: *mut TPM2B_ATTEST,
9032 signature: *mut TPMT_SIGNATURE,
9033 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9034 ) -> TSS2_RC;
9035}
9036extern "C" {
9037 pub fn Tss2_Sys_Commit_Prepare(
9038 sysContext: *mut TSS2_SYS_CONTEXT,
9039 signHandle: TPMI_DH_OBJECT,
9040 P1: *const TPM2B_ECC_POINT,
9041 s2: *const TPM2B_SENSITIVE_DATA,
9042 y2: *const TPM2B_ECC_PARAMETER,
9043 ) -> TSS2_RC;
9044}
9045extern "C" {
9046 pub fn Tss2_Sys_Commit_Complete(
9047 sysContext: *mut TSS2_SYS_CONTEXT,
9048 K: *mut TPM2B_ECC_POINT,
9049 L: *mut TPM2B_ECC_POINT,
9050 E: *mut TPM2B_ECC_POINT,
9051 counter: *mut UINT16,
9052 ) -> TSS2_RC;
9053}
9054extern "C" {
9055 pub fn Tss2_Sys_Commit(
9056 sysContext: *mut TSS2_SYS_CONTEXT,
9057 signHandle: TPMI_DH_OBJECT,
9058 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9059 P1: *const TPM2B_ECC_POINT,
9060 s2: *const TPM2B_SENSITIVE_DATA,
9061 y2: *const TPM2B_ECC_PARAMETER,
9062 K: *mut TPM2B_ECC_POINT,
9063 L: *mut TPM2B_ECC_POINT,
9064 E: *mut TPM2B_ECC_POINT,
9065 counter: *mut UINT16,
9066 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9067 ) -> TSS2_RC;
9068}
9069extern "C" {
9070 pub fn Tss2_Sys_EC_Ephemeral_Prepare(
9071 sysContext: *mut TSS2_SYS_CONTEXT,
9072 curveID: TPMI_ECC_CURVE,
9073 ) -> TSS2_RC;
9074}
9075extern "C" {
9076 pub fn Tss2_Sys_EC_Ephemeral_Complete(
9077 sysContext: *mut TSS2_SYS_CONTEXT,
9078 Q: *mut TPM2B_ECC_POINT,
9079 counter: *mut UINT16,
9080 ) -> TSS2_RC;
9081}
9082extern "C" {
9083 pub fn Tss2_Sys_EC_Ephemeral(
9084 sysContext: *mut TSS2_SYS_CONTEXT,
9085 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9086 curveID: TPMI_ECC_CURVE,
9087 Q: *mut TPM2B_ECC_POINT,
9088 counter: *mut UINT16,
9089 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9090 ) -> TSS2_RC;
9091}
9092extern "C" {
9093 pub fn Tss2_Sys_VerifySignature_Prepare(
9094 sysContext: *mut TSS2_SYS_CONTEXT,
9095 keyHandle: TPMI_DH_OBJECT,
9096 digest: *const TPM2B_DIGEST,
9097 signature: *const TPMT_SIGNATURE,
9098 ) -> TSS2_RC;
9099}
9100extern "C" {
9101 pub fn Tss2_Sys_VerifySignature_Complete(
9102 sysContext: *mut TSS2_SYS_CONTEXT,
9103 validation: *mut TPMT_TK_VERIFIED,
9104 ) -> TSS2_RC;
9105}
9106extern "C" {
9107 pub fn Tss2_Sys_VerifySignature(
9108 sysContext: *mut TSS2_SYS_CONTEXT,
9109 keyHandle: TPMI_DH_OBJECT,
9110 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9111 digest: *const TPM2B_DIGEST,
9112 signature: *const TPMT_SIGNATURE,
9113 validation: *mut TPMT_TK_VERIFIED,
9114 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9115 ) -> TSS2_RC;
9116}
9117extern "C" {
9118 pub fn Tss2_Sys_Sign_Prepare(
9119 sysContext: *mut TSS2_SYS_CONTEXT,
9120 keyHandle: TPMI_DH_OBJECT,
9121 digest: *const TPM2B_DIGEST,
9122 inScheme: *const TPMT_SIG_SCHEME,
9123 validation: *const TPMT_TK_HASHCHECK,
9124 ) -> TSS2_RC;
9125}
9126extern "C" {
9127 pub fn Tss2_Sys_Sign_Complete(
9128 sysContext: *mut TSS2_SYS_CONTEXT,
9129 signature: *mut TPMT_SIGNATURE,
9130 ) -> TSS2_RC;
9131}
9132extern "C" {
9133 pub fn Tss2_Sys_Sign(
9134 sysContext: *mut TSS2_SYS_CONTEXT,
9135 keyHandle: TPMI_DH_OBJECT,
9136 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9137 digest: *const TPM2B_DIGEST,
9138 inScheme: *const TPMT_SIG_SCHEME,
9139 validation: *const TPMT_TK_HASHCHECK,
9140 signature: *mut TPMT_SIGNATURE,
9141 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9142 ) -> TSS2_RC;
9143}
9144extern "C" {
9145 pub fn Tss2_Sys_SetCommandCodeAuditStatus_Prepare(
9146 sysContext: *mut TSS2_SYS_CONTEXT,
9147 auth: TPMI_RH_PROVISION,
9148 auditAlg: TPMI_ALG_HASH,
9149 setList: *const TPML_CC,
9150 clearList: *const TPML_CC,
9151 ) -> TSS2_RC;
9152}
9153extern "C" {
9154 pub fn Tss2_Sys_SetCommandCodeAuditStatus_Complete(
9155 sysContext: *mut TSS2_SYS_CONTEXT,
9156 ) -> TSS2_RC;
9157}
9158extern "C" {
9159 pub fn Tss2_Sys_SetCommandCodeAuditStatus(
9160 sysContext: *mut TSS2_SYS_CONTEXT,
9161 auth: TPMI_RH_PROVISION,
9162 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9163 auditAlg: TPMI_ALG_HASH,
9164 setList: *const TPML_CC,
9165 clearList: *const TPML_CC,
9166 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9167 ) -> TSS2_RC;
9168}
9169extern "C" {
9170 pub fn Tss2_Sys_PCR_Extend_Prepare(
9171 sysContext: *mut TSS2_SYS_CONTEXT,
9172 pcrHandle: TPMI_DH_PCR,
9173 digests: *const TPML_DIGEST_VALUES,
9174 ) -> TSS2_RC;
9175}
9176extern "C" {
9177 pub fn Tss2_Sys_PCR_Extend_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9178}
9179extern "C" {
9180 pub fn Tss2_Sys_PCR_Extend(
9181 sysContext: *mut TSS2_SYS_CONTEXT,
9182 pcrHandle: TPMI_DH_PCR,
9183 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9184 digests: *const TPML_DIGEST_VALUES,
9185 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9186 ) -> TSS2_RC;
9187}
9188extern "C" {
9189 pub fn Tss2_Sys_PCR_Event_Prepare(
9190 sysContext: *mut TSS2_SYS_CONTEXT,
9191 pcrHandle: TPMI_DH_PCR,
9192 eventData: *const TPM2B_EVENT,
9193 ) -> TSS2_RC;
9194}
9195extern "C" {
9196 pub fn Tss2_Sys_PCR_Event_Complete(
9197 sysContext: *mut TSS2_SYS_CONTEXT,
9198 digests: *mut TPML_DIGEST_VALUES,
9199 ) -> TSS2_RC;
9200}
9201extern "C" {
9202 pub fn Tss2_Sys_PCR_Event(
9203 sysContext: *mut TSS2_SYS_CONTEXT,
9204 pcrHandle: TPMI_DH_PCR,
9205 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9206 eventData: *const TPM2B_EVENT,
9207 digests: *mut TPML_DIGEST_VALUES,
9208 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9209 ) -> TSS2_RC;
9210}
9211extern "C" {
9212 pub fn Tss2_Sys_PCR_Read_Prepare(
9213 sysContext: *mut TSS2_SYS_CONTEXT,
9214 pcrSelectionIn: *const TPML_PCR_SELECTION,
9215 ) -> TSS2_RC;
9216}
9217extern "C" {
9218 pub fn Tss2_Sys_PCR_Read_Complete(
9219 sysContext: *mut TSS2_SYS_CONTEXT,
9220 pcrUpdateCounter: *mut UINT32,
9221 pcrSelectionOut: *mut TPML_PCR_SELECTION,
9222 pcrValues: *mut TPML_DIGEST,
9223 ) -> TSS2_RC;
9224}
9225extern "C" {
9226 pub fn Tss2_Sys_PCR_Read(
9227 sysContext: *mut TSS2_SYS_CONTEXT,
9228 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9229 pcrSelectionIn: *const TPML_PCR_SELECTION,
9230 pcrUpdateCounter: *mut UINT32,
9231 pcrSelectionOut: *mut TPML_PCR_SELECTION,
9232 pcrValues: *mut TPML_DIGEST,
9233 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9234 ) -> TSS2_RC;
9235}
9236extern "C" {
9237 pub fn Tss2_Sys_PCR_Allocate_Prepare(
9238 sysContext: *mut TSS2_SYS_CONTEXT,
9239 authHandle: TPMI_RH_PLATFORM,
9240 pcrAllocation: *const TPML_PCR_SELECTION,
9241 ) -> TSS2_RC;
9242}
9243extern "C" {
9244 pub fn Tss2_Sys_PCR_Allocate_Complete(
9245 sysContext: *mut TSS2_SYS_CONTEXT,
9246 allocationSuccess: *mut TPMI_YES_NO,
9247 maxPCR: *mut UINT32,
9248 sizeNeeded: *mut UINT32,
9249 sizeAvailable: *mut UINT32,
9250 ) -> TSS2_RC;
9251}
9252extern "C" {
9253 pub fn Tss2_Sys_PCR_Allocate(
9254 sysContext: *mut TSS2_SYS_CONTEXT,
9255 authHandle: TPMI_RH_PLATFORM,
9256 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9257 pcrAllocation: *const TPML_PCR_SELECTION,
9258 allocationSuccess: *mut TPMI_YES_NO,
9259 maxPCR: *mut UINT32,
9260 sizeNeeded: *mut UINT32,
9261 sizeAvailable: *mut UINT32,
9262 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9263 ) -> TSS2_RC;
9264}
9265extern "C" {
9266 pub fn Tss2_Sys_PCR_SetAuthPolicy_Prepare(
9267 sysContext: *mut TSS2_SYS_CONTEXT,
9268 authHandle: TPMI_RH_PLATFORM,
9269 authPolicy: *const TPM2B_DIGEST,
9270 hashAlg: TPMI_ALG_HASH,
9271 pcrNum: TPMI_DH_PCR,
9272 ) -> TSS2_RC;
9273}
9274extern "C" {
9275 pub fn Tss2_Sys_PCR_SetAuthPolicy_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9276}
9277extern "C" {
9278 pub fn Tss2_Sys_PCR_SetAuthPolicy(
9279 sysContext: *mut TSS2_SYS_CONTEXT,
9280 authHandle: TPMI_RH_PLATFORM,
9281 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9282 authPolicy: *const TPM2B_DIGEST,
9283 hashAlg: TPMI_ALG_HASH,
9284 pcrNum: TPMI_DH_PCR,
9285 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9286 ) -> TSS2_RC;
9287}
9288extern "C" {
9289 pub fn Tss2_Sys_PCR_SetAuthValue_Prepare(
9290 sysContext: *mut TSS2_SYS_CONTEXT,
9291 pcrHandle: TPMI_DH_PCR,
9292 auth: *const TPM2B_DIGEST,
9293 ) -> TSS2_RC;
9294}
9295extern "C" {
9296 pub fn Tss2_Sys_PCR_SetAuthValue_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9297}
9298extern "C" {
9299 pub fn Tss2_Sys_PCR_SetAuthValue(
9300 sysContext: *mut TSS2_SYS_CONTEXT,
9301 pcrHandle: TPMI_DH_PCR,
9302 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9303 auth: *const TPM2B_DIGEST,
9304 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9305 ) -> TSS2_RC;
9306}
9307extern "C" {
9308 pub fn Tss2_Sys_PCR_Reset_Prepare(
9309 sysContext: *mut TSS2_SYS_CONTEXT,
9310 pcrHandle: TPMI_DH_PCR,
9311 ) -> TSS2_RC;
9312}
9313extern "C" {
9314 pub fn Tss2_Sys_PCR_Reset_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9315}
9316extern "C" {
9317 pub fn Tss2_Sys_PCR_Reset(
9318 sysContext: *mut TSS2_SYS_CONTEXT,
9319 pcrHandle: TPMI_DH_PCR,
9320 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9321 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9322 ) -> TSS2_RC;
9323}
9324extern "C" {
9325 pub fn Tss2_Sys_PolicySigned_Prepare(
9326 sysContext: *mut TSS2_SYS_CONTEXT,
9327 authObject: TPMI_DH_OBJECT,
9328 policySession: TPMI_SH_POLICY,
9329 nonceTPM: *const TPM2B_NONCE,
9330 cpHashA: *const TPM2B_DIGEST,
9331 policyRef: *const TPM2B_NONCE,
9332 expiration: INT32,
9333 auth: *const TPMT_SIGNATURE,
9334 ) -> TSS2_RC;
9335}
9336extern "C" {
9337 pub fn Tss2_Sys_PolicySigned_Complete(
9338 sysContext: *mut TSS2_SYS_CONTEXT,
9339 timeout: *mut TPM2B_TIMEOUT,
9340 policyTicket: *mut TPMT_TK_AUTH,
9341 ) -> TSS2_RC;
9342}
9343extern "C" {
9344 pub fn Tss2_Sys_PolicySigned(
9345 sysContext: *mut TSS2_SYS_CONTEXT,
9346 authObject: TPMI_DH_OBJECT,
9347 policySession: TPMI_SH_POLICY,
9348 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9349 nonceTPM: *const TPM2B_NONCE,
9350 cpHashA: *const TPM2B_DIGEST,
9351 policyRef: *const TPM2B_NONCE,
9352 expiration: INT32,
9353 auth: *const TPMT_SIGNATURE,
9354 timeout: *mut TPM2B_TIMEOUT,
9355 policyTicket: *mut TPMT_TK_AUTH,
9356 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9357 ) -> TSS2_RC;
9358}
9359extern "C" {
9360 pub fn Tss2_Sys_PolicySecret_Prepare(
9361 sysContext: *mut TSS2_SYS_CONTEXT,
9362 authHandle: TPMI_DH_ENTITY,
9363 policySession: TPMI_SH_POLICY,
9364 nonceTPM: *const TPM2B_NONCE,
9365 cpHashA: *const TPM2B_DIGEST,
9366 policyRef: *const TPM2B_NONCE,
9367 expiration: INT32,
9368 ) -> TSS2_RC;
9369}
9370extern "C" {
9371 pub fn Tss2_Sys_PolicySecret_Complete(
9372 sysContext: *mut TSS2_SYS_CONTEXT,
9373 timeout: *mut TPM2B_TIMEOUT,
9374 policyTicket: *mut TPMT_TK_AUTH,
9375 ) -> TSS2_RC;
9376}
9377extern "C" {
9378 pub fn Tss2_Sys_PolicySecret(
9379 sysContext: *mut TSS2_SYS_CONTEXT,
9380 authHandle: TPMI_DH_ENTITY,
9381 policySession: TPMI_SH_POLICY,
9382 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9383 nonceTPM: *const TPM2B_NONCE,
9384 cpHashA: *const TPM2B_DIGEST,
9385 policyRef: *const TPM2B_NONCE,
9386 expiration: INT32,
9387 timeout: *mut TPM2B_TIMEOUT,
9388 policyTicket: *mut TPMT_TK_AUTH,
9389 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9390 ) -> TSS2_RC;
9391}
9392extern "C" {
9393 pub fn Tss2_Sys_PolicyTicket_Prepare(
9394 sysContext: *mut TSS2_SYS_CONTEXT,
9395 policySession: TPMI_SH_POLICY,
9396 timeout: *const TPM2B_TIMEOUT,
9397 cpHashA: *const TPM2B_DIGEST,
9398 policyRef: *const TPM2B_NONCE,
9399 authName: *const TPM2B_NAME,
9400 ticket: *const TPMT_TK_AUTH,
9401 ) -> TSS2_RC;
9402}
9403extern "C" {
9404 pub fn Tss2_Sys_PolicyTicket_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9405}
9406extern "C" {
9407 pub fn Tss2_Sys_PolicyTicket(
9408 sysContext: *mut TSS2_SYS_CONTEXT,
9409 policySession: TPMI_SH_POLICY,
9410 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9411 timeout: *const TPM2B_TIMEOUT,
9412 cpHashA: *const TPM2B_DIGEST,
9413 policyRef: *const TPM2B_NONCE,
9414 authName: *const TPM2B_NAME,
9415 ticket: *const TPMT_TK_AUTH,
9416 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9417 ) -> TSS2_RC;
9418}
9419extern "C" {
9420 pub fn Tss2_Sys_PolicyOR_Prepare(
9421 sysContext: *mut TSS2_SYS_CONTEXT,
9422 policySession: TPMI_SH_POLICY,
9423 pHashList: *const TPML_DIGEST,
9424 ) -> TSS2_RC;
9425}
9426extern "C" {
9427 pub fn Tss2_Sys_PolicyOR_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9428}
9429extern "C" {
9430 pub fn Tss2_Sys_PolicyOR(
9431 sysContext: *mut TSS2_SYS_CONTEXT,
9432 policySession: TPMI_SH_POLICY,
9433 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9434 pHashList: *const TPML_DIGEST,
9435 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9436 ) -> TSS2_RC;
9437}
9438extern "C" {
9439 pub fn Tss2_Sys_PolicyPCR_Prepare(
9440 sysContext: *mut TSS2_SYS_CONTEXT,
9441 policySession: TPMI_SH_POLICY,
9442 pcrDigest: *const TPM2B_DIGEST,
9443 pcrs: *const TPML_PCR_SELECTION,
9444 ) -> TSS2_RC;
9445}
9446extern "C" {
9447 pub fn Tss2_Sys_PolicyPCR_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9448}
9449extern "C" {
9450 pub fn Tss2_Sys_PolicyPCR(
9451 sysContext: *mut TSS2_SYS_CONTEXT,
9452 policySession: TPMI_SH_POLICY,
9453 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9454 pcrDigest: *const TPM2B_DIGEST,
9455 pcrs: *const TPML_PCR_SELECTION,
9456 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9457 ) -> TSS2_RC;
9458}
9459extern "C" {
9460 pub fn Tss2_Sys_PolicyLocality_Prepare(
9461 sysContext: *mut TSS2_SYS_CONTEXT,
9462 policySession: TPMI_SH_POLICY,
9463 locality: TPMA_LOCALITY,
9464 ) -> TSS2_RC;
9465}
9466extern "C" {
9467 pub fn Tss2_Sys_PolicyLocality_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9468}
9469extern "C" {
9470 pub fn Tss2_Sys_PolicyLocality(
9471 sysContext: *mut TSS2_SYS_CONTEXT,
9472 policySession: TPMI_SH_POLICY,
9473 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9474 locality: TPMA_LOCALITY,
9475 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9476 ) -> TSS2_RC;
9477}
9478extern "C" {
9479 pub fn Tss2_Sys_PolicyNV_Prepare(
9480 sysContext: *mut TSS2_SYS_CONTEXT,
9481 authHandle: TPMI_RH_NV_AUTH,
9482 nvIndex: TPMI_RH_NV_INDEX,
9483 policySession: TPMI_SH_POLICY,
9484 operandB: *const TPM2B_OPERAND,
9485 offset: UINT16,
9486 operation: TPM2_EO,
9487 ) -> TSS2_RC;
9488}
9489extern "C" {
9490 pub fn Tss2_Sys_PolicyNV_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9491}
9492extern "C" {
9493 pub fn Tss2_Sys_PolicyNV(
9494 sysContext: *mut TSS2_SYS_CONTEXT,
9495 authHandle: TPMI_RH_NV_AUTH,
9496 nvIndex: TPMI_RH_NV_INDEX,
9497 policySession: TPMI_SH_POLICY,
9498 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9499 operandB: *const TPM2B_OPERAND,
9500 offset: UINT16,
9501 operation: TPM2_EO,
9502 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9503 ) -> TSS2_RC;
9504}
9505extern "C" {
9506 pub fn Tss2_Sys_PolicyCounterTimer_Prepare(
9507 sysContext: *mut TSS2_SYS_CONTEXT,
9508 policySession: TPMI_SH_POLICY,
9509 operandB: *const TPM2B_OPERAND,
9510 offset: UINT16,
9511 operation: TPM2_EO,
9512 ) -> TSS2_RC;
9513}
9514extern "C" {
9515 pub fn Tss2_Sys_PolicyCounterTimer_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9516}
9517extern "C" {
9518 pub fn Tss2_Sys_PolicyCounterTimer(
9519 sysContext: *mut TSS2_SYS_CONTEXT,
9520 policySession: TPMI_SH_POLICY,
9521 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9522 operandB: *const TPM2B_OPERAND,
9523 offset: UINT16,
9524 operation: TPM2_EO,
9525 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9526 ) -> TSS2_RC;
9527}
9528extern "C" {
9529 pub fn Tss2_Sys_PolicyCommandCode_Prepare(
9530 sysContext: *mut TSS2_SYS_CONTEXT,
9531 policySession: TPMI_SH_POLICY,
9532 code: TPM2_CC,
9533 ) -> TSS2_RC;
9534}
9535extern "C" {
9536 pub fn Tss2_Sys_PolicyCommandCode_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9537}
9538extern "C" {
9539 pub fn Tss2_Sys_PolicyCommandCode(
9540 sysContext: *mut TSS2_SYS_CONTEXT,
9541 policySession: TPMI_SH_POLICY,
9542 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9543 code: TPM2_CC,
9544 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9545 ) -> TSS2_RC;
9546}
9547extern "C" {
9548 pub fn Tss2_Sys_PolicyPhysicalPresence_Prepare(
9549 sysContext: *mut TSS2_SYS_CONTEXT,
9550 policySession: TPMI_SH_POLICY,
9551 ) -> TSS2_RC;
9552}
9553extern "C" {
9554 pub fn Tss2_Sys_PolicyPhysicalPresence_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9555}
9556extern "C" {
9557 pub fn Tss2_Sys_PolicyPhysicalPresence(
9558 sysContext: *mut TSS2_SYS_CONTEXT,
9559 policySession: TPMI_SH_POLICY,
9560 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9561 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9562 ) -> TSS2_RC;
9563}
9564extern "C" {
9565 pub fn Tss2_Sys_PolicyCpHash_Prepare(
9566 sysContext: *mut TSS2_SYS_CONTEXT,
9567 policySession: TPMI_SH_POLICY,
9568 cpHashA: *const TPM2B_DIGEST,
9569 ) -> TSS2_RC;
9570}
9571extern "C" {
9572 pub fn Tss2_Sys_PolicyCpHash_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9573}
9574extern "C" {
9575 pub fn Tss2_Sys_PolicyCpHash(
9576 sysContext: *mut TSS2_SYS_CONTEXT,
9577 policySession: TPMI_SH_POLICY,
9578 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9579 cpHashA: *const TPM2B_DIGEST,
9580 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9581 ) -> TSS2_RC;
9582}
9583extern "C" {
9584 pub fn Tss2_Sys_PolicyNameHash_Prepare(
9585 sysContext: *mut TSS2_SYS_CONTEXT,
9586 policySession: TPMI_SH_POLICY,
9587 nameHash: *const TPM2B_DIGEST,
9588 ) -> TSS2_RC;
9589}
9590extern "C" {
9591 pub fn Tss2_Sys_PolicyNameHash_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9592}
9593extern "C" {
9594 pub fn Tss2_Sys_PolicyNameHash(
9595 sysContext: *mut TSS2_SYS_CONTEXT,
9596 policySession: TPMI_SH_POLICY,
9597 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9598 nameHash: *const TPM2B_DIGEST,
9599 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9600 ) -> TSS2_RC;
9601}
9602extern "C" {
9603 pub fn Tss2_Sys_PolicyDuplicationSelect_Prepare(
9604 sysContext: *mut TSS2_SYS_CONTEXT,
9605 policySession: TPMI_SH_POLICY,
9606 objectName: *const TPM2B_NAME,
9607 newParentName: *const TPM2B_NAME,
9608 includeObject: TPMI_YES_NO,
9609 ) -> TSS2_RC;
9610}
9611extern "C" {
9612 pub fn Tss2_Sys_PolicyDuplicationSelect_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9613}
9614extern "C" {
9615 pub fn Tss2_Sys_PolicyDuplicationSelect(
9616 sysContext: *mut TSS2_SYS_CONTEXT,
9617 policySession: TPMI_SH_POLICY,
9618 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9619 objectName: *const TPM2B_NAME,
9620 newParentName: *const TPM2B_NAME,
9621 includeObject: TPMI_YES_NO,
9622 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9623 ) -> TSS2_RC;
9624}
9625extern "C" {
9626 pub fn Tss2_Sys_PolicyAuthorize_Prepare(
9627 sysContext: *mut TSS2_SYS_CONTEXT,
9628 policySession: TPMI_SH_POLICY,
9629 approvedPolicy: *const TPM2B_DIGEST,
9630 policyRef: *const TPM2B_NONCE,
9631 keySign: *const TPM2B_NAME,
9632 checkTicket: *const TPMT_TK_VERIFIED,
9633 ) -> TSS2_RC;
9634}
9635extern "C" {
9636 pub fn Tss2_Sys_PolicyAuthorize_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9637}
9638extern "C" {
9639 pub fn Tss2_Sys_PolicyAuthorize(
9640 sysContext: *mut TSS2_SYS_CONTEXT,
9641 policySession: TPMI_SH_POLICY,
9642 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9643 approvedPolicy: *const TPM2B_DIGEST,
9644 policyRef: *const TPM2B_NONCE,
9645 keySign: *const TPM2B_NAME,
9646 checkTicket: *const TPMT_TK_VERIFIED,
9647 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9648 ) -> TSS2_RC;
9649}
9650extern "C" {
9651 pub fn Tss2_Sys_PolicyAuthValue_Prepare(
9652 sysContext: *mut TSS2_SYS_CONTEXT,
9653 policySession: TPMI_SH_POLICY,
9654 ) -> TSS2_RC;
9655}
9656extern "C" {
9657 pub fn Tss2_Sys_PolicyAuthValue_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9658}
9659extern "C" {
9660 pub fn Tss2_Sys_PolicyAuthValue(
9661 sysContext: *mut TSS2_SYS_CONTEXT,
9662 policySession: TPMI_SH_POLICY,
9663 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9664 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9665 ) -> TSS2_RC;
9666}
9667extern "C" {
9668 pub fn Tss2_Sys_PolicyPassword_Prepare(
9669 sysContext: *mut TSS2_SYS_CONTEXT,
9670 policySession: TPMI_SH_POLICY,
9671 ) -> TSS2_RC;
9672}
9673extern "C" {
9674 pub fn Tss2_Sys_PolicyPassword_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9675}
9676extern "C" {
9677 pub fn Tss2_Sys_PolicyPassword(
9678 sysContext: *mut TSS2_SYS_CONTEXT,
9679 policySession: TPMI_SH_POLICY,
9680 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9681 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9682 ) -> TSS2_RC;
9683}
9684extern "C" {
9685 pub fn Tss2_Sys_PolicyGetDigest_Prepare(
9686 sysContext: *mut TSS2_SYS_CONTEXT,
9687 policySession: TPMI_SH_POLICY,
9688 ) -> TSS2_RC;
9689}
9690extern "C" {
9691 pub fn Tss2_Sys_PolicyGetDigest_Complete(
9692 sysContext: *mut TSS2_SYS_CONTEXT,
9693 policyDigest: *mut TPM2B_DIGEST,
9694 ) -> TSS2_RC;
9695}
9696extern "C" {
9697 pub fn Tss2_Sys_PolicyGetDigest(
9698 sysContext: *mut TSS2_SYS_CONTEXT,
9699 policySession: TPMI_SH_POLICY,
9700 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9701 policyDigest: *mut TPM2B_DIGEST,
9702 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9703 ) -> TSS2_RC;
9704}
9705extern "C" {
9706 pub fn Tss2_Sys_PolicyNvWritten_Prepare(
9707 sysContext: *mut TSS2_SYS_CONTEXT,
9708 policySession: TPMI_SH_POLICY,
9709 writtenSet: TPMI_YES_NO,
9710 ) -> TSS2_RC;
9711}
9712extern "C" {
9713 pub fn Tss2_Sys_PolicyNvWritten_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9714}
9715extern "C" {
9716 pub fn Tss2_Sys_PolicyNvWritten(
9717 sysContext: *mut TSS2_SYS_CONTEXT,
9718 policySession: TPMI_SH_POLICY,
9719 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9720 writtenSet: TPMI_YES_NO,
9721 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9722 ) -> TSS2_RC;
9723}
9724extern "C" {
9725 pub fn Tss2_Sys_CreatePrimary_Prepare(
9726 sysContext: *mut TSS2_SYS_CONTEXT,
9727 primaryHandle: TPMI_RH_HIERARCHY,
9728 inSensitive: *const TPM2B_SENSITIVE_CREATE,
9729 inPublic: *const TPM2B_PUBLIC,
9730 outsideInfo: *const TPM2B_DATA,
9731 creationPCR: *const TPML_PCR_SELECTION,
9732 ) -> TSS2_RC;
9733}
9734extern "C" {
9735 pub fn Tss2_Sys_CreatePrimary_Complete(
9736 sysContext: *mut TSS2_SYS_CONTEXT,
9737 objectHandle: *mut TPM2_HANDLE,
9738 outPublic: *mut TPM2B_PUBLIC,
9739 creationData: *mut TPM2B_CREATION_DATA,
9740 creationHash: *mut TPM2B_DIGEST,
9741 creationTicket: *mut TPMT_TK_CREATION,
9742 name: *mut TPM2B_NAME,
9743 ) -> TSS2_RC;
9744}
9745extern "C" {
9746 pub fn Tss2_Sys_CreatePrimary(
9747 sysContext: *mut TSS2_SYS_CONTEXT,
9748 primaryHandle: TPMI_RH_HIERARCHY,
9749 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9750 inSensitive: *const TPM2B_SENSITIVE_CREATE,
9751 inPublic: *const TPM2B_PUBLIC,
9752 outsideInfo: *const TPM2B_DATA,
9753 creationPCR: *const TPML_PCR_SELECTION,
9754 objectHandle: *mut TPM2_HANDLE,
9755 outPublic: *mut TPM2B_PUBLIC,
9756 creationData: *mut TPM2B_CREATION_DATA,
9757 creationHash: *mut TPM2B_DIGEST,
9758 creationTicket: *mut TPMT_TK_CREATION,
9759 name: *mut TPM2B_NAME,
9760 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9761 ) -> TSS2_RC;
9762}
9763extern "C" {
9764 pub fn Tss2_Sys_HierarchyControl_Prepare(
9765 sysContext: *mut TSS2_SYS_CONTEXT,
9766 authHandle: TPMI_RH_HIERARCHY,
9767 enable: TPMI_RH_ENABLES,
9768 state: TPMI_YES_NO,
9769 ) -> TSS2_RC;
9770}
9771extern "C" {
9772 pub fn Tss2_Sys_HierarchyControl_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9773}
9774extern "C" {
9775 pub fn Tss2_Sys_HierarchyControl(
9776 sysContext: *mut TSS2_SYS_CONTEXT,
9777 authHandle: TPMI_RH_HIERARCHY,
9778 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9779 enable: TPMI_RH_ENABLES,
9780 state: TPMI_YES_NO,
9781 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9782 ) -> TSS2_RC;
9783}
9784extern "C" {
9785 pub fn Tss2_Sys_SetPrimaryPolicy_Prepare(
9786 sysContext: *mut TSS2_SYS_CONTEXT,
9787 authHandle: TPMI_RH_HIERARCHY_AUTH,
9788 authPolicy: *const TPM2B_DIGEST,
9789 hashAlg: TPMI_ALG_HASH,
9790 ) -> TSS2_RC;
9791}
9792extern "C" {
9793 pub fn Tss2_Sys_SetPrimaryPolicy_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9794}
9795extern "C" {
9796 pub fn Tss2_Sys_SetPrimaryPolicy(
9797 sysContext: *mut TSS2_SYS_CONTEXT,
9798 authHandle: TPMI_RH_HIERARCHY_AUTH,
9799 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9800 authPolicy: *const TPM2B_DIGEST,
9801 hashAlg: TPMI_ALG_HASH,
9802 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9803 ) -> TSS2_RC;
9804}
9805extern "C" {
9806 pub fn Tss2_Sys_ChangePPS_Prepare(
9807 sysContext: *mut TSS2_SYS_CONTEXT,
9808 authHandle: TPMI_RH_PLATFORM,
9809 ) -> TSS2_RC;
9810}
9811extern "C" {
9812 pub fn Tss2_Sys_ChangePPS_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9813}
9814extern "C" {
9815 pub fn Tss2_Sys_ChangePPS(
9816 sysContext: *mut TSS2_SYS_CONTEXT,
9817 authHandle: TPMI_RH_PLATFORM,
9818 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9819 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9820 ) -> TSS2_RC;
9821}
9822extern "C" {
9823 pub fn Tss2_Sys_ChangeEPS_Prepare(
9824 sysContext: *mut TSS2_SYS_CONTEXT,
9825 authHandle: TPMI_RH_PLATFORM,
9826 ) -> TSS2_RC;
9827}
9828extern "C" {
9829 pub fn Tss2_Sys_ChangeEPS_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9830}
9831extern "C" {
9832 pub fn Tss2_Sys_ChangeEPS(
9833 sysContext: *mut TSS2_SYS_CONTEXT,
9834 authHandle: TPMI_RH_PLATFORM,
9835 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9836 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9837 ) -> TSS2_RC;
9838}
9839extern "C" {
9840 pub fn Tss2_Sys_Clear_Prepare(
9841 sysContext: *mut TSS2_SYS_CONTEXT,
9842 authHandle: TPMI_RH_CLEAR,
9843 ) -> TSS2_RC;
9844}
9845extern "C" {
9846 pub fn Tss2_Sys_Clear_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9847}
9848extern "C" {
9849 pub fn Tss2_Sys_Clear(
9850 sysContext: *mut TSS2_SYS_CONTEXT,
9851 authHandle: TPMI_RH_CLEAR,
9852 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9853 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9854 ) -> TSS2_RC;
9855}
9856extern "C" {
9857 pub fn Tss2_Sys_ClearControl_Prepare(
9858 sysContext: *mut TSS2_SYS_CONTEXT,
9859 auth: TPMI_RH_CLEAR,
9860 disable: TPMI_YES_NO,
9861 ) -> TSS2_RC;
9862}
9863extern "C" {
9864 pub fn Tss2_Sys_ClearControl_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9865}
9866extern "C" {
9867 pub fn Tss2_Sys_ClearControl(
9868 sysContext: *mut TSS2_SYS_CONTEXT,
9869 auth: TPMI_RH_CLEAR,
9870 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9871 disable: TPMI_YES_NO,
9872 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9873 ) -> TSS2_RC;
9874}
9875extern "C" {
9876 pub fn Tss2_Sys_HierarchyChangeAuth_Prepare(
9877 sysContext: *mut TSS2_SYS_CONTEXT,
9878 authHandle: TPMI_RH_HIERARCHY_AUTH,
9879 newAuth: *const TPM2B_AUTH,
9880 ) -> TSS2_RC;
9881}
9882extern "C" {
9883 pub fn Tss2_Sys_HierarchyChangeAuth_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9884}
9885extern "C" {
9886 pub fn Tss2_Sys_HierarchyChangeAuth(
9887 sysContext: *mut TSS2_SYS_CONTEXT,
9888 authHandle: TPMI_RH_HIERARCHY_AUTH,
9889 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9890 newAuth: *const TPM2B_AUTH,
9891 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9892 ) -> TSS2_RC;
9893}
9894extern "C" {
9895 pub fn Tss2_Sys_DictionaryAttackLockReset_Prepare(
9896 sysContext: *mut TSS2_SYS_CONTEXT,
9897 lockHandle: TPMI_RH_LOCKOUT,
9898 ) -> TSS2_RC;
9899}
9900extern "C" {
9901 pub fn Tss2_Sys_DictionaryAttackLockReset_Complete(
9902 sysContext: *mut TSS2_SYS_CONTEXT,
9903 ) -> TSS2_RC;
9904}
9905extern "C" {
9906 pub fn Tss2_Sys_DictionaryAttackLockReset(
9907 sysContext: *mut TSS2_SYS_CONTEXT,
9908 lockHandle: TPMI_RH_LOCKOUT,
9909 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9910 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9911 ) -> TSS2_RC;
9912}
9913extern "C" {
9914 pub fn Tss2_Sys_DictionaryAttackParameters_Prepare(
9915 sysContext: *mut TSS2_SYS_CONTEXT,
9916 lockHandle: TPMI_RH_LOCKOUT,
9917 newMaxTries: UINT32,
9918 newRecoveryTime: UINT32,
9919 lockoutRecovery: UINT32,
9920 ) -> TSS2_RC;
9921}
9922extern "C" {
9923 pub fn Tss2_Sys_DictionaryAttackParameters_Complete(
9924 sysContext: *mut TSS2_SYS_CONTEXT,
9925 ) -> TSS2_RC;
9926}
9927extern "C" {
9928 pub fn Tss2_Sys_DictionaryAttackParameters(
9929 sysContext: *mut TSS2_SYS_CONTEXT,
9930 lockHandle: TPMI_RH_LOCKOUT,
9931 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9932 newMaxTries: UINT32,
9933 newRecoveryTime: UINT32,
9934 lockoutRecovery: UINT32,
9935 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9936 ) -> TSS2_RC;
9937}
9938extern "C" {
9939 pub fn Tss2_Sys_PP_Commands_Prepare(
9940 sysContext: *mut TSS2_SYS_CONTEXT,
9941 auth: TPMI_RH_PLATFORM,
9942 setList: *const TPML_CC,
9943 clearList: *const TPML_CC,
9944 ) -> TSS2_RC;
9945}
9946extern "C" {
9947 pub fn Tss2_Sys_PP_Commands_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9948}
9949extern "C" {
9950 pub fn Tss2_Sys_PP_Commands(
9951 sysContext: *mut TSS2_SYS_CONTEXT,
9952 auth: TPMI_RH_PLATFORM,
9953 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9954 setList: *const TPML_CC,
9955 clearList: *const TPML_CC,
9956 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9957 ) -> TSS2_RC;
9958}
9959extern "C" {
9960 pub fn Tss2_Sys_SetAlgorithmSet_Prepare(
9961 sysContext: *mut TSS2_SYS_CONTEXT,
9962 authHandle: TPMI_RH_PLATFORM,
9963 algorithmSet: UINT32,
9964 ) -> TSS2_RC;
9965}
9966extern "C" {
9967 pub fn Tss2_Sys_SetAlgorithmSet_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9968}
9969extern "C" {
9970 pub fn Tss2_Sys_SetAlgorithmSet(
9971 sysContext: *mut TSS2_SYS_CONTEXT,
9972 authHandle: TPMI_RH_PLATFORM,
9973 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9974 algorithmSet: UINT32,
9975 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9976 ) -> TSS2_RC;
9977}
9978extern "C" {
9979 pub fn Tss2_Sys_FieldUpgradeStart_Prepare(
9980 sysContext: *mut TSS2_SYS_CONTEXT,
9981 authorization: TPMI_RH_PLATFORM,
9982 keyHandle: TPMI_DH_OBJECT,
9983 fuDigest: *const TPM2B_DIGEST,
9984 manifestSignature: *const TPMT_SIGNATURE,
9985 ) -> TSS2_RC;
9986}
9987extern "C" {
9988 pub fn Tss2_Sys_FieldUpgradeStart_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
9989}
9990extern "C" {
9991 pub fn Tss2_Sys_FieldUpgradeStart(
9992 sysContext: *mut TSS2_SYS_CONTEXT,
9993 authorization: TPMI_RH_PLATFORM,
9994 keyHandle: TPMI_DH_OBJECT,
9995 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
9996 fuDigest: *const TPM2B_DIGEST,
9997 manifestSignature: *const TPMT_SIGNATURE,
9998 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
9999 ) -> TSS2_RC;
10000}
10001extern "C" {
10002 pub fn Tss2_Sys_FieldUpgradeData_Prepare(
10003 sysContext: *mut TSS2_SYS_CONTEXT,
10004 fuData: *const TPM2B_MAX_BUFFER,
10005 ) -> TSS2_RC;
10006}
10007extern "C" {
10008 pub fn Tss2_Sys_FieldUpgradeData_Complete(
10009 sysContext: *mut TSS2_SYS_CONTEXT,
10010 nextDigest: *mut TPMT_HA,
10011 firstDigest: *mut TPMT_HA,
10012 ) -> TSS2_RC;
10013}
10014extern "C" {
10015 pub fn Tss2_Sys_FieldUpgradeData(
10016 sysContext: *mut TSS2_SYS_CONTEXT,
10017 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10018 fuData: *const TPM2B_MAX_BUFFER,
10019 nextDigest: *mut TPMT_HA,
10020 firstDigest: *mut TPMT_HA,
10021 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10022 ) -> TSS2_RC;
10023}
10024extern "C" {
10025 pub fn Tss2_Sys_FirmwareRead_Prepare(
10026 sysContext: *mut TSS2_SYS_CONTEXT,
10027 sequenceNumber: UINT32,
10028 ) -> TSS2_RC;
10029}
10030extern "C" {
10031 pub fn Tss2_Sys_FirmwareRead_Complete(
10032 sysContext: *mut TSS2_SYS_CONTEXT,
10033 fuData: *mut TPM2B_MAX_BUFFER,
10034 ) -> TSS2_RC;
10035}
10036extern "C" {
10037 pub fn Tss2_Sys_FirmwareRead(
10038 sysContext: *mut TSS2_SYS_CONTEXT,
10039 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10040 sequenceNumber: UINT32,
10041 fuData: *mut TPM2B_MAX_BUFFER,
10042 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10043 ) -> TSS2_RC;
10044}
10045extern "C" {
10046 pub fn Tss2_Sys_ContextSave_Prepare(
10047 sysContext: *mut TSS2_SYS_CONTEXT,
10048 saveHandle: TPMI_DH_CONTEXT,
10049 ) -> TSS2_RC;
10050}
10051extern "C" {
10052 pub fn Tss2_Sys_ContextSave_Complete(
10053 sysContext: *mut TSS2_SYS_CONTEXT,
10054 context: *mut TPMS_CONTEXT,
10055 ) -> TSS2_RC;
10056}
10057extern "C" {
10058 pub fn Tss2_Sys_ContextSave(
10059 sysContext: *mut TSS2_SYS_CONTEXT,
10060 saveHandle: TPMI_DH_CONTEXT,
10061 context: *mut TPMS_CONTEXT,
10062 ) -> TSS2_RC;
10063}
10064extern "C" {
10065 pub fn Tss2_Sys_ContextLoad_Prepare(
10066 sysContext: *mut TSS2_SYS_CONTEXT,
10067 context: *const TPMS_CONTEXT,
10068 ) -> TSS2_RC;
10069}
10070extern "C" {
10071 pub fn Tss2_Sys_ContextLoad_Complete(
10072 sysContext: *mut TSS2_SYS_CONTEXT,
10073 loadedHandle: *mut TPMI_DH_CONTEXT,
10074 ) -> TSS2_RC;
10075}
10076extern "C" {
10077 pub fn Tss2_Sys_ContextLoad(
10078 sysContext: *mut TSS2_SYS_CONTEXT,
10079 context: *const TPMS_CONTEXT,
10080 loadedHandle: *mut TPMI_DH_CONTEXT,
10081 ) -> TSS2_RC;
10082}
10083extern "C" {
10084 pub fn Tss2_Sys_FlushContext_Prepare(
10085 sysContext: *mut TSS2_SYS_CONTEXT,
10086 flushHandle: TPMI_DH_CONTEXT,
10087 ) -> TSS2_RC;
10088}
10089extern "C" {
10090 pub fn Tss2_Sys_FlushContext_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10091}
10092extern "C" {
10093 pub fn Tss2_Sys_FlushContext(
10094 sysContext: *mut TSS2_SYS_CONTEXT,
10095 flushHandle: TPMI_DH_CONTEXT,
10096 ) -> TSS2_RC;
10097}
10098extern "C" {
10099 pub fn Tss2_Sys_EvictControl_Prepare(
10100 sysContext: *mut TSS2_SYS_CONTEXT,
10101 auth: TPMI_RH_PROVISION,
10102 objectHandle: TPMI_DH_OBJECT,
10103 persistentHandle: TPMI_DH_PERSISTENT,
10104 ) -> TSS2_RC;
10105}
10106extern "C" {
10107 pub fn Tss2_Sys_EvictControl_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10108}
10109extern "C" {
10110 pub fn Tss2_Sys_EvictControl(
10111 sysContext: *mut TSS2_SYS_CONTEXT,
10112 auth: TPMI_RH_PROVISION,
10113 objectHandle: TPMI_DH_OBJECT,
10114 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10115 persistentHandle: TPMI_DH_PERSISTENT,
10116 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10117 ) -> TSS2_RC;
10118}
10119extern "C" {
10120 pub fn Tss2_Sys_ReadClock_Prepare(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10121}
10122extern "C" {
10123 pub fn Tss2_Sys_ReadClock_Complete(
10124 sysContext: *mut TSS2_SYS_CONTEXT,
10125 currentTime: *mut TPMS_TIME_INFO,
10126 ) -> TSS2_RC;
10127}
10128extern "C" {
10129 pub fn Tss2_Sys_ReadClock(
10130 sysContext: *mut TSS2_SYS_CONTEXT,
10131 currentTime: *mut TPMS_TIME_INFO,
10132 ) -> TSS2_RC;
10133}
10134extern "C" {
10135 pub fn Tss2_Sys_ClockSet_Prepare(
10136 sysContext: *mut TSS2_SYS_CONTEXT,
10137 auth: TPMI_RH_PROVISION,
10138 newTime: UINT64,
10139 ) -> TSS2_RC;
10140}
10141extern "C" {
10142 pub fn Tss2_Sys_ClockSet_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10143}
10144extern "C" {
10145 pub fn Tss2_Sys_ClockSet(
10146 sysContext: *mut TSS2_SYS_CONTEXT,
10147 auth: TPMI_RH_PROVISION,
10148 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10149 newTime: UINT64,
10150 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10151 ) -> TSS2_RC;
10152}
10153extern "C" {
10154 pub fn Tss2_Sys_ClockRateAdjust_Prepare(
10155 sysContext: *mut TSS2_SYS_CONTEXT,
10156 auth: TPMI_RH_PROVISION,
10157 rateAdjust: TPM2_CLOCK_ADJUST,
10158 ) -> TSS2_RC;
10159}
10160extern "C" {
10161 pub fn Tss2_Sys_ClockRateAdjust_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10162}
10163extern "C" {
10164 pub fn Tss2_Sys_ClockRateAdjust(
10165 sysContext: *mut TSS2_SYS_CONTEXT,
10166 auth: TPMI_RH_PROVISION,
10167 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10168 rateAdjust: TPM2_CLOCK_ADJUST,
10169 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10170 ) -> TSS2_RC;
10171}
10172extern "C" {
10173 pub fn Tss2_Sys_GetCapability_Prepare(
10174 sysContext: *mut TSS2_SYS_CONTEXT,
10175 capability: TPM2_CAP,
10176 property: UINT32,
10177 propertyCount: UINT32,
10178 ) -> TSS2_RC;
10179}
10180extern "C" {
10181 pub fn Tss2_Sys_GetCapability_Complete(
10182 sysContext: *mut TSS2_SYS_CONTEXT,
10183 moreData: *mut TPMI_YES_NO,
10184 capabilityData: *mut TPMS_CAPABILITY_DATA,
10185 ) -> TSS2_RC;
10186}
10187extern "C" {
10188 pub fn Tss2_Sys_GetCapability(
10189 sysContext: *mut TSS2_SYS_CONTEXT,
10190 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10191 capability: TPM2_CAP,
10192 property: UINT32,
10193 propertyCount: UINT32,
10194 moreData: *mut TPMI_YES_NO,
10195 capabilityData: *mut TPMS_CAPABILITY_DATA,
10196 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10197 ) -> TSS2_RC;
10198}
10199extern "C" {
10200 pub fn Tss2_Sys_TestParms_Prepare(
10201 sysContext: *mut TSS2_SYS_CONTEXT,
10202 parameters: *const TPMT_PUBLIC_PARMS,
10203 ) -> TSS2_RC;
10204}
10205extern "C" {
10206 pub fn Tss2_Sys_TestParms_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10207}
10208extern "C" {
10209 pub fn Tss2_Sys_TestParms(
10210 sysContext: *mut TSS2_SYS_CONTEXT,
10211 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10212 parameters: *const TPMT_PUBLIC_PARMS,
10213 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10214 ) -> TSS2_RC;
10215}
10216extern "C" {
10217 pub fn Tss2_Sys_NV_DefineSpace_Prepare(
10218 sysContext: *mut TSS2_SYS_CONTEXT,
10219 authHandle: TPMI_RH_PROVISION,
10220 auth: *const TPM2B_AUTH,
10221 publicInfo: *const TPM2B_NV_PUBLIC,
10222 ) -> TSS2_RC;
10223}
10224extern "C" {
10225 pub fn Tss2_Sys_NV_DefineSpace_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10226}
10227extern "C" {
10228 pub fn Tss2_Sys_NV_DefineSpace(
10229 sysContext: *mut TSS2_SYS_CONTEXT,
10230 authHandle: TPMI_RH_PROVISION,
10231 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10232 auth: *const TPM2B_AUTH,
10233 publicInfo: *const TPM2B_NV_PUBLIC,
10234 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10235 ) -> TSS2_RC;
10236}
10237extern "C" {
10238 pub fn Tss2_Sys_NV_UndefineSpace_Prepare(
10239 sysContext: *mut TSS2_SYS_CONTEXT,
10240 authHandle: TPMI_RH_PROVISION,
10241 nvIndex: TPMI_RH_NV_INDEX,
10242 ) -> TSS2_RC;
10243}
10244extern "C" {
10245 pub fn Tss2_Sys_NV_UndefineSpace_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10246}
10247extern "C" {
10248 pub fn Tss2_Sys_NV_UndefineSpace(
10249 sysContext: *mut TSS2_SYS_CONTEXT,
10250 authHandle: TPMI_RH_PROVISION,
10251 nvIndex: TPMI_RH_NV_INDEX,
10252 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10253 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10254 ) -> TSS2_RC;
10255}
10256extern "C" {
10257 pub fn Tss2_Sys_NV_UndefineSpaceSpecial_Prepare(
10258 sysContext: *mut TSS2_SYS_CONTEXT,
10259 nvIndex: TPMI_RH_NV_INDEX,
10260 platform: TPMI_RH_PLATFORM,
10261 ) -> TSS2_RC;
10262}
10263extern "C" {
10264 pub fn Tss2_Sys_NV_UndefineSpaceSpecial_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10265}
10266extern "C" {
10267 pub fn Tss2_Sys_NV_UndefineSpaceSpecial(
10268 sysContext: *mut TSS2_SYS_CONTEXT,
10269 nvIndex: TPMI_RH_NV_INDEX,
10270 platform: TPMI_RH_PLATFORM,
10271 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10272 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10273 ) -> TSS2_RC;
10274}
10275extern "C" {
10276 pub fn Tss2_Sys_NV_ReadPublic_Prepare(
10277 sysContext: *mut TSS2_SYS_CONTEXT,
10278 nvIndex: TPMI_RH_NV_INDEX,
10279 ) -> TSS2_RC;
10280}
10281extern "C" {
10282 pub fn Tss2_Sys_NV_ReadPublic_Complete(
10283 sysContext: *mut TSS2_SYS_CONTEXT,
10284 nvPublic: *mut TPM2B_NV_PUBLIC,
10285 nvName: *mut TPM2B_NAME,
10286 ) -> TSS2_RC;
10287}
10288extern "C" {
10289 pub fn Tss2_Sys_NV_ReadPublic(
10290 sysContext: *mut TSS2_SYS_CONTEXT,
10291 nvIndex: TPMI_RH_NV_INDEX,
10292 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10293 nvPublic: *mut TPM2B_NV_PUBLIC,
10294 nvName: *mut TPM2B_NAME,
10295 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10296 ) -> TSS2_RC;
10297}
10298extern "C" {
10299 pub fn Tss2_Sys_NV_Write_Prepare(
10300 sysContext: *mut TSS2_SYS_CONTEXT,
10301 authHandle: TPMI_RH_NV_AUTH,
10302 nvIndex: TPMI_RH_NV_INDEX,
10303 data: *const TPM2B_MAX_NV_BUFFER,
10304 offset: UINT16,
10305 ) -> TSS2_RC;
10306}
10307extern "C" {
10308 pub fn Tss2_Sys_NV_Write_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10309}
10310extern "C" {
10311 pub fn Tss2_Sys_NV_Write(
10312 sysContext: *mut TSS2_SYS_CONTEXT,
10313 authHandle: TPMI_RH_NV_AUTH,
10314 nvIndex: TPMI_RH_NV_INDEX,
10315 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10316 data: *const TPM2B_MAX_NV_BUFFER,
10317 offset: UINT16,
10318 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10319 ) -> TSS2_RC;
10320}
10321extern "C" {
10322 pub fn Tss2_Sys_NV_Increment_Prepare(
10323 sysContext: *mut TSS2_SYS_CONTEXT,
10324 authHandle: TPMI_RH_NV_AUTH,
10325 nvIndex: TPMI_RH_NV_INDEX,
10326 ) -> TSS2_RC;
10327}
10328extern "C" {
10329 pub fn Tss2_Sys_NV_Increment_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10330}
10331extern "C" {
10332 pub fn Tss2_Sys_NV_Increment(
10333 sysContext: *mut TSS2_SYS_CONTEXT,
10334 authHandle: TPMI_RH_NV_AUTH,
10335 nvIndex: TPMI_RH_NV_INDEX,
10336 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10337 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10338 ) -> TSS2_RC;
10339}
10340extern "C" {
10341 pub fn Tss2_Sys_NV_Extend_Prepare(
10342 sysContext: *mut TSS2_SYS_CONTEXT,
10343 authHandle: TPMI_RH_NV_AUTH,
10344 nvIndex: TPMI_RH_NV_INDEX,
10345 data: *const TPM2B_MAX_NV_BUFFER,
10346 ) -> TSS2_RC;
10347}
10348extern "C" {
10349 pub fn Tss2_Sys_NV_Extend_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10350}
10351extern "C" {
10352 pub fn Tss2_Sys_NV_Extend(
10353 sysContext: *mut TSS2_SYS_CONTEXT,
10354 authHandle: TPMI_RH_NV_AUTH,
10355 nvIndex: TPMI_RH_NV_INDEX,
10356 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10357 data: *const TPM2B_MAX_NV_BUFFER,
10358 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10359 ) -> TSS2_RC;
10360}
10361extern "C" {
10362 pub fn Tss2_Sys_NV_SetBits_Prepare(
10363 sysContext: *mut TSS2_SYS_CONTEXT,
10364 authHandle: TPMI_RH_NV_AUTH,
10365 nvIndex: TPMI_RH_NV_INDEX,
10366 bits: UINT64,
10367 ) -> TSS2_RC;
10368}
10369extern "C" {
10370 pub fn Tss2_Sys_NV_SetBits_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10371}
10372extern "C" {
10373 pub fn Tss2_Sys_NV_SetBits(
10374 sysContext: *mut TSS2_SYS_CONTEXT,
10375 authHandle: TPMI_RH_NV_AUTH,
10376 nvIndex: TPMI_RH_NV_INDEX,
10377 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10378 bits: UINT64,
10379 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10380 ) -> TSS2_RC;
10381}
10382extern "C" {
10383 pub fn Tss2_Sys_NV_WriteLock_Prepare(
10384 sysContext: *mut TSS2_SYS_CONTEXT,
10385 authHandle: TPMI_RH_NV_AUTH,
10386 nvIndex: TPMI_RH_NV_INDEX,
10387 ) -> TSS2_RC;
10388}
10389extern "C" {
10390 pub fn Tss2_Sys_NV_WriteLock_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10391}
10392extern "C" {
10393 pub fn Tss2_Sys_NV_WriteLock(
10394 sysContext: *mut TSS2_SYS_CONTEXT,
10395 authHandle: TPMI_RH_NV_AUTH,
10396 nvIndex: TPMI_RH_NV_INDEX,
10397 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10398 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10399 ) -> TSS2_RC;
10400}
10401extern "C" {
10402 pub fn Tss2_Sys_NV_GlobalWriteLock_Prepare(
10403 sysContext: *mut TSS2_SYS_CONTEXT,
10404 authHandle: TPMI_RH_PROVISION,
10405 ) -> TSS2_RC;
10406}
10407extern "C" {
10408 pub fn Tss2_Sys_NV_GlobalWriteLock_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10409}
10410extern "C" {
10411 pub fn Tss2_Sys_NV_GlobalWriteLock(
10412 sysContext: *mut TSS2_SYS_CONTEXT,
10413 authHandle: TPMI_RH_PROVISION,
10414 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10415 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10416 ) -> TSS2_RC;
10417}
10418extern "C" {
10419 pub fn Tss2_Sys_NV_Read_Prepare(
10420 sysContext: *mut TSS2_SYS_CONTEXT,
10421 authHandle: TPMI_RH_NV_AUTH,
10422 nvIndex: TPMI_RH_NV_INDEX,
10423 size: UINT16,
10424 offset: UINT16,
10425 ) -> TSS2_RC;
10426}
10427extern "C" {
10428 pub fn Tss2_Sys_NV_Read_Complete(
10429 sysContext: *mut TSS2_SYS_CONTEXT,
10430 data: *mut TPM2B_MAX_NV_BUFFER,
10431 ) -> TSS2_RC;
10432}
10433extern "C" {
10434 pub fn Tss2_Sys_NV_Read(
10435 sysContext: *mut TSS2_SYS_CONTEXT,
10436 authHandle: TPMI_RH_NV_AUTH,
10437 nvIndex: TPMI_RH_NV_INDEX,
10438 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10439 size: UINT16,
10440 offset: UINT16,
10441 data: *mut TPM2B_MAX_NV_BUFFER,
10442 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10443 ) -> TSS2_RC;
10444}
10445extern "C" {
10446 pub fn Tss2_Sys_NV_ReadLock_Prepare(
10447 sysContext: *mut TSS2_SYS_CONTEXT,
10448 authHandle: TPMI_RH_NV_AUTH,
10449 nvIndex: TPMI_RH_NV_INDEX,
10450 ) -> TSS2_RC;
10451}
10452extern "C" {
10453 pub fn Tss2_Sys_NV_ReadLock_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10454}
10455extern "C" {
10456 pub fn Tss2_Sys_NV_ReadLock(
10457 sysContext: *mut TSS2_SYS_CONTEXT,
10458 authHandle: TPMI_RH_NV_AUTH,
10459 nvIndex: TPMI_RH_NV_INDEX,
10460 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10461 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10462 ) -> TSS2_RC;
10463}
10464extern "C" {
10465 pub fn Tss2_Sys_NV_ChangeAuth_Prepare(
10466 sysContext: *mut TSS2_SYS_CONTEXT,
10467 nvIndex: TPMI_RH_NV_INDEX,
10468 newAuth: *const TPM2B_AUTH,
10469 ) -> TSS2_RC;
10470}
10471extern "C" {
10472 pub fn Tss2_Sys_NV_ChangeAuth_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10473}
10474extern "C" {
10475 pub fn Tss2_Sys_NV_ChangeAuth(
10476 sysContext: *mut TSS2_SYS_CONTEXT,
10477 nvIndex: TPMI_RH_NV_INDEX,
10478 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10479 newAuth: *const TPM2B_AUTH,
10480 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10481 ) -> TSS2_RC;
10482}
10483extern "C" {
10484 pub fn Tss2_Sys_NV_Certify_Prepare(
10485 sysContext: *mut TSS2_SYS_CONTEXT,
10486 signHandle: TPMI_DH_OBJECT,
10487 authHandle: TPMI_RH_NV_AUTH,
10488 nvIndex: TPMI_RH_NV_INDEX,
10489 qualifyingData: *const TPM2B_DATA,
10490 inScheme: *const TPMT_SIG_SCHEME,
10491 size: UINT16,
10492 offset: UINT16,
10493 ) -> TSS2_RC;
10494}
10495extern "C" {
10496 pub fn Tss2_Sys_NV_Certify_Complete(
10497 sysContext: *mut TSS2_SYS_CONTEXT,
10498 certifyInfo: *mut TPM2B_ATTEST,
10499 signature: *mut TPMT_SIGNATURE,
10500 ) -> TSS2_RC;
10501}
10502extern "C" {
10503 pub fn Tss2_Sys_NV_Certify(
10504 sysContext: *mut TSS2_SYS_CONTEXT,
10505 signHandle: TPMI_DH_OBJECT,
10506 authHandle: TPMI_RH_NV_AUTH,
10507 nvIndex: TPMI_RH_NV_INDEX,
10508 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10509 qualifyingData: *const TPM2B_DATA,
10510 inScheme: *const TPMT_SIG_SCHEME,
10511 size: UINT16,
10512 offset: UINT16,
10513 certifyInfo: *mut TPM2B_ATTEST,
10514 signature: *mut TPMT_SIGNATURE,
10515 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10516 ) -> TSS2_RC;
10517}
10518extern "C" {
10519 pub fn Tss2_Sys_Vendor_TCG_Test_Prepare(
10520 sysContext: *mut TSS2_SYS_CONTEXT,
10521 inputData: *const TPM2B_DATA,
10522 ) -> TSS2_RC;
10523}
10524extern "C" {
10525 pub fn Tss2_Sys_Vendor_TCG_Test_Complete(
10526 sysContext: *mut TSS2_SYS_CONTEXT,
10527 outputData: *mut TPM2B_DATA,
10528 ) -> TSS2_RC;
10529}
10530extern "C" {
10531 pub fn Tss2_Sys_Vendor_TCG_Test(
10532 sysContext: *mut TSS2_SYS_CONTEXT,
10533 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10534 inputData: *const TPM2B_DATA,
10535 outputData: *mut TPM2B_DATA,
10536 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10537 ) -> TSS2_RC;
10538}
10539extern "C" {
10540 pub fn Tss2_Sys_AC_GetCapability_Prepare(
10541 sysContext: *mut TSS2_SYS_CONTEXT,
10542 ac: TPMI_RH_AC,
10543 capability: TPM_AT,
10544 count: UINT32,
10545 ) -> TSS2_RC;
10546}
10547extern "C" {
10548 pub fn Tss2_Sys_AC_GetCapability_Complete(
10549 sysContext: *mut TSS2_SYS_CONTEXT,
10550 moreData: *mut TPMI_YES_NO,
10551 capabilityData: *mut TPML_AC_CAPABILITIES,
10552 ) -> TSS2_RC;
10553}
10554extern "C" {
10555 pub fn Tss2_Sys_AC_GetCapability(
10556 sysContext: *mut TSS2_SYS_CONTEXT,
10557 ac: TPMI_RH_AC,
10558 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10559 capability: TPM_AT,
10560 count: UINT32,
10561 moreData: *mut TPMI_YES_NO,
10562 capabilityData: *mut TPML_AC_CAPABILITIES,
10563 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10564 ) -> TSS2_RC;
10565}
10566extern "C" {
10567 pub fn Tss2_Sys_AC_Send_Prepare(
10568 sysContext: *mut TSS2_SYS_CONTEXT,
10569 sendObject: TPMI_DH_OBJECT,
10570 authHandle: TPMI_RH_NV_AUTH,
10571 ac: TPMI_RH_AC,
10572 acDataIn: *mut TPM2B_MAX_BUFFER,
10573 ) -> TSS2_RC;
10574}
10575extern "C" {
10576 pub fn Tss2_Sys_AC_Send_Complete(
10577 sysContext: *mut TSS2_SYS_CONTEXT,
10578 acDataOut: *mut TPMS_AC_OUTPUT,
10579 ) -> TSS2_RC;
10580}
10581extern "C" {
10582 pub fn Tss2_Sys_AC_Send(
10583 sysContext: *mut TSS2_SYS_CONTEXT,
10584 sendObject: TPMI_DH_OBJECT,
10585 authHandle: TPMI_RH_NV_AUTH,
10586 ac: TPMI_RH_AC,
10587 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10588 acDataIn: *mut TPM2B_MAX_BUFFER,
10589 acDataOut: *mut TPMS_AC_OUTPUT,
10590 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10591 ) -> TSS2_RC;
10592}
10593extern "C" {
10594 pub fn Tss2_Sys_Policy_AC_SendSelect_Prepare(
10595 sysContext: *mut TSS2_SYS_CONTEXT,
10596 policySession: TPMI_SH_POLICY,
10597 objectName: *mut TPM2B_NAME,
10598 authHandleName: *mut TPM2B_NAME,
10599 acName: *mut TPM2B_NAME,
10600 includeObject: TPMI_YES_NO,
10601 ) -> TSS2_RC;
10602}
10603extern "C" {
10604 pub fn Tss2_Sys_Policy_AC_SendSelect_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10605}
10606extern "C" {
10607 pub fn Tss2_Sys_Policy_AC_SendSelect(
10608 sysContext: *mut TSS2_SYS_CONTEXT,
10609 policySession: TPMI_SH_POLICY,
10610 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10611 objectName: *mut TPM2B_NAME,
10612 authHandleName: *mut TPM2B_NAME,
10613 acName: *mut TPM2B_NAME,
10614 includeObject: TPMI_YES_NO,
10615 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10616 ) -> TSS2_RC;
10617}
10618extern "C" {
10619 pub fn Tss2_Sys_PolicyTemplate_Prepare(
10620 sysContext: *mut TSS2_SYS_CONTEXT,
10621 policySession: TPMI_SH_POLICY,
10622 templateHash: *const TPM2B_DIGEST,
10623 ) -> TSS2_RC;
10624}
10625extern "C" {
10626 pub fn Tss2_Sys_PolicyTemplate_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10627}
10628extern "C" {
10629 pub fn Tss2_Sys_PolicyTemplate(
10630 sysContext: *mut TSS2_SYS_CONTEXT,
10631 policySession: TPMI_SH_POLICY,
10632 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10633 templateHash: *const TPM2B_DIGEST,
10634 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10635 ) -> TSS2_RC;
10636}
10637extern "C" {
10638 pub fn Tss2_Sys_CreateLoaded_Prepare(
10639 sysContext: *mut TSS2_SYS_CONTEXT,
10640 parentHandle: TPMI_RH_HIERARCHY,
10641 inSensitive: *const TPM2B_SENSITIVE_CREATE,
10642 inPublic: *const TPM2B_TEMPLATE,
10643 ) -> TSS2_RC;
10644}
10645extern "C" {
10646 pub fn Tss2_Sys_CreateLoaded_Complete(
10647 sysContext: *mut TSS2_SYS_CONTEXT,
10648 objectHandle: *mut TPM2_HANDLE,
10649 outPrivate: *mut TPM2B_PRIVATE,
10650 outPublic: *mut TPM2B_PUBLIC,
10651 name: *mut TPM2B_NAME,
10652 ) -> TSS2_RC;
10653}
10654extern "C" {
10655 pub fn Tss2_Sys_CreateLoaded(
10656 sysContext: *mut TSS2_SYS_CONTEXT,
10657 parentHandle: TPMI_RH_HIERARCHY,
10658 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10659 inSensitive: *const TPM2B_SENSITIVE_CREATE,
10660 inPublic: *const TPM2B_TEMPLATE,
10661 objectHandle: *mut TPM2_HANDLE,
10662 outPrivate: *mut TPM2B_PRIVATE,
10663 outPublic: *mut TPM2B_PUBLIC,
10664 name: *mut TPM2B_NAME,
10665 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10666 ) -> TSS2_RC;
10667}
10668extern "C" {
10669 pub fn Tss2_Sys_PolicyAuthorizeNV_Prepare(
10670 sysContext: *mut TSS2_SYS_CONTEXT,
10671 authHandle: TPMI_RH_NV_AUTH,
10672 nvIndex: TPMI_RH_NV_INDEX,
10673 policySession: TPMI_SH_POLICY,
10674 ) -> TSS2_RC;
10675}
10676extern "C" {
10677 pub fn Tss2_Sys_PolicyAuthorizeNV_Complete(sysContext: *mut TSS2_SYS_CONTEXT) -> TSS2_RC;
10678}
10679extern "C" {
10680 pub fn Tss2_Sys_PolicyAuthorizeNV(
10681 sysContext: *mut TSS2_SYS_CONTEXT,
10682 authHandle: TPMI_RH_NV_AUTH,
10683 nvIndex: TPMI_RH_NV_INDEX,
10684 policySession: TPMI_SH_POLICY,
10685 cmdAuthsArray: *const TSS2L_SYS_AUTH_COMMAND,
10686 rspAuthsArray: *mut TSS2L_SYS_AUTH_RESPONSE,
10687 ) -> TSS2_RC;
10688}
10689pub type ESYS_TR = u32;
10690#[repr(C)]
10691#[derive(Debug, Copy, Clone)]
10692pub struct ESYS_CONTEXT {
10693 _unused: [u8; 0],
10694}
10695extern "C" {
10696 pub fn Esys_Initialize(
10697 esys_context: *mut *mut ESYS_CONTEXT,
10698 tcti: *mut TSS2_TCTI_CONTEXT,
10699 abiVersion: *mut TSS2_ABI_VERSION,
10700 ) -> TSS2_RC;
10701}
10702extern "C" {
10703 pub fn Esys_Finalize(context: *mut *mut ESYS_CONTEXT);
10704}
10705extern "C" {
10706 pub fn Esys_GetTcti(
10707 esys_context: *mut ESYS_CONTEXT,
10708 tcti: *mut *mut TSS2_TCTI_CONTEXT,
10709 ) -> TSS2_RC;
10710}
10711extern "C" {
10712 pub fn Esys_GetPollHandles(
10713 esys_context: *mut ESYS_CONTEXT,
10714 handles: *mut *mut TSS2_TCTI_POLL_HANDLE,
10715 count: *mut size_t,
10716 ) -> TSS2_RC;
10717}
10718extern "C" {
10719 pub fn Esys_SetTimeout(esys_context: *mut ESYS_CONTEXT, timeout: i32) -> TSS2_RC;
10720}
10721extern "C" {
10722 pub fn Esys_TR_Serialize(
10723 esys_context: *mut ESYS_CONTEXT,
10724 object: ESYS_TR,
10725 buffer: *mut *mut u8,
10726 buffer_size: *mut size_t,
10727 ) -> TSS2_RC;
10728}
10729extern "C" {
10730 pub fn Esys_TR_Deserialize(
10731 esys_context: *mut ESYS_CONTEXT,
10732 buffer: *const u8,
10733 buffer_size: size_t,
10734 esys_handle: *mut ESYS_TR,
10735 ) -> TSS2_RC;
10736}
10737extern "C" {
10738 pub fn Esys_TR_FromTPMPublic_Async(
10739 esysContext: *mut ESYS_CONTEXT,
10740 tpm_handle: TPM2_HANDLE,
10741 optionalSession1: ESYS_TR,
10742 optionalSession2: ESYS_TR,
10743 optionalSession3: ESYS_TR,
10744 ) -> TSS2_RC;
10745}
10746extern "C" {
10747 pub fn Esys_TR_FromTPMPublic_Finish(
10748 esysContext: *mut ESYS_CONTEXT,
10749 object: *mut ESYS_TR,
10750 ) -> TSS2_RC;
10751}
10752extern "C" {
10753 pub fn Esys_TR_FromTPMPublic(
10754 esysContext: *mut ESYS_CONTEXT,
10755 tpm_handle: TPM2_HANDLE,
10756 optionalSession1: ESYS_TR,
10757 optionalSession2: ESYS_TR,
10758 optionalSession3: ESYS_TR,
10759 object: *mut ESYS_TR,
10760 ) -> TSS2_RC;
10761}
10762extern "C" {
10763 pub fn Esys_TR_Close(esys_context: *mut ESYS_CONTEXT, rsrc_handle: *mut ESYS_TR) -> TSS2_RC;
10764}
10765extern "C" {
10766 pub fn Esys_TR_SetAuth(
10767 esysContext: *mut ESYS_CONTEXT,
10768 handle: ESYS_TR,
10769 authValue: *const TPM2B_AUTH,
10770 ) -> TSS2_RC;
10771}
10772extern "C" {
10773 pub fn Esys_TR_GetName(
10774 esysContext: *mut ESYS_CONTEXT,
10775 handle: ESYS_TR,
10776 name: *mut *mut TPM2B_NAME,
10777 ) -> TSS2_RC;
10778}
10779extern "C" {
10780 pub fn Esys_TRSess_GetAttributes(
10781 esysContext: *mut ESYS_CONTEXT,
10782 session: ESYS_TR,
10783 flags: *mut TPMA_SESSION,
10784 ) -> TSS2_RC;
10785}
10786extern "C" {
10787 pub fn Esys_TRSess_SetAttributes(
10788 esysContext: *mut ESYS_CONTEXT,
10789 session: ESYS_TR,
10790 flags: TPMA_SESSION,
10791 mask: TPMA_SESSION,
10792 ) -> TSS2_RC;
10793}
10794extern "C" {
10795 pub fn Esys_TRSess_GetNonceTPM(
10796 esysContext: *mut ESYS_CONTEXT,
10797 session: ESYS_TR,
10798 nonceTPM: *mut *mut TPM2B_NONCE,
10799 ) -> TSS2_RC;
10800}
10801extern "C" {
10802 pub fn Esys_TR_GetTpmHandle(
10803 esys_context: *mut ESYS_CONTEXT,
10804 esys_handle: ESYS_TR,
10805 tpm_handle: *mut TPM2_HANDLE,
10806 ) -> TSS2_RC;
10807}
10808extern "C" {
10809 pub fn Esys_TRSess_GetAuthRequired(
10810 esys_context: *mut ESYS_CONTEXT,
10811 esys_handle: ESYS_TR,
10812 auth_needed: *mut TPMI_YES_NO,
10813 ) -> TSS2_RC;
10814}
10815extern "C" {
10816 pub fn Esys_Startup(esysContext: *mut ESYS_CONTEXT, startupType: TPM2_SU) -> TSS2_RC;
10817}
10818extern "C" {
10819 pub fn Esys_Startup_Async(esysContext: *mut ESYS_CONTEXT, startupType: TPM2_SU) -> TSS2_RC;
10820}
10821extern "C" {
10822 pub fn Esys_Startup_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10823}
10824extern "C" {
10825 pub fn Esys_Shutdown(
10826 esysContext: *mut ESYS_CONTEXT,
10827 shandle1: ESYS_TR,
10828 shandle2: ESYS_TR,
10829 shandle3: ESYS_TR,
10830 shutdownType: TPM2_SU,
10831 ) -> TSS2_RC;
10832}
10833extern "C" {
10834 pub fn Esys_Shutdown_Async(
10835 esysContext: *mut ESYS_CONTEXT,
10836 shandle1: ESYS_TR,
10837 shandle2: ESYS_TR,
10838 shandle3: ESYS_TR,
10839 shutdownType: TPM2_SU,
10840 ) -> TSS2_RC;
10841}
10842extern "C" {
10843 pub fn Esys_Shutdown_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10844}
10845extern "C" {
10846 pub fn Esys_SelfTest(
10847 esysContext: *mut ESYS_CONTEXT,
10848 shandle1: ESYS_TR,
10849 shandle2: ESYS_TR,
10850 shandle3: ESYS_TR,
10851 fullTest: TPMI_YES_NO,
10852 ) -> TSS2_RC;
10853}
10854extern "C" {
10855 pub fn Esys_SelfTest_Async(
10856 esysContext: *mut ESYS_CONTEXT,
10857 shandle1: ESYS_TR,
10858 shandle2: ESYS_TR,
10859 shandle3: ESYS_TR,
10860 fullTest: TPMI_YES_NO,
10861 ) -> TSS2_RC;
10862}
10863extern "C" {
10864 pub fn Esys_SelfTest_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10865}
10866extern "C" {
10867 pub fn Esys_IncrementalSelfTest(
10868 esysContext: *mut ESYS_CONTEXT,
10869 shandle1: ESYS_TR,
10870 shandle2: ESYS_TR,
10871 shandle3: ESYS_TR,
10872 toTest: *const TPML_ALG,
10873 toDoList: *mut *mut TPML_ALG,
10874 ) -> TSS2_RC;
10875}
10876extern "C" {
10877 pub fn Esys_IncrementalSelfTest_Async(
10878 esysContext: *mut ESYS_CONTEXT,
10879 shandle1: ESYS_TR,
10880 shandle2: ESYS_TR,
10881 shandle3: ESYS_TR,
10882 toTest: *const TPML_ALG,
10883 ) -> TSS2_RC;
10884}
10885extern "C" {
10886 pub fn Esys_IncrementalSelfTest_Finish(
10887 esysContext: *mut ESYS_CONTEXT,
10888 toDoList: *mut *mut TPML_ALG,
10889 ) -> TSS2_RC;
10890}
10891extern "C" {
10892 pub fn Esys_GetTestResult(
10893 esysContext: *mut ESYS_CONTEXT,
10894 shandle1: ESYS_TR,
10895 shandle2: ESYS_TR,
10896 shandle3: ESYS_TR,
10897 outData: *mut *mut TPM2B_MAX_BUFFER,
10898 testResult: *mut TPM2_RC,
10899 ) -> TSS2_RC;
10900}
10901extern "C" {
10902 pub fn Esys_GetTestResult_Async(
10903 esysContext: *mut ESYS_CONTEXT,
10904 shandle1: ESYS_TR,
10905 shandle2: ESYS_TR,
10906 shandle3: ESYS_TR,
10907 ) -> TSS2_RC;
10908}
10909extern "C" {
10910 pub fn Esys_GetTestResult_Finish(
10911 esysContext: *mut ESYS_CONTEXT,
10912 outData: *mut *mut TPM2B_MAX_BUFFER,
10913 testResult: *mut TPM2_RC,
10914 ) -> TSS2_RC;
10915}
10916extern "C" {
10917 pub fn Esys_StartAuthSession(
10918 esysContext: *mut ESYS_CONTEXT,
10919 tpmKey: ESYS_TR,
10920 bind: ESYS_TR,
10921 shandle1: ESYS_TR,
10922 shandle2: ESYS_TR,
10923 shandle3: ESYS_TR,
10924 nonceCaller: *const TPM2B_NONCE,
10925 sessionType: TPM2_SE,
10926 symmetric: *const TPMT_SYM_DEF,
10927 authHash: TPMI_ALG_HASH,
10928 sessionHandle: *mut ESYS_TR,
10929 ) -> TSS2_RC;
10930}
10931extern "C" {
10932 pub fn Esys_StartAuthSession_Async(
10933 esysContext: *mut ESYS_CONTEXT,
10934 tpmKey: ESYS_TR,
10935 bind: ESYS_TR,
10936 shandle1: ESYS_TR,
10937 shandle2: ESYS_TR,
10938 shandle3: ESYS_TR,
10939 nonceCaller: *const TPM2B_NONCE,
10940 sessionType: TPM2_SE,
10941 symmetric: *const TPMT_SYM_DEF,
10942 authHash: TPMI_ALG_HASH,
10943 ) -> TSS2_RC;
10944}
10945extern "C" {
10946 pub fn Esys_StartAuthSession_Finish(
10947 esysContext: *mut ESYS_CONTEXT,
10948 sessionHandle: *mut ESYS_TR,
10949 ) -> TSS2_RC;
10950}
10951extern "C" {
10952 pub fn Esys_PolicyRestart(
10953 esysContext: *mut ESYS_CONTEXT,
10954 sessionHandle: ESYS_TR,
10955 shandle1: ESYS_TR,
10956 shandle2: ESYS_TR,
10957 shandle3: ESYS_TR,
10958 ) -> TSS2_RC;
10959}
10960extern "C" {
10961 pub fn Esys_PolicyRestart_Async(
10962 esysContext: *mut ESYS_CONTEXT,
10963 sessionHandle: ESYS_TR,
10964 shandle1: ESYS_TR,
10965 shandle2: ESYS_TR,
10966 shandle3: ESYS_TR,
10967 ) -> TSS2_RC;
10968}
10969extern "C" {
10970 pub fn Esys_PolicyRestart_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
10971}
10972extern "C" {
10973 pub fn Esys_Create(
10974 esysContext: *mut ESYS_CONTEXT,
10975 parentHandle: ESYS_TR,
10976 shandle1: ESYS_TR,
10977 shandle2: ESYS_TR,
10978 shandle3: ESYS_TR,
10979 inSensitive: *const TPM2B_SENSITIVE_CREATE,
10980 inPublic: *const TPM2B_PUBLIC,
10981 outsideInfo: *const TPM2B_DATA,
10982 creationPCR: *const TPML_PCR_SELECTION,
10983 outPrivate: *mut *mut TPM2B_PRIVATE,
10984 outPublic: *mut *mut TPM2B_PUBLIC,
10985 creationData: *mut *mut TPM2B_CREATION_DATA,
10986 creationHash: *mut *mut TPM2B_DIGEST,
10987 creationTicket: *mut *mut TPMT_TK_CREATION,
10988 ) -> TSS2_RC;
10989}
10990extern "C" {
10991 pub fn Esys_Create_Async(
10992 esysContext: *mut ESYS_CONTEXT,
10993 parentHandle: ESYS_TR,
10994 shandle1: ESYS_TR,
10995 shandle2: ESYS_TR,
10996 shandle3: ESYS_TR,
10997 inSensitive: *const TPM2B_SENSITIVE_CREATE,
10998 inPublic: *const TPM2B_PUBLIC,
10999 outsideInfo: *const TPM2B_DATA,
11000 creationPCR: *const TPML_PCR_SELECTION,
11001 ) -> TSS2_RC;
11002}
11003extern "C" {
11004 pub fn Esys_Create_Finish(
11005 esysContext: *mut ESYS_CONTEXT,
11006 outPrivate: *mut *mut TPM2B_PRIVATE,
11007 outPublic: *mut *mut TPM2B_PUBLIC,
11008 creationData: *mut *mut TPM2B_CREATION_DATA,
11009 creationHash: *mut *mut TPM2B_DIGEST,
11010 creationTicket: *mut *mut TPMT_TK_CREATION,
11011 ) -> TSS2_RC;
11012}
11013extern "C" {
11014 pub fn Esys_Load(
11015 esysContext: *mut ESYS_CONTEXT,
11016 parentHandle: ESYS_TR,
11017 shandle1: ESYS_TR,
11018 shandle2: ESYS_TR,
11019 shandle3: ESYS_TR,
11020 inPrivate: *const TPM2B_PRIVATE,
11021 inPublic: *const TPM2B_PUBLIC,
11022 objectHandle: *mut ESYS_TR,
11023 ) -> TSS2_RC;
11024}
11025extern "C" {
11026 pub fn Esys_Load_Async(
11027 esysContext: *mut ESYS_CONTEXT,
11028 parentHandle: ESYS_TR,
11029 shandle1: ESYS_TR,
11030 shandle2: ESYS_TR,
11031 shandle3: ESYS_TR,
11032 inPrivate: *const TPM2B_PRIVATE,
11033 inPublic: *const TPM2B_PUBLIC,
11034 ) -> TSS2_RC;
11035}
11036extern "C" {
11037 pub fn Esys_Load_Finish(esysContext: *mut ESYS_CONTEXT, objectHandle: *mut ESYS_TR) -> TSS2_RC;
11038}
11039extern "C" {
11040 pub fn Esys_LoadExternal(
11041 esysContext: *mut ESYS_CONTEXT,
11042 shandle1: ESYS_TR,
11043 shandle2: ESYS_TR,
11044 shandle3: ESYS_TR,
11045 inPrivate: *const TPM2B_SENSITIVE,
11046 inPublic: *const TPM2B_PUBLIC,
11047 hierarchy: TPMI_RH_HIERARCHY,
11048 objectHandle: *mut ESYS_TR,
11049 ) -> TSS2_RC;
11050}
11051extern "C" {
11052 pub fn Esys_LoadExternal_Async(
11053 esysContext: *mut ESYS_CONTEXT,
11054 shandle1: ESYS_TR,
11055 shandle2: ESYS_TR,
11056 shandle3: ESYS_TR,
11057 inPrivate: *const TPM2B_SENSITIVE,
11058 inPublic: *const TPM2B_PUBLIC,
11059 hierarchy: TPMI_RH_HIERARCHY,
11060 ) -> TSS2_RC;
11061}
11062extern "C" {
11063 pub fn Esys_LoadExternal_Finish(
11064 esysContext: *mut ESYS_CONTEXT,
11065 objectHandle: *mut ESYS_TR,
11066 ) -> TSS2_RC;
11067}
11068extern "C" {
11069 pub fn Esys_ReadPublic(
11070 esysContext: *mut ESYS_CONTEXT,
11071 objectHandle: ESYS_TR,
11072 shandle1: ESYS_TR,
11073 shandle2: ESYS_TR,
11074 shandle3: ESYS_TR,
11075 outPublic: *mut *mut TPM2B_PUBLIC,
11076 name: *mut *mut TPM2B_NAME,
11077 qualifiedName: *mut *mut TPM2B_NAME,
11078 ) -> TSS2_RC;
11079}
11080extern "C" {
11081 pub fn Esys_ReadPublic_Async(
11082 esysContext: *mut ESYS_CONTEXT,
11083 objectHandle: ESYS_TR,
11084 shandle1: ESYS_TR,
11085 shandle2: ESYS_TR,
11086 shandle3: ESYS_TR,
11087 ) -> TSS2_RC;
11088}
11089extern "C" {
11090 pub fn Esys_ReadPublic_Finish(
11091 esysContext: *mut ESYS_CONTEXT,
11092 outPublic: *mut *mut TPM2B_PUBLIC,
11093 name: *mut *mut TPM2B_NAME,
11094 qualifiedName: *mut *mut TPM2B_NAME,
11095 ) -> TSS2_RC;
11096}
11097extern "C" {
11098 pub fn Esys_ActivateCredential(
11099 esysContext: *mut ESYS_CONTEXT,
11100 activateHandle: ESYS_TR,
11101 keyHandle: ESYS_TR,
11102 shandle1: ESYS_TR,
11103 shandle2: ESYS_TR,
11104 shandle3: ESYS_TR,
11105 credentialBlob: *const TPM2B_ID_OBJECT,
11106 secret: *const TPM2B_ENCRYPTED_SECRET,
11107 certInfo: *mut *mut TPM2B_DIGEST,
11108 ) -> TSS2_RC;
11109}
11110extern "C" {
11111 pub fn Esys_ActivateCredential_Async(
11112 esysContext: *mut ESYS_CONTEXT,
11113 activateHandle: ESYS_TR,
11114 keyHandle: ESYS_TR,
11115 shandle1: ESYS_TR,
11116 shandle2: ESYS_TR,
11117 shandle3: ESYS_TR,
11118 credentialBlob: *const TPM2B_ID_OBJECT,
11119 secret: *const TPM2B_ENCRYPTED_SECRET,
11120 ) -> TSS2_RC;
11121}
11122extern "C" {
11123 pub fn Esys_ActivateCredential_Finish(
11124 esysContext: *mut ESYS_CONTEXT,
11125 certInfo: *mut *mut TPM2B_DIGEST,
11126 ) -> TSS2_RC;
11127}
11128extern "C" {
11129 pub fn Esys_MakeCredential(
11130 esysContext: *mut ESYS_CONTEXT,
11131 handle: ESYS_TR,
11132 shandle1: ESYS_TR,
11133 shandle2: ESYS_TR,
11134 shandle3: ESYS_TR,
11135 credential: *const TPM2B_DIGEST,
11136 objectName: *const TPM2B_NAME,
11137 credentialBlob: *mut *mut TPM2B_ID_OBJECT,
11138 secret: *mut *mut TPM2B_ENCRYPTED_SECRET,
11139 ) -> TSS2_RC;
11140}
11141extern "C" {
11142 pub fn Esys_MakeCredential_Async(
11143 esysContext: *mut ESYS_CONTEXT,
11144 handle: ESYS_TR,
11145 shandle1: ESYS_TR,
11146 shandle2: ESYS_TR,
11147 shandle3: ESYS_TR,
11148 credential: *const TPM2B_DIGEST,
11149 objectName: *const TPM2B_NAME,
11150 ) -> TSS2_RC;
11151}
11152extern "C" {
11153 pub fn Esys_MakeCredential_Finish(
11154 esysContext: *mut ESYS_CONTEXT,
11155 credentialBlob: *mut *mut TPM2B_ID_OBJECT,
11156 secret: *mut *mut TPM2B_ENCRYPTED_SECRET,
11157 ) -> TSS2_RC;
11158}
11159extern "C" {
11160 pub fn Esys_Unseal(
11161 esysContext: *mut ESYS_CONTEXT,
11162 itemHandle: ESYS_TR,
11163 shandle1: ESYS_TR,
11164 shandle2: ESYS_TR,
11165 shandle3: ESYS_TR,
11166 outData: *mut *mut TPM2B_SENSITIVE_DATA,
11167 ) -> TSS2_RC;
11168}
11169extern "C" {
11170 pub fn Esys_Unseal_Async(
11171 esysContext: *mut ESYS_CONTEXT,
11172 itemHandle: ESYS_TR,
11173 shandle1: ESYS_TR,
11174 shandle2: ESYS_TR,
11175 shandle3: ESYS_TR,
11176 ) -> TSS2_RC;
11177}
11178extern "C" {
11179 pub fn Esys_Unseal_Finish(
11180 esysContext: *mut ESYS_CONTEXT,
11181 outData: *mut *mut TPM2B_SENSITIVE_DATA,
11182 ) -> TSS2_RC;
11183}
11184extern "C" {
11185 pub fn Esys_ObjectChangeAuth(
11186 esysContext: *mut ESYS_CONTEXT,
11187 objectHandle: ESYS_TR,
11188 parentHandle: ESYS_TR,
11189 shandle1: ESYS_TR,
11190 shandle2: ESYS_TR,
11191 shandle3: ESYS_TR,
11192 newAuth: *const TPM2B_AUTH,
11193 outPrivate: *mut *mut TPM2B_PRIVATE,
11194 ) -> TSS2_RC;
11195}
11196extern "C" {
11197 pub fn Esys_ObjectChangeAuth_Async(
11198 esysContext: *mut ESYS_CONTEXT,
11199 objectHandle: ESYS_TR,
11200 parentHandle: ESYS_TR,
11201 shandle1: ESYS_TR,
11202 shandle2: ESYS_TR,
11203 shandle3: ESYS_TR,
11204 newAuth: *const TPM2B_AUTH,
11205 ) -> TSS2_RC;
11206}
11207extern "C" {
11208 pub fn Esys_ObjectChangeAuth_Finish(
11209 esysContext: *mut ESYS_CONTEXT,
11210 outPrivate: *mut *mut TPM2B_PRIVATE,
11211 ) -> TSS2_RC;
11212}
11213extern "C" {
11214 pub fn Esys_CreateLoaded(
11215 esysContext: *mut ESYS_CONTEXT,
11216 parentHandle: ESYS_TR,
11217 shandle1: ESYS_TR,
11218 shandle2: ESYS_TR,
11219 shandle3: ESYS_TR,
11220 inSensitive: *const TPM2B_SENSITIVE_CREATE,
11221 inPublic: *const TPM2B_TEMPLATE,
11222 objectHandle: *mut ESYS_TR,
11223 outPrivate: *mut *mut TPM2B_PRIVATE,
11224 outPublic: *mut *mut TPM2B_PUBLIC,
11225 ) -> TSS2_RC;
11226}
11227extern "C" {
11228 pub fn Esys_CreateLoaded_Async(
11229 esysContext: *mut ESYS_CONTEXT,
11230 parentHandle: ESYS_TR,
11231 shandle1: ESYS_TR,
11232 shandle2: ESYS_TR,
11233 shandle3: ESYS_TR,
11234 inSensitive: *const TPM2B_SENSITIVE_CREATE,
11235 inPublic: *const TPM2B_TEMPLATE,
11236 ) -> TSS2_RC;
11237}
11238extern "C" {
11239 pub fn Esys_CreateLoaded_Finish(
11240 esysContext: *mut ESYS_CONTEXT,
11241 objectHandle: *mut ESYS_TR,
11242 outPrivate: *mut *mut TPM2B_PRIVATE,
11243 outPublic: *mut *mut TPM2B_PUBLIC,
11244 ) -> TSS2_RC;
11245}
11246extern "C" {
11247 pub fn Esys_Duplicate(
11248 esysContext: *mut ESYS_CONTEXT,
11249 objectHandle: ESYS_TR,
11250 newParentHandle: ESYS_TR,
11251 shandle1: ESYS_TR,
11252 shandle2: ESYS_TR,
11253 shandle3: ESYS_TR,
11254 encryptionKeyIn: *const TPM2B_DATA,
11255 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
11256 encryptionKeyOut: *mut *mut TPM2B_DATA,
11257 duplicate: *mut *mut TPM2B_PRIVATE,
11258 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
11259 ) -> TSS2_RC;
11260}
11261extern "C" {
11262 pub fn Esys_Duplicate_Async(
11263 esysContext: *mut ESYS_CONTEXT,
11264 objectHandle: ESYS_TR,
11265 newParentHandle: ESYS_TR,
11266 shandle1: ESYS_TR,
11267 shandle2: ESYS_TR,
11268 shandle3: ESYS_TR,
11269 encryptionKeyIn: *const TPM2B_DATA,
11270 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
11271 ) -> TSS2_RC;
11272}
11273extern "C" {
11274 pub fn Esys_Duplicate_Finish(
11275 esysContext: *mut ESYS_CONTEXT,
11276 encryptionKeyOut: *mut *mut TPM2B_DATA,
11277 duplicate: *mut *mut TPM2B_PRIVATE,
11278 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
11279 ) -> TSS2_RC;
11280}
11281extern "C" {
11282 pub fn Esys_Rewrap(
11283 esysContext: *mut ESYS_CONTEXT,
11284 oldParent: ESYS_TR,
11285 newParent: ESYS_TR,
11286 shandle1: ESYS_TR,
11287 shandle2: ESYS_TR,
11288 shandle3: ESYS_TR,
11289 inDuplicate: *const TPM2B_PRIVATE,
11290 name: *const TPM2B_NAME,
11291 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
11292 outDuplicate: *mut *mut TPM2B_PRIVATE,
11293 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
11294 ) -> TSS2_RC;
11295}
11296extern "C" {
11297 pub fn Esys_Rewrap_Async(
11298 esysContext: *mut ESYS_CONTEXT,
11299 oldParent: ESYS_TR,
11300 newParent: ESYS_TR,
11301 shandle1: ESYS_TR,
11302 shandle2: ESYS_TR,
11303 shandle3: ESYS_TR,
11304 inDuplicate: *const TPM2B_PRIVATE,
11305 name: *const TPM2B_NAME,
11306 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
11307 ) -> TSS2_RC;
11308}
11309extern "C" {
11310 pub fn Esys_Rewrap_Finish(
11311 esysContext: *mut ESYS_CONTEXT,
11312 outDuplicate: *mut *mut TPM2B_PRIVATE,
11313 outSymSeed: *mut *mut TPM2B_ENCRYPTED_SECRET,
11314 ) -> TSS2_RC;
11315}
11316extern "C" {
11317 pub fn Esys_Import(
11318 esysContext: *mut ESYS_CONTEXT,
11319 parentHandle: ESYS_TR,
11320 shandle1: ESYS_TR,
11321 shandle2: ESYS_TR,
11322 shandle3: ESYS_TR,
11323 encryptionKey: *const TPM2B_DATA,
11324 objectPublic: *const TPM2B_PUBLIC,
11325 duplicate: *const TPM2B_PRIVATE,
11326 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
11327 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
11328 outPrivate: *mut *mut TPM2B_PRIVATE,
11329 ) -> TSS2_RC;
11330}
11331extern "C" {
11332 pub fn Esys_Import_Async(
11333 esysContext: *mut ESYS_CONTEXT,
11334 parentHandle: ESYS_TR,
11335 shandle1: ESYS_TR,
11336 shandle2: ESYS_TR,
11337 shandle3: ESYS_TR,
11338 encryptionKey: *const TPM2B_DATA,
11339 objectPublic: *const TPM2B_PUBLIC,
11340 duplicate: *const TPM2B_PRIVATE,
11341 inSymSeed: *const TPM2B_ENCRYPTED_SECRET,
11342 symmetricAlg: *const TPMT_SYM_DEF_OBJECT,
11343 ) -> TSS2_RC;
11344}
11345extern "C" {
11346 pub fn Esys_Import_Finish(
11347 esysContext: *mut ESYS_CONTEXT,
11348 outPrivate: *mut *mut TPM2B_PRIVATE,
11349 ) -> TSS2_RC;
11350}
11351extern "C" {
11352 pub fn Esys_RSA_Encrypt(
11353 esysContext: *mut ESYS_CONTEXT,
11354 keyHandle: ESYS_TR,
11355 shandle1: ESYS_TR,
11356 shandle2: ESYS_TR,
11357 shandle3: ESYS_TR,
11358 message: *const TPM2B_PUBLIC_KEY_RSA,
11359 inScheme: *const TPMT_RSA_DECRYPT,
11360 label: *const TPM2B_DATA,
11361 outData: *mut *mut TPM2B_PUBLIC_KEY_RSA,
11362 ) -> TSS2_RC;
11363}
11364extern "C" {
11365 pub fn Esys_RSA_Encrypt_Async(
11366 esysContext: *mut ESYS_CONTEXT,
11367 keyHandle: ESYS_TR,
11368 shandle1: ESYS_TR,
11369 shandle2: ESYS_TR,
11370 shandle3: ESYS_TR,
11371 message: *const TPM2B_PUBLIC_KEY_RSA,
11372 inScheme: *const TPMT_RSA_DECRYPT,
11373 label: *const TPM2B_DATA,
11374 ) -> TSS2_RC;
11375}
11376extern "C" {
11377 pub fn Esys_RSA_Encrypt_Finish(
11378 esysContext: *mut ESYS_CONTEXT,
11379 outData: *mut *mut TPM2B_PUBLIC_KEY_RSA,
11380 ) -> TSS2_RC;
11381}
11382extern "C" {
11383 pub fn Esys_RSA_Decrypt(
11384 esysContext: *mut ESYS_CONTEXT,
11385 keyHandle: ESYS_TR,
11386 shandle1: ESYS_TR,
11387 shandle2: ESYS_TR,
11388 shandle3: ESYS_TR,
11389 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
11390 inScheme: *const TPMT_RSA_DECRYPT,
11391 label: *const TPM2B_DATA,
11392 message: *mut *mut TPM2B_PUBLIC_KEY_RSA,
11393 ) -> TSS2_RC;
11394}
11395extern "C" {
11396 pub fn Esys_RSA_Decrypt_Async(
11397 esysContext: *mut ESYS_CONTEXT,
11398 keyHandle: ESYS_TR,
11399 shandle1: ESYS_TR,
11400 shandle2: ESYS_TR,
11401 shandle3: ESYS_TR,
11402 cipherText: *const TPM2B_PUBLIC_KEY_RSA,
11403 inScheme: *const TPMT_RSA_DECRYPT,
11404 label: *const TPM2B_DATA,
11405 ) -> TSS2_RC;
11406}
11407extern "C" {
11408 pub fn Esys_RSA_Decrypt_Finish(
11409 esysContext: *mut ESYS_CONTEXT,
11410 message: *mut *mut TPM2B_PUBLIC_KEY_RSA,
11411 ) -> TSS2_RC;
11412}
11413extern "C" {
11414 pub fn Esys_ECDH_KeyGen(
11415 esysContext: *mut ESYS_CONTEXT,
11416 keyHandle: ESYS_TR,
11417 shandle1: ESYS_TR,
11418 shandle2: ESYS_TR,
11419 shandle3: ESYS_TR,
11420 zPoint: *mut *mut TPM2B_ECC_POINT,
11421 pubPoint: *mut *mut TPM2B_ECC_POINT,
11422 ) -> TSS2_RC;
11423}
11424extern "C" {
11425 pub fn Esys_ECDH_KeyGen_Async(
11426 esysContext: *mut ESYS_CONTEXT,
11427 keyHandle: ESYS_TR,
11428 shandle1: ESYS_TR,
11429 shandle2: ESYS_TR,
11430 shandle3: ESYS_TR,
11431 ) -> TSS2_RC;
11432}
11433extern "C" {
11434 pub fn Esys_ECDH_KeyGen_Finish(
11435 esysContext: *mut ESYS_CONTEXT,
11436 zPoint: *mut *mut TPM2B_ECC_POINT,
11437 pubPoint: *mut *mut TPM2B_ECC_POINT,
11438 ) -> TSS2_RC;
11439}
11440extern "C" {
11441 pub fn Esys_ECDH_ZGen(
11442 esysContext: *mut ESYS_CONTEXT,
11443 keyHandle: ESYS_TR,
11444 shandle1: ESYS_TR,
11445 shandle2: ESYS_TR,
11446 shandle3: ESYS_TR,
11447 inPoint: *const TPM2B_ECC_POINT,
11448 outPoint: *mut *mut TPM2B_ECC_POINT,
11449 ) -> TSS2_RC;
11450}
11451extern "C" {
11452 pub fn Esys_ECDH_ZGen_Async(
11453 esysContext: *mut ESYS_CONTEXT,
11454 keyHandle: ESYS_TR,
11455 shandle1: ESYS_TR,
11456 shandle2: ESYS_TR,
11457 shandle3: ESYS_TR,
11458 inPoint: *const TPM2B_ECC_POINT,
11459 ) -> TSS2_RC;
11460}
11461extern "C" {
11462 pub fn Esys_ECDH_ZGen_Finish(
11463 esysContext: *mut ESYS_CONTEXT,
11464 outPoint: *mut *mut TPM2B_ECC_POINT,
11465 ) -> TSS2_RC;
11466}
11467extern "C" {
11468 pub fn Esys_ECC_Parameters(
11469 esysContext: *mut ESYS_CONTEXT,
11470 shandle1: ESYS_TR,
11471 shandle2: ESYS_TR,
11472 shandle3: ESYS_TR,
11473 curveID: TPMI_ECC_CURVE,
11474 parameters: *mut *mut TPMS_ALGORITHM_DETAIL_ECC,
11475 ) -> TSS2_RC;
11476}
11477extern "C" {
11478 pub fn Esys_ECC_Parameters_Async(
11479 esysContext: *mut ESYS_CONTEXT,
11480 shandle1: ESYS_TR,
11481 shandle2: ESYS_TR,
11482 shandle3: ESYS_TR,
11483 curveID: TPMI_ECC_CURVE,
11484 ) -> TSS2_RC;
11485}
11486extern "C" {
11487 pub fn Esys_ECC_Parameters_Finish(
11488 esysContext: *mut ESYS_CONTEXT,
11489 parameters: *mut *mut TPMS_ALGORITHM_DETAIL_ECC,
11490 ) -> TSS2_RC;
11491}
11492extern "C" {
11493 pub fn Esys_ZGen_2Phase(
11494 esysContext: *mut ESYS_CONTEXT,
11495 keyA: ESYS_TR,
11496 shandle1: ESYS_TR,
11497 shandle2: ESYS_TR,
11498 shandle3: ESYS_TR,
11499 inQsB: *const TPM2B_ECC_POINT,
11500 inQeB: *const TPM2B_ECC_POINT,
11501 inScheme: TPMI_ECC_KEY_EXCHANGE,
11502 counter: UINT16,
11503 outZ1: *mut *mut TPM2B_ECC_POINT,
11504 outZ2: *mut *mut TPM2B_ECC_POINT,
11505 ) -> TSS2_RC;
11506}
11507extern "C" {
11508 pub fn Esys_ZGen_2Phase_Async(
11509 esysContext: *mut ESYS_CONTEXT,
11510 keyA: ESYS_TR,
11511 shandle1: ESYS_TR,
11512 shandle2: ESYS_TR,
11513 shandle3: ESYS_TR,
11514 inQsB: *const TPM2B_ECC_POINT,
11515 inQeB: *const TPM2B_ECC_POINT,
11516 inScheme: TPMI_ECC_KEY_EXCHANGE,
11517 counter: UINT16,
11518 ) -> TSS2_RC;
11519}
11520extern "C" {
11521 pub fn Esys_ZGen_2Phase_Finish(
11522 esysContext: *mut ESYS_CONTEXT,
11523 outZ1: *mut *mut TPM2B_ECC_POINT,
11524 outZ2: *mut *mut TPM2B_ECC_POINT,
11525 ) -> TSS2_RC;
11526}
11527extern "C" {
11528 pub fn Esys_EncryptDecrypt(
11529 esysContext: *mut ESYS_CONTEXT,
11530 keyHandle: ESYS_TR,
11531 shandle1: ESYS_TR,
11532 shandle2: ESYS_TR,
11533 shandle3: ESYS_TR,
11534 decrypt: TPMI_YES_NO,
11535 mode: TPMI_ALG_SYM_MODE,
11536 ivIn: *const TPM2B_IV,
11537 inData: *const TPM2B_MAX_BUFFER,
11538 outData: *mut *mut TPM2B_MAX_BUFFER,
11539 ivOut: *mut *mut TPM2B_IV,
11540 ) -> TSS2_RC;
11541}
11542extern "C" {
11543 pub fn Esys_EncryptDecrypt_Async(
11544 esysContext: *mut ESYS_CONTEXT,
11545 keyHandle: ESYS_TR,
11546 shandle1: ESYS_TR,
11547 shandle2: ESYS_TR,
11548 shandle3: ESYS_TR,
11549 decrypt: TPMI_YES_NO,
11550 mode: TPMI_ALG_SYM_MODE,
11551 ivIn: *const TPM2B_IV,
11552 inData: *const TPM2B_MAX_BUFFER,
11553 ) -> TSS2_RC;
11554}
11555extern "C" {
11556 pub fn Esys_EncryptDecrypt_Finish(
11557 esysContext: *mut ESYS_CONTEXT,
11558 outData: *mut *mut TPM2B_MAX_BUFFER,
11559 ivOut: *mut *mut TPM2B_IV,
11560 ) -> TSS2_RC;
11561}
11562extern "C" {
11563 pub fn Esys_EncryptDecrypt2(
11564 esysContext: *mut ESYS_CONTEXT,
11565 keyHandle: ESYS_TR,
11566 shandle1: ESYS_TR,
11567 shandle2: ESYS_TR,
11568 shandle3: ESYS_TR,
11569 inData: *const TPM2B_MAX_BUFFER,
11570 decrypt: TPMI_YES_NO,
11571 mode: TPMI_ALG_SYM_MODE,
11572 ivIn: *const TPM2B_IV,
11573 outData: *mut *mut TPM2B_MAX_BUFFER,
11574 ivOut: *mut *mut TPM2B_IV,
11575 ) -> TSS2_RC;
11576}
11577extern "C" {
11578 pub fn Esys_EncryptDecrypt2_Async(
11579 esysContext: *mut ESYS_CONTEXT,
11580 keyHandle: ESYS_TR,
11581 shandle1: ESYS_TR,
11582 shandle2: ESYS_TR,
11583 shandle3: ESYS_TR,
11584 inData: *const TPM2B_MAX_BUFFER,
11585 decrypt: TPMI_YES_NO,
11586 mode: TPMI_ALG_SYM_MODE,
11587 ivIn: *const TPM2B_IV,
11588 ) -> TSS2_RC;
11589}
11590extern "C" {
11591 pub fn Esys_EncryptDecrypt2_Finish(
11592 esysContext: *mut ESYS_CONTEXT,
11593 outData: *mut *mut TPM2B_MAX_BUFFER,
11594 ivOut: *mut *mut TPM2B_IV,
11595 ) -> TSS2_RC;
11596}
11597extern "C" {
11598 pub fn Esys_Hash(
11599 esysContext: *mut ESYS_CONTEXT,
11600 shandle1: ESYS_TR,
11601 shandle2: ESYS_TR,
11602 shandle3: ESYS_TR,
11603 data: *const TPM2B_MAX_BUFFER,
11604 hashAlg: TPMI_ALG_HASH,
11605 hierarchy: TPMI_RH_HIERARCHY,
11606 outHash: *mut *mut TPM2B_DIGEST,
11607 validation: *mut *mut TPMT_TK_HASHCHECK,
11608 ) -> TSS2_RC;
11609}
11610extern "C" {
11611 pub fn Esys_Hash_Async(
11612 esysContext: *mut ESYS_CONTEXT,
11613 shandle1: ESYS_TR,
11614 shandle2: ESYS_TR,
11615 shandle3: ESYS_TR,
11616 data: *const TPM2B_MAX_BUFFER,
11617 hashAlg: TPMI_ALG_HASH,
11618 hierarchy: TPMI_RH_HIERARCHY,
11619 ) -> TSS2_RC;
11620}
11621extern "C" {
11622 pub fn Esys_Hash_Finish(
11623 esysContext: *mut ESYS_CONTEXT,
11624 outHash: *mut *mut TPM2B_DIGEST,
11625 validation: *mut *mut TPMT_TK_HASHCHECK,
11626 ) -> TSS2_RC;
11627}
11628extern "C" {
11629 pub fn Esys_HMAC(
11630 esysContext: *mut ESYS_CONTEXT,
11631 handle: ESYS_TR,
11632 shandle1: ESYS_TR,
11633 shandle2: ESYS_TR,
11634 shandle3: ESYS_TR,
11635 buffer: *const TPM2B_MAX_BUFFER,
11636 hashAlg: TPMI_ALG_HASH,
11637 outHMAC: *mut *mut TPM2B_DIGEST,
11638 ) -> TSS2_RC;
11639}
11640extern "C" {
11641 pub fn Esys_HMAC_Async(
11642 esysContext: *mut ESYS_CONTEXT,
11643 handle: ESYS_TR,
11644 shandle1: ESYS_TR,
11645 shandle2: ESYS_TR,
11646 shandle3: ESYS_TR,
11647 buffer: *const TPM2B_MAX_BUFFER,
11648 hashAlg: TPMI_ALG_HASH,
11649 ) -> TSS2_RC;
11650}
11651extern "C" {
11652 pub fn Esys_HMAC_Finish(
11653 esysContext: *mut ESYS_CONTEXT,
11654 outHMAC: *mut *mut TPM2B_DIGEST,
11655 ) -> TSS2_RC;
11656}
11657extern "C" {
11658 pub fn Esys_GetRandom(
11659 esysContext: *mut ESYS_CONTEXT,
11660 shandle1: ESYS_TR,
11661 shandle2: ESYS_TR,
11662 shandle3: ESYS_TR,
11663 bytesRequested: UINT16,
11664 randomBytes: *mut *mut TPM2B_DIGEST,
11665 ) -> TSS2_RC;
11666}
11667extern "C" {
11668 pub fn Esys_GetRandom_Async(
11669 esysContext: *mut ESYS_CONTEXT,
11670 shandle1: ESYS_TR,
11671 shandle2: ESYS_TR,
11672 shandle3: ESYS_TR,
11673 bytesRequested: UINT16,
11674 ) -> TSS2_RC;
11675}
11676extern "C" {
11677 pub fn Esys_GetRandom_Finish(
11678 esysContext: *mut ESYS_CONTEXT,
11679 randomBytes: *mut *mut TPM2B_DIGEST,
11680 ) -> TSS2_RC;
11681}
11682extern "C" {
11683 pub fn Esys_StirRandom(
11684 esysContext: *mut ESYS_CONTEXT,
11685 shandle1: ESYS_TR,
11686 shandle2: ESYS_TR,
11687 shandle3: ESYS_TR,
11688 inData: *const TPM2B_SENSITIVE_DATA,
11689 ) -> TSS2_RC;
11690}
11691extern "C" {
11692 pub fn Esys_StirRandom_Async(
11693 esysContext: *mut ESYS_CONTEXT,
11694 shandle1: ESYS_TR,
11695 shandle2: ESYS_TR,
11696 shandle3: ESYS_TR,
11697 inData: *const TPM2B_SENSITIVE_DATA,
11698 ) -> TSS2_RC;
11699}
11700extern "C" {
11701 pub fn Esys_StirRandom_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11702}
11703extern "C" {
11704 pub fn Esys_HMAC_Start(
11705 esysContext: *mut ESYS_CONTEXT,
11706 handle: ESYS_TR,
11707 shandle1: ESYS_TR,
11708 shandle2: ESYS_TR,
11709 shandle3: ESYS_TR,
11710 auth: *const TPM2B_AUTH,
11711 hashAlg: TPMI_ALG_HASH,
11712 sequenceHandle: *mut ESYS_TR,
11713 ) -> TSS2_RC;
11714}
11715extern "C" {
11716 pub fn Esys_HMAC_Start_Async(
11717 esysContext: *mut ESYS_CONTEXT,
11718 handle: ESYS_TR,
11719 shandle1: ESYS_TR,
11720 shandle2: ESYS_TR,
11721 shandle3: ESYS_TR,
11722 auth: *const TPM2B_AUTH,
11723 hashAlg: TPMI_ALG_HASH,
11724 ) -> TSS2_RC;
11725}
11726extern "C" {
11727 pub fn Esys_HMAC_Start_Finish(
11728 esysContext: *mut ESYS_CONTEXT,
11729 sequenceHandle: *mut ESYS_TR,
11730 ) -> TSS2_RC;
11731}
11732extern "C" {
11733 pub fn Esys_HashSequenceStart(
11734 esysContext: *mut ESYS_CONTEXT,
11735 shandle1: ESYS_TR,
11736 shandle2: ESYS_TR,
11737 shandle3: ESYS_TR,
11738 auth: *const TPM2B_AUTH,
11739 hashAlg: TPMI_ALG_HASH,
11740 sequenceHandle: *mut ESYS_TR,
11741 ) -> TSS2_RC;
11742}
11743extern "C" {
11744 pub fn Esys_HashSequenceStart_Async(
11745 esysContext: *mut ESYS_CONTEXT,
11746 shandle1: ESYS_TR,
11747 shandle2: ESYS_TR,
11748 shandle3: ESYS_TR,
11749 auth: *const TPM2B_AUTH,
11750 hashAlg: TPMI_ALG_HASH,
11751 ) -> TSS2_RC;
11752}
11753extern "C" {
11754 pub fn Esys_HashSequenceStart_Finish(
11755 esysContext: *mut ESYS_CONTEXT,
11756 sequenceHandle: *mut ESYS_TR,
11757 ) -> TSS2_RC;
11758}
11759extern "C" {
11760 pub fn Esys_SequenceUpdate(
11761 esysContext: *mut ESYS_CONTEXT,
11762 sequenceHandle: ESYS_TR,
11763 shandle1: ESYS_TR,
11764 shandle2: ESYS_TR,
11765 shandle3: ESYS_TR,
11766 buffer: *const TPM2B_MAX_BUFFER,
11767 ) -> TSS2_RC;
11768}
11769extern "C" {
11770 pub fn Esys_SequenceUpdate_Async(
11771 esysContext: *mut ESYS_CONTEXT,
11772 sequenceHandle: ESYS_TR,
11773 shandle1: ESYS_TR,
11774 shandle2: ESYS_TR,
11775 shandle3: ESYS_TR,
11776 buffer: *const TPM2B_MAX_BUFFER,
11777 ) -> TSS2_RC;
11778}
11779extern "C" {
11780 pub fn Esys_SequenceUpdate_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
11781}
11782extern "C" {
11783 pub fn Esys_SequenceComplete(
11784 esysContext: *mut ESYS_CONTEXT,
11785 sequenceHandle: ESYS_TR,
11786 shandle1: ESYS_TR,
11787 shandle2: ESYS_TR,
11788 shandle3: ESYS_TR,
11789 buffer: *const TPM2B_MAX_BUFFER,
11790 hierarchy: TPMI_RH_HIERARCHY,
11791 result: *mut *mut TPM2B_DIGEST,
11792 validation: *mut *mut TPMT_TK_HASHCHECK,
11793 ) -> TSS2_RC;
11794}
11795extern "C" {
11796 pub fn Esys_SequenceComplete_Async(
11797 esysContext: *mut ESYS_CONTEXT,
11798 sequenceHandle: ESYS_TR,
11799 shandle1: ESYS_TR,
11800 shandle2: ESYS_TR,
11801 shandle3: ESYS_TR,
11802 buffer: *const TPM2B_MAX_BUFFER,
11803 hierarchy: TPMI_RH_HIERARCHY,
11804 ) -> TSS2_RC;
11805}
11806extern "C" {
11807 pub fn Esys_SequenceComplete_Finish(
11808 esysContext: *mut ESYS_CONTEXT,
11809 result: *mut *mut TPM2B_DIGEST,
11810 validation: *mut *mut TPMT_TK_HASHCHECK,
11811 ) -> TSS2_RC;
11812}
11813extern "C" {
11814 pub fn Esys_EventSequenceComplete(
11815 esysContext: *mut ESYS_CONTEXT,
11816 pcrHandle: ESYS_TR,
11817 sequenceHandle: ESYS_TR,
11818 shandle1: ESYS_TR,
11819 shandle2: ESYS_TR,
11820 shandle3: ESYS_TR,
11821 buffer: *const TPM2B_MAX_BUFFER,
11822 results: *mut *mut TPML_DIGEST_VALUES,
11823 ) -> TSS2_RC;
11824}
11825extern "C" {
11826 pub fn Esys_EventSequenceComplete_Async(
11827 esysContext: *mut ESYS_CONTEXT,
11828 pcrHandle: ESYS_TR,
11829 sequenceHandle: ESYS_TR,
11830 shandle1: ESYS_TR,
11831 shandle2: ESYS_TR,
11832 shandle3: ESYS_TR,
11833 buffer: *const TPM2B_MAX_BUFFER,
11834 ) -> TSS2_RC;
11835}
11836extern "C" {
11837 pub fn Esys_EventSequenceComplete_Finish(
11838 esysContext: *mut ESYS_CONTEXT,
11839 results: *mut *mut TPML_DIGEST_VALUES,
11840 ) -> TSS2_RC;
11841}
11842extern "C" {
11843 pub fn Esys_Certify(
11844 esysContext: *mut ESYS_CONTEXT,
11845 objectHandle: ESYS_TR,
11846 signHandle: ESYS_TR,
11847 shandle1: ESYS_TR,
11848 shandle2: ESYS_TR,
11849 shandle3: ESYS_TR,
11850 qualifyingData: *const TPM2B_DATA,
11851 inScheme: *const TPMT_SIG_SCHEME,
11852 certifyInfo: *mut *mut TPM2B_ATTEST,
11853 signature: *mut *mut TPMT_SIGNATURE,
11854 ) -> TSS2_RC;
11855}
11856extern "C" {
11857 pub fn Esys_Certify_Async(
11858 esysContext: *mut ESYS_CONTEXT,
11859 objectHandle: ESYS_TR,
11860 signHandle: ESYS_TR,
11861 shandle1: ESYS_TR,
11862 shandle2: ESYS_TR,
11863 shandle3: ESYS_TR,
11864 qualifyingData: *const TPM2B_DATA,
11865 inScheme: *const TPMT_SIG_SCHEME,
11866 ) -> TSS2_RC;
11867}
11868extern "C" {
11869 pub fn Esys_Certify_Finish(
11870 esysContext: *mut ESYS_CONTEXT,
11871 certifyInfo: *mut *mut TPM2B_ATTEST,
11872 signature: *mut *mut TPMT_SIGNATURE,
11873 ) -> TSS2_RC;
11874}
11875extern "C" {
11876 pub fn Esys_CertifyCreation(
11877 esysContext: *mut ESYS_CONTEXT,
11878 signHandle: ESYS_TR,
11879 objectHandle: ESYS_TR,
11880 shandle1: ESYS_TR,
11881 shandle2: ESYS_TR,
11882 shandle3: ESYS_TR,
11883 qualifyingData: *const TPM2B_DATA,
11884 creationHash: *const TPM2B_DIGEST,
11885 inScheme: *const TPMT_SIG_SCHEME,
11886 creationTicket: *const TPMT_TK_CREATION,
11887 certifyInfo: *mut *mut TPM2B_ATTEST,
11888 signature: *mut *mut TPMT_SIGNATURE,
11889 ) -> TSS2_RC;
11890}
11891extern "C" {
11892 pub fn Esys_CertifyCreation_Async(
11893 esysContext: *mut ESYS_CONTEXT,
11894 signHandle: ESYS_TR,
11895 objectHandle: ESYS_TR,
11896 shandle1: ESYS_TR,
11897 shandle2: ESYS_TR,
11898 shandle3: ESYS_TR,
11899 qualifyingData: *const TPM2B_DATA,
11900 creationHash: *const TPM2B_DIGEST,
11901 inScheme: *const TPMT_SIG_SCHEME,
11902 creationTicket: *const TPMT_TK_CREATION,
11903 ) -> TSS2_RC;
11904}
11905extern "C" {
11906 pub fn Esys_CertifyCreation_Finish(
11907 esysContext: *mut ESYS_CONTEXT,
11908 certifyInfo: *mut *mut TPM2B_ATTEST,
11909 signature: *mut *mut TPMT_SIGNATURE,
11910 ) -> TSS2_RC;
11911}
11912extern "C" {
11913 pub fn Esys_Quote(
11914 esysContext: *mut ESYS_CONTEXT,
11915 signHandle: ESYS_TR,
11916 shandle1: ESYS_TR,
11917 shandle2: ESYS_TR,
11918 shandle3: ESYS_TR,
11919 qualifyingData: *const TPM2B_DATA,
11920 inScheme: *const TPMT_SIG_SCHEME,
11921 PCRselect: *const TPML_PCR_SELECTION,
11922 quoted: *mut *mut TPM2B_ATTEST,
11923 signature: *mut *mut TPMT_SIGNATURE,
11924 ) -> TSS2_RC;
11925}
11926extern "C" {
11927 pub fn Esys_Quote_Async(
11928 esysContext: *mut ESYS_CONTEXT,
11929 signHandle: ESYS_TR,
11930 shandle1: ESYS_TR,
11931 shandle2: ESYS_TR,
11932 shandle3: ESYS_TR,
11933 qualifyingData: *const TPM2B_DATA,
11934 inScheme: *const TPMT_SIG_SCHEME,
11935 PCRselect: *const TPML_PCR_SELECTION,
11936 ) -> TSS2_RC;
11937}
11938extern "C" {
11939 pub fn Esys_Quote_Finish(
11940 esysContext: *mut ESYS_CONTEXT,
11941 quoted: *mut *mut TPM2B_ATTEST,
11942 signature: *mut *mut TPMT_SIGNATURE,
11943 ) -> TSS2_RC;
11944}
11945extern "C" {
11946 pub fn Esys_GetSessionAuditDigest(
11947 esysContext: *mut ESYS_CONTEXT,
11948 privacyAdminHandle: ESYS_TR,
11949 signHandle: ESYS_TR,
11950 sessionHandle: ESYS_TR,
11951 shandle1: ESYS_TR,
11952 shandle2: ESYS_TR,
11953 shandle3: ESYS_TR,
11954 qualifyingData: *const TPM2B_DATA,
11955 inScheme: *const TPMT_SIG_SCHEME,
11956 auditInfo: *mut *mut TPM2B_ATTEST,
11957 signature: *mut *mut TPMT_SIGNATURE,
11958 ) -> TSS2_RC;
11959}
11960extern "C" {
11961 pub fn Esys_GetSessionAuditDigest_Async(
11962 esysContext: *mut ESYS_CONTEXT,
11963 privacyAdminHandle: ESYS_TR,
11964 signHandle: ESYS_TR,
11965 sessionHandle: ESYS_TR,
11966 shandle1: ESYS_TR,
11967 shandle2: ESYS_TR,
11968 shandle3: ESYS_TR,
11969 qualifyingData: *const TPM2B_DATA,
11970 inScheme: *const TPMT_SIG_SCHEME,
11971 ) -> TSS2_RC;
11972}
11973extern "C" {
11974 pub fn Esys_GetSessionAuditDigest_Finish(
11975 esysContext: *mut ESYS_CONTEXT,
11976 auditInfo: *mut *mut TPM2B_ATTEST,
11977 signature: *mut *mut TPMT_SIGNATURE,
11978 ) -> TSS2_RC;
11979}
11980extern "C" {
11981 pub fn Esys_GetCommandAuditDigest(
11982 esysContext: *mut ESYS_CONTEXT,
11983 privacyHandle: ESYS_TR,
11984 signHandle: ESYS_TR,
11985 shandle1: ESYS_TR,
11986 shandle2: ESYS_TR,
11987 shandle3: ESYS_TR,
11988 qualifyingData: *const TPM2B_DATA,
11989 inScheme: *const TPMT_SIG_SCHEME,
11990 auditInfo: *mut *mut TPM2B_ATTEST,
11991 signature: *mut *mut TPMT_SIGNATURE,
11992 ) -> TSS2_RC;
11993}
11994extern "C" {
11995 pub fn Esys_GetCommandAuditDigest_Async(
11996 esysContext: *mut ESYS_CONTEXT,
11997 privacyHandle: ESYS_TR,
11998 signHandle: ESYS_TR,
11999 shandle1: ESYS_TR,
12000 shandle2: ESYS_TR,
12001 shandle3: ESYS_TR,
12002 qualifyingData: *const TPM2B_DATA,
12003 inScheme: *const TPMT_SIG_SCHEME,
12004 ) -> TSS2_RC;
12005}
12006extern "C" {
12007 pub fn Esys_GetCommandAuditDigest_Finish(
12008 esysContext: *mut ESYS_CONTEXT,
12009 auditInfo: *mut *mut TPM2B_ATTEST,
12010 signature: *mut *mut TPMT_SIGNATURE,
12011 ) -> TSS2_RC;
12012}
12013extern "C" {
12014 pub fn Esys_GetTime(
12015 esysContext: *mut ESYS_CONTEXT,
12016 privacyAdminHandle: ESYS_TR,
12017 signHandle: ESYS_TR,
12018 shandle1: ESYS_TR,
12019 shandle2: ESYS_TR,
12020 shandle3: ESYS_TR,
12021 qualifyingData: *const TPM2B_DATA,
12022 inScheme: *const TPMT_SIG_SCHEME,
12023 timeInfo: *mut *mut TPM2B_ATTEST,
12024 signature: *mut *mut TPMT_SIGNATURE,
12025 ) -> TSS2_RC;
12026}
12027extern "C" {
12028 pub fn Esys_GetTime_Async(
12029 esysContext: *mut ESYS_CONTEXT,
12030 privacyAdminHandle: ESYS_TR,
12031 signHandle: ESYS_TR,
12032 shandle1: ESYS_TR,
12033 shandle2: ESYS_TR,
12034 shandle3: ESYS_TR,
12035 qualifyingData: *const TPM2B_DATA,
12036 inScheme: *const TPMT_SIG_SCHEME,
12037 ) -> TSS2_RC;
12038}
12039extern "C" {
12040 pub fn Esys_GetTime_Finish(
12041 esysContext: *mut ESYS_CONTEXT,
12042 timeInfo: *mut *mut TPM2B_ATTEST,
12043 signature: *mut *mut TPMT_SIGNATURE,
12044 ) -> TSS2_RC;
12045}
12046extern "C" {
12047 pub fn Esys_Commit(
12048 esysContext: *mut ESYS_CONTEXT,
12049 signHandle: ESYS_TR,
12050 shandle1: ESYS_TR,
12051 shandle2: ESYS_TR,
12052 shandle3: ESYS_TR,
12053 P1: *const TPM2B_ECC_POINT,
12054 s2: *const TPM2B_SENSITIVE_DATA,
12055 y2: *const TPM2B_ECC_PARAMETER,
12056 K: *mut *mut TPM2B_ECC_POINT,
12057 L: *mut *mut TPM2B_ECC_POINT,
12058 E: *mut *mut TPM2B_ECC_POINT,
12059 counter: *mut UINT16,
12060 ) -> TSS2_RC;
12061}
12062extern "C" {
12063 pub fn Esys_Commit_Async(
12064 esysContext: *mut ESYS_CONTEXT,
12065 signHandle: ESYS_TR,
12066 shandle1: ESYS_TR,
12067 shandle2: ESYS_TR,
12068 shandle3: ESYS_TR,
12069 P1: *const TPM2B_ECC_POINT,
12070 s2: *const TPM2B_SENSITIVE_DATA,
12071 y2: *const TPM2B_ECC_PARAMETER,
12072 ) -> TSS2_RC;
12073}
12074extern "C" {
12075 pub fn Esys_Commit_Finish(
12076 esysContext: *mut ESYS_CONTEXT,
12077 K: *mut *mut TPM2B_ECC_POINT,
12078 L: *mut *mut TPM2B_ECC_POINT,
12079 E: *mut *mut TPM2B_ECC_POINT,
12080 counter: *mut UINT16,
12081 ) -> TSS2_RC;
12082}
12083extern "C" {
12084 pub fn Esys_EC_Ephemeral(
12085 esysContext: *mut ESYS_CONTEXT,
12086 shandle1: ESYS_TR,
12087 shandle2: ESYS_TR,
12088 shandle3: ESYS_TR,
12089 curveID: TPMI_ECC_CURVE,
12090 Q: *mut *mut TPM2B_ECC_POINT,
12091 counter: *mut UINT16,
12092 ) -> TSS2_RC;
12093}
12094extern "C" {
12095 pub fn Esys_EC_Ephemeral_Async(
12096 esysContext: *mut ESYS_CONTEXT,
12097 shandle1: ESYS_TR,
12098 shandle2: ESYS_TR,
12099 shandle3: ESYS_TR,
12100 curveID: TPMI_ECC_CURVE,
12101 ) -> TSS2_RC;
12102}
12103extern "C" {
12104 pub fn Esys_EC_Ephemeral_Finish(
12105 esysContext: *mut ESYS_CONTEXT,
12106 Q: *mut *mut TPM2B_ECC_POINT,
12107 counter: *mut UINT16,
12108 ) -> TSS2_RC;
12109}
12110extern "C" {
12111 pub fn Esys_VerifySignature(
12112 esysContext: *mut ESYS_CONTEXT,
12113 keyHandle: ESYS_TR,
12114 shandle1: ESYS_TR,
12115 shandle2: ESYS_TR,
12116 shandle3: ESYS_TR,
12117 digest: *const TPM2B_DIGEST,
12118 signature: *const TPMT_SIGNATURE,
12119 validation: *mut *mut TPMT_TK_VERIFIED,
12120 ) -> TSS2_RC;
12121}
12122extern "C" {
12123 pub fn Esys_VerifySignature_Async(
12124 esysContext: *mut ESYS_CONTEXT,
12125 keyHandle: ESYS_TR,
12126 shandle1: ESYS_TR,
12127 shandle2: ESYS_TR,
12128 shandle3: ESYS_TR,
12129 digest: *const TPM2B_DIGEST,
12130 signature: *const TPMT_SIGNATURE,
12131 ) -> TSS2_RC;
12132}
12133extern "C" {
12134 pub fn Esys_VerifySignature_Finish(
12135 esysContext: *mut ESYS_CONTEXT,
12136 validation: *mut *mut TPMT_TK_VERIFIED,
12137 ) -> TSS2_RC;
12138}
12139extern "C" {
12140 pub fn Esys_Sign(
12141 esysContext: *mut ESYS_CONTEXT,
12142 keyHandle: ESYS_TR,
12143 shandle1: ESYS_TR,
12144 shandle2: ESYS_TR,
12145 shandle3: ESYS_TR,
12146 digest: *const TPM2B_DIGEST,
12147 inScheme: *const TPMT_SIG_SCHEME,
12148 validation: *const TPMT_TK_HASHCHECK,
12149 signature: *mut *mut TPMT_SIGNATURE,
12150 ) -> TSS2_RC;
12151}
12152extern "C" {
12153 pub fn Esys_Sign_Async(
12154 esysContext: *mut ESYS_CONTEXT,
12155 keyHandle: ESYS_TR,
12156 shandle1: ESYS_TR,
12157 shandle2: ESYS_TR,
12158 shandle3: ESYS_TR,
12159 digest: *const TPM2B_DIGEST,
12160 inScheme: *const TPMT_SIG_SCHEME,
12161 validation: *const TPMT_TK_HASHCHECK,
12162 ) -> TSS2_RC;
12163}
12164extern "C" {
12165 pub fn Esys_Sign_Finish(
12166 esysContext: *mut ESYS_CONTEXT,
12167 signature: *mut *mut TPMT_SIGNATURE,
12168 ) -> TSS2_RC;
12169}
12170extern "C" {
12171 pub fn Esys_SetCommandCodeAuditStatus(
12172 esysContext: *mut ESYS_CONTEXT,
12173 auth: ESYS_TR,
12174 shandle1: ESYS_TR,
12175 shandle2: ESYS_TR,
12176 shandle3: ESYS_TR,
12177 auditAlg: TPMI_ALG_HASH,
12178 setList: *const TPML_CC,
12179 clearList: *const TPML_CC,
12180 ) -> TSS2_RC;
12181}
12182extern "C" {
12183 pub fn Esys_SetCommandCodeAuditStatus_Async(
12184 esysContext: *mut ESYS_CONTEXT,
12185 auth: ESYS_TR,
12186 shandle1: ESYS_TR,
12187 shandle2: ESYS_TR,
12188 shandle3: ESYS_TR,
12189 auditAlg: TPMI_ALG_HASH,
12190 setList: *const TPML_CC,
12191 clearList: *const TPML_CC,
12192 ) -> TSS2_RC;
12193}
12194extern "C" {
12195 pub fn Esys_SetCommandCodeAuditStatus_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12196}
12197extern "C" {
12198 pub fn Esys_PCR_Extend(
12199 esysContext: *mut ESYS_CONTEXT,
12200 pcrHandle: ESYS_TR,
12201 shandle1: ESYS_TR,
12202 shandle2: ESYS_TR,
12203 shandle3: ESYS_TR,
12204 digests: *const TPML_DIGEST_VALUES,
12205 ) -> TSS2_RC;
12206}
12207extern "C" {
12208 pub fn Esys_PCR_Extend_Async(
12209 esysContext: *mut ESYS_CONTEXT,
12210 pcrHandle: ESYS_TR,
12211 shandle1: ESYS_TR,
12212 shandle2: ESYS_TR,
12213 shandle3: ESYS_TR,
12214 digests: *const TPML_DIGEST_VALUES,
12215 ) -> TSS2_RC;
12216}
12217extern "C" {
12218 pub fn Esys_PCR_Extend_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12219}
12220extern "C" {
12221 pub fn Esys_PCR_Event(
12222 esysContext: *mut ESYS_CONTEXT,
12223 pcrHandle: ESYS_TR,
12224 shandle1: ESYS_TR,
12225 shandle2: ESYS_TR,
12226 shandle3: ESYS_TR,
12227 eventData: *const TPM2B_EVENT,
12228 digests: *mut *mut TPML_DIGEST_VALUES,
12229 ) -> TSS2_RC;
12230}
12231extern "C" {
12232 pub fn Esys_PCR_Event_Async(
12233 esysContext: *mut ESYS_CONTEXT,
12234 pcrHandle: ESYS_TR,
12235 shandle1: ESYS_TR,
12236 shandle2: ESYS_TR,
12237 shandle3: ESYS_TR,
12238 eventData: *const TPM2B_EVENT,
12239 ) -> TSS2_RC;
12240}
12241extern "C" {
12242 pub fn Esys_PCR_Event_Finish(
12243 esysContext: *mut ESYS_CONTEXT,
12244 digests: *mut *mut TPML_DIGEST_VALUES,
12245 ) -> TSS2_RC;
12246}
12247extern "C" {
12248 pub fn Esys_PCR_Read(
12249 esysContext: *mut ESYS_CONTEXT,
12250 shandle1: ESYS_TR,
12251 shandle2: ESYS_TR,
12252 shandle3: ESYS_TR,
12253 pcrSelectionIn: *const TPML_PCR_SELECTION,
12254 pcrUpdateCounter: *mut UINT32,
12255 pcrSelectionOut: *mut *mut TPML_PCR_SELECTION,
12256 pcrValues: *mut *mut TPML_DIGEST,
12257 ) -> TSS2_RC;
12258}
12259extern "C" {
12260 pub fn Esys_PCR_Read_Async(
12261 esysContext: *mut ESYS_CONTEXT,
12262 shandle1: ESYS_TR,
12263 shandle2: ESYS_TR,
12264 shandle3: ESYS_TR,
12265 pcrSelectionIn: *const TPML_PCR_SELECTION,
12266 ) -> TSS2_RC;
12267}
12268extern "C" {
12269 pub fn Esys_PCR_Read_Finish(
12270 esysContext: *mut ESYS_CONTEXT,
12271 pcrUpdateCounter: *mut UINT32,
12272 pcrSelectionOut: *mut *mut TPML_PCR_SELECTION,
12273 pcrValues: *mut *mut TPML_DIGEST,
12274 ) -> TSS2_RC;
12275}
12276extern "C" {
12277 pub fn Esys_PCR_Allocate(
12278 esysContext: *mut ESYS_CONTEXT,
12279 authHandle: ESYS_TR,
12280 shandle1: ESYS_TR,
12281 shandle2: ESYS_TR,
12282 shandle3: ESYS_TR,
12283 pcrAllocation: *const TPML_PCR_SELECTION,
12284 allocationSuccess: *mut TPMI_YES_NO,
12285 maxPCR: *mut UINT32,
12286 sizeNeeded: *mut UINT32,
12287 sizeAvailable: *mut UINT32,
12288 ) -> TSS2_RC;
12289}
12290extern "C" {
12291 pub fn Esys_PCR_Allocate_Async(
12292 esysContext: *mut ESYS_CONTEXT,
12293 authHandle: ESYS_TR,
12294 shandle1: ESYS_TR,
12295 shandle2: ESYS_TR,
12296 shandle3: ESYS_TR,
12297 pcrAllocation: *const TPML_PCR_SELECTION,
12298 ) -> TSS2_RC;
12299}
12300extern "C" {
12301 pub fn Esys_PCR_Allocate_Finish(
12302 esysContext: *mut ESYS_CONTEXT,
12303 allocationSuccess: *mut TPMI_YES_NO,
12304 maxPCR: *mut UINT32,
12305 sizeNeeded: *mut UINT32,
12306 sizeAvailable: *mut UINT32,
12307 ) -> TSS2_RC;
12308}
12309extern "C" {
12310 pub fn Esys_PCR_SetAuthPolicy(
12311 esysContext: *mut ESYS_CONTEXT,
12312 authHandle: ESYS_TR,
12313 shandle1: ESYS_TR,
12314 shandle2: ESYS_TR,
12315 shandle3: ESYS_TR,
12316 authPolicy: *const TPM2B_DIGEST,
12317 hashAlg: TPMI_ALG_HASH,
12318 pcrNum: TPMI_DH_PCR,
12319 ) -> TSS2_RC;
12320}
12321extern "C" {
12322 pub fn Esys_PCR_SetAuthPolicy_Async(
12323 esysContext: *mut ESYS_CONTEXT,
12324 authHandle: ESYS_TR,
12325 shandle1: ESYS_TR,
12326 shandle2: ESYS_TR,
12327 shandle3: ESYS_TR,
12328 authPolicy: *const TPM2B_DIGEST,
12329 hashAlg: TPMI_ALG_HASH,
12330 pcrNum: TPMI_DH_PCR,
12331 ) -> TSS2_RC;
12332}
12333extern "C" {
12334 pub fn Esys_PCR_SetAuthPolicy_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12335}
12336extern "C" {
12337 pub fn Esys_PCR_SetAuthValue(
12338 esysContext: *mut ESYS_CONTEXT,
12339 pcrHandle: ESYS_TR,
12340 shandle1: ESYS_TR,
12341 shandle2: ESYS_TR,
12342 shandle3: ESYS_TR,
12343 auth: *const TPM2B_DIGEST,
12344 ) -> TSS2_RC;
12345}
12346extern "C" {
12347 pub fn Esys_PCR_SetAuthValue_Async(
12348 esysContext: *mut ESYS_CONTEXT,
12349 pcrHandle: ESYS_TR,
12350 shandle1: ESYS_TR,
12351 shandle2: ESYS_TR,
12352 shandle3: ESYS_TR,
12353 auth: *const TPM2B_DIGEST,
12354 ) -> TSS2_RC;
12355}
12356extern "C" {
12357 pub fn Esys_PCR_SetAuthValue_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12358}
12359extern "C" {
12360 pub fn Esys_PCR_Reset(
12361 esysContext: *mut ESYS_CONTEXT,
12362 pcrHandle: ESYS_TR,
12363 shandle1: ESYS_TR,
12364 shandle2: ESYS_TR,
12365 shandle3: ESYS_TR,
12366 ) -> TSS2_RC;
12367}
12368extern "C" {
12369 pub fn Esys_PCR_Reset_Async(
12370 esysContext: *mut ESYS_CONTEXT,
12371 pcrHandle: ESYS_TR,
12372 shandle1: ESYS_TR,
12373 shandle2: ESYS_TR,
12374 shandle3: ESYS_TR,
12375 ) -> TSS2_RC;
12376}
12377extern "C" {
12378 pub fn Esys_PCR_Reset_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12379}
12380extern "C" {
12381 pub fn Esys_PolicySigned(
12382 esysContext: *mut ESYS_CONTEXT,
12383 authObject: ESYS_TR,
12384 policySession: ESYS_TR,
12385 shandle1: ESYS_TR,
12386 shandle2: ESYS_TR,
12387 shandle3: ESYS_TR,
12388 nonceTPM: *const TPM2B_NONCE,
12389 cpHashA: *const TPM2B_DIGEST,
12390 policyRef: *const TPM2B_NONCE,
12391 expiration: INT32,
12392 auth: *const TPMT_SIGNATURE,
12393 timeout: *mut *mut TPM2B_TIMEOUT,
12394 policyTicket: *mut *mut TPMT_TK_AUTH,
12395 ) -> TSS2_RC;
12396}
12397extern "C" {
12398 pub fn Esys_PolicySigned_Async(
12399 esysContext: *mut ESYS_CONTEXT,
12400 authObject: ESYS_TR,
12401 policySession: ESYS_TR,
12402 shandle1: ESYS_TR,
12403 shandle2: ESYS_TR,
12404 shandle3: ESYS_TR,
12405 nonceTPM: *const TPM2B_NONCE,
12406 cpHashA: *const TPM2B_DIGEST,
12407 policyRef: *const TPM2B_NONCE,
12408 expiration: INT32,
12409 auth: *const TPMT_SIGNATURE,
12410 ) -> TSS2_RC;
12411}
12412extern "C" {
12413 pub fn Esys_PolicySigned_Finish(
12414 esysContext: *mut ESYS_CONTEXT,
12415 timeout: *mut *mut TPM2B_TIMEOUT,
12416 policyTicket: *mut *mut TPMT_TK_AUTH,
12417 ) -> TSS2_RC;
12418}
12419extern "C" {
12420 pub fn Esys_PolicySecret(
12421 esysContext: *mut ESYS_CONTEXT,
12422 authHandle: ESYS_TR,
12423 policySession: ESYS_TR,
12424 shandle1: ESYS_TR,
12425 shandle2: ESYS_TR,
12426 shandle3: ESYS_TR,
12427 nonceTPM: *const TPM2B_NONCE,
12428 cpHashA: *const TPM2B_DIGEST,
12429 policyRef: *const TPM2B_NONCE,
12430 expiration: INT32,
12431 timeout: *mut *mut TPM2B_TIMEOUT,
12432 policyTicket: *mut *mut TPMT_TK_AUTH,
12433 ) -> TSS2_RC;
12434}
12435extern "C" {
12436 pub fn Esys_PolicySecret_Async(
12437 esysContext: *mut ESYS_CONTEXT,
12438 authHandle: ESYS_TR,
12439 policySession: ESYS_TR,
12440 shandle1: ESYS_TR,
12441 shandle2: ESYS_TR,
12442 shandle3: ESYS_TR,
12443 nonceTPM: *const TPM2B_NONCE,
12444 cpHashA: *const TPM2B_DIGEST,
12445 policyRef: *const TPM2B_NONCE,
12446 expiration: INT32,
12447 ) -> TSS2_RC;
12448}
12449extern "C" {
12450 pub fn Esys_PolicySecret_Finish(
12451 esysContext: *mut ESYS_CONTEXT,
12452 timeout: *mut *mut TPM2B_TIMEOUT,
12453 policyTicket: *mut *mut TPMT_TK_AUTH,
12454 ) -> TSS2_RC;
12455}
12456extern "C" {
12457 pub fn Esys_PolicyTicket(
12458 esysContext: *mut ESYS_CONTEXT,
12459 policySession: ESYS_TR,
12460 shandle1: ESYS_TR,
12461 shandle2: ESYS_TR,
12462 shandle3: ESYS_TR,
12463 timeout: *const TPM2B_TIMEOUT,
12464 cpHashA: *const TPM2B_DIGEST,
12465 policyRef: *const TPM2B_NONCE,
12466 authName: *const TPM2B_NAME,
12467 ticket: *const TPMT_TK_AUTH,
12468 ) -> TSS2_RC;
12469}
12470extern "C" {
12471 pub fn Esys_PolicyTicket_Async(
12472 esysContext: *mut ESYS_CONTEXT,
12473 policySession: ESYS_TR,
12474 shandle1: ESYS_TR,
12475 shandle2: ESYS_TR,
12476 shandle3: ESYS_TR,
12477 timeout: *const TPM2B_TIMEOUT,
12478 cpHashA: *const TPM2B_DIGEST,
12479 policyRef: *const TPM2B_NONCE,
12480 authName: *const TPM2B_NAME,
12481 ticket: *const TPMT_TK_AUTH,
12482 ) -> TSS2_RC;
12483}
12484extern "C" {
12485 pub fn Esys_PolicyTicket_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12486}
12487extern "C" {
12488 pub fn Esys_PolicyOR(
12489 esysContext: *mut ESYS_CONTEXT,
12490 policySession: ESYS_TR,
12491 shandle1: ESYS_TR,
12492 shandle2: ESYS_TR,
12493 shandle3: ESYS_TR,
12494 pHashList: *const TPML_DIGEST,
12495 ) -> TSS2_RC;
12496}
12497extern "C" {
12498 pub fn Esys_PolicyOR_Async(
12499 esysContext: *mut ESYS_CONTEXT,
12500 policySession: ESYS_TR,
12501 shandle1: ESYS_TR,
12502 shandle2: ESYS_TR,
12503 shandle3: ESYS_TR,
12504 pHashList: *const TPML_DIGEST,
12505 ) -> TSS2_RC;
12506}
12507extern "C" {
12508 pub fn Esys_PolicyOR_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12509}
12510extern "C" {
12511 pub fn Esys_PolicyPCR(
12512 esysContext: *mut ESYS_CONTEXT,
12513 policySession: ESYS_TR,
12514 shandle1: ESYS_TR,
12515 shandle2: ESYS_TR,
12516 shandle3: ESYS_TR,
12517 pcrDigest: *const TPM2B_DIGEST,
12518 pcrs: *const TPML_PCR_SELECTION,
12519 ) -> TSS2_RC;
12520}
12521extern "C" {
12522 pub fn Esys_PolicyPCR_Async(
12523 esysContext: *mut ESYS_CONTEXT,
12524 policySession: ESYS_TR,
12525 shandle1: ESYS_TR,
12526 shandle2: ESYS_TR,
12527 shandle3: ESYS_TR,
12528 pcrDigest: *const TPM2B_DIGEST,
12529 pcrs: *const TPML_PCR_SELECTION,
12530 ) -> TSS2_RC;
12531}
12532extern "C" {
12533 pub fn Esys_PolicyPCR_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12534}
12535extern "C" {
12536 pub fn Esys_PolicyLocality(
12537 esysContext: *mut ESYS_CONTEXT,
12538 policySession: ESYS_TR,
12539 shandle1: ESYS_TR,
12540 shandle2: ESYS_TR,
12541 shandle3: ESYS_TR,
12542 locality: TPMA_LOCALITY,
12543 ) -> TSS2_RC;
12544}
12545extern "C" {
12546 pub fn Esys_PolicyLocality_Async(
12547 esysContext: *mut ESYS_CONTEXT,
12548 policySession: ESYS_TR,
12549 shandle1: ESYS_TR,
12550 shandle2: ESYS_TR,
12551 shandle3: ESYS_TR,
12552 locality: TPMA_LOCALITY,
12553 ) -> TSS2_RC;
12554}
12555extern "C" {
12556 pub fn Esys_PolicyLocality_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12557}
12558extern "C" {
12559 pub fn Esys_PolicyNV(
12560 esysContext: *mut ESYS_CONTEXT,
12561 authHandle: ESYS_TR,
12562 nvIndex: ESYS_TR,
12563 policySession: ESYS_TR,
12564 shandle1: ESYS_TR,
12565 shandle2: ESYS_TR,
12566 shandle3: ESYS_TR,
12567 operandB: *const TPM2B_OPERAND,
12568 offset: UINT16,
12569 operation: TPM2_EO,
12570 ) -> TSS2_RC;
12571}
12572extern "C" {
12573 pub fn Esys_PolicyNV_Async(
12574 esysContext: *mut ESYS_CONTEXT,
12575 authHandle: ESYS_TR,
12576 nvIndex: ESYS_TR,
12577 policySession: ESYS_TR,
12578 shandle1: ESYS_TR,
12579 shandle2: ESYS_TR,
12580 shandle3: ESYS_TR,
12581 operandB: *const TPM2B_OPERAND,
12582 offset: UINT16,
12583 operation: TPM2_EO,
12584 ) -> TSS2_RC;
12585}
12586extern "C" {
12587 pub fn Esys_PolicyNV_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12588}
12589extern "C" {
12590 pub fn Esys_PolicyCounterTimer(
12591 esysContext: *mut ESYS_CONTEXT,
12592 policySession: ESYS_TR,
12593 shandle1: ESYS_TR,
12594 shandle2: ESYS_TR,
12595 shandle3: ESYS_TR,
12596 operandB: *const TPM2B_OPERAND,
12597 offset: UINT16,
12598 operation: TPM2_EO,
12599 ) -> TSS2_RC;
12600}
12601extern "C" {
12602 pub fn Esys_PolicyCounterTimer_Async(
12603 esysContext: *mut ESYS_CONTEXT,
12604 policySession: ESYS_TR,
12605 shandle1: ESYS_TR,
12606 shandle2: ESYS_TR,
12607 shandle3: ESYS_TR,
12608 operandB: *const TPM2B_OPERAND,
12609 offset: UINT16,
12610 operation: TPM2_EO,
12611 ) -> TSS2_RC;
12612}
12613extern "C" {
12614 pub fn Esys_PolicyCounterTimer_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12615}
12616extern "C" {
12617 pub fn Esys_PolicyCommandCode(
12618 esysContext: *mut ESYS_CONTEXT,
12619 policySession: ESYS_TR,
12620 shandle1: ESYS_TR,
12621 shandle2: ESYS_TR,
12622 shandle3: ESYS_TR,
12623 code: TPM2_CC,
12624 ) -> TSS2_RC;
12625}
12626extern "C" {
12627 pub fn Esys_PolicyCommandCode_Async(
12628 esysContext: *mut ESYS_CONTEXT,
12629 policySession: ESYS_TR,
12630 shandle1: ESYS_TR,
12631 shandle2: ESYS_TR,
12632 shandle3: ESYS_TR,
12633 code: TPM2_CC,
12634 ) -> TSS2_RC;
12635}
12636extern "C" {
12637 pub fn Esys_PolicyCommandCode_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12638}
12639extern "C" {
12640 pub fn Esys_PolicyPhysicalPresence(
12641 esysContext: *mut ESYS_CONTEXT,
12642 policySession: ESYS_TR,
12643 shandle1: ESYS_TR,
12644 shandle2: ESYS_TR,
12645 shandle3: ESYS_TR,
12646 ) -> TSS2_RC;
12647}
12648extern "C" {
12649 pub fn Esys_PolicyPhysicalPresence_Async(
12650 esysContext: *mut ESYS_CONTEXT,
12651 policySession: ESYS_TR,
12652 shandle1: ESYS_TR,
12653 shandle2: ESYS_TR,
12654 shandle3: ESYS_TR,
12655 ) -> TSS2_RC;
12656}
12657extern "C" {
12658 pub fn Esys_PolicyPhysicalPresence_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12659}
12660extern "C" {
12661 pub fn Esys_PolicyCpHash(
12662 esysContext: *mut ESYS_CONTEXT,
12663 policySession: ESYS_TR,
12664 shandle1: ESYS_TR,
12665 shandle2: ESYS_TR,
12666 shandle3: ESYS_TR,
12667 cpHashA: *const TPM2B_DIGEST,
12668 ) -> TSS2_RC;
12669}
12670extern "C" {
12671 pub fn Esys_PolicyCpHash_Async(
12672 esysContext: *mut ESYS_CONTEXT,
12673 policySession: ESYS_TR,
12674 shandle1: ESYS_TR,
12675 shandle2: ESYS_TR,
12676 shandle3: ESYS_TR,
12677 cpHashA: *const TPM2B_DIGEST,
12678 ) -> TSS2_RC;
12679}
12680extern "C" {
12681 pub fn Esys_PolicyCpHash_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12682}
12683extern "C" {
12684 pub fn Esys_PolicyNameHash(
12685 esysContext: *mut ESYS_CONTEXT,
12686 policySession: ESYS_TR,
12687 shandle1: ESYS_TR,
12688 shandle2: ESYS_TR,
12689 shandle3: ESYS_TR,
12690 nameHash: *const TPM2B_DIGEST,
12691 ) -> TSS2_RC;
12692}
12693extern "C" {
12694 pub fn Esys_PolicyNameHash_Async(
12695 esysContext: *mut ESYS_CONTEXT,
12696 policySession: ESYS_TR,
12697 shandle1: ESYS_TR,
12698 shandle2: ESYS_TR,
12699 shandle3: ESYS_TR,
12700 nameHash: *const TPM2B_DIGEST,
12701 ) -> TSS2_RC;
12702}
12703extern "C" {
12704 pub fn Esys_PolicyNameHash_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12705}
12706extern "C" {
12707 pub fn Esys_PolicyDuplicationSelect(
12708 esysContext: *mut ESYS_CONTEXT,
12709 policySession: ESYS_TR,
12710 shandle1: ESYS_TR,
12711 shandle2: ESYS_TR,
12712 shandle3: ESYS_TR,
12713 objectName: *const TPM2B_NAME,
12714 newParentName: *const TPM2B_NAME,
12715 includeObject: TPMI_YES_NO,
12716 ) -> TSS2_RC;
12717}
12718extern "C" {
12719 pub fn Esys_PolicyDuplicationSelect_Async(
12720 esysContext: *mut ESYS_CONTEXT,
12721 policySession: ESYS_TR,
12722 shandle1: ESYS_TR,
12723 shandle2: ESYS_TR,
12724 shandle3: ESYS_TR,
12725 objectName: *const TPM2B_NAME,
12726 newParentName: *const TPM2B_NAME,
12727 includeObject: TPMI_YES_NO,
12728 ) -> TSS2_RC;
12729}
12730extern "C" {
12731 pub fn Esys_PolicyDuplicationSelect_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12732}
12733extern "C" {
12734 pub fn Esys_PolicyAuthorize(
12735 esysContext: *mut ESYS_CONTEXT,
12736 policySession: ESYS_TR,
12737 shandle1: ESYS_TR,
12738 shandle2: ESYS_TR,
12739 shandle3: ESYS_TR,
12740 approvedPolicy: *const TPM2B_DIGEST,
12741 policyRef: *const TPM2B_NONCE,
12742 keySign: *const TPM2B_NAME,
12743 checkTicket: *const TPMT_TK_VERIFIED,
12744 ) -> TSS2_RC;
12745}
12746extern "C" {
12747 pub fn Esys_PolicyAuthorize_Async(
12748 esysContext: *mut ESYS_CONTEXT,
12749 policySession: ESYS_TR,
12750 shandle1: ESYS_TR,
12751 shandle2: ESYS_TR,
12752 shandle3: ESYS_TR,
12753 approvedPolicy: *const TPM2B_DIGEST,
12754 policyRef: *const TPM2B_NONCE,
12755 keySign: *const TPM2B_NAME,
12756 checkTicket: *const TPMT_TK_VERIFIED,
12757 ) -> TSS2_RC;
12758}
12759extern "C" {
12760 pub fn Esys_PolicyAuthorize_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12761}
12762extern "C" {
12763 pub fn Esys_PolicyAuthValue(
12764 esysContext: *mut ESYS_CONTEXT,
12765 policySession: ESYS_TR,
12766 shandle1: ESYS_TR,
12767 shandle2: ESYS_TR,
12768 shandle3: ESYS_TR,
12769 ) -> TSS2_RC;
12770}
12771extern "C" {
12772 pub fn Esys_PolicyAuthValue_Async(
12773 esysContext: *mut ESYS_CONTEXT,
12774 policySession: ESYS_TR,
12775 shandle1: ESYS_TR,
12776 shandle2: ESYS_TR,
12777 shandle3: ESYS_TR,
12778 ) -> TSS2_RC;
12779}
12780extern "C" {
12781 pub fn Esys_PolicyAuthValue_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12782}
12783extern "C" {
12784 pub fn Esys_PolicyPassword(
12785 esysContext: *mut ESYS_CONTEXT,
12786 policySession: ESYS_TR,
12787 shandle1: ESYS_TR,
12788 shandle2: ESYS_TR,
12789 shandle3: ESYS_TR,
12790 ) -> TSS2_RC;
12791}
12792extern "C" {
12793 pub fn Esys_PolicyPassword_Async(
12794 esysContext: *mut ESYS_CONTEXT,
12795 policySession: ESYS_TR,
12796 shandle1: ESYS_TR,
12797 shandle2: ESYS_TR,
12798 shandle3: ESYS_TR,
12799 ) -> TSS2_RC;
12800}
12801extern "C" {
12802 pub fn Esys_PolicyPassword_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12803}
12804extern "C" {
12805 pub fn Esys_PolicyGetDigest(
12806 esysContext: *mut ESYS_CONTEXT,
12807 policySession: ESYS_TR,
12808 shandle1: ESYS_TR,
12809 shandle2: ESYS_TR,
12810 shandle3: ESYS_TR,
12811 policyDigest: *mut *mut TPM2B_DIGEST,
12812 ) -> TSS2_RC;
12813}
12814extern "C" {
12815 pub fn Esys_PolicyGetDigest_Async(
12816 esysContext: *mut ESYS_CONTEXT,
12817 policySession: ESYS_TR,
12818 shandle1: ESYS_TR,
12819 shandle2: ESYS_TR,
12820 shandle3: ESYS_TR,
12821 ) -> TSS2_RC;
12822}
12823extern "C" {
12824 pub fn Esys_PolicyGetDigest_Finish(
12825 esysContext: *mut ESYS_CONTEXT,
12826 policyDigest: *mut *mut TPM2B_DIGEST,
12827 ) -> TSS2_RC;
12828}
12829extern "C" {
12830 pub fn Esys_PolicyNvWritten(
12831 esysContext: *mut ESYS_CONTEXT,
12832 policySession: ESYS_TR,
12833 shandle1: ESYS_TR,
12834 shandle2: ESYS_TR,
12835 shandle3: ESYS_TR,
12836 writtenSet: TPMI_YES_NO,
12837 ) -> TSS2_RC;
12838}
12839extern "C" {
12840 pub fn Esys_PolicyNvWritten_Async(
12841 esysContext: *mut ESYS_CONTEXT,
12842 policySession: ESYS_TR,
12843 shandle1: ESYS_TR,
12844 shandle2: ESYS_TR,
12845 shandle3: ESYS_TR,
12846 writtenSet: TPMI_YES_NO,
12847 ) -> TSS2_RC;
12848}
12849extern "C" {
12850 pub fn Esys_PolicyNvWritten_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12851}
12852extern "C" {
12853 pub fn Esys_PolicyTemplate(
12854 esysContext: *mut ESYS_CONTEXT,
12855 policySession: ESYS_TR,
12856 shandle1: ESYS_TR,
12857 shandle2: ESYS_TR,
12858 shandle3: ESYS_TR,
12859 templateHash: *const TPM2B_DIGEST,
12860 ) -> TSS2_RC;
12861}
12862extern "C" {
12863 pub fn Esys_PolicyTemplate_Async(
12864 esysContext: *mut ESYS_CONTEXT,
12865 policySession: ESYS_TR,
12866 shandle1: ESYS_TR,
12867 shandle2: ESYS_TR,
12868 shandle3: ESYS_TR,
12869 templateHash: *const TPM2B_DIGEST,
12870 ) -> TSS2_RC;
12871}
12872extern "C" {
12873 pub fn Esys_PolicyTemplate_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12874}
12875extern "C" {
12876 pub fn Esys_PolicyAuthorizeNV(
12877 esysContext: *mut ESYS_CONTEXT,
12878 authHandle: ESYS_TR,
12879 nvIndex: ESYS_TR,
12880 policySession: ESYS_TR,
12881 shandle1: ESYS_TR,
12882 shandle2: ESYS_TR,
12883 shandle3: ESYS_TR,
12884 ) -> TSS2_RC;
12885}
12886extern "C" {
12887 pub fn Esys_PolicyAuthorizeNV_Async(
12888 esysContext: *mut ESYS_CONTEXT,
12889 authHandle: ESYS_TR,
12890 nvIndex: ESYS_TR,
12891 policySession: ESYS_TR,
12892 shandle1: ESYS_TR,
12893 shandle2: ESYS_TR,
12894 shandle3: ESYS_TR,
12895 ) -> TSS2_RC;
12896}
12897extern "C" {
12898 pub fn Esys_PolicyAuthorizeNV_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12899}
12900extern "C" {
12901 pub fn Esys_CreatePrimary(
12902 esysContext: *mut ESYS_CONTEXT,
12903 primaryHandle: ESYS_TR,
12904 shandle1: ESYS_TR,
12905 shandle2: ESYS_TR,
12906 shandle3: ESYS_TR,
12907 inSensitive: *const TPM2B_SENSITIVE_CREATE,
12908 inPublic: *const TPM2B_PUBLIC,
12909 outsideInfo: *const TPM2B_DATA,
12910 creationPCR: *const TPML_PCR_SELECTION,
12911 objectHandle: *mut ESYS_TR,
12912 outPublic: *mut *mut TPM2B_PUBLIC,
12913 creationData: *mut *mut TPM2B_CREATION_DATA,
12914 creationHash: *mut *mut TPM2B_DIGEST,
12915 creationTicket: *mut *mut TPMT_TK_CREATION,
12916 ) -> TSS2_RC;
12917}
12918extern "C" {
12919 pub fn Esys_CreatePrimary_Async(
12920 esysContext: *mut ESYS_CONTEXT,
12921 primaryHandle: ESYS_TR,
12922 shandle1: ESYS_TR,
12923 shandle2: ESYS_TR,
12924 shandle3: ESYS_TR,
12925 inSensitive: *const TPM2B_SENSITIVE_CREATE,
12926 inPublic: *const TPM2B_PUBLIC,
12927 outsideInfo: *const TPM2B_DATA,
12928 creationPCR: *const TPML_PCR_SELECTION,
12929 ) -> TSS2_RC;
12930}
12931extern "C" {
12932 pub fn Esys_CreatePrimary_Finish(
12933 esysContext: *mut ESYS_CONTEXT,
12934 objectHandle: *mut ESYS_TR,
12935 outPublic: *mut *mut TPM2B_PUBLIC,
12936 creationData: *mut *mut TPM2B_CREATION_DATA,
12937 creationHash: *mut *mut TPM2B_DIGEST,
12938 creationTicket: *mut *mut TPMT_TK_CREATION,
12939 ) -> TSS2_RC;
12940}
12941extern "C" {
12942 pub fn Esys_HierarchyControl(
12943 esysContext: *mut ESYS_CONTEXT,
12944 authHandle: ESYS_TR,
12945 shandle1: ESYS_TR,
12946 shandle2: ESYS_TR,
12947 shandle3: ESYS_TR,
12948 enable: TPMI_RH_ENABLES,
12949 state: TPMI_YES_NO,
12950 ) -> TSS2_RC;
12951}
12952extern "C" {
12953 pub fn Esys_HierarchyControl_Async(
12954 esysContext: *mut ESYS_CONTEXT,
12955 authHandle: ESYS_TR,
12956 shandle1: ESYS_TR,
12957 shandle2: ESYS_TR,
12958 shandle3: ESYS_TR,
12959 enable: TPMI_RH_ENABLES,
12960 state: TPMI_YES_NO,
12961 ) -> TSS2_RC;
12962}
12963extern "C" {
12964 pub fn Esys_HierarchyControl_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12965}
12966extern "C" {
12967 pub fn Esys_SetPrimaryPolicy(
12968 esysContext: *mut ESYS_CONTEXT,
12969 authHandle: ESYS_TR,
12970 shandle1: ESYS_TR,
12971 shandle2: ESYS_TR,
12972 shandle3: ESYS_TR,
12973 authPolicy: *const TPM2B_DIGEST,
12974 hashAlg: TPMI_ALG_HASH,
12975 ) -> TSS2_RC;
12976}
12977extern "C" {
12978 pub fn Esys_SetPrimaryPolicy_Async(
12979 esysContext: *mut ESYS_CONTEXT,
12980 authHandle: ESYS_TR,
12981 shandle1: ESYS_TR,
12982 shandle2: ESYS_TR,
12983 shandle3: ESYS_TR,
12984 authPolicy: *const TPM2B_DIGEST,
12985 hashAlg: TPMI_ALG_HASH,
12986 ) -> TSS2_RC;
12987}
12988extern "C" {
12989 pub fn Esys_SetPrimaryPolicy_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
12990}
12991extern "C" {
12992 pub fn Esys_ChangePPS(
12993 esysContext: *mut ESYS_CONTEXT,
12994 authHandle: ESYS_TR,
12995 shandle1: ESYS_TR,
12996 shandle2: ESYS_TR,
12997 shandle3: ESYS_TR,
12998 ) -> TSS2_RC;
12999}
13000extern "C" {
13001 pub fn Esys_ChangePPS_Async(
13002 esysContext: *mut ESYS_CONTEXT,
13003 authHandle: ESYS_TR,
13004 shandle1: ESYS_TR,
13005 shandle2: ESYS_TR,
13006 shandle3: ESYS_TR,
13007 ) -> TSS2_RC;
13008}
13009extern "C" {
13010 pub fn Esys_ChangePPS_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13011}
13012extern "C" {
13013 pub fn Esys_ChangeEPS(
13014 esysContext: *mut ESYS_CONTEXT,
13015 authHandle: ESYS_TR,
13016 shandle1: ESYS_TR,
13017 shandle2: ESYS_TR,
13018 shandle3: ESYS_TR,
13019 ) -> TSS2_RC;
13020}
13021extern "C" {
13022 pub fn Esys_ChangeEPS_Async(
13023 esysContext: *mut ESYS_CONTEXT,
13024 authHandle: ESYS_TR,
13025 shandle1: ESYS_TR,
13026 shandle2: ESYS_TR,
13027 shandle3: ESYS_TR,
13028 ) -> TSS2_RC;
13029}
13030extern "C" {
13031 pub fn Esys_ChangeEPS_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13032}
13033extern "C" {
13034 pub fn Esys_Clear(
13035 esysContext: *mut ESYS_CONTEXT,
13036 authHandle: ESYS_TR,
13037 shandle1: ESYS_TR,
13038 shandle2: ESYS_TR,
13039 shandle3: ESYS_TR,
13040 ) -> TSS2_RC;
13041}
13042extern "C" {
13043 pub fn Esys_Clear_Async(
13044 esysContext: *mut ESYS_CONTEXT,
13045 authHandle: ESYS_TR,
13046 shandle1: ESYS_TR,
13047 shandle2: ESYS_TR,
13048 shandle3: ESYS_TR,
13049 ) -> TSS2_RC;
13050}
13051extern "C" {
13052 pub fn Esys_Clear_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13053}
13054extern "C" {
13055 pub fn Esys_ClearControl(
13056 esysContext: *mut ESYS_CONTEXT,
13057 auth: ESYS_TR,
13058 shandle1: ESYS_TR,
13059 shandle2: ESYS_TR,
13060 shandle3: ESYS_TR,
13061 disable: TPMI_YES_NO,
13062 ) -> TSS2_RC;
13063}
13064extern "C" {
13065 pub fn Esys_ClearControl_Async(
13066 esysContext: *mut ESYS_CONTEXT,
13067 auth: ESYS_TR,
13068 shandle1: ESYS_TR,
13069 shandle2: ESYS_TR,
13070 shandle3: ESYS_TR,
13071 disable: TPMI_YES_NO,
13072 ) -> TSS2_RC;
13073}
13074extern "C" {
13075 pub fn Esys_ClearControl_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13076}
13077extern "C" {
13078 pub fn Esys_HierarchyChangeAuth(
13079 esysContext: *mut ESYS_CONTEXT,
13080 authHandle: ESYS_TR,
13081 shandle1: ESYS_TR,
13082 shandle2: ESYS_TR,
13083 shandle3: ESYS_TR,
13084 newAuth: *const TPM2B_AUTH,
13085 ) -> TSS2_RC;
13086}
13087extern "C" {
13088 pub fn Esys_HierarchyChangeAuth_Async(
13089 esysContext: *mut ESYS_CONTEXT,
13090 authHandle: ESYS_TR,
13091 shandle1: ESYS_TR,
13092 shandle2: ESYS_TR,
13093 shandle3: ESYS_TR,
13094 newAuth: *const TPM2B_AUTH,
13095 ) -> TSS2_RC;
13096}
13097extern "C" {
13098 pub fn Esys_HierarchyChangeAuth_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13099}
13100extern "C" {
13101 pub fn Esys_DictionaryAttackLockReset(
13102 esysContext: *mut ESYS_CONTEXT,
13103 lockHandle: ESYS_TR,
13104 shandle1: ESYS_TR,
13105 shandle2: ESYS_TR,
13106 shandle3: ESYS_TR,
13107 ) -> TSS2_RC;
13108}
13109extern "C" {
13110 pub fn Esys_DictionaryAttackLockReset_Async(
13111 esysContext: *mut ESYS_CONTEXT,
13112 lockHandle: ESYS_TR,
13113 shandle1: ESYS_TR,
13114 shandle2: ESYS_TR,
13115 shandle3: ESYS_TR,
13116 ) -> TSS2_RC;
13117}
13118extern "C" {
13119 pub fn Esys_DictionaryAttackLockReset_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13120}
13121extern "C" {
13122 pub fn Esys_DictionaryAttackParameters(
13123 esysContext: *mut ESYS_CONTEXT,
13124 lockHandle: ESYS_TR,
13125 shandle1: ESYS_TR,
13126 shandle2: ESYS_TR,
13127 shandle3: ESYS_TR,
13128 newMaxTries: UINT32,
13129 newRecoveryTime: UINT32,
13130 lockoutRecovery: UINT32,
13131 ) -> TSS2_RC;
13132}
13133extern "C" {
13134 pub fn Esys_DictionaryAttackParameters_Async(
13135 esysContext: *mut ESYS_CONTEXT,
13136 lockHandle: ESYS_TR,
13137 shandle1: ESYS_TR,
13138 shandle2: ESYS_TR,
13139 shandle3: ESYS_TR,
13140 newMaxTries: UINT32,
13141 newRecoveryTime: UINT32,
13142 lockoutRecovery: UINT32,
13143 ) -> TSS2_RC;
13144}
13145extern "C" {
13146 pub fn Esys_DictionaryAttackParameters_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13147}
13148extern "C" {
13149 pub fn Esys_PP_Commands(
13150 esysContext: *mut ESYS_CONTEXT,
13151 auth: ESYS_TR,
13152 shandle1: ESYS_TR,
13153 shandle2: ESYS_TR,
13154 shandle3: ESYS_TR,
13155 setList: *const TPML_CC,
13156 clearList: *const TPML_CC,
13157 ) -> TSS2_RC;
13158}
13159extern "C" {
13160 pub fn Esys_PP_Commands_Async(
13161 esysContext: *mut ESYS_CONTEXT,
13162 auth: ESYS_TR,
13163 shandle1: ESYS_TR,
13164 shandle2: ESYS_TR,
13165 shandle3: ESYS_TR,
13166 setList: *const TPML_CC,
13167 clearList: *const TPML_CC,
13168 ) -> TSS2_RC;
13169}
13170extern "C" {
13171 pub fn Esys_PP_Commands_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13172}
13173extern "C" {
13174 pub fn Esys_SetAlgorithmSet(
13175 esysContext: *mut ESYS_CONTEXT,
13176 authHandle: ESYS_TR,
13177 shandle1: ESYS_TR,
13178 shandle2: ESYS_TR,
13179 shandle3: ESYS_TR,
13180 algorithmSet: UINT32,
13181 ) -> TSS2_RC;
13182}
13183extern "C" {
13184 pub fn Esys_SetAlgorithmSet_Async(
13185 esysContext: *mut ESYS_CONTEXT,
13186 authHandle: ESYS_TR,
13187 shandle1: ESYS_TR,
13188 shandle2: ESYS_TR,
13189 shandle3: ESYS_TR,
13190 algorithmSet: UINT32,
13191 ) -> TSS2_RC;
13192}
13193extern "C" {
13194 pub fn Esys_SetAlgorithmSet_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13195}
13196extern "C" {
13197 pub fn Esys_FieldUpgradeStart(
13198 esysContext: *mut ESYS_CONTEXT,
13199 authorization: ESYS_TR,
13200 keyHandle: ESYS_TR,
13201 shandle1: ESYS_TR,
13202 shandle2: ESYS_TR,
13203 shandle3: ESYS_TR,
13204 fuDigest: *const TPM2B_DIGEST,
13205 manifestSignature: *const TPMT_SIGNATURE,
13206 ) -> TSS2_RC;
13207}
13208extern "C" {
13209 pub fn Esys_FieldUpgradeStart_Async(
13210 esysContext: *mut ESYS_CONTEXT,
13211 authorization: ESYS_TR,
13212 keyHandle: ESYS_TR,
13213 shandle1: ESYS_TR,
13214 shandle2: ESYS_TR,
13215 shandle3: ESYS_TR,
13216 fuDigest: *const TPM2B_DIGEST,
13217 manifestSignature: *const TPMT_SIGNATURE,
13218 ) -> TSS2_RC;
13219}
13220extern "C" {
13221 pub fn Esys_FieldUpgradeStart_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13222}
13223extern "C" {
13224 pub fn Esys_FieldUpgradeData(
13225 esysContext: *mut ESYS_CONTEXT,
13226 shandle1: ESYS_TR,
13227 shandle2: ESYS_TR,
13228 shandle3: ESYS_TR,
13229 fuData: *const TPM2B_MAX_BUFFER,
13230 nextDigest: *mut *mut TPMT_HA,
13231 firstDigest: *mut *mut TPMT_HA,
13232 ) -> TSS2_RC;
13233}
13234extern "C" {
13235 pub fn Esys_FieldUpgradeData_Async(
13236 esysContext: *mut ESYS_CONTEXT,
13237 shandle1: ESYS_TR,
13238 shandle2: ESYS_TR,
13239 shandle3: ESYS_TR,
13240 fuData: *const TPM2B_MAX_BUFFER,
13241 ) -> TSS2_RC;
13242}
13243extern "C" {
13244 pub fn Esys_FieldUpgradeData_Finish(
13245 esysContext: *mut ESYS_CONTEXT,
13246 nextDigest: *mut *mut TPMT_HA,
13247 firstDigest: *mut *mut TPMT_HA,
13248 ) -> TSS2_RC;
13249}
13250extern "C" {
13251 pub fn Esys_FirmwareRead(
13252 esysContext: *mut ESYS_CONTEXT,
13253 shandle1: ESYS_TR,
13254 shandle2: ESYS_TR,
13255 shandle3: ESYS_TR,
13256 sequenceNumber: UINT32,
13257 fuData: *mut *mut TPM2B_MAX_BUFFER,
13258 ) -> TSS2_RC;
13259}
13260extern "C" {
13261 pub fn Esys_FirmwareRead_Async(
13262 esysContext: *mut ESYS_CONTEXT,
13263 shandle1: ESYS_TR,
13264 shandle2: ESYS_TR,
13265 shandle3: ESYS_TR,
13266 sequenceNumber: UINT32,
13267 ) -> TSS2_RC;
13268}
13269extern "C" {
13270 pub fn Esys_FirmwareRead_Finish(
13271 esysContext: *mut ESYS_CONTEXT,
13272 fuData: *mut *mut TPM2B_MAX_BUFFER,
13273 ) -> TSS2_RC;
13274}
13275extern "C" {
13276 pub fn Esys_ContextSave(
13277 esysContext: *mut ESYS_CONTEXT,
13278 saveHandle: ESYS_TR,
13279 context: *mut *mut TPMS_CONTEXT,
13280 ) -> TSS2_RC;
13281}
13282extern "C" {
13283 pub fn Esys_ContextSave_Async(esysContext: *mut ESYS_CONTEXT, saveHandle: ESYS_TR) -> TSS2_RC;
13284}
13285extern "C" {
13286 pub fn Esys_ContextSave_Finish(
13287 esysContext: *mut ESYS_CONTEXT,
13288 context: *mut *mut TPMS_CONTEXT,
13289 ) -> TSS2_RC;
13290}
13291extern "C" {
13292 pub fn Esys_ContextLoad(
13293 esysContext: *mut ESYS_CONTEXT,
13294 context: *const TPMS_CONTEXT,
13295 loadedHandle: *mut ESYS_TR,
13296 ) -> TSS2_RC;
13297}
13298extern "C" {
13299 pub fn Esys_ContextLoad_Async(
13300 esysContext: *mut ESYS_CONTEXT,
13301 context: *const TPMS_CONTEXT,
13302 ) -> TSS2_RC;
13303}
13304extern "C" {
13305 pub fn Esys_ContextLoad_Finish(
13306 esysContext: *mut ESYS_CONTEXT,
13307 loadedHandle: *mut ESYS_TR,
13308 ) -> TSS2_RC;
13309}
13310extern "C" {
13311 pub fn Esys_FlushContext(esysContext: *mut ESYS_CONTEXT, flushHandle: ESYS_TR) -> TSS2_RC;
13312}
13313extern "C" {
13314 pub fn Esys_FlushContext_Async(esysContext: *mut ESYS_CONTEXT, flushHandle: ESYS_TR)
13315 -> TSS2_RC;
13316}
13317extern "C" {
13318 pub fn Esys_FlushContext_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13319}
13320extern "C" {
13321 pub fn Esys_EvictControl(
13322 esysContext: *mut ESYS_CONTEXT,
13323 auth: ESYS_TR,
13324 objectHandle: ESYS_TR,
13325 shandle1: ESYS_TR,
13326 shandle2: ESYS_TR,
13327 shandle3: ESYS_TR,
13328 persistentHandle: TPMI_DH_PERSISTENT,
13329 newObjectHandle: *mut ESYS_TR,
13330 ) -> TSS2_RC;
13331}
13332extern "C" {
13333 pub fn Esys_EvictControl_Async(
13334 esysContext: *mut ESYS_CONTEXT,
13335 auth: ESYS_TR,
13336 objectHandle: ESYS_TR,
13337 shandle1: ESYS_TR,
13338 shandle2: ESYS_TR,
13339 shandle3: ESYS_TR,
13340 persistentHandle: TPMI_DH_PERSISTENT,
13341 ) -> TSS2_RC;
13342}
13343extern "C" {
13344 pub fn Esys_EvictControl_Finish(
13345 esysContext: *mut ESYS_CONTEXT,
13346 newObjectHandle: *mut ESYS_TR,
13347 ) -> TSS2_RC;
13348}
13349extern "C" {
13350 pub fn Esys_ReadClock(
13351 esysContext: *mut ESYS_CONTEXT,
13352 shandle1: ESYS_TR,
13353 shandle2: ESYS_TR,
13354 shandle3: ESYS_TR,
13355 currentTime: *mut *mut TPMS_TIME_INFO,
13356 ) -> TSS2_RC;
13357}
13358extern "C" {
13359 pub fn Esys_ReadClock_Async(
13360 esysContext: *mut ESYS_CONTEXT,
13361 shandle1: ESYS_TR,
13362 shandle2: ESYS_TR,
13363 shandle3: ESYS_TR,
13364 ) -> TSS2_RC;
13365}
13366extern "C" {
13367 pub fn Esys_ReadClock_Finish(
13368 esysContext: *mut ESYS_CONTEXT,
13369 currentTime: *mut *mut TPMS_TIME_INFO,
13370 ) -> TSS2_RC;
13371}
13372extern "C" {
13373 pub fn Esys_ClockSet(
13374 esysContext: *mut ESYS_CONTEXT,
13375 auth: ESYS_TR,
13376 shandle1: ESYS_TR,
13377 shandle2: ESYS_TR,
13378 shandle3: ESYS_TR,
13379 newTime: UINT64,
13380 ) -> TSS2_RC;
13381}
13382extern "C" {
13383 pub fn Esys_ClockSet_Async(
13384 esysContext: *mut ESYS_CONTEXT,
13385 auth: ESYS_TR,
13386 shandle1: ESYS_TR,
13387 shandle2: ESYS_TR,
13388 shandle3: ESYS_TR,
13389 newTime: UINT64,
13390 ) -> TSS2_RC;
13391}
13392extern "C" {
13393 pub fn Esys_ClockSet_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13394}
13395extern "C" {
13396 pub fn Esys_ClockRateAdjust(
13397 esysContext: *mut ESYS_CONTEXT,
13398 auth: ESYS_TR,
13399 shandle1: ESYS_TR,
13400 shandle2: ESYS_TR,
13401 shandle3: ESYS_TR,
13402 rateAdjust: TPM2_CLOCK_ADJUST,
13403 ) -> TSS2_RC;
13404}
13405extern "C" {
13406 pub fn Esys_ClockRateAdjust_Async(
13407 esysContext: *mut ESYS_CONTEXT,
13408 auth: ESYS_TR,
13409 shandle1: ESYS_TR,
13410 shandle2: ESYS_TR,
13411 shandle3: ESYS_TR,
13412 rateAdjust: TPM2_CLOCK_ADJUST,
13413 ) -> TSS2_RC;
13414}
13415extern "C" {
13416 pub fn Esys_ClockRateAdjust_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13417}
13418extern "C" {
13419 pub fn Esys_GetCapability(
13420 esysContext: *mut ESYS_CONTEXT,
13421 shandle1: ESYS_TR,
13422 shandle2: ESYS_TR,
13423 shandle3: ESYS_TR,
13424 capability: TPM2_CAP,
13425 property: UINT32,
13426 propertyCount: UINT32,
13427 moreData: *mut TPMI_YES_NO,
13428 capabilityData: *mut *mut TPMS_CAPABILITY_DATA,
13429 ) -> TSS2_RC;
13430}
13431extern "C" {
13432 pub fn Esys_GetCapability_Async(
13433 esysContext: *mut ESYS_CONTEXT,
13434 shandle1: ESYS_TR,
13435 shandle2: ESYS_TR,
13436 shandle3: ESYS_TR,
13437 capability: TPM2_CAP,
13438 property: UINT32,
13439 propertyCount: UINT32,
13440 ) -> TSS2_RC;
13441}
13442extern "C" {
13443 pub fn Esys_GetCapability_Finish(
13444 esysContext: *mut ESYS_CONTEXT,
13445 moreData: *mut TPMI_YES_NO,
13446 capabilityData: *mut *mut TPMS_CAPABILITY_DATA,
13447 ) -> TSS2_RC;
13448}
13449extern "C" {
13450 pub fn Esys_TestParms(
13451 esysContext: *mut ESYS_CONTEXT,
13452 shandle1: ESYS_TR,
13453 shandle2: ESYS_TR,
13454 shandle3: ESYS_TR,
13455 parameters: *const TPMT_PUBLIC_PARMS,
13456 ) -> TSS2_RC;
13457}
13458extern "C" {
13459 pub fn Esys_TestParms_Async(
13460 esysContext: *mut ESYS_CONTEXT,
13461 shandle1: ESYS_TR,
13462 shandle2: ESYS_TR,
13463 shandle3: ESYS_TR,
13464 parameters: *const TPMT_PUBLIC_PARMS,
13465 ) -> TSS2_RC;
13466}
13467extern "C" {
13468 pub fn Esys_TestParms_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13469}
13470extern "C" {
13471 pub fn Esys_NV_DefineSpace(
13472 esysContext: *mut ESYS_CONTEXT,
13473 authHandle: ESYS_TR,
13474 shandle1: ESYS_TR,
13475 shandle2: ESYS_TR,
13476 shandle3: ESYS_TR,
13477 auth: *const TPM2B_AUTH,
13478 publicInfo: *const TPM2B_NV_PUBLIC,
13479 nvHandle: *mut ESYS_TR,
13480 ) -> TSS2_RC;
13481}
13482extern "C" {
13483 pub fn Esys_NV_DefineSpace_Async(
13484 esysContext: *mut ESYS_CONTEXT,
13485 authHandle: ESYS_TR,
13486 shandle1: ESYS_TR,
13487 shandle2: ESYS_TR,
13488 shandle3: ESYS_TR,
13489 auth: *const TPM2B_AUTH,
13490 publicInfo: *const TPM2B_NV_PUBLIC,
13491 ) -> TSS2_RC;
13492}
13493extern "C" {
13494 pub fn Esys_NV_DefineSpace_Finish(
13495 esysContext: *mut ESYS_CONTEXT,
13496 nvHandle: *mut ESYS_TR,
13497 ) -> TSS2_RC;
13498}
13499extern "C" {
13500 pub fn Esys_NV_UndefineSpace(
13501 esysContext: *mut ESYS_CONTEXT,
13502 authHandle: ESYS_TR,
13503 nvIndex: ESYS_TR,
13504 shandle1: ESYS_TR,
13505 shandle2: ESYS_TR,
13506 shandle3: ESYS_TR,
13507 ) -> TSS2_RC;
13508}
13509extern "C" {
13510 pub fn Esys_NV_UndefineSpace_Async(
13511 esysContext: *mut ESYS_CONTEXT,
13512 authHandle: ESYS_TR,
13513 nvIndex: ESYS_TR,
13514 shandle1: ESYS_TR,
13515 shandle2: ESYS_TR,
13516 shandle3: ESYS_TR,
13517 ) -> TSS2_RC;
13518}
13519extern "C" {
13520 pub fn Esys_NV_UndefineSpace_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13521}
13522extern "C" {
13523 pub fn Esys_NV_UndefineSpaceSpecial(
13524 esysContext: *mut ESYS_CONTEXT,
13525 nvIndex: ESYS_TR,
13526 platform: ESYS_TR,
13527 shandle1: ESYS_TR,
13528 shandle2: ESYS_TR,
13529 shandle3: ESYS_TR,
13530 ) -> TSS2_RC;
13531}
13532extern "C" {
13533 pub fn Esys_NV_UndefineSpaceSpecial_Async(
13534 esysContext: *mut ESYS_CONTEXT,
13535 nvIndex: ESYS_TR,
13536 platform: ESYS_TR,
13537 shandle1: ESYS_TR,
13538 shandle2: ESYS_TR,
13539 shandle3: ESYS_TR,
13540 ) -> TSS2_RC;
13541}
13542extern "C" {
13543 pub fn Esys_NV_UndefineSpaceSpecial_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13544}
13545extern "C" {
13546 pub fn Esys_NV_ReadPublic(
13547 esysContext: *mut ESYS_CONTEXT,
13548 nvIndex: ESYS_TR,
13549 shandle1: ESYS_TR,
13550 shandle2: ESYS_TR,
13551 shandle3: ESYS_TR,
13552 nvPublic: *mut *mut TPM2B_NV_PUBLIC,
13553 nvName: *mut *mut TPM2B_NAME,
13554 ) -> TSS2_RC;
13555}
13556extern "C" {
13557 pub fn Esys_NV_ReadPublic_Async(
13558 esysContext: *mut ESYS_CONTEXT,
13559 nvIndex: ESYS_TR,
13560 shandle1: ESYS_TR,
13561 shandle2: ESYS_TR,
13562 shandle3: ESYS_TR,
13563 ) -> TSS2_RC;
13564}
13565extern "C" {
13566 pub fn Esys_NV_ReadPublic_Finish(
13567 esysContext: *mut ESYS_CONTEXT,
13568 nvPublic: *mut *mut TPM2B_NV_PUBLIC,
13569 nvName: *mut *mut TPM2B_NAME,
13570 ) -> TSS2_RC;
13571}
13572extern "C" {
13573 pub fn Esys_NV_Write(
13574 esysContext: *mut ESYS_CONTEXT,
13575 authHandle: ESYS_TR,
13576 nvIndex: ESYS_TR,
13577 shandle1: ESYS_TR,
13578 shandle2: ESYS_TR,
13579 shandle3: ESYS_TR,
13580 data: *const TPM2B_MAX_NV_BUFFER,
13581 offset: UINT16,
13582 ) -> TSS2_RC;
13583}
13584extern "C" {
13585 pub fn Esys_NV_Write_Async(
13586 esysContext: *mut ESYS_CONTEXT,
13587 authHandle: ESYS_TR,
13588 nvIndex: ESYS_TR,
13589 shandle1: ESYS_TR,
13590 shandle2: ESYS_TR,
13591 shandle3: ESYS_TR,
13592 data: *const TPM2B_MAX_NV_BUFFER,
13593 offset: UINT16,
13594 ) -> TSS2_RC;
13595}
13596extern "C" {
13597 pub fn Esys_NV_Write_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13598}
13599extern "C" {
13600 pub fn Esys_NV_Increment(
13601 esysContext: *mut ESYS_CONTEXT,
13602 authHandle: ESYS_TR,
13603 nvIndex: ESYS_TR,
13604 shandle1: ESYS_TR,
13605 shandle2: ESYS_TR,
13606 shandle3: ESYS_TR,
13607 ) -> TSS2_RC;
13608}
13609extern "C" {
13610 pub fn Esys_NV_Increment_Async(
13611 esysContext: *mut ESYS_CONTEXT,
13612 authHandle: ESYS_TR,
13613 nvIndex: ESYS_TR,
13614 shandle1: ESYS_TR,
13615 shandle2: ESYS_TR,
13616 shandle3: ESYS_TR,
13617 ) -> TSS2_RC;
13618}
13619extern "C" {
13620 pub fn Esys_NV_Increment_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13621}
13622extern "C" {
13623 pub fn Esys_NV_Extend(
13624 esysContext: *mut ESYS_CONTEXT,
13625 authHandle: ESYS_TR,
13626 nvIndex: ESYS_TR,
13627 shandle1: ESYS_TR,
13628 shandle2: ESYS_TR,
13629 shandle3: ESYS_TR,
13630 data: *const TPM2B_MAX_NV_BUFFER,
13631 ) -> TSS2_RC;
13632}
13633extern "C" {
13634 pub fn Esys_NV_Extend_Async(
13635 esysContext: *mut ESYS_CONTEXT,
13636 authHandle: ESYS_TR,
13637 nvIndex: ESYS_TR,
13638 shandle1: ESYS_TR,
13639 shandle2: ESYS_TR,
13640 shandle3: ESYS_TR,
13641 data: *const TPM2B_MAX_NV_BUFFER,
13642 ) -> TSS2_RC;
13643}
13644extern "C" {
13645 pub fn Esys_NV_Extend_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13646}
13647extern "C" {
13648 pub fn Esys_NV_SetBits(
13649 esysContext: *mut ESYS_CONTEXT,
13650 authHandle: ESYS_TR,
13651 nvIndex: ESYS_TR,
13652 shandle1: ESYS_TR,
13653 shandle2: ESYS_TR,
13654 shandle3: ESYS_TR,
13655 bits: UINT64,
13656 ) -> TSS2_RC;
13657}
13658extern "C" {
13659 pub fn Esys_NV_SetBits_Async(
13660 esysContext: *mut ESYS_CONTEXT,
13661 authHandle: ESYS_TR,
13662 nvIndex: ESYS_TR,
13663 shandle1: ESYS_TR,
13664 shandle2: ESYS_TR,
13665 shandle3: ESYS_TR,
13666 bits: UINT64,
13667 ) -> TSS2_RC;
13668}
13669extern "C" {
13670 pub fn Esys_NV_SetBits_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13671}
13672extern "C" {
13673 pub fn Esys_NV_WriteLock(
13674 esysContext: *mut ESYS_CONTEXT,
13675 authHandle: ESYS_TR,
13676 nvIndex: ESYS_TR,
13677 shandle1: ESYS_TR,
13678 shandle2: ESYS_TR,
13679 shandle3: ESYS_TR,
13680 ) -> TSS2_RC;
13681}
13682extern "C" {
13683 pub fn Esys_NV_WriteLock_Async(
13684 esysContext: *mut ESYS_CONTEXT,
13685 authHandle: ESYS_TR,
13686 nvIndex: ESYS_TR,
13687 shandle1: ESYS_TR,
13688 shandle2: ESYS_TR,
13689 shandle3: ESYS_TR,
13690 ) -> TSS2_RC;
13691}
13692extern "C" {
13693 pub fn Esys_NV_WriteLock_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13694}
13695extern "C" {
13696 pub fn Esys_NV_GlobalWriteLock(
13697 esysContext: *mut ESYS_CONTEXT,
13698 authHandle: ESYS_TR,
13699 shandle1: ESYS_TR,
13700 shandle2: ESYS_TR,
13701 shandle3: ESYS_TR,
13702 ) -> TSS2_RC;
13703}
13704extern "C" {
13705 pub fn Esys_NV_GlobalWriteLock_Async(
13706 esysContext: *mut ESYS_CONTEXT,
13707 authHandle: ESYS_TR,
13708 shandle1: ESYS_TR,
13709 shandle2: ESYS_TR,
13710 shandle3: ESYS_TR,
13711 ) -> TSS2_RC;
13712}
13713extern "C" {
13714 pub fn Esys_NV_GlobalWriteLock_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13715}
13716extern "C" {
13717 pub fn Esys_NV_Read(
13718 esysContext: *mut ESYS_CONTEXT,
13719 authHandle: ESYS_TR,
13720 nvIndex: ESYS_TR,
13721 shandle1: ESYS_TR,
13722 shandle2: ESYS_TR,
13723 shandle3: ESYS_TR,
13724 size: UINT16,
13725 offset: UINT16,
13726 data: *mut *mut TPM2B_MAX_NV_BUFFER,
13727 ) -> TSS2_RC;
13728}
13729extern "C" {
13730 pub fn Esys_NV_Read_Async(
13731 esysContext: *mut ESYS_CONTEXT,
13732 authHandle: ESYS_TR,
13733 nvIndex: ESYS_TR,
13734 shandle1: ESYS_TR,
13735 shandle2: ESYS_TR,
13736 shandle3: ESYS_TR,
13737 size: UINT16,
13738 offset: UINT16,
13739 ) -> TSS2_RC;
13740}
13741extern "C" {
13742 pub fn Esys_NV_Read_Finish(
13743 esysContext: *mut ESYS_CONTEXT,
13744 data: *mut *mut TPM2B_MAX_NV_BUFFER,
13745 ) -> TSS2_RC;
13746}
13747extern "C" {
13748 pub fn Esys_NV_ReadLock(
13749 esysContext: *mut ESYS_CONTEXT,
13750 authHandle: ESYS_TR,
13751 nvIndex: ESYS_TR,
13752 shandle1: ESYS_TR,
13753 shandle2: ESYS_TR,
13754 shandle3: ESYS_TR,
13755 ) -> TSS2_RC;
13756}
13757extern "C" {
13758 pub fn Esys_NV_ReadLock_Async(
13759 esysContext: *mut ESYS_CONTEXT,
13760 authHandle: ESYS_TR,
13761 nvIndex: ESYS_TR,
13762 shandle1: ESYS_TR,
13763 shandle2: ESYS_TR,
13764 shandle3: ESYS_TR,
13765 ) -> TSS2_RC;
13766}
13767extern "C" {
13768 pub fn Esys_NV_ReadLock_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13769}
13770extern "C" {
13771 pub fn Esys_NV_ChangeAuth(
13772 esysContext: *mut ESYS_CONTEXT,
13773 nvIndex: ESYS_TR,
13774 shandle1: ESYS_TR,
13775 shandle2: ESYS_TR,
13776 shandle3: ESYS_TR,
13777 newAuth: *const TPM2B_AUTH,
13778 ) -> TSS2_RC;
13779}
13780extern "C" {
13781 pub fn Esys_NV_ChangeAuth_Async(
13782 esysContext: *mut ESYS_CONTEXT,
13783 nvIndex: ESYS_TR,
13784 shandle1: ESYS_TR,
13785 shandle2: ESYS_TR,
13786 shandle3: ESYS_TR,
13787 newAuth: *const TPM2B_AUTH,
13788 ) -> TSS2_RC;
13789}
13790extern "C" {
13791 pub fn Esys_NV_ChangeAuth_Finish(esysContext: *mut ESYS_CONTEXT) -> TSS2_RC;
13792}
13793extern "C" {
13794 pub fn Esys_NV_Certify(
13795 esysContext: *mut ESYS_CONTEXT,
13796 signHandle: ESYS_TR,
13797 authHandle: ESYS_TR,
13798 nvIndex: ESYS_TR,
13799 shandle1: ESYS_TR,
13800 shandle2: ESYS_TR,
13801 shandle3: ESYS_TR,
13802 qualifyingData: *const TPM2B_DATA,
13803 inScheme: *const TPMT_SIG_SCHEME,
13804 size: UINT16,
13805 offset: UINT16,
13806 certifyInfo: *mut *mut TPM2B_ATTEST,
13807 signature: *mut *mut TPMT_SIGNATURE,
13808 ) -> TSS2_RC;
13809}
13810extern "C" {
13811 pub fn Esys_NV_Certify_Async(
13812 esysContext: *mut ESYS_CONTEXT,
13813 signHandle: ESYS_TR,
13814 authHandle: ESYS_TR,
13815 nvIndex: ESYS_TR,
13816 shandle1: ESYS_TR,
13817 shandle2: ESYS_TR,
13818 shandle3: ESYS_TR,
13819 qualifyingData: *const TPM2B_DATA,
13820 inScheme: *const TPMT_SIG_SCHEME,
13821 size: UINT16,
13822 offset: UINT16,
13823 ) -> TSS2_RC;
13824}
13825extern "C" {
13826 pub fn Esys_NV_Certify_Finish(
13827 esysContext: *mut ESYS_CONTEXT,
13828 certifyInfo: *mut *mut TPM2B_ATTEST,
13829 signature: *mut *mut TPMT_SIGNATURE,
13830 ) -> TSS2_RC;
13831}
13832extern "C" {
13833 pub fn Esys_Vendor_TCG_Test(
13834 esysContext: *mut ESYS_CONTEXT,
13835 shandle1: ESYS_TR,
13836 shandle2: ESYS_TR,
13837 shandle3: ESYS_TR,
13838 inputData: *const TPM2B_DATA,
13839 outputData: *mut *mut TPM2B_DATA,
13840 ) -> TSS2_RC;
13841}
13842extern "C" {
13843 pub fn Esys_Vendor_TCG_Test_Async(
13844 esysContext: *mut ESYS_CONTEXT,
13845 shandle1: ESYS_TR,
13846 shandle2: ESYS_TR,
13847 shandle3: ESYS_TR,
13848 inputData: *const TPM2B_DATA,
13849 ) -> TSS2_RC;
13850}
13851extern "C" {
13852 pub fn Esys_Vendor_TCG_Test_Finish(
13853 esysContext: *mut ESYS_CONTEXT,
13854 outputData: *mut *mut TPM2B_DATA,
13855 ) -> TSS2_RC;
13856}
13857extern "C" {
13858 pub fn Esys_Free(__ptr: *mut ::std::os::raw::c_void);
13859}
13860extern "C" {
13861 pub fn Esys_GetSysContext(
13862 esys_context: *mut ESYS_CONTEXT,
13863 sys_context: *mut *mut TSS2_SYS_CONTEXT,
13864 ) -> TSS2_RC;
13865}
13866pub type __gwchar_t = ::std::os::raw::c_int;
13867#[repr(C)]
13868#[derive(Debug, Default, Copy, Clone)]
13869pub struct imaxdiv_t {
13870 pub quot: ::std::os::raw::c_long,
13871 pub rem: ::std::os::raw::c_long,
13872}
13873#[test]
13874fn bindgen_test_layout_imaxdiv_t() {
13875 const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
13876 let ptr = UNINIT.as_ptr();
13877 assert_eq!(
13878 ::std::mem::size_of::<imaxdiv_t>(),
13879 16usize,
13880 concat!("Size of: ", stringify!(imaxdiv_t))
13881 );
13882 assert_eq!(
13883 ::std::mem::align_of::<imaxdiv_t>(),
13884 8usize,
13885 concat!("Alignment of ", stringify!(imaxdiv_t))
13886 );
13887 assert_eq!(
13888 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
13889 0usize,
13890 concat!(
13891 "Offset of field: ",
13892 stringify!(imaxdiv_t),
13893 "::",
13894 stringify!(quot)
13895 )
13896 );
13897 assert_eq!(
13898 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
13899 8usize,
13900 concat!(
13901 "Offset of field: ",
13902 stringify!(imaxdiv_t),
13903 "::",
13904 stringify!(rem)
13905 )
13906 );
13907}
13908extern "C" {
13909 pub fn imaxabs(__n: intmax_t) -> intmax_t;
13910}
13911extern "C" {
13912 pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
13913}
13914extern "C" {
13915 pub fn strtoimax(
13916 __nptr: *const ::std::os::raw::c_char,
13917 __endptr: *mut *mut ::std::os::raw::c_char,
13918 __base: ::std::os::raw::c_int,
13919 ) -> intmax_t;
13920}
13921extern "C" {
13922 pub fn strtoumax(
13923 __nptr: *const ::std::os::raw::c_char,
13924 __endptr: *mut *mut ::std::os::raw::c_char,
13925 __base: ::std::os::raw::c_int,
13926 ) -> uintmax_t;
13927}
13928extern "C" {
13929 pub fn wcstoimax(
13930 __nptr: *const __gwchar_t,
13931 __endptr: *mut *mut __gwchar_t,
13932 __base: ::std::os::raw::c_int,
13933 ) -> intmax_t;
13934}
13935extern "C" {
13936 pub fn wcstoumax(
13937 __nptr: *const __gwchar_t,
13938 __endptr: *mut *mut __gwchar_t,
13939 __base: ::std::os::raw::c_int,
13940 ) -> uintmax_t;
13941}
13942pub const idtype_t_P_ALL: idtype_t = 0;
13943pub const idtype_t_P_PID: idtype_t = 1;
13944pub const idtype_t_P_PGID: idtype_t = 2;
13945pub type idtype_t = ::std::os::raw::c_uint;
13946pub type _Float32 = f32;
13947pub type _Float64 = f64;
13948pub type _Float32x = f64;
13949pub type _Float64x = u128;
13950#[repr(C)]
13951#[derive(Debug, Default, Copy, Clone)]
13952pub struct div_t {
13953 pub quot: ::std::os::raw::c_int,
13954 pub rem: ::std::os::raw::c_int,
13955}
13956#[test]
13957fn bindgen_test_layout_div_t() {
13958 const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
13959 let ptr = UNINIT.as_ptr();
13960 assert_eq!(
13961 ::std::mem::size_of::<div_t>(),
13962 8usize,
13963 concat!("Size of: ", stringify!(div_t))
13964 );
13965 assert_eq!(
13966 ::std::mem::align_of::<div_t>(),
13967 4usize,
13968 concat!("Alignment of ", stringify!(div_t))
13969 );
13970 assert_eq!(
13971 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
13972 0usize,
13973 concat!(
13974 "Offset of field: ",
13975 stringify!(div_t),
13976 "::",
13977 stringify!(quot)
13978 )
13979 );
13980 assert_eq!(
13981 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
13982 4usize,
13983 concat!(
13984 "Offset of field: ",
13985 stringify!(div_t),
13986 "::",
13987 stringify!(rem)
13988 )
13989 );
13990}
13991#[repr(C)]
13992#[derive(Debug, Default, Copy, Clone)]
13993pub struct ldiv_t {
13994 pub quot: ::std::os::raw::c_long,
13995 pub rem: ::std::os::raw::c_long,
13996}
13997#[test]
13998fn bindgen_test_layout_ldiv_t() {
13999 const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
14000 let ptr = UNINIT.as_ptr();
14001 assert_eq!(
14002 ::std::mem::size_of::<ldiv_t>(),
14003 16usize,
14004 concat!("Size of: ", stringify!(ldiv_t))
14005 );
14006 assert_eq!(
14007 ::std::mem::align_of::<ldiv_t>(),
14008 8usize,
14009 concat!("Alignment of ", stringify!(ldiv_t))
14010 );
14011 assert_eq!(
14012 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
14013 0usize,
14014 concat!(
14015 "Offset of field: ",
14016 stringify!(ldiv_t),
14017 "::",
14018 stringify!(quot)
14019 )
14020 );
14021 assert_eq!(
14022 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
14023 8usize,
14024 concat!(
14025 "Offset of field: ",
14026 stringify!(ldiv_t),
14027 "::",
14028 stringify!(rem)
14029 )
14030 );
14031}
14032#[repr(C)]
14033#[derive(Debug, Default, Copy, Clone)]
14034pub struct lldiv_t {
14035 pub quot: ::std::os::raw::c_longlong,
14036 pub rem: ::std::os::raw::c_longlong,
14037}
14038#[test]
14039fn bindgen_test_layout_lldiv_t() {
14040 const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
14041 let ptr = UNINIT.as_ptr();
14042 assert_eq!(
14043 ::std::mem::size_of::<lldiv_t>(),
14044 16usize,
14045 concat!("Size of: ", stringify!(lldiv_t))
14046 );
14047 assert_eq!(
14048 ::std::mem::align_of::<lldiv_t>(),
14049 8usize,
14050 concat!("Alignment of ", stringify!(lldiv_t))
14051 );
14052 assert_eq!(
14053 unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
14054 0usize,
14055 concat!(
14056 "Offset of field: ",
14057 stringify!(lldiv_t),
14058 "::",
14059 stringify!(quot)
14060 )
14061 );
14062 assert_eq!(
14063 unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
14064 8usize,
14065 concat!(
14066 "Offset of field: ",
14067 stringify!(lldiv_t),
14068 "::",
14069 stringify!(rem)
14070 )
14071 );
14072}
14073extern "C" {
14074 pub fn __ctype_get_mb_cur_max() -> size_t;
14075}
14076extern "C" {
14077 pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
14078}
14079extern "C" {
14080 pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14081}
14082extern "C" {
14083 pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
14084}
14085extern "C" {
14086 pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
14087}
14088extern "C" {
14089 pub fn strtod(
14090 __nptr: *const ::std::os::raw::c_char,
14091 __endptr: *mut *mut ::std::os::raw::c_char,
14092 ) -> f64;
14093}
14094extern "C" {
14095 pub fn strtof(
14096 __nptr: *const ::std::os::raw::c_char,
14097 __endptr: *mut *mut ::std::os::raw::c_char,
14098 ) -> f32;
14099}
14100extern "C" {
14101 pub fn strtold(
14102 __nptr: *const ::std::os::raw::c_char,
14103 __endptr: *mut *mut ::std::os::raw::c_char,
14104 ) -> u128;
14105}
14106extern "C" {
14107 pub fn strtol(
14108 __nptr: *const ::std::os::raw::c_char,
14109 __endptr: *mut *mut ::std::os::raw::c_char,
14110 __base: ::std::os::raw::c_int,
14111 ) -> ::std::os::raw::c_long;
14112}
14113extern "C" {
14114 pub fn strtoul(
14115 __nptr: *const ::std::os::raw::c_char,
14116 __endptr: *mut *mut ::std::os::raw::c_char,
14117 __base: ::std::os::raw::c_int,
14118 ) -> ::std::os::raw::c_ulong;
14119}
14120extern "C" {
14121 pub fn strtoq(
14122 __nptr: *const ::std::os::raw::c_char,
14123 __endptr: *mut *mut ::std::os::raw::c_char,
14124 __base: ::std::os::raw::c_int,
14125 ) -> ::std::os::raw::c_longlong;
14126}
14127extern "C" {
14128 pub fn strtouq(
14129 __nptr: *const ::std::os::raw::c_char,
14130 __endptr: *mut *mut ::std::os::raw::c_char,
14131 __base: ::std::os::raw::c_int,
14132 ) -> ::std::os::raw::c_ulonglong;
14133}
14134extern "C" {
14135 pub fn strtoll(
14136 __nptr: *const ::std::os::raw::c_char,
14137 __endptr: *mut *mut ::std::os::raw::c_char,
14138 __base: ::std::os::raw::c_int,
14139 ) -> ::std::os::raw::c_longlong;
14140}
14141extern "C" {
14142 pub fn strtoull(
14143 __nptr: *const ::std::os::raw::c_char,
14144 __endptr: *mut *mut ::std::os::raw::c_char,
14145 __base: ::std::os::raw::c_int,
14146 ) -> ::std::os::raw::c_ulonglong;
14147}
14148extern "C" {
14149 pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
14150}
14151extern "C" {
14152 pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
14153}
14154pub type u_char = __u_char;
14155pub type u_short = __u_short;
14156pub type u_int = __u_int;
14157pub type u_long = __u_long;
14158pub type quad_t = __quad_t;
14159pub type u_quad_t = __u_quad_t;
14160pub type fsid_t = __fsid_t;
14161pub type loff_t = __loff_t;
14162pub type ino_t = __ino_t;
14163pub type dev_t = __dev_t;
14164pub type gid_t = __gid_t;
14165pub type mode_t = __mode_t;
14166pub type nlink_t = __nlink_t;
14167pub type uid_t = __uid_t;
14168pub type off_t = __off_t;
14169pub type pid_t = __pid_t;
14170pub type id_t = __id_t;
14171pub type ssize_t = __ssize_t;
14172pub type daddr_t = __daddr_t;
14173pub type caddr_t = __caddr_t;
14174pub type key_t = __key_t;
14175pub type clock_t = __clock_t;
14176pub type clockid_t = __clockid_t;
14177pub type time_t = __time_t;
14178pub type timer_t = __timer_t;
14179pub type ulong = ::std::os::raw::c_ulong;
14180pub type ushort = ::std::os::raw::c_ushort;
14181pub type uint = ::std::os::raw::c_uint;
14182pub type u_int8_t = __uint8_t;
14183pub type u_int16_t = __uint16_t;
14184pub type u_int32_t = __uint32_t;
14185pub type u_int64_t = __uint64_t;
14186pub type register_t = ::std::os::raw::c_long;
14187#[repr(C)]
14188#[derive(Debug, Default, Copy, Clone)]
14189pub struct __sigset_t {
14190 pub __val: [::std::os::raw::c_ulong; 16usize],
14191}
14192#[test]
14193fn bindgen_test_layout___sigset_t() {
14194 const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
14195 let ptr = UNINIT.as_ptr();
14196 assert_eq!(
14197 ::std::mem::size_of::<__sigset_t>(),
14198 128usize,
14199 concat!("Size of: ", stringify!(__sigset_t))
14200 );
14201 assert_eq!(
14202 ::std::mem::align_of::<__sigset_t>(),
14203 8usize,
14204 concat!("Alignment of ", stringify!(__sigset_t))
14205 );
14206 assert_eq!(
14207 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
14208 0usize,
14209 concat!(
14210 "Offset of field: ",
14211 stringify!(__sigset_t),
14212 "::",
14213 stringify!(__val)
14214 )
14215 );
14216}
14217pub type sigset_t = __sigset_t;
14218#[repr(C)]
14219#[derive(Debug, Default, Copy, Clone)]
14220pub struct timeval {
14221 pub tv_sec: __time_t,
14222 pub tv_usec: __suseconds_t,
14223}
14224#[test]
14225fn bindgen_test_layout_timeval() {
14226 const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
14227 let ptr = UNINIT.as_ptr();
14228 assert_eq!(
14229 ::std::mem::size_of::<timeval>(),
14230 16usize,
14231 concat!("Size of: ", stringify!(timeval))
14232 );
14233 assert_eq!(
14234 ::std::mem::align_of::<timeval>(),
14235 8usize,
14236 concat!("Alignment of ", stringify!(timeval))
14237 );
14238 assert_eq!(
14239 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
14240 0usize,
14241 concat!(
14242 "Offset of field: ",
14243 stringify!(timeval),
14244 "::",
14245 stringify!(tv_sec)
14246 )
14247 );
14248 assert_eq!(
14249 unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
14250 8usize,
14251 concat!(
14252 "Offset of field: ",
14253 stringify!(timeval),
14254 "::",
14255 stringify!(tv_usec)
14256 )
14257 );
14258}
14259#[repr(C)]
14260#[derive(Debug, Default, Copy, Clone)]
14261pub struct timespec {
14262 pub tv_sec: __time_t,
14263 pub tv_nsec: __syscall_slong_t,
14264}
14265#[test]
14266fn bindgen_test_layout_timespec() {
14267 const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
14268 let ptr = UNINIT.as_ptr();
14269 assert_eq!(
14270 ::std::mem::size_of::<timespec>(),
14271 16usize,
14272 concat!("Size of: ", stringify!(timespec))
14273 );
14274 assert_eq!(
14275 ::std::mem::align_of::<timespec>(),
14276 8usize,
14277 concat!("Alignment of ", stringify!(timespec))
14278 );
14279 assert_eq!(
14280 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
14281 0usize,
14282 concat!(
14283 "Offset of field: ",
14284 stringify!(timespec),
14285 "::",
14286 stringify!(tv_sec)
14287 )
14288 );
14289 assert_eq!(
14290 unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
14291 8usize,
14292 concat!(
14293 "Offset of field: ",
14294 stringify!(timespec),
14295 "::",
14296 stringify!(tv_nsec)
14297 )
14298 );
14299}
14300pub type suseconds_t = __suseconds_t;
14301pub type __fd_mask = ::std::os::raw::c_long;
14302#[repr(C)]
14303#[derive(Debug, Default, Copy, Clone)]
14304pub struct fd_set {
14305 pub __fds_bits: [__fd_mask; 16usize],
14306}
14307#[test]
14308fn bindgen_test_layout_fd_set() {
14309 const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
14310 let ptr = UNINIT.as_ptr();
14311 assert_eq!(
14312 ::std::mem::size_of::<fd_set>(),
14313 128usize,
14314 concat!("Size of: ", stringify!(fd_set))
14315 );
14316 assert_eq!(
14317 ::std::mem::align_of::<fd_set>(),
14318 8usize,
14319 concat!("Alignment of ", stringify!(fd_set))
14320 );
14321 assert_eq!(
14322 unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize },
14323 0usize,
14324 concat!(
14325 "Offset of field: ",
14326 stringify!(fd_set),
14327 "::",
14328 stringify!(__fds_bits)
14329 )
14330 );
14331}
14332pub type fd_mask = __fd_mask;
14333extern "C" {
14334 pub fn select(
14335 __nfds: ::std::os::raw::c_int,
14336 __readfds: *mut fd_set,
14337 __writefds: *mut fd_set,
14338 __exceptfds: *mut fd_set,
14339 __timeout: *mut timeval,
14340 ) -> ::std::os::raw::c_int;
14341}
14342extern "C" {
14343 pub fn pselect(
14344 __nfds: ::std::os::raw::c_int,
14345 __readfds: *mut fd_set,
14346 __writefds: *mut fd_set,
14347 __exceptfds: *mut fd_set,
14348 __timeout: *const timespec,
14349 __sigmask: *const __sigset_t,
14350 ) -> ::std::os::raw::c_int;
14351}
14352pub type blksize_t = __blksize_t;
14353pub type blkcnt_t = __blkcnt_t;
14354pub type fsblkcnt_t = __fsblkcnt_t;
14355pub type fsfilcnt_t = __fsfilcnt_t;
14356#[repr(C)]
14357#[derive(Debug, Copy, Clone)]
14358pub struct __pthread_internal_list {
14359 pub __prev: *mut __pthread_internal_list,
14360 pub __next: *mut __pthread_internal_list,
14361}
14362#[test]
14363fn bindgen_test_layout___pthread_internal_list() {
14364 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> =
14365 ::std::mem::MaybeUninit::uninit();
14366 let ptr = UNINIT.as_ptr();
14367 assert_eq!(
14368 ::std::mem::size_of::<__pthread_internal_list>(),
14369 16usize,
14370 concat!("Size of: ", stringify!(__pthread_internal_list))
14371 );
14372 assert_eq!(
14373 ::std::mem::align_of::<__pthread_internal_list>(),
14374 8usize,
14375 concat!("Alignment of ", stringify!(__pthread_internal_list))
14376 );
14377 assert_eq!(
14378 unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
14379 0usize,
14380 concat!(
14381 "Offset of field: ",
14382 stringify!(__pthread_internal_list),
14383 "::",
14384 stringify!(__prev)
14385 )
14386 );
14387 assert_eq!(
14388 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
14389 8usize,
14390 concat!(
14391 "Offset of field: ",
14392 stringify!(__pthread_internal_list),
14393 "::",
14394 stringify!(__next)
14395 )
14396 );
14397}
14398impl Default for __pthread_internal_list {
14399 fn default() -> Self {
14400 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14401 unsafe {
14402 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14403 s.assume_init()
14404 }
14405 }
14406}
14407pub type __pthread_list_t = __pthread_internal_list;
14408#[repr(C)]
14409#[derive(Debug, Copy, Clone)]
14410pub struct __pthread_internal_slist {
14411 pub __next: *mut __pthread_internal_slist,
14412}
14413#[test]
14414fn bindgen_test_layout___pthread_internal_slist() {
14415 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> =
14416 ::std::mem::MaybeUninit::uninit();
14417 let ptr = UNINIT.as_ptr();
14418 assert_eq!(
14419 ::std::mem::size_of::<__pthread_internal_slist>(),
14420 8usize,
14421 concat!("Size of: ", stringify!(__pthread_internal_slist))
14422 );
14423 assert_eq!(
14424 ::std::mem::align_of::<__pthread_internal_slist>(),
14425 8usize,
14426 concat!("Alignment of ", stringify!(__pthread_internal_slist))
14427 );
14428 assert_eq!(
14429 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
14430 0usize,
14431 concat!(
14432 "Offset of field: ",
14433 stringify!(__pthread_internal_slist),
14434 "::",
14435 stringify!(__next)
14436 )
14437 );
14438}
14439impl Default for __pthread_internal_slist {
14440 fn default() -> Self {
14441 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14442 unsafe {
14443 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14444 s.assume_init()
14445 }
14446 }
14447}
14448pub type __pthread_slist_t = __pthread_internal_slist;
14449#[repr(C)]
14450#[derive(Debug, Copy, Clone)]
14451pub struct __pthread_mutex_s {
14452 pub __lock: ::std::os::raw::c_int,
14453 pub __count: ::std::os::raw::c_uint,
14454 pub __owner: ::std::os::raw::c_int,
14455 pub __nusers: ::std::os::raw::c_uint,
14456 pub __kind: ::std::os::raw::c_int,
14457 pub __spins: ::std::os::raw::c_short,
14458 pub __elision: ::std::os::raw::c_short,
14459 pub __list: __pthread_list_t,
14460}
14461#[test]
14462fn bindgen_test_layout___pthread_mutex_s() {
14463 const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit();
14464 let ptr = UNINIT.as_ptr();
14465 assert_eq!(
14466 ::std::mem::size_of::<__pthread_mutex_s>(),
14467 40usize,
14468 concat!("Size of: ", stringify!(__pthread_mutex_s))
14469 );
14470 assert_eq!(
14471 ::std::mem::align_of::<__pthread_mutex_s>(),
14472 8usize,
14473 concat!("Alignment of ", stringify!(__pthread_mutex_s))
14474 );
14475 assert_eq!(
14476 unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize },
14477 0usize,
14478 concat!(
14479 "Offset of field: ",
14480 stringify!(__pthread_mutex_s),
14481 "::",
14482 stringify!(__lock)
14483 )
14484 );
14485 assert_eq!(
14486 unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
14487 4usize,
14488 concat!(
14489 "Offset of field: ",
14490 stringify!(__pthread_mutex_s),
14491 "::",
14492 stringify!(__count)
14493 )
14494 );
14495 assert_eq!(
14496 unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
14497 8usize,
14498 concat!(
14499 "Offset of field: ",
14500 stringify!(__pthread_mutex_s),
14501 "::",
14502 stringify!(__owner)
14503 )
14504 );
14505 assert_eq!(
14506 unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
14507 12usize,
14508 concat!(
14509 "Offset of field: ",
14510 stringify!(__pthread_mutex_s),
14511 "::",
14512 stringify!(__nusers)
14513 )
14514 );
14515 assert_eq!(
14516 unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
14517 16usize,
14518 concat!(
14519 "Offset of field: ",
14520 stringify!(__pthread_mutex_s),
14521 "::",
14522 stringify!(__kind)
14523 )
14524 );
14525 assert_eq!(
14526 unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
14527 20usize,
14528 concat!(
14529 "Offset of field: ",
14530 stringify!(__pthread_mutex_s),
14531 "::",
14532 stringify!(__spins)
14533 )
14534 );
14535 assert_eq!(
14536 unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize },
14537 22usize,
14538 concat!(
14539 "Offset of field: ",
14540 stringify!(__pthread_mutex_s),
14541 "::",
14542 stringify!(__elision)
14543 )
14544 );
14545 assert_eq!(
14546 unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
14547 24usize,
14548 concat!(
14549 "Offset of field: ",
14550 stringify!(__pthread_mutex_s),
14551 "::",
14552 stringify!(__list)
14553 )
14554 );
14555}
14556impl Default for __pthread_mutex_s {
14557 fn default() -> Self {
14558 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14559 unsafe {
14560 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14561 s.assume_init()
14562 }
14563 }
14564}
14565#[repr(C)]
14566#[derive(Debug, Default, Copy, Clone)]
14567pub struct __pthread_rwlock_arch_t {
14568 pub __readers: ::std::os::raw::c_uint,
14569 pub __writers: ::std::os::raw::c_uint,
14570 pub __wrphase_futex: ::std::os::raw::c_uint,
14571 pub __writers_futex: ::std::os::raw::c_uint,
14572 pub __pad3: ::std::os::raw::c_uint,
14573 pub __pad4: ::std::os::raw::c_uint,
14574 pub __cur_writer: ::std::os::raw::c_int,
14575 pub __shared: ::std::os::raw::c_int,
14576 pub __rwelision: ::std::os::raw::c_schar,
14577 pub __pad1: [::std::os::raw::c_uchar; 7usize],
14578 pub __pad2: ::std::os::raw::c_ulong,
14579 pub __flags: ::std::os::raw::c_uint,
14580}
14581#[test]
14582fn bindgen_test_layout___pthread_rwlock_arch_t() {
14583 const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> =
14584 ::std::mem::MaybeUninit::uninit();
14585 let ptr = UNINIT.as_ptr();
14586 assert_eq!(
14587 ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
14588 56usize,
14589 concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
14590 );
14591 assert_eq!(
14592 ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
14593 8usize,
14594 concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
14595 );
14596 assert_eq!(
14597 unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize },
14598 0usize,
14599 concat!(
14600 "Offset of field: ",
14601 stringify!(__pthread_rwlock_arch_t),
14602 "::",
14603 stringify!(__readers)
14604 )
14605 );
14606 assert_eq!(
14607 unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
14608 4usize,
14609 concat!(
14610 "Offset of field: ",
14611 stringify!(__pthread_rwlock_arch_t),
14612 "::",
14613 stringify!(__writers)
14614 )
14615 );
14616 assert_eq!(
14617 unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
14618 8usize,
14619 concat!(
14620 "Offset of field: ",
14621 stringify!(__pthread_rwlock_arch_t),
14622 "::",
14623 stringify!(__wrphase_futex)
14624 )
14625 );
14626 assert_eq!(
14627 unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
14628 12usize,
14629 concat!(
14630 "Offset of field: ",
14631 stringify!(__pthread_rwlock_arch_t),
14632 "::",
14633 stringify!(__writers_futex)
14634 )
14635 );
14636 assert_eq!(
14637 unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
14638 16usize,
14639 concat!(
14640 "Offset of field: ",
14641 stringify!(__pthread_rwlock_arch_t),
14642 "::",
14643 stringify!(__pad3)
14644 )
14645 );
14646 assert_eq!(
14647 unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
14648 20usize,
14649 concat!(
14650 "Offset of field: ",
14651 stringify!(__pthread_rwlock_arch_t),
14652 "::",
14653 stringify!(__pad4)
14654 )
14655 );
14656 assert_eq!(
14657 unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
14658 24usize,
14659 concat!(
14660 "Offset of field: ",
14661 stringify!(__pthread_rwlock_arch_t),
14662 "::",
14663 stringify!(__cur_writer)
14664 )
14665 );
14666 assert_eq!(
14667 unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
14668 28usize,
14669 concat!(
14670 "Offset of field: ",
14671 stringify!(__pthread_rwlock_arch_t),
14672 "::",
14673 stringify!(__shared)
14674 )
14675 );
14676 assert_eq!(
14677 unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize },
14678 32usize,
14679 concat!(
14680 "Offset of field: ",
14681 stringify!(__pthread_rwlock_arch_t),
14682 "::",
14683 stringify!(__rwelision)
14684 )
14685 );
14686 assert_eq!(
14687 unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
14688 33usize,
14689 concat!(
14690 "Offset of field: ",
14691 stringify!(__pthread_rwlock_arch_t),
14692 "::",
14693 stringify!(__pad1)
14694 )
14695 );
14696 assert_eq!(
14697 unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
14698 40usize,
14699 concat!(
14700 "Offset of field: ",
14701 stringify!(__pthread_rwlock_arch_t),
14702 "::",
14703 stringify!(__pad2)
14704 )
14705 );
14706 assert_eq!(
14707 unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
14708 48usize,
14709 concat!(
14710 "Offset of field: ",
14711 stringify!(__pthread_rwlock_arch_t),
14712 "::",
14713 stringify!(__flags)
14714 )
14715 );
14716}
14717#[repr(C)]
14718#[derive(Copy, Clone)]
14719pub struct __pthread_cond_s {
14720 pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
14721 pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
14722 pub __g_refs: [::std::os::raw::c_uint; 2usize],
14723 pub __g_size: [::std::os::raw::c_uint; 2usize],
14724 pub __g1_orig_size: ::std::os::raw::c_uint,
14725 pub __wrefs: ::std::os::raw::c_uint,
14726 pub __g_signals: [::std::os::raw::c_uint; 2usize],
14727}
14728#[repr(C)]
14729#[derive(Copy, Clone)]
14730pub union __pthread_cond_s__bindgen_ty_1 {
14731 pub __wseq: ::std::os::raw::c_ulonglong,
14732 pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
14733}
14734#[repr(C)]
14735#[derive(Debug, Default, Copy, Clone)]
14736pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
14737 pub __low: ::std::os::raw::c_uint,
14738 pub __high: ::std::os::raw::c_uint,
14739}
14740#[test]
14741fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
14742 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1> =
14743 ::std::mem::MaybeUninit::uninit();
14744 let ptr = UNINIT.as_ptr();
14745 assert_eq!(
14746 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
14747 8usize,
14748 concat!(
14749 "Size of: ",
14750 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
14751 )
14752 );
14753 assert_eq!(
14754 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
14755 4usize,
14756 concat!(
14757 "Alignment of ",
14758 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
14759 )
14760 );
14761 assert_eq!(
14762 unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
14763 0usize,
14764 concat!(
14765 "Offset of field: ",
14766 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
14767 "::",
14768 stringify!(__low)
14769 )
14770 );
14771 assert_eq!(
14772 unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
14773 4usize,
14774 concat!(
14775 "Offset of field: ",
14776 stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
14777 "::",
14778 stringify!(__high)
14779 )
14780 );
14781}
14782#[test]
14783fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
14784 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1> =
14785 ::std::mem::MaybeUninit::uninit();
14786 let ptr = UNINIT.as_ptr();
14787 assert_eq!(
14788 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
14789 8usize,
14790 concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
14791 );
14792 assert_eq!(
14793 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
14794 8usize,
14795 concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
14796 );
14797 assert_eq!(
14798 unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize },
14799 0usize,
14800 concat!(
14801 "Offset of field: ",
14802 stringify!(__pthread_cond_s__bindgen_ty_1),
14803 "::",
14804 stringify!(__wseq)
14805 )
14806 );
14807 assert_eq!(
14808 unsafe { ::std::ptr::addr_of!((*ptr).__wseq32) as usize - ptr as usize },
14809 0usize,
14810 concat!(
14811 "Offset of field: ",
14812 stringify!(__pthread_cond_s__bindgen_ty_1),
14813 "::",
14814 stringify!(__wseq32)
14815 )
14816 );
14817}
14818impl Default for __pthread_cond_s__bindgen_ty_1 {
14819 fn default() -> Self {
14820 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14821 unsafe {
14822 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14823 s.assume_init()
14824 }
14825 }
14826}
14827#[repr(C)]
14828#[derive(Copy, Clone)]
14829pub union __pthread_cond_s__bindgen_ty_2 {
14830 pub __g1_start: ::std::os::raw::c_ulonglong,
14831 pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
14832}
14833#[repr(C)]
14834#[derive(Debug, Default, Copy, Clone)]
14835pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
14836 pub __low: ::std::os::raw::c_uint,
14837 pub __high: ::std::os::raw::c_uint,
14838}
14839#[test]
14840fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
14841 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1> =
14842 ::std::mem::MaybeUninit::uninit();
14843 let ptr = UNINIT.as_ptr();
14844 assert_eq!(
14845 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
14846 8usize,
14847 concat!(
14848 "Size of: ",
14849 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
14850 )
14851 );
14852 assert_eq!(
14853 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
14854 4usize,
14855 concat!(
14856 "Alignment of ",
14857 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
14858 )
14859 );
14860 assert_eq!(
14861 unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
14862 0usize,
14863 concat!(
14864 "Offset of field: ",
14865 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
14866 "::",
14867 stringify!(__low)
14868 )
14869 );
14870 assert_eq!(
14871 unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
14872 4usize,
14873 concat!(
14874 "Offset of field: ",
14875 stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
14876 "::",
14877 stringify!(__high)
14878 )
14879 );
14880}
14881#[test]
14882fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
14883 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2> =
14884 ::std::mem::MaybeUninit::uninit();
14885 let ptr = UNINIT.as_ptr();
14886 assert_eq!(
14887 ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
14888 8usize,
14889 concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
14890 );
14891 assert_eq!(
14892 ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
14893 8usize,
14894 concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
14895 );
14896 assert_eq!(
14897 unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
14898 0usize,
14899 concat!(
14900 "Offset of field: ",
14901 stringify!(__pthread_cond_s__bindgen_ty_2),
14902 "::",
14903 stringify!(__g1_start)
14904 )
14905 );
14906 assert_eq!(
14907 unsafe { ::std::ptr::addr_of!((*ptr).__g1_start32) as usize - ptr as usize },
14908 0usize,
14909 concat!(
14910 "Offset of field: ",
14911 stringify!(__pthread_cond_s__bindgen_ty_2),
14912 "::",
14913 stringify!(__g1_start32)
14914 )
14915 );
14916}
14917impl Default for __pthread_cond_s__bindgen_ty_2 {
14918 fn default() -> Self {
14919 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14920 unsafe {
14921 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14922 s.assume_init()
14923 }
14924 }
14925}
14926#[test]
14927fn bindgen_test_layout___pthread_cond_s() {
14928 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit();
14929 let ptr = UNINIT.as_ptr();
14930 assert_eq!(
14931 ::std::mem::size_of::<__pthread_cond_s>(),
14932 48usize,
14933 concat!("Size of: ", stringify!(__pthread_cond_s))
14934 );
14935 assert_eq!(
14936 ::std::mem::align_of::<__pthread_cond_s>(),
14937 8usize,
14938 concat!("Alignment of ", stringify!(__pthread_cond_s))
14939 );
14940 assert_eq!(
14941 unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
14942 16usize,
14943 concat!(
14944 "Offset of field: ",
14945 stringify!(__pthread_cond_s),
14946 "::",
14947 stringify!(__g_refs)
14948 )
14949 );
14950 assert_eq!(
14951 unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
14952 24usize,
14953 concat!(
14954 "Offset of field: ",
14955 stringify!(__pthread_cond_s),
14956 "::",
14957 stringify!(__g_size)
14958 )
14959 );
14960 assert_eq!(
14961 unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
14962 32usize,
14963 concat!(
14964 "Offset of field: ",
14965 stringify!(__pthread_cond_s),
14966 "::",
14967 stringify!(__g1_orig_size)
14968 )
14969 );
14970 assert_eq!(
14971 unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
14972 36usize,
14973 concat!(
14974 "Offset of field: ",
14975 stringify!(__pthread_cond_s),
14976 "::",
14977 stringify!(__wrefs)
14978 )
14979 );
14980 assert_eq!(
14981 unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
14982 40usize,
14983 concat!(
14984 "Offset of field: ",
14985 stringify!(__pthread_cond_s),
14986 "::",
14987 stringify!(__g_signals)
14988 )
14989 );
14990}
14991impl Default for __pthread_cond_s {
14992 fn default() -> Self {
14993 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14994 unsafe {
14995 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14996 s.assume_init()
14997 }
14998 }
14999}
15000pub type pthread_t = ::std::os::raw::c_ulong;
15001#[repr(C)]
15002#[derive(Copy, Clone)]
15003pub union pthread_mutexattr_t {
15004 pub __size: [::std::os::raw::c_char; 4usize],
15005 pub __align: ::std::os::raw::c_int,
15006}
15007#[test]
15008fn bindgen_test_layout_pthread_mutexattr_t() {
15009 const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
15010 let ptr = UNINIT.as_ptr();
15011 assert_eq!(
15012 ::std::mem::size_of::<pthread_mutexattr_t>(),
15013 4usize,
15014 concat!("Size of: ", stringify!(pthread_mutexattr_t))
15015 );
15016 assert_eq!(
15017 ::std::mem::align_of::<pthread_mutexattr_t>(),
15018 4usize,
15019 concat!("Alignment of ", stringify!(pthread_mutexattr_t))
15020 );
15021 assert_eq!(
15022 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15023 0usize,
15024 concat!(
15025 "Offset of field: ",
15026 stringify!(pthread_mutexattr_t),
15027 "::",
15028 stringify!(__size)
15029 )
15030 );
15031 assert_eq!(
15032 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15033 0usize,
15034 concat!(
15035 "Offset of field: ",
15036 stringify!(pthread_mutexattr_t),
15037 "::",
15038 stringify!(__align)
15039 )
15040 );
15041}
15042impl Default for pthread_mutexattr_t {
15043 fn default() -> Self {
15044 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15045 unsafe {
15046 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15047 s.assume_init()
15048 }
15049 }
15050}
15051#[repr(C)]
15052#[derive(Copy, Clone)]
15053pub union pthread_condattr_t {
15054 pub __size: [::std::os::raw::c_char; 4usize],
15055 pub __align: ::std::os::raw::c_int,
15056}
15057#[test]
15058fn bindgen_test_layout_pthread_condattr_t() {
15059 const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
15060 let ptr = UNINIT.as_ptr();
15061 assert_eq!(
15062 ::std::mem::size_of::<pthread_condattr_t>(),
15063 4usize,
15064 concat!("Size of: ", stringify!(pthread_condattr_t))
15065 );
15066 assert_eq!(
15067 ::std::mem::align_of::<pthread_condattr_t>(),
15068 4usize,
15069 concat!("Alignment of ", stringify!(pthread_condattr_t))
15070 );
15071 assert_eq!(
15072 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15073 0usize,
15074 concat!(
15075 "Offset of field: ",
15076 stringify!(pthread_condattr_t),
15077 "::",
15078 stringify!(__size)
15079 )
15080 );
15081 assert_eq!(
15082 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15083 0usize,
15084 concat!(
15085 "Offset of field: ",
15086 stringify!(pthread_condattr_t),
15087 "::",
15088 stringify!(__align)
15089 )
15090 );
15091}
15092impl Default for pthread_condattr_t {
15093 fn default() -> Self {
15094 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15095 unsafe {
15096 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15097 s.assume_init()
15098 }
15099 }
15100}
15101pub type pthread_key_t = ::std::os::raw::c_uint;
15102pub type pthread_once_t = ::std::os::raw::c_int;
15103#[repr(C)]
15104#[derive(Copy, Clone)]
15105pub union pthread_attr_t {
15106 pub __size: [::std::os::raw::c_char; 56usize],
15107 pub __align: ::std::os::raw::c_long,
15108}
15109#[test]
15110fn bindgen_test_layout_pthread_attr_t() {
15111 const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
15112 let ptr = UNINIT.as_ptr();
15113 assert_eq!(
15114 ::std::mem::size_of::<pthread_attr_t>(),
15115 56usize,
15116 concat!("Size of: ", stringify!(pthread_attr_t))
15117 );
15118 assert_eq!(
15119 ::std::mem::align_of::<pthread_attr_t>(),
15120 8usize,
15121 concat!("Alignment of ", stringify!(pthread_attr_t))
15122 );
15123 assert_eq!(
15124 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15125 0usize,
15126 concat!(
15127 "Offset of field: ",
15128 stringify!(pthread_attr_t),
15129 "::",
15130 stringify!(__size)
15131 )
15132 );
15133 assert_eq!(
15134 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15135 0usize,
15136 concat!(
15137 "Offset of field: ",
15138 stringify!(pthread_attr_t),
15139 "::",
15140 stringify!(__align)
15141 )
15142 );
15143}
15144impl Default for pthread_attr_t {
15145 fn default() -> Self {
15146 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15147 unsafe {
15148 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15149 s.assume_init()
15150 }
15151 }
15152}
15153#[repr(C)]
15154#[derive(Copy, Clone)]
15155pub union pthread_mutex_t {
15156 pub __data: __pthread_mutex_s,
15157 pub __size: [::std::os::raw::c_char; 40usize],
15158 pub __align: ::std::os::raw::c_long,
15159}
15160#[test]
15161fn bindgen_test_layout_pthread_mutex_t() {
15162 const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
15163 let ptr = UNINIT.as_ptr();
15164 assert_eq!(
15165 ::std::mem::size_of::<pthread_mutex_t>(),
15166 40usize,
15167 concat!("Size of: ", stringify!(pthread_mutex_t))
15168 );
15169 assert_eq!(
15170 ::std::mem::align_of::<pthread_mutex_t>(),
15171 8usize,
15172 concat!("Alignment of ", stringify!(pthread_mutex_t))
15173 );
15174 assert_eq!(
15175 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
15176 0usize,
15177 concat!(
15178 "Offset of field: ",
15179 stringify!(pthread_mutex_t),
15180 "::",
15181 stringify!(__data)
15182 )
15183 );
15184 assert_eq!(
15185 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15186 0usize,
15187 concat!(
15188 "Offset of field: ",
15189 stringify!(pthread_mutex_t),
15190 "::",
15191 stringify!(__size)
15192 )
15193 );
15194 assert_eq!(
15195 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15196 0usize,
15197 concat!(
15198 "Offset of field: ",
15199 stringify!(pthread_mutex_t),
15200 "::",
15201 stringify!(__align)
15202 )
15203 );
15204}
15205impl Default for pthread_mutex_t {
15206 fn default() -> Self {
15207 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15208 unsafe {
15209 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15210 s.assume_init()
15211 }
15212 }
15213}
15214#[repr(C)]
15215#[derive(Copy, Clone)]
15216pub union pthread_cond_t {
15217 pub __data: __pthread_cond_s,
15218 pub __size: [::std::os::raw::c_char; 48usize],
15219 pub __align: ::std::os::raw::c_longlong,
15220}
15221#[test]
15222fn bindgen_test_layout_pthread_cond_t() {
15223 const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
15224 let ptr = UNINIT.as_ptr();
15225 assert_eq!(
15226 ::std::mem::size_of::<pthread_cond_t>(),
15227 48usize,
15228 concat!("Size of: ", stringify!(pthread_cond_t))
15229 );
15230 assert_eq!(
15231 ::std::mem::align_of::<pthread_cond_t>(),
15232 8usize,
15233 concat!("Alignment of ", stringify!(pthread_cond_t))
15234 );
15235 assert_eq!(
15236 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
15237 0usize,
15238 concat!(
15239 "Offset of field: ",
15240 stringify!(pthread_cond_t),
15241 "::",
15242 stringify!(__data)
15243 )
15244 );
15245 assert_eq!(
15246 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15247 0usize,
15248 concat!(
15249 "Offset of field: ",
15250 stringify!(pthread_cond_t),
15251 "::",
15252 stringify!(__size)
15253 )
15254 );
15255 assert_eq!(
15256 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15257 0usize,
15258 concat!(
15259 "Offset of field: ",
15260 stringify!(pthread_cond_t),
15261 "::",
15262 stringify!(__align)
15263 )
15264 );
15265}
15266impl Default for pthread_cond_t {
15267 fn default() -> Self {
15268 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15269 unsafe {
15270 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15271 s.assume_init()
15272 }
15273 }
15274}
15275#[repr(C)]
15276#[derive(Copy, Clone)]
15277pub union pthread_rwlock_t {
15278 pub __data: __pthread_rwlock_arch_t,
15279 pub __size: [::std::os::raw::c_char; 56usize],
15280 pub __align: ::std::os::raw::c_long,
15281}
15282#[test]
15283fn bindgen_test_layout_pthread_rwlock_t() {
15284 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
15285 let ptr = UNINIT.as_ptr();
15286 assert_eq!(
15287 ::std::mem::size_of::<pthread_rwlock_t>(),
15288 56usize,
15289 concat!("Size of: ", stringify!(pthread_rwlock_t))
15290 );
15291 assert_eq!(
15292 ::std::mem::align_of::<pthread_rwlock_t>(),
15293 8usize,
15294 concat!("Alignment of ", stringify!(pthread_rwlock_t))
15295 );
15296 assert_eq!(
15297 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
15298 0usize,
15299 concat!(
15300 "Offset of field: ",
15301 stringify!(pthread_rwlock_t),
15302 "::",
15303 stringify!(__data)
15304 )
15305 );
15306 assert_eq!(
15307 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15308 0usize,
15309 concat!(
15310 "Offset of field: ",
15311 stringify!(pthread_rwlock_t),
15312 "::",
15313 stringify!(__size)
15314 )
15315 );
15316 assert_eq!(
15317 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15318 0usize,
15319 concat!(
15320 "Offset of field: ",
15321 stringify!(pthread_rwlock_t),
15322 "::",
15323 stringify!(__align)
15324 )
15325 );
15326}
15327impl Default for pthread_rwlock_t {
15328 fn default() -> Self {
15329 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15330 unsafe {
15331 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15332 s.assume_init()
15333 }
15334 }
15335}
15336#[repr(C)]
15337#[derive(Copy, Clone)]
15338pub union pthread_rwlockattr_t {
15339 pub __size: [::std::os::raw::c_char; 8usize],
15340 pub __align: ::std::os::raw::c_long,
15341}
15342#[test]
15343fn bindgen_test_layout_pthread_rwlockattr_t() {
15344 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
15345 let ptr = UNINIT.as_ptr();
15346 assert_eq!(
15347 ::std::mem::size_of::<pthread_rwlockattr_t>(),
15348 8usize,
15349 concat!("Size of: ", stringify!(pthread_rwlockattr_t))
15350 );
15351 assert_eq!(
15352 ::std::mem::align_of::<pthread_rwlockattr_t>(),
15353 8usize,
15354 concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
15355 );
15356 assert_eq!(
15357 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15358 0usize,
15359 concat!(
15360 "Offset of field: ",
15361 stringify!(pthread_rwlockattr_t),
15362 "::",
15363 stringify!(__size)
15364 )
15365 );
15366 assert_eq!(
15367 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15368 0usize,
15369 concat!(
15370 "Offset of field: ",
15371 stringify!(pthread_rwlockattr_t),
15372 "::",
15373 stringify!(__align)
15374 )
15375 );
15376}
15377impl Default for pthread_rwlockattr_t {
15378 fn default() -> Self {
15379 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15380 unsafe {
15381 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15382 s.assume_init()
15383 }
15384 }
15385}
15386pub type pthread_spinlock_t = ::std::os::raw::c_int;
15387#[repr(C)]
15388#[derive(Copy, Clone)]
15389pub union pthread_barrier_t {
15390 pub __size: [::std::os::raw::c_char; 32usize],
15391 pub __align: ::std::os::raw::c_long,
15392}
15393#[test]
15394fn bindgen_test_layout_pthread_barrier_t() {
15395 const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
15396 let ptr = UNINIT.as_ptr();
15397 assert_eq!(
15398 ::std::mem::size_of::<pthread_barrier_t>(),
15399 32usize,
15400 concat!("Size of: ", stringify!(pthread_barrier_t))
15401 );
15402 assert_eq!(
15403 ::std::mem::align_of::<pthread_barrier_t>(),
15404 8usize,
15405 concat!("Alignment of ", stringify!(pthread_barrier_t))
15406 );
15407 assert_eq!(
15408 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15409 0usize,
15410 concat!(
15411 "Offset of field: ",
15412 stringify!(pthread_barrier_t),
15413 "::",
15414 stringify!(__size)
15415 )
15416 );
15417 assert_eq!(
15418 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15419 0usize,
15420 concat!(
15421 "Offset of field: ",
15422 stringify!(pthread_barrier_t),
15423 "::",
15424 stringify!(__align)
15425 )
15426 );
15427}
15428impl Default for pthread_barrier_t {
15429 fn default() -> Self {
15430 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15431 unsafe {
15432 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15433 s.assume_init()
15434 }
15435 }
15436}
15437#[repr(C)]
15438#[derive(Copy, Clone)]
15439pub union pthread_barrierattr_t {
15440 pub __size: [::std::os::raw::c_char; 4usize],
15441 pub __align: ::std::os::raw::c_int,
15442}
15443#[test]
15444fn bindgen_test_layout_pthread_barrierattr_t() {
15445 const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
15446 ::std::mem::MaybeUninit::uninit();
15447 let ptr = UNINIT.as_ptr();
15448 assert_eq!(
15449 ::std::mem::size_of::<pthread_barrierattr_t>(),
15450 4usize,
15451 concat!("Size of: ", stringify!(pthread_barrierattr_t))
15452 );
15453 assert_eq!(
15454 ::std::mem::align_of::<pthread_barrierattr_t>(),
15455 4usize,
15456 concat!("Alignment of ", stringify!(pthread_barrierattr_t))
15457 );
15458 assert_eq!(
15459 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
15460 0usize,
15461 concat!(
15462 "Offset of field: ",
15463 stringify!(pthread_barrierattr_t),
15464 "::",
15465 stringify!(__size)
15466 )
15467 );
15468 assert_eq!(
15469 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
15470 0usize,
15471 concat!(
15472 "Offset of field: ",
15473 stringify!(pthread_barrierattr_t),
15474 "::",
15475 stringify!(__align)
15476 )
15477 );
15478}
15479impl Default for pthread_barrierattr_t {
15480 fn default() -> Self {
15481 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15482 unsafe {
15483 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15484 s.assume_init()
15485 }
15486 }
15487}
15488extern "C" {
15489 pub fn random() -> ::std::os::raw::c_long;
15490}
15491extern "C" {
15492 pub fn srandom(__seed: ::std::os::raw::c_uint);
15493}
15494extern "C" {
15495 pub fn initstate(
15496 __seed: ::std::os::raw::c_uint,
15497 __statebuf: *mut ::std::os::raw::c_char,
15498 __statelen: size_t,
15499 ) -> *mut ::std::os::raw::c_char;
15500}
15501extern "C" {
15502 pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
15503}
15504#[repr(C)]
15505#[derive(Debug, Copy, Clone)]
15506pub struct random_data {
15507 pub fptr: *mut i32,
15508 pub rptr: *mut i32,
15509 pub state: *mut i32,
15510 pub rand_type: ::std::os::raw::c_int,
15511 pub rand_deg: ::std::os::raw::c_int,
15512 pub rand_sep: ::std::os::raw::c_int,
15513 pub end_ptr: *mut i32,
15514}
15515#[test]
15516fn bindgen_test_layout_random_data() {
15517 const UNINIT: ::std::mem::MaybeUninit<random_data> = ::std::mem::MaybeUninit::uninit();
15518 let ptr = UNINIT.as_ptr();
15519 assert_eq!(
15520 ::std::mem::size_of::<random_data>(),
15521 48usize,
15522 concat!("Size of: ", stringify!(random_data))
15523 );
15524 assert_eq!(
15525 ::std::mem::align_of::<random_data>(),
15526 8usize,
15527 concat!("Alignment of ", stringify!(random_data))
15528 );
15529 assert_eq!(
15530 unsafe { ::std::ptr::addr_of!((*ptr).fptr) as usize - ptr as usize },
15531 0usize,
15532 concat!(
15533 "Offset of field: ",
15534 stringify!(random_data),
15535 "::",
15536 stringify!(fptr)
15537 )
15538 );
15539 assert_eq!(
15540 unsafe { ::std::ptr::addr_of!((*ptr).rptr) as usize - ptr as usize },
15541 8usize,
15542 concat!(
15543 "Offset of field: ",
15544 stringify!(random_data),
15545 "::",
15546 stringify!(rptr)
15547 )
15548 );
15549 assert_eq!(
15550 unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15551 16usize,
15552 concat!(
15553 "Offset of field: ",
15554 stringify!(random_data),
15555 "::",
15556 stringify!(state)
15557 )
15558 );
15559 assert_eq!(
15560 unsafe { ::std::ptr::addr_of!((*ptr).rand_type) as usize - ptr as usize },
15561 24usize,
15562 concat!(
15563 "Offset of field: ",
15564 stringify!(random_data),
15565 "::",
15566 stringify!(rand_type)
15567 )
15568 );
15569 assert_eq!(
15570 unsafe { ::std::ptr::addr_of!((*ptr).rand_deg) as usize - ptr as usize },
15571 28usize,
15572 concat!(
15573 "Offset of field: ",
15574 stringify!(random_data),
15575 "::",
15576 stringify!(rand_deg)
15577 )
15578 );
15579 assert_eq!(
15580 unsafe { ::std::ptr::addr_of!((*ptr).rand_sep) as usize - ptr as usize },
15581 32usize,
15582 concat!(
15583 "Offset of field: ",
15584 stringify!(random_data),
15585 "::",
15586 stringify!(rand_sep)
15587 )
15588 );
15589 assert_eq!(
15590 unsafe { ::std::ptr::addr_of!((*ptr).end_ptr) as usize - ptr as usize },
15591 40usize,
15592 concat!(
15593 "Offset of field: ",
15594 stringify!(random_data),
15595 "::",
15596 stringify!(end_ptr)
15597 )
15598 );
15599}
15600impl Default for random_data {
15601 fn default() -> Self {
15602 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15603 unsafe {
15604 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15605 s.assume_init()
15606 }
15607 }
15608}
15609extern "C" {
15610 pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
15611}
15612extern "C" {
15613 pub fn srandom_r(
15614 __seed: ::std::os::raw::c_uint,
15615 __buf: *mut random_data,
15616 ) -> ::std::os::raw::c_int;
15617}
15618extern "C" {
15619 pub fn initstate_r(
15620 __seed: ::std::os::raw::c_uint,
15621 __statebuf: *mut ::std::os::raw::c_char,
15622 __statelen: size_t,
15623 __buf: *mut random_data,
15624 ) -> ::std::os::raw::c_int;
15625}
15626extern "C" {
15627 pub fn setstate_r(
15628 __statebuf: *mut ::std::os::raw::c_char,
15629 __buf: *mut random_data,
15630 ) -> ::std::os::raw::c_int;
15631}
15632extern "C" {
15633 pub fn rand() -> ::std::os::raw::c_int;
15634}
15635extern "C" {
15636 pub fn srand(__seed: ::std::os::raw::c_uint);
15637}
15638extern "C" {
15639 pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
15640}
15641extern "C" {
15642 pub fn drand48() -> f64;
15643}
15644extern "C" {
15645 pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
15646}
15647extern "C" {
15648 pub fn lrand48() -> ::std::os::raw::c_long;
15649}
15650extern "C" {
15651 pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
15652}
15653extern "C" {
15654 pub fn mrand48() -> ::std::os::raw::c_long;
15655}
15656extern "C" {
15657 pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
15658}
15659extern "C" {
15660 pub fn srand48(__seedval: ::std::os::raw::c_long);
15661}
15662extern "C" {
15663 pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
15664}
15665extern "C" {
15666 pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
15667}
15668#[repr(C)]
15669#[derive(Debug, Default, Copy, Clone)]
15670pub struct drand48_data {
15671 pub __x: [::std::os::raw::c_ushort; 3usize],
15672 pub __old_x: [::std::os::raw::c_ushort; 3usize],
15673 pub __c: ::std::os::raw::c_ushort,
15674 pub __init: ::std::os::raw::c_ushort,
15675 pub __a: ::std::os::raw::c_ulonglong,
15676}
15677#[test]
15678fn bindgen_test_layout_drand48_data() {
15679 const UNINIT: ::std::mem::MaybeUninit<drand48_data> = ::std::mem::MaybeUninit::uninit();
15680 let ptr = UNINIT.as_ptr();
15681 assert_eq!(
15682 ::std::mem::size_of::<drand48_data>(),
15683 24usize,
15684 concat!("Size of: ", stringify!(drand48_data))
15685 );
15686 assert_eq!(
15687 ::std::mem::align_of::<drand48_data>(),
15688 8usize,
15689 concat!("Alignment of ", stringify!(drand48_data))
15690 );
15691 assert_eq!(
15692 unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize },
15693 0usize,
15694 concat!(
15695 "Offset of field: ",
15696 stringify!(drand48_data),
15697 "::",
15698 stringify!(__x)
15699 )
15700 );
15701 assert_eq!(
15702 unsafe { ::std::ptr::addr_of!((*ptr).__old_x) as usize - ptr as usize },
15703 6usize,
15704 concat!(
15705 "Offset of field: ",
15706 stringify!(drand48_data),
15707 "::",
15708 stringify!(__old_x)
15709 )
15710 );
15711 assert_eq!(
15712 unsafe { ::std::ptr::addr_of!((*ptr).__c) as usize - ptr as usize },
15713 12usize,
15714 concat!(
15715 "Offset of field: ",
15716 stringify!(drand48_data),
15717 "::",
15718 stringify!(__c)
15719 )
15720 );
15721 assert_eq!(
15722 unsafe { ::std::ptr::addr_of!((*ptr).__init) as usize - ptr as usize },
15723 14usize,
15724 concat!(
15725 "Offset of field: ",
15726 stringify!(drand48_data),
15727 "::",
15728 stringify!(__init)
15729 )
15730 );
15731 assert_eq!(
15732 unsafe { ::std::ptr::addr_of!((*ptr).__a) as usize - ptr as usize },
15733 16usize,
15734 concat!(
15735 "Offset of field: ",
15736 stringify!(drand48_data),
15737 "::",
15738 stringify!(__a)
15739 )
15740 );
15741}
15742extern "C" {
15743 pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
15744}
15745extern "C" {
15746 pub fn erand48_r(
15747 __xsubi: *mut ::std::os::raw::c_ushort,
15748 __buffer: *mut drand48_data,
15749 __result: *mut f64,
15750 ) -> ::std::os::raw::c_int;
15751}
15752extern "C" {
15753 pub fn lrand48_r(
15754 __buffer: *mut drand48_data,
15755 __result: *mut ::std::os::raw::c_long,
15756 ) -> ::std::os::raw::c_int;
15757}
15758extern "C" {
15759 pub fn nrand48_r(
15760 __xsubi: *mut ::std::os::raw::c_ushort,
15761 __buffer: *mut drand48_data,
15762 __result: *mut ::std::os::raw::c_long,
15763 ) -> ::std::os::raw::c_int;
15764}
15765extern "C" {
15766 pub fn mrand48_r(
15767 __buffer: *mut drand48_data,
15768 __result: *mut ::std::os::raw::c_long,
15769 ) -> ::std::os::raw::c_int;
15770}
15771extern "C" {
15772 pub fn jrand48_r(
15773 __xsubi: *mut ::std::os::raw::c_ushort,
15774 __buffer: *mut drand48_data,
15775 __result: *mut ::std::os::raw::c_long,
15776 ) -> ::std::os::raw::c_int;
15777}
15778extern "C" {
15779 pub fn srand48_r(
15780 __seedval: ::std::os::raw::c_long,
15781 __buffer: *mut drand48_data,
15782 ) -> ::std::os::raw::c_int;
15783}
15784extern "C" {
15785 pub fn seed48_r(
15786 __seed16v: *mut ::std::os::raw::c_ushort,
15787 __buffer: *mut drand48_data,
15788 ) -> ::std::os::raw::c_int;
15789}
15790extern "C" {
15791 pub fn lcong48_r(
15792 __param: *mut ::std::os::raw::c_ushort,
15793 __buffer: *mut drand48_data,
15794 ) -> ::std::os::raw::c_int;
15795}
15796extern "C" {
15797 pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
15798}
15799extern "C" {
15800 pub fn calloc(
15801 __nmemb: ::std::os::raw::c_ulong,
15802 __size: ::std::os::raw::c_ulong,
15803 ) -> *mut ::std::os::raw::c_void;
15804}
15805extern "C" {
15806 pub fn realloc(
15807 __ptr: *mut ::std::os::raw::c_void,
15808 __size: ::std::os::raw::c_ulong,
15809 ) -> *mut ::std::os::raw::c_void;
15810}
15811extern "C" {
15812 pub fn reallocarray(
15813 __ptr: *mut ::std::os::raw::c_void,
15814 __nmemb: size_t,
15815 __size: size_t,
15816 ) -> *mut ::std::os::raw::c_void;
15817}
15818extern "C" {
15819 pub fn free(__ptr: *mut ::std::os::raw::c_void);
15820}
15821extern "C" {
15822 pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
15823}
15824extern "C" {
15825 pub fn valloc(__size: size_t) -> *mut ::std::os::raw::c_void;
15826}
15827extern "C" {
15828 pub fn posix_memalign(
15829 __memptr: *mut *mut ::std::os::raw::c_void,
15830 __alignment: size_t,
15831 __size: size_t,
15832 ) -> ::std::os::raw::c_int;
15833}
15834extern "C" {
15835 pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void;
15836}
15837extern "C" {
15838 pub fn abort() -> !;
15839}
15840extern "C" {
15841 pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
15842}
15843extern "C" {
15844 pub fn at_quick_exit(
15845 __func: ::std::option::Option<unsafe extern "C" fn()>,
15846 ) -> ::std::os::raw::c_int;
15847}
15848extern "C" {
15849 pub fn on_exit(
15850 __func: ::std::option::Option<
15851 unsafe extern "C" fn(
15852 __status: ::std::os::raw::c_int,
15853 __arg: *mut ::std::os::raw::c_void,
15854 ),
15855 >,
15856 __arg: *mut ::std::os::raw::c_void,
15857 ) -> ::std::os::raw::c_int;
15858}
15859extern "C" {
15860 pub fn exit(__status: ::std::os::raw::c_int) -> !;
15861}
15862extern "C" {
15863 pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
15864}
15865extern "C" {
15866 pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
15867}
15868extern "C" {
15869 pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
15870}
15871extern "C" {
15872 pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15873}
15874extern "C" {
15875 pub fn setenv(
15876 __name: *const ::std::os::raw::c_char,
15877 __value: *const ::std::os::raw::c_char,
15878 __replace: ::std::os::raw::c_int,
15879 ) -> ::std::os::raw::c_int;
15880}
15881extern "C" {
15882 pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15883}
15884extern "C" {
15885 pub fn clearenv() -> ::std::os::raw::c_int;
15886}
15887extern "C" {
15888 pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
15889}
15890extern "C" {
15891 pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15892}
15893extern "C" {
15894 pub fn mkstemps(
15895 __template: *mut ::std::os::raw::c_char,
15896 __suffixlen: ::std::os::raw::c_int,
15897 ) -> ::std::os::raw::c_int;
15898}
15899extern "C" {
15900 pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
15901}
15902extern "C" {
15903 pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15904}
15905extern "C" {
15906 pub fn realpath(
15907 __name: *const ::std::os::raw::c_char,
15908 __resolved: *mut ::std::os::raw::c_char,
15909 ) -> *mut ::std::os::raw::c_char;
15910}
15911pub type __compar_fn_t = ::std::option::Option<
15912 unsafe extern "C" fn(
15913 arg1: *const ::std::os::raw::c_void,
15914 arg2: *const ::std::os::raw::c_void,
15915 ) -> ::std::os::raw::c_int,
15916>;
15917extern "C" {
15918 pub fn bsearch(
15919 __key: *const ::std::os::raw::c_void,
15920 __base: *const ::std::os::raw::c_void,
15921 __nmemb: size_t,
15922 __size: size_t,
15923 __compar: __compar_fn_t,
15924 ) -> *mut ::std::os::raw::c_void;
15925}
15926extern "C" {
15927 pub fn qsort(
15928 __base: *mut ::std::os::raw::c_void,
15929 __nmemb: size_t,
15930 __size: size_t,
15931 __compar: __compar_fn_t,
15932 );
15933}
15934extern "C" {
15935 pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15936}
15937extern "C" {
15938 pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
15939}
15940extern "C" {
15941 pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
15942}
15943extern "C" {
15944 pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
15945}
15946extern "C" {
15947 pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
15948}
15949extern "C" {
15950 pub fn lldiv(
15951 __numer: ::std::os::raw::c_longlong,
15952 __denom: ::std::os::raw::c_longlong,
15953 ) -> lldiv_t;
15954}
15955extern "C" {
15956 pub fn ecvt(
15957 __value: f64,
15958 __ndigit: ::std::os::raw::c_int,
15959 __decpt: *mut ::std::os::raw::c_int,
15960 __sign: *mut ::std::os::raw::c_int,
15961 ) -> *mut ::std::os::raw::c_char;
15962}
15963extern "C" {
15964 pub fn fcvt(
15965 __value: f64,
15966 __ndigit: ::std::os::raw::c_int,
15967 __decpt: *mut ::std::os::raw::c_int,
15968 __sign: *mut ::std::os::raw::c_int,
15969 ) -> *mut ::std::os::raw::c_char;
15970}
15971extern "C" {
15972 pub fn gcvt(
15973 __value: f64,
15974 __ndigit: ::std::os::raw::c_int,
15975 __buf: *mut ::std::os::raw::c_char,
15976 ) -> *mut ::std::os::raw::c_char;
15977}
15978extern "C" {
15979 pub fn qecvt(
15980 __value: u128,
15981 __ndigit: ::std::os::raw::c_int,
15982 __decpt: *mut ::std::os::raw::c_int,
15983 __sign: *mut ::std::os::raw::c_int,
15984 ) -> *mut ::std::os::raw::c_char;
15985}
15986extern "C" {
15987 pub fn qfcvt(
15988 __value: u128,
15989 __ndigit: ::std::os::raw::c_int,
15990 __decpt: *mut ::std::os::raw::c_int,
15991 __sign: *mut ::std::os::raw::c_int,
15992 ) -> *mut ::std::os::raw::c_char;
15993}
15994extern "C" {
15995 pub fn qgcvt(
15996 __value: u128,
15997 __ndigit: ::std::os::raw::c_int,
15998 __buf: *mut ::std::os::raw::c_char,
15999 ) -> *mut ::std::os::raw::c_char;
16000}
16001extern "C" {
16002 pub fn ecvt_r(
16003 __value: f64,
16004 __ndigit: ::std::os::raw::c_int,
16005 __decpt: *mut ::std::os::raw::c_int,
16006 __sign: *mut ::std::os::raw::c_int,
16007 __buf: *mut ::std::os::raw::c_char,
16008 __len: size_t,
16009 ) -> ::std::os::raw::c_int;
16010}
16011extern "C" {
16012 pub fn fcvt_r(
16013 __value: f64,
16014 __ndigit: ::std::os::raw::c_int,
16015 __decpt: *mut ::std::os::raw::c_int,
16016 __sign: *mut ::std::os::raw::c_int,
16017 __buf: *mut ::std::os::raw::c_char,
16018 __len: size_t,
16019 ) -> ::std::os::raw::c_int;
16020}
16021extern "C" {
16022 pub fn qecvt_r(
16023 __value: u128,
16024 __ndigit: ::std::os::raw::c_int,
16025 __decpt: *mut ::std::os::raw::c_int,
16026 __sign: *mut ::std::os::raw::c_int,
16027 __buf: *mut ::std::os::raw::c_char,
16028 __len: size_t,
16029 ) -> ::std::os::raw::c_int;
16030}
16031extern "C" {
16032 pub fn qfcvt_r(
16033 __value: u128,
16034 __ndigit: ::std::os::raw::c_int,
16035 __decpt: *mut ::std::os::raw::c_int,
16036 __sign: *mut ::std::os::raw::c_int,
16037 __buf: *mut ::std::os::raw::c_char,
16038 __len: size_t,
16039 ) -> ::std::os::raw::c_int;
16040}
16041extern "C" {
16042 pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int;
16043}
16044extern "C" {
16045 pub fn mbtowc(
16046 __pwc: *mut wchar_t,
16047 __s: *const ::std::os::raw::c_char,
16048 __n: size_t,
16049 ) -> ::std::os::raw::c_int;
16050}
16051extern "C" {
16052 pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
16053}
16054extern "C" {
16055 pub fn mbstowcs(
16056 __pwcs: *mut wchar_t,
16057 __s: *const ::std::os::raw::c_char,
16058 __n: size_t,
16059 ) -> size_t;
16060}
16061extern "C" {
16062 pub fn wcstombs(
16063 __s: *mut ::std::os::raw::c_char,
16064 __pwcs: *const wchar_t,
16065 __n: size_t,
16066 ) -> size_t;
16067}
16068extern "C" {
16069 pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16070}
16071extern "C" {
16072 pub fn getsubopt(
16073 __optionp: *mut *mut ::std::os::raw::c_char,
16074 __tokens: *const *mut ::std::os::raw::c_char,
16075 __valuep: *mut *mut ::std::os::raw::c_char,
16076 ) -> ::std::os::raw::c_int;
16077}
16078extern "C" {
16079 pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
16080 -> ::std::os::raw::c_int;
16081}
16082extern "C" {
16083 pub fn Tss2_TctiLdr_Finalize(context: *mut *mut TSS2_TCTI_CONTEXT);
16084}
16085extern "C" {
16086 pub fn Tss2_TctiLdr_Initialize_Ex(
16087 name: *const ::std::os::raw::c_char,
16088 conf: *const ::std::os::raw::c_char,
16089 context: *mut *mut TSS2_TCTI_CONTEXT,
16090 ) -> TSS2_RC;
16091}
16092extern "C" {
16093 pub fn Tss2_TctiLdr_Initialize(
16094 nameConf: *const ::std::os::raw::c_char,
16095 context: *mut *mut TSS2_TCTI_CONTEXT,
16096 ) -> TSS2_RC;
16097}
16098extern "C" {
16099 pub fn Tss2_TctiLdr_GetInfo(
16100 name: *const ::std::os::raw::c_char,
16101 info: *mut *mut TSS2_TCTI_INFO,
16102 ) -> TSS2_RC;
16103}
16104extern "C" {
16105 pub fn Tss2_TctiLdr_FreeInfo(info: *mut *mut TSS2_TCTI_INFO);
16106}
16107extern "C" {
16108 pub fn Tss2_MU_BYTE_Marshal(
16109 src: BYTE,
16110 buffer: *mut u8,
16111 buffer_size: size_t,
16112 offset: *mut size_t,
16113 ) -> TSS2_RC;
16114}
16115extern "C" {
16116 pub fn Tss2_MU_BYTE_Unmarshal(
16117 buffer: *const u8,
16118 buffer_size: size_t,
16119 offset: *mut size_t,
16120 dest: *mut BYTE,
16121 ) -> TSS2_RC;
16122}
16123extern "C" {
16124 pub fn Tss2_MU_INT8_Marshal(
16125 src: INT8,
16126 buffer: *mut u8,
16127 buffer_size: size_t,
16128 offset: *mut size_t,
16129 ) -> TSS2_RC;
16130}
16131extern "C" {
16132 pub fn Tss2_MU_INT8_Unmarshal(
16133 buffer: *const u8,
16134 buffer_size: size_t,
16135 offset: *mut size_t,
16136 dest: *mut INT8,
16137 ) -> TSS2_RC;
16138}
16139extern "C" {
16140 pub fn Tss2_MU_INT16_Marshal(
16141 src: INT16,
16142 buffer: *mut u8,
16143 buffer_size: size_t,
16144 offset: *mut size_t,
16145 ) -> TSS2_RC;
16146}
16147extern "C" {
16148 pub fn Tss2_MU_INT16_Unmarshal(
16149 buffer: *const u8,
16150 buffer_size: size_t,
16151 offset: *mut size_t,
16152 dest: *mut INT16,
16153 ) -> TSS2_RC;
16154}
16155extern "C" {
16156 pub fn Tss2_MU_INT32_Marshal(
16157 src: INT32,
16158 buffer: *mut u8,
16159 buffer_size: size_t,
16160 offset: *mut size_t,
16161 ) -> TSS2_RC;
16162}
16163extern "C" {
16164 pub fn Tss2_MU_INT32_Unmarshal(
16165 buffer: *const u8,
16166 buffer_size: size_t,
16167 offset: *mut size_t,
16168 dest: *mut INT32,
16169 ) -> TSS2_RC;
16170}
16171extern "C" {
16172 pub fn Tss2_MU_INT64_Marshal(
16173 src: INT64,
16174 buffer: *mut u8,
16175 buffer_size: size_t,
16176 offset: *mut size_t,
16177 ) -> TSS2_RC;
16178}
16179extern "C" {
16180 pub fn Tss2_MU_INT64_Unmarshal(
16181 buffer: *const u8,
16182 buffer_size: size_t,
16183 offset: *mut size_t,
16184 dest: *mut INT64,
16185 ) -> TSS2_RC;
16186}
16187extern "C" {
16188 pub fn Tss2_MU_UINT8_Marshal(
16189 src: UINT8,
16190 buffer: *mut u8,
16191 buffer_size: size_t,
16192 offset: *mut size_t,
16193 ) -> TSS2_RC;
16194}
16195extern "C" {
16196 pub fn Tss2_MU_UINT8_Unmarshal(
16197 buffer: *const u8,
16198 buffer_size: size_t,
16199 offset: *mut size_t,
16200 dest: *mut UINT8,
16201 ) -> TSS2_RC;
16202}
16203extern "C" {
16204 pub fn Tss2_MU_UINT16_Marshal(
16205 src: UINT16,
16206 buffer: *mut u8,
16207 buffer_size: size_t,
16208 offset: *mut size_t,
16209 ) -> TSS2_RC;
16210}
16211extern "C" {
16212 pub fn Tss2_MU_UINT16_Unmarshal(
16213 buffer: *const u8,
16214 buffer_size: size_t,
16215 offset: *mut size_t,
16216 dest: *mut UINT16,
16217 ) -> TSS2_RC;
16218}
16219extern "C" {
16220 pub fn Tss2_MU_UINT32_Marshal(
16221 src: UINT32,
16222 buffer: *mut u8,
16223 buffer_size: size_t,
16224 offset: *mut size_t,
16225 ) -> TSS2_RC;
16226}
16227extern "C" {
16228 pub fn Tss2_MU_UINT32_Unmarshal(
16229 buffer: *const u8,
16230 buffer_size: size_t,
16231 offset: *mut size_t,
16232 dest: *mut UINT32,
16233 ) -> TSS2_RC;
16234}
16235extern "C" {
16236 pub fn Tss2_MU_UINT64_Marshal(
16237 src: UINT64,
16238 buffer: *mut u8,
16239 buffer_size: size_t,
16240 offset: *mut size_t,
16241 ) -> TSS2_RC;
16242}
16243extern "C" {
16244 pub fn Tss2_MU_UINT64_Unmarshal(
16245 buffer: *const u8,
16246 buffer_size: size_t,
16247 offset: *mut size_t,
16248 dest: *mut UINT64,
16249 ) -> TSS2_RC;
16250}
16251extern "C" {
16252 pub fn Tss2_MU_TPM2_CC_Marshal(
16253 src: TPM2_CC,
16254 buffer: *mut u8,
16255 buffer_size: size_t,
16256 offset: *mut size_t,
16257 ) -> TSS2_RC;
16258}
16259extern "C" {
16260 pub fn Tss2_MU_TPM2_CC_Unmarshal(
16261 buffer: *const u8,
16262 buffer_size: size_t,
16263 offset: *mut size_t,
16264 dest: *mut TPM2_CC,
16265 ) -> TSS2_RC;
16266}
16267extern "C" {
16268 pub fn Tss2_MU_TPM2_ST_Marshal(
16269 src: TPM2_ST,
16270 buffer: *mut u8,
16271 buffer_size: size_t,
16272 offset: *mut size_t,
16273 ) -> TSS2_RC;
16274}
16275extern "C" {
16276 pub fn Tss2_MU_TPM2_ST_Unmarshal(
16277 buffer: *const u8,
16278 buffer_size: size_t,
16279 offset: *mut size_t,
16280 dest: *mut TPM2_ST,
16281 ) -> TSS2_RC;
16282}
16283extern "C" {
16284 pub fn Tss2_MU_TPMA_ALGORITHM_Marshal(
16285 src: TPMA_ALGORITHM,
16286 buffer: *mut u8,
16287 buffer_size: size_t,
16288 offset: *mut size_t,
16289 ) -> TSS2_RC;
16290}
16291extern "C" {
16292 pub fn Tss2_MU_TPMA_ALGORITHM_Unmarshal(
16293 buffer: *const u8,
16294 buffer_size: size_t,
16295 offset: *mut size_t,
16296 dest: *mut TPMA_ALGORITHM,
16297 ) -> TSS2_RC;
16298}
16299extern "C" {
16300 pub fn Tss2_MU_TPMA_CC_Marshal(
16301 src: TPMA_CC,
16302 buffer: *mut u8,
16303 buffer_size: size_t,
16304 offset: *mut size_t,
16305 ) -> TSS2_RC;
16306}
16307extern "C" {
16308 pub fn Tss2_MU_TPMA_CC_Unmarshal(
16309 buffer: *const u8,
16310 buffer_size: size_t,
16311 offset: *mut size_t,
16312 dest: *mut TPMA_CC,
16313 ) -> TSS2_RC;
16314}
16315extern "C" {
16316 pub fn Tss2_MU_TPMA_LOCALITY_Marshal(
16317 src: TPMA_LOCALITY,
16318 buffer: *mut u8,
16319 buffer_size: size_t,
16320 offset: *mut size_t,
16321 ) -> TSS2_RC;
16322}
16323extern "C" {
16324 pub fn Tss2_MU_TPMA_LOCALITY_Unmarshal(
16325 buffer: *const u8,
16326 buffer_size: size_t,
16327 offset: *mut size_t,
16328 dest: *mut TPMA_LOCALITY,
16329 ) -> TSS2_RC;
16330}
16331extern "C" {
16332 pub fn Tss2_MU_TPMA_NV_Marshal(
16333 src: TPMA_NV,
16334 buffer: *mut u8,
16335 buffer_size: size_t,
16336 offset: *mut size_t,
16337 ) -> TSS2_RC;
16338}
16339extern "C" {
16340 pub fn Tss2_MU_TPMA_NV_Unmarshal(
16341 buffer: *const u8,
16342 buffer_size: size_t,
16343 offset: *mut size_t,
16344 dest: *mut TPMA_NV,
16345 ) -> TSS2_RC;
16346}
16347extern "C" {
16348 pub fn Tss2_MU_TPMA_OBJECT_Marshal(
16349 src: TPMA_OBJECT,
16350 buffer: *mut u8,
16351 buffer_size: size_t,
16352 offset: *mut size_t,
16353 ) -> TSS2_RC;
16354}
16355extern "C" {
16356 pub fn Tss2_MU_TPMA_OBJECT_Unmarshal(
16357 buffer: *const u8,
16358 buffer_size: size_t,
16359 offset: *mut size_t,
16360 dest: *mut TPMA_OBJECT,
16361 ) -> TSS2_RC;
16362}
16363extern "C" {
16364 pub fn Tss2_MU_TPMA_PERMANENT_Marshal(
16365 src: TPMA_PERMANENT,
16366 buffer: *mut u8,
16367 buffer_size: size_t,
16368 offset: *mut size_t,
16369 ) -> TSS2_RC;
16370}
16371extern "C" {
16372 pub fn Tss2_MU_TPMA_PERMANENT_Unmarshal(
16373 buffer: *const u8,
16374 buffer_size: size_t,
16375 offset: *mut size_t,
16376 dest: *mut TPMA_PERMANENT,
16377 ) -> TSS2_RC;
16378}
16379extern "C" {
16380 pub fn Tss2_MU_TPMA_SESSION_Marshal(
16381 src: TPMA_SESSION,
16382 buffer: *mut u8,
16383 buffer_size: size_t,
16384 offset: *mut size_t,
16385 ) -> TSS2_RC;
16386}
16387extern "C" {
16388 pub fn Tss2_MU_TPMA_SESSION_Unmarshal(
16389 buffer: *const u8,
16390 buffer_size: size_t,
16391 offset: *mut size_t,
16392 dest: *mut TPMA_SESSION,
16393 ) -> TSS2_RC;
16394}
16395extern "C" {
16396 pub fn Tss2_MU_TPMA_STARTUP_CLEAR_Marshal(
16397 src: TPMA_STARTUP_CLEAR,
16398 buffer: *mut u8,
16399 buffer_size: size_t,
16400 offset: *mut size_t,
16401 ) -> TSS2_RC;
16402}
16403extern "C" {
16404 pub fn Tss2_MU_TPMA_STARTUP_CLEAR_Unmarshal(
16405 buffer: *const u8,
16406 buffer_size: size_t,
16407 offset: *mut size_t,
16408 dest: *mut TPMA_STARTUP_CLEAR,
16409 ) -> TSS2_RC;
16410}
16411extern "C" {
16412 pub fn Tss2_MU_TPM2B_DIGEST_Marshal(
16413 src: *const TPM2B_DIGEST,
16414 buffer: *mut u8,
16415 buffer_size: size_t,
16416 offset: *mut size_t,
16417 ) -> TSS2_RC;
16418}
16419extern "C" {
16420 pub fn Tss2_MU_TPM2B_DIGEST_Unmarshal(
16421 buffer: *const u8,
16422 buffer_size: size_t,
16423 offset: *mut size_t,
16424 dest: *mut TPM2B_DIGEST,
16425 ) -> TSS2_RC;
16426}
16427extern "C" {
16428 pub fn Tss2_MU_TPM2B_ATTEST_Marshal(
16429 src: *const TPM2B_ATTEST,
16430 buffer: *mut u8,
16431 buffer_size: size_t,
16432 offset: *mut size_t,
16433 ) -> TSS2_RC;
16434}
16435extern "C" {
16436 pub fn Tss2_MU_TPM2B_ATTEST_Unmarshal(
16437 buffer: *const u8,
16438 buffer_size: size_t,
16439 offset: *mut size_t,
16440 dest: *mut TPM2B_ATTEST,
16441 ) -> TSS2_RC;
16442}
16443extern "C" {
16444 pub fn Tss2_MU_TPM2B_NAME_Marshal(
16445 src: *const TPM2B_NAME,
16446 buffer: *mut u8,
16447 buffer_size: size_t,
16448 offset: *mut size_t,
16449 ) -> TSS2_RC;
16450}
16451extern "C" {
16452 pub fn Tss2_MU_TPM2B_NAME_Unmarshal(
16453 buffer: *const u8,
16454 buffer_size: size_t,
16455 offset: *mut size_t,
16456 dest: *mut TPM2B_NAME,
16457 ) -> TSS2_RC;
16458}
16459extern "C" {
16460 pub fn Tss2_MU_TPM2B_MAX_NV_BUFFER_Marshal(
16461 src: *const TPM2B_MAX_NV_BUFFER,
16462 buffer: *mut u8,
16463 buffer_size: size_t,
16464 offset: *mut size_t,
16465 ) -> TSS2_RC;
16466}
16467extern "C" {
16468 pub fn Tss2_MU_TPM2B_MAX_NV_BUFFER_Unmarshal(
16469 buffer: *const u8,
16470 buffer_size: size_t,
16471 offset: *mut size_t,
16472 dest: *mut TPM2B_MAX_NV_BUFFER,
16473 ) -> TSS2_RC;
16474}
16475extern "C" {
16476 pub fn Tss2_MU_TPM2B_SENSITIVE_DATA_Marshal(
16477 src: *const TPM2B_SENSITIVE_DATA,
16478 buffer: *mut u8,
16479 buffer_size: size_t,
16480 offset: *mut size_t,
16481 ) -> TSS2_RC;
16482}
16483extern "C" {
16484 pub fn Tss2_MU_TPM2B_SENSITIVE_DATA_Unmarshal(
16485 buffer: *const u8,
16486 buffer_size: size_t,
16487 offset: *mut size_t,
16488 dest: *mut TPM2B_SENSITIVE_DATA,
16489 ) -> TSS2_RC;
16490}
16491extern "C" {
16492 pub fn Tss2_MU_TPM2B_ECC_PARAMETER_Marshal(
16493 src: *const TPM2B_ECC_PARAMETER,
16494 buffer: *mut u8,
16495 buffer_size: size_t,
16496 offset: *mut size_t,
16497 ) -> TSS2_RC;
16498}
16499extern "C" {
16500 pub fn Tss2_MU_TPM2B_ECC_PARAMETER_Unmarshal(
16501 buffer: *const u8,
16502 buffer_size: size_t,
16503 offset: *mut size_t,
16504 dest: *mut TPM2B_ECC_PARAMETER,
16505 ) -> TSS2_RC;
16506}
16507extern "C" {
16508 pub fn Tss2_MU_TPM2B_PUBLIC_KEY_RSA_Marshal(
16509 src: *const TPM2B_PUBLIC_KEY_RSA,
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_TPM2B_PUBLIC_KEY_RSA_Unmarshal(
16517 buffer: *const u8,
16518 buffer_size: size_t,
16519 offset: *mut size_t,
16520 dest: *mut TPM2B_PUBLIC_KEY_RSA,
16521 ) -> TSS2_RC;
16522}
16523extern "C" {
16524 pub fn Tss2_MU_TPM2B_PRIVATE_KEY_RSA_Marshal(
16525 src: *const TPM2B_PRIVATE_KEY_RSA,
16526 buffer: *mut u8,
16527 buffer_size: size_t,
16528 offset: *mut size_t,
16529 ) -> TSS2_RC;
16530}
16531extern "C" {
16532 pub fn Tss2_MU_TPM2B_PRIVATE_KEY_RSA_Unmarshal(
16533 buffer: *const u8,
16534 buffer_size: size_t,
16535 offset: *mut size_t,
16536 dest: *mut TPM2B_PRIVATE_KEY_RSA,
16537 ) -> TSS2_RC;
16538}
16539extern "C" {
16540 pub fn Tss2_MU_TPM2B_PRIVATE_Marshal(
16541 src: *const TPM2B_PRIVATE,
16542 buffer: *mut u8,
16543 buffer_size: size_t,
16544 offset: *mut size_t,
16545 ) -> TSS2_RC;
16546}
16547extern "C" {
16548 pub fn Tss2_MU_TPM2B_PRIVATE_Unmarshal(
16549 buffer: *const u8,
16550 buffer_size: size_t,
16551 offset: *mut size_t,
16552 dest: *mut TPM2B_PRIVATE,
16553 ) -> TSS2_RC;
16554}
16555extern "C" {
16556 pub fn Tss2_MU_TPM2B_CONTEXT_SENSITIVE_Marshal(
16557 src: *const TPM2B_CONTEXT_SENSITIVE,
16558 buffer: *mut u8,
16559 buffer_size: size_t,
16560 offset: *mut size_t,
16561 ) -> TSS2_RC;
16562}
16563extern "C" {
16564 pub fn Tss2_MU_TPM2B_CONTEXT_SENSITIVE_Unmarshal(
16565 buffer: *const u8,
16566 buffer_size: size_t,
16567 offset: *mut size_t,
16568 dest: *mut TPM2B_CONTEXT_SENSITIVE,
16569 ) -> TSS2_RC;
16570}
16571extern "C" {
16572 pub fn Tss2_MU_TPM2B_CONTEXT_DATA_Marshal(
16573 src: *const TPM2B_CONTEXT_DATA,
16574 buffer: *mut u8,
16575 buffer_size: size_t,
16576 offset: *mut size_t,
16577 ) -> TSS2_RC;
16578}
16579extern "C" {
16580 pub fn Tss2_MU_TPM2B_CONTEXT_DATA_Unmarshal(
16581 buffer: *const u8,
16582 buffer_size: size_t,
16583 offset: *mut size_t,
16584 dest: *mut TPM2B_CONTEXT_DATA,
16585 ) -> TSS2_RC;
16586}
16587extern "C" {
16588 pub fn Tss2_MU_TPM2B_DATA_Marshal(
16589 src: *const TPM2B_DATA,
16590 buffer: *mut u8,
16591 buffer_size: size_t,
16592 offset: *mut size_t,
16593 ) -> TSS2_RC;
16594}
16595extern "C" {
16596 pub fn Tss2_MU_TPM2B_DATA_Unmarshal(
16597 buffer: *const u8,
16598 buffer_size: size_t,
16599 offset: *mut size_t,
16600 dest: *mut TPM2B_DATA,
16601 ) -> TSS2_RC;
16602}
16603extern "C" {
16604 pub fn Tss2_MU_TPM2B_SYM_KEY_Marshal(
16605 src: *const TPM2B_SYM_KEY,
16606 buffer: *mut u8,
16607 buffer_size: size_t,
16608 offset: *mut size_t,
16609 ) -> TSS2_RC;
16610}
16611extern "C" {
16612 pub fn Tss2_MU_TPM2B_SYM_KEY_Unmarshal(
16613 buffer: *const u8,
16614 buffer_size: size_t,
16615 offset: *mut size_t,
16616 dest: *mut TPM2B_SYM_KEY,
16617 ) -> TSS2_RC;
16618}
16619extern "C" {
16620 pub fn Tss2_MU_TPM2B_ECC_POINT_Marshal(
16621 src: *const TPM2B_ECC_POINT,
16622 buffer: *mut u8,
16623 buffer_size: size_t,
16624 offset: *mut size_t,
16625 ) -> TSS2_RC;
16626}
16627extern "C" {
16628 pub fn Tss2_MU_TPM2B_ECC_POINT_Unmarshal(
16629 buffer: *const u8,
16630 buffer_size: size_t,
16631 offset: *mut size_t,
16632 dest: *mut TPM2B_ECC_POINT,
16633 ) -> TSS2_RC;
16634}
16635extern "C" {
16636 pub fn Tss2_MU_TPM2B_NV_PUBLIC_Marshal(
16637 src: *const TPM2B_NV_PUBLIC,
16638 buffer: *mut u8,
16639 buffer_size: size_t,
16640 offset: *mut size_t,
16641 ) -> TSS2_RC;
16642}
16643extern "C" {
16644 pub fn Tss2_MU_TPM2B_NV_PUBLIC_Unmarshal(
16645 buffer: *const u8,
16646 buffer_size: size_t,
16647 offset: *mut size_t,
16648 dest: *mut TPM2B_NV_PUBLIC,
16649 ) -> TSS2_RC;
16650}
16651extern "C" {
16652 pub fn Tss2_MU_TPM2B_SENSITIVE_Marshal(
16653 src: *const TPM2B_SENSITIVE,
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_TPM2B_SENSITIVE_Unmarshal(
16661 buffer: *const u8,
16662 buffer_size: size_t,
16663 offset: *mut size_t,
16664 dest: *mut TPM2B_SENSITIVE,
16665 ) -> TSS2_RC;
16666}
16667extern "C" {
16668 pub fn Tss2_MU_TPM2B_SENSITIVE_CREATE_Marshal(
16669 src: *const TPM2B_SENSITIVE_CREATE,
16670 buffer: *mut u8,
16671 buffer_size: size_t,
16672 offset: *mut size_t,
16673 ) -> TSS2_RC;
16674}
16675extern "C" {
16676 pub fn Tss2_MU_TPM2B_SENSITIVE_CREATE_Unmarshal(
16677 buffer: *const u8,
16678 buffer_size: size_t,
16679 offset: *mut size_t,
16680 dest: *mut TPM2B_SENSITIVE_CREATE,
16681 ) -> TSS2_RC;
16682}
16683extern "C" {
16684 pub fn Tss2_MU_TPM2B_CREATION_DATA_Marshal(
16685 src: *const TPM2B_CREATION_DATA,
16686 buffer: *mut u8,
16687 buffer_size: size_t,
16688 offset: *mut size_t,
16689 ) -> TSS2_RC;
16690}
16691extern "C" {
16692 pub fn Tss2_MU_TPM2B_CREATION_DATA_Unmarshal(
16693 buffer: *const u8,
16694 buffer_size: size_t,
16695 offset: *mut size_t,
16696 dest: *mut TPM2B_CREATION_DATA,
16697 ) -> TSS2_RC;
16698}
16699extern "C" {
16700 pub fn Tss2_MU_TPM2B_PUBLIC_Marshal(
16701 src: *const TPM2B_PUBLIC,
16702 buffer: *mut u8,
16703 buffer_size: size_t,
16704 offset: *mut size_t,
16705 ) -> TSS2_RC;
16706}
16707extern "C" {
16708 pub fn Tss2_MU_TPM2B_PUBLIC_Unmarshal(
16709 buffer: *const u8,
16710 buffer_size: size_t,
16711 offset: *mut size_t,
16712 dest: *mut TPM2B_PUBLIC,
16713 ) -> TSS2_RC;
16714}
16715extern "C" {
16716 pub fn Tss2_MU_TPM2B_ENCRYPTED_SECRET_Marshal(
16717 src: *const TPM2B_ENCRYPTED_SECRET,
16718 buffer: *mut u8,
16719 buffer_size: size_t,
16720 offset: *mut size_t,
16721 ) -> TSS2_RC;
16722}
16723extern "C" {
16724 pub fn Tss2_MU_TPM2B_ENCRYPTED_SECRET_Unmarshal(
16725 buffer: *const u8,
16726 buffer_size: size_t,
16727 offset: *mut size_t,
16728 dest: *mut TPM2B_ENCRYPTED_SECRET,
16729 ) -> TSS2_RC;
16730}
16731extern "C" {
16732 pub fn Tss2_MU_TPM2B_ID_OBJECT_Marshal(
16733 src: *const TPM2B_ID_OBJECT,
16734 buffer: *mut u8,
16735 buffer_size: size_t,
16736 offset: *mut size_t,
16737 ) -> TSS2_RC;
16738}
16739extern "C" {
16740 pub fn Tss2_MU_TPM2B_ID_OBJECT_Unmarshal(
16741 buffer: *const u8,
16742 buffer_size: size_t,
16743 offset: *mut size_t,
16744 dest: *mut TPM2B_ID_OBJECT,
16745 ) -> TSS2_RC;
16746}
16747extern "C" {
16748 pub fn Tss2_MU_TPM2B_IV_Marshal(
16749 src: *const TPM2B_IV,
16750 buffer: *mut u8,
16751 buffer_size: size_t,
16752 offset: *mut size_t,
16753 ) -> TSS2_RC;
16754}
16755extern "C" {
16756 pub fn Tss2_MU_TPM2B_IV_Unmarshal(
16757 buffer: *const u8,
16758 buffer_size: size_t,
16759 offset: *mut size_t,
16760 dest: *mut TPM2B_IV,
16761 ) -> TSS2_RC;
16762}
16763extern "C" {
16764 pub fn Tss2_MU_TPM2B_AUTH_Marshal(
16765 src: *const TPM2B_AUTH,
16766 buffer: *mut u8,
16767 buffer_size: size_t,
16768 offset: *mut size_t,
16769 ) -> TSS2_RC;
16770}
16771extern "C" {
16772 pub fn Tss2_MU_TPM2B_AUTH_Unmarshal(
16773 buffer: *const u8,
16774 buffer_size: size_t,
16775 offset: *mut size_t,
16776 dest: *mut TPM2B_AUTH,
16777 ) -> TSS2_RC;
16778}
16779extern "C" {
16780 pub fn Tss2_MU_TPM2B_EVENT_Marshal(
16781 src: *const TPM2B_EVENT,
16782 buffer: *mut u8,
16783 buffer_size: size_t,
16784 offset: *mut size_t,
16785 ) -> TSS2_RC;
16786}
16787extern "C" {
16788 pub fn Tss2_MU_TPM2B_EVENT_Unmarshal(
16789 buffer: *const u8,
16790 buffer_size: size_t,
16791 offset: *mut size_t,
16792 dest: *mut TPM2B_EVENT,
16793 ) -> TSS2_RC;
16794}
16795extern "C" {
16796 pub fn Tss2_MU_TPM2B_MAX_BUFFER_Marshal(
16797 src: *const TPM2B_MAX_BUFFER,
16798 buffer: *mut u8,
16799 buffer_size: size_t,
16800 offset: *mut size_t,
16801 ) -> TSS2_RC;
16802}
16803extern "C" {
16804 pub fn Tss2_MU_TPM2B_MAX_BUFFER_Unmarshal(
16805 buffer: *const u8,
16806 buffer_size: size_t,
16807 offset: *mut size_t,
16808 dest: *mut TPM2B_MAX_BUFFER,
16809 ) -> TSS2_RC;
16810}
16811extern "C" {
16812 pub fn Tss2_MU_TPM2B_NONCE_Marshal(
16813 src: *const TPM2B_NONCE,
16814 buffer: *mut u8,
16815 buffer_size: size_t,
16816 offset: *mut size_t,
16817 ) -> TSS2_RC;
16818}
16819extern "C" {
16820 pub fn Tss2_MU_TPM2B_NONCE_Unmarshal(
16821 buffer: *const u8,
16822 buffer_size: size_t,
16823 offset: *mut size_t,
16824 dest: *mut TPM2B_NONCE,
16825 ) -> TSS2_RC;
16826}
16827extern "C" {
16828 pub fn Tss2_MU_TPM2B_OPERAND_Marshal(
16829 src: *const TPM2B_OPERAND,
16830 buffer: *mut u8,
16831 buffer_size: size_t,
16832 offset: *mut size_t,
16833 ) -> TSS2_RC;
16834}
16835extern "C" {
16836 pub fn Tss2_MU_TPM2B_OPERAND_Unmarshal(
16837 buffer: *const u8,
16838 buffer_size: size_t,
16839 offset: *mut size_t,
16840 dest: *mut TPM2B_OPERAND,
16841 ) -> TSS2_RC;
16842}
16843extern "C" {
16844 pub fn Tss2_MU_TPM2B_TIMEOUT_Marshal(
16845 src: *const TPM2B_TIMEOUT,
16846 buffer: *mut u8,
16847 buffer_size: size_t,
16848 offset: *mut size_t,
16849 ) -> TSS2_RC;
16850}
16851extern "C" {
16852 pub fn Tss2_MU_TPM2B_TIMEOUT_Unmarshal(
16853 buffer: *const u8,
16854 buffer_size: size_t,
16855 offset: *mut size_t,
16856 dest: *mut TPM2B_TIMEOUT,
16857 ) -> TSS2_RC;
16858}
16859extern "C" {
16860 pub fn Tss2_MU_TPM2B_TEMPLATE_Marshal(
16861 src: *const TPM2B_TEMPLATE,
16862 buffer: *mut u8,
16863 buffer_size: size_t,
16864 offset: *mut size_t,
16865 ) -> TSS2_RC;
16866}
16867extern "C" {
16868 pub fn Tss2_MU_TPM2B_TEMPLATE_Unmarshal(
16869 buffer: *const u8,
16870 buffer_size: size_t,
16871 offset: *mut size_t,
16872 dest: *mut TPM2B_TEMPLATE,
16873 ) -> TSS2_RC;
16874}
16875extern "C" {
16876 pub fn Tss2_MU_TPMS_CONTEXT_Marshal(
16877 src: *const TPMS_CONTEXT,
16878 buffer: *mut u8,
16879 buffer_size: size_t,
16880 offset: *mut size_t,
16881 ) -> TSS2_RC;
16882}
16883extern "C" {
16884 pub fn Tss2_MU_TPMS_CONTEXT_Unmarshal(
16885 buffer: *const u8,
16886 buffer_size: size_t,
16887 offset: *mut size_t,
16888 dest: *mut TPMS_CONTEXT,
16889 ) -> TSS2_RC;
16890}
16891extern "C" {
16892 pub fn Tss2_MU_TPMS_TIME_INFO_Marshal(
16893 src: *const TPMS_TIME_INFO,
16894 buffer: *mut u8,
16895 buffer_size: size_t,
16896 offset: *mut size_t,
16897 ) -> TSS2_RC;
16898}
16899extern "C" {
16900 pub fn Tss2_MU_TPMS_TIME_INFO_Unmarshal(
16901 buffer: *const u8,
16902 buffer_size: size_t,
16903 offset: *mut size_t,
16904 dest: *mut TPMS_TIME_INFO,
16905 ) -> TSS2_RC;
16906}
16907extern "C" {
16908 pub fn Tss2_MU_TPMS_ECC_POINT_Marshal(
16909 src: *const TPMS_ECC_POINT,
16910 buffer: *mut u8,
16911 buffer_size: size_t,
16912 offset: *mut size_t,
16913 ) -> TSS2_RC;
16914}
16915extern "C" {
16916 pub fn Tss2_MU_TPMS_ECC_POINT_Unmarshal(
16917 buffer: *const u8,
16918 buffer_size: size_t,
16919 offset: *mut size_t,
16920 dest: *mut TPMS_ECC_POINT,
16921 ) -> TSS2_RC;
16922}
16923extern "C" {
16924 pub fn Tss2_MU_TPMS_NV_PUBLIC_Marshal(
16925 src: *const TPMS_NV_PUBLIC,
16926 buffer: *mut u8,
16927 buffer_size: size_t,
16928 offset: *mut size_t,
16929 ) -> TSS2_RC;
16930}
16931extern "C" {
16932 pub fn Tss2_MU_TPMS_NV_PUBLIC_Unmarshal(
16933 buffer: *const u8,
16934 buffer_size: size_t,
16935 offset: *mut size_t,
16936 dest: *mut TPMS_NV_PUBLIC,
16937 ) -> TSS2_RC;
16938}
16939extern "C" {
16940 pub fn Tss2_MU_TPMS_ALG_PROPERTY_Marshal(
16941 src: *const TPMS_ALG_PROPERTY,
16942 buffer: *mut u8,
16943 buffer_size: size_t,
16944 offset: *mut size_t,
16945 ) -> TSS2_RC;
16946}
16947extern "C" {
16948 pub fn Tss2_MU_TPMS_ALG_PROPERTY_Unmarshal(
16949 buffer: *const u8,
16950 buffer_size: size_t,
16951 offset: *mut size_t,
16952 dest: *mut TPMS_ALG_PROPERTY,
16953 ) -> TSS2_RC;
16954}
16955extern "C" {
16956 pub fn Tss2_MU_TPMS_ALGORITHM_DESCRIPTION_Marshal(
16957 src: *const TPMS_ALGORITHM_DESCRIPTION,
16958 buffer: *mut u8,
16959 buffer_size: size_t,
16960 offset: *mut size_t,
16961 ) -> TSS2_RC;
16962}
16963extern "C" {
16964 pub fn Tss2_MU_TPMS_ALGORITHM_DESCRIPTION_Unmarshal(
16965 buffer: *const u8,
16966 buffer_size: size_t,
16967 offset: *mut size_t,
16968 dest: *mut TPMS_ALGORITHM_DESCRIPTION,
16969 ) -> TSS2_RC;
16970}
16971extern "C" {
16972 pub fn Tss2_MU_TPMS_TAGGED_PROPERTY_Marshal(
16973 src: *const TPMS_TAGGED_PROPERTY,
16974 buffer: *mut u8,
16975 buffer_size: size_t,
16976 offset: *mut size_t,
16977 ) -> TSS2_RC;
16978}
16979extern "C" {
16980 pub fn Tss2_MU_TPMS_TAGGED_PROPERTY_Unmarshal(
16981 buffer: *const u8,
16982 buffer_size: size_t,
16983 offset: *mut size_t,
16984 dest: *mut TPMS_TAGGED_PROPERTY,
16985 ) -> TSS2_RC;
16986}
16987extern "C" {
16988 pub fn Tss2_MU_TPMS_TAGGED_POLICY_Marshal(
16989 src: *const TPMS_TAGGED_POLICY,
16990 buffer: *mut u8,
16991 buffer_size: size_t,
16992 offset: *mut size_t,
16993 ) -> TSS2_RC;
16994}
16995extern "C" {
16996 pub fn Tss2_MU_TPMS_TAGGED_POLICY_Unmarshal(
16997 buffer: *const u8,
16998 buffer_size: size_t,
16999 offset: *mut size_t,
17000 dest: *mut TPMS_TAGGED_POLICY,
17001 ) -> TSS2_RC;
17002}
17003extern "C" {
17004 pub fn Tss2_MU_TPMS_CLOCK_INFO_Marshal(
17005 src: *const TPMS_CLOCK_INFO,
17006 buffer: *mut u8,
17007 buffer_size: size_t,
17008 offset: *mut size_t,
17009 ) -> TSS2_RC;
17010}
17011extern "C" {
17012 pub fn Tss2_MU_TPMS_CLOCK_INFO_Unmarshal(
17013 buffer: *const u8,
17014 buffer_size: size_t,
17015 offset: *mut size_t,
17016 dest: *mut TPMS_CLOCK_INFO,
17017 ) -> TSS2_RC;
17018}
17019extern "C" {
17020 pub fn Tss2_MU_TPMS_TIME_ATTEST_INFO_Marshal(
17021 src: *const TPMS_TIME_ATTEST_INFO,
17022 buffer: *mut u8,
17023 buffer_size: size_t,
17024 offset: *mut size_t,
17025 ) -> TSS2_RC;
17026}
17027extern "C" {
17028 pub fn Tss2_MU_TPMS_TIME_ATTEST_INFO_Unmarshal(
17029 buffer: *const u8,
17030 buffer_size: size_t,
17031 offset: *mut size_t,
17032 dest: *mut TPMS_TIME_ATTEST_INFO,
17033 ) -> TSS2_RC;
17034}
17035extern "C" {
17036 pub fn Tss2_MU_TPMS_CERTIFY_INFO_Marshal(
17037 src: *const TPMS_CERTIFY_INFO,
17038 buffer: *mut u8,
17039 buffer_size: size_t,
17040 offset: *mut size_t,
17041 ) -> TSS2_RC;
17042}
17043extern "C" {
17044 pub fn Tss2_MU_TPMS_CERTIFY_INFO_Unmarshal(
17045 buffer: *const u8,
17046 buffer_size: size_t,
17047 offset: *mut size_t,
17048 dest: *mut TPMS_CERTIFY_INFO,
17049 ) -> TSS2_RC;
17050}
17051extern "C" {
17052 pub fn Tss2_MU_TPMS_COMMAND_AUDIT_INFO_Marshal(
17053 src: *const TPMS_COMMAND_AUDIT_INFO,
17054 buffer: *mut u8,
17055 buffer_size: size_t,
17056 offset: *mut size_t,
17057 ) -> TSS2_RC;
17058}
17059extern "C" {
17060 pub fn Tss2_MU_TPMS_COMMAND_AUDIT_INFO_Unmarshal(
17061 buffer: *const u8,
17062 buffer_size: size_t,
17063 offset: *mut size_t,
17064 dest: *mut TPMS_COMMAND_AUDIT_INFO,
17065 ) -> TSS2_RC;
17066}
17067extern "C" {
17068 pub fn Tss2_MU_TPMS_SESSION_AUDIT_INFO_Marshal(
17069 src: *const TPMS_SESSION_AUDIT_INFO,
17070 buffer: *mut u8,
17071 buffer_size: size_t,
17072 offset: *mut size_t,
17073 ) -> TSS2_RC;
17074}
17075extern "C" {
17076 pub fn Tss2_MU_TPMS_SESSION_AUDIT_INFO_Unmarshal(
17077 buffer: *const u8,
17078 buffer_size: size_t,
17079 offset: *mut size_t,
17080 dest: *mut TPMS_SESSION_AUDIT_INFO,
17081 ) -> TSS2_RC;
17082}
17083extern "C" {
17084 pub fn Tss2_MU_TPMS_CREATION_INFO_Marshal(
17085 src: *const TPMS_CREATION_INFO,
17086 buffer: *mut u8,
17087 buffer_size: size_t,
17088 offset: *mut size_t,
17089 ) -> TSS2_RC;
17090}
17091extern "C" {
17092 pub fn Tss2_MU_TPMS_CREATION_INFO_Unmarshal(
17093 buffer: *const u8,
17094 buffer_size: size_t,
17095 offset: *mut size_t,
17096 dest: *mut TPMS_CREATION_INFO,
17097 ) -> TSS2_RC;
17098}
17099extern "C" {
17100 pub fn Tss2_MU_TPMS_NV_CERTIFY_INFO_Marshal(
17101 src: *const TPMS_NV_CERTIFY_INFO,
17102 buffer: *mut u8,
17103 buffer_size: size_t,
17104 offset: *mut size_t,
17105 ) -> TSS2_RC;
17106}
17107extern "C" {
17108 pub fn Tss2_MU_TPMS_NV_CERTIFY_INFO_Unmarshal(
17109 buffer: *const u8,
17110 buffer_size: size_t,
17111 offset: *mut size_t,
17112 dest: *mut TPMS_NV_CERTIFY_INFO,
17113 ) -> TSS2_RC;
17114}
17115extern "C" {
17116 pub fn Tss2_MU_TPMS_AUTH_COMMAND_Marshal(
17117 src: *const TPMS_AUTH_COMMAND,
17118 buffer: *mut u8,
17119 buffer_size: size_t,
17120 offset: *mut size_t,
17121 ) -> TSS2_RC;
17122}
17123extern "C" {
17124 pub fn Tss2_MU_TPMS_AUTH_COMMAND_Unmarshal(
17125 buffer: *const u8,
17126 buffer_size: size_t,
17127 offset: *mut size_t,
17128 dest: *mut TPMS_AUTH_COMMAND,
17129 ) -> TSS2_RC;
17130}
17131extern "C" {
17132 pub fn Tss2_MU_TPMS_AUTH_RESPONSE_Marshal(
17133 src: *const TPMS_AUTH_RESPONSE,
17134 buffer: *mut u8,
17135 buffer_size: size_t,
17136 offset: *mut size_t,
17137 ) -> TSS2_RC;
17138}
17139extern "C" {
17140 pub fn Tss2_MU_TPMS_AUTH_RESPONSE_Unmarshal(
17141 buffer: *const u8,
17142 buffer_size: size_t,
17143 offset: *mut size_t,
17144 dest: *mut TPMS_AUTH_RESPONSE,
17145 ) -> TSS2_RC;
17146}
17147extern "C" {
17148 pub fn Tss2_MU_TPMS_SENSITIVE_CREATE_Marshal(
17149 src: *const TPMS_SENSITIVE_CREATE,
17150 buffer: *mut u8,
17151 buffer_size: size_t,
17152 offset: *mut size_t,
17153 ) -> TSS2_RC;
17154}
17155extern "C" {
17156 pub fn Tss2_MU_TPMS_SENSITIVE_CREATE_Unmarshal(
17157 buffer: *const u8,
17158 buffer_size: size_t,
17159 offset: *mut size_t,
17160 dest: *mut TPMS_SENSITIVE_CREATE,
17161 ) -> TSS2_RC;
17162}
17163extern "C" {
17164 pub fn Tss2_MU_TPMS_SCHEME_HASH_Marshal(
17165 src: *const TPMS_SCHEME_HASH,
17166 buffer: *mut u8,
17167 buffer_size: size_t,
17168 offset: *mut size_t,
17169 ) -> TSS2_RC;
17170}
17171extern "C" {
17172 pub fn Tss2_MU_TPMS_SCHEME_HASH_Unmarshal(
17173 buffer: *const u8,
17174 buffer_size: size_t,
17175 offset: *mut size_t,
17176 dest: *mut TPMS_SCHEME_HASH,
17177 ) -> TSS2_RC;
17178}
17179extern "C" {
17180 pub fn Tss2_MU_TPMS_SCHEME_ECDAA_Marshal(
17181 src: *const TPMS_SCHEME_ECDAA,
17182 buffer: *mut u8,
17183 buffer_size: size_t,
17184 offset: *mut size_t,
17185 ) -> TSS2_RC;
17186}
17187extern "C" {
17188 pub fn Tss2_MU_TPMS_SCHEME_ECDAA_Unmarshal(
17189 buffer: *const u8,
17190 buffer_size: size_t,
17191 offset: *mut size_t,
17192 dest: *mut TPMS_SCHEME_ECDAA,
17193 ) -> TSS2_RC;
17194}
17195extern "C" {
17196 pub fn Tss2_MU_TPMS_SCHEME_XOR_Marshal(
17197 src: *const TPMS_SCHEME_XOR,
17198 buffer: *mut u8,
17199 buffer_size: size_t,
17200 offset: *mut size_t,
17201 ) -> TSS2_RC;
17202}
17203extern "C" {
17204 pub fn Tss2_MU_TPMS_SCHEME_XOR_Unmarshal(
17205 buffer: *const u8,
17206 buffer_size: size_t,
17207 offset: *mut size_t,
17208 dest: *mut TPMS_SCHEME_XOR,
17209 ) -> TSS2_RC;
17210}
17211extern "C" {
17212 pub fn Tss2_MU_TPMS_SIGNATURE_RSA_Marshal(
17213 src: *const TPMS_SIGNATURE_RSA,
17214 buffer: *mut u8,
17215 buffer_size: size_t,
17216 offset: *mut size_t,
17217 ) -> TSS2_RC;
17218}
17219extern "C" {
17220 pub fn Tss2_MU_TPMS_SIGNATURE_RSA_Unmarshal(
17221 buffer: *const u8,
17222 buffer_size: size_t,
17223 offset: *mut size_t,
17224 dest: *mut TPMS_SIGNATURE_RSA,
17225 ) -> TSS2_RC;
17226}
17227extern "C" {
17228 pub fn Tss2_MU_TPMS_SIGNATURE_ECC_Marshal(
17229 src: *const TPMS_SIGNATURE_ECC,
17230 buffer: *mut u8,
17231 buffer_size: size_t,
17232 offset: *mut size_t,
17233 ) -> TSS2_RC;
17234}
17235extern "C" {
17236 pub fn Tss2_MU_TPMS_SIGNATURE_ECC_Unmarshal(
17237 buffer: *const u8,
17238 buffer_size: size_t,
17239 offset: *mut size_t,
17240 dest: *mut TPMS_SIGNATURE_ECC,
17241 ) -> TSS2_RC;
17242}
17243extern "C" {
17244 pub fn Tss2_MU_TPMS_NV_PIN_COUNTER_PARAMETERS_Marshal(
17245 src: *const TPMS_NV_PIN_COUNTER_PARAMETERS,
17246 buffer: *mut u8,
17247 buffer_size: size_t,
17248 offset: *mut size_t,
17249 ) -> TSS2_RC;
17250}
17251extern "C" {
17252 pub fn Tss2_MU_TPMS_NV_PIN_COUNTER_PARAMETERS_Unmarshal(
17253 buffer: *const u8,
17254 buffer_size: size_t,
17255 offset: *mut size_t,
17256 dest: *mut TPMS_NV_PIN_COUNTER_PARAMETERS,
17257 ) -> TSS2_RC;
17258}
17259extern "C" {
17260 pub fn Tss2_MU_TPMS_CONTEXT_DATA_Marshal(
17261 src: *const TPMS_CONTEXT_DATA,
17262 buffer: *mut u8,
17263 buffer_size: size_t,
17264 offset: *mut size_t,
17265 ) -> TSS2_RC;
17266}
17267extern "C" {
17268 pub fn Tss2_MU_TPMS_CONTEXT_DATA_Unmarshal(
17269 buffer: *const u8,
17270 buffer_size: size_t,
17271 offset: *mut size_t,
17272 dest: *mut TPMS_CONTEXT_DATA,
17273 ) -> TSS2_RC;
17274}
17275extern "C" {
17276 pub fn Tss2_MU_TPMS_PCR_SELECT_Marshal(
17277 src: *const TPMS_PCR_SELECT,
17278 buffer: *mut u8,
17279 buffer_size: size_t,
17280 offset: *mut size_t,
17281 ) -> TSS2_RC;
17282}
17283extern "C" {
17284 pub fn Tss2_MU_TPMS_PCR_SELECT_Unmarshal(
17285 buffer: *const u8,
17286 buffer_size: size_t,
17287 offset: *mut size_t,
17288 dest: *mut TPMS_PCR_SELECT,
17289 ) -> TSS2_RC;
17290}
17291extern "C" {
17292 pub fn Tss2_MU_TPMS_PCR_SELECTION_Marshal(
17293 src: *const TPMS_PCR_SELECTION,
17294 buffer: *mut u8,
17295 buffer_size: size_t,
17296 offset: *mut size_t,
17297 ) -> TSS2_RC;
17298}
17299extern "C" {
17300 pub fn Tss2_MU_TPMS_PCR_SELECTION_Unmarshal(
17301 buffer: *const u8,
17302 buffer_size: size_t,
17303 offset: *mut size_t,
17304 dest: *mut TPMS_PCR_SELECTION,
17305 ) -> TSS2_RC;
17306}
17307extern "C" {
17308 pub fn Tss2_MU_TPMS_TAGGED_PCR_SELECT_Marshal(
17309 src: *const TPMS_TAGGED_PCR_SELECT,
17310 buffer: *mut u8,
17311 buffer_size: size_t,
17312 offset: *mut size_t,
17313 ) -> TSS2_RC;
17314}
17315extern "C" {
17316 pub fn Tss2_MU_TPMS_TAGGED_PCR_SELECT_Unmarshal(
17317 buffer: *const u8,
17318 buffer_size: size_t,
17319 offset: *mut size_t,
17320 dest: *mut TPMS_TAGGED_PCR_SELECT,
17321 ) -> TSS2_RC;
17322}
17323extern "C" {
17324 pub fn Tss2_MU_TPMS_QUOTE_INFO_Marshal(
17325 src: *const TPMS_QUOTE_INFO,
17326 buffer: *mut u8,
17327 buffer_size: size_t,
17328 offset: *mut size_t,
17329 ) -> TSS2_RC;
17330}
17331extern "C" {
17332 pub fn Tss2_MU_TPMS_QUOTE_INFO_Unmarshal(
17333 buffer: *const u8,
17334 buffer_size: size_t,
17335 offset: *mut size_t,
17336 dest: *mut TPMS_QUOTE_INFO,
17337 ) -> TSS2_RC;
17338}
17339extern "C" {
17340 pub fn Tss2_MU_TPMS_CREATION_DATA_Marshal(
17341 src: *const TPMS_CREATION_DATA,
17342 buffer: *mut u8,
17343 buffer_size: size_t,
17344 offset: *mut size_t,
17345 ) -> TSS2_RC;
17346}
17347extern "C" {
17348 pub fn Tss2_MU_TPMS_CREATION_DATA_Unmarshal(
17349 buffer: *const u8,
17350 buffer_size: size_t,
17351 offset: *mut size_t,
17352 dest: *mut TPMS_CREATION_DATA,
17353 ) -> TSS2_RC;
17354}
17355extern "C" {
17356 pub fn Tss2_MU_TPMS_ECC_PARMS_Marshal(
17357 src: *const TPMS_ECC_PARMS,
17358 buffer: *mut u8,
17359 buffer_size: size_t,
17360 offset: *mut size_t,
17361 ) -> TSS2_RC;
17362}
17363extern "C" {
17364 pub fn Tss2_MU_TPMS_ECC_PARMS_Unmarshal(
17365 buffer: *const u8,
17366 buffer_size: size_t,
17367 offset: *mut size_t,
17368 dest: *mut TPMS_ECC_PARMS,
17369 ) -> TSS2_RC;
17370}
17371extern "C" {
17372 pub fn Tss2_MU_TPMS_ATTEST_Marshal(
17373 src: *const TPMS_ATTEST,
17374 buffer: *mut u8,
17375 buffer_size: size_t,
17376 offset: *mut size_t,
17377 ) -> TSS2_RC;
17378}
17379extern "C" {
17380 pub fn Tss2_MU_TPMS_ATTEST_Unmarshal(
17381 buffer: *const u8,
17382 buffer_size: size_t,
17383 offset: *mut size_t,
17384 dest: *mut TPMS_ATTEST,
17385 ) -> TSS2_RC;
17386}
17387extern "C" {
17388 pub fn Tss2_MU_TPMS_ALGORITHM_DETAIL_ECC_Marshal(
17389 src: *const TPMS_ALGORITHM_DETAIL_ECC,
17390 buffer: *mut u8,
17391 buffer_size: size_t,
17392 offset: *mut size_t,
17393 ) -> TSS2_RC;
17394}
17395extern "C" {
17396 pub fn Tss2_MU_TPMS_ALGORITHM_DETAIL_ECC_Unmarshal(
17397 buffer: *const u8,
17398 buffer_size: size_t,
17399 offset: *mut size_t,
17400 dest: *mut TPMS_ALGORITHM_DETAIL_ECC,
17401 ) -> TSS2_RC;
17402}
17403extern "C" {
17404 pub fn Tss2_MU_TPMS_CAPABILITY_DATA_Marshal(
17405 src: *const TPMS_CAPABILITY_DATA,
17406 buffer: *mut u8,
17407 buffer_size: size_t,
17408 offset: *mut size_t,
17409 ) -> TSS2_RC;
17410}
17411extern "C" {
17412 pub fn Tss2_MU_TPMS_CAPABILITY_DATA_Unmarshal(
17413 buffer: *const u8,
17414 buffer_size: size_t,
17415 offset: *mut size_t,
17416 dest: *mut TPMS_CAPABILITY_DATA,
17417 ) -> TSS2_RC;
17418}
17419extern "C" {
17420 pub fn Tss2_MU_TPMS_KEYEDHASH_PARMS_Marshal(
17421 src: *const TPMS_KEYEDHASH_PARMS,
17422 buffer: *mut u8,
17423 buffer_size: size_t,
17424 offset: *mut size_t,
17425 ) -> TSS2_RC;
17426}
17427extern "C" {
17428 pub fn Tss2_MU_TPMS_KEYEDHASH_PARMS_Unmarshal(
17429 buffer: *const u8,
17430 buffer_size: size_t,
17431 offset: *mut size_t,
17432 dest: *mut TPMS_KEYEDHASH_PARMS,
17433 ) -> TSS2_RC;
17434}
17435extern "C" {
17436 pub fn Tss2_MU_TPMS_RSA_PARMS_Marshal(
17437 src: *const TPMS_RSA_PARMS,
17438 buffer: *mut u8,
17439 buffer_size: size_t,
17440 offset: *mut size_t,
17441 ) -> TSS2_RC;
17442}
17443extern "C" {
17444 pub fn Tss2_MU_TPMS_RSA_PARMS_Unmarshal(
17445 buffer: *const u8,
17446 buffer_size: size_t,
17447 offset: *mut size_t,
17448 dest: *mut TPMS_RSA_PARMS,
17449 ) -> TSS2_RC;
17450}
17451extern "C" {
17452 pub fn Tss2_MU_TPMS_SYMCIPHER_PARMS_Marshal(
17453 src: *const TPMS_SYMCIPHER_PARMS,
17454 buffer: *mut u8,
17455 buffer_size: size_t,
17456 offset: *mut size_t,
17457 ) -> TSS2_RC;
17458}
17459extern "C" {
17460 pub fn Tss2_MU_TPMS_SYMCIPHER_PARMS_Unmarshal(
17461 buffer: *const u8,
17462 buffer_size: size_t,
17463 offset: *mut size_t,
17464 dest: *mut TPMS_SYMCIPHER_PARMS,
17465 ) -> TSS2_RC;
17466}
17467extern "C" {
17468 pub fn Tss2_MU_TPMS_AC_OUTPUT_Marshal(
17469 src: *const TPMS_AC_OUTPUT,
17470 buffer: *mut u8,
17471 buffer_size: size_t,
17472 offset: *mut size_t,
17473 ) -> TSS2_RC;
17474}
17475extern "C" {
17476 pub fn Tss2_MU_TPMS_AC_OUTPUT_Unmarshal(
17477 buffer: *const u8,
17478 buffer_size: size_t,
17479 offset: *mut size_t,
17480 dest: *mut TPMS_AC_OUTPUT,
17481 ) -> TSS2_RC;
17482}
17483extern "C" {
17484 pub fn Tss2_MU_TPMS_ID_OBJECT_Marshal(
17485 src: *const TPMS_ID_OBJECT,
17486 buffer: *mut u8,
17487 buffer_size: size_t,
17488 offset: *mut size_t,
17489 ) -> TSS2_RC;
17490}
17491extern "C" {
17492 pub fn Tss2_MU_TPMS_ID_OBJECT_Unmarshal(
17493 buffer: *const u8,
17494 buffer_size: size_t,
17495 offset: *mut size_t,
17496 dest: *mut TPMS_ID_OBJECT,
17497 ) -> TSS2_RC;
17498}
17499extern "C" {
17500 pub fn Tss2_MU_TPML_CC_Marshal(
17501 src: *const TPML_CC,
17502 buffer: *mut u8,
17503 buffer_size: size_t,
17504 offset: *mut size_t,
17505 ) -> TSS2_RC;
17506}
17507extern "C" {
17508 pub fn Tss2_MU_TPML_CC_Unmarshal(
17509 buffer: *const u8,
17510 buffer_size: size_t,
17511 offset: *mut size_t,
17512 dest: *mut TPML_CC,
17513 ) -> TSS2_RC;
17514}
17515extern "C" {
17516 pub fn Tss2_MU_TPML_CCA_Marshal(
17517 src: *const TPML_CCA,
17518 buffer: *mut u8,
17519 buffer_size: size_t,
17520 offset: *mut size_t,
17521 ) -> TSS2_RC;
17522}
17523extern "C" {
17524 pub fn Tss2_MU_TPML_CCA_Unmarshal(
17525 buffer: *const u8,
17526 buffer_size: size_t,
17527 offset: *mut size_t,
17528 dest: *mut TPML_CCA,
17529 ) -> TSS2_RC;
17530}
17531extern "C" {
17532 pub fn Tss2_MU_TPML_ALG_Marshal(
17533 src: *const TPML_ALG,
17534 buffer: *mut u8,
17535 buffer_size: size_t,
17536 offset: *mut size_t,
17537 ) -> TSS2_RC;
17538}
17539extern "C" {
17540 pub fn Tss2_MU_TPML_ALG_Unmarshal(
17541 buffer: *const u8,
17542 buffer_size: size_t,
17543 offset: *mut size_t,
17544 dest: *mut TPML_ALG,
17545 ) -> TSS2_RC;
17546}
17547extern "C" {
17548 pub fn Tss2_MU_TPML_HANDLE_Marshal(
17549 src: *const TPML_HANDLE,
17550 buffer: *mut u8,
17551 buffer_size: size_t,
17552 offset: *mut size_t,
17553 ) -> TSS2_RC;
17554}
17555extern "C" {
17556 pub fn Tss2_MU_TPML_HANDLE_Unmarshal(
17557 buffer: *const u8,
17558 buffer_size: size_t,
17559 offset: *mut size_t,
17560 dest: *mut TPML_HANDLE,
17561 ) -> TSS2_RC;
17562}
17563extern "C" {
17564 pub fn Tss2_MU_TPML_DIGEST_Marshal(
17565 src: *const TPML_DIGEST,
17566 buffer: *mut u8,
17567 buffer_size: size_t,
17568 offset: *mut size_t,
17569 ) -> TSS2_RC;
17570}
17571extern "C" {
17572 pub fn Tss2_MU_TPML_DIGEST_Unmarshal(
17573 buffer: *const u8,
17574 buffer_size: size_t,
17575 offset: *mut size_t,
17576 dest: *mut TPML_DIGEST,
17577 ) -> TSS2_RC;
17578}
17579extern "C" {
17580 pub fn Tss2_MU_TPML_DIGEST_VALUES_Marshal(
17581 src: *const TPML_DIGEST_VALUES,
17582 buffer: *mut u8,
17583 buffer_size: size_t,
17584 offset: *mut size_t,
17585 ) -> TSS2_RC;
17586}
17587extern "C" {
17588 pub fn Tss2_MU_TPML_DIGEST_VALUES_Unmarshal(
17589 buffer: *const u8,
17590 buffer_size: size_t,
17591 offset: *mut size_t,
17592 dest: *mut TPML_DIGEST_VALUES,
17593 ) -> TSS2_RC;
17594}
17595extern "C" {
17596 pub fn Tss2_MU_TPML_PCR_SELECTION_Marshal(
17597 src: *const TPML_PCR_SELECTION,
17598 buffer: *mut u8,
17599 buffer_size: size_t,
17600 offset: *mut size_t,
17601 ) -> TSS2_RC;
17602}
17603extern "C" {
17604 pub fn Tss2_MU_TPML_PCR_SELECTION_Unmarshal(
17605 buffer: *const u8,
17606 buffer_size: size_t,
17607 offset: *mut size_t,
17608 dest: *mut TPML_PCR_SELECTION,
17609 ) -> TSS2_RC;
17610}
17611extern "C" {
17612 pub fn Tss2_MU_TPML_ALG_PROPERTY_Marshal(
17613 src: *const TPML_ALG_PROPERTY,
17614 buffer: *mut u8,
17615 buffer_size: size_t,
17616 offset: *mut size_t,
17617 ) -> TSS2_RC;
17618}
17619extern "C" {
17620 pub fn Tss2_MU_TPML_ALG_PROPERTY_Unmarshal(
17621 buffer: *const u8,
17622 buffer_size: size_t,
17623 offset: *mut size_t,
17624 dest: *mut TPML_ALG_PROPERTY,
17625 ) -> TSS2_RC;
17626}
17627extern "C" {
17628 pub fn Tss2_MU_TPML_ECC_CURVE_Marshal(
17629 src: *const TPML_ECC_CURVE,
17630 buffer: *mut u8,
17631 buffer_size: size_t,
17632 offset: *mut size_t,
17633 ) -> TSS2_RC;
17634}
17635extern "C" {
17636 pub fn Tss2_MU_TPML_ECC_CURVE_Unmarshal(
17637 buffer: *const u8,
17638 buffer_size: size_t,
17639 offset: *mut size_t,
17640 dest: *mut TPML_ECC_CURVE,
17641 ) -> TSS2_RC;
17642}
17643extern "C" {
17644 pub fn Tss2_MU_TPML_TAGGED_PCR_PROPERTY_Marshal(
17645 src: *const TPML_TAGGED_PCR_PROPERTY,
17646 buffer: *mut u8,
17647 buffer_size: size_t,
17648 offset: *mut size_t,
17649 ) -> TSS2_RC;
17650}
17651extern "C" {
17652 pub fn Tss2_MU_TPML_TAGGED_PCR_PROPERTY_Unmarshal(
17653 buffer: *const u8,
17654 buffer_size: size_t,
17655 offset: *mut size_t,
17656 dest: *mut TPML_TAGGED_PCR_PROPERTY,
17657 ) -> TSS2_RC;
17658}
17659extern "C" {
17660 pub fn Tss2_MU_TPML_TAGGED_TPM_PROPERTY_Marshal(
17661 src: *const TPML_TAGGED_TPM_PROPERTY,
17662 buffer: *mut u8,
17663 buffer_size: size_t,
17664 offset: *mut size_t,
17665 ) -> TSS2_RC;
17666}
17667extern "C" {
17668 pub fn Tss2_MU_TPML_TAGGED_TPM_PROPERTY_Unmarshal(
17669 buffer: *const u8,
17670 buffer_size: size_t,
17671 offset: *mut size_t,
17672 dest: *mut TPML_TAGGED_TPM_PROPERTY,
17673 ) -> TSS2_RC;
17674}
17675extern "C" {
17676 pub fn Tss2_MU_TPML_INTEL_PTT_PROPERTY_Marshal(
17677 src: *const TPML_INTEL_PTT_PROPERTY,
17678 buffer: *mut u8,
17679 buffer_size: size_t,
17680 offset: *mut size_t,
17681 ) -> TSS2_RC;
17682}
17683extern "C" {
17684 pub fn Tss2_MU_TPML_INTEL_PTT_PROPERTY_Unmarshal(
17685 buffer: *const u8,
17686 buffer_size: size_t,
17687 offset: *mut size_t,
17688 dest: *mut TPML_INTEL_PTT_PROPERTY,
17689 ) -> TSS2_RC;
17690}
17691extern "C" {
17692 pub fn Tss2_MU_TPML_AC_CAPABILITIES_Marshal(
17693 src: *const TPML_AC_CAPABILITIES,
17694 buffer: *mut u8,
17695 buffer_size: size_t,
17696 offset: *mut size_t,
17697 ) -> TSS2_RC;
17698}
17699extern "C" {
17700 pub fn Tss2_MU_TPML_AC_CAPABILITIES_Unmarshal(
17701 buffer: *const u8,
17702 buffer_size: size_t,
17703 offset: *mut size_t,
17704 dest: *mut TPML_AC_CAPABILITIES,
17705 ) -> TSS2_RC;
17706}
17707extern "C" {
17708 pub fn Tss2_MU_TPMU_HA_Marshal(
17709 src: *const TPMU_HA,
17710 selector_value: u32,
17711 buffer: *mut u8,
17712 buffer_size: size_t,
17713 offset: *mut size_t,
17714 ) -> TSS2_RC;
17715}
17716extern "C" {
17717 pub fn Tss2_MU_TPMU_HA_Unmarshal(
17718 buffer: *const u8,
17719 buffer_size: size_t,
17720 offset: *mut size_t,
17721 selector_value: u32,
17722 dest: *mut TPMU_HA,
17723 ) -> TSS2_RC;
17724}
17725extern "C" {
17726 pub fn Tss2_MU_TPMU_CAPABILITIES_Marshal(
17727 src: *const TPMU_CAPABILITIES,
17728 selector_value: u32,
17729 buffer: *mut u8,
17730 buffer_size: size_t,
17731 offset: *mut size_t,
17732 ) -> TSS2_RC;
17733}
17734extern "C" {
17735 pub fn Tss2_MU_TPMU_CAPABILITIES_Unmarshal(
17736 buffer: *const u8,
17737 buffer_size: size_t,
17738 offset: *mut size_t,
17739 selector_value: u32,
17740 dest: *mut TPMU_CAPABILITIES,
17741 ) -> TSS2_RC;
17742}
17743extern "C" {
17744 pub fn Tss2_MU_TPMU_ATTEST_Marshal(
17745 src: *const TPMU_ATTEST,
17746 selector_value: u32,
17747 buffer: *mut u8,
17748 buffer_size: size_t,
17749 offset: *mut size_t,
17750 ) -> TSS2_RC;
17751}
17752extern "C" {
17753 pub fn Tss2_MU_TPMU_ATTEST_Unmarshal(
17754 buffer: *const u8,
17755 buffer_size: size_t,
17756 offset: *mut size_t,
17757 selector_value: u32,
17758 dest: *mut TPMU_ATTEST,
17759 ) -> TSS2_RC;
17760}
17761extern "C" {
17762 pub fn Tss2_MU_TPMU_SYM_KEY_BITS_Marshal(
17763 src: *const TPMU_SYM_KEY_BITS,
17764 selector_value: u32,
17765 buffer: *mut u8,
17766 buffer_size: size_t,
17767 offset: *mut size_t,
17768 ) -> TSS2_RC;
17769}
17770extern "C" {
17771 pub fn Tss2_MU_TPMU_SYM_KEY_BITS_Unmarshal(
17772 buffer: *const u8,
17773 buffer_size: size_t,
17774 offset: *mut size_t,
17775 selector_value: u32,
17776 dest: *mut TPMU_SYM_KEY_BITS,
17777 ) -> TSS2_RC;
17778}
17779extern "C" {
17780 pub fn Tss2_MU_TPMU_SYM_MODE_Marshal(
17781 src: *const TPMU_SYM_MODE,
17782 selector_value: u32,
17783 buffer: *mut u8,
17784 buffer_size: size_t,
17785 offset: *mut size_t,
17786 ) -> TSS2_RC;
17787}
17788extern "C" {
17789 pub fn Tss2_MU_TPMU_SYM_MODE_Unmarshal(
17790 buffer: *const u8,
17791 buffer_size: size_t,
17792 offset: *mut size_t,
17793 selector_value: u32,
17794 dest: *mut TPMU_SYM_MODE,
17795 ) -> TSS2_RC;
17796}
17797extern "C" {
17798 pub fn Tss2_MU_TPMU_SIG_SCHEME_Marshal(
17799 src: *const TPMU_SIG_SCHEME,
17800 selector_value: u32,
17801 buffer: *mut u8,
17802 buffer_size: size_t,
17803 offset: *mut size_t,
17804 ) -> TSS2_RC;
17805}
17806extern "C" {
17807 pub fn Tss2_MU_TPMU_SIG_SCHEME_Unmarshal(
17808 buffer: *const u8,
17809 buffer_size: size_t,
17810 offset: *mut size_t,
17811 selector_value: u32,
17812 dest: *mut TPMU_SIG_SCHEME,
17813 ) -> TSS2_RC;
17814}
17815extern "C" {
17816 pub fn Tss2_MU_TPMU_KDF_SCHEME_Marshal(
17817 src: *const TPMU_KDF_SCHEME,
17818 selector_value: u32,
17819 buffer: *mut u8,
17820 buffer_size: size_t,
17821 offset: *mut size_t,
17822 ) -> TSS2_RC;
17823}
17824extern "C" {
17825 pub fn Tss2_MU_TPMU_KDF_SCHEME_Unmarshal(
17826 buffer: *const u8,
17827 buffer_size: size_t,
17828 offset: *mut size_t,
17829 selector_value: u32,
17830 dest: *mut TPMU_KDF_SCHEME,
17831 ) -> TSS2_RC;
17832}
17833extern "C" {
17834 pub fn Tss2_MU_TPMU_ASYM_SCHEME_Marshal(
17835 src: *const TPMU_ASYM_SCHEME,
17836 selector_value: u32,
17837 buffer: *mut u8,
17838 buffer_size: size_t,
17839 offset: *mut size_t,
17840 ) -> TSS2_RC;
17841}
17842extern "C" {
17843 pub fn Tss2_MU_TPMU_ASYM_SCHEME_Unmarshal(
17844 buffer: *const u8,
17845 buffer_size: size_t,
17846 offset: *mut size_t,
17847 selector_value: u32,
17848 dest: *mut TPMU_ASYM_SCHEME,
17849 ) -> TSS2_RC;
17850}
17851extern "C" {
17852 pub fn Tss2_MU_TPMU_SCHEME_KEYEDHASH_Marshal(
17853 src: *const TPMU_SCHEME_KEYEDHASH,
17854 selector_value: u32,
17855 buffer: *mut u8,
17856 buffer_size: size_t,
17857 offset: *mut size_t,
17858 ) -> TSS2_RC;
17859}
17860extern "C" {
17861 pub fn Tss2_MU_TPMU_SCHEME_KEYEDHASH_Unmarshal(
17862 buffer: *const u8,
17863 buffer_size: size_t,
17864 offset: *mut size_t,
17865 selector_value: u32,
17866 dest: *mut TPMU_SCHEME_KEYEDHASH,
17867 ) -> TSS2_RC;
17868}
17869extern "C" {
17870 pub fn Tss2_MU_TPMU_SIGNATURE_Marshal(
17871 src: *const TPMU_SIGNATURE,
17872 selector_value: u32,
17873 buffer: *mut u8,
17874 buffer_size: size_t,
17875 offset: *mut size_t,
17876 ) -> TSS2_RC;
17877}
17878extern "C" {
17879 pub fn Tss2_MU_TPMU_SIGNATURE_Unmarshal(
17880 buffer: *const u8,
17881 buffer_size: size_t,
17882 offset: *mut size_t,
17883 selector_value: u32,
17884 dest: *mut TPMU_SIGNATURE,
17885 ) -> TSS2_RC;
17886}
17887extern "C" {
17888 pub fn Tss2_MU_TPMU_SENSITIVE_COMPOSITE_Marshal(
17889 src: *const TPMU_SENSITIVE_COMPOSITE,
17890 selector_value: u32,
17891 buffer: *mut u8,
17892 buffer_size: size_t,
17893 offset: *mut size_t,
17894 ) -> TSS2_RC;
17895}
17896extern "C" {
17897 pub fn Tss2_MU_TPMU_SENSITIVE_COMPOSITE_Unmarshal(
17898 buffer: *const u8,
17899 buffer_size: size_t,
17900 offset: *mut size_t,
17901 selector_value: u32,
17902 dest: *mut TPMU_SENSITIVE_COMPOSITE,
17903 ) -> TSS2_RC;
17904}
17905extern "C" {
17906 pub fn Tss2_MU_TPMU_ENCRYPTED_SECRET_Marshal(
17907 src: *const TPMU_ENCRYPTED_SECRET,
17908 selector_value: u32,
17909 buffer: *mut u8,
17910 buffer_size: size_t,
17911 offset: *mut size_t,
17912 ) -> TSS2_RC;
17913}
17914extern "C" {
17915 pub fn Tss2_MU_TPMU_ENCRYPTED_SECRET_Unmarshal(
17916 buffer: *const u8,
17917 buffer_size: size_t,
17918 offset: *mut size_t,
17919 selector_value: u32,
17920 dest: *mut TPMU_ENCRYPTED_SECRET,
17921 ) -> TSS2_RC;
17922}
17923extern "C" {
17924 pub fn Tss2_MU_TPMU_PUBLIC_PARMS_Marshal(
17925 src: *const TPMU_PUBLIC_PARMS,
17926 selector_value: u32,
17927 buffer: *mut u8,
17928 buffer_size: size_t,
17929 offset: *mut size_t,
17930 ) -> TSS2_RC;
17931}
17932extern "C" {
17933 pub fn Tss2_MU_TPMU_PUBLIC_PARMS_Unmarshal(
17934 buffer: *const u8,
17935 buffer_size: size_t,
17936 offset: *mut size_t,
17937 selector_value: u32,
17938 dest: *mut TPMU_PUBLIC_PARMS,
17939 ) -> TSS2_RC;
17940}
17941extern "C" {
17942 pub fn Tss2_MU_TPMU_PUBLIC_ID_Marshal(
17943 src: *const TPMU_PUBLIC_ID,
17944 selector_value: u32,
17945 buffer: *mut u8,
17946 buffer_size: size_t,
17947 offset: *mut size_t,
17948 ) -> TSS2_RC;
17949}
17950extern "C" {
17951 pub fn Tss2_MU_TPMU_PUBLIC_ID_Unmarshal(
17952 buffer: *const u8,
17953 buffer_size: size_t,
17954 offset: *mut size_t,
17955 selector_value: u32,
17956 dest: *mut TPMU_PUBLIC_ID,
17957 ) -> TSS2_RC;
17958}
17959extern "C" {
17960 pub fn Tss2_MU_TPMU_NAME_Marshal(
17961 src: *const TPMU_NAME,
17962 selector_value: u32,
17963 buffer: *mut u8,
17964 buffer_size: size_t,
17965 offset: *mut size_t,
17966 ) -> TSS2_RC;
17967}
17968extern "C" {
17969 pub fn Tss2_MU_TPMU_NAME_Unmarshal(
17970 buffer: *const u8,
17971 buffer_size: size_t,
17972 offset: *mut size_t,
17973 selector_value: u32,
17974 dest: *mut TPMU_NAME,
17975 ) -> TSS2_RC;
17976}
17977extern "C" {
17978 pub fn Tss2_MU_TPMT_HA_Marshal(
17979 src: *const TPMT_HA,
17980 buffer: *mut u8,
17981 buffer_size: size_t,
17982 offset: *mut size_t,
17983 ) -> TSS2_RC;
17984}
17985extern "C" {
17986 pub fn Tss2_MU_TPMT_HA_Unmarshal(
17987 buffer: *const u8,
17988 buffer_size: size_t,
17989 offset: *mut size_t,
17990 dest: *mut TPMT_HA,
17991 ) -> TSS2_RC;
17992}
17993extern "C" {
17994 pub fn Tss2_MU_TPMT_SYM_DEF_Marshal(
17995 src: *const TPMT_SYM_DEF,
17996 buffer: *mut u8,
17997 buffer_size: size_t,
17998 offset: *mut size_t,
17999 ) -> TSS2_RC;
18000}
18001extern "C" {
18002 pub fn Tss2_MU_TPMT_SYM_DEF_Unmarshal(
18003 buffer: *const u8,
18004 buffer_size: size_t,
18005 offset: *mut size_t,
18006 dest: *mut TPMT_SYM_DEF,
18007 ) -> TSS2_RC;
18008}
18009extern "C" {
18010 pub fn Tss2_MU_TPMT_SYM_DEF_OBJECT_Marshal(
18011 src: *const TPMT_SYM_DEF_OBJECT,
18012 buffer: *mut u8,
18013 buffer_size: size_t,
18014 offset: *mut size_t,
18015 ) -> TSS2_RC;
18016}
18017extern "C" {
18018 pub fn Tss2_MU_TPMT_SYM_DEF_OBJECT_Unmarshal(
18019 buffer: *const u8,
18020 buffer_size: size_t,
18021 offset: *mut size_t,
18022 dest: *mut TPMT_SYM_DEF_OBJECT,
18023 ) -> TSS2_RC;
18024}
18025extern "C" {
18026 pub fn Tss2_MU_TPMT_KEYEDHASH_SCHEME_Marshal(
18027 src: *const TPMT_KEYEDHASH_SCHEME,
18028 buffer: *mut u8,
18029 buffer_size: size_t,
18030 offset: *mut size_t,
18031 ) -> TSS2_RC;
18032}
18033extern "C" {
18034 pub fn Tss2_MU_TPMT_KEYEDHASH_SCHEME_Unmarshal(
18035 buffer: *const u8,
18036 buffer_size: size_t,
18037 offset: *mut size_t,
18038 dest: *mut TPMT_KEYEDHASH_SCHEME,
18039 ) -> TSS2_RC;
18040}
18041extern "C" {
18042 pub fn Tss2_MU_TPMT_SIG_SCHEME_Marshal(
18043 src: *const TPMT_SIG_SCHEME,
18044 buffer: *mut u8,
18045 buffer_size: size_t,
18046 offset: *mut size_t,
18047 ) -> TSS2_RC;
18048}
18049extern "C" {
18050 pub fn Tss2_MU_TPMT_SIG_SCHEME_Unmarshal(
18051 buffer: *const u8,
18052 buffer_size: size_t,
18053 offset: *mut size_t,
18054 dest: *mut TPMT_SIG_SCHEME,
18055 ) -> TSS2_RC;
18056}
18057extern "C" {
18058 pub fn Tss2_MU_TPMT_KDF_SCHEME_Marshal(
18059 src: *const TPMT_KDF_SCHEME,
18060 buffer: *mut u8,
18061 buffer_size: size_t,
18062 offset: *mut size_t,
18063 ) -> TSS2_RC;
18064}
18065extern "C" {
18066 pub fn Tss2_MU_TPMT_KDF_SCHEME_Unmarshal(
18067 buffer: *const u8,
18068 buffer_size: size_t,
18069 offset: *mut size_t,
18070 dest: *mut TPMT_KDF_SCHEME,
18071 ) -> TSS2_RC;
18072}
18073extern "C" {
18074 pub fn Tss2_MU_TPMT_ASYM_SCHEME_Marshal(
18075 src: *const TPMT_ASYM_SCHEME,
18076 buffer: *mut u8,
18077 buffer_size: size_t,
18078 offset: *mut size_t,
18079 ) -> TSS2_RC;
18080}
18081extern "C" {
18082 pub fn Tss2_MU_TPMT_ASYM_SCHEME_Unmarshal(
18083 buffer: *const u8,
18084 buffer_size: size_t,
18085 offset: *mut size_t,
18086 dest: *mut TPMT_ASYM_SCHEME,
18087 ) -> TSS2_RC;
18088}
18089extern "C" {
18090 pub fn Tss2_MU_TPMT_RSA_SCHEME_Marshal(
18091 src: *const TPMT_RSA_SCHEME,
18092 buffer: *mut u8,
18093 buffer_size: size_t,
18094 offset: *mut size_t,
18095 ) -> TSS2_RC;
18096}
18097extern "C" {
18098 pub fn Tss2_MU_TPMT_RSA_SCHEME_Unmarshal(
18099 buffer: *const u8,
18100 buffer_size: size_t,
18101 offset: *mut size_t,
18102 dest: *mut TPMT_RSA_SCHEME,
18103 ) -> TSS2_RC;
18104}
18105extern "C" {
18106 pub fn Tss2_MU_TPMT_RSA_DECRYPT_Marshal(
18107 src: *const TPMT_RSA_DECRYPT,
18108 buffer: *mut u8,
18109 buffer_size: size_t,
18110 offset: *mut size_t,
18111 ) -> TSS2_RC;
18112}
18113extern "C" {
18114 pub fn Tss2_MU_TPMT_RSA_DECRYPT_Unmarshal(
18115 buffer: *const u8,
18116 buffer_size: size_t,
18117 offset: *mut size_t,
18118 dest: *mut TPMT_RSA_DECRYPT,
18119 ) -> TSS2_RC;
18120}
18121extern "C" {
18122 pub fn Tss2_MU_TPMT_ECC_SCHEME_Marshal(
18123 src: *const TPMT_ECC_SCHEME,
18124 buffer: *mut u8,
18125 buffer_size: size_t,
18126 offset: *mut size_t,
18127 ) -> TSS2_RC;
18128}
18129extern "C" {
18130 pub fn Tss2_MU_TPMT_ECC_SCHEME_Unmarshal(
18131 buffer: *const u8,
18132 buffer_size: size_t,
18133 offset: *mut size_t,
18134 dest: *mut TPMT_ECC_SCHEME,
18135 ) -> TSS2_RC;
18136}
18137extern "C" {
18138 pub fn Tss2_MU_TPMT_SIGNATURE_Marshal(
18139 src: *const TPMT_SIGNATURE,
18140 buffer: *mut u8,
18141 buffer_size: size_t,
18142 offset: *mut size_t,
18143 ) -> TSS2_RC;
18144}
18145extern "C" {
18146 pub fn Tss2_MU_TPMT_SIGNATURE_Unmarshal(
18147 buffer: *const u8,
18148 buffer_size: size_t,
18149 offset: *mut size_t,
18150 dest: *mut TPMT_SIGNATURE,
18151 ) -> TSS2_RC;
18152}
18153extern "C" {
18154 pub fn Tss2_MU_TPMT_SENSITIVE_Marshal(
18155 src: *const TPMT_SENSITIVE,
18156 buffer: *mut u8,
18157 buffer_size: size_t,
18158 offset: *mut size_t,
18159 ) -> TSS2_RC;
18160}
18161extern "C" {
18162 pub fn Tss2_MU_TPMT_SENSITIVE_Unmarshal(
18163 buffer: *const u8,
18164 buffer_size: size_t,
18165 offset: *mut size_t,
18166 dest: *mut TPMT_SENSITIVE,
18167 ) -> TSS2_RC;
18168}
18169extern "C" {
18170 pub fn Tss2_MU_TPMT_PUBLIC_Marshal(
18171 src: *const TPMT_PUBLIC,
18172 buffer: *mut u8,
18173 buffer_size: size_t,
18174 offset: *mut size_t,
18175 ) -> TSS2_RC;
18176}
18177extern "C" {
18178 pub fn Tss2_MU_TPMT_PUBLIC_Unmarshal(
18179 buffer: *const u8,
18180 buffer_size: size_t,
18181 offset: *mut size_t,
18182 dest: *mut TPMT_PUBLIC,
18183 ) -> TSS2_RC;
18184}
18185extern "C" {
18186 pub fn Tss2_MU_TPMT_PUBLIC_PARMS_Marshal(
18187 src: *const TPMT_PUBLIC_PARMS,
18188 buffer: *mut u8,
18189 buffer_size: size_t,
18190 offset: *mut size_t,
18191 ) -> TSS2_RC;
18192}
18193extern "C" {
18194 pub fn Tss2_MU_TPMT_PUBLIC_PARMS_Unmarshal(
18195 buffer: *const u8,
18196 buffer_size: size_t,
18197 offset: *mut size_t,
18198 dest: *mut TPMT_PUBLIC_PARMS,
18199 ) -> TSS2_RC;
18200}
18201extern "C" {
18202 pub fn Tss2_MU_TPMT_TK_CREATION_Marshal(
18203 src: *const TPMT_TK_CREATION,
18204 buffer: *mut u8,
18205 buffer_size: size_t,
18206 offset: *mut size_t,
18207 ) -> TSS2_RC;
18208}
18209extern "C" {
18210 pub fn Tss2_MU_TPMT_TK_CREATION_Unmarshal(
18211 buffer: *const u8,
18212 buffer_size: size_t,
18213 offset: *mut size_t,
18214 dest: *mut TPMT_TK_CREATION,
18215 ) -> TSS2_RC;
18216}
18217extern "C" {
18218 pub fn Tss2_MU_TPMT_TK_VERIFIED_Marshal(
18219 src: *const TPMT_TK_VERIFIED,
18220 buffer: *mut u8,
18221 buffer_size: size_t,
18222 offset: *mut size_t,
18223 ) -> TSS2_RC;
18224}
18225extern "C" {
18226 pub fn Tss2_MU_TPMT_TK_VERIFIED_Unmarshal(
18227 buffer: *const u8,
18228 buffer_size: size_t,
18229 offset: *mut size_t,
18230 dest: *mut TPMT_TK_VERIFIED,
18231 ) -> TSS2_RC;
18232}
18233extern "C" {
18234 pub fn Tss2_MU_TPMT_TK_AUTH_Marshal(
18235 src: *const TPMT_TK_AUTH,
18236 buffer: *mut u8,
18237 buffer_size: size_t,
18238 offset: *mut size_t,
18239 ) -> TSS2_RC;
18240}
18241extern "C" {
18242 pub fn Tss2_MU_TPMT_TK_AUTH_Unmarshal(
18243 buffer: *const u8,
18244 buffer_size: size_t,
18245 offset: *mut size_t,
18246 dest: *mut TPMT_TK_AUTH,
18247 ) -> TSS2_RC;
18248}
18249extern "C" {
18250 pub fn Tss2_MU_TPMT_TK_HASHCHECK_Marshal(
18251 src: *const TPMT_TK_HASHCHECK,
18252 buffer: *mut u8,
18253 buffer_size: size_t,
18254 offset: *mut size_t,
18255 ) -> TSS2_RC;
18256}
18257extern "C" {
18258 pub fn Tss2_MU_TPMT_TK_HASHCHECK_Unmarshal(
18259 buffer: *const u8,
18260 buffer_size: size_t,
18261 offset: *mut size_t,
18262 dest: *mut TPMT_TK_HASHCHECK,
18263 ) -> TSS2_RC;
18264}
18265extern "C" {
18266 pub fn Tss2_MU_TPM2_HANDLE_Marshal(
18267 in_: TPM2_HANDLE,
18268 buffer: *mut u8,
18269 size: size_t,
18270 offset: *mut size_t,
18271 ) -> TSS2_RC;
18272}
18273extern "C" {
18274 pub fn Tss2_MU_TPM2_HANDLE_Unmarshal(
18275 buffer: *const u8,
18276 size: size_t,
18277 offset: *mut size_t,
18278 out: *mut TPM2_HANDLE,
18279 ) -> TSS2_RC;
18280}
18281extern "C" {
18282 pub fn Tss2_MU_TPMI_ALG_HASH_Marshal(
18283 in_: TPMI_ALG_HASH,
18284 buffer: *mut u8,
18285 size: size_t,
18286 offset: *mut size_t,
18287 ) -> TSS2_RC;
18288}
18289extern "C" {
18290 pub fn Tss2_MU_TPMI_ALG_HASH_Unmarshal(
18291 buffer: *const u8,
18292 size: size_t,
18293 offset: *mut size_t,
18294 out: *mut TPMI_ALG_HASH,
18295 ) -> TSS2_RC;
18296}
18297extern "C" {
18298 pub fn Tss2_MU_TPM2_SE_Marshal(
18299 in_: TPM2_SE,
18300 buffer: *mut u8,
18301 size: size_t,
18302 offset: *mut size_t,
18303 ) -> TSS2_RC;
18304}
18305extern "C" {
18306 pub fn Tss2_MU_TPM2_SE_Unmarshal(
18307 buffer: *const u8,
18308 size: size_t,
18309 offset: *mut size_t,
18310 out: *mut TPM2_SE,
18311 ) -> TSS2_RC;
18312}
18313extern "C" {
18314 pub fn Tss2_MU_TPM2_NT_Marshal(
18315 in_: TPM2_NT,
18316 buffer: *mut u8,
18317 size: size_t,
18318 offset: *mut size_t,
18319 ) -> TSS2_RC;
18320}
18321extern "C" {
18322 pub fn Tss2_MU_TPM2_NT_Unmarshal(
18323 buffer: *const u8,
18324 size: size_t,
18325 offset: *mut size_t,
18326 out: *mut TPM2_NT,
18327 ) -> TSS2_RC;
18328}
18329extern "C" {
18330 pub fn Tss2_MU_TPMS_EMPTY_Marshal(
18331 in_: *const TPMS_EMPTY,
18332 buffer: *mut u8,
18333 size: size_t,
18334 offset: *mut size_t,
18335 ) -> TSS2_RC;
18336}
18337extern "C" {
18338 pub fn Tss2_MU_TPMS_EMPTY_Unmarshal(
18339 buffer: *const u8,
18340 size: size_t,
18341 offset: *mut size_t,
18342 out: *mut TPMS_EMPTY,
18343 ) -> TSS2_RC;
18344}