Home | History | Annotate | Download | only in tpm2
      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