1 /* Microsoft Reference Implementation for TPM 2.0 2 * 3 * The copyright in this software is being made available under the BSD License, 4 * included below. This software may be subject to other third party and 5 * contributor rights, including patent rights, and no such rights are granted 6 * under this license. 7 * 8 * Copyright (c) Microsoft Corporation 9 * 10 * All rights reserved. 11 * 12 * BSD License 13 * 14 * Redistribution and use in source and binary forms, with or without modification, 15 * are permitted provided that the following conditions are met: 16 * 17 * Redistributions of source code must retain the above copyright notice, this list 18 * of conditions and the following disclaimer. 19 * 20 * Redistributions in binary form must reproduce the above copyright notice, this 21 * list of conditions and the following disclaimer in the documentation and/or 22 * other materials provided with the distribution. 23 * 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 28 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 29 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 30 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 31 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 */ 35 /*(Auto-generated) 36 * Created by NewMarshal; Version 1.4 Apr 7, 2019 37 * Date: Mar 6, 2020 Time: 01:50:10PM 38 */ 39 40 #ifndef _TABLE_MARSHAL_TYPES_H_ 41 #define _TABLE_MARSHAL_TYPES_H_ 42 43 typedef UINT16 marshalIndex_t; 44 45 //*** Structure Entries 46 // A structure contains a list of elements to unmarshal. Each of the entries is a 47 // UINT16. The structure descriptor is: 48 49 // The 'values' array contains indicators for the things to marshal. The 'elements' 50 // parameter indicates how many different entities are unmarshaled. This number 51 // nominally corresponds to the number of rows in the Part 2 table that describes 52 // the structure (the number of rows minus the title row and any error code rows). 53 54 // A schematic of a simple structure entry is shown here but the values are not 55 // actually in a structure. As shown, the third value is the offset in the structure 56 // where the value is placed when unmarshaled, or fetched from when marshaling. This 57 // is sufficient when the element type indicated by 'index' is always a simple type 58 // and never a union or array.This is just shown for illustrative purposes. 59 typedef struct simpleStructureEntry_t { 60 UINT16 qualifiers; // indicates the type of entry (array, union 61 // etc.) 62 marshalIndex_t index; // the index into the appropriate array of 63 // the descriptor of this type 64 UINT16 offset; // where this comes from or is placed 65 } simpleStructureEntry_t; 66 67 typedef const struct UintMarshal_mst 68 { 69 UINT8 marshalType; // UINT_MTYPE 70 UINT8 modifiers; // size and signed indicator. 71 } UintMarshal_mst; 72 73 typedef struct UnionMarshal_mst 74 { 75 UINT8 countOfselectors; 76 UINT8 modifiers; // NULL_SELECTOR 77 UINT16 offsetOfUnmarshalTypes; 78 UINT32 selectors[1]; 79 // UINT16 marshalingTypes[1]; // This is not part of the prototypical 80 // entry. It is here to show where the 81 // marshaling types will be in a union 82 } UnionMarshal_mst; 83 84 typedef struct NullUnionMarshal_mst 85 { 86 UINT8 count; 87 } NullUnionMarshal_mst; 88 89 typedef struct MarshalHeader_mst 90 { 91 UINT8 marshalType; // VALUES_MTYPE 92 UINT8 modifiers; 93 UINT8 errorCode; 94 } MarshalHeader_mst; 95 96 typedef const struct ArrayMarshal_mst // used in a structure 97 { 98 marshalIndex_t type; 99 UINT16 stride; 100 } ArrayMarshal_mst; 101 102 typedef const struct StructMarshal_mst 103 { 104 UINT8 marshalType; // STRUCTURE_MTYPE 105 UINT8 elements; 106 UINT16 values[1]; // three times elements 107 } StructMarshal_mst; 108 109 typedef const struct ValuesMarshal_mst 110 { 111 UINT8 marshalType; // VALUES_MTYPE 112 UINT8 modifiers; 113 UINT8 errorCode; 114 UINT8 ranges; 115 UINT8 singles; 116 UINT32 values[1]; 117 } ValuesMarshal_mst; 118 119 typedef const struct TableMarshal_mst 120 { 121 UINT8 marshalType; // TABLE_MTYPE 122 UINT8 modifiers; 123 UINT8 errorCode; 124 UINT8 singles; 125 UINT32 values[1]; 126 } TableMarshal_mst; 127 128 typedef const struct MinMaxMarshal_mst 129 { 130 UINT8 marshalType; // MIN_MAX_MTYPE 131 UINT8 modifiers; 132 UINT8 errorCode; 133 UINT32 values[2]; 134 } MinMaxMarshal_mst; 135 136 typedef const struct Tpm2bMarshal_mst 137 { 138 UINT8 unmarshalType; // TPM2B_MTYPE 139 UINT16 sizeIndex; // reference to type for this size value 140 } Tpm2bMarshal_mst; 141 142 typedef const struct Tpm2bsMarshal_mst 143 { 144 UINT8 unmarshalType; // TPM2BS_MTYPE 145 UINT8 modifiers; // size= and offset (2 - 7) 146 UINT16 sizeIndex; // index of the size value; 147 UINT16 dataIndex; // the structure 148 } Tpm2bsMarshal_mst; 149 150 typedef const struct ListMarshal_mst 151 { 152 UINT8 unmarshalType; // LIST_MTYPE (for TPML) 153 UINT8 modifiers; // size offset 2-7 154 UINT16 sizeIndex; // reference to the minmax structure that 155 // unmarshals the size parameter 156 UINT16 arrayRef; // reference to an array definition (type 157 // and stride) 158 } ListMarshal_mst; 159 160 typedef const struct AttributesMarshal_mst 161 { 162 UINT8 unmarashalType; // ATTRIBUTE_MTYPE 163 UINT8 modifiers; // size (ONE_BYTES, TWO_BYTES, or FOUR_BYTES 164 UINT32 attributeMask; // the values that must be zero. 165 } AttributesMarshal_mst; 166 167 typedef const struct CompositeMarshal_mst 168 { 169 UINT8 unmashalType; // COMPOSITE_MTYPE 170 UINT8 modifiers; // number of entries and size 171 marshalIndex_t types[1]; // array of unmarshaling types 172 } CompositeMarshal_mst; 173 174 typedef const struct TPM_ECC_CURVE_mst { 175 UINT8 marshalType; 176 UINT8 modifiers; 177 UINT8 errorCode; 178 UINT32 values[4]; 179 } TPM_ECC_CURVE_mst; 180 181 typedef const struct TPM_CLOCK_ADJUST_mst { 182 UINT8 marshalType; 183 UINT8 modifiers; 184 UINT8 errorCode; 185 UINT32 values[2]; 186 } TPM_CLOCK_ADJUST_mst; 187 188 typedef const struct TPM_EO_mst { 189 UINT8 marshalType; 190 UINT8 modifiers; 191 UINT8 errorCode; 192 UINT32 values[2]; 193 } TPM_EO_mst; 194 195 typedef const struct TPM_SU_mst { 196 UINT8 marshalType; 197 UINT8 modifiers; 198 UINT8 errorCode; 199 UINT8 entries; 200 UINT32 values[2]; 201 } TPM_SU_mst; 202 203 typedef const struct TPM_SE_mst { 204 UINT8 marshalType; 205 UINT8 modifiers; 206 UINT8 errorCode; 207 UINT8 entries; 208 UINT32 values[3]; 209 } TPM_SE_mst; 210 211 typedef const struct TPM_CAP_mst { 212 UINT8 marshalType; 213 UINT8 modifiers; 214 UINT8 errorCode; 215 UINT8 ranges; 216 UINT8 singles; 217 UINT32 values[3]; 218 } TPM_CAP_mst; 219 220 typedef const struct TPMI_YES_NO_mst { 221 UINT8 marshalType; 222 UINT8 modifiers; 223 UINT8 errorCode; 224 UINT8 entries; 225 UINT32 values[2]; 226 } TPMI_YES_NO_mst; 227 228 typedef const struct TPMI_DH_OBJECT_mst { 229 UINT8 marshalType; 230 UINT8 modifiers; 231 UINT8 errorCode; 232 UINT8 ranges; 233 UINT8 singles; 234 UINT32 values[5]; 235 } TPMI_DH_OBJECT_mst; 236 237 typedef const struct TPMI_DH_PARENT_mst { 238 UINT8 marshalType; 239 UINT8 modifiers; 240 UINT8 errorCode; 241 UINT8 ranges; 242 UINT8 singles; 243 UINT32 values[8]; 244 } TPMI_DH_PARENT_mst; 245 246 typedef const struct TPMI_DH_PERSISTENT_mst { 247 UINT8 marshalType; 248 UINT8 modifiers; 249 UINT8 errorCode; 250 UINT32 values[2]; 251 } TPMI_DH_PERSISTENT_mst; 252 253 typedef const struct TPMI_DH_ENTITY_mst { 254 UINT8 marshalType; 255 UINT8 modifiers; 256 UINT8 errorCode; 257 UINT8 ranges; 258 UINT8 singles; 259 UINT32 values[15]; 260 } TPMI_DH_ENTITY_mst; 261 262 typedef const struct TPMI_DH_PCR_mst { 263 UINT8 marshalType; 264 UINT8 modifiers; 265 UINT8 errorCode; 266 UINT32 values[3]; 267 } TPMI_DH_PCR_mst; 268 269 typedef const struct TPMI_SH_AUTH_SESSION_mst { 270 UINT8 marshalType; 271 UINT8 modifiers; 272 UINT8 errorCode; 273 UINT8 ranges; 274 UINT8 singles; 275 UINT32 values[5]; 276 } TPMI_SH_AUTH_SESSION_mst; 277 278 typedef const struct TPMI_SH_HMAC_mst { 279 UINT8 marshalType; 280 UINT8 modifiers; 281 UINT8 errorCode; 282 UINT32 values[2]; 283 } TPMI_SH_HMAC_mst; 284 285 typedef const struct TPMI_SH_POLICY_mst { 286 UINT8 marshalType; 287 UINT8 modifiers; 288 UINT8 errorCode; 289 UINT32 values[2]; 290 } TPMI_SH_POLICY_mst; 291 292 typedef const struct TPMI_DH_CONTEXT_mst { 293 UINT8 marshalType; 294 UINT8 modifiers; 295 UINT8 errorCode; 296 UINT8 ranges; 297 UINT8 singles; 298 UINT32 values[6]; 299 } TPMI_DH_CONTEXT_mst; 300 301 typedef const struct TPMI_DH_SAVED_mst { 302 UINT8 marshalType; 303 UINT8 modifiers; 304 UINT8 errorCode; 305 UINT8 ranges; 306 UINT8 singles; 307 UINT32 values[7]; 308 } TPMI_DH_SAVED_mst; 309 310 typedef const struct TPMI_RH_HIERARCHY_mst { 311 UINT8 marshalType; 312 UINT8 modifiers; 313 UINT8 errorCode; 314 UINT8 entries; 315 UINT32 values[4]; 316 } TPMI_RH_HIERARCHY_mst; 317 318 typedef const struct TPMI_RH_ENABLES_mst { 319 UINT8 marshalType; 320 UINT8 modifiers; 321 UINT8 errorCode; 322 UINT8 entries; 323 UINT32 values[5]; 324 } TPMI_RH_ENABLES_mst; 325 326 typedef const struct TPMI_RH_HIERARCHY_AUTH_mst { 327 UINT8 marshalType; 328 UINT8 modifiers; 329 UINT8 errorCode; 330 UINT8 entries; 331 UINT32 values[4]; 332 } TPMI_RH_HIERARCHY_AUTH_mst; 333 334 typedef const struct TPMI_RH_HIERARCHY_POLICY_mst { 335 UINT8 marshalType; 336 UINT8 modifiers; 337 UINT8 errorCode; 338 UINT8 ranges; 339 UINT8 singles; 340 UINT32 values[6]; 341 } TPMI_RH_HIERARCHY_POLICY_mst; 342 343 typedef const struct TPMI_RH_PLATFORM_mst { 344 UINT8 marshalType; 345 UINT8 modifiers; 346 UINT8 errorCode; 347 UINT8 entries; 348 UINT32 values[1]; 349 } TPMI_RH_PLATFORM_mst; 350 351 typedef const struct TPMI_RH_OWNER_mst { 352 UINT8 marshalType; 353 UINT8 modifiers; 354 UINT8 errorCode; 355 UINT8 entries; 356 UINT32 values[2]; 357 } TPMI_RH_OWNER_mst; 358 359 typedef const struct TPMI_RH_ENDORSEMENT_mst { 360 UINT8 marshalType; 361 UINT8 modifiers; 362 UINT8 errorCode; 363 UINT8 entries; 364 UINT32 values[2]; 365 } TPMI_RH_ENDORSEMENT_mst; 366 367 typedef const struct TPMI_RH_PROVISION_mst { 368 UINT8 marshalType; 369 UINT8 modifiers; 370 UINT8 errorCode; 371 UINT8 entries; 372 UINT32 values[2]; 373 } TPMI_RH_PROVISION_mst; 374 375 typedef const struct TPMI_RH_CLEAR_mst { 376 UINT8 marshalType; 377 UINT8 modifiers; 378 UINT8 errorCode; 379 UINT8 entries; 380 UINT32 values[2]; 381 } TPMI_RH_CLEAR_mst; 382 383 typedef const struct TPMI_RH_NV_AUTH_mst { 384 UINT8 marshalType; 385 UINT8 modifiers; 386 UINT8 errorCode; 387 UINT8 ranges; 388 UINT8 singles; 389 UINT32 values[4]; 390 } TPMI_RH_NV_AUTH_mst; 391 392 typedef const struct TPMI_RH_LOCKOUT_mst { 393 UINT8 marshalType; 394 UINT8 modifiers; 395 UINT8 errorCode; 396 UINT8 entries; 397 UINT32 values[1]; 398 } TPMI_RH_LOCKOUT_mst; 399 400 typedef const struct TPMI_RH_NV_INDEX_mst { 401 UINT8 marshalType; 402 UINT8 modifiers; 403 UINT8 errorCode; 404 UINT32 values[2]; 405 } TPMI_RH_NV_INDEX_mst; 406 407 typedef const struct TPMI_RH_AC_mst { 408 UINT8 marshalType; 409 UINT8 modifiers; 410 UINT8 errorCode; 411 UINT32 values[2]; 412 } TPMI_RH_AC_mst; 413 414 typedef const struct TPMI_RH_ACT_mst { 415 UINT8 marshalType; 416 UINT8 modifiers; 417 UINT8 errorCode; 418 UINT32 values[2]; 419 } TPMI_RH_ACT_mst; 420 421 typedef const struct TPMI_ALG_HASH_mst { 422 UINT8 marshalType; 423 UINT8 modifiers; 424 UINT8 errorCode; 425 UINT32 values[5]; 426 } TPMI_ALG_HASH_mst; 427 428 typedef const struct TPMI_ALG_ASYM_mst { 429 UINT8 marshalType; 430 UINT8 modifiers; 431 UINT8 errorCode; 432 UINT32 values[5]; 433 } TPMI_ALG_ASYM_mst; 434 435 typedef const struct TPMI_ALG_SYM_mst { 436 UINT8 marshalType; 437 UINT8 modifiers; 438 UINT8 errorCode; 439 UINT32 values[5]; 440 } TPMI_ALG_SYM_mst; 441 442 typedef const struct TPMI_ALG_SYM_OBJECT_mst { 443 UINT8 marshalType; 444 UINT8 modifiers; 445 UINT8 errorCode; 446 UINT32 values[5]; 447 } TPMI_ALG_SYM_OBJECT_mst; 448 449 typedef const struct TPMI_ALG_SYM_MODE_mst { 450 UINT8 marshalType; 451 UINT8 modifiers; 452 UINT8 errorCode; 453 UINT32 values[4]; 454 } TPMI_ALG_SYM_MODE_mst; 455 456 typedef const struct TPMI_ALG_KDF_mst { 457 UINT8 marshalType; 458 UINT8 modifiers; 459 UINT8 errorCode; 460 UINT32 values[4]; 461 } TPMI_ALG_KDF_mst; 462 463 typedef const struct TPMI_ALG_SIG_SCHEME_mst { 464 UINT8 marshalType; 465 UINT8 modifiers; 466 UINT8 errorCode; 467 UINT32 values[4]; 468 } TPMI_ALG_SIG_SCHEME_mst; 469 470 typedef const struct TPMI_ECC_KEY_EXCHANGE_mst { 471 UINT8 marshalType; 472 UINT8 modifiers; 473 UINT8 errorCode; 474 UINT32 values[4]; 475 } TPMI_ECC_KEY_EXCHANGE_mst; 476 477 typedef const struct TPMI_ST_COMMAND_TAG_mst { 478 UINT8 marshalType; 479 UINT8 modifiers; 480 UINT8 errorCode; 481 UINT8 entries; 482 UINT32 values[2]; 483 } TPMI_ST_COMMAND_TAG_mst; 484 485 typedef const struct TPMI_ALG_MAC_SCHEME_mst { 486 UINT8 marshalType; 487 UINT8 modifiers; 488 UINT8 errorCode; 489 UINT32 values[5]; 490 } TPMI_ALG_MAC_SCHEME_mst; 491 492 typedef const struct TPMI_ALG_CIPHER_MODE_mst { 493 UINT8 marshalType; 494 UINT8 modifiers; 495 UINT8 errorCode; 496 UINT32 values[4]; 497 } TPMI_ALG_CIPHER_MODE_mst; 498 499 typedef const struct TPMS_EMPTY_mst 500 { 501 UINT8 marshalType; 502 UINT8 elements; 503 UINT16 values[3]; 504 } TPMS_EMPTY_mst; 505 506 typedef const struct TPMS_ALGORITHM_DESCRIPTION_mst 507 { 508 UINT8 marshalType; 509 UINT8 elements; 510 UINT16 values[6]; 511 } TPMS_ALGORITHM_DESCRIPTION_mst; 512 513 typedef struct TPMU_HA_mst 514 { 515 BYTE countOfselectors; 516 BYTE modifiers; 517 UINT16 offsetOfUnmarshalTypes; 518 UINT32 selectors[9]; 519 UINT16 marshalingTypes[9]; 520 } TPMU_HA_mst; 521 522 typedef const struct TPMT_HA_mst 523 { 524 UINT8 marshalType; 525 UINT8 elements; 526 UINT16 values[6]; 527 } TPMT_HA_mst; 528 529 typedef const struct TPMS_PCR_SELECT_mst 530 { 531 UINT8 marshalType; 532 UINT8 elements; 533 UINT16 values[6]; 534 } TPMS_PCR_SELECT_mst; 535 536 typedef const struct TPMS_PCR_SELECTION_mst 537 { 538 UINT8 marshalType; 539 UINT8 elements; 540 UINT16 values[9]; 541 } TPMS_PCR_SELECTION_mst; 542 543 typedef const struct TPMT_TK_CREATION_mst 544 { 545 UINT8 marshalType; 546 UINT8 elements; 547 UINT16 values[9]; 548 } TPMT_TK_CREATION_mst; 549 550 typedef const struct TPMT_TK_VERIFIED_mst 551 { 552 UINT8 marshalType; 553 UINT8 elements; 554 UINT16 values[9]; 555 } TPMT_TK_VERIFIED_mst; 556 557 typedef const struct TPMT_TK_AUTH_mst 558 { 559 UINT8 marshalType; 560 UINT8 elements; 561 UINT16 values[9]; 562 } TPMT_TK_AUTH_mst; 563 564 typedef const struct TPMT_TK_HASHCHECK_mst 565 { 566 UINT8 marshalType; 567 UINT8 elements; 568 UINT16 values[9]; 569 } TPMT_TK_HASHCHECK_mst; 570 571 typedef const struct TPMS_ALG_PROPERTY_mst 572 { 573 UINT8 marshalType; 574 UINT8 elements; 575 UINT16 values[6]; 576 } TPMS_ALG_PROPERTY_mst; 577 578 typedef const struct TPMS_TAGGED_PROPERTY_mst 579 { 580 UINT8 marshalType; 581 UINT8 elements; 582 UINT16 values[6]; 583 } TPMS_TAGGED_PROPERTY_mst; 584 585 typedef const struct TPMS_TAGGED_PCR_SELECT_mst 586 { 587 UINT8 marshalType; 588 UINT8 elements; 589 UINT16 values[9]; 590 } TPMS_TAGGED_PCR_SELECT_mst; 591 592 typedef const struct TPMS_TAGGED_POLICY_mst 593 { 594 UINT8 marshalType; 595 UINT8 elements; 596 UINT16 values[6]; 597 } TPMS_TAGGED_POLICY_mst; 598 599 typedef const struct TPMS_ACT_DATA_mst 600 { 601 UINT8 marshalType; 602 UINT8 elements; 603 UINT16 values[9]; 604 } TPMS_ACT_DATA_mst; 605 606 typedef struct TPMU_CAPABILITIES_mst 607 { 608 BYTE countOfselectors; 609 BYTE modifiers; 610 UINT16 offsetOfUnmarshalTypes; 611 UINT32 selectors[11]; 612 UINT16 marshalingTypes[11]; 613 } TPMU_CAPABILITIES_mst; 614 615 typedef const struct TPMS_CAPABILITY_DATA_mst 616 { 617 UINT8 marshalType; 618 UINT8 elements; 619 UINT16 values[6]; 620 } TPMS_CAPABILITY_DATA_mst; 621 622 typedef const struct TPMS_CLOCK_INFO_mst 623 { 624 UINT8 marshalType; 625 UINT8 elements; 626 UINT16 values[12]; 627 } TPMS_CLOCK_INFO_mst; 628 629 typedef const struct TPMS_TIME_INFO_mst 630 { 631 UINT8 marshalType; 632 UINT8 elements; 633 UINT16 values[6]; 634 } TPMS_TIME_INFO_mst; 635 636 typedef const struct TPMS_TIME_ATTEST_INFO_mst 637 { 638 UINT8 marshalType; 639 UINT8 elements; 640 UINT16 values[6]; 641 } TPMS_TIME_ATTEST_INFO_mst; 642 643 typedef const struct TPMS_CERTIFY_INFO_mst 644 { 645 UINT8 marshalType; 646 UINT8 elements; 647 UINT16 values[6]; 648 } TPMS_CERTIFY_INFO_mst; 649 650 typedef const struct TPMS_QUOTE_INFO_mst 651 { 652 UINT8 marshalType; 653 UINT8 elements; 654 UINT16 values[6]; 655 } TPMS_QUOTE_INFO_mst; 656 657 typedef const struct TPMS_COMMAND_AUDIT_INFO_mst 658 { 659 UINT8 marshalType; 660 UINT8 elements; 661 UINT16 values[12]; 662 } TPMS_COMMAND_AUDIT_INFO_mst; 663 664 typedef const struct TPMS_SESSION_AUDIT_INFO_mst 665 { 666 UINT8 marshalType; 667 UINT8 elements; 668 UINT16 values[6]; 669 } TPMS_SESSION_AUDIT_INFO_mst; 670 671 typedef const struct TPMS_CREATION_INFO_mst 672 { 673 UINT8 marshalType; 674 UINT8 elements; 675 UINT16 values[6]; 676 } TPMS_CREATION_INFO_mst; 677 678 typedef const struct TPMS_NV_CERTIFY_INFO_mst 679 { 680 UINT8 marshalType; 681 UINT8 elements; 682 UINT16 values[9]; 683 } TPMS_NV_CERTIFY_INFO_mst; 684 685 typedef const struct TPMS_NV_DIGEST_CERTIFY_INFO_mst 686 { 687 UINT8 marshalType; 688 UINT8 elements; 689 UINT16 values[6]; 690 } TPMS_NV_DIGEST_CERTIFY_INFO_mst; 691 692 typedef const struct TPMI_ST_ATTEST_mst { 693 UINT8 marshalType; 694 UINT8 modifiers; 695 UINT8 errorCode; 696 UINT8 ranges; 697 UINT8 singles; 698 UINT32 values[3]; 699 } TPMI_ST_ATTEST_mst; 700 701 typedef struct TPMU_ATTEST_mst 702 { 703 BYTE countOfselectors; 704 BYTE modifiers; 705 UINT16 offsetOfUnmarshalTypes; 706 UINT32 selectors[8]; 707 UINT16 marshalingTypes[8]; 708 } TPMU_ATTEST_mst; 709 710 typedef const struct TPMS_ATTEST_mst 711 { 712 UINT8 marshalType; 713 UINT8 elements; 714 UINT16 values[21]; 715 } TPMS_ATTEST_mst; 716 717 typedef const struct TPMS_AUTH_COMMAND_mst 718 { 719 UINT8 marshalType; 720 UINT8 elements; 721 UINT16 values[12]; 722 } TPMS_AUTH_COMMAND_mst; 723 724 typedef const struct TPMS_AUTH_RESPONSE_mst 725 { 726 UINT8 marshalType; 727 UINT8 elements; 728 UINT16 values[9]; 729 } TPMS_AUTH_RESPONSE_mst; 730 731 typedef const struct TPMI_TDES_KEY_BITS_mst { 732 UINT8 marshalType; 733 UINT8 modifiers; 734 UINT8 errorCode; 735 UINT8 entries; 736 UINT32 values[1]; 737 } TPMI_TDES_KEY_BITS_mst; 738 739 typedef const struct TPMI_AES_KEY_BITS_mst { 740 UINT8 marshalType; 741 UINT8 modifiers; 742 UINT8 errorCode; 743 UINT8 entries; 744 UINT32 values[3]; 745 } TPMI_AES_KEY_BITS_mst; 746 747 typedef const struct TPMI_SM4_KEY_BITS_mst { 748 UINT8 marshalType; 749 UINT8 modifiers; 750 UINT8 errorCode; 751 UINT8 entries; 752 UINT32 values[1]; 753 } TPMI_SM4_KEY_BITS_mst; 754 755 typedef const struct TPMI_CAMELLIA_KEY_BITS_mst { 756 UINT8 marshalType; 757 UINT8 modifiers; 758 UINT8 errorCode; 759 UINT8 entries; 760 UINT32 values[3]; 761 } TPMI_CAMELLIA_KEY_BITS_mst; 762 763 typedef struct TPMU_SYM_KEY_BITS_mst 764 { 765 BYTE countOfselectors; 766 BYTE modifiers; 767 UINT16 offsetOfUnmarshalTypes; 768 UINT32 selectors[6]; 769 UINT16 marshalingTypes[6]; 770 } TPMU_SYM_KEY_BITS_mst; 771 772 typedef struct TPMU_SYM_MODE_mst 773 { 774 BYTE countOfselectors; 775 BYTE modifiers; 776 UINT16 offsetOfUnmarshalTypes; 777 UINT32 selectors[6]; 778 UINT16 marshalingTypes[6]; 779 } TPMU_SYM_MODE_mst; 780 781 typedef const struct TPMT_SYM_DEF_mst 782 { 783 UINT8 marshalType; 784 UINT8 elements; 785 UINT16 values[9]; 786 } TPMT_SYM_DEF_mst; 787 788 typedef const struct TPMT_SYM_DEF_OBJECT_mst 789 { 790 UINT8 marshalType; 791 UINT8 elements; 792 UINT16 values[9]; 793 } TPMT_SYM_DEF_OBJECT_mst; 794 795 typedef const struct TPMS_SYMCIPHER_PARMS_mst 796 { 797 UINT8 marshalType; 798 UINT8 elements; 799 UINT16 values[3]; 800 } TPMS_SYMCIPHER_PARMS_mst; 801 802 typedef const struct TPMS_DERIVE_mst 803 { 804 UINT8 marshalType; 805 UINT8 elements; 806 UINT16 values[6]; 807 } TPMS_DERIVE_mst; 808 809 typedef const struct TPMS_SENSITIVE_CREATE_mst 810 { 811 UINT8 marshalType; 812 UINT8 elements; 813 UINT16 values[6]; 814 } TPMS_SENSITIVE_CREATE_mst; 815 816 typedef const struct TPMS_SCHEME_HASH_mst 817 { 818 UINT8 marshalType; 819 UINT8 elements; 820 UINT16 values[3]; 821 } TPMS_SCHEME_HASH_mst; 822 823 typedef const struct TPMS_SCHEME_ECDAA_mst 824 { 825 UINT8 marshalType; 826 UINT8 elements; 827 UINT16 values[6]; 828 } TPMS_SCHEME_ECDAA_mst; 829 830 typedef const struct TPMI_ALG_KEYEDHASH_SCHEME_mst { 831 UINT8 marshalType; 832 UINT8 modifiers; 833 UINT8 errorCode; 834 UINT32 values[4]; 835 } TPMI_ALG_KEYEDHASH_SCHEME_mst; 836 837 typedef const struct TPMS_SCHEME_XOR_mst 838 { 839 UINT8 marshalType; 840 UINT8 elements; 841 UINT16 values[6]; 842 } TPMS_SCHEME_XOR_mst; 843 844 typedef struct TPMU_SCHEME_KEYEDHASH_mst 845 { 846 BYTE countOfselectors; 847 BYTE modifiers; 848 UINT16 offsetOfUnmarshalTypes; 849 UINT32 selectors[3]; 850 UINT16 marshalingTypes[3]; 851 } TPMU_SCHEME_KEYEDHASH_mst; 852 853 typedef const struct TPMT_KEYEDHASH_SCHEME_mst 854 { 855 UINT8 marshalType; 856 UINT8 elements; 857 UINT16 values[6]; 858 } TPMT_KEYEDHASH_SCHEME_mst; 859 860 typedef struct TPMU_SIG_SCHEME_mst 861 { 862 BYTE countOfselectors; 863 BYTE modifiers; 864 UINT16 offsetOfUnmarshalTypes; 865 UINT32 selectors[8]; 866 UINT16 marshalingTypes[8]; 867 } TPMU_SIG_SCHEME_mst; 868 869 typedef const struct TPMT_SIG_SCHEME_mst 870 { 871 UINT8 marshalType; 872 UINT8 elements; 873 UINT16 values[6]; 874 } TPMT_SIG_SCHEME_mst; 875 876 typedef struct TPMU_KDF_SCHEME_mst 877 { 878 BYTE countOfselectors; 879 BYTE modifiers; 880 UINT16 offsetOfUnmarshalTypes; 881 UINT32 selectors[5]; 882 UINT16 marshalingTypes[5]; 883 } TPMU_KDF_SCHEME_mst; 884 885 typedef const struct TPMT_KDF_SCHEME_mst 886 { 887 UINT8 marshalType; 888 UINT8 elements; 889 UINT16 values[6]; 890 } TPMT_KDF_SCHEME_mst; 891 892 typedef const struct TPMI_ALG_ASYM_SCHEME_mst { 893 UINT8 marshalType; 894 UINT8 modifiers; 895 UINT8 errorCode; 896 UINT32 values[4]; 897 } TPMI_ALG_ASYM_SCHEME_mst; 898 899 typedef struct TPMU_ASYM_SCHEME_mst 900 { 901 BYTE countOfselectors; 902 BYTE modifiers; 903 UINT16 offsetOfUnmarshalTypes; 904 UINT32 selectors[11]; 905 UINT16 marshalingTypes[11]; 906 } TPMU_ASYM_SCHEME_mst; 907 908 typedef const struct TPMI_ALG_RSA_SCHEME_mst { 909 UINT8 marshalType; 910 UINT8 modifiers; 911 UINT8 errorCode; 912 UINT32 values[4]; 913 } TPMI_ALG_RSA_SCHEME_mst; 914 915 typedef const struct TPMT_RSA_SCHEME_mst 916 { 917 UINT8 marshalType; 918 UINT8 elements; 919 UINT16 values[6]; 920 } TPMT_RSA_SCHEME_mst; 921 922 typedef const struct TPMI_ALG_RSA_DECRYPT_mst { 923 UINT8 marshalType; 924 UINT8 modifiers; 925 UINT8 errorCode; 926 UINT32 values[4]; 927 } TPMI_ALG_RSA_DECRYPT_mst; 928 929 typedef const struct TPMT_RSA_DECRYPT_mst 930 { 931 UINT8 marshalType; 932 UINT8 elements; 933 UINT16 values[6]; 934 } TPMT_RSA_DECRYPT_mst; 935 936 typedef const struct TPMI_RSA_KEY_BITS_mst { 937 UINT8 marshalType; 938 UINT8 modifiers; 939 UINT8 errorCode; 940 UINT8 entries; 941 UINT32 values[3]; 942 } TPMI_RSA_KEY_BITS_mst; 943 944 typedef const struct TPMS_ECC_POINT_mst 945 { 946 UINT8 marshalType; 947 UINT8 elements; 948 UINT16 values[6]; 949 } TPMS_ECC_POINT_mst; 950 951 typedef const struct TPMI_ALG_ECC_SCHEME_mst { 952 UINT8 marshalType; 953 UINT8 modifiers; 954 UINT8 errorCode; 955 UINT32 values[4]; 956 } TPMI_ALG_ECC_SCHEME_mst; 957 958 typedef const struct TPMI_ECC_CURVE_mst { 959 UINT8 marshalType; 960 UINT8 modifiers; 961 UINT8 errorCode; 962 UINT32 values[3]; 963 } TPMI_ECC_CURVE_mst; 964 965 typedef const struct TPMT_ECC_SCHEME_mst 966 { 967 UINT8 marshalType; 968 UINT8 elements; 969 UINT16 values[6]; 970 } TPMT_ECC_SCHEME_mst; 971 972 typedef const struct TPMS_ALGORITHM_DETAIL_ECC_mst 973 { 974 UINT8 marshalType; 975 UINT8 elements; 976 UINT16 values[33]; 977 } TPMS_ALGORITHM_DETAIL_ECC_mst; 978 979 typedef const struct TPMS_SIGNATURE_RSA_mst 980 { 981 UINT8 marshalType; 982 UINT8 elements; 983 UINT16 values[6]; 984 } TPMS_SIGNATURE_RSA_mst; 985 986 typedef const struct TPMS_SIGNATURE_ECC_mst 987 { 988 UINT8 marshalType; 989 UINT8 elements; 990 UINT16 values[9]; 991 } TPMS_SIGNATURE_ECC_mst; 992 993 typedef struct TPMU_SIGNATURE_mst 994 { 995 BYTE countOfselectors; 996 BYTE modifiers; 997 UINT16 offsetOfUnmarshalTypes; 998 UINT32 selectors[8]; 999 UINT16 marshalingTypes[8]; 1000 } TPMU_SIGNATURE_mst; 1001 1002 typedef const struct TPMT_SIGNATURE_mst 1003 { 1004 UINT8 marshalType; 1005 UINT8 elements; 1006 UINT16 values[6]; 1007 } TPMT_SIGNATURE_mst; 1008 1009 typedef struct TPMU_ENCRYPTED_SECRET_mst 1010 { 1011 BYTE countOfselectors; 1012 BYTE modifiers; 1013 UINT16 offsetOfUnmarshalTypes; 1014 UINT32 selectors[4]; 1015 UINT16 marshalingTypes[4]; 1016 } TPMU_ENCRYPTED_SECRET_mst; 1017 1018 typedef const struct TPMI_ALG_PUBLIC_mst { 1019 UINT8 marshalType; 1020 UINT8 modifiers; 1021 UINT8 errorCode; 1022 UINT32 values[4]; 1023 } TPMI_ALG_PUBLIC_mst; 1024 1025 typedef struct TPMU_PUBLIC_ID_mst 1026 { 1027 BYTE countOfselectors; 1028 BYTE modifiers; 1029 UINT16 offsetOfUnmarshalTypes; 1030 UINT32 selectors[4]; 1031 UINT16 marshalingTypes[4]; 1032 } TPMU_PUBLIC_ID_mst; 1033 1034 typedef const struct TPMS_KEYEDHASH_PARMS_mst 1035 { 1036 UINT8 marshalType; 1037 UINT8 elements; 1038 UINT16 values[3]; 1039 } TPMS_KEYEDHASH_PARMS_mst; 1040 1041 typedef const struct TPMS_RSA_PARMS_mst 1042 { 1043 UINT8 marshalType; 1044 UINT8 elements; 1045 UINT16 values[12]; 1046 } TPMS_RSA_PARMS_mst; 1047 1048 typedef const struct TPMS_ECC_PARMS_mst 1049 { 1050 UINT8 marshalType; 1051 UINT8 elements; 1052 UINT16 values[12]; 1053 } TPMS_ECC_PARMS_mst; 1054 1055 typedef struct TPMU_PUBLIC_PARMS_mst 1056 { 1057 BYTE countOfselectors; 1058 BYTE modifiers; 1059 UINT16 offsetOfUnmarshalTypes; 1060 UINT32 selectors[4]; 1061 UINT16 marshalingTypes[4]; 1062 } TPMU_PUBLIC_PARMS_mst; 1063 1064 typedef const struct TPMT_PUBLIC_PARMS_mst 1065 { 1066 UINT8 marshalType; 1067 UINT8 elements; 1068 UINT16 values[6]; 1069 } TPMT_PUBLIC_PARMS_mst; 1070 1071 typedef const struct TPMT_PUBLIC_mst 1072 { 1073 UINT8 marshalType; 1074 UINT8 elements; 1075 UINT16 values[18]; 1076 } TPMT_PUBLIC_mst; 1077 1078 typedef struct TPMU_SENSITIVE_COMPOSITE_mst 1079 { 1080 BYTE countOfselectors; 1081 BYTE modifiers; 1082 UINT16 offsetOfUnmarshalTypes; 1083 UINT32 selectors[4]; 1084 UINT16 marshalingTypes[4]; 1085 } TPMU_SENSITIVE_COMPOSITE_mst; 1086 1087 typedef const struct TPMT_SENSITIVE_mst 1088 { 1089 UINT8 marshalType; 1090 UINT8 elements; 1091 UINT16 values[12]; 1092 } TPMT_SENSITIVE_mst; 1093 1094 typedef const struct TPMS_NV_PIN_COUNTER_PARAMETERS_mst 1095 { 1096 UINT8 marshalType; 1097 UINT8 elements; 1098 UINT16 values[6]; 1099 } TPMS_NV_PIN_COUNTER_PARAMETERS_mst; 1100 1101 typedef const struct TPMS_NV_PUBLIC_mst 1102 { 1103 UINT8 marshalType; 1104 UINT8 elements; 1105 UINT16 values[15]; 1106 } TPMS_NV_PUBLIC_mst; 1107 1108 typedef const struct TPMS_CONTEXT_DATA_mst 1109 { 1110 UINT8 marshalType; 1111 UINT8 elements; 1112 UINT16 values[6]; 1113 } TPMS_CONTEXT_DATA_mst; 1114 1115 typedef const struct TPMS_CONTEXT_mst 1116 { 1117 UINT8 marshalType; 1118 UINT8 elements; 1119 UINT16 values[12]; 1120 } TPMS_CONTEXT_mst; 1121 1122 typedef const struct TPMS_CREATION_DATA_mst 1123 { 1124 UINT8 marshalType; 1125 UINT8 elements; 1126 UINT16 values[21]; 1127 } TPMS_CREATION_DATA_mst; 1128 1129 typedef const struct TPM_AT_mst { 1130 UINT8 marshalType; 1131 UINT8 modifiers; 1132 UINT8 errorCode; 1133 UINT8 entries; 1134 UINT32 values[4]; 1135 } TPM_AT_mst; 1136 1137 typedef const struct TPMS_AC_OUTPUT_mst 1138 { 1139 UINT8 marshalType; 1140 UINT8 elements; 1141 UINT16 values[6]; 1142 } TPMS_AC_OUTPUT_mst; 1143 1144 typedef const struct Type02_mst { 1145 UINT8 marshalType; 1146 UINT8 modifiers; 1147 UINT8 errorCode; 1148 UINT32 values[2]; 1149 } Type02_mst; 1150 1151 typedef const struct Type03_mst { 1152 UINT8 marshalType; 1153 UINT8 modifiers; 1154 UINT8 errorCode; 1155 UINT32 values[2]; 1156 } Type03_mst; 1157 1158 typedef const struct Type04_mst { 1159 UINT8 marshalType; 1160 UINT8 modifiers; 1161 UINT8 errorCode; 1162 UINT32 values[2]; 1163 } Type04_mst; 1164 1165 typedef const struct Type06_mst { 1166 UINT8 marshalType; 1167 UINT8 modifiers; 1168 UINT8 errorCode; 1169 UINT32 values[2]; 1170 } Type06_mst; 1171 1172 typedef const struct Type08_mst { 1173 UINT8 marshalType; 1174 UINT8 modifiers; 1175 UINT8 errorCode; 1176 UINT32 values[2]; 1177 } Type08_mst; 1178 1179 typedef const struct Type10_mst { 1180 UINT8 marshalType; 1181 UINT8 modifiers; 1182 UINT8 errorCode; 1183 UINT8 entries; 1184 UINT32 values[1]; 1185 } Type10_mst; 1186 1187 typedef const struct Type11_mst { 1188 UINT8 marshalType; 1189 UINT8 modifiers; 1190 UINT8 errorCode; 1191 UINT8 entries; 1192 UINT32 values[1]; 1193 } Type11_mst; 1194 1195 typedef const struct Type12_mst { 1196 UINT8 marshalType; 1197 UINT8 modifiers; 1198 UINT8 errorCode; 1199 UINT8 entries; 1200 UINT32 values[2]; 1201 } Type12_mst; 1202 1203 typedef const struct Type13_mst { 1204 UINT8 marshalType; 1205 UINT8 modifiers; 1206 UINT8 errorCode; 1207 UINT8 entries; 1208 UINT32 values[1]; 1209 } Type13_mst; 1210 1211 typedef const struct Type15_mst { 1212 UINT8 marshalType; 1213 UINT8 modifiers; 1214 UINT8 errorCode; 1215 UINT32 values[2]; 1216 } Type15_mst; 1217 1218 typedef const struct Type17_mst { 1219 UINT8 marshalType; 1220 UINT8 modifiers; 1221 UINT8 errorCode; 1222 UINT32 values[2]; 1223 } Type17_mst; 1224 1225 typedef const struct Type18_mst { 1226 UINT8 marshalType; 1227 UINT8 modifiers; 1228 UINT8 errorCode; 1229 UINT32 values[2]; 1230 } Type18_mst; 1231 1232 typedef const struct Type19_mst { 1233 UINT8 marshalType; 1234 UINT8 modifiers; 1235 UINT8 errorCode; 1236 UINT32 values[2]; 1237 } Type19_mst; 1238 1239 typedef const struct Type20_mst { 1240 UINT8 marshalType; 1241 UINT8 modifiers; 1242 UINT8 errorCode; 1243 UINT32 values[2]; 1244 } Type20_mst; 1245 1246 typedef const struct Type22_mst { 1247 UINT8 marshalType; 1248 UINT8 modifiers; 1249 UINT8 errorCode; 1250 UINT32 values[2]; 1251 } Type22_mst; 1252 1253 typedef const struct Type23_mst { 1254 UINT8 marshalType; 1255 UINT8 modifiers; 1256 UINT8 errorCode; 1257 UINT32 values[2]; 1258 } Type23_mst; 1259 1260 typedef const struct Type24_mst { 1261 UINT8 marshalType; 1262 UINT8 modifiers; 1263 UINT8 errorCode; 1264 UINT32 values[2]; 1265 } Type24_mst; 1266 1267 typedef const struct Type25_mst { 1268 UINT8 marshalType; 1269 UINT8 modifiers; 1270 UINT8 errorCode; 1271 UINT32 values[2]; 1272 } Type25_mst; 1273 1274 typedef const struct Type26_mst { 1275 UINT8 marshalType; 1276 UINT8 modifiers; 1277 UINT8 errorCode; 1278 UINT32 values[2]; 1279 } Type26_mst; 1280 1281 typedef const struct Type27_mst { 1282 UINT8 marshalType; 1283 UINT8 modifiers; 1284 UINT8 errorCode; 1285 UINT32 values[2]; 1286 } Type27_mst; 1287 1288 typedef const struct Type29_mst { 1289 UINT8 marshalType; 1290 UINT8 modifiers; 1291 UINT8 errorCode; 1292 UINT32 values[2]; 1293 } Type29_mst; 1294 1295 typedef const struct Type30_mst { 1296 UINT8 marshalType; 1297 UINT8 modifiers; 1298 UINT8 errorCode; 1299 UINT32 values[2]; 1300 } Type30_mst; 1301 1302 typedef const struct Type33_mst { 1303 UINT8 marshalType; 1304 UINT8 modifiers; 1305 UINT8 errorCode; 1306 UINT32 values[2]; 1307 } Type33_mst; 1308 1309 typedef const struct Type34_mst { 1310 UINT8 marshalType; 1311 UINT8 modifiers; 1312 UINT8 errorCode; 1313 UINT32 values[2]; 1314 } Type34_mst; 1315 1316 typedef const struct Type35_mst { 1317 UINT8 marshalType; 1318 UINT8 modifiers; 1319 UINT8 errorCode; 1320 UINT32 values[2]; 1321 } Type35_mst; 1322 1323 typedef const struct Type38_mst { 1324 UINT8 marshalType; 1325 UINT8 modifiers; 1326 UINT8 errorCode; 1327 UINT32 values[2]; 1328 } Type38_mst; 1329 1330 typedef const struct Type41_mst { 1331 UINT8 marshalType; 1332 UINT8 modifiers; 1333 UINT8 errorCode; 1334 UINT32 values[2]; 1335 } Type41_mst; 1336 1337 typedef const struct Type42_mst { 1338 UINT8 marshalType; 1339 UINT8 modifiers; 1340 UINT8 errorCode; 1341 UINT32 values[2]; 1342 } Type42_mst; 1343 1344 typedef const struct Type44_mst { 1345 UINT8 marshalType; 1346 UINT8 modifiers; 1347 UINT8 errorCode; 1348 UINT32 values[2]; 1349 } Type44_mst; 1350 1351 // This structure combines all the individual marshaling structures to build 1352 // something that can be referenced by offset rather than full address 1353 typedef const struct MarshalData_st { 1354 UintMarshal_mst UINT8_DATA; 1355 UintMarshal_mst UINT16_DATA; 1356 UintMarshal_mst UINT32_DATA; 1357 UintMarshal_mst UINT64_DATA; 1358 UintMarshal_mst INT8_DATA; 1359 UintMarshal_mst INT16_DATA; 1360 UintMarshal_mst INT32_DATA; 1361 UintMarshal_mst INT64_DATA; 1362 UintMarshal_mst UINT0_DATA; 1363 TPM_ECC_CURVE_mst TPM_ECC_CURVE_DATA; 1364 TPM_CLOCK_ADJUST_mst TPM_CLOCK_ADJUST_DATA; 1365 TPM_EO_mst TPM_EO_DATA; 1366 TPM_SU_mst TPM_SU_DATA; 1367 TPM_SE_mst TPM_SE_DATA; 1368 TPM_CAP_mst TPM_CAP_DATA; 1369 AttributesMarshal_mst TPMA_ALGORITHM_DATA; 1370 AttributesMarshal_mst TPMA_OBJECT_DATA; 1371 AttributesMarshal_mst TPMA_SESSION_DATA; 1372 AttributesMarshal_mst TPMA_ACT_DATA; 1373 TPMI_YES_NO_mst TPMI_YES_NO_DATA; 1374 TPMI_DH_OBJECT_mst TPMI_DH_OBJECT_DATA; 1375 TPMI_DH_PARENT_mst TPMI_DH_PARENT_DATA; 1376 TPMI_DH_PERSISTENT_mst TPMI_DH_PERSISTENT_DATA; 1377 TPMI_DH_ENTITY_mst TPMI_DH_ENTITY_DATA; 1378 TPMI_DH_PCR_mst TPMI_DH_PCR_DATA; 1379 TPMI_SH_AUTH_SESSION_mst TPMI_SH_AUTH_SESSION_DATA; 1380 TPMI_SH_HMAC_mst TPMI_SH_HMAC_DATA; 1381 TPMI_SH_POLICY_mst TPMI_SH_POLICY_DATA; 1382 TPMI_DH_CONTEXT_mst TPMI_DH_CONTEXT_DATA; 1383 TPMI_DH_SAVED_mst TPMI_DH_SAVED_DATA; 1384 TPMI_RH_HIERARCHY_mst TPMI_RH_HIERARCHY_DATA; 1385 TPMI_RH_ENABLES_mst TPMI_RH_ENABLES_DATA; 1386 TPMI_RH_HIERARCHY_AUTH_mst TPMI_RH_HIERARCHY_AUTH_DATA; 1387 TPMI_RH_HIERARCHY_POLICY_mst TPMI_RH_HIERARCHY_POLICY_DATA; 1388 TPMI_RH_PLATFORM_mst TPMI_RH_PLATFORM_DATA; 1389 TPMI_RH_OWNER_mst TPMI_RH_OWNER_DATA; 1390 TPMI_RH_ENDORSEMENT_mst TPMI_RH_ENDORSEMENT_DATA; 1391 TPMI_RH_PROVISION_mst TPMI_RH_PROVISION_DATA; 1392 TPMI_RH_CLEAR_mst TPMI_RH_CLEAR_DATA; 1393 TPMI_RH_NV_AUTH_mst TPMI_RH_NV_AUTH_DATA; 1394 TPMI_RH_LOCKOUT_mst TPMI_RH_LOCKOUT_DATA; 1395 TPMI_RH_NV_INDEX_mst TPMI_RH_NV_INDEX_DATA; 1396 TPMI_RH_AC_mst TPMI_RH_AC_DATA; 1397 TPMI_RH_ACT_mst TPMI_RH_ACT_DATA; 1398 TPMI_ALG_HASH_mst TPMI_ALG_HASH_DATA; 1399 TPMI_ALG_ASYM_mst TPMI_ALG_ASYM_DATA; 1400 TPMI_ALG_SYM_mst TPMI_ALG_SYM_DATA; 1401 TPMI_ALG_SYM_OBJECT_mst TPMI_ALG_SYM_OBJECT_DATA; 1402 TPMI_ALG_SYM_MODE_mst TPMI_ALG_SYM_MODE_DATA; 1403 TPMI_ALG_KDF_mst TPMI_ALG_KDF_DATA; 1404 TPMI_ALG_SIG_SCHEME_mst TPMI_ALG_SIG_SCHEME_DATA; 1405 TPMI_ECC_KEY_EXCHANGE_mst TPMI_ECC_KEY_EXCHANGE_DATA; 1406 TPMI_ST_COMMAND_TAG_mst TPMI_ST_COMMAND_TAG_DATA; 1407 TPMI_ALG_MAC_SCHEME_mst TPMI_ALG_MAC_SCHEME_DATA; 1408 TPMI_ALG_CIPHER_MODE_mst TPMI_ALG_CIPHER_MODE_DATA; 1409 TPMS_EMPTY_mst TPMS_EMPTY_DATA; 1410 TPMS_ALGORITHM_DESCRIPTION_mst TPMS_ALGORITHM_DESCRIPTION_DATA; 1411 TPMU_HA_mst TPMU_HA_DATA; 1412 TPMT_HA_mst TPMT_HA_DATA; 1413 Tpm2bMarshal_mst TPM2B_DIGEST_DATA; 1414 Tpm2bMarshal_mst TPM2B_DATA_DATA; 1415 Tpm2bMarshal_mst TPM2B_EVENT_DATA; 1416 Tpm2bMarshal_mst TPM2B_MAX_BUFFER_DATA; 1417 Tpm2bMarshal_mst TPM2B_MAX_NV_BUFFER_DATA; 1418 Tpm2bMarshal_mst TPM2B_TIMEOUT_DATA; 1419 Tpm2bMarshal_mst TPM2B_IV_DATA; 1420 NullUnionMarshal_mst NULL_UNION_DATA; 1421 Tpm2bMarshal_mst TPM2B_NAME_DATA; 1422 TPMS_PCR_SELECT_mst TPMS_PCR_SELECT_DATA; 1423 TPMS_PCR_SELECTION_mst TPMS_PCR_SELECTION_DATA; 1424 TPMT_TK_CREATION_mst TPMT_TK_CREATION_DATA; 1425 TPMT_TK_VERIFIED_mst TPMT_TK_VERIFIED_DATA; 1426 TPMT_TK_AUTH_mst TPMT_TK_AUTH_DATA; 1427 TPMT_TK_HASHCHECK_mst TPMT_TK_HASHCHECK_DATA; 1428 TPMS_ALG_PROPERTY_mst TPMS_ALG_PROPERTY_DATA; 1429 TPMS_TAGGED_PROPERTY_mst TPMS_TAGGED_PROPERTY_DATA; 1430 TPMS_TAGGED_PCR_SELECT_mst TPMS_TAGGED_PCR_SELECT_DATA; 1431 TPMS_TAGGED_POLICY_mst TPMS_TAGGED_POLICY_DATA; 1432 TPMS_ACT_DATA_mst TPMS_ACT_DATA_DATA; 1433 ListMarshal_mst TPML_CC_DATA; 1434 ListMarshal_mst TPML_CCA_DATA; 1435 ListMarshal_mst TPML_ALG_DATA; 1436 ListMarshal_mst TPML_HANDLE_DATA; 1437 ListMarshal_mst TPML_DIGEST_DATA; 1438 ListMarshal_mst TPML_DIGEST_VALUES_DATA; 1439 ListMarshal_mst TPML_PCR_SELECTION_DATA; 1440 ListMarshal_mst TPML_ALG_PROPERTY_DATA; 1441 ListMarshal_mst TPML_TAGGED_TPM_PROPERTY_DATA; 1442 ListMarshal_mst TPML_TAGGED_PCR_PROPERTY_DATA; 1443 ListMarshal_mst TPML_ECC_CURVE_DATA; 1444 ListMarshal_mst TPML_TAGGED_POLICY_DATA; 1445 ListMarshal_mst TPML_ACT_DATA_DATA; 1446 TPMU_CAPABILITIES_mst TPMU_CAPABILITIES_DATA; 1447 TPMS_CAPABILITY_DATA_mst TPMS_CAPABILITY_DATA_DATA; 1448 TPMS_CLOCK_INFO_mst TPMS_CLOCK_INFO_DATA; 1449 TPMS_TIME_INFO_mst TPMS_TIME_INFO_DATA; 1450 TPMS_TIME_ATTEST_INFO_mst TPMS_TIME_ATTEST_INFO_DATA; 1451 TPMS_CERTIFY_INFO_mst TPMS_CERTIFY_INFO_DATA; 1452 TPMS_QUOTE_INFO_mst TPMS_QUOTE_INFO_DATA; 1453 TPMS_COMMAND_AUDIT_INFO_mst TPMS_COMMAND_AUDIT_INFO_DATA; 1454 TPMS_SESSION_AUDIT_INFO_mst TPMS_SESSION_AUDIT_INFO_DATA; 1455 TPMS_CREATION_INFO_mst TPMS_CREATION_INFO_DATA; 1456 TPMS_NV_CERTIFY_INFO_mst TPMS_NV_CERTIFY_INFO_DATA; 1457 TPMS_NV_DIGEST_CERTIFY_INFO_mst TPMS_NV_DIGEST_CERTIFY_INFO_DATA; 1458 TPMI_ST_ATTEST_mst TPMI_ST_ATTEST_DATA; 1459 TPMU_ATTEST_mst TPMU_ATTEST_DATA; 1460 TPMS_ATTEST_mst TPMS_ATTEST_DATA; 1461 Tpm2bMarshal_mst TPM2B_ATTEST_DATA; 1462 TPMS_AUTH_COMMAND_mst TPMS_AUTH_COMMAND_DATA; 1463 TPMS_AUTH_RESPONSE_mst TPMS_AUTH_RESPONSE_DATA; 1464 TPMI_TDES_KEY_BITS_mst TPMI_TDES_KEY_BITS_DATA; 1465 TPMI_AES_KEY_BITS_mst TPMI_AES_KEY_BITS_DATA; 1466 TPMI_SM4_KEY_BITS_mst TPMI_SM4_KEY_BITS_DATA; 1467 TPMI_CAMELLIA_KEY_BITS_mst TPMI_CAMELLIA_KEY_BITS_DATA; 1468 TPMU_SYM_KEY_BITS_mst TPMU_SYM_KEY_BITS_DATA; 1469 TPMU_SYM_MODE_mst TPMU_SYM_MODE_DATA; 1470 TPMT_SYM_DEF_mst TPMT_SYM_DEF_DATA; 1471 TPMT_SYM_DEF_OBJECT_mst TPMT_SYM_DEF_OBJECT_DATA; 1472 Tpm2bMarshal_mst TPM2B_SYM_KEY_DATA; 1473 TPMS_SYMCIPHER_PARMS_mst TPMS_SYMCIPHER_PARMS_DATA; 1474 Tpm2bMarshal_mst TPM2B_LABEL_DATA; 1475 TPMS_DERIVE_mst TPMS_DERIVE_DATA; 1476 Tpm2bMarshal_mst TPM2B_DERIVE_DATA; 1477 Tpm2bMarshal_mst TPM2B_SENSITIVE_DATA_DATA; 1478 TPMS_SENSITIVE_CREATE_mst TPMS_SENSITIVE_CREATE_DATA; 1479 Tpm2bsMarshal_mst TPM2B_SENSITIVE_CREATE_DATA; 1480 TPMS_SCHEME_HASH_mst TPMS_SCHEME_HASH_DATA; 1481 TPMS_SCHEME_ECDAA_mst TPMS_SCHEME_ECDAA_DATA; 1482 TPMI_ALG_KEYEDHASH_SCHEME_mst TPMI_ALG_KEYEDHASH_SCHEME_DATA; 1483 TPMS_SCHEME_XOR_mst TPMS_SCHEME_XOR_DATA; 1484 TPMU_SCHEME_KEYEDHASH_mst TPMU_SCHEME_KEYEDHASH_DATA; 1485 TPMT_KEYEDHASH_SCHEME_mst TPMT_KEYEDHASH_SCHEME_DATA; 1486 TPMU_SIG_SCHEME_mst TPMU_SIG_SCHEME_DATA; 1487 TPMT_SIG_SCHEME_mst TPMT_SIG_SCHEME_DATA; 1488 TPMU_KDF_SCHEME_mst TPMU_KDF_SCHEME_DATA; 1489 TPMT_KDF_SCHEME_mst TPMT_KDF_SCHEME_DATA; 1490 TPMI_ALG_ASYM_SCHEME_mst TPMI_ALG_ASYM_SCHEME_DATA; 1491 TPMU_ASYM_SCHEME_mst TPMU_ASYM_SCHEME_DATA; 1492 TPMI_ALG_RSA_SCHEME_mst TPMI_ALG_RSA_SCHEME_DATA; 1493 TPMT_RSA_SCHEME_mst TPMT_RSA_SCHEME_DATA; 1494 TPMI_ALG_RSA_DECRYPT_mst TPMI_ALG_RSA_DECRYPT_DATA; 1495 TPMT_RSA_DECRYPT_mst TPMT_RSA_DECRYPT_DATA; 1496 Tpm2bMarshal_mst TPM2B_PUBLIC_KEY_RSA_DATA; 1497 TPMI_RSA_KEY_BITS_mst TPMI_RSA_KEY_BITS_DATA; 1498 Tpm2bMarshal_mst TPM2B_PRIVATE_KEY_RSA_DATA; 1499 Tpm2bMarshal_mst TPM2B_ECC_PARAMETER_DATA; 1500 TPMS_ECC_POINT_mst TPMS_ECC_POINT_DATA; 1501 Tpm2bsMarshal_mst TPM2B_ECC_POINT_DATA; 1502 TPMI_ALG_ECC_SCHEME_mst TPMI_ALG_ECC_SCHEME_DATA; 1503 TPMI_ECC_CURVE_mst TPMI_ECC_CURVE_DATA; 1504 TPMT_ECC_SCHEME_mst TPMT_ECC_SCHEME_DATA; 1505 TPMS_ALGORITHM_DETAIL_ECC_mst TPMS_ALGORITHM_DETAIL_ECC_DATA; 1506 TPMS_SIGNATURE_RSA_mst TPMS_SIGNATURE_RSA_DATA; 1507 TPMS_SIGNATURE_ECC_mst TPMS_SIGNATURE_ECC_DATA; 1508 TPMU_SIGNATURE_mst TPMU_SIGNATURE_DATA; 1509 TPMT_SIGNATURE_mst TPMT_SIGNATURE_DATA; 1510 TPMU_ENCRYPTED_SECRET_mst TPMU_ENCRYPTED_SECRET_DATA; 1511 Tpm2bMarshal_mst TPM2B_ENCRYPTED_SECRET_DATA; 1512 TPMI_ALG_PUBLIC_mst TPMI_ALG_PUBLIC_DATA; 1513 TPMU_PUBLIC_ID_mst TPMU_PUBLIC_ID_DATA; 1514 TPMS_KEYEDHASH_PARMS_mst TPMS_KEYEDHASH_PARMS_DATA; 1515 TPMS_RSA_PARMS_mst TPMS_RSA_PARMS_DATA; 1516 TPMS_ECC_PARMS_mst TPMS_ECC_PARMS_DATA; 1517 TPMU_PUBLIC_PARMS_mst TPMU_PUBLIC_PARMS_DATA; 1518 TPMT_PUBLIC_PARMS_mst TPMT_PUBLIC_PARMS_DATA; 1519 TPMT_PUBLIC_mst TPMT_PUBLIC_DATA; 1520 Tpm2bsMarshal_mst TPM2B_PUBLIC_DATA; 1521 Tpm2bMarshal_mst TPM2B_TEMPLATE_DATA; 1522 Tpm2bMarshal_mst TPM2B_PRIVATE_VENDOR_SPECIFIC_DATA; 1523 TPMU_SENSITIVE_COMPOSITE_mst TPMU_SENSITIVE_COMPOSITE_DATA; 1524 TPMT_SENSITIVE_mst TPMT_SENSITIVE_DATA; 1525 Tpm2bsMarshal_mst TPM2B_SENSITIVE_DATA; 1526 Tpm2bMarshal_mst TPM2B_PRIVATE_DATA; 1527 Tpm2bMarshal_mst TPM2B_ID_OBJECT_DATA; 1528 TPMS_NV_PIN_COUNTER_PARAMETERS_mst TPMS_NV_PIN_COUNTER_PARAMETERS_DATA; 1529 AttributesMarshal_mst TPMA_NV_DATA; 1530 TPMS_NV_PUBLIC_mst TPMS_NV_PUBLIC_DATA; 1531 Tpm2bsMarshal_mst TPM2B_NV_PUBLIC_DATA; 1532 Tpm2bMarshal_mst TPM2B_CONTEXT_SENSITIVE_DATA; 1533 TPMS_CONTEXT_DATA_mst TPMS_CONTEXT_DATA_DATA; 1534 Tpm2bMarshal_mst TPM2B_CONTEXT_DATA_DATA; 1535 TPMS_CONTEXT_mst TPMS_CONTEXT_DATA; 1536 TPMS_CREATION_DATA_mst TPMS_CREATION_DATA_DATA; 1537 Tpm2bsMarshal_mst TPM2B_CREATION_DATA_DATA; 1538 TPM_AT_mst TPM_AT_DATA; 1539 TPMS_AC_OUTPUT_mst TPMS_AC_OUTPUT_DATA; 1540 ListMarshal_mst TPML_AC_CAPABILITIES_DATA; 1541 MinMaxMarshal_mst Type00_DATA; 1542 MinMaxMarshal_mst Type01_DATA; 1543 Type02_mst Type02_DATA; 1544 Type03_mst Type03_DATA; 1545 Type04_mst Type04_DATA; 1546 MinMaxMarshal_mst Type05_DATA; 1547 Type06_mst Type06_DATA; 1548 MinMaxMarshal_mst Type07_DATA; 1549 Type08_mst Type08_DATA; 1550 Type10_mst Type10_DATA; 1551 Type11_mst Type11_DATA; 1552 Type12_mst Type12_DATA; 1553 Type13_mst Type13_DATA; 1554 Type15_mst Type15_DATA; 1555 Type17_mst Type17_DATA; 1556 Type18_mst Type18_DATA; 1557 Type19_mst Type19_DATA; 1558 Type20_mst Type20_DATA; 1559 Type22_mst Type22_DATA; 1560 Type23_mst Type23_DATA; 1561 Type24_mst Type24_DATA; 1562 Type25_mst Type25_DATA; 1563 Type26_mst Type26_DATA; 1564 Type27_mst Type27_DATA; 1565 MinMaxMarshal_mst Type28_DATA; 1566 Type29_mst Type29_DATA; 1567 Type30_mst Type30_DATA; 1568 MinMaxMarshal_mst Type31_DATA; 1569 MinMaxMarshal_mst Type32_DATA; 1570 Type33_mst Type33_DATA; 1571 Type34_mst Type34_DATA; 1572 Type35_mst Type35_DATA; 1573 MinMaxMarshal_mst Type36_DATA; 1574 MinMaxMarshal_mst Type37_DATA; 1575 Type38_mst Type38_DATA; 1576 MinMaxMarshal_mst Type39_DATA; 1577 MinMaxMarshal_mst Type40_DATA; 1578 Type41_mst Type41_DATA; 1579 Type42_mst Type42_DATA; 1580 MinMaxMarshal_mst Type43_DATA; 1581 Type44_mst Type44_DATA; 1582 } MarshalData_st; 1583 1584 #endif // _TABLE_MARSHAL_TYPES_H_ 1585