1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /*********************************************************************** 3 * Copyright (c) 2015 - 2017, Intel Corporation 4 * 5 * All rights reserved. 6 ***********************************************************************/ 7 8 #ifndef MARSHAL_H 9 #define MARSHAL_H 10 11 #include <stdlib.h> 12 #include "tss2_common.h" 13 #include "tss2_tpm2_types.h" 14 15 #ifndef TSS2_API_VERSION_1_2_1_108 16 #error Version mismatch among TSS2 header files. 17 #endif /* TSS2_API_VERSION_1_2_1_108 */ 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 TSS2_RC 24 Tss2_MU_BYTE_Marshal( 25 BYTE src, 26 uint8_t buffer[], 27 size_t buffer_size, 28 size_t *offset); 29 30 TSS2_RC 31 Tss2_MU_BYTE_Unmarshal( 32 uint8_t const buffer[], 33 size_t buffer_size, 34 size_t *offset, 35 BYTE *dest); 36 37 TSS2_RC 38 Tss2_MU_INT8_Marshal( 39 INT8 src, 40 uint8_t buffer[], 41 size_t buffer_size, 42 size_t *offset); 43 44 TSS2_RC 45 Tss2_MU_INT8_Unmarshal( 46 uint8_t const buffer[], 47 size_t buffer_size, 48 size_t *offset, 49 INT8 *dest); 50 51 TSS2_RC 52 Tss2_MU_INT16_Marshal( 53 INT16 src, 54 uint8_t buffer[], 55 size_t buffer_size, 56 size_t *offset); 57 58 TSS2_RC 59 Tss2_MU_INT16_Unmarshal( 60 uint8_t const buffer[], 61 size_t buffer_size, 62 size_t *offset, 63 INT16 *dest); 64 65 TSS2_RC 66 Tss2_MU_INT32_Marshal( 67 INT32 src, 68 uint8_t buffer[], 69 size_t buffer_size, 70 size_t *offset); 71 72 TSS2_RC 73 Tss2_MU_INT32_Unmarshal( 74 uint8_t const buffer[], 75 size_t buffer_size, 76 size_t *offset, 77 INT32 *dest); 78 79 TSS2_RC 80 Tss2_MU_INT64_Marshal( 81 INT64 src, 82 uint8_t buffer[], 83 size_t buffer_size, 84 size_t *offset); 85 86 TSS2_RC 87 Tss2_MU_INT64_Unmarshal( 88 uint8_t const buffer[], 89 size_t buffer_size, 90 size_t *offset, 91 INT64 *dest); 92 93 TSS2_RC 94 Tss2_MU_UINT8_Marshal( 95 UINT8 src, 96 uint8_t buffer[], 97 size_t buffer_size, 98 size_t *offset); 99 100 TSS2_RC 101 Tss2_MU_UINT8_Unmarshal( 102 uint8_t const buffer[], 103 size_t buffer_size, 104 size_t *offset, 105 UINT8 *dest); 106 107 TSS2_RC 108 Tss2_MU_UINT16_Marshal( 109 UINT16 src, 110 uint8_t buffer[], 111 size_t buffer_size, 112 size_t *offset); 113 114 TSS2_RC 115 Tss2_MU_UINT16_Unmarshal( 116 uint8_t const buffer[], 117 size_t buffer_size, 118 size_t *offset, 119 UINT16 *dest); 120 121 TSS2_RC 122 Tss2_MU_UINT32_Marshal( 123 UINT32 src, 124 uint8_t buffer[], 125 size_t buffer_size, 126 size_t *offset); 127 128 TSS2_RC 129 Tss2_MU_UINT32_Unmarshal( 130 uint8_t const buffer[], 131 size_t buffer_size, 132 size_t *offset, 133 UINT32 *dest); 134 135 TSS2_RC 136 Tss2_MU_UINT64_Marshal( 137 UINT64 src, 138 uint8_t buffer[], 139 size_t buffer_size, 140 size_t *offset); 141 142 TSS2_RC 143 Tss2_MU_UINT64_Unmarshal( 144 uint8_t const buffer[], 145 size_t buffer_size, 146 size_t *offset, 147 UINT64 *dest); 148 149 TSS2_RC 150 Tss2_MU_TPM2_CC_Marshal( 151 TPM2_CC src, 152 uint8_t buffer[], 153 size_t buffer_size, 154 size_t *offset); 155 156 TSS2_RC 157 Tss2_MU_TPM2_CC_Unmarshal( 158 uint8_t const buffer[], 159 size_t buffer_size, 160 size_t *offset, 161 TPM2_CC *dest); 162 163 TSS2_RC 164 Tss2_MU_TPM2_ST_Marshal( 165 TPM2_ST src, 166 uint8_t buffer[], 167 size_t buffer_size, 168 size_t *offset); 169 170 TSS2_RC 171 Tss2_MU_TPM2_ST_Unmarshal( 172 uint8_t const buffer[], 173 size_t buffer_size, 174 size_t *offset, 175 TPM2_ST *dest); 176 177 TSS2_RC 178 Tss2_MU_TPMA_ALGORITHM_Marshal( 179 TPMA_ALGORITHM src, 180 uint8_t buffer[], 181 size_t buffer_size, 182 size_t *offset); 183 184 TSS2_RC 185 Tss2_MU_TPMA_ALGORITHM_Unmarshal( 186 uint8_t const buffer[], 187 size_t buffer_size, 188 size_t *offset, 189 TPMA_ALGORITHM *dest); 190 191 TSS2_RC 192 Tss2_MU_TPMA_CC_Marshal( 193 TPMA_CC src, 194 uint8_t buffer[], 195 size_t buffer_size, 196 size_t *offset); 197 198 TSS2_RC 199 Tss2_MU_TPMA_CC_Unmarshal( 200 uint8_t const buffer[], 201 size_t buffer_size, 202 size_t *offset, 203 TPMA_CC *dest); 204 205 TSS2_RC 206 Tss2_MU_TPMA_LOCALITY_Marshal( 207 TPMA_LOCALITY src, 208 uint8_t buffer[], 209 size_t buffer_size, 210 size_t *offset); 211 212 TSS2_RC 213 Tss2_MU_TPMA_LOCALITY_Unmarshal( 214 uint8_t const buffer[], 215 size_t buffer_size, 216 size_t *offset, 217 TPMA_LOCALITY *dest); 218 TSS2_RC 219 220 Tss2_MU_TPMA_NV_Marshal( 221 TPMA_NV src, 222 uint8_t buffer[], 223 size_t buffer_size, 224 size_t *offset); 225 226 TSS2_RC 227 Tss2_MU_TPMA_NV_Unmarshal( 228 uint8_t const buffer[], 229 size_t buffer_size, 230 size_t *offset, 231 TPMA_NV *dest); 232 233 TSS2_RC 234 Tss2_MU_TPMA_OBJECT_Marshal( 235 TPMA_OBJECT src, 236 uint8_t buffer[], 237 size_t buffer_size, 238 size_t *offset); 239 240 TSS2_RC 241 Tss2_MU_TPMA_OBJECT_Unmarshal( 242 uint8_t const buffer[], 243 size_t buffer_size, 244 size_t *offset, 245 TPMA_OBJECT *dest); 246 247 TSS2_RC 248 Tss2_MU_TPMA_PERMANENT_Marshal( 249 TPMA_PERMANENT src, 250 uint8_t buffer[], 251 size_t buffer_size, 252 size_t *offset); 253 254 TSS2_RC 255 Tss2_MU_TPMA_PERMANENT_Unmarshal( 256 uint8_t const buffer[], 257 size_t buffer_size, 258 size_t *offset, 259 TPMA_PERMANENT *dest); 260 261 TSS2_RC 262 Tss2_MU_TPMA_SESSION_Marshal( 263 TPMA_SESSION src, 264 uint8_t buffer[], 265 size_t buffer_size, 266 size_t *offset); 267 268 TSS2_RC 269 Tss2_MU_TPMA_SESSION_Unmarshal( 270 uint8_t const buffer[], 271 size_t buffer_size, 272 size_t *offset, 273 TPMA_SESSION *dest); 274 275 TSS2_RC 276 Tss2_MU_TPMA_STARTUP_CLEAR_Marshal( 277 TPMA_STARTUP_CLEAR src, 278 uint8_t buffer[], 279 size_t buffer_size, 280 size_t *offset); 281 282 TSS2_RC 283 Tss2_MU_TPMA_STARTUP_CLEAR_Unmarshal( 284 uint8_t const buffer[], 285 size_t buffer_size, 286 size_t *offset, 287 TPMA_STARTUP_CLEAR *dest); 288 289 TSS2_RC 290 Tss2_MU_TPM2B_DIGEST_Marshal( 291 TPM2B_DIGEST const *src, 292 uint8_t buffer[], 293 size_t buffer_size, 294 size_t *offset); 295 296 TSS2_RC 297 Tss2_MU_TPM2B_DIGEST_Unmarshal( 298 uint8_t const buffer[], 299 size_t buffer_size, 300 size_t *offset, 301 TPM2B_DIGEST *dest); 302 303 TSS2_RC 304 Tss2_MU_TPM2B_ATTEST_Marshal( 305 TPM2B_ATTEST const *src, 306 uint8_t buffer[], 307 size_t buffer_size, 308 size_t *offset); 309 310 TSS2_RC 311 Tss2_MU_TPM2B_ATTEST_Unmarshal( 312 uint8_t const buffer[], 313 size_t buffer_size, 314 size_t *offset, 315 TPM2B_ATTEST *dest); 316 317 TSS2_RC 318 Tss2_MU_TPM2B_NAME_Marshal( 319 TPM2B_NAME const *src, 320 uint8_t buffer[], 321 size_t buffer_size, 322 size_t *offset); 323 324 TSS2_RC 325 Tss2_MU_TPM2B_NAME_Unmarshal( 326 uint8_t const buffer[], 327 size_t buffer_size, 328 size_t *offset, 329 TPM2B_NAME *dest); 330 331 TSS2_RC 332 Tss2_MU_TPM2B_MAX_NV_BUFFER_Marshal( 333 TPM2B_MAX_NV_BUFFER const *src, 334 uint8_t buffer[], 335 size_t buffer_size, 336 size_t *offset); 337 338 TSS2_RC 339 Tss2_MU_TPM2B_MAX_NV_BUFFER_Unmarshal( 340 uint8_t const buffer[], 341 size_t buffer_size, 342 size_t *offset, 343 TPM2B_MAX_NV_BUFFER *dest); 344 345 TSS2_RC 346 Tss2_MU_TPM2B_SENSITIVE_DATA_Marshal( 347 TPM2B_SENSITIVE_DATA const *src, 348 uint8_t buffer[], 349 size_t buffer_size, 350 size_t *offset); 351 352 TSS2_RC 353 Tss2_MU_TPM2B_SENSITIVE_DATA_Unmarshal( 354 uint8_t const buffer[], 355 size_t buffer_size, 356 size_t *offset, 357 TPM2B_SENSITIVE_DATA *dest); 358 359 TSS2_RC 360 Tss2_MU_TPM2B_ECC_PARAMETER_Marshal( 361 TPM2B_ECC_PARAMETER const *src, 362 uint8_t buffer[], 363 size_t buffer_size, 364 size_t *offset); 365 366 TSS2_RC 367 Tss2_MU_TPM2B_ECC_PARAMETER_Unmarshal( 368 uint8_t const buffer[], 369 size_t buffer_size, 370 size_t *offset, 371 TPM2B_ECC_PARAMETER *dest); 372 373 TSS2_RC 374 Tss2_MU_TPM2B_PUBLIC_KEY_RSA_Marshal( 375 TPM2B_PUBLIC_KEY_RSA const *src, 376 uint8_t buffer[], 377 size_t buffer_size, 378 size_t *offset); 379 380 TSS2_RC 381 Tss2_MU_TPM2B_PUBLIC_KEY_RSA_Unmarshal( 382 uint8_t const buffer[], 383 size_t buffer_size, 384 size_t *offset, 385 TPM2B_PUBLIC_KEY_RSA *dest); 386 387 TSS2_RC 388 Tss2_MU_TPM2B_PRIVATE_KEY_RSA_Marshal( 389 TPM2B_PRIVATE_KEY_RSA const *src, 390 uint8_t buffer[], 391 size_t buffer_size, 392 size_t *offset); 393 394 TSS2_RC 395 Tss2_MU_TPM2B_PRIVATE_KEY_RSA_Unmarshal( 396 uint8_t const buffer[], 397 size_t buffer_size, 398 size_t *offset, 399 TPM2B_PRIVATE_KEY_RSA *dest); 400 401 TSS2_RC 402 Tss2_MU_TPM2B_PRIVATE_Marshal( 403 TPM2B_PRIVATE const *src, 404 uint8_t buffer[], 405 size_t buffer_size, 406 size_t *offset); 407 408 TSS2_RC 409 Tss2_MU_TPM2B_PRIVATE_Unmarshal( 410 uint8_t const buffer[], 411 size_t buffer_size, 412 size_t *offset, 413 TPM2B_PRIVATE *dest); 414 415 TSS2_RC 416 Tss2_MU_TPM2B_CONTEXT_SENSITIVE_Marshal( 417 TPM2B_CONTEXT_SENSITIVE const *src, 418 uint8_t buffer[], 419 size_t buffer_size, 420 size_t *offset); 421 422 TSS2_RC 423 Tss2_MU_TPM2B_CONTEXT_SENSITIVE_Unmarshal( 424 uint8_t const buffer[], 425 size_t buffer_size, 426 size_t *offset, 427 TPM2B_CONTEXT_SENSITIVE *dest); 428 429 TSS2_RC 430 Tss2_MU_TPM2B_CONTEXT_DATA_Marshal( 431 TPM2B_CONTEXT_DATA const *src, 432 uint8_t buffer[], 433 size_t buffer_size, 434 size_t *offset); 435 436 TSS2_RC 437 Tss2_MU_TPM2B_CONTEXT_DATA_Unmarshal( 438 uint8_t const buffer[], 439 size_t buffer_size, 440 size_t *offset, 441 TPM2B_CONTEXT_DATA *dest); 442 443 TSS2_RC 444 Tss2_MU_TPM2B_DATA_Marshal( 445 TPM2B_DATA const *src, 446 uint8_t buffer[], 447 size_t buffer_size, 448 size_t *offset); 449 450 TSS2_RC 451 Tss2_MU_TPM2B_DATA_Unmarshal( 452 uint8_t const buffer[], 453 size_t buffer_size, 454 size_t *offset, 455 TPM2B_DATA *dest); 456 457 TSS2_RC 458 Tss2_MU_TPM2B_SYM_KEY_Marshal( 459 TPM2B_SYM_KEY const *src, 460 uint8_t buffer[], 461 size_t buffer_size, 462 size_t *offset); 463 464 TSS2_RC 465 Tss2_MU_TPM2B_SYM_KEY_Unmarshal( 466 uint8_t const buffer[], 467 size_t buffer_size, 468 size_t *offset, 469 TPM2B_SYM_KEY *dest); 470 471 TSS2_RC 472 Tss2_MU_TPM2B_ECC_POINT_Marshal( 473 TPM2B_ECC_POINT const *src, 474 uint8_t buffer[], 475 size_t buffer_size, 476 size_t *offset); 477 478 TSS2_RC 479 Tss2_MU_TPM2B_ECC_POINT_Unmarshal( 480 uint8_t const buffer[], 481 size_t buffer_size, 482 size_t *offset, 483 TPM2B_ECC_POINT *dest); 484 485 TSS2_RC 486 Tss2_MU_TPM2B_NV_PUBLIC_Marshal( 487 TPM2B_NV_PUBLIC const *src, 488 uint8_t buffer[], 489 size_t buffer_size, 490 size_t *offset); 491 492 TSS2_RC 493 Tss2_MU_TPM2B_NV_PUBLIC_Unmarshal( 494 uint8_t const buffer[], 495 size_t buffer_size, 496 size_t *offset, 497 TPM2B_NV_PUBLIC *dest); 498 499 TSS2_RC 500 Tss2_MU_TPM2B_SENSITIVE_Marshal( 501 TPM2B_SENSITIVE const *src, 502 uint8_t buffer[], 503 size_t buffer_size, 504 size_t *offset); 505 506 TSS2_RC 507 Tss2_MU_TPM2B_SENSITIVE_Unmarshal( 508 uint8_t const buffer[], 509 size_t buffer_size, 510 size_t *offset, 511 TPM2B_SENSITIVE *dest); 512 513 TSS2_RC 514 Tss2_MU_TPM2B_SENSITIVE_CREATE_Marshal( 515 TPM2B_SENSITIVE_CREATE const *src, 516 uint8_t buffer[], 517 size_t buffer_size, 518 size_t *offset); 519 520 TSS2_RC 521 Tss2_MU_TPM2B_SENSITIVE_CREATE_Unmarshal( 522 uint8_t const buffer[], 523 size_t buffer_size, 524 size_t *offset, 525 TPM2B_SENSITIVE_CREATE *dest); 526 527 TSS2_RC 528 Tss2_MU_TPM2B_CREATION_DATA_Marshal( 529 TPM2B_CREATION_DATA const *src, 530 uint8_t buffer[], 531 size_t buffer_size, 532 size_t *offset); 533 534 TSS2_RC 535 Tss2_MU_TPM2B_CREATION_DATA_Unmarshal( 536 uint8_t const buffer[], 537 size_t buffer_size, 538 size_t *offset, 539 TPM2B_CREATION_DATA *dest); 540 541 TSS2_RC 542 Tss2_MU_TPM2B_PUBLIC_Marshal( 543 TPM2B_PUBLIC const *src, 544 uint8_t buffer[], 545 size_t buffer_size, 546 size_t *offset); 547 548 TSS2_RC 549 Tss2_MU_TPM2B_PUBLIC_Unmarshal( 550 uint8_t const buffer[], 551 size_t buffer_size, 552 size_t *offset, 553 TPM2B_PUBLIC *dest); 554 555 TSS2_RC 556 Tss2_MU_TPM2B_ENCRYPTED_SECRET_Marshal( 557 TPM2B_ENCRYPTED_SECRET const *src, 558 uint8_t buffer[], 559 size_t buffer_size, 560 size_t *offset); 561 562 TSS2_RC 563 Tss2_MU_TPM2B_ENCRYPTED_SECRET_Unmarshal( 564 uint8_t const buffer[], 565 size_t buffer_size, 566 size_t *offset, 567 TPM2B_ENCRYPTED_SECRET *dest); 568 569 TSS2_RC 570 Tss2_MU_TPM2B_ID_OBJECT_Marshal( 571 TPM2B_ID_OBJECT const *src, 572 uint8_t buffer[], 573 size_t buffer_size, 574 size_t *offset); 575 576 TSS2_RC 577 Tss2_MU_TPM2B_ID_OBJECT_Unmarshal( 578 uint8_t const buffer[], 579 size_t buffer_size, 580 size_t *offset, 581 TPM2B_ID_OBJECT *dest); 582 583 TSS2_RC 584 Tss2_MU_TPM2B_IV_Marshal( 585 TPM2B_IV const *src, 586 uint8_t buffer[], 587 size_t buffer_size, 588 size_t *offset); 589 590 TSS2_RC 591 Tss2_MU_TPM2B_IV_Unmarshal( 592 uint8_t const buffer[], 593 size_t buffer_size, 594 size_t *offset, 595 TPM2B_IV *dest); 596 597 TSS2_RC 598 Tss2_MU_TPM2B_AUTH_Marshal( 599 TPM2B_AUTH const *src, 600 uint8_t buffer[], 601 size_t buffer_size, 602 size_t *offset); 603 604 TSS2_RC 605 Tss2_MU_TPM2B_AUTH_Unmarshal( 606 uint8_t const buffer[], 607 size_t buffer_size, 608 size_t *offset, 609 TPM2B_AUTH *dest); 610 611 TSS2_RC 612 Tss2_MU_TPM2B_EVENT_Marshal( 613 TPM2B_EVENT const *src, 614 uint8_t buffer[], 615 size_t buffer_size, 616 size_t *offset); 617 618 TSS2_RC 619 Tss2_MU_TPM2B_EVENT_Unmarshal( 620 uint8_t const buffer[], 621 size_t buffer_size, 622 size_t *offset, 623 TPM2B_EVENT *dest); 624 625 TSS2_RC 626 Tss2_MU_TPM2B_MAX_BUFFER_Marshal( 627 TPM2B_MAX_BUFFER const *src, 628 uint8_t buffer[], 629 size_t buffer_size, 630 size_t *offset); 631 632 TSS2_RC 633 Tss2_MU_TPM2B_MAX_BUFFER_Unmarshal( 634 uint8_t const buffer[], 635 size_t buffer_size, 636 size_t *offset, 637 TPM2B_MAX_BUFFER *dest); 638 639 TSS2_RC 640 Tss2_MU_TPM2B_NONCE_Marshal( 641 TPM2B_NONCE const *src, 642 uint8_t buffer[], 643 size_t buffer_size, 644 size_t *offset); 645 646 TSS2_RC 647 Tss2_MU_TPM2B_NONCE_Unmarshal( 648 uint8_t const buffer[], 649 size_t buffer_size, 650 size_t *offset, 651 TPM2B_NONCE *dest); 652 653 TSS2_RC 654 Tss2_MU_TPM2B_OPERAND_Marshal( 655 TPM2B_OPERAND const *src, 656 uint8_t buffer[], 657 size_t buffer_size, 658 size_t *offset); 659 660 TSS2_RC 661 Tss2_MU_TPM2B_OPERAND_Unmarshal( 662 uint8_t const buffer[], 663 size_t buffer_size, 664 size_t *offset, 665 TPM2B_OPERAND *dest); 666 667 TSS2_RC 668 Tss2_MU_TPM2B_TIMEOUT_Marshal( 669 TPM2B_TIMEOUT const *src, 670 uint8_t buffer[], 671 size_t buffer_size, 672 size_t *offset); 673 674 TSS2_RC 675 Tss2_MU_TPM2B_TIMEOUT_Unmarshal( 676 uint8_t const buffer[], 677 size_t buffer_size, 678 size_t *offset, 679 TPM2B_TIMEOUT *dest); 680 681 TSS2_RC 682 Tss2_MU_TPM2B_TEMPLATE_Marshal( 683 TPM2B_TEMPLATE const *src, 684 uint8_t buffer[], 685 size_t buffer_size, 686 size_t *offset); 687 688 TSS2_RC 689 Tss2_MU_TPM2B_TEMPLATE_Unmarshal( 690 uint8_t const buffer[], 691 size_t buffer_size, 692 size_t *offset, 693 TPM2B_TEMPLATE *dest); 694 695 TSS2_RC 696 Tss2_MU_TPMS_CONTEXT_Marshal( 697 TPMS_CONTEXT const *src, 698 uint8_t buffer[], 699 size_t buffer_size, 700 size_t *offset); 701 702 TSS2_RC 703 Tss2_MU_TPMS_CONTEXT_Unmarshal( 704 uint8_t const buffer[], 705 size_t buffer_size, 706 size_t *offset, 707 TPMS_CONTEXT *dest); 708 709 TSS2_RC 710 Tss2_MU_TPMS_TIME_INFO_Marshal( 711 TPMS_TIME_INFO const *src, 712 uint8_t buffer[], 713 size_t buffer_size, 714 size_t *offset); 715 716 TSS2_RC 717 Tss2_MU_TPMS_TIME_INFO_Unmarshal( 718 uint8_t const buffer[], 719 size_t buffer_size, 720 size_t *offset, 721 TPMS_TIME_INFO *dest); 722 723 TSS2_RC 724 Tss2_MU_TPMS_ECC_POINT_Marshal( 725 TPMS_ECC_POINT const *src, 726 uint8_t buffer[], 727 size_t buffer_size, 728 size_t *offset); 729 730 TSS2_RC 731 Tss2_MU_TPMS_ECC_POINT_Unmarshal( 732 uint8_t const buffer[], 733 size_t buffer_size, 734 size_t *offset, 735 TPMS_ECC_POINT *dest); 736 737 TSS2_RC 738 Tss2_MU_TPMS_NV_PUBLIC_Marshal( 739 TPMS_NV_PUBLIC const *src, 740 uint8_t buffer[], 741 size_t buffer_size, 742 size_t *offset); 743 744 TSS2_RC 745 Tss2_MU_TPMS_NV_PUBLIC_Unmarshal( 746 uint8_t const buffer[], 747 size_t buffer_size, 748 size_t *offset, 749 TPMS_NV_PUBLIC *dest); 750 751 TSS2_RC 752 Tss2_MU_TPMS_ALG_PROPERTY_Marshal( 753 TPMS_ALG_PROPERTY const *src, 754 uint8_t buffer[], 755 size_t buffer_size, 756 size_t *offset); 757 758 TSS2_RC 759 Tss2_MU_TPMS_ALG_PROPERTY_Unmarshal( 760 uint8_t const buffer[], 761 size_t buffer_size, 762 size_t *offset, 763 TPMS_ALG_PROPERTY *dest); 764 765 TSS2_RC 766 Tss2_MU_TPMS_ALGORITHM_DESCRIPTION_Marshal( 767 TPMS_ALGORITHM_DESCRIPTION const *src, 768 uint8_t buffer[], 769 size_t buffer_size, 770 size_t *offset); 771 772 TSS2_RC 773 Tss2_MU_TPMS_ALGORITHM_DESCRIPTION_Unmarshal( 774 uint8_t const buffer[], 775 size_t buffer_size, 776 size_t *offset, 777 TPMS_ALGORITHM_DESCRIPTION *dest); 778 779 TSS2_RC 780 Tss2_MU_TPMS_TAGGED_PROPERTY_Marshal( 781 TPMS_TAGGED_PROPERTY const *src, 782 uint8_t buffer[], 783 size_t buffer_size, 784 size_t *offset); 785 786 TSS2_RC 787 Tss2_MU_TPMS_TAGGED_PROPERTY_Unmarshal( 788 uint8_t const buffer[], 789 size_t buffer_size, 790 size_t *offset, 791 TPMS_TAGGED_PROPERTY *dest); 792 793 TSS2_RC 794 Tss2_MU_TPMS_TAGGED_POLICY_Marshal( 795 TPMS_TAGGED_POLICY const *src, 796 uint8_t buffer[], 797 size_t buffer_size, 798 size_t *offset); 799 800 TSS2_RC 801 Tss2_MU_TPMS_TAGGED_POLICY_Unmarshal( 802 uint8_t const buffer[], 803 size_t buffer_size, 804 size_t *offset, 805 TPMS_TAGGED_POLICY *dest); 806 807 TSS2_RC 808 Tss2_MU_TPMS_CLOCK_INFO_Marshal( 809 TPMS_CLOCK_INFO const *src, 810 uint8_t buffer[], 811 size_t buffer_size, 812 size_t *offset); 813 814 TSS2_RC 815 Tss2_MU_TPMS_CLOCK_INFO_Unmarshal( 816 uint8_t const buffer[], 817 size_t buffer_size, 818 size_t *offset, 819 TPMS_CLOCK_INFO *dest); 820 821 TSS2_RC 822 Tss2_MU_TPMS_TIME_ATTEST_INFO_Marshal( 823 TPMS_TIME_ATTEST_INFO const *src, 824 uint8_t buffer[], 825 size_t buffer_size, 826 size_t *offset); 827 828 TSS2_RC 829 Tss2_MU_TPMS_TIME_ATTEST_INFO_Unmarshal( 830 uint8_t const buffer[], 831 size_t buffer_size, 832 size_t *offset, 833 TPMS_TIME_ATTEST_INFO *dest); 834 835 TSS2_RC 836 Tss2_MU_TPMS_CERTIFY_INFO_Marshal( 837 TPMS_CERTIFY_INFO const *src, 838 uint8_t buffer[], 839 size_t buffer_size, 840 size_t *offset); 841 842 TSS2_RC 843 Tss2_MU_TPMS_CERTIFY_INFO_Unmarshal( 844 uint8_t const buffer[], 845 size_t buffer_size, 846 size_t *offset, 847 TPMS_CERTIFY_INFO *dest); 848 849 TSS2_RC 850 Tss2_MU_TPMS_COMMAND_AUDIT_INFO_Marshal( 851 TPMS_COMMAND_AUDIT_INFO const *src, 852 uint8_t buffer[], 853 size_t buffer_size, 854 size_t *offset); 855 856 TSS2_RC 857 Tss2_MU_TPMS_COMMAND_AUDIT_INFO_Unmarshal( 858 uint8_t const buffer[], 859 size_t buffer_size, 860 size_t *offset, 861 TPMS_COMMAND_AUDIT_INFO *dest); 862 863 TSS2_RC 864 Tss2_MU_TPMS_SESSION_AUDIT_INFO_Marshal( 865 TPMS_SESSION_AUDIT_INFO const *src, 866 uint8_t buffer[], 867 size_t buffer_size, 868 size_t *offset); 869 870 TSS2_RC 871 Tss2_MU_TPMS_SESSION_AUDIT_INFO_Unmarshal( 872 uint8_t const buffer[], 873 size_t buffer_size, 874 size_t *offset, 875 TPMS_SESSION_AUDIT_INFO *dest); 876 877 TSS2_RC 878 Tss2_MU_TPMS_CREATION_INFO_Marshal( 879 TPMS_CREATION_INFO const *src, 880 uint8_t buffer[], 881 size_t buffer_size, 882 size_t *offset); 883 884 TSS2_RC 885 Tss2_MU_TPMS_CREATION_INFO_Unmarshal( 886 uint8_t const buffer[], 887 size_t buffer_size, 888 size_t *offset, 889 TPMS_CREATION_INFO *dest); 890 891 TSS2_RC 892 Tss2_MU_TPMS_NV_CERTIFY_INFO_Marshal( 893 TPMS_NV_CERTIFY_INFO const *src, 894 uint8_t buffer[], 895 size_t buffer_size, 896 size_t *offset); 897 898 TSS2_RC 899 Tss2_MU_TPMS_NV_CERTIFY_INFO_Unmarshal( 900 uint8_t const buffer[], 901 size_t buffer_size, 902 size_t *offset, 903 TPMS_NV_CERTIFY_INFO *dest); 904 905 TSS2_RC 906 Tss2_MU_TPMS_AUTH_COMMAND_Marshal( 907 TPMS_AUTH_COMMAND const *src, 908 uint8_t buffer[], 909 size_t buffer_size, 910 size_t *offset); 911 912 TSS2_RC 913 Tss2_MU_TPMS_AUTH_COMMAND_Unmarshal( 914 uint8_t const buffer[], 915 size_t buffer_size, 916 size_t *offset, 917 TPMS_AUTH_COMMAND *dest); 918 919 TSS2_RC 920 Tss2_MU_TPMS_AUTH_RESPONSE_Marshal( 921 TPMS_AUTH_RESPONSE const *src, 922 uint8_t buffer[], 923 size_t buffer_size, 924 size_t *offset); 925 926 TSS2_RC 927 Tss2_MU_TPMS_AUTH_RESPONSE_Unmarshal( 928 uint8_t const buffer[], 929 size_t buffer_size, 930 size_t *offset, 931 TPMS_AUTH_RESPONSE *dest); 932 933 TSS2_RC 934 Tss2_MU_TPMS_SENSITIVE_CREATE_Marshal( 935 TPMS_SENSITIVE_CREATE const *src, 936 uint8_t buffer[], 937 size_t buffer_size, 938 size_t *offset); 939 940 TSS2_RC 941 Tss2_MU_TPMS_SENSITIVE_CREATE_Unmarshal( 942 uint8_t const buffer[], 943 size_t buffer_size, 944 size_t *offset, 945 TPMS_SENSITIVE_CREATE *dest); 946 947 TSS2_RC 948 Tss2_MU_TPMS_SCHEME_HASH_Marshal( 949 TPMS_SCHEME_HASH const *src, 950 uint8_t buffer[], 951 size_t buffer_size, 952 size_t *offset); 953 954 TSS2_RC 955 Tss2_MU_TPMS_SCHEME_HASH_Unmarshal( 956 uint8_t const buffer[], 957 size_t buffer_size, 958 size_t *offset, 959 TPMS_SCHEME_HASH *dest); 960 961 TSS2_RC 962 Tss2_MU_TPMS_SCHEME_ECDAA_Marshal( 963 TPMS_SCHEME_ECDAA const *src, 964 uint8_t buffer[], 965 size_t buffer_size, 966 size_t *offset); 967 968 TSS2_RC 969 Tss2_MU_TPMS_SCHEME_ECDAA_Unmarshal( 970 uint8_t const buffer[], 971 size_t buffer_size, 972 size_t *offset, 973 TPMS_SCHEME_ECDAA *dest); 974 975 TSS2_RC 976 Tss2_MU_TPMS_SCHEME_XOR_Marshal( 977 TPMS_SCHEME_XOR const *src, 978 uint8_t buffer[], 979 size_t buffer_size, 980 size_t *offset); 981 982 TSS2_RC 983 Tss2_MU_TPMS_SCHEME_XOR_Unmarshal( 984 uint8_t const buffer[], 985 size_t buffer_size, 986 size_t *offset, 987 TPMS_SCHEME_XOR *dest); 988 989 TSS2_RC 990 Tss2_MU_TPMS_SIGNATURE_RSA_Marshal( 991 TPMS_SIGNATURE_RSA const *src, 992 uint8_t buffer[], 993 size_t buffer_size, 994 size_t *offset); 995 996 TSS2_RC 997 Tss2_MU_TPMS_SIGNATURE_RSA_Unmarshal( 998 uint8_t const buffer[], 999 size_t buffer_size, 1000 size_t *offset, 1001 TPMS_SIGNATURE_RSA *dest); 1002 1003 TSS2_RC 1004 Tss2_MU_TPMS_SIGNATURE_ECC_Marshal( 1005 TPMS_SIGNATURE_ECC const *src, 1006 uint8_t buffer[], 1007 size_t buffer_size, 1008 size_t *offset); 1009 1010 TSS2_RC 1011 Tss2_MU_TPMS_SIGNATURE_ECC_Unmarshal( 1012 uint8_t const buffer[], 1013 size_t buffer_size, 1014 size_t *offset, 1015 TPMS_SIGNATURE_ECC *dest); 1016 1017 TSS2_RC 1018 Tss2_MU_TPMS_NV_PIN_COUNTER_PARAMETERS_Marshal( 1019 TPMS_NV_PIN_COUNTER_PARAMETERS const *src, 1020 uint8_t buffer[], 1021 size_t buffer_size, 1022 size_t *offset); 1023 1024 TSS2_RC 1025 Tss2_MU_TPMS_NV_PIN_COUNTER_PARAMETERS_Unmarshal( 1026 uint8_t const buffer[], 1027 size_t buffer_size, 1028 size_t *offset, 1029 TPMS_NV_PIN_COUNTER_PARAMETERS *dest); 1030 1031 TSS2_RC 1032 Tss2_MU_TPMS_CONTEXT_DATA_Marshal( 1033 TPMS_CONTEXT_DATA const *src, 1034 uint8_t buffer[], 1035 size_t buffer_size, 1036 size_t *offset); 1037 1038 TSS2_RC 1039 Tss2_MU_TPMS_CONTEXT_DATA_Unmarshal( 1040 uint8_t const buffer[], 1041 size_t buffer_size, 1042 size_t *offset, 1043 TPMS_CONTEXT_DATA *dest); 1044 1045 TSS2_RC 1046 Tss2_MU_TPMS_PCR_SELECT_Marshal( 1047 TPMS_PCR_SELECT const *src, 1048 uint8_t buffer[], 1049 size_t buffer_size, 1050 size_t *offset); 1051 1052 TSS2_RC 1053 Tss2_MU_TPMS_PCR_SELECT_Unmarshal( 1054 uint8_t const buffer[], 1055 size_t buffer_size, 1056 size_t *offset, 1057 TPMS_PCR_SELECT *dest); 1058 1059 TSS2_RC 1060 Tss2_MU_TPMS_PCR_SELECTION_Marshal( 1061 TPMS_PCR_SELECTION const *src, 1062 uint8_t buffer[], 1063 size_t buffer_size, 1064 size_t *offset); 1065 1066 TSS2_RC 1067 Tss2_MU_TPMS_PCR_SELECTION_Unmarshal( 1068 uint8_t const buffer[], 1069 size_t buffer_size, 1070 size_t *offset, 1071 TPMS_PCR_SELECTION *dest); 1072 1073 TSS2_RC 1074 Tss2_MU_TPMS_TAGGED_PCR_SELECT_Marshal( 1075 TPMS_TAGGED_PCR_SELECT const *src, 1076 uint8_t buffer[], 1077 size_t buffer_size, 1078 size_t *offset); 1079 1080 TSS2_RC 1081 Tss2_MU_TPMS_TAGGED_PCR_SELECT_Unmarshal( 1082 uint8_t const buffer[], 1083 size_t buffer_size, 1084 size_t *offset, 1085 TPMS_TAGGED_PCR_SELECT *dest); 1086 1087 TSS2_RC 1088 Tss2_MU_TPMS_QUOTE_INFO_Marshal( 1089 TPMS_QUOTE_INFO const *src, 1090 uint8_t buffer[], 1091 size_t buffer_size, 1092 size_t *offset); 1093 1094 TSS2_RC 1095 Tss2_MU_TPMS_QUOTE_INFO_Unmarshal( 1096 uint8_t const buffer[], 1097 size_t buffer_size, 1098 size_t *offset, 1099 TPMS_QUOTE_INFO *dest); 1100 1101 TSS2_RC 1102 Tss2_MU_TPMS_CREATION_DATA_Marshal( 1103 TPMS_CREATION_DATA const *src, 1104 uint8_t buffer[], 1105 size_t buffer_size, 1106 size_t *offset); 1107 1108 TSS2_RC 1109 Tss2_MU_TPMS_CREATION_DATA_Unmarshal( 1110 uint8_t const buffer[], 1111 size_t buffer_size, 1112 size_t *offset, 1113 TPMS_CREATION_DATA *dest); 1114 1115 TSS2_RC 1116 Tss2_MU_TPMS_ECC_PARMS_Marshal( 1117 TPMS_ECC_PARMS const *src, 1118 uint8_t buffer[], 1119 size_t buffer_size, 1120 size_t *offset); 1121 1122 TSS2_RC 1123 Tss2_MU_TPMS_ECC_PARMS_Unmarshal( 1124 uint8_t const buffer[], 1125 size_t buffer_size, 1126 size_t *offset, 1127 TPMS_ECC_PARMS *dest); 1128 1129 TSS2_RC 1130 Tss2_MU_TPMS_ATTEST_Marshal( 1131 TPMS_ATTEST const *src, 1132 uint8_t buffer[], 1133 size_t buffer_size, 1134 size_t *offset); 1135 1136 TSS2_RC 1137 Tss2_MU_TPMS_ATTEST_Unmarshal( 1138 uint8_t const buffer[], 1139 size_t buffer_size, 1140 size_t *offset, 1141 TPMS_ATTEST *dest); 1142 1143 TSS2_RC 1144 Tss2_MU_TPMS_ALGORITHM_DETAIL_ECC_Marshal( 1145 TPMS_ALGORITHM_DETAIL_ECC const *src, 1146 uint8_t buffer[], 1147 size_t buffer_size, 1148 size_t *offset); 1149 1150 TSS2_RC 1151 Tss2_MU_TPMS_ALGORITHM_DETAIL_ECC_Unmarshal( 1152 uint8_t const buffer[], 1153 size_t buffer_size, 1154 size_t *offset, 1155 TPMS_ALGORITHM_DETAIL_ECC *dest); 1156 1157 TSS2_RC 1158 Tss2_MU_TPMS_CAPABILITY_DATA_Marshal( 1159 TPMS_CAPABILITY_DATA const *src, 1160 uint8_t buffer[], 1161 size_t buffer_size, 1162 size_t *offset); 1163 1164 TSS2_RC 1165 Tss2_MU_TPMS_CAPABILITY_DATA_Unmarshal( 1166 uint8_t const buffer[], 1167 size_t buffer_size, 1168 size_t *offset, 1169 TPMS_CAPABILITY_DATA *dest); 1170 1171 TSS2_RC 1172 Tss2_MU_TPMS_KEYEDHASH_PARMS_Marshal( 1173 TPMS_KEYEDHASH_PARMS const *src, 1174 uint8_t buffer[], 1175 size_t buffer_size, 1176 size_t *offset); 1177 1178 TSS2_RC 1179 Tss2_MU_TPMS_KEYEDHASH_PARMS_Unmarshal( 1180 uint8_t const buffer[], 1181 size_t buffer_size, 1182 size_t *offset, 1183 TPMS_KEYEDHASH_PARMS *dest); 1184 1185 TSS2_RC 1186 Tss2_MU_TPMS_RSA_PARMS_Marshal( 1187 TPMS_RSA_PARMS const *src, 1188 uint8_t buffer[], 1189 size_t buffer_size, 1190 size_t *offset); 1191 1192 TSS2_RC 1193 Tss2_MU_TPMS_RSA_PARMS_Unmarshal( 1194 uint8_t const buffer[], 1195 size_t buffer_size, 1196 size_t *offset, 1197 TPMS_RSA_PARMS *dest); 1198 1199 TSS2_RC 1200 Tss2_MU_TPMS_SYMCIPHER_PARMS_Marshal( 1201 TPMS_SYMCIPHER_PARMS const *src, 1202 uint8_t buffer[], 1203 size_t buffer_size, 1204 size_t *offset); 1205 1206 TSS2_RC 1207 Tss2_MU_TPMS_SYMCIPHER_PARMS_Unmarshal( 1208 uint8_t const buffer[], 1209 size_t buffer_size, 1210 size_t *offset, 1211 TPMS_SYMCIPHER_PARMS *dest); 1212 1213 TSS2_RC 1214 Tss2_MU_TPMS_AC_OUTPUT_Marshal( 1215 TPMS_AC_OUTPUT const *src, 1216 uint8_t buffer[], 1217 size_t buffer_size, 1218 size_t *offset); 1219 1220 TSS2_RC 1221 Tss2_MU_TPMS_AC_OUTPUT_Unmarshal( 1222 uint8_t const buffer[], 1223 size_t buffer_size, 1224 size_t *offset, 1225 TPMS_AC_OUTPUT *dest); 1226 1227 TSS2_RC 1228 Tss2_MU_TPMS_ID_OBJECT_Marshal( 1229 TPMS_ID_OBJECT const *src, 1230 uint8_t buffer[], 1231 size_t buffer_size, 1232 size_t *offset); 1233 1234 TSS2_RC 1235 Tss2_MU_TPMS_ID_OBJECT_Unmarshal( 1236 uint8_t const buffer[], 1237 size_t buffer_size, 1238 size_t *offset, 1239 TPMS_ID_OBJECT *dest); 1240 1241 TSS2_RC 1242 Tss2_MU_TPML_CC_Marshal( 1243 TPML_CC const *src, 1244 uint8_t buffer[], 1245 size_t buffer_size, 1246 size_t *offset); 1247 1248 TSS2_RC 1249 Tss2_MU_TPML_CC_Unmarshal( 1250 uint8_t const buffer[], 1251 size_t buffer_size, 1252 size_t *offset, 1253 TPML_CC *dest); 1254 1255 TSS2_RC 1256 Tss2_MU_TPML_CCA_Marshal( 1257 TPML_CCA const *src, 1258 uint8_t buffer[], 1259 size_t buffer_size, 1260 size_t *offset); 1261 1262 TSS2_RC 1263 Tss2_MU_TPML_CCA_Unmarshal( 1264 uint8_t const buffer[], 1265 size_t buffer_size, 1266 size_t *offset, 1267 TPML_CCA *dest); 1268 1269 TSS2_RC 1270 Tss2_MU_TPML_ALG_Marshal( 1271 TPML_ALG const *src, 1272 uint8_t buffer[], 1273 size_t buffer_size, 1274 size_t *offset); 1275 1276 TSS2_RC 1277 Tss2_MU_TPML_ALG_Unmarshal( 1278 uint8_t const buffer[], 1279 size_t buffer_size, 1280 size_t *offset, 1281 TPML_ALG *dest); 1282 1283 TSS2_RC 1284 Tss2_MU_TPML_HANDLE_Marshal( 1285 TPML_HANDLE const *src, 1286 uint8_t buffer[], 1287 size_t buffer_size, 1288 size_t *offset); 1289 1290 TSS2_RC 1291 Tss2_MU_TPML_HANDLE_Unmarshal( 1292 uint8_t const buffer[], 1293 size_t buffer_size, 1294 size_t *offset, 1295 TPML_HANDLE *dest); 1296 1297 TSS2_RC 1298 Tss2_MU_TPML_DIGEST_Marshal( 1299 TPML_DIGEST const *src, 1300 uint8_t buffer[], 1301 size_t buffer_size, 1302 size_t *offset); 1303 1304 TSS2_RC 1305 Tss2_MU_TPML_DIGEST_Unmarshal( 1306 uint8_t const buffer[], 1307 size_t buffer_size, 1308 size_t *offset, 1309 TPML_DIGEST *dest); 1310 1311 TSS2_RC 1312 Tss2_MU_TPML_DIGEST_VALUES_Marshal( 1313 TPML_DIGEST_VALUES const *src, 1314 uint8_t buffer[], 1315 size_t buffer_size, 1316 size_t *offset); 1317 1318 TSS2_RC 1319 Tss2_MU_TPML_DIGEST_VALUES_Unmarshal( 1320 uint8_t const buffer[], 1321 size_t buffer_size, 1322 size_t *offset, 1323 TPML_DIGEST_VALUES *dest); 1324 1325 TSS2_RC 1326 Tss2_MU_TPML_PCR_SELECTION_Marshal( 1327 TPML_PCR_SELECTION const *src, 1328 uint8_t buffer[], 1329 size_t buffer_size, 1330 size_t *offset); 1331 1332 TSS2_RC 1333 Tss2_MU_TPML_PCR_SELECTION_Unmarshal( 1334 uint8_t const buffer[], 1335 size_t buffer_size, 1336 size_t *offset, 1337 TPML_PCR_SELECTION *dest); 1338 1339 TSS2_RC 1340 Tss2_MU_TPML_ALG_PROPERTY_Marshal( 1341 TPML_ALG_PROPERTY const *src, 1342 uint8_t buffer[], 1343 size_t buffer_size, 1344 size_t *offset); 1345 1346 TSS2_RC 1347 Tss2_MU_TPML_ALG_PROPERTY_Unmarshal( 1348 uint8_t const buffer[], 1349 size_t buffer_size, 1350 size_t *offset, 1351 TPML_ALG_PROPERTY *dest); 1352 1353 TSS2_RC 1354 Tss2_MU_TPML_ECC_CURVE_Marshal( 1355 TPML_ECC_CURVE const *src, 1356 uint8_t buffer[], 1357 size_t buffer_size, 1358 size_t *offset); 1359 1360 TSS2_RC 1361 Tss2_MU_TPML_ECC_CURVE_Unmarshal( 1362 uint8_t const buffer[], 1363 size_t buffer_size, 1364 size_t *offset, 1365 TPML_ECC_CURVE *dest); 1366 1367 TSS2_RC 1368 Tss2_MU_TPML_TAGGED_PCR_PROPERTY_Marshal( 1369 TPML_TAGGED_PCR_PROPERTY const *src, 1370 uint8_t buffer[], 1371 size_t buffer_size, 1372 size_t *offset); 1373 1374 TSS2_RC 1375 Tss2_MU_TPML_TAGGED_PCR_PROPERTY_Unmarshal( 1376 uint8_t const buffer[], 1377 size_t buffer_size, 1378 size_t *offset, 1379 TPML_TAGGED_PCR_PROPERTY *dest); 1380 1381 TSS2_RC 1382 Tss2_MU_TPML_TAGGED_TPM_PROPERTY_Marshal( 1383 TPML_TAGGED_TPM_PROPERTY const *src, 1384 uint8_t buffer[], 1385 size_t buffer_size, 1386 size_t *offset); 1387 1388 TSS2_RC 1389 Tss2_MU_TPML_TAGGED_TPM_PROPERTY_Unmarshal( 1390 uint8_t const buffer[], 1391 size_t buffer_size, 1392 size_t *offset, 1393 TPML_TAGGED_TPM_PROPERTY *dest); 1394 1395 TSS2_RC 1396 Tss2_MU_TPML_INTEL_PTT_PROPERTY_Marshal( 1397 TPML_INTEL_PTT_PROPERTY const *src, 1398 uint8_t buffer[], 1399 size_t buffer_size, 1400 size_t *offset); 1401 1402 TSS2_RC 1403 Tss2_MU_TPML_INTEL_PTT_PROPERTY_Unmarshal( 1404 uint8_t const buffer[], 1405 size_t buffer_size, 1406 size_t *offset, 1407 TPML_INTEL_PTT_PROPERTY *dest); 1408 1409 TSS2_RC 1410 Tss2_MU_TPML_AC_CAPABILITIES_Marshal( 1411 TPML_AC_CAPABILITIES const *src, 1412 uint8_t buffer[], 1413 size_t buffer_size, 1414 size_t *offset); 1415 1416 TSS2_RC 1417 Tss2_MU_TPML_AC_CAPABILITIES_Unmarshal( 1418 uint8_t const buffer[], 1419 size_t buffer_size, 1420 size_t *offset, 1421 TPML_AC_CAPABILITIES *dest); 1422 1423 TSS2_RC 1424 Tss2_MU_TPMU_HA_Marshal( 1425 TPMU_HA const *src, 1426 uint32_t selector_value, 1427 uint8_t buffer[], 1428 size_t buffer_size, 1429 size_t *offset); 1430 1431 TSS2_RC 1432 Tss2_MU_TPMU_HA_Unmarshal( 1433 uint8_t const buffer[], 1434 size_t buffer_size, 1435 size_t *offset, 1436 uint32_t selector_value, 1437 TPMU_HA *dest); 1438 1439 TSS2_RC 1440 Tss2_MU_TPMU_CAPABILITIES_Marshal( 1441 TPMU_CAPABILITIES const *src, 1442 uint32_t selector_value, 1443 uint8_t buffer[], 1444 size_t buffer_size, 1445 size_t *offset); 1446 1447 TSS2_RC 1448 Tss2_MU_TPMU_CAPABILITIES_Unmarshal( 1449 uint8_t const buffer[], 1450 size_t buffer_size, 1451 size_t *offset, 1452 uint32_t selector_value, 1453 TPMU_CAPABILITIES *dest); 1454 1455 TSS2_RC 1456 Tss2_MU_TPMU_ATTEST_Marshal( 1457 TPMU_ATTEST const *src, 1458 uint32_t selector_value, 1459 uint8_t buffer[], 1460 size_t buffer_size, 1461 size_t *offset); 1462 1463 TSS2_RC 1464 Tss2_MU_TPMU_ATTEST_Unmarshal( 1465 uint8_t const buffer[], 1466 size_t buffer_size, 1467 size_t *offset, 1468 uint32_t selector_value, 1469 TPMU_ATTEST *dest); 1470 1471 TSS2_RC 1472 Tss2_MU_TPMU_SYM_KEY_BITS_Marshal( 1473 TPMU_SYM_KEY_BITS const *src, 1474 uint32_t selector_value, 1475 uint8_t buffer[], 1476 size_t buffer_size, 1477 size_t *offset); 1478 1479 TSS2_RC 1480 Tss2_MU_TPMU_SYM_KEY_BITS_Unmarshal( 1481 uint8_t const buffer[], 1482 size_t buffer_size, 1483 size_t *offset, 1484 uint32_t selector_value, 1485 TPMU_SYM_KEY_BITS *dest); 1486 1487 TSS2_RC 1488 Tss2_MU_TPMU_SYM_MODE_Marshal( 1489 TPMU_SYM_MODE const *src, 1490 uint32_t selector_value, 1491 uint8_t buffer[], 1492 size_t buffer_size, 1493 size_t *offset); 1494 1495 TSS2_RC 1496 Tss2_MU_TPMU_SYM_MODE_Unmarshal( 1497 uint8_t const buffer[], 1498 size_t buffer_size, 1499 size_t *offset, 1500 uint32_t selector_value, 1501 TPMU_SYM_MODE *dest); 1502 1503 TSS2_RC 1504 Tss2_MU_TPMU_SIG_SCHEME_Marshal( 1505 TPMU_SIG_SCHEME const *src, 1506 uint32_t selector_value, 1507 uint8_t buffer[], 1508 size_t buffer_size, 1509 size_t *offset); 1510 1511 TSS2_RC 1512 Tss2_MU_TPMU_SIG_SCHEME_Unmarshal( 1513 uint8_t const buffer[], 1514 size_t buffer_size, 1515 size_t *offset, 1516 uint32_t selector_value, 1517 TPMU_SIG_SCHEME *dest); 1518 1519 TSS2_RC 1520 Tss2_MU_TPMU_KDF_SCHEME_Marshal( 1521 TPMU_KDF_SCHEME const *src, 1522 uint32_t selector_value, 1523 uint8_t buffer[], 1524 size_t buffer_size, 1525 size_t *offset); 1526 1527 TSS2_RC 1528 Tss2_MU_TPMU_KDF_SCHEME_Unmarshal( 1529 uint8_t const buffer[], 1530 size_t buffer_size, 1531 size_t *offset, 1532 uint32_t selector_value, 1533 TPMU_KDF_SCHEME *dest); 1534 1535 TSS2_RC 1536 Tss2_MU_TPMU_ASYM_SCHEME_Marshal( 1537 TPMU_ASYM_SCHEME const *src, 1538 uint32_t selector_value, 1539 uint8_t buffer[], 1540 size_t buffer_size, 1541 size_t *offset); 1542 1543 TSS2_RC 1544 Tss2_MU_TPMU_ASYM_SCHEME_Unmarshal( 1545 uint8_t const buffer[], 1546 size_t buffer_size, 1547 size_t *offset, 1548 uint32_t selector_value, 1549 TPMU_ASYM_SCHEME *dest); 1550 1551 TSS2_RC 1552 Tss2_MU_TPMU_SCHEME_KEYEDHASH_Marshal( 1553 TPMU_SCHEME_KEYEDHASH const *src, 1554 uint32_t selector_value, 1555 uint8_t buffer[], 1556 size_t buffer_size, 1557 size_t *offset); 1558 1559 TSS2_RC 1560 Tss2_MU_TPMU_SCHEME_KEYEDHASH_Unmarshal( 1561 uint8_t const buffer[], 1562 size_t buffer_size, 1563 size_t *offset, 1564 uint32_t selector_value, 1565 TPMU_SCHEME_KEYEDHASH *dest); 1566 1567 TSS2_RC 1568 Tss2_MU_TPMU_SIGNATURE_Marshal( 1569 TPMU_SIGNATURE const *src, 1570 uint32_t selector_value, 1571 uint8_t buffer[], 1572 size_t buffer_size, 1573 size_t *offset); 1574 1575 TSS2_RC 1576 Tss2_MU_TPMU_SIGNATURE_Unmarshal( 1577 uint8_t const buffer[], 1578 size_t buffer_size, 1579 size_t *offset, 1580 uint32_t selector_value, 1581 TPMU_SIGNATURE *dest); 1582 1583 TSS2_RC 1584 Tss2_MU_TPMU_SENSITIVE_COMPOSITE_Marshal( 1585 TPMU_SENSITIVE_COMPOSITE const *src, 1586 uint32_t selector_value, 1587 uint8_t buffer[], 1588 size_t buffer_size, 1589 size_t *offset); 1590 1591 TSS2_RC 1592 Tss2_MU_TPMU_SENSITIVE_COMPOSITE_Unmarshal( 1593 uint8_t const buffer[], 1594 size_t buffer_size, 1595 size_t *offset, 1596 uint32_t selector_value, 1597 TPMU_SENSITIVE_COMPOSITE *dest); 1598 1599 TSS2_RC 1600 Tss2_MU_TPMU_ENCRYPTED_SECRET_Marshal( 1601 TPMU_ENCRYPTED_SECRET const *src, 1602 uint32_t selector_value, 1603 uint8_t buffer[], 1604 size_t buffer_size, 1605 size_t *offset); 1606 1607 TSS2_RC 1608 Tss2_MU_TPMU_ENCRYPTED_SECRET_Unmarshal( 1609 uint8_t const buffer[], 1610 size_t buffer_size, 1611 size_t *offset, 1612 uint32_t selector_value, 1613 TPMU_ENCRYPTED_SECRET *dest); 1614 1615 TSS2_RC 1616 Tss2_MU_TPMU_PUBLIC_PARMS_Marshal( 1617 TPMU_PUBLIC_PARMS const *src, 1618 uint32_t selector_value, 1619 uint8_t buffer[], 1620 size_t buffer_size, 1621 size_t *offset); 1622 1623 TSS2_RC 1624 Tss2_MU_TPMU_PUBLIC_PARMS_Unmarshal( 1625 uint8_t const buffer[], 1626 size_t buffer_size, 1627 size_t *offset, 1628 uint32_t selector_value, 1629 TPMU_PUBLIC_PARMS *dest); 1630 1631 TSS2_RC 1632 Tss2_MU_TPMU_PUBLIC_ID_Marshal( 1633 TPMU_PUBLIC_ID const *src, 1634 uint32_t selector_value, 1635 uint8_t buffer[], 1636 size_t buffer_size, 1637 size_t *offset); 1638 1639 TSS2_RC 1640 Tss2_MU_TPMU_PUBLIC_ID_Unmarshal( 1641 uint8_t const buffer[], 1642 size_t buffer_size, 1643 size_t *offset, 1644 uint32_t selector_value, 1645 TPMU_PUBLIC_ID *dest); 1646 1647 TSS2_RC 1648 Tss2_MU_TPMU_NAME_Marshal( 1649 TPMU_NAME const *src, 1650 uint32_t selector_value, 1651 uint8_t buffer[], 1652 size_t buffer_size, 1653 size_t *offset); 1654 1655 TSS2_RC 1656 Tss2_MU_TPMU_NAME_Unmarshal( 1657 uint8_t const buffer[], 1658 size_t buffer_size, 1659 size_t *offset, 1660 uint32_t selector_value, 1661 TPMU_NAME *dest); 1662 1663 TSS2_RC 1664 Tss2_MU_TPMT_HA_Marshal( 1665 TPMT_HA const *src, 1666 uint8_t buffer[], 1667 size_t buffer_size, 1668 size_t *offset); 1669 1670 TSS2_RC 1671 Tss2_MU_TPMT_HA_Unmarshal( 1672 uint8_t const buffer[], 1673 size_t buffer_size, 1674 size_t *offset, 1675 TPMT_HA *dest); 1676 1677 TSS2_RC 1678 Tss2_MU_TPMT_SYM_DEF_Marshal( 1679 TPMT_SYM_DEF const *src, 1680 uint8_t buffer[], 1681 size_t buffer_size, 1682 size_t *offset); 1683 1684 TSS2_RC 1685 Tss2_MU_TPMT_SYM_DEF_Unmarshal( 1686 uint8_t const buffer[], 1687 size_t buffer_size, 1688 size_t *offset, 1689 TPMT_SYM_DEF *dest); 1690 1691 TSS2_RC 1692 Tss2_MU_TPMT_SYM_DEF_OBJECT_Marshal( 1693 TPMT_SYM_DEF_OBJECT const *src, 1694 uint8_t buffer[], 1695 size_t buffer_size, 1696 size_t *offset); 1697 1698 TSS2_RC 1699 Tss2_MU_TPMT_SYM_DEF_OBJECT_Unmarshal( 1700 uint8_t const buffer[], 1701 size_t buffer_size, 1702 size_t *offset, 1703 TPMT_SYM_DEF_OBJECT *dest); 1704 1705 TSS2_RC 1706 Tss2_MU_TPMT_KEYEDHASH_SCHEME_Marshal( 1707 TPMT_KEYEDHASH_SCHEME const *src, 1708 uint8_t buffer[], 1709 size_t buffer_size, 1710 size_t *offset); 1711 1712 TSS2_RC 1713 Tss2_MU_TPMT_KEYEDHASH_SCHEME_Unmarshal( 1714 uint8_t const buffer[], 1715 size_t buffer_size, 1716 size_t *offset, 1717 TPMT_KEYEDHASH_SCHEME *dest); 1718 1719 TSS2_RC 1720 Tss2_MU_TPMT_SIG_SCHEME_Marshal( 1721 TPMT_SIG_SCHEME const *src, 1722 uint8_t buffer[], 1723 size_t buffer_size, 1724 size_t *offset); 1725 1726 TSS2_RC 1727 Tss2_MU_TPMT_SIG_SCHEME_Unmarshal( 1728 uint8_t const buffer[], 1729 size_t buffer_size, 1730 size_t *offset, 1731 TPMT_SIG_SCHEME *dest); 1732 1733 TSS2_RC 1734 Tss2_MU_TPMT_KDF_SCHEME_Marshal( 1735 TPMT_KDF_SCHEME const *src, 1736 uint8_t buffer[], 1737 size_t buffer_size, 1738 size_t *offset); 1739 1740 TSS2_RC 1741 Tss2_MU_TPMT_KDF_SCHEME_Unmarshal( 1742 uint8_t const buffer[], 1743 size_t buffer_size, 1744 size_t *offset, 1745 TPMT_KDF_SCHEME *dest); 1746 1747 TSS2_RC 1748 Tss2_MU_TPMT_ASYM_SCHEME_Marshal( 1749 TPMT_ASYM_SCHEME const *src, 1750 uint8_t buffer[], 1751 size_t buffer_size, 1752 size_t *offset); 1753 1754 TSS2_RC 1755 Tss2_MU_TPMT_ASYM_SCHEME_Unmarshal( 1756 uint8_t const buffer[], 1757 size_t buffer_size, 1758 size_t *offset, 1759 TPMT_ASYM_SCHEME *dest); 1760 1761 TSS2_RC 1762 Tss2_MU_TPMT_RSA_SCHEME_Marshal( 1763 TPMT_RSA_SCHEME const *src, 1764 uint8_t buffer[], 1765 size_t buffer_size, 1766 size_t *offset); 1767 1768 TSS2_RC 1769 Tss2_MU_TPMT_RSA_SCHEME_Unmarshal( 1770 uint8_t const buffer[], 1771 size_t buffer_size, 1772 size_t *offset, 1773 TPMT_RSA_SCHEME *dest); 1774 1775 TSS2_RC 1776 Tss2_MU_TPMT_RSA_DECRYPT_Marshal( 1777 TPMT_RSA_DECRYPT const *src, 1778 uint8_t buffer[], 1779 size_t buffer_size, 1780 size_t *offset); 1781 1782 TSS2_RC 1783 Tss2_MU_TPMT_RSA_DECRYPT_Unmarshal( 1784 uint8_t const buffer[], 1785 size_t buffer_size, 1786 size_t *offset, 1787 TPMT_RSA_DECRYPT *dest); 1788 1789 TSS2_RC 1790 Tss2_MU_TPMT_ECC_SCHEME_Marshal( 1791 TPMT_ECC_SCHEME const *src, 1792 uint8_t buffer[], 1793 size_t buffer_size, 1794 size_t *offset); 1795 1796 TSS2_RC 1797 Tss2_MU_TPMT_ECC_SCHEME_Unmarshal( 1798 uint8_t const buffer[], 1799 size_t buffer_size, 1800 size_t *offset, 1801 TPMT_ECC_SCHEME *dest); 1802 1803 TSS2_RC 1804 Tss2_MU_TPMT_SIGNATURE_Marshal( 1805 TPMT_SIGNATURE const *src, 1806 uint8_t buffer[], 1807 size_t buffer_size, 1808 size_t *offset); 1809 1810 TSS2_RC 1811 Tss2_MU_TPMT_SIGNATURE_Unmarshal( 1812 uint8_t const buffer[], 1813 size_t buffer_size, 1814 size_t *offset, 1815 TPMT_SIGNATURE *dest); 1816 1817 TSS2_RC 1818 Tss2_MU_TPMT_SENSITIVE_Marshal( 1819 TPMT_SENSITIVE const *src, 1820 uint8_t buffer[], 1821 size_t buffer_size, 1822 size_t *offset); 1823 1824 TSS2_RC 1825 Tss2_MU_TPMT_SENSITIVE_Unmarshal( 1826 uint8_t const buffer[], 1827 size_t buffer_size, 1828 size_t *offset, 1829 TPMT_SENSITIVE *dest); 1830 1831 TSS2_RC 1832 Tss2_MU_TPMT_PUBLIC_Marshal( 1833 TPMT_PUBLIC const *src, 1834 uint8_t buffer[], 1835 size_t buffer_size, 1836 size_t *offset); 1837 1838 TSS2_RC 1839 Tss2_MU_TPMT_PUBLIC_Unmarshal( 1840 uint8_t const buffer[], 1841 size_t buffer_size, 1842 size_t *offset, 1843 TPMT_PUBLIC *dest); 1844 1845 TSS2_RC 1846 Tss2_MU_TPMT_PUBLIC_PARMS_Marshal( 1847 TPMT_PUBLIC_PARMS const *src, 1848 uint8_t buffer[], 1849 size_t buffer_size, 1850 size_t *offset); 1851 1852 TSS2_RC 1853 Tss2_MU_TPMT_PUBLIC_PARMS_Unmarshal( 1854 uint8_t const buffer[], 1855 size_t buffer_size, 1856 size_t *offset, 1857 TPMT_PUBLIC_PARMS *dest); 1858 1859 TSS2_RC 1860 Tss2_MU_TPMT_TK_CREATION_Marshal( 1861 TPMT_TK_CREATION const *src, 1862 uint8_t buffer[], 1863 size_t buffer_size, 1864 size_t *offset); 1865 1866 TSS2_RC 1867 Tss2_MU_TPMT_TK_CREATION_Unmarshal( 1868 uint8_t const buffer[], 1869 size_t buffer_size, 1870 size_t *offset, 1871 TPMT_TK_CREATION *dest); 1872 1873 TSS2_RC 1874 Tss2_MU_TPMT_TK_VERIFIED_Marshal( 1875 TPMT_TK_VERIFIED const *src, 1876 uint8_t buffer[], 1877 size_t buffer_size, 1878 size_t *offset); 1879 1880 TSS2_RC 1881 Tss2_MU_TPMT_TK_VERIFIED_Unmarshal( 1882 uint8_t const buffer[], 1883 size_t buffer_size, 1884 size_t *offset, 1885 TPMT_TK_VERIFIED *dest); 1886 1887 TSS2_RC 1888 Tss2_MU_TPMT_TK_AUTH_Marshal( 1889 TPMT_TK_AUTH const *src, 1890 uint8_t buffer[], 1891 size_t buffer_size, 1892 size_t *offset); 1893 1894 TSS2_RC 1895 Tss2_MU_TPMT_TK_AUTH_Unmarshal( 1896 uint8_t const buffer[], 1897 size_t buffer_size, 1898 size_t *offset, 1899 TPMT_TK_AUTH *dest); 1900 1901 TSS2_RC 1902 Tss2_MU_TPMT_TK_HASHCHECK_Marshal( 1903 TPMT_TK_HASHCHECK const *src, 1904 uint8_t buffer[], 1905 size_t buffer_size, 1906 size_t *offset); 1907 1908 TSS2_RC 1909 Tss2_MU_TPMT_TK_HASHCHECK_Unmarshal( 1910 uint8_t const buffer[], 1911 size_t buffer_size, 1912 size_t *offset, 1913 TPMT_TK_HASHCHECK *dest); 1914 1915 TSS2_RC Tss2_MU_TPM2_HANDLE_Marshal( 1916 TPM2_HANDLE in, 1917 uint8_t *buffer, 1918 size_t size, 1919 size_t *offset); 1920 1921 TSS2_RC 1922 Tss2_MU_TPM2_HANDLE_Unmarshal( 1923 uint8_t const buffer[], 1924 size_t size, 1925 size_t *offset, 1926 TPM2_HANDLE *out); 1927 1928 TSS2_RC 1929 Tss2_MU_TPMI_ALG_HASH_Marshal( 1930 TPMI_ALG_HASH in, 1931 uint8_t *buffer, 1932 size_t size, 1933 size_t *offset); 1934 1935 TSS2_RC 1936 Tss2_MU_TPMI_ALG_HASH_Unmarshal( 1937 uint8_t const buffer[], 1938 size_t size, 1939 size_t *offset, 1940 TPMI_ALG_HASH *out); 1941 1942 TSS2_RC 1943 Tss2_MU_BYTE_Marshal( 1944 BYTE in, 1945 uint8_t *buffer, 1946 size_t size, 1947 size_t *offset); 1948 1949 TSS2_RC 1950 Tss2_MU_BYTE_Unmarshal( 1951 uint8_t const buffer[], 1952 size_t size, 1953 size_t *offset, 1954 BYTE *out); 1955 1956 TSS2_RC 1957 Tss2_MU_TPM2_SE_Marshal( 1958 TPM2_SE in, 1959 uint8_t *buffer, 1960 size_t size, 1961 size_t *offset); 1962 1963 TSS2_RC 1964 Tss2_MU_TPM2_SE_Unmarshal( 1965 uint8_t const buffer[], 1966 size_t size, 1967 size_t *offset, 1968 TPM2_SE *out); 1969 1970 TSS2_RC 1971 Tss2_MU_TPM2_NT_Marshal( 1972 TPM2_NT in, 1973 uint8_t *buffer, 1974 size_t size, 1975 size_t *offset); 1976 1977 TSS2_RC 1978 Tss2_MU_TPM2_NT_Unmarshal( 1979 uint8_t const buffer[], 1980 size_t size, 1981 size_t *offset, 1982 TPM2_NT *out); 1983 1984 TSS2_RC 1985 Tss2_MU_TPMS_EMPTY_Marshal( 1986 TPMS_EMPTY const *in, 1987 uint8_t *buffer, 1988 size_t size, 1989 size_t *offset); 1990 1991 TSS2_RC 1992 Tss2_MU_TPMS_EMPTY_Unmarshal( 1993 uint8_t const buffer[], 1994 size_t size, 1995 size_t *offset, 1996 TPMS_EMPTY *out); 1997 1998 #ifdef __cplusplus 1999 } 2000 #endif 2001 2002 #endif /* MARSHAL_H */ 2003