]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg: Add four PcdGetSize() API in PcdLib
authorLiming Gao <liming.gao@intel.com>
Mon, 24 Aug 2015 05:00:32 +0000 (05:00 +0000)
committerlgao4 <lgao4@Edk2>
Mon, 24 Aug 2015 05:00:32 +0000 (05:00 +0000)
Add below four PcdGetSize() API in PcdLib header file. They can be used
to get the size of PCD value.
FixedPcdGetSize()
PatchPcdGetSize()
PcdGetSize()
PcdGetExSize()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18268 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Library/PcdLib.h

index a7e1e626da0ec51b25832d78e3a6130354a313d7..ce759fea2d35a65ad82460a12dcde1fac3ecfb1c 100644 (file)
@@ -348,7 +348,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                                               (Size),                                  \\r
                                               (Buffer)                                 \\r
                                               )\r
-\r
 /**\r
   Retrieves an 8-bit PCD token value based on a token name.\r
   \r
@@ -433,6 +432,63 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define PcdGetBool(TokenName)               _PCD_GET_MODE_BOOL_##TokenName\r
 \r
 \r
+/**\r
+  Retrieves the size of a fixed PCD token based on a token name.\r
+\r
+  Returns the size of the token specified by TokenName.\r
+  If TokenName is not a valid token in the token space, then the module will not build.\r
+\r
+  @param[in]  TokenName  The name of the PCD token to retrieve a current value size for.\r
+\r
+  @return     Return the size\r
+\r
+**/\r
+#define FixedPcdGetSize(TokenName)    _PCD_SIZE_##TokenName\r
+\r
+\r
+/**\r
+  Retrieves the size of a binary patchable PCD token based on a token name.\r
+\r
+  Returns the size of the token specified by TokenName.\r
+  If TokenName is not a valid token in the token space, then the module will not build.\r
+\r
+  @param[in]  TokenName  The name of the PCD token to retrieve a current value size for.\r
+\r
+  @return     Return the size\r
+\r
+**/\r
+#define PatchPcdGetSize(TokenName)    _gPcd_BinaryPatch_Size_##TokenName\r
+\r
+\r
+/**\r
+  Retrieves the size of the PCD token based on a token name.\r
+  \r
+  Returns the size of the token specified by TokenName.\r
+  If TokenName is not a valid token in the token space, then the module will not build.\r
+  \r
+  @param[in]   TokenName  The name of the PCD token to retrieve a current value size for.\r
+\r
+  @return      Return the size\r
+\r
+**/\r
+#define PcdGetSize(TokenName)         _PCD_GET_MODE_SIZE_##TokenName\r
+\r
+\r
+/**\r
+  Retrieve the size of a given PCD token.\r
+  \r
+  Returns the size of the token specified by TokenNumber and Guid. \r
+  If Guid is NULL, then ASSERT(). \r
+\r
+  @param[in]  Guid          Pointer to a 128-bit unique value that designates \r
+                            which namespace to retrieve a value from.\r
+  @param[in]  TokenNumber   The PCD token number to retrieve a current value size for.\r
+\r
+  @return     Return the size.\r
+\r
+**/\r
+#define PcdGetExSize(Guid, TokenName) LibPcdGetExSize ((Guid), PcdTokenEx(Guid,TokenName))\r
+\r
 #ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
 /**\r
   Sets an 8-bit PCD token value based on a token name.\r