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