1/** @file 2 A emptry template implementation of PCD Library. 3 4 Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13**/ 14 15#include <Base.h> 16 17#include <Library/DebugLib.h> 18#include <Library/PcdLib.h> 19#include <Library/BaseMemoryLib.h> 20 21 22/** 23 This function provides a means by which SKU support can be established in the PCD infrastructure. 24 25 Sets the current SKU in the PCD database to the value specified by SkuId. SkuId is returned. 26 27 @param[in] SkuId The SKU value that will be used when the PCD service will retrieve and 28 set values associated with a PCD token. 29 30 @return Return the SKU ID that just be set. 31 32**/ 33UINTN 34EFIAPI 35LibPcdSetSku ( 36 IN UINTN SkuId 37 ) 38{ 39 ASSERT (FALSE); 40 41 return 0; 42} 43 44/** 45 This function provides a means by which to retrieve a value for a given PCD token. 46 47 Returns the 8-bit value for the token specified by TokenNumber. 48 49 @param[in] TokenNumber The PCD token number to retrieve a current value for. 50 51 @return Returns the 8-bit value for the token specified by TokenNumber. 52 53**/ 54UINT8 55EFIAPI 56LibPcdGet8 ( 57 IN UINTN TokenNumber 58 ) 59{ 60 ASSERT (FALSE); 61 62 return 0; 63} 64 65 66 67/** 68 This function provides a means by which to retrieve a value for a given PCD token. 69 70 Returns the 16-bit value for the token specified by TokenNumber. 71 72 @param[in] TokenNumber The PCD token number to retrieve a current value for. 73 74 @return Returns the 16-bit value for the token specified by TokenNumber. 75 76**/ 77UINT16 78EFIAPI 79LibPcdGet16 ( 80 IN UINTN TokenNumber 81 ) 82{ 83 ASSERT (FALSE); 84 85 return 0; 86} 87 88 89 90/** 91 This function provides a means by which to retrieve a value for a given PCD token. 92 93 Returns the 32-bit value for the token specified by TokenNumber. 94 95 @param[in] TokenNumber The PCD token number to retrieve a current value for. 96 97 @return Returns the 32-bit value for the token specified by TokenNumber. 98 99**/ 100UINT32 101EFIAPI 102LibPcdGet32 ( 103 IN UINTN TokenNumber 104 ) 105{ 106 ASSERT (FALSE); 107 108 return 0; 109} 110 111 112 113/** 114 This function provides a means by which to retrieve a value for a given PCD token. 115 116 Returns the 64-bit value for the token specified by TokenNumber. 117 118 @param[in] TokenNumber The PCD token number to retrieve a current value for. 119 120 @return Returns the 64-bit value for the token specified by TokenNumber. 121 122**/ 123UINT64 124EFIAPI 125LibPcdGet64 ( 126 IN UINTN TokenNumber 127 ) 128{ 129 ASSERT (FALSE); 130 131 return 0; 132} 133 134 135 136/** 137 This function provides a means by which to retrieve a value for a given PCD token. 138 139 Returns the pointer to the buffer of the token specified by TokenNumber. 140 141 @param[in] TokenNumber The PCD token number to retrieve a current value for. 142 143 @return Returns the pointer to the token specified by TokenNumber. 144 145**/ 146VOID * 147EFIAPI 148LibPcdGetPtr ( 149 IN UINTN TokenNumber 150 ) 151{ 152 ASSERT (FALSE); 153 154 return 0; 155} 156 157 158 159/** 160 This function provides a means by which to retrieve a value for a given PCD token. 161 162 Returns the Boolean value of the token specified by TokenNumber. 163 164 @param[in] TokenNumber The PCD token number to retrieve a current value for. 165 166 @return Returns the Boolean value of the token specified by TokenNumber. 167 168**/ 169BOOLEAN 170EFIAPI 171LibPcdGetBool ( 172 IN UINTN TokenNumber 173 ) 174{ 175 ASSERT (FALSE); 176 177 return 0; 178} 179 180 181 182/** 183 This function provides a means by which to retrieve the size of a given PCD token. 184 185 @param[in] TokenNumber The PCD token number to retrieve a current value for. 186 187 @return Returns the size of the token specified by TokenNumber. 188 189**/ 190UINTN 191EFIAPI 192LibPcdGetSize ( 193 IN UINTN TokenNumber 194 ) 195{ 196 ASSERT (FALSE); 197 198 return 0; 199} 200 201 202 203/** 204 This function provides a means by which to retrieve a value for a given PCD token. 205 206 Returns the 8-bit value for the token specified by TokenNumber and Guid. 207 208 If Guid is NULL, then ASSERT(). 209 210 @param[in] Guid The pointer to a 128-bit unique value that designates 211 which namespace to retrieve a value from. 212 @param[in] TokenNumber The PCD token number to retrieve a current value for. 213 214 @return Return the UINT8. 215 216**/ 217UINT8 218EFIAPI 219LibPcdGetEx8 ( 220 IN CONST GUID *Guid, 221 IN UINTN TokenNumber 222 ) 223{ 224 ASSERT (FALSE); 225 226 return 0; 227} 228 229 230 231/** 232 This function provides a means by which to retrieve a value for a given PCD token. 233 234 Returns the 16-bit value for the token specified by TokenNumber and Guid. 235 236 If Guid is NULL, then ASSERT(). 237 238 @param[in] Guid The pointer to a 128-bit unique value that designates 239 which namespace to retrieve a value from. 240 @param[in] TokenNumber The PCD token number to retrieve a current value for. 241 242 @return Return the UINT16. 243 244**/ 245UINT16 246EFIAPI 247LibPcdGetEx16 ( 248 IN CONST GUID *Guid, 249 IN UINTN TokenNumber 250 ) 251{ 252 ASSERT (FALSE); 253 254 return 0; 255} 256 257 258 259/** 260 Returns the 32-bit value for the token specified by TokenNumber and Guid. 261 If Guid is NULL, then ASSERT(). 262 263 @param[in] Guid The pointer to a 128-bit unique value that designates 264 which namespace to retrieve a value from. 265 @param[in] TokenNumber The PCD token number to retrieve a current value for. 266 267 @return Return the UINT32. 268 269**/ 270UINT32 271EFIAPI 272LibPcdGetEx32 ( 273 IN CONST GUID *Guid, 274 IN UINTN TokenNumber 275 ) 276{ 277 ASSERT (FALSE); 278 279 return 0; 280} 281 282 283 284/** 285 This function provides a means by which to retrieve a value for a given PCD token. 286 287 Returns the 64-bit value for the token specified by TokenNumber and Guid. 288 289 If Guid is NULL, then ASSERT(). 290 291 @param[in] Guid The pointer to a 128-bit unique value that designates 292 which namespace to retrieve a value from. 293 @param[in] TokenNumber The PCD token number to retrieve a current value for. 294 295 @return Return the UINT64. 296 297**/ 298UINT64 299EFIAPI 300LibPcdGetEx64 ( 301 IN CONST GUID *Guid, 302 IN UINTN TokenNumber 303 ) 304{ 305 ASSERT (FALSE); 306 307 return 0; 308} 309 310 311 312/** 313 This function provides a means by which to retrieve a value for a given PCD token. 314 315 Returns the pointer to the buffer of token specified by TokenNumber and Guid. 316 317 If Guid is NULL, then ASSERT(). 318 319 @param[in] Guid The pointer to a 128-bit unique value that designates 320 which namespace to retrieve a value from. 321 @param[in] TokenNumber The PCD token number to retrieve a current value for. 322 323 @return Return the VOID* pointer. 324 325**/ 326VOID * 327EFIAPI 328LibPcdGetExPtr ( 329 IN CONST GUID *Guid, 330 IN UINTN TokenNumber 331 ) 332{ 333 ASSERT (FALSE); 334 335 return 0; 336} 337 338 339 340/** 341 This function provides a means by which to retrieve a value for a given PCD token. 342 343 Returns the Boolean value of the token specified by TokenNumber and Guid. 344 345 If Guid is NULL, then ASSERT(). 346 347 @param[in] Guid The pointer to a 128-bit unique value that designates 348 which namespace to retrieve a value from. 349 @param[in] TokenNumber The PCD token number to retrieve a current value for. 350 351 @return Return the BOOLEAN. 352 353**/ 354BOOLEAN 355EFIAPI 356LibPcdGetExBool ( 357 IN CONST GUID *Guid, 358 IN UINTN TokenNumber 359 ) 360{ 361 ASSERT (FALSE); 362 363 return 0; 364} 365 366 367 368/** 369 This function provides a means by which to retrieve the size of a given PCD token. 370 371 Returns the size of the token specified by TokenNumber and Guid. 372 373 If Guid is NULL, then ASSERT(). 374 375 @param[in] Guid The pointer to a 128-bit unique value that designates 376 which namespace to retrieve a value from. 377 @param[in] TokenNumber The PCD token number to retrieve a current value for. 378 379 @return Return the size. 380 381**/ 382UINTN 383EFIAPI 384LibPcdGetExSize ( 385 IN CONST GUID *Guid, 386 IN UINTN TokenNumber 387 ) 388{ 389 ASSERT (FALSE); 390 391 return 0; 392} 393 394 395 396#ifndef DISABLE_NEW_DEPRECATED_INTERFACES 397/** 398 This function provides a means by which to set a value for a given PCD token. 399 400 Sets the 8-bit value for the token specified by TokenNumber 401 to the value specified by Value. Value is returned. 402 403 @param[in] TokenNumber The PCD token number to set a current value for. 404 @param[in] Value The 8-bit value to set. 405 406 @return Return the value that was set. 407 408**/ 409UINT8 410EFIAPI 411LibPcdSet8 ( 412 IN UINTN TokenNumber, 413 IN UINT8 Value 414 ) 415{ 416 ASSERT (FALSE); 417 418 return 0; 419} 420 421 422 423/** 424 This function provides a means by which to set a value for a given PCD token. 425 426 Sets the 16-bit value for the token specified by TokenNumber 427 to the value specified by Value. Value is returned. 428 429 @param[in] TokenNumber The PCD token number to set a current value for. 430 @param[in] Value The 16-bit value to set. 431 432 @return Return the value that was set. 433 434**/ 435UINT16 436EFIAPI 437LibPcdSet16 ( 438 IN UINTN TokenNumber, 439 IN UINT16 Value 440 ) 441{ 442 ASSERT (FALSE); 443 444 return 0; 445} 446 447 448 449/** 450 This function provides a means by which to set a value for a given PCD token. 451 452 Sets the 32-bit value for the token specified by TokenNumber 453 to the value specified by Value. Value is returned. 454 455 @param[in] TokenNumber The PCD token number to set a current value for. 456 @param[in] Value The 32-bit value to set. 457 458 @return Return the value that was set. 459 460**/ 461UINT32 462EFIAPI 463LibPcdSet32 ( 464 IN UINTN TokenNumber, 465 IN UINT32 Value 466 ) 467{ 468 ASSERT (FALSE); 469 470 return 0; 471} 472 473 474 475/** 476 This function provides a means by which to set a value for a given PCD token. 477 478 Sets the 64-bit value for the token specified by TokenNumber 479 to the value specified by Value. Value is returned. 480 481 @param[in] TokenNumber The PCD token number to set a current value for. 482 @param[in] Value The 64-bit value to set. 483 484 @return Return the value that was set. 485 486**/ 487UINT64 488EFIAPI 489LibPcdSet64 ( 490 IN UINTN TokenNumber, 491 IN UINT64 Value 492 ) 493{ 494 ASSERT (FALSE); 495 496 return 0; 497} 498 499 500 501/** 502 This function provides a means by which to set a value for a given PCD token. 503 504 Sets a buffer for the token specified by TokenNumber to the value 505 specified by Buffer and SizeOfBuffer. Buffer is returned. 506 If SizeOfBuffer is greater than the maximum size support by TokenNumber, 507 then set SizeOfBuffer to the maximum size supported by TokenNumber and 508 return NULL to indicate that the set operation was not actually performed. 509 510 If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the 511 maximum size supported by TokenName and NULL must be returned. 512 513 If SizeOfBuffer is NULL, then ASSERT(). 514 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 515 516 @param[in] TokenNumber The PCD token number to set a current value for. 517 @param[in, out] SizeOfBuffer The size, in bytes, of Buffer. 518 @param[in] Buffer A pointer to the buffer to set. 519 520 @return Return the pointer for the buffer been set. 521 522**/ 523VOID * 524EFIAPI 525LibPcdSetPtr ( 526 IN UINTN TokenNumber, 527 IN OUT UINTN *SizeOfBuffer, 528 IN CONST VOID *Buffer 529 ) 530{ 531 ASSERT (FALSE); 532 533 return NULL; 534} 535 536 537 538/** 539 This function provides a means by which to set a value for a given PCD token. 540 541 Sets the Boolean value for the token specified by TokenNumber 542 to the value specified by Value. Value is returned. 543 544 @param[in] TokenNumber The PCD token number to set a current value for. 545 @param[in] Value The boolean value to set. 546 547 @return Return the value that was set. 548 549**/ 550BOOLEAN 551EFIAPI 552LibPcdSetBool ( 553 IN UINTN TokenNumber, 554 IN BOOLEAN Value 555 ) 556{ 557 ASSERT (FALSE); 558 559 return FALSE; 560} 561 562 563 564/** 565 This function provides a means by which to set a value for a given PCD token. 566 567 Sets the 8-bit value for the token specified by TokenNumber and 568 Guid to the value specified by Value. Value is returned. 569 570 If Guid is NULL, then ASSERT(). 571 572 @param[in] Guid The pointer to a 128-bit unique value that 573 designates which namespace to set a value from. 574 @param[in] TokenNumber The PCD token number to set a current value for. 575 @param[in] Value The 8-bit value to set. 576 577 @return Return the value that was set. 578 579**/ 580UINT8 581EFIAPI 582LibPcdSetEx8 ( 583 IN CONST GUID *Guid, 584 IN UINTN TokenNumber, 585 IN UINT8 Value 586 ) 587{ 588 ASSERT (FALSE); 589 590 return 0; 591} 592 593 594 595/** 596 This function provides a means by which to set a value for a given PCD token. 597 598 Sets the 16-bit value for the token specified by TokenNumber and 599 Guid to the value specified by Value. Value is returned. 600 601 If Guid is NULL, then ASSERT(). 602 603 @param[in] Guid The pointer to a 128-bit unique value that 604 designates which namespace to set a value from. 605 @param[in] TokenNumber The PCD token number to set a current value for. 606 @param[in] Value The 16-bit value to set. 607 608 @return Return the value that was set. 609 610**/ 611UINT16 612EFIAPI 613LibPcdSetEx16 ( 614 IN CONST GUID *Guid, 615 IN UINTN TokenNumber, 616 IN UINT16 Value 617 ) 618{ 619 ASSERT (FALSE); 620 621 return 0; 622} 623 624 625 626/** 627 This function provides a means by which to set a value for a given PCD token. 628 629 Sets the 32-bit value for the token specified by TokenNumber and 630 Guid to the value specified by Value. Value is returned. 631 632 If Guid is NULL, then ASSERT(). 633 634 @param[in] Guid The pointer to a 128-bit unique value that 635 designates which namespace to set a value from. 636 @param[in] TokenNumber The PCD token number to set a current value for. 637 @param[in] Value The 32-bit value to set. 638 639 @return Return the value that was set. 640 641**/ 642UINT32 643EFIAPI 644LibPcdSetEx32 ( 645 IN CONST GUID *Guid, 646 IN UINTN TokenNumber, 647 IN UINT32 Value 648 ) 649{ 650 ASSERT (FALSE); 651 652 return 0; 653} 654 655 656 657/** 658 This function provides a means by which to set a value for a given PCD token. 659 660 Sets the 64-bit value for the token specified by TokenNumber and 661 Guid to the value specified by Value. Value is returned. 662 663 If Guid is NULL, then ASSERT(). 664 665 @param[in] Guid The pointer to a 128-bit unique value that 666 designates which namespace to set a value from. 667 @param[in] TokenNumber The PCD token number to set a current value for. 668 @param[in] Value The 64-bit value to set. 669 670 @return Return the value that was set. 671 672**/ 673UINT64 674EFIAPI 675LibPcdSetEx64 ( 676 IN CONST GUID *Guid, 677 IN UINTN TokenNumber, 678 IN UINT64 Value 679 ) 680{ 681 ASSERT (FALSE); 682 683 return 0; 684} 685 686 687 688/** 689 This function provides a means by which to set a value for a given PCD token. 690 691 Sets a buffer for the token specified by TokenNumber to the value specified by 692 Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than 693 the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size 694 supported by TokenNumber and return NULL to indicate that the set operation 695 was not actually performed. 696 697 If Guid is NULL, then ASSERT(). 698 If SizeOfBuffer is NULL, then ASSERT(). 699 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 700 701 @param[in] Guid The pointer to a 128-bit unique value that 702 designates which namespace to set a value from. 703 @param[in] TokenNumber The PCD token number to set a current value for. 704 @param[in, out] SizeOfBuffer The size, in bytes, of Buffer. 705 @param[in] Buffer A pointer to the buffer to set. 706 707 @return Return the pinter to the buffer been set. 708 709**/ 710VOID * 711EFIAPI 712LibPcdSetExPtr ( 713 IN CONST GUID *Guid, 714 IN UINTN TokenNumber, 715 IN OUT UINTN *SizeOfBuffer, 716 IN VOID *Buffer 717 ) 718{ 719 ASSERT (FALSE); 720 721 return NULL; 722} 723 724 725 726/** 727 This function provides a means by which to set a value for a given PCD token. 728 729 Sets the Boolean value for the token specified by TokenNumber and 730 Guid to the value specified by Value. Value is returned. 731 732 If Guid is NULL, then ASSERT(). 733 734 @param[in] Guid The pointer to a 128-bit unique value that 735 designates which namespace to set a value from. 736 @param[in] TokenNumber The PCD token number to set a current value for. 737 @param[in] Value The Boolean value to set. 738 739 @return Return the value that was set. 740 741**/ 742BOOLEAN 743EFIAPI 744LibPcdSetExBool ( 745 IN CONST GUID *Guid, 746 IN UINTN TokenNumber, 747 IN BOOLEAN Value 748 ) 749{ 750 ASSERT (FALSE); 751 752 return FALSE; 753} 754#endif 755 756/** 757 This function provides a means by which to set a value for a given PCD token. 758 759 Sets the 8-bit value for the token specified by TokenNumber 760 to the value specified by Value. 761 762 @param[in] TokenNumber The PCD token number to set a current value for. 763 @param[in] Value The 8-bit value to set. 764 765 @return The status of the set operation. 766 767**/ 768RETURN_STATUS 769EFIAPI 770LibPcdSet8S ( 771 IN UINTN TokenNumber, 772 IN UINT8 Value 773 ) 774{ 775 ASSERT (FALSE); 776 777 return RETURN_INVALID_PARAMETER; 778} 779 780/** 781 This function provides a means by which to set a value for a given PCD token. 782 783 Sets the 16-bit value for the token specified by TokenNumber 784 to the value specified by Value. 785 786 @param[in] TokenNumber The PCD token number to set a current value for. 787 @param[in] Value The 16-bit value to set. 788 789 @return The status of the set operation. 790 791**/ 792RETURN_STATUS 793EFIAPI 794LibPcdSet16S ( 795 IN UINTN TokenNumber, 796 IN UINT16 Value 797 ) 798{ 799 ASSERT (FALSE); 800 801 return RETURN_INVALID_PARAMETER; 802} 803 804/** 805 This function provides a means by which to set a value for a given PCD token. 806 807 Sets the 32-bit value for the token specified by TokenNumber 808 to the value specified by Value. 809 810 @param[in] TokenNumber The PCD token number to set a current value for. 811 @param[in] Value The 32-bit value to set. 812 813 @return The status of the set operation. 814 815**/ 816RETURN_STATUS 817EFIAPI 818LibPcdSet32S ( 819 IN UINTN TokenNumber, 820 IN UINT32 Value 821 ) 822{ 823 ASSERT (FALSE); 824 825 return RETURN_INVALID_PARAMETER; 826} 827 828/** 829 This function provides a means by which to set a value for a given PCD token. 830 831 Sets the 64-bit value for the token specified by TokenNumber 832 to the value specified by Value. 833 834 @param[in] TokenNumber The PCD token number to set a current value for. 835 @param[in] Value The 64-bit value to set. 836 837 @return The status of the set operation. 838 839**/ 840RETURN_STATUS 841EFIAPI 842LibPcdSet64S ( 843 IN UINTN TokenNumber, 844 IN UINT64 Value 845 ) 846{ 847 ASSERT (FALSE); 848 849 return RETURN_INVALID_PARAMETER; 850} 851 852/** 853 This function provides a means by which to set a value for a given PCD token. 854 855 Sets a buffer for the token specified by TokenNumber to the value specified 856 by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than the maximum size 857 support by TokenNumber, then set SizeOfBuffer to the maximum size supported by 858 TokenNumber and return EFI_INVALID_PARAMETER to indicate that the set operation 859 was not actually performed. 860 861 If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the 862 maximum size supported by TokenName and EFI_INVALID_PARAMETER must be returned. 863 864 If SizeOfBuffer is NULL, then ASSERT(). 865 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 866 867 @param[in] TokenNumber The PCD token number to set a current value for. 868 @param[in, out] SizeOfBuffer The size, in bytes, of Buffer. 869 @param[in] Buffer A pointer to the buffer to set. 870 871 @return The status of the set operation. 872 873**/ 874RETURN_STATUS 875EFIAPI 876LibPcdSetPtrS ( 877 IN UINTN TokenNumber, 878 IN OUT UINTN *SizeOfBuffer, 879 IN CONST VOID *Buffer 880 ) 881{ 882 ASSERT (FALSE); 883 884 return RETURN_INVALID_PARAMETER; 885} 886 887/** 888 This function provides a means by which to set a value for a given PCD token. 889 890 Sets the boolean value for the token specified by TokenNumber 891 to the value specified by Value. 892 893 @param[in] TokenNumber The PCD token number to set a current value for. 894 @param[in] Value The boolean value to set. 895 896 @return The status of the set operation. 897 898**/ 899RETURN_STATUS 900EFIAPI 901LibPcdSetBoolS ( 902 IN UINTN TokenNumber, 903 IN BOOLEAN Value 904 ) 905{ 906 ASSERT (FALSE); 907 908 return RETURN_INVALID_PARAMETER; 909} 910 911/** 912 This function provides a means by which to set a value for a given PCD token. 913 914 Sets the 8-bit value for the token specified by TokenNumber 915 to the value specified by Value. 916 917 If Guid is NULL, then ASSERT(). 918 919 @param[in] Guid The pointer to a 128-bit unique value that 920 designates which namespace to set a value from. 921 @param[in] TokenNumber The PCD token number to set a current value for. 922 @param[in] Value The 8-bit value to set. 923 924 @return The status of the set operation. 925 926**/ 927RETURN_STATUS 928EFIAPI 929LibPcdSetEx8S ( 930 IN CONST GUID *Guid, 931 IN UINTN TokenNumber, 932 IN UINT8 Value 933 ) 934{ 935 ASSERT (FALSE); 936 937 return RETURN_INVALID_PARAMETER; 938} 939 940/** 941 This function provides a means by which to set a value for a given PCD token. 942 943 Sets the 16-bit value for the token specified by TokenNumber 944 to the value specified by Value. 945 946 If Guid is NULL, then ASSERT(). 947 948 @param[in] Guid The pointer to a 128-bit unique value that 949 designates which namespace to set a value from. 950 @param[in] TokenNumber The PCD token number to set a current value for. 951 @param[in] Value The 16-bit value to set. 952 953 @return The status of the set operation. 954 955**/ 956RETURN_STATUS 957EFIAPI 958LibPcdSetEx16S ( 959 IN CONST GUID *Guid, 960 IN UINTN TokenNumber, 961 IN UINT16 Value 962 ) 963{ 964 ASSERT (FALSE); 965 966 return RETURN_INVALID_PARAMETER; 967} 968 969/** 970 This function provides a means by which to set a value for a given PCD token. 971 972 Sets the 32-bit value for the token specified by TokenNumber 973 to the value specified by Value. 974 975 If Guid is NULL, then ASSERT(). 976 977 @param[in] Guid The pointer to a 128-bit unique value that 978 designates which namespace to set a value from. 979 @param[in] TokenNumber The PCD token number to set a current value for. 980 @param[in] Value The 32-bit value to set. 981 982 @return The status of the set operation. 983 984**/ 985RETURN_STATUS 986EFIAPI 987LibPcdSetEx32S ( 988 IN CONST GUID *Guid, 989 IN UINTN TokenNumber, 990 IN UINT32 Value 991 ) 992{ 993 ASSERT (FALSE); 994 995 return RETURN_INVALID_PARAMETER; 996} 997 998/** 999 This function provides a means by which to set a value for a given PCD token. 1000 1001 Sets the 64-bit value for the token specified by TokenNumber 1002 to the value specified by Value. 1003 1004 If Guid is NULL, then ASSERT(). 1005 1006 @param[in] Guid The pointer to a 128-bit unique value that 1007 designates which namespace to set a value from. 1008 @param[in] TokenNumber The PCD token number to set a current value for. 1009 @param[in] Value The 64-bit value to set. 1010 1011 @return The status of the set operation. 1012 1013**/ 1014RETURN_STATUS 1015EFIAPI 1016LibPcdSetEx64S ( 1017 IN CONST GUID *Guid, 1018 IN UINTN TokenNumber, 1019 IN UINT64 Value 1020 ) 1021{ 1022 ASSERT (FALSE); 1023 1024 return RETURN_INVALID_PARAMETER; 1025} 1026 1027/** 1028 This function provides a means by which to set a value for a given PCD token. 1029 1030 Sets a buffer for the token specified by TokenNumber to the value specified by 1031 Buffer and SizeOfBuffer. If SizeOfBuffer is greater than the maximum size 1032 support by TokenNumber, then set SizeOfBuffer to the maximum size supported by 1033 TokenNumber and return EFI_INVALID_PARAMETER to indicate that the set operation 1034 was not actually performed. 1035 1036 If Guid is NULL, then ASSERT(). 1037 If SizeOfBuffer is NULL, then ASSERT(). 1038 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 1039 1040 @param[in] Guid Pointer to a 128-bit unique value that 1041 designates which namespace to set a value from. 1042 @param[in] TokenNumber The PCD token number to set a current value for. 1043 @param[in, out] SizeOfBuffer The size, in bytes, of Buffer. 1044 @param[in] Buffer A pointer to the buffer to set. 1045 1046 @return The status of the set operation. 1047 1048**/ 1049RETURN_STATUS 1050EFIAPI 1051LibPcdSetExPtrS ( 1052 IN CONST GUID *Guid, 1053 IN UINTN TokenNumber, 1054 IN OUT UINTN *SizeOfBuffer, 1055 IN VOID *Buffer 1056 ) 1057{ 1058 ASSERT (FALSE); 1059 1060 return RETURN_INVALID_PARAMETER; 1061} 1062 1063/** 1064 This function provides a means by which to set a value for a given PCD token. 1065 1066 Sets the boolean value for the token specified by TokenNumber 1067 to the value specified by Value. 1068 1069 If Guid is NULL, then ASSERT(). 1070 1071 @param[in] Guid The pointer to a 128-bit unique value that 1072 designates which namespace to set a value from. 1073 @param[in] TokenNumber The PCD token number to set a current value for. 1074 @param[in] Value The boolean value to set. 1075 1076 @return The status of the set operation. 1077 1078**/ 1079RETURN_STATUS 1080EFIAPI 1081LibPcdSetExBoolS ( 1082 IN CONST GUID *Guid, 1083 IN UINTN TokenNumber, 1084 IN BOOLEAN Value 1085 ) 1086{ 1087 ASSERT (FALSE); 1088 1089 return RETURN_INVALID_PARAMETER; 1090} 1091 1092/** 1093 Set up a notification function that is called when a specified token is set. 1094 1095 When the token specified by TokenNumber and Guid is set, 1096 then notification function specified by NotificationFunction is called. 1097 If Guid is NULL, then the default token space is used. 1098 1099 If NotificationFunction is NULL, then ASSERT(). 1100 1101 @param[in] Guid The pointer to a 128-bit unique value that designates which 1102 namespace to set a value from. If NULL, then the default 1103 token space is used. 1104 @param[in] TokenNumber The PCD token number to monitor. 1105 @param[in] NotificationFunction The function to call when the token 1106 specified by Guid and TokenNumber is set. 1107 1108**/ 1109VOID 1110EFIAPI 1111LibPcdCallbackOnSet ( 1112 IN CONST GUID *Guid, OPTIONAL 1113 IN UINTN TokenNumber, 1114 IN PCD_CALLBACK NotificationFunction 1115 ) 1116{ 1117 ASSERT (FALSE); 1118} 1119 1120 1121 1122/** 1123 Disable a notification function that was established with LibPcdCallbackonSet(). 1124 1125 Disable a notification function that was previously established with LibPcdCallbackOnSet(). 1126 1127 If NotificationFunction is NULL, then ASSERT(). 1128 If LibPcdCallbackOnSet() was not previously called with Guid, TokenNumber, 1129 and NotificationFunction, then ASSERT(). 1130 1131 @param[in] Guid Specify the GUID token space. 1132 @param[in] TokenNumber Specify the token number. 1133 @param[in] NotificationFunction The callback function to be unregistered. 1134 1135**/ 1136VOID 1137EFIAPI 1138LibPcdCancelCallback ( 1139 IN CONST GUID *Guid, OPTIONAL 1140 IN UINTN TokenNumber, 1141 IN PCD_CALLBACK NotificationFunction 1142 ) 1143{ 1144 ASSERT (FALSE); 1145} 1146 1147 1148 1149/** 1150 Retrieves the next token in a token space. 1151 1152 Retrieves the next PCD token number from the token space specified by Guid. 1153 If Guid is NULL, then the default token space is used. If TokenNumber is 0, 1154 then the first token number is returned. Otherwise, the token number that 1155 follows TokenNumber in the token space is returned. If TokenNumber is the last 1156 token number in the token space, then 0 is returned. 1157 1158 If TokenNumber is not 0 and is not in the token space specified by Guid, then ASSERT(). 1159 1160 @param[in] Guid The pointer to a 128-bit unique value that designates which namespace 1161 to set a value from. If NULL, then the default token space is used. 1162 @param[in] TokenNumber The previous PCD token number. If 0, then retrieves the first PCD 1163 token number. 1164 1165 @return The next valid token number. 1166 1167**/ 1168UINTN 1169EFIAPI 1170LibPcdGetNextToken ( 1171 IN CONST GUID *Guid, OPTIONAL 1172 IN UINTN TokenNumber 1173 ) 1174{ 1175 ASSERT (FALSE); 1176 1177 return 0; 1178} 1179 1180 1181 1182/** 1183 Used to retrieve the list of available PCD token space GUIDs. 1184 1185 Returns the PCD token space GUID that follows TokenSpaceGuid in the list of token spaces 1186 in the platform. 1187 If TokenSpaceGuid is NULL, then a pointer to the first PCD token spaces returned. 1188 If TokenSpaceGuid is the last PCD token space GUID in the list, then NULL is returned. 1189 1190 @param TokenSpaceGuid The pointer to a PCD token space GUID. 1191 1192 @return The next valid token namespace. 1193 1194**/ 1195GUID * 1196EFIAPI 1197LibPcdGetNextTokenSpace ( 1198 IN CONST GUID *TokenSpaceGuid 1199 ) 1200{ 1201 ASSERT (FALSE); 1202 1203 return NULL; 1204} 1205 1206 1207/** 1208 Sets a value of a patchable PCD entry that is type pointer. 1209 1210 Sets the PCD entry specified by PatchVariable to the value specified by Buffer 1211 and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than 1212 MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return 1213 NULL to indicate that the set operation was not actually performed. 1214 If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to 1215 MaximumDatumSize and NULL must be returned. 1216 1217 If PatchVariable is NULL, then ASSERT(). 1218 If SizeOfBuffer is NULL, then ASSERT(). 1219 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 1220 1221 @param[out] PatchVariable A pointer to the global variable in a module that is 1222 the target of the set operation. 1223 @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable. 1224 @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer. 1225 @param[in] Buffer A pointer to the buffer to used to set the target variable. 1226 1227 @return Return the pointer to the buffer that was set. 1228 1229**/ 1230VOID * 1231EFIAPI 1232LibPatchPcdSetPtr ( 1233 OUT VOID *PatchVariable, 1234 IN UINTN MaximumDatumSize, 1235 IN OUT UINTN *SizeOfBuffer, 1236 IN CONST VOID *Buffer 1237 ) 1238{ 1239 ASSERT (PatchVariable != NULL); 1240 ASSERT (SizeOfBuffer != NULL); 1241 1242 if (*SizeOfBuffer > 0) { 1243 ASSERT (Buffer != NULL); 1244 } 1245 1246 if ((*SizeOfBuffer > MaximumDatumSize) || 1247 (*SizeOfBuffer == MAX_ADDRESS)) { 1248 *SizeOfBuffer = MaximumDatumSize; 1249 return NULL; 1250 } 1251 1252 CopyMem (PatchVariable, Buffer, *SizeOfBuffer); 1253 1254 return (VOID *) Buffer; 1255} 1256 1257/** 1258 Sets a value of a patchable PCD entry that is type pointer. 1259 1260 Sets the PCD entry specified by PatchVariable to the value specified 1261 by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than MaximumDatumSize, 1262 then set SizeOfBuffer to MaximumDatumSize and return RETURN_INVALID_PARAMETER 1263 to indicate that the set operation was not actually performed. 1264 If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to 1265 MaximumDatumSize and RETURN_INVALID_PARAMETER must be returned. 1266 1267 If PatchVariable is NULL, then ASSERT(). 1268 If SizeOfBuffer is NULL, then ASSERT(). 1269 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 1270 1271 @param[out] PatchVariable A pointer to the global variable in a module that is 1272 the target of the set operation. 1273 @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable. 1274 @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer. 1275 @param[in] Buffer A pointer to the buffer to used to set the target variable. 1276 1277 @return The status of the set operation. 1278 1279**/ 1280RETURN_STATUS 1281EFIAPI 1282LibPatchPcdSetPtrS ( 1283 OUT VOID *PatchVariable, 1284 IN UINTN MaximumDatumSize, 1285 IN OUT UINTN *SizeOfBuffer, 1286 IN CONST VOID *Buffer 1287 ) 1288{ 1289 ASSERT (PatchVariable != NULL); 1290 ASSERT (SizeOfBuffer != NULL); 1291 1292 if (*SizeOfBuffer > 0) { 1293 ASSERT (Buffer != NULL); 1294 } 1295 1296 if ((*SizeOfBuffer > MaximumDatumSize) || 1297 (*SizeOfBuffer == MAX_ADDRESS)) { 1298 *SizeOfBuffer = MaximumDatumSize; 1299 return RETURN_INVALID_PARAMETER; 1300 } 1301 1302 CopyMem (PatchVariable, Buffer, *SizeOfBuffer); 1303 1304 return RETURN_SUCCESS; 1305} 1306 1307/** 1308 Sets a value and size of a patchable PCD entry that is type pointer. 1309 1310 Sets the PCD entry specified by PatchVariable to the value specified by Buffer 1311 and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than 1312 MaximumDatumSize, then set SizeOfBuffer to MaximumDatumSize and return 1313 NULL to indicate that the set operation was not actually performed. 1314 If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to 1315 MaximumDatumSize and NULL must be returned. 1316 1317 If PatchVariable is NULL, then ASSERT(). 1318 If SizeOfPatchVariable is NULL, then ASSERT(). 1319 If SizeOfBuffer is NULL, then ASSERT(). 1320 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 1321 1322 @param[out] PatchVariable A pointer to the global variable in a module that is 1323 the target of the set operation. 1324 @param[out] SizeOfPatchVariable A pointer to the size, in bytes, of PatchVariable. 1325 @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable. 1326 @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer. 1327 @param[in] Buffer A pointer to the buffer to used to set the target variable. 1328 1329 @return Return the pointer to the buffer been set. 1330 1331**/ 1332VOID * 1333EFIAPI 1334LibPatchPcdSetPtrAndSize ( 1335 OUT VOID *PatchVariable, 1336 OUT UINTN *SizeOfPatchVariable, 1337 IN UINTN MaximumDatumSize, 1338 IN OUT UINTN *SizeOfBuffer, 1339 IN CONST VOID *Buffer 1340 ) 1341{ 1342 ASSERT (PatchVariable != NULL); 1343 ASSERT (SizeOfPatchVariable != NULL); 1344 ASSERT (SizeOfBuffer != NULL); 1345 1346 if (*SizeOfBuffer > 0) { 1347 ASSERT (Buffer != NULL); 1348 } 1349 1350 if ((*SizeOfBuffer > MaximumDatumSize) || 1351 (*SizeOfBuffer == MAX_ADDRESS)) { 1352 *SizeOfBuffer = MaximumDatumSize; 1353 return NULL; 1354 } 1355 1356 CopyMem (PatchVariable, Buffer, *SizeOfBuffer); 1357 *SizeOfPatchVariable = *SizeOfBuffer; 1358 1359 return (VOID *) Buffer; 1360} 1361 1362/** 1363 Sets a value and size of a patchable PCD entry that is type pointer. 1364 1365 Sets the PCD entry specified by PatchVariable to the value specified 1366 by Buffer and SizeOfBuffer. If SizeOfBuffer is greater than MaximumDatumSize, 1367 then set SizeOfBuffer to MaximumDatumSize and return RETURN_INVALID_PARAMETER 1368 to indicate that the set operation was not actually performed. 1369 If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to 1370 MaximumDatumSize and RETURN_INVALID_PARAMETER must be returned. 1371 1372 If PatchVariable is NULL, then ASSERT(). 1373 If SizeOfPatchVariable is NULL, then ASSERT(). 1374 If SizeOfBuffer is NULL, then ASSERT(). 1375 If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT(). 1376 1377 @param[out] PatchVariable A pointer to the global variable in a module that is 1378 the target of the set operation. 1379 @param[out] SizeOfPatchVariable A pointer to the size, in bytes, of PatchVariable. 1380 @param[in] MaximumDatumSize The maximum size allowed for the PCD entry specified by PatchVariable. 1381 @param[in, out] SizeOfBuffer A pointer to the size, in bytes, of Buffer. 1382 @param[in] Buffer A pointer to the buffer to used to set the target variable. 1383 1384 @return The status of the set operation. 1385 1386**/ 1387RETURN_STATUS 1388EFIAPI 1389LibPatchPcdSetPtrAndSizeS ( 1390 OUT VOID *PatchVariable, 1391 OUT UINTN *SizeOfPatchVariable, 1392 IN UINTN MaximumDatumSize, 1393 IN OUT UINTN *SizeOfBuffer, 1394 IN CONST VOID *Buffer 1395 ) 1396{ 1397 ASSERT (PatchVariable != NULL); 1398 ASSERT (SizeOfPatchVariable != NULL); 1399 ASSERT (SizeOfBuffer != NULL); 1400 1401 if (*SizeOfBuffer > 0) { 1402 ASSERT (Buffer != NULL); 1403 } 1404 1405 if ((*SizeOfBuffer > MaximumDatumSize) || 1406 (*SizeOfBuffer == MAX_ADDRESS)) { 1407 *SizeOfBuffer = MaximumDatumSize; 1408 return RETURN_INVALID_PARAMETER; 1409 } 1410 1411 CopyMem (PatchVariable, Buffer, *SizeOfBuffer); 1412 *SizeOfPatchVariable = *SizeOfBuffer; 1413 1414 return RETURN_SUCCESS; 1415} 1416 1417/** 1418 Retrieve additional information associated with a PCD token. 1419 1420 This includes information such as the type of value the TokenNumber is associated with as well as possible 1421 human readable name that is associated with the token. 1422 1423 If TokenNumber is not in the default token space specified, then ASSERT(). 1424 1425 @param[in] TokenNumber The PCD token number. 1426 @param[out] PcdInfo The returned information associated with the requested TokenNumber. 1427 The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName. 1428**/ 1429VOID 1430EFIAPI 1431LibPcdGetInfo ( 1432 IN UINTN TokenNumber, 1433 OUT PCD_INFO *PcdInfo 1434 ) 1435{ 1436 ASSERT (FALSE); 1437} 1438 1439/** 1440 Retrieve additional information associated with a PCD token. 1441 1442 This includes information such as the type of value the TokenNumber is associated with as well as possible 1443 human readable name that is associated with the token. 1444 1445 If TokenNumber is not in the token space specified by Guid, then ASSERT(). 1446 1447 @param[in] Guid The 128-bit unique value that designates the namespace from which to extract the value. 1448 @param[in] TokenNumber The PCD token number. 1449 @param[out] PcdInfo The returned information associated with the requested TokenNumber. 1450 The caller is responsible for freeing the buffer that is allocated by callee for PcdInfo->PcdName. 1451**/ 1452VOID 1453EFIAPI 1454LibPcdGetInfoEx ( 1455 IN CONST GUID *Guid, 1456 IN UINTN TokenNumber, 1457 OUT PCD_INFO *PcdInfo 1458 ) 1459{ 1460 ASSERT (FALSE); 1461} 1462 1463/** 1464 Retrieve the currently set SKU Id. 1465 1466 @return The currently set SKU Id. If the platform has not set at a SKU Id, then the 1467 default SKU Id value of 0 is returned. If the platform has set a SKU Id, then the currently set SKU 1468 Id is returned. 1469**/ 1470UINTN 1471EFIAPI 1472LibPcdGetSku ( 1473 VOID 1474 ) 1475{ 1476 ASSERT (FALSE); 1477 1478 return 0; 1479} 1480 1481