]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/PcdLib.h
Sync up Pcd Library Instances and PCD Driver/PEIM with Pcd spec 0.51 and Mde 0.51
[mirror_edk2.git] / MdePkg / Include / Library / PcdLib.h
index 631aa4002543b7d15661caff71ee135485a1ec9c..5a3cbfa46ad1475968f51f983ce2edacefddbbca 100644 (file)
@@ -18,6 +18,8 @@ Module Name: PcdLib.h
 #ifndef __PCD_LIB_H__\r
 #define __PCD_LIB_H__\r
 \r
+#include <Common/Pcd.h>\r
+\r
 \r
 #define PcdToken(TokenName)  _PCD_TOKEN_##TokenName\r
 \r
@@ -54,6 +56,12 @@ Module Name: PcdLib.h
 #define PatchPcdGetBool(TokenName)  _gPcd_BinaryPatch_##TokenName\r
 #define PatchPcdGetPtr(TokenName)   ((VOID *)_gPcd_BinaryPatch_##TokenName)\r
 \r
+#define PatchPcdSet8(TokenName, Value)     (_gPcd_BinaryPatch_##TokenName = Value)\r
+#define PatchPcdSet16(TokenName, Value)    (_gPcd_BinaryPatch_##TokenName = Value)\r
+#define PatchPcdSet32(TokenName, Value)    (_gPcd_BinaryPatch_##TokenName = Value)\r
+#define PatchPcdSet64(TokenName, Value)    (_gPcd_BinaryPatch_##TokenName = Value)\r
+#define PatchPcdSetBool(TokenName, Value)  (_gPcd_BinaryPatch_##TokenName = Value)\r
+#define PatchPcdSetPtr(TokenName, Value, Size)   CopyMem (_gPcd_BinaryPatch_##TokenName, Value, Size)\r
 \r
 //\r
 // Dynamic is via the protocol with only the TokenNumber as argument\r
@@ -106,13 +114,13 @@ Module Name: PcdLib.h
   @param[in]  SkuId The SKU value that will be used when the PCD service will retrieve and \r
               set values associated with a PCD token.\r
 \r
-  @retval UINTN Return the SKU ID that just be set.\r
+  @retval SKU_ID Return the SKU ID that just be set.\r
 \r
 **/\r
-UINTN\r
+SKU_ID\r
 EFIAPI\r
 LibPcdSetSku (\r
-  IN UINTN   SkuId\r
+  IN SKU_ID   SkuId\r
   );\r
 \r
 \r
@@ -127,7 +135,7 @@ LibPcdSetSku (
 UINT8\r
 EFIAPI\r
 LibPcdGet8 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -142,7 +150,7 @@ LibPcdGet8 (
 UINT16\r
 EFIAPI\r
 LibPcdGet16 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -157,7 +165,7 @@ LibPcdGet16 (
 UINT32\r
 EFIAPI\r
 LibPcdGet32 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -172,7 +180,7 @@ LibPcdGet32 (
 UINT64\r
 EFIAPI\r
 LibPcdGet64 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -187,7 +195,7 @@ LibPcdGet64 (
 VOID *\r
 EFIAPI\r
 LibPcdGetPtr (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -202,7 +210,7 @@ LibPcdGetPtr (
 BOOLEAN \r
 EFIAPI\r
 LibPcdGetBool (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -217,7 +225,7 @@ LibPcdGetBool (
 UINTN\r
 EFIAPI\r
 LibPcdGetSize (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -236,7 +244,7 @@ UINT8
 EFIAPI\r
 LibPcdGetEx8 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -255,7 +263,7 @@ UINT16
 EFIAPI\r
 LibPcdGetEx16 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -274,7 +282,7 @@ UINT32
 EFIAPI\r
 LibPcdGetEx32 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -293,7 +301,7 @@ UINT64
 EFIAPI\r
 LibPcdGetEx64 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -312,7 +320,7 @@ VOID *
 EFIAPI\r
 LibPcdGetExPtr (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -331,7 +339,7 @@ BOOLEAN
 EFIAPI\r
 LibPcdGetExBool (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -350,7 +358,7 @@ UINTN
 EFIAPI\r
 LibPcdGetExSize (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   );\r
 \r
 \r
@@ -367,7 +375,7 @@ LibPcdGetExSize (
 UINT8\r
 EFIAPI\r
 LibPcdSet8 (\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT8             Value\r
   );\r
 \r
@@ -385,7 +393,7 @@ LibPcdSet8 (
 UINT16\r
 EFIAPI\r
 LibPcdSet16 (\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT16            Value\r
   );\r
 \r
@@ -403,7 +411,7 @@ LibPcdSet16 (
 UINT32\r
 EFIAPI\r
 LibPcdSet32 (\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT32            Value\r
   );\r
 \r
@@ -421,7 +429,7 @@ LibPcdSet32 (
 UINT64\r
 EFIAPI\r
 LibPcdSet64 (\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT64            Value\r
   );\r
 \r
@@ -440,7 +448,8 @@ LibPcdSet64 (
 VOID*\r
 EFIAPI\r
 LibPcdSetPtr (\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             SizeOfBuffer,\r
   IN CONST VOID        *Value\r
   );\r
 \r
@@ -458,7 +467,7 @@ LibPcdSetPtr (
 BOOLEAN\r
 EFIAPI\r
 LibPcdSetBool (\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN BOOLEAN           Value\r
   );\r
 \r
@@ -480,7 +489,7 @@ UINT8
 EFIAPI\r
 LibPcdSetEx8 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT8             Value\r
   );\r
 \r
@@ -502,7 +511,7 @@ UINT16
 EFIAPI\r
 LibPcdSetEx16 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT16            Value\r
   );\r
 \r
@@ -524,7 +533,7 @@ UINT32
 EFIAPI\r
 LibPcdSetEx32 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT32            Value\r
   );\r
 \r
@@ -546,7 +555,7 @@ UINT64
 EFIAPI\r
 LibPcdSetEx64 (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT64            Value\r
   );\r
 \r
@@ -569,7 +578,8 @@ VOID *
 EFIAPI\r
 LibPcdSetExPtr (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             SizeOfBuffer,\r
   IN CONST VOID        *Value\r
   );\r
 \r
@@ -591,7 +601,7 @@ BOOLEAN
 EFIAPI\r
 LibPcdSetExBool (\r
   IN CONST GUID        *Guid,\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN BOOLEAN           Value\r
   );\r
 \r
@@ -613,10 +623,10 @@ LibPcdSetExBool (
 typedef\r
 VOID\r
 (EFIAPI *PCD_CALLBACK) (\r
-  IN  CONST GUID   *CallBackGuid, OPTIONAL\r
-  IN  UINTN        CallBackToken,\r
-  IN  VOID         *TokenData,\r
-  IN  UINTN        TokenDataSize\r
+  IN        CONST GUID        *CallBackGuid, OPTIONAL\r
+  IN        PCD_TOKEN_NUMBER  CallBackToken,\r
+  IN  OUT   VOID              *TokenData,\r
+  IN        UINTN             TokenDataSize\r
   );\r
 \r
 \r
@@ -640,7 +650,7 @@ VOID
 EFIAPI\r
 LibPcdCallbackOnSet (\r
   IN CONST GUID               *Guid,       OPTIONAL\r
-  IN UINTN                    TokenNumber,\r
+  IN PCD_TOKEN_NUMBER         TokenNumber,\r
   IN PCD_CALLBACK             NotificationFunction\r
   );\r
 \r
@@ -659,7 +669,7 @@ VOID
 EFIAPI\r
 LibPcdCancelCallback (\r
   IN CONST GUID               *Guid,       OPTIONAL\r
-  IN UINTN                    TokenNumber,\r
+  IN PCD_TOKEN_NUMBER         TokenNumber,\r
   IN PCD_CALLBACK             NotificationFunction\r
   );\r
 \r
@@ -677,14 +687,14 @@ LibPcdCancelCallback (
   @param[in]  The previous PCD token number.  If 0, then retrieves the first PCD \r
               token number.\r
 \r
-  @retval UINTN The next valid token number.\r
+  @retval PCD_TOKEN_NUMBER The next valid token number.\r
 \r
 **/\r
-UINTN\r
+PCD_TOKEN_NUMBER\r
 EFIAPI\r
 LibPcdGetNextToken (\r
   IN CONST GUID               *Guid,       OPTIONAL\r
-  IN UINTN                    *TokenNumber\r
+  IN PCD_TOKEN_NUMBER         TokenNumber\r
   );\r
 \r
 #endif\r