1 // Copyright 2015 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // THIS CODE IS GENERATED - DO NOT MODIFY!
6 
7 #ifndef TPM2_TPM_GENERATED_H_
8 #define TPM2_TPM_GENERATED_H_
9 
10 #include <endian.h>
11 #include <string.h>
12 
13 #include "TPM_Types.h"
14 #include "Tpm.h"
15 
16 UINT16 uint8_t_Marshal(uint8_t* source, BYTE** buffer, INT32* size);
17 
18 TPM_RC uint8_t_Unmarshal(uint8_t* target, BYTE** buffer, INT32* size);
19 
20 UINT16 int8_t_Marshal(int8_t* source, BYTE** buffer, INT32* size);
21 
22 TPM_RC int8_t_Unmarshal(int8_t* target, BYTE** buffer, INT32* size);
23 
24 UINT16 uint16_t_Marshal(uint16_t* source, BYTE** buffer, INT32* size);
25 
26 TPM_RC uint16_t_Unmarshal(uint16_t* target, BYTE** buffer, INT32* size);
27 
28 UINT16 int16_t_Marshal(int16_t* source, BYTE** buffer, INT32* size);
29 
30 TPM_RC int16_t_Unmarshal(int16_t* target, BYTE** buffer, INT32* size);
31 
32 UINT16 uint32_t_Marshal(uint32_t* source, BYTE** buffer, INT32* size);
33 
34 TPM_RC uint32_t_Unmarshal(uint32_t* target, BYTE** buffer, INT32* size);
35 
36 UINT16 int32_t_Marshal(int32_t* source, BYTE** buffer, INT32* size);
37 
38 TPM_RC int32_t_Unmarshal(int32_t* target, BYTE** buffer, INT32* size);
39 
40 UINT16 uint64_t_Marshal(uint64_t* source, BYTE** buffer, INT32* size);
41 
42 TPM_RC uint64_t_Unmarshal(uint64_t* target, BYTE** buffer, INT32* size);
43 
44 UINT16 int64_t_Marshal(int64_t* source, BYTE** buffer, INT32* size);
45 
46 TPM_RC int64_t_Unmarshal(int64_t* target, BYTE** buffer, INT32* size);
47 
48 UINT16 BYTE_Marshal(BYTE* source, BYTE** buffer, INT32* size);
49 
50 TPM_RC BYTE_Unmarshal(BYTE* target, BYTE** buffer, INT32* size);
51 
52 UINT16 INT16_Marshal(INT16* source, BYTE** buffer, INT32* size);
53 
54 TPM_RC INT16_Unmarshal(INT16* target, BYTE** buffer, INT32* size);
55 
56 UINT16 INT32_Marshal(INT32* source, BYTE** buffer, INT32* size);
57 
58 TPM_RC INT32_Unmarshal(INT32* target, BYTE** buffer, INT32* size);
59 
60 UINT16 INT64_Marshal(INT64* source, BYTE** buffer, INT32* size);
61 
62 TPM_RC INT64_Unmarshal(INT64* target, BYTE** buffer, INT32* size);
63 
64 UINT16 INT8_Marshal(INT8* source, BYTE** buffer, INT32* size);
65 
66 TPM_RC INT8_Unmarshal(INT8* target, BYTE** buffer, INT32* size);
67 
68 UINT16 TPM2B_ATTEST_Marshal(TPM2B_ATTEST* source, BYTE** buffer, INT32* size);
69 
70 TPM_RC TPM2B_ATTEST_Unmarshal(TPM2B_ATTEST* target, BYTE** buffer, INT32* size);
71 
72 UINT16 TPM2B_DIGEST_Marshal(TPM2B_DIGEST* source, BYTE** buffer, INT32* size);
73 
74 TPM_RC TPM2B_DIGEST_Unmarshal(TPM2B_DIGEST* target, BYTE** buffer, INT32* size);
75 
76 UINT16 TPM2B_AUTH_Marshal(TPM2B_AUTH* source, BYTE** buffer, INT32* size);
77 
78 TPM_RC TPM2B_AUTH_Unmarshal(TPM2B_AUTH* target, BYTE** buffer, INT32* size);
79 
80 UINT16 TPM2B_CONTEXT_DATA_Marshal(TPM2B_CONTEXT_DATA* source,
81                                   BYTE** buffer,
82                                   INT32* size);
83 
84 TPM_RC TPM2B_CONTEXT_DATA_Unmarshal(TPM2B_CONTEXT_DATA* target,
85                                     BYTE** buffer,
86                                     INT32* size);
87 
88 UINT16 TPM2B_CONTEXT_SENSITIVE_Marshal(TPM2B_CONTEXT_SENSITIVE* source,
89                                        BYTE** buffer,
90                                        INT32* size);
91 
92 TPM_RC TPM2B_CONTEXT_SENSITIVE_Unmarshal(TPM2B_CONTEXT_SENSITIVE* target,
93                                          BYTE** buffer,
94                                          INT32* size);
95 
96 UINT16 TPM2B_CREATION_DATA_Marshal(TPM2B_CREATION_DATA* source,
97                                    BYTE** buffer,
98                                    INT32* size);
99 
100 TPM_RC TPM2B_CREATION_DATA_Unmarshal(TPM2B_CREATION_DATA* target,
101                                      BYTE** buffer,
102                                      INT32* size);
103 
104 UINT16 TPM2B_DATA_Marshal(TPM2B_DATA* source, BYTE** buffer, INT32* size);
105 
106 TPM_RC TPM2B_DATA_Unmarshal(TPM2B_DATA* target, BYTE** buffer, INT32* size);
107 
108 UINT16 TPM2B_DIGEST_VALUES_Marshal(TPM2B_DIGEST_VALUES* source,
109                                    BYTE** buffer,
110                                    INT32* size);
111 
112 TPM_RC TPM2B_DIGEST_VALUES_Unmarshal(TPM2B_DIGEST_VALUES* target,
113                                      BYTE** buffer,
114                                      INT32* size);
115 
116 UINT16 TPM2B_ECC_PARAMETER_Marshal(TPM2B_ECC_PARAMETER* source,
117                                    BYTE** buffer,
118                                    INT32* size);
119 
120 TPM_RC TPM2B_ECC_PARAMETER_Unmarshal(TPM2B_ECC_PARAMETER* target,
121                                      BYTE** buffer,
122                                      INT32* size);
123 
124 UINT16 TPM2B_ECC_POINT_Marshal(TPM2B_ECC_POINT* source,
125                                BYTE** buffer,
126                                INT32* size);
127 
128 TPM_RC TPM2B_ECC_POINT_Unmarshal(TPM2B_ECC_POINT* target,
129                                  BYTE** buffer,
130                                  INT32* size);
131 
132 UINT16 TPM2B_ENCRYPTED_SECRET_Marshal(TPM2B_ENCRYPTED_SECRET* source,
133                                       BYTE** buffer,
134                                       INT32* size);
135 
136 TPM_RC TPM2B_ENCRYPTED_SECRET_Unmarshal(TPM2B_ENCRYPTED_SECRET* target,
137                                         BYTE** buffer,
138                                         INT32* size);
139 
140 UINT16 TPM2B_EVENT_Marshal(TPM2B_EVENT* source, BYTE** buffer, INT32* size);
141 
142 TPM_RC TPM2B_EVENT_Unmarshal(TPM2B_EVENT* target, BYTE** buffer, INT32* size);
143 
144 UINT16 TPM2B_ID_OBJECT_Marshal(TPM2B_ID_OBJECT* source,
145                                BYTE** buffer,
146                                INT32* size);
147 
148 TPM_RC TPM2B_ID_OBJECT_Unmarshal(TPM2B_ID_OBJECT* target,
149                                  BYTE** buffer,
150                                  INT32* size);
151 
152 UINT16 TPM2B_IV_Marshal(TPM2B_IV* source, BYTE** buffer, INT32* size);
153 
154 TPM_RC TPM2B_IV_Unmarshal(TPM2B_IV* target, BYTE** buffer, INT32* size);
155 
156 UINT16 TPM2B_MAX_BUFFER_Marshal(TPM2B_MAX_BUFFER* source,
157                                 BYTE** buffer,
158                                 INT32* size);
159 
160 TPM_RC TPM2B_MAX_BUFFER_Unmarshal(TPM2B_MAX_BUFFER* target,
161                                   BYTE** buffer,
162                                   INT32* size);
163 
164 UINT16 TPM2B_MAX_NV_BUFFER_Marshal(TPM2B_MAX_NV_BUFFER* source,
165                                    BYTE** buffer,
166                                    INT32* size);
167 
168 TPM_RC TPM2B_MAX_NV_BUFFER_Unmarshal(TPM2B_MAX_NV_BUFFER* target,
169                                      BYTE** buffer,
170                                      INT32* size);
171 
172 UINT16 TPM2B_NAME_Marshal(TPM2B_NAME* source, BYTE** buffer, INT32* size);
173 
174 TPM_RC TPM2B_NAME_Unmarshal(TPM2B_NAME* target, BYTE** buffer, INT32* size);
175 
176 UINT16 TPM2B_NONCE_Marshal(TPM2B_NONCE* source, BYTE** buffer, INT32* size);
177 
178 TPM_RC TPM2B_NONCE_Unmarshal(TPM2B_NONCE* target, BYTE** buffer, INT32* size);
179 
180 UINT16 TPM2B_NV_PUBLIC_Marshal(TPM2B_NV_PUBLIC* source,
181                                BYTE** buffer,
182                                INT32* size);
183 
184 TPM_RC TPM2B_NV_PUBLIC_Unmarshal(TPM2B_NV_PUBLIC* target,
185                                  BYTE** buffer,
186                                  INT32* size);
187 
188 UINT16 TPM2B_OPERAND_Marshal(TPM2B_OPERAND* source, BYTE** buffer, INT32* size);
189 
190 TPM_RC TPM2B_OPERAND_Unmarshal(TPM2B_OPERAND* target,
191                                BYTE** buffer,
192                                INT32* size);
193 
194 UINT16 TPM2B_PRIVATE_Marshal(TPM2B_PRIVATE* source, BYTE** buffer, INT32* size);
195 
196 TPM_RC TPM2B_PRIVATE_Unmarshal(TPM2B_PRIVATE* target,
197                                BYTE** buffer,
198                                INT32* size);
199 
200 UINT16 TPM2B_PRIVATE_KEY_RSA_Marshal(TPM2B_PRIVATE_KEY_RSA* source,
201                                      BYTE** buffer,
202                                      INT32* size);
203 
204 TPM_RC TPM2B_PRIVATE_KEY_RSA_Unmarshal(TPM2B_PRIVATE_KEY_RSA* target,
205                                        BYTE** buffer,
206                                        INT32* size);
207 
208 UINT16 TPM2B_PRIVATE_VENDOR_SPECIFIC_Marshal(
209     TPM2B_PRIVATE_VENDOR_SPECIFIC* source,
210     BYTE** buffer,
211     INT32* size);
212 
213 TPM_RC TPM2B_PRIVATE_VENDOR_SPECIFIC_Unmarshal(
214     TPM2B_PRIVATE_VENDOR_SPECIFIC* target,
215     BYTE** buffer,
216     INT32* size);
217 
218 UINT16 TPM2B_PUBLIC_Marshal(TPM2B_PUBLIC* source, BYTE** buffer, INT32* size);
219 
220 TPM_RC TPM2B_PUBLIC_Unmarshal(TPM2B_PUBLIC* target, BYTE** buffer, INT32* size);
221 
222 UINT16 TPM2B_PUBLIC_KEY_RSA_Marshal(TPM2B_PUBLIC_KEY_RSA* source,
223                                     BYTE** buffer,
224                                     INT32* size);
225 
226 TPM_RC TPM2B_PUBLIC_KEY_RSA_Unmarshal(TPM2B_PUBLIC_KEY_RSA* target,
227                                       BYTE** buffer,
228                                       INT32* size);
229 
230 UINT16 TPM2B_SENSITIVE_Marshal(TPM2B_SENSITIVE* source,
231                                BYTE** buffer,
232                                INT32* size);
233 
234 TPM_RC TPM2B_SENSITIVE_Unmarshal(TPM2B_SENSITIVE* target,
235                                  BYTE** buffer,
236                                  INT32* size);
237 
238 UINT16 TPM2B_SENSITIVE_CREATE_Marshal(TPM2B_SENSITIVE_CREATE* source,
239                                       BYTE** buffer,
240                                       INT32* size);
241 
242 TPM_RC TPM2B_SENSITIVE_CREATE_Unmarshal(TPM2B_SENSITIVE_CREATE* target,
243                                         BYTE** buffer,
244                                         INT32* size);
245 
246 UINT16 TPM2B_SENSITIVE_DATA_Marshal(TPM2B_SENSITIVE_DATA* source,
247                                     BYTE** buffer,
248                                     INT32* size);
249 
250 TPM_RC TPM2B_SENSITIVE_DATA_Unmarshal(TPM2B_SENSITIVE_DATA* target,
251                                       BYTE** buffer,
252                                       INT32* size);
253 
254 UINT16 TPM2B_SYM_KEY_Marshal(TPM2B_SYM_KEY* source, BYTE** buffer, INT32* size);
255 
256 TPM_RC TPM2B_SYM_KEY_Unmarshal(TPM2B_SYM_KEY* target,
257                                BYTE** buffer,
258                                INT32* size);
259 
260 UINT16 TPM2B_TIMEOUT_Marshal(TPM2B_TIMEOUT* source, BYTE** buffer, INT32* size);
261 
262 TPM_RC TPM2B_TIMEOUT_Unmarshal(TPM2B_TIMEOUT* target,
263                                BYTE** buffer,
264                                INT32* size);
265 
266 UINT16 UINT32_Marshal(UINT32* source, BYTE** buffer, INT32* size);
267 
268 TPM_RC UINT32_Unmarshal(UINT32* target, BYTE** buffer, INT32* size);
269 
270 UINT16 TPMA_ALGORITHM_Marshal(TPMA_ALGORITHM* source,
271                               BYTE** buffer,
272                               INT32* size);
273 
274 TPM_RC TPMA_ALGORITHM_Unmarshal(TPMA_ALGORITHM* target,
275                                 BYTE** buffer,
276                                 INT32* size);
277 
278 UINT16 TPM_CC_Marshal(TPM_CC* source, BYTE** buffer, INT32* size);
279 
280 TPM_RC TPM_CC_Unmarshal(TPM_CC* target, BYTE** buffer, INT32* size);
281 
282 UINT16 TPMA_CC_Marshal(TPMA_CC* source, BYTE** buffer, INT32* size);
283 
284 TPM_RC TPMA_CC_Unmarshal(TPMA_CC* target, BYTE** buffer, INT32* size);
285 
286 UINT16 UINT8_Marshal(UINT8* source, BYTE** buffer, INT32* size);
287 
288 TPM_RC UINT8_Unmarshal(UINT8* target, BYTE** buffer, INT32* size);
289 
290 UINT16 TPMA_LOCALITY_Marshal(TPMA_LOCALITY* source, BYTE** buffer, INT32* size);
291 
292 TPM_RC TPMA_LOCALITY_Unmarshal(TPMA_LOCALITY* target,
293                                BYTE** buffer,
294                                INT32* size);
295 
296 UINT16 TPMA_MEMORY_Marshal(TPMA_MEMORY* source, BYTE** buffer, INT32* size);
297 
298 TPM_RC TPMA_MEMORY_Unmarshal(TPMA_MEMORY* target, BYTE** buffer, INT32* size);
299 
300 UINT16 TPMA_NV_Marshal(TPMA_NV* source, BYTE** buffer, INT32* size);
301 
302 TPM_RC TPMA_NV_Unmarshal(TPMA_NV* target, BYTE** buffer, INT32* size);
303 
304 UINT16 TPMA_OBJECT_Marshal(TPMA_OBJECT* source, BYTE** buffer, INT32* size);
305 
306 TPM_RC TPMA_OBJECT_Unmarshal(TPMA_OBJECT* target, BYTE** buffer, INT32* size);
307 
308 UINT16 TPMA_PERMANENT_Marshal(TPMA_PERMANENT* source,
309                               BYTE** buffer,
310                               INT32* size);
311 
312 TPM_RC TPMA_PERMANENT_Unmarshal(TPMA_PERMANENT* target,
313                                 BYTE** buffer,
314                                 INT32* size);
315 
316 UINT16 TPMA_SESSION_Marshal(TPMA_SESSION* source, BYTE** buffer, INT32* size);
317 
318 TPM_RC TPMA_SESSION_Unmarshal(TPMA_SESSION* target, BYTE** buffer, INT32* size);
319 
320 UINT16 TPMA_STARTUP_CLEAR_Marshal(TPMA_STARTUP_CLEAR* source,
321                                   BYTE** buffer,
322                                   INT32* size);
323 
324 TPM_RC TPMA_STARTUP_CLEAR_Unmarshal(TPMA_STARTUP_CLEAR* target,
325                                     BYTE** buffer,
326                                     INT32* size);
327 
328 UINT16 UINT16_Marshal(UINT16* source, BYTE** buffer, INT32* size);
329 
330 TPM_RC UINT16_Unmarshal(UINT16* target, BYTE** buffer, INT32* size);
331 
332 UINT16 TPM_KEY_BITS_Marshal(TPM_KEY_BITS* source, BYTE** buffer, INT32* size);
333 
334 TPM_RC TPM_KEY_BITS_Unmarshal(TPM_KEY_BITS* target, BYTE** buffer, INT32* size);
335 
336 UINT16 TPMI_AES_KEY_BITS_Marshal(TPMI_AES_KEY_BITS* source,
337                                  BYTE** buffer,
338                                  INT32* size);
339 
340 TPM_RC TPMI_AES_KEY_BITS_Unmarshal(TPMI_AES_KEY_BITS* target,
341                                    BYTE** buffer,
342                                    INT32* size);
343 
344 UINT16 TPM_ALG_ID_Marshal(TPM_ALG_ID* source, BYTE** buffer, INT32* size);
345 
346 TPM_RC TPM_ALG_ID_Unmarshal(TPM_ALG_ID* target, BYTE** buffer, INT32* size);
347 
348 UINT16 TPMI_ALG_ASYM_Marshal(TPMI_ALG_ASYM* source, BYTE** buffer, INT32* size);
349 
350 TPM_RC TPMI_ALG_ASYM_Unmarshal(TPMI_ALG_ASYM* target,
351                                BYTE** buffer,
352                                INT32* size,
353                                BOOL allow_conditioanl_value);
354 
355 UINT16 TPMI_ALG_ASYM_SCHEME_Marshal(TPMI_ALG_ASYM_SCHEME* source,
356                                     BYTE** buffer,
357                                     INT32* size);
358 
359 TPM_RC TPMI_ALG_ASYM_SCHEME_Unmarshal(TPMI_ALG_ASYM_SCHEME* target,
360                                       BYTE** buffer,
361                                       INT32* size,
362                                       BOOL allow_conditioanl_value);
363 
364 UINT16 TPMI_ALG_ECC_SCHEME_Marshal(TPMI_ALG_ECC_SCHEME* source,
365                                    BYTE** buffer,
366                                    INT32* size);
367 
368 TPM_RC TPMI_ALG_ECC_SCHEME_Unmarshal(TPMI_ALG_ECC_SCHEME* target,
369                                      BYTE** buffer,
370                                      INT32* size,
371                                      BOOL allow_conditioanl_value);
372 
373 UINT16 TPMI_ALG_HASH_Marshal(TPMI_ALG_HASH* source, BYTE** buffer, INT32* size);
374 
375 TPM_RC TPMI_ALG_HASH_Unmarshal(TPMI_ALG_HASH* target,
376                                BYTE** buffer,
377                                INT32* size,
378                                BOOL allow_conditioanl_value);
379 
380 UINT16 TPMI_ALG_KDF_Marshal(TPMI_ALG_KDF* source, BYTE** buffer, INT32* size);
381 
382 TPM_RC TPMI_ALG_KDF_Unmarshal(TPMI_ALG_KDF* target,
383                               BYTE** buffer,
384                               INT32* size,
385                               BOOL allow_conditioanl_value);
386 
387 UINT16 TPMI_ALG_KEYEDHASH_SCHEME_Marshal(TPMI_ALG_KEYEDHASH_SCHEME* source,
388                                          BYTE** buffer,
389                                          INT32* size);
390 
391 TPM_RC TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal(TPMI_ALG_KEYEDHASH_SCHEME* target,
392                                            BYTE** buffer,
393                                            INT32* size,
394                                            BOOL allow_conditioanl_value);
395 
396 UINT16 TPMI_ALG_PUBLIC_Marshal(TPMI_ALG_PUBLIC* source,
397                                BYTE** buffer,
398                                INT32* size);
399 
400 TPM_RC TPMI_ALG_PUBLIC_Unmarshal(TPMI_ALG_PUBLIC* target,
401                                  BYTE** buffer,
402                                  INT32* size);
403 
404 UINT16 TPMI_ALG_RSA_DECRYPT_Marshal(TPMI_ALG_RSA_DECRYPT* source,
405                                     BYTE** buffer,
406                                     INT32* size);
407 
408 TPM_RC TPMI_ALG_RSA_DECRYPT_Unmarshal(TPMI_ALG_RSA_DECRYPT* target,
409                                       BYTE** buffer,
410                                       INT32* size,
411                                       BOOL allow_conditioanl_value);
412 
413 UINT16 TPMI_ALG_RSA_SCHEME_Marshal(TPMI_ALG_RSA_SCHEME* source,
414                                    BYTE** buffer,
415                                    INT32* size);
416 
417 TPM_RC TPMI_ALG_RSA_SCHEME_Unmarshal(TPMI_ALG_RSA_SCHEME* target,
418                                      BYTE** buffer,
419                                      INT32* size,
420                                      BOOL allow_conditioanl_value);
421 
422 UINT16 TPMI_ALG_SIG_SCHEME_Marshal(TPMI_ALG_SIG_SCHEME* source,
423                                    BYTE** buffer,
424                                    INT32* size);
425 
426 TPM_RC TPMI_ALG_SIG_SCHEME_Unmarshal(TPMI_ALG_SIG_SCHEME* target,
427                                      BYTE** buffer,
428                                      INT32* size,
429                                      BOOL allow_conditioanl_value);
430 
431 UINT16 TPMI_ALG_SYM_Marshal(TPMI_ALG_SYM* source, BYTE** buffer, INT32* size);
432 
433 TPM_RC TPMI_ALG_SYM_Unmarshal(TPMI_ALG_SYM* target,
434                               BYTE** buffer,
435                               INT32* size,
436                               BOOL allow_conditioanl_value);
437 
438 UINT16 TPMI_ALG_SYM_MODE_Marshal(TPMI_ALG_SYM_MODE* source,
439                                  BYTE** buffer,
440                                  INT32* size);
441 
442 TPM_RC TPMI_ALG_SYM_MODE_Unmarshal(TPMI_ALG_SYM_MODE* target,
443                                    BYTE** buffer,
444                                    INT32* size,
445                                    BOOL allow_conditioanl_value);
446 
447 UINT16 TPMI_ALG_SYM_OBJECT_Marshal(TPMI_ALG_SYM_OBJECT* source,
448                                    BYTE** buffer,
449                                    INT32* size);
450 
451 TPM_RC TPMI_ALG_SYM_OBJECT_Unmarshal(TPMI_ALG_SYM_OBJECT* target,
452                                      BYTE** buffer,
453                                      INT32* size,
454                                      BOOL allow_conditioanl_value);
455 
456 UINT16 TPMI_CAMELLIA_KEY_BITS_Marshal(TPMI_CAMELLIA_KEY_BITS* source,
457                                       BYTE** buffer,
458                                       INT32* size);
459 
460 TPM_RC TPMI_CAMELLIA_KEY_BITS_Unmarshal(TPMI_CAMELLIA_KEY_BITS* target,
461                                         BYTE** buffer,
462                                         INT32* size);
463 
464 UINT16 TPM_HANDLE_Marshal(TPM_HANDLE* source, BYTE** buffer, INT32* size);
465 
466 TPM_RC TPM_HANDLE_Unmarshal(TPM_HANDLE* target, BYTE** buffer, INT32* size);
467 
468 UINT16 TPMI_DH_CONTEXT_Marshal(TPMI_DH_CONTEXT* source,
469                                BYTE** buffer,
470                                INT32* size);
471 
472 TPM_RC TPMI_DH_CONTEXT_Unmarshal(TPMI_DH_CONTEXT* target,
473                                  BYTE** buffer,
474                                  INT32* size);
475 
476 UINT16 TPMI_DH_ENTITY_Marshal(TPMI_DH_ENTITY* source,
477                               BYTE** buffer,
478                               INT32* size);
479 
480 TPM_RC TPMI_DH_ENTITY_Unmarshal(TPMI_DH_ENTITY* target,
481                                 BYTE** buffer,
482                                 INT32* size,
483                                 BOOL allow_conditioanl_value);
484 
485 UINT16 TPMI_DH_OBJECT_Marshal(TPMI_DH_OBJECT* source,
486                               BYTE** buffer,
487                               INT32* size);
488 
489 TPM_RC TPMI_DH_OBJECT_Unmarshal(TPMI_DH_OBJECT* target,
490                                 BYTE** buffer,
491                                 INT32* size,
492                                 BOOL allow_conditioanl_value);
493 
494 UINT16 TPMI_DH_PCR_Marshal(TPMI_DH_PCR* source, BYTE** buffer, INT32* size);
495 
496 TPM_RC TPMI_DH_PCR_Unmarshal(TPMI_DH_PCR* target,
497                              BYTE** buffer,
498                              INT32* size,
499                              BOOL allow_conditioanl_value);
500 
501 UINT16 TPMI_DH_PERSISTENT_Marshal(TPMI_DH_PERSISTENT* source,
502                                   BYTE** buffer,
503                                   INT32* size);
504 
505 TPM_RC TPMI_DH_PERSISTENT_Unmarshal(TPMI_DH_PERSISTENT* target,
506                                     BYTE** buffer,
507                                     INT32* size);
508 
509 UINT16 TPM_ECC_CURVE_Marshal(TPM_ECC_CURVE* source, BYTE** buffer, INT32* size);
510 
511 TPM_RC TPM_ECC_CURVE_Unmarshal(TPM_ECC_CURVE* target,
512                                BYTE** buffer,
513                                INT32* size);
514 
515 UINT16 TPMI_ECC_CURVE_Marshal(TPMI_ECC_CURVE* source,
516                               BYTE** buffer,
517                               INT32* size);
518 
519 TPM_RC TPMI_ECC_CURVE_Unmarshal(TPMI_ECC_CURVE* target,
520                                 BYTE** buffer,
521                                 INT32* size);
522 
523 UINT16 TPMI_ECC_KEY_EXCHANGE_Marshal(TPMI_ECC_KEY_EXCHANGE* source,
524                                      BYTE** buffer,
525                                      INT32* size);
526 
527 TPM_RC TPMI_ECC_KEY_EXCHANGE_Unmarshal(TPMI_ECC_KEY_EXCHANGE* target,
528                                        BYTE** buffer,
529                                        INT32* size,
530                                        BOOL allow_conditioanl_value);
531 
532 UINT16 TPMI_RH_CLEAR_Marshal(TPMI_RH_CLEAR* source, BYTE** buffer, INT32* size);
533 
534 TPM_RC TPMI_RH_CLEAR_Unmarshal(TPMI_RH_CLEAR* target,
535                                BYTE** buffer,
536                                INT32* size);
537 
538 UINT16 TPMI_RH_ENABLES_Marshal(TPMI_RH_ENABLES* source,
539                                BYTE** buffer,
540                                INT32* size);
541 
542 TPM_RC TPMI_RH_ENABLES_Unmarshal(TPMI_RH_ENABLES* target,
543                                  BYTE** buffer,
544                                  INT32* size,
545                                  BOOL allow_conditioanl_value);
546 
547 UINT16 TPMI_RH_ENDORSEMENT_Marshal(TPMI_RH_ENDORSEMENT* source,
548                                    BYTE** buffer,
549                                    INT32* size);
550 
551 TPM_RC TPMI_RH_ENDORSEMENT_Unmarshal(TPMI_RH_ENDORSEMENT* target,
552                                      BYTE** buffer,
553                                      INT32* size,
554                                      BOOL allow_conditioanl_value);
555 
556 UINT16 TPMI_RH_HIERARCHY_Marshal(TPMI_RH_HIERARCHY* source,
557                                  BYTE** buffer,
558                                  INT32* size);
559 
560 TPM_RC TPMI_RH_HIERARCHY_Unmarshal(TPMI_RH_HIERARCHY* target,
561                                    BYTE** buffer,
562                                    INT32* size,
563                                    BOOL allow_conditioanl_value);
564 
565 UINT16 TPMI_RH_HIERARCHY_AUTH_Marshal(TPMI_RH_HIERARCHY_AUTH* source,
566                                       BYTE** buffer,
567                                       INT32* size);
568 
569 TPM_RC TPMI_RH_HIERARCHY_AUTH_Unmarshal(TPMI_RH_HIERARCHY_AUTH* target,
570                                         BYTE** buffer,
571                                         INT32* size);
572 
573 UINT16 TPMI_RH_LOCKOUT_Marshal(TPMI_RH_LOCKOUT* source,
574                                BYTE** buffer,
575                                INT32* size);
576 
577 TPM_RC TPMI_RH_LOCKOUT_Unmarshal(TPMI_RH_LOCKOUT* target,
578                                  BYTE** buffer,
579                                  INT32* size);
580 
581 UINT16 TPMI_RH_NV_AUTH_Marshal(TPMI_RH_NV_AUTH* source,
582                                BYTE** buffer,
583                                INT32* size);
584 
585 TPM_RC TPMI_RH_NV_AUTH_Unmarshal(TPMI_RH_NV_AUTH* target,
586                                  BYTE** buffer,
587                                  INT32* size);
588 
589 UINT16 TPMI_RH_NV_INDEX_Marshal(TPMI_RH_NV_INDEX* source,
590                                 BYTE** buffer,
591                                 INT32* size);
592 
593 TPM_RC TPMI_RH_NV_INDEX_Unmarshal(TPMI_RH_NV_INDEX* target,
594                                   BYTE** buffer,
595                                   INT32* size);
596 
597 UINT16 TPMI_RH_OWNER_Marshal(TPMI_RH_OWNER* source, BYTE** buffer, INT32* size);
598 
599 TPM_RC TPMI_RH_OWNER_Unmarshal(TPMI_RH_OWNER* target,
600                                BYTE** buffer,
601                                INT32* size,
602                                BOOL allow_conditioanl_value);
603 
604 UINT16 TPMI_RH_PLATFORM_Marshal(TPMI_RH_PLATFORM* source,
605                                 BYTE** buffer,
606                                 INT32* size);
607 
608 TPM_RC TPMI_RH_PLATFORM_Unmarshal(TPMI_RH_PLATFORM* target,
609                                   BYTE** buffer,
610                                   INT32* size);
611 
612 UINT16 TPMI_RH_PROVISION_Marshal(TPMI_RH_PROVISION* source,
613                                  BYTE** buffer,
614                                  INT32* size);
615 
616 TPM_RC TPMI_RH_PROVISION_Unmarshal(TPMI_RH_PROVISION* target,
617                                    BYTE** buffer,
618                                    INT32* size);
619 
620 UINT16 TPMI_RSA_KEY_BITS_Marshal(TPMI_RSA_KEY_BITS* source,
621                                  BYTE** buffer,
622                                  INT32* size);
623 
624 TPM_RC TPMI_RSA_KEY_BITS_Unmarshal(TPMI_RSA_KEY_BITS* target,
625                                    BYTE** buffer,
626                                    INT32* size);
627 
628 UINT16 TPMI_SH_AUTH_SESSION_Marshal(TPMI_SH_AUTH_SESSION* source,
629                                     BYTE** buffer,
630                                     INT32* size);
631 
632 TPM_RC TPMI_SH_AUTH_SESSION_Unmarshal(TPMI_SH_AUTH_SESSION* target,
633                                       BYTE** buffer,
634                                       INT32* size,
635                                       BOOL allow_conditioanl_value);
636 
637 UINT16 TPMI_SH_HMAC_Marshal(TPMI_SH_HMAC* source, BYTE** buffer, INT32* size);
638 
639 TPM_RC TPMI_SH_HMAC_Unmarshal(TPMI_SH_HMAC* target, BYTE** buffer, INT32* size);
640 
641 UINT16 TPMI_SH_POLICY_Marshal(TPMI_SH_POLICY* source,
642                               BYTE** buffer,
643                               INT32* size);
644 
645 TPM_RC TPMI_SH_POLICY_Unmarshal(TPMI_SH_POLICY* target,
646                                 BYTE** buffer,
647                                 INT32* size);
648 
649 UINT16 TPMI_SM4_KEY_BITS_Marshal(TPMI_SM4_KEY_BITS* source,
650                                  BYTE** buffer,
651                                  INT32* size);
652 
653 TPM_RC TPMI_SM4_KEY_BITS_Unmarshal(TPMI_SM4_KEY_BITS* target,
654                                    BYTE** buffer,
655                                    INT32* size);
656 
657 UINT16 TPM_ST_Marshal(TPM_ST* source, BYTE** buffer, INT32* size);
658 
659 TPM_RC TPM_ST_Unmarshal(TPM_ST* target, BYTE** buffer, INT32* size);
660 
661 UINT16 TPMI_ST_ATTEST_Marshal(TPMI_ST_ATTEST* source,
662                               BYTE** buffer,
663                               INT32* size);
664 
665 TPM_RC TPMI_ST_ATTEST_Unmarshal(TPMI_ST_ATTEST* target,
666                                 BYTE** buffer,
667                                 INT32* size);
668 
669 UINT16 TPMI_ST_COMMAND_TAG_Marshal(TPMI_ST_COMMAND_TAG* source,
670                                    BYTE** buffer,
671                                    INT32* size);
672 
673 TPM_RC TPMI_ST_COMMAND_TAG_Unmarshal(TPMI_ST_COMMAND_TAG* target,
674                                      BYTE** buffer,
675                                      INT32* size);
676 
677 UINT16 TPMI_YES_NO_Marshal(TPMI_YES_NO* source, BYTE** buffer, INT32* size);
678 
679 TPM_RC TPMI_YES_NO_Unmarshal(TPMI_YES_NO* target, BYTE** buffer, INT32* size);
680 
681 UINT16 TPML_ALG_Marshal(TPML_ALG* source, BYTE** buffer, INT32* size);
682 
683 TPM_RC TPML_ALG_Unmarshal(TPML_ALG* target, BYTE** buffer, INT32* size);
684 
685 UINT16 TPML_ALG_PROPERTY_Marshal(TPML_ALG_PROPERTY* source,
686                                  BYTE** buffer,
687                                  INT32* size);
688 
689 TPM_RC TPML_ALG_PROPERTY_Unmarshal(TPML_ALG_PROPERTY* target,
690                                    BYTE** buffer,
691                                    INT32* size);
692 
693 UINT16 TPML_CC_Marshal(TPML_CC* source, BYTE** buffer, INT32* size);
694 
695 TPM_RC TPML_CC_Unmarshal(TPML_CC* target, BYTE** buffer, INT32* size);
696 
697 UINT16 TPML_CCA_Marshal(TPML_CCA* source, BYTE** buffer, INT32* size);
698 
699 TPM_RC TPML_CCA_Unmarshal(TPML_CCA* target, BYTE** buffer, INT32* size);
700 
701 UINT16 TPML_DIGEST_Marshal(TPML_DIGEST* source, BYTE** buffer, INT32* size);
702 
703 TPM_RC TPML_DIGEST_Unmarshal(TPML_DIGEST* target, BYTE** buffer, INT32* size);
704 
705 UINT16 TPML_DIGEST_VALUES_Marshal(TPML_DIGEST_VALUES* source,
706                                   BYTE** buffer,
707                                   INT32* size);
708 
709 TPM_RC TPML_DIGEST_VALUES_Unmarshal(TPML_DIGEST_VALUES* target,
710                                     BYTE** buffer,
711                                     INT32* size);
712 
713 UINT16 TPML_ECC_CURVE_Marshal(TPML_ECC_CURVE* source,
714                               BYTE** buffer,
715                               INT32* size);
716 
717 TPM_RC TPML_ECC_CURVE_Unmarshal(TPML_ECC_CURVE* target,
718                                 BYTE** buffer,
719                                 INT32* size);
720 
721 UINT16 TPML_HANDLE_Marshal(TPML_HANDLE* source, BYTE** buffer, INT32* size);
722 
723 TPM_RC TPML_HANDLE_Unmarshal(TPML_HANDLE* target, BYTE** buffer, INT32* size);
724 
725 UINT16 TPML_PCR_SELECTION_Marshal(TPML_PCR_SELECTION* source,
726                                   BYTE** buffer,
727                                   INT32* size);
728 
729 TPM_RC TPML_PCR_SELECTION_Unmarshal(TPML_PCR_SELECTION* target,
730                                     BYTE** buffer,
731                                     INT32* size);
732 
733 UINT16 TPML_TAGGED_PCR_PROPERTY_Marshal(TPML_TAGGED_PCR_PROPERTY* source,
734                                         BYTE** buffer,
735                                         INT32* size);
736 
737 TPM_RC TPML_TAGGED_PCR_PROPERTY_Unmarshal(TPML_TAGGED_PCR_PROPERTY* target,
738                                           BYTE** buffer,
739                                           INT32* size);
740 
741 UINT16 TPML_TAGGED_TPM_PROPERTY_Marshal(TPML_TAGGED_TPM_PROPERTY* source,
742                                         BYTE** buffer,
743                                         INT32* size);
744 
745 TPM_RC TPML_TAGGED_TPM_PROPERTY_Unmarshal(TPML_TAGGED_TPM_PROPERTY* target,
746                                           BYTE** buffer,
747                                           INT32* size);
748 
749 UINT16 TPMS_ALGORITHM_DESCRIPTION_Marshal(TPMS_ALGORITHM_DESCRIPTION* source,
750                                           BYTE** buffer,
751                                           INT32* size);
752 
753 TPM_RC TPMS_ALGORITHM_DESCRIPTION_Unmarshal(TPMS_ALGORITHM_DESCRIPTION* target,
754                                             BYTE** buffer,
755                                             INT32* size);
756 
757 UINT16 TPMS_ALGORITHM_DETAIL_ECC_Marshal(TPMS_ALGORITHM_DETAIL_ECC* source,
758                                          BYTE** buffer,
759                                          INT32* size);
760 
761 TPM_RC TPMS_ALGORITHM_DETAIL_ECC_Unmarshal(TPMS_ALGORITHM_DETAIL_ECC* target,
762                                            BYTE** buffer,
763                                            INT32* size);
764 
765 UINT16 TPMS_ALG_PROPERTY_Marshal(TPMS_ALG_PROPERTY* source,
766                                  BYTE** buffer,
767                                  INT32* size);
768 
769 TPM_RC TPMS_ALG_PROPERTY_Unmarshal(TPMS_ALG_PROPERTY* target,
770                                    BYTE** buffer,
771                                    INT32* size);
772 
773 UINT16 TPMS_ASYM_PARMS_Marshal(TPMS_ASYM_PARMS* source,
774                                BYTE** buffer,
775                                INT32* size);
776 
777 TPM_RC TPMS_ASYM_PARMS_Unmarshal(TPMS_ASYM_PARMS* target,
778                                  BYTE** buffer,
779                                  INT32* size);
780 
781 UINT16 TPMS_ATTEST_Marshal(TPMS_ATTEST* source, BYTE** buffer, INT32* size);
782 
783 TPM_RC TPMS_ATTEST_Unmarshal(TPMS_ATTEST* target, BYTE** buffer, INT32* size);
784 
785 UINT16 TPMS_AUTH_COMMAND_Marshal(TPMS_AUTH_COMMAND* source,
786                                  BYTE** buffer,
787                                  INT32* size);
788 
789 TPM_RC TPMS_AUTH_COMMAND_Unmarshal(TPMS_AUTH_COMMAND* target,
790                                    BYTE** buffer,
791                                    INT32* size);
792 
793 UINT16 TPMS_AUTH_RESPONSE_Marshal(TPMS_AUTH_RESPONSE* source,
794                                   BYTE** buffer,
795                                   INT32* size);
796 
797 TPM_RC TPMS_AUTH_RESPONSE_Unmarshal(TPMS_AUTH_RESPONSE* target,
798                                     BYTE** buffer,
799                                     INT32* size);
800 
801 UINT16 TPMS_CAPABILITY_DATA_Marshal(TPMS_CAPABILITY_DATA* source,
802                                     BYTE** buffer,
803                                     INT32* size);
804 
805 TPM_RC TPMS_CAPABILITY_DATA_Unmarshal(TPMS_CAPABILITY_DATA* target,
806                                       BYTE** buffer,
807                                       INT32* size);
808 
809 UINT16 TPMS_CERTIFY_INFO_Marshal(TPMS_CERTIFY_INFO* source,
810                                  BYTE** buffer,
811                                  INT32* size);
812 
813 TPM_RC TPMS_CERTIFY_INFO_Unmarshal(TPMS_CERTIFY_INFO* target,
814                                    BYTE** buffer,
815                                    INT32* size);
816 
817 UINT16 TPMS_CLOCK_INFO_Marshal(TPMS_CLOCK_INFO* source,
818                                BYTE** buffer,
819                                INT32* size);
820 
821 TPM_RC TPMS_CLOCK_INFO_Unmarshal(TPMS_CLOCK_INFO* target,
822                                  BYTE** buffer,
823                                  INT32* size);
824 
825 UINT16 TPMS_COMMAND_AUDIT_INFO_Marshal(TPMS_COMMAND_AUDIT_INFO* source,
826                                        BYTE** buffer,
827                                        INT32* size);
828 
829 TPM_RC TPMS_COMMAND_AUDIT_INFO_Unmarshal(TPMS_COMMAND_AUDIT_INFO* target,
830                                          BYTE** buffer,
831                                          INT32* size);
832 
833 UINT16 TPMS_CONTEXT_Marshal(TPMS_CONTEXT* source, BYTE** buffer, INT32* size);
834 
835 TPM_RC TPMS_CONTEXT_Unmarshal(TPMS_CONTEXT* target, BYTE** buffer, INT32* size);
836 
837 UINT16 TPMS_CONTEXT_DATA_Marshal(TPMS_CONTEXT_DATA* source,
838                                  BYTE** buffer,
839                                  INT32* size);
840 
841 TPM_RC TPMS_CONTEXT_DATA_Unmarshal(TPMS_CONTEXT_DATA* target,
842                                    BYTE** buffer,
843                                    INT32* size);
844 
845 UINT16 TPMS_CREATION_DATA_Marshal(TPMS_CREATION_DATA* source,
846                                   BYTE** buffer,
847                                   INT32* size);
848 
849 TPM_RC TPMS_CREATION_DATA_Unmarshal(TPMS_CREATION_DATA* target,
850                                     BYTE** buffer,
851                                     INT32* size);
852 
853 UINT16 TPMS_CREATION_INFO_Marshal(TPMS_CREATION_INFO* source,
854                                   BYTE** buffer,
855                                   INT32* size);
856 
857 TPM_RC TPMS_CREATION_INFO_Unmarshal(TPMS_CREATION_INFO* target,
858                                     BYTE** buffer,
859                                     INT32* size);
860 
861 UINT16 TPMS_ECC_PARMS_Marshal(TPMS_ECC_PARMS* source,
862                               BYTE** buffer,
863                               INT32* size);
864 
865 TPM_RC TPMS_ECC_PARMS_Unmarshal(TPMS_ECC_PARMS* target,
866                                 BYTE** buffer,
867                                 INT32* size);
868 
869 UINT16 TPMS_ECC_POINT_Marshal(TPMS_ECC_POINT* source,
870                               BYTE** buffer,
871                               INT32* size);
872 
873 TPM_RC TPMS_ECC_POINT_Unmarshal(TPMS_ECC_POINT* target,
874                                 BYTE** buffer,
875                                 INT32* size);
876 
877 UINT16 TPMS_EMPTY_Marshal(TPMS_EMPTY* source, BYTE** buffer, INT32* size);
878 
879 TPM_RC TPMS_EMPTY_Unmarshal(TPMS_EMPTY* target, BYTE** buffer, INT32* size);
880 
881 UINT16 TPMS_SCHEME_HASH_Marshal(TPMS_SCHEME_HASH* source,
882                                 BYTE** buffer,
883                                 INT32* size);
884 
885 TPM_RC TPMS_SCHEME_HASH_Unmarshal(TPMS_SCHEME_HASH* target,
886                                   BYTE** buffer,
887                                   INT32* size);
888 
889 UINT16 TPMS_ENC_SCHEME_OAEP_Marshal(TPMS_ENC_SCHEME_OAEP* source,
890                                     BYTE** buffer,
891                                     INT32* size);
892 
893 TPM_RC TPMS_ENC_SCHEME_OAEP_Unmarshal(TPMS_ENC_SCHEME_OAEP* target,
894                                       BYTE** buffer,
895                                       INT32* size);
896 
897 UINT16 TPMS_ENC_SCHEME_RSAES_Marshal(TPMS_ENC_SCHEME_RSAES* source,
898                                      BYTE** buffer,
899                                      INT32* size);
900 
901 TPM_RC TPMS_ENC_SCHEME_RSAES_Unmarshal(TPMS_ENC_SCHEME_RSAES* target,
902                                        BYTE** buffer,
903                                        INT32* size);
904 
905 UINT16 TPMS_KEYEDHASH_PARMS_Marshal(TPMS_KEYEDHASH_PARMS* source,
906                                     BYTE** buffer,
907                                     INT32* size);
908 
909 TPM_RC TPMS_KEYEDHASH_PARMS_Unmarshal(TPMS_KEYEDHASH_PARMS* target,
910                                       BYTE** buffer,
911                                       INT32* size);
912 
913 UINT16 TPMS_KEY_SCHEME_ECDH_Marshal(TPMS_KEY_SCHEME_ECDH* source,
914                                     BYTE** buffer,
915                                     INT32* size);
916 
917 TPM_RC TPMS_KEY_SCHEME_ECDH_Unmarshal(TPMS_KEY_SCHEME_ECDH* target,
918                                       BYTE** buffer,
919                                       INT32* size);
920 
921 UINT16 TPMS_KEY_SCHEME_ECMQV_Marshal(TPMS_KEY_SCHEME_ECMQV* source,
922                                      BYTE** buffer,
923                                      INT32* size);
924 
925 TPM_RC TPMS_KEY_SCHEME_ECMQV_Unmarshal(TPMS_KEY_SCHEME_ECMQV* target,
926                                        BYTE** buffer,
927                                        INT32* size);
928 
929 UINT16 TPMS_NV_CERTIFY_INFO_Marshal(TPMS_NV_CERTIFY_INFO* source,
930                                     BYTE** buffer,
931                                     INT32* size);
932 
933 TPM_RC TPMS_NV_CERTIFY_INFO_Unmarshal(TPMS_NV_CERTIFY_INFO* target,
934                                       BYTE** buffer,
935                                       INT32* size);
936 
937 UINT16 TPMS_NV_PUBLIC_Marshal(TPMS_NV_PUBLIC* source,
938                               BYTE** buffer,
939                               INT32* size);
940 
941 TPM_RC TPMS_NV_PUBLIC_Unmarshal(TPMS_NV_PUBLIC* target,
942                                 BYTE** buffer,
943                                 INT32* size);
944 
945 UINT16 TPMS_PCR_SELECT_Marshal(TPMS_PCR_SELECT* source,
946                                BYTE** buffer,
947                                INT32* size);
948 
949 TPM_RC TPMS_PCR_SELECT_Unmarshal(TPMS_PCR_SELECT* target,
950                                  BYTE** buffer,
951                                  INT32* size);
952 
953 UINT16 TPMS_PCR_SELECTION_Marshal(TPMS_PCR_SELECTION* source,
954                                   BYTE** buffer,
955                                   INT32* size);
956 
957 TPM_RC TPMS_PCR_SELECTION_Unmarshal(TPMS_PCR_SELECTION* target,
958                                     BYTE** buffer,
959                                     INT32* size);
960 
961 UINT16 TPMS_QUOTE_INFO_Marshal(TPMS_QUOTE_INFO* source,
962                                BYTE** buffer,
963                                INT32* size);
964 
965 TPM_RC TPMS_QUOTE_INFO_Unmarshal(TPMS_QUOTE_INFO* target,
966                                  BYTE** buffer,
967                                  INT32* size);
968 
969 UINT16 TPMS_RSA_PARMS_Marshal(TPMS_RSA_PARMS* source,
970                               BYTE** buffer,
971                               INT32* size);
972 
973 TPM_RC TPMS_RSA_PARMS_Unmarshal(TPMS_RSA_PARMS* target,
974                                 BYTE** buffer,
975                                 INT32* size);
976 
977 UINT16 TPMS_SCHEME_ECDAA_Marshal(TPMS_SCHEME_ECDAA* source,
978                                  BYTE** buffer,
979                                  INT32* size);
980 
981 TPM_RC TPMS_SCHEME_ECDAA_Unmarshal(TPMS_SCHEME_ECDAA* target,
982                                    BYTE** buffer,
983                                    INT32* size);
984 
985 UINT16 TPMS_SCHEME_HMAC_Marshal(TPMS_SCHEME_HMAC* source,
986                                 BYTE** buffer,
987                                 INT32* size);
988 
989 TPM_RC TPMS_SCHEME_HMAC_Unmarshal(TPMS_SCHEME_HMAC* target,
990                                   BYTE** buffer,
991                                   INT32* size);
992 
993 UINT16 TPMS_SCHEME_KDF1_SP800_108_Marshal(TPMS_SCHEME_KDF1_SP800_108* source,
994                                           BYTE** buffer,
995                                           INT32* size);
996 
997 TPM_RC TPMS_SCHEME_KDF1_SP800_108_Unmarshal(TPMS_SCHEME_KDF1_SP800_108* target,
998                                             BYTE** buffer,
999                                             INT32* size);
1000 
1001 UINT16 TPMS_SCHEME_KDF1_SP800_56A_Marshal(TPMS_SCHEME_KDF1_SP800_56A* source,
1002                                           BYTE** buffer,
1003                                           INT32* size);
1004 
1005 TPM_RC TPMS_SCHEME_KDF1_SP800_56A_Unmarshal(TPMS_SCHEME_KDF1_SP800_56A* target,
1006                                             BYTE** buffer,
1007                                             INT32* size);
1008 
1009 UINT16 TPMS_SCHEME_KDF2_Marshal(TPMS_SCHEME_KDF2* source,
1010                                 BYTE** buffer,
1011                                 INT32* size);
1012 
1013 TPM_RC TPMS_SCHEME_KDF2_Unmarshal(TPMS_SCHEME_KDF2* target,
1014                                   BYTE** buffer,
1015                                   INT32* size);
1016 
1017 UINT16 TPMS_SCHEME_MGF1_Marshal(TPMS_SCHEME_MGF1* source,
1018                                 BYTE** buffer,
1019                                 INT32* size);
1020 
1021 TPM_RC TPMS_SCHEME_MGF1_Unmarshal(TPMS_SCHEME_MGF1* target,
1022                                   BYTE** buffer,
1023                                   INT32* size);
1024 
1025 UINT16 TPMS_SCHEME_XOR_Marshal(TPMS_SCHEME_XOR* source,
1026                                BYTE** buffer,
1027                                INT32* size);
1028 
1029 TPM_RC TPMS_SCHEME_XOR_Unmarshal(TPMS_SCHEME_XOR* target,
1030                                  BYTE** buffer,
1031                                  INT32* size);
1032 
1033 UINT16 TPMS_SENSITIVE_CREATE_Marshal(TPMS_SENSITIVE_CREATE* source,
1034                                      BYTE** buffer,
1035                                      INT32* size);
1036 
1037 TPM_RC TPMS_SENSITIVE_CREATE_Unmarshal(TPMS_SENSITIVE_CREATE* target,
1038                                        BYTE** buffer,
1039                                        INT32* size);
1040 
1041 UINT16 TPMS_SESSION_AUDIT_INFO_Marshal(TPMS_SESSION_AUDIT_INFO* source,
1042                                        BYTE** buffer,
1043                                        INT32* size);
1044 
1045 TPM_RC TPMS_SESSION_AUDIT_INFO_Unmarshal(TPMS_SESSION_AUDIT_INFO* target,
1046                                          BYTE** buffer,
1047                                          INT32* size);
1048 
1049 UINT16 TPMS_SIGNATURE_ECC_Marshal(TPMS_SIGNATURE_ECC* source,
1050                                   BYTE** buffer,
1051                                   INT32* size);
1052 
1053 TPM_RC TPMS_SIGNATURE_ECC_Unmarshal(TPMS_SIGNATURE_ECC* target,
1054                                     BYTE** buffer,
1055                                     INT32* size);
1056 
1057 UINT16 TPMS_SIGNATURE_ECDAA_Marshal(TPMS_SIGNATURE_ECDAA* source,
1058                                     BYTE** buffer,
1059                                     INT32* size);
1060 
1061 TPM_RC TPMS_SIGNATURE_ECDAA_Unmarshal(TPMS_SIGNATURE_ECDAA* target,
1062                                       BYTE** buffer,
1063                                       INT32* size);
1064 
1065 UINT16 TPMS_SIGNATURE_ECDSA_Marshal(TPMS_SIGNATURE_ECDSA* source,
1066                                     BYTE** buffer,
1067                                     INT32* size);
1068 
1069 TPM_RC TPMS_SIGNATURE_ECDSA_Unmarshal(TPMS_SIGNATURE_ECDSA* target,
1070                                       BYTE** buffer,
1071                                       INT32* size);
1072 
1073 UINT16 TPMS_SIGNATURE_ECSCHNORR_Marshal(TPMS_SIGNATURE_ECSCHNORR* source,
1074                                         BYTE** buffer,
1075                                         INT32* size);
1076 
1077 TPM_RC TPMS_SIGNATURE_ECSCHNORR_Unmarshal(TPMS_SIGNATURE_ECSCHNORR* target,
1078                                           BYTE** buffer,
1079                                           INT32* size);
1080 
1081 UINT16 TPMS_SIGNATURE_RSA_Marshal(TPMS_SIGNATURE_RSA* source,
1082                                   BYTE** buffer,
1083                                   INT32* size);
1084 
1085 TPM_RC TPMS_SIGNATURE_RSA_Unmarshal(TPMS_SIGNATURE_RSA* target,
1086                                     BYTE** buffer,
1087                                     INT32* size);
1088 
1089 UINT16 TPMS_SIGNATURE_RSAPSS_Marshal(TPMS_SIGNATURE_RSAPSS* source,
1090                                      BYTE** buffer,
1091                                      INT32* size);
1092 
1093 TPM_RC TPMS_SIGNATURE_RSAPSS_Unmarshal(TPMS_SIGNATURE_RSAPSS* target,
1094                                        BYTE** buffer,
1095                                        INT32* size);
1096 
1097 UINT16 TPMS_SIGNATURE_RSASSA_Marshal(TPMS_SIGNATURE_RSASSA* source,
1098                                      BYTE** buffer,
1099                                      INT32* size);
1100 
1101 TPM_RC TPMS_SIGNATURE_RSASSA_Unmarshal(TPMS_SIGNATURE_RSASSA* target,
1102                                        BYTE** buffer,
1103                                        INT32* size);
1104 
1105 UINT16 TPMS_SIGNATURE_SM2_Marshal(TPMS_SIGNATURE_SM2* source,
1106                                   BYTE** buffer,
1107                                   INT32* size);
1108 
1109 TPM_RC TPMS_SIGNATURE_SM2_Unmarshal(TPMS_SIGNATURE_SM2* target,
1110                                     BYTE** buffer,
1111                                     INT32* size);
1112 
1113 UINT16 TPMS_SIG_SCHEME_ECDAA_Marshal(TPMS_SIG_SCHEME_ECDAA* source,
1114                                      BYTE** buffer,
1115                                      INT32* size);
1116 
1117 TPM_RC TPMS_SIG_SCHEME_ECDAA_Unmarshal(TPMS_SIG_SCHEME_ECDAA* target,
1118                                        BYTE** buffer,
1119                                        INT32* size);
1120 
1121 UINT16 TPMS_SIG_SCHEME_ECDSA_Marshal(TPMS_SIG_SCHEME_ECDSA* source,
1122                                      BYTE** buffer,
1123                                      INT32* size);
1124 
1125 TPM_RC TPMS_SIG_SCHEME_ECDSA_Unmarshal(TPMS_SIG_SCHEME_ECDSA* target,
1126                                        BYTE** buffer,
1127                                        INT32* size);
1128 
1129 UINT16 TPMS_SIG_SCHEME_ECSCHNORR_Marshal(TPMS_SIG_SCHEME_ECSCHNORR* source,
1130                                          BYTE** buffer,
1131                                          INT32* size);
1132 
1133 TPM_RC TPMS_SIG_SCHEME_ECSCHNORR_Unmarshal(TPMS_SIG_SCHEME_ECSCHNORR* target,
1134                                            BYTE** buffer,
1135                                            INT32* size);
1136 
1137 UINT16 TPMS_SIG_SCHEME_RSAPSS_Marshal(TPMS_SIG_SCHEME_RSAPSS* source,
1138                                       BYTE** buffer,
1139                                       INT32* size);
1140 
1141 TPM_RC TPMS_SIG_SCHEME_RSAPSS_Unmarshal(TPMS_SIG_SCHEME_RSAPSS* target,
1142                                         BYTE** buffer,
1143                                         INT32* size);
1144 
1145 UINT16 TPMS_SIG_SCHEME_RSASSA_Marshal(TPMS_SIG_SCHEME_RSASSA* source,
1146                                       BYTE** buffer,
1147                                       INT32* size);
1148 
1149 TPM_RC TPMS_SIG_SCHEME_RSASSA_Unmarshal(TPMS_SIG_SCHEME_RSASSA* target,
1150                                         BYTE** buffer,
1151                                         INT32* size);
1152 
1153 UINT16 TPMS_SIG_SCHEME_SM2_Marshal(TPMS_SIG_SCHEME_SM2* source,
1154                                    BYTE** buffer,
1155                                    INT32* size);
1156 
1157 TPM_RC TPMS_SIG_SCHEME_SM2_Unmarshal(TPMS_SIG_SCHEME_SM2* target,
1158                                      BYTE** buffer,
1159                                      INT32* size);
1160 
1161 UINT16 TPMS_SYMCIPHER_PARMS_Marshal(TPMS_SYMCIPHER_PARMS* source,
1162                                     BYTE** buffer,
1163                                     INT32* size);
1164 
1165 TPM_RC TPMS_SYMCIPHER_PARMS_Unmarshal(TPMS_SYMCIPHER_PARMS* target,
1166                                       BYTE** buffer,
1167                                       INT32* size);
1168 
1169 UINT16 TPMS_TAGGED_PCR_SELECT_Marshal(TPMS_TAGGED_PCR_SELECT* source,
1170                                       BYTE** buffer,
1171                                       INT32* size);
1172 
1173 TPM_RC TPMS_TAGGED_PCR_SELECT_Unmarshal(TPMS_TAGGED_PCR_SELECT* target,
1174                                         BYTE** buffer,
1175                                         INT32* size);
1176 
1177 UINT16 TPMS_TAGGED_PROPERTY_Marshal(TPMS_TAGGED_PROPERTY* source,
1178                                     BYTE** buffer,
1179                                     INT32* size);
1180 
1181 TPM_RC TPMS_TAGGED_PROPERTY_Unmarshal(TPMS_TAGGED_PROPERTY* target,
1182                                       BYTE** buffer,
1183                                       INT32* size);
1184 
1185 UINT16 TPMS_TIME_ATTEST_INFO_Marshal(TPMS_TIME_ATTEST_INFO* source,
1186                                      BYTE** buffer,
1187                                      INT32* size);
1188 
1189 TPM_RC TPMS_TIME_ATTEST_INFO_Unmarshal(TPMS_TIME_ATTEST_INFO* target,
1190                                        BYTE** buffer,
1191                                        INT32* size);
1192 
1193 UINT16 TPMS_TIME_INFO_Marshal(TPMS_TIME_INFO* source,
1194                               BYTE** buffer,
1195                               INT32* size);
1196 
1197 TPM_RC TPMS_TIME_INFO_Unmarshal(TPMS_TIME_INFO* target,
1198                                 BYTE** buffer,
1199                                 INT32* size);
1200 
1201 UINT16 TPMT_ASYM_SCHEME_Marshal(TPMT_ASYM_SCHEME* source,
1202                                 BYTE** buffer,
1203                                 INT32* size);
1204 
1205 TPM_RC TPMT_ASYM_SCHEME_Unmarshal(TPMT_ASYM_SCHEME* target,
1206                                   BYTE** buffer,
1207                                   INT32* size);
1208 
1209 UINT16 TPMT_ECC_SCHEME_Marshal(TPMT_ECC_SCHEME* source,
1210                                BYTE** buffer,
1211                                INT32* size);
1212 
1213 TPM_RC TPMT_ECC_SCHEME_Unmarshal(TPMT_ECC_SCHEME* target,
1214                                  BYTE** buffer,
1215                                  INT32* size);
1216 
1217 UINT16 TPMT_HA_Marshal(TPMT_HA* source, BYTE** buffer, INT32* size);
1218 
1219 TPM_RC TPMT_HA_Unmarshal(TPMT_HA* target, BYTE** buffer, INT32* size);
1220 
1221 UINT16 TPMT_KDF_SCHEME_Marshal(TPMT_KDF_SCHEME* source,
1222                                BYTE** buffer,
1223                                INT32* size);
1224 
1225 TPM_RC TPMT_KDF_SCHEME_Unmarshal(TPMT_KDF_SCHEME* target,
1226                                  BYTE** buffer,
1227                                  INT32* size);
1228 
1229 UINT16 TPMT_KEYEDHASH_SCHEME_Marshal(TPMT_KEYEDHASH_SCHEME* source,
1230                                      BYTE** buffer,
1231                                      INT32* size);
1232 
1233 TPM_RC TPMT_KEYEDHASH_SCHEME_Unmarshal(TPMT_KEYEDHASH_SCHEME* target,
1234                                        BYTE** buffer,
1235                                        INT32* size);
1236 
1237 UINT16 TPMT_PUBLIC_Marshal(TPMT_PUBLIC* source, BYTE** buffer, INT32* size);
1238 
1239 TPM_RC TPMT_PUBLIC_Unmarshal(TPMT_PUBLIC* target, BYTE** buffer, INT32* size);
1240 
1241 UINT16 TPMT_PUBLIC_PARMS_Marshal(TPMT_PUBLIC_PARMS* source,
1242                                  BYTE** buffer,
1243                                  INT32* size);
1244 
1245 TPM_RC TPMT_PUBLIC_PARMS_Unmarshal(TPMT_PUBLIC_PARMS* target,
1246                                    BYTE** buffer,
1247                                    INT32* size);
1248 
1249 UINT16 TPMT_RSA_DECRYPT_Marshal(TPMT_RSA_DECRYPT* source,
1250                                 BYTE** buffer,
1251                                 INT32* size);
1252 
1253 TPM_RC TPMT_RSA_DECRYPT_Unmarshal(TPMT_RSA_DECRYPT* target,
1254                                   BYTE** buffer,
1255                                   INT32* size);
1256 
1257 UINT16 TPMT_RSA_SCHEME_Marshal(TPMT_RSA_SCHEME* source,
1258                                BYTE** buffer,
1259                                INT32* size);
1260 
1261 TPM_RC TPMT_RSA_SCHEME_Unmarshal(TPMT_RSA_SCHEME* target,
1262                                  BYTE** buffer,
1263                                  INT32* size);
1264 
1265 UINT16 TPMT_SENSITIVE_Marshal(TPMT_SENSITIVE* source,
1266                               BYTE** buffer,
1267                               INT32* size);
1268 
1269 TPM_RC TPMT_SENSITIVE_Unmarshal(TPMT_SENSITIVE* target,
1270                                 BYTE** buffer,
1271                                 INT32* size);
1272 
1273 UINT16 TPMT_SIGNATURE_Marshal(TPMT_SIGNATURE* source,
1274                               BYTE** buffer,
1275                               INT32* size);
1276 
1277 TPM_RC TPMT_SIGNATURE_Unmarshal(TPMT_SIGNATURE* target,
1278                                 BYTE** buffer,
1279                                 INT32* size);
1280 
1281 UINT16 TPMT_SIG_SCHEME_Marshal(TPMT_SIG_SCHEME* source,
1282                                BYTE** buffer,
1283                                INT32* size);
1284 
1285 TPM_RC TPMT_SIG_SCHEME_Unmarshal(TPMT_SIG_SCHEME* target,
1286                                  BYTE** buffer,
1287                                  INT32* size);
1288 
1289 UINT16 TPMT_SYM_DEF_Marshal(TPMT_SYM_DEF* source, BYTE** buffer, INT32* size);
1290 
1291 TPM_RC TPMT_SYM_DEF_Unmarshal(TPMT_SYM_DEF* target, BYTE** buffer, INT32* size);
1292 
1293 UINT16 TPMT_SYM_DEF_OBJECT_Marshal(TPMT_SYM_DEF_OBJECT* source,
1294                                    BYTE** buffer,
1295                                    INT32* size);
1296 
1297 TPM_RC TPMT_SYM_DEF_OBJECT_Unmarshal(TPMT_SYM_DEF_OBJECT* target,
1298                                      BYTE** buffer,
1299                                      INT32* size);
1300 
1301 UINT16 TPMT_TK_AUTH_Marshal(TPMT_TK_AUTH* source, BYTE** buffer, INT32* size);
1302 
1303 TPM_RC TPMT_TK_AUTH_Unmarshal(TPMT_TK_AUTH* target, BYTE** buffer, INT32* size);
1304 
1305 UINT16 TPMT_TK_CREATION_Marshal(TPMT_TK_CREATION* source,
1306                                 BYTE** buffer,
1307                                 INT32* size);
1308 
1309 TPM_RC TPMT_TK_CREATION_Unmarshal(TPMT_TK_CREATION* target,
1310                                   BYTE** buffer,
1311                                   INT32* size);
1312 
1313 UINT16 TPMT_TK_HASHCHECK_Marshal(TPMT_TK_HASHCHECK* source,
1314                                  BYTE** buffer,
1315                                  INT32* size);
1316 
1317 TPM_RC TPMT_TK_HASHCHECK_Unmarshal(TPMT_TK_HASHCHECK* target,
1318                                    BYTE** buffer,
1319                                    INT32* size);
1320 
1321 UINT16 TPMT_TK_VERIFIED_Marshal(TPMT_TK_VERIFIED* source,
1322                                 BYTE** buffer,
1323                                 INT32* size);
1324 
1325 TPM_RC TPMT_TK_VERIFIED_Unmarshal(TPMT_TK_VERIFIED* target,
1326                                   BYTE** buffer,
1327                                   INT32* size);
1328 
1329 UINT16 TPMU_ASYM_SCHEME_Marshal(TPMU_ASYM_SCHEME* source,
1330                                 BYTE** buffer,
1331                                 INT32* size,
1332                                 UINT32 selector);
1333 
1334 TPM_RC TPMU_ASYM_SCHEME_Unmarshal(TPMU_ASYM_SCHEME* target,
1335                                   BYTE** buffer,
1336                                   INT32* size,
1337                                   UINT32 selector);
1338 
1339 UINT16 TPMU_ATTEST_Marshal(TPMU_ATTEST* source,
1340                            BYTE** buffer,
1341                            INT32* size,
1342                            UINT32 selector);
1343 
1344 TPM_RC TPMU_ATTEST_Unmarshal(TPMU_ATTEST* target,
1345                              BYTE** buffer,
1346                              INT32* size,
1347                              UINT32 selector);
1348 
1349 UINT16 TPMU_CAPABILITIES_Marshal(TPMU_CAPABILITIES* source,
1350                                  BYTE** buffer,
1351                                  INT32* size,
1352                                  UINT32 selector);
1353 
1354 TPM_RC TPMU_CAPABILITIES_Unmarshal(TPMU_CAPABILITIES* target,
1355                                    BYTE** buffer,
1356                                    INT32* size,
1357                                    UINT32 selector);
1358 
1359 UINT16 TPMU_HA_Marshal(TPMU_HA* source,
1360                        BYTE** buffer,
1361                        INT32* size,
1362                        UINT32 selector);
1363 
1364 TPM_RC TPMU_HA_Unmarshal(TPMU_HA* target,
1365                          BYTE** buffer,
1366                          INT32* size,
1367                          UINT32 selector);
1368 
1369 UINT16 TPMU_KDF_SCHEME_Marshal(TPMU_KDF_SCHEME* source,
1370                                BYTE** buffer,
1371                                INT32* size,
1372                                UINT32 selector);
1373 
1374 TPM_RC TPMU_KDF_SCHEME_Unmarshal(TPMU_KDF_SCHEME* target,
1375                                  BYTE** buffer,
1376                                  INT32* size,
1377                                  UINT32 selector);
1378 
1379 UINT16 TPMU_PUBLIC_ID_Marshal(TPMU_PUBLIC_ID* source,
1380                               BYTE** buffer,
1381                               INT32* size,
1382                               UINT32 selector);
1383 
1384 TPM_RC TPMU_PUBLIC_ID_Unmarshal(TPMU_PUBLIC_ID* target,
1385                                 BYTE** buffer,
1386                                 INT32* size,
1387                                 UINT32 selector);
1388 
1389 UINT16 TPMU_PUBLIC_PARMS_Marshal(TPMU_PUBLIC_PARMS* source,
1390                                  BYTE** buffer,
1391                                  INT32* size,
1392                                  UINT32 selector);
1393 
1394 TPM_RC TPMU_PUBLIC_PARMS_Unmarshal(TPMU_PUBLIC_PARMS* target,
1395                                    BYTE** buffer,
1396                                    INT32* size,
1397                                    UINT32 selector);
1398 
1399 UINT16 TPMU_SCHEME_KEYEDHASH_Marshal(TPMU_SCHEME_KEYEDHASH* source,
1400                                      BYTE** buffer,
1401                                      INT32* size,
1402                                      UINT32 selector);
1403 
1404 TPM_RC TPMU_SCHEME_KEYEDHASH_Unmarshal(TPMU_SCHEME_KEYEDHASH* target,
1405                                        BYTE** buffer,
1406                                        INT32* size,
1407                                        UINT32 selector);
1408 
1409 UINT16 TPMU_SENSITIVE_COMPOSITE_Marshal(TPMU_SENSITIVE_COMPOSITE* source,
1410                                         BYTE** buffer,
1411                                         INT32* size,
1412                                         UINT32 selector);
1413 
1414 TPM_RC TPMU_SENSITIVE_COMPOSITE_Unmarshal(TPMU_SENSITIVE_COMPOSITE* target,
1415                                           BYTE** buffer,
1416                                           INT32* size,
1417                                           UINT32 selector);
1418 
1419 UINT16 TPMU_SIGNATURE_Marshal(TPMU_SIGNATURE* source,
1420                               BYTE** buffer,
1421                               INT32* size,
1422                               UINT32 selector);
1423 
1424 TPM_RC TPMU_SIGNATURE_Unmarshal(TPMU_SIGNATURE* target,
1425                                 BYTE** buffer,
1426                                 INT32* size,
1427                                 UINT32 selector);
1428 
1429 UINT16 TPMU_SIG_SCHEME_Marshal(TPMU_SIG_SCHEME* source,
1430                                BYTE** buffer,
1431                                INT32* size,
1432                                UINT32 selector);
1433 
1434 TPM_RC TPMU_SIG_SCHEME_Unmarshal(TPMU_SIG_SCHEME* target,
1435                                  BYTE** buffer,
1436                                  INT32* size,
1437                                  UINT32 selector);
1438 
1439 UINT16 TPMU_SYM_DETAILS_Marshal(TPMU_SYM_DETAILS* source,
1440                                 BYTE** buffer,
1441                                 INT32* size,
1442                                 UINT32 selector);
1443 
1444 TPM_RC TPMU_SYM_DETAILS_Unmarshal(TPMU_SYM_DETAILS* target,
1445                                   BYTE** buffer,
1446                                   INT32* size,
1447                                   UINT32 selector);
1448 
1449 UINT16 TPMU_SYM_KEY_BITS_Marshal(TPMU_SYM_KEY_BITS* source,
1450                                  BYTE** buffer,
1451                                  INT32* size,
1452                                  UINT32 selector);
1453 
1454 TPM_RC TPMU_SYM_KEY_BITS_Unmarshal(TPMU_SYM_KEY_BITS* target,
1455                                    BYTE** buffer,
1456                                    INT32* size,
1457                                    UINT32 selector);
1458 
1459 UINT16 TPMU_SYM_MODE_Marshal(TPMU_SYM_MODE* source,
1460                              BYTE** buffer,
1461                              INT32* size,
1462                              UINT32 selector);
1463 
1464 TPM_RC TPMU_SYM_MODE_Unmarshal(TPMU_SYM_MODE* target,
1465                                BYTE** buffer,
1466                                INT32* size,
1467                                UINT32 selector);
1468 
1469 UINT16 TPM_ALGORITHM_ID_Marshal(TPM_ALGORITHM_ID* source,
1470                                 BYTE** buffer,
1471                                 INT32* size);
1472 
1473 TPM_RC TPM_ALGORITHM_ID_Unmarshal(TPM_ALGORITHM_ID* target,
1474                                   BYTE** buffer,
1475                                   INT32* size);
1476 
1477 UINT16 TPM_AUTHORIZATION_SIZE_Marshal(TPM_AUTHORIZATION_SIZE* source,
1478                                       BYTE** buffer,
1479                                       INT32* size);
1480 
1481 TPM_RC TPM_AUTHORIZATION_SIZE_Unmarshal(TPM_AUTHORIZATION_SIZE* target,
1482                                         BYTE** buffer,
1483                                         INT32* size);
1484 
1485 UINT16 TPM_CAP_Marshal(TPM_CAP* source, BYTE** buffer, INT32* size);
1486 
1487 TPM_RC TPM_CAP_Unmarshal(TPM_CAP* target, BYTE** buffer, INT32* size);
1488 
1489 UINT16 TPM_CLOCK_ADJUST_Marshal(TPM_CLOCK_ADJUST* source,
1490                                 BYTE** buffer,
1491                                 INT32* size);
1492 
1493 TPM_RC TPM_CLOCK_ADJUST_Unmarshal(TPM_CLOCK_ADJUST* target,
1494                                   BYTE** buffer,
1495                                   INT32* size);
1496 
1497 UINT16 TPM_EO_Marshal(TPM_EO* source, BYTE** buffer, INT32* size);
1498 
1499 TPM_RC TPM_EO_Unmarshal(TPM_EO* target, BYTE** buffer, INT32* size);
1500 
1501 UINT16 TPM_GENERATED_Marshal(TPM_GENERATED* source, BYTE** buffer, INT32* size);
1502 
1503 TPM_RC TPM_GENERATED_Unmarshal(TPM_GENERATED* target,
1504                                BYTE** buffer,
1505                                INT32* size);
1506 
1507 UINT16 TPM_HC_Marshal(TPM_HC* source, BYTE** buffer, INT32* size);
1508 
1509 TPM_RC TPM_HC_Unmarshal(TPM_HC* target, BYTE** buffer, INT32* size);
1510 
1511 UINT16 TPM_HT_Marshal(TPM_HT* source, BYTE** buffer, INT32* size);
1512 
1513 TPM_RC TPM_HT_Unmarshal(TPM_HT* target, BYTE** buffer, INT32* size);
1514 
1515 UINT16 TPM_KEY_SIZE_Marshal(TPM_KEY_SIZE* source, BYTE** buffer, INT32* size);
1516 
1517 TPM_RC TPM_KEY_SIZE_Unmarshal(TPM_KEY_SIZE* target, BYTE** buffer, INT32* size);
1518 
1519 UINT16 TPM_MODIFIER_INDICATOR_Marshal(TPM_MODIFIER_INDICATOR* source,
1520                                       BYTE** buffer,
1521                                       INT32* size);
1522 
1523 TPM_RC TPM_MODIFIER_INDICATOR_Unmarshal(TPM_MODIFIER_INDICATOR* target,
1524                                         BYTE** buffer,
1525                                         INT32* size);
1526 
1527 UINT16 TPM_NV_INDEX_Marshal(TPM_NV_INDEX* source, BYTE** buffer, INT32* size);
1528 
1529 TPM_RC TPM_NV_INDEX_Unmarshal(TPM_NV_INDEX* target, BYTE** buffer, INT32* size);
1530 
1531 UINT16 TPM_PARAMETER_SIZE_Marshal(TPM_PARAMETER_SIZE* source,
1532                                   BYTE** buffer,
1533                                   INT32* size);
1534 
1535 TPM_RC TPM_PARAMETER_SIZE_Unmarshal(TPM_PARAMETER_SIZE* target,
1536                                     BYTE** buffer,
1537                                     INT32* size);
1538 
1539 UINT16 TPM_PS_Marshal(TPM_PS* source, BYTE** buffer, INT32* size);
1540 
1541 TPM_RC TPM_PS_Unmarshal(TPM_PS* target, BYTE** buffer, INT32* size);
1542 
1543 UINT16 TPM_PT_Marshal(TPM_PT* source, BYTE** buffer, INT32* size);
1544 
1545 TPM_RC TPM_PT_Unmarshal(TPM_PT* target, BYTE** buffer, INT32* size);
1546 
1547 UINT16 TPM_PT_PCR_Marshal(TPM_PT_PCR* source, BYTE** buffer, INT32* size);
1548 
1549 TPM_RC TPM_PT_PCR_Unmarshal(TPM_PT_PCR* target, BYTE** buffer, INT32* size);
1550 
1551 UINT16 TPM_RC_Marshal(TPM_RC* source, BYTE** buffer, INT32* size);
1552 
1553 TPM_RC TPM_RC_Unmarshal(TPM_RC* target, BYTE** buffer, INT32* size);
1554 
1555 UINT16 TPM_RH_Marshal(TPM_RH* source, BYTE** buffer, INT32* size);
1556 
1557 TPM_RC TPM_RH_Unmarshal(TPM_RH* target, BYTE** buffer, INT32* size);
1558 
1559 UINT16 TPM_SE_Marshal(TPM_SE* source, BYTE** buffer, INT32* size);
1560 
1561 TPM_RC TPM_SE_Unmarshal(TPM_SE* target, BYTE** buffer, INT32* size);
1562 
1563 UINT16 TPM_SPEC_Marshal(TPM_SPEC* source, BYTE** buffer, INT32* size);
1564 
1565 TPM_RC TPM_SPEC_Unmarshal(TPM_SPEC* target, BYTE** buffer, INT32* size);
1566 
1567 UINT16 TPM_SU_Marshal(TPM_SU* source, BYTE** buffer, INT32* size);
1568 
1569 TPM_RC TPM_SU_Unmarshal(TPM_SU* target, BYTE** buffer, INT32* size);
1570 
1571 UINT16 UINT64_Marshal(UINT64* source, BYTE** buffer, INT32* size);
1572 
1573 TPM_RC UINT64_Unmarshal(UINT64* target, BYTE** buffer, INT32* size);
1574 
1575 UINT16 _ID_OBJECT_Marshal(_ID_OBJECT* source, BYTE** buffer, INT32* size);
1576 
1577 TPM_RC _ID_OBJECT_Unmarshal(_ID_OBJECT* target, BYTE** buffer, INT32* size);
1578 
1579 UINT16 _PRIVATE_Marshal(_PRIVATE* source, BYTE** buffer, INT32* size);
1580 
1581 TPM_RC _PRIVATE_Unmarshal(_PRIVATE* target, BYTE** buffer, INT32* size);
1582 
1583 #endif  // TPM2_TPM_GENERATED_H_
1584