]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/PcdLib.h
Add BlockIO revision 3 definition. Add new API ScsiInquiryCommandEx to UefiScsiLib.
[mirror_edk2.git] / MdePkg / Include / Library / PcdLib.h
index 71034716c8356939e7196857a4647792cb5751e3..8deb6f758e07126b61abac1d677bc0f332974e4b 100644 (file)
@@ -1,12 +1,12 @@
 /** @file\r
   Provides library services to get and set Platform Configuration Database entries.\r
 \r
-  PCD Library Class provides PCD usage macro interface for all PCD types.\r
-  It should be included at any module who use PCD. If module use dynamic/dynamicex\r
-  PCD, module should be linked to PEIM/DXE library instance to access that PCD.\r
-  If module uses PatchableInModule type PCD, also need library instance produce\r
-  LibPatchPcdSetPtr() interface. For FeatureFlag/Fixed PCD, macro interface is\r
-  translated to an variable or macro which is auto-generated by build tool in\r
+  PCD Library Class provides PCD usage macro interface for all PCD types.\r
+  It should be included in any module that uses PCD. If a module uses dynamic/dynamicex\r
+  PCD, module should be linked to PEIM/DXE library instance to access that PCD.\r
+  If a module uses PatchableInModule type PCD, it also needs the library instance to produce\r
+  LibPatchPcdSetPtr() interface. For FeatureFlag/Fixed PCD, the macro interface is\r
+  translated to a variable or macro that is auto-generated by build tool in\r
   module's autogen.h/autogen.c.\r
   The PcdGetXX(), PcdSetXX(), PcdToken(), and PcdGetNextTokenSpace() operations are \r
   only available prior to ExitBootServices().  If access to PCD values are required \r
@@ -14,8 +14,8 @@
   There are no restrictions on the use of FeaturePcd(), FixedPcdGetXX(),\r
   PatchPcdGetXX(), and PatchPcdSetXX().\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -250,7 +250,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the binary patchable PCD token to set the current value for.\r
   @param   Value      The 8-bit value to set.\r
   \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PatchPcdSet8(TokenName, Value)      (_gPcd_BinaryPatch_##TokenName = (Value))\r
@@ -266,7 +266,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the binary patchable PCD token to set the current value for.\r
   @param   Value      The 16-bit value to set.\r
 \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PatchPcdSet16(TokenName, Value)     (_gPcd_BinaryPatch_##TokenName = (Value))\r
@@ -282,7 +282,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the binary patchable PCD token to set the current value for.\r
   @param   Value      The 32-bit value to set.\r
 \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PatchPcdSet32(TokenName, Value)     (_gPcd_BinaryPatch_##TokenName = (Value))\r
@@ -298,7 +298,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the binary patchable PCD token to set the current value for.\r
   @param   Value      The 64-bit value to set.\r
 \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PatchPcdSet64(TokenName, Value)     (_gPcd_BinaryPatch_##TokenName = (Value))\r
@@ -314,7 +314,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the binary patchable PCD token to set the current value for.\r
   @param   Value      The boolean value to set.\r
 \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PatchPcdSetBool(TokenName, Value)   (_gPcd_BinaryPatch_##TokenName = (Value))\r
@@ -338,7 +338,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   SizeOfBuffer   A pointer to the size, in bytes, of Buffer.\r
   @param   Buffer         Pointer to the value to set.\r
 \r
-  @return  Value.\r
+  @return Return the pointer to the Buffer that was set.\r
 \r
 **/\r
 #define PatchPcdSetPtr(TokenName, Size, Buffer) \\r
@@ -442,7 +442,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the PCD token to retrieve a current value for.\r
   @param   Value      The 8-bit value to set.\r
   \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSet8(TokenName, Value)           _PCD_SET_MODE_8_##TokenName     ((Value))\r
@@ -457,7 +457,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the PCD token to retrieve a current value for.\r
   @param   Value      The 16-bit value to set.\r
 \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSet16(TokenName, Value)          _PCD_SET_MODE_16_##TokenName    ((Value))\r
@@ -472,7 +472,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the PCD token to retrieve a current value for.\r
   @param   Value      The 32-bit value to set.\r
 \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSet32(TokenName, Value)          _PCD_SET_MODE_32_##TokenName    ((Value))\r
@@ -487,7 +487,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName  The name of the PCD token to retrieve a current value for.\r
   @param   Value      The 64-bit value to set.\r
 \r
-  @return  Value.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSet64(TokenName, Value)          _PCD_SET_MODE_64_##TokenName    ((Value))\r
@@ -511,7 +511,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   SizeOfBuffer   A pointer to the size, in bytes, of Buffer.\r
   @param   Buffer         A pointer to the buffer to set.\r
 \r
-  @return  Buffer.\r
+  @return Return the pointer to the Buffer that was set.\r
 \r
 **/\r
 #define PcdSetPtr(TokenName, SizeOfBuffer, Buffer) \\r
@@ -526,7 +526,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName      The name of the PCD token to set the current value for.\r
   @param   Buffer         The Boolean value to set.\r
 \r
-  @return  Value. \r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSetBool(TokenName, Value)        _PCD_SET_MODE_BOOL_##TokenName  ((Value))\r
@@ -660,7 +660,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName   The name of the PCD token to set the current value for.\r
   @param   Value       The 8-bit value to set.                   \r
 \r
-  @return  Value. \r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSetEx8(Guid, TokenName, Value)   LibPcdSetEx8   ((Guid), _PCD_TOKEN_##TokenName, (Value))\r
@@ -680,7 +680,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName   The name of the PCD token to set the current value for.\r
   @param   Value       The 16-bit value to set.                   \r
 \r
-  @return  Value. \r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSetEx16(Guid, TokenName, Value)  LibPcdSetEx16  ((Guid), _PCD_TOKEN_##TokenName, (Value))\r
@@ -700,7 +700,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName   The name of the PCD token to set the current value for.\r
   @param   Value       The 32-bit value to set.                   \r
 \r
-  @return  Value. \r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSetEx32(Guid, TokenName, Value)  LibPcdSetEx32  ((Guid), _PCD_TOKEN_##TokenName, (Value))\r
@@ -720,7 +720,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName   The name of the PCD token to set the current value for.\r
   @param   Value       The 64-bit value to set.                   \r
 \r
-  @return  Value. \r
+  @return Return the Value that was set.\r
 \r
 **/\r
 #define PcdSetEx64(Guid, TokenName, Value)  LibPcdSetEx64  ((Guid), _PCD_TOKEN_##TokenName, (Value))\r
@@ -746,9 +746,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                           which namespace to retrieve a value from.\r
   @param   TokenName      The name of the PCD token to set the current value for.\r
   @param   SizeOfBuffer   A pointer to the size, in bytes, of Buffer.                  \r
-  @param   Value          Pointer to the buffer to set.\r
+  @param   Buffer         Pointer to the buffer to set.\r
     \r
-  @return  Buffer. \r
+  @return Return the pointer to the Buffer that was set.\r
 \r
 **/\r
 #define PcdSetExPtr(Guid, TokenName, SizeOfBuffer, Buffer) \\r
@@ -769,7 +769,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @param   TokenName      The name of the PCD token to set the current value for.              \r
   @param   Value          The Boolean value to set.\r
 \r
-  @return  Value. \r
+  @return Return the Value that was set.\r
 \r
 **/                                         \r
 #define PcdSetExBool(Guid, TokenName, Value) \\r
@@ -780,13 +780,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   This function provides a means by which SKU support can be established in the PCD infrastructure.\r
 \r
   Sets the current SKU in the PCD database to the value specified by SkuId.  SkuId is returned.\r
+  If SkuId >= PCD_MAX_SKU_ID, then ASSERT(). \r
 \r
-  @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
-  If SkuId >= 0x100, then ASSERT().                  \r
+  @param  SkuId   The SKU value that will be used when the PCD service retrieves and sets values\r
+                  associated with a PCD token.\r
 \r
-  @return Return the SKU ID that just be set.\r
+  @return  Return the SKU ID that was set.\r
 \r
 **/\r
 UINTN\r
@@ -920,9 +919,9 @@ LibPcdGetSize (
   \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 for.\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 for.\r
 \r
   @return Return the UINT8.\r
 \r
@@ -942,9 +941,9 @@ LibPcdGetEx8 (
   \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 for.\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 for.\r
 \r
   @return Return the UINT16.\r
 \r
@@ -961,9 +960,9 @@ LibPcdGetEx16 (
   Returns the 32-bit value for 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 for.\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 for.\r
 \r
   @return Return the UINT32.\r
 \r
@@ -1073,7 +1072,7 @@ LibPcdGetExSize (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 8-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT8\r
@@ -1093,7 +1092,7 @@ LibPcdSet8 (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 16-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT16\r
@@ -1113,7 +1112,7 @@ LibPcdSet16 (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 32-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT32\r
@@ -1133,7 +1132,7 @@ LibPcdSet32 (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 64-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT64\r
@@ -1163,7 +1162,7 @@ LibPcdSet64 (
   @param[in, out] SizeOfBuffer  The size, in bytes, of Buffer.\r
   @param[in]      Buffer        A pointer to the buffer to set.\r
 \r
-  @return Return the pointer for the buffer been set.\r
+  @return Return the pointer for the Buffer that was set.\r
 \r
 **/\r
 VOID *\r
@@ -1184,7 +1183,7 @@ LibPcdSetPtr (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The boolean value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 BOOLEAN\r
@@ -1208,7 +1207,7 @@ LibPcdSetBool (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 8-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT8\r
@@ -1233,7 +1232,7 @@ LibPcdSetEx8 (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 16-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT16\r
@@ -1258,7 +1257,7 @@ LibPcdSetEx16 (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 32-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT32\r
@@ -1282,7 +1281,7 @@ LibPcdSetEx32 (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The 64-bit value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 UINT64\r
@@ -1313,7 +1312,7 @@ LibPcdSetEx64 (
   @param[in, out] SizeOfBuffer  The size, in bytes, of Buffer.\r
   @param[in]  Buffer            A pointer to the buffer to set.\r
 \r
-  @return Return the pinter to the buffer been set.\r
+  @return Return the pointer to the Buffer that was set.\r
 \r
 **/\r
 VOID *\r
@@ -1339,7 +1338,7 @@ LibPcdSetExPtr (
   @param[in]  TokenNumber   The PCD token number to set a current value for.\r
   @param[in]  Value         The Boolean value to set.\r
 \r
-  @return Return the value been set.\r
+  @return Return the Value that was set.\r
 \r
 **/\r
 BOOLEAN\r
@@ -1352,18 +1351,14 @@ LibPcdSetExBool (
 \r
 \r
 /**\r
-  When the token specified by TokenNumber and Guid is set, \r
-  then notification function specified by NotificationFunction is called.  \r
-  If Guid is NULL, then the default token space is used. \r
-  If NotificationFunction is NULL, then ASSERT().\r
-\r
-  This notification function serves two purposes. Firstly, it notifies the module which \r
-  did the registration that the value of this PCD token has been set. Secondly, \r
-  it provides a mechanism for the module which did the registration to intercept \r
-  the set operation and override the value been set if necessary. After the invocation \r
-  of the callback function, TokenData will be used by PCD service PEIM or driver to \r
-  modify the internal data in PCD database. \r
+  This notification function serves two purposes.\r
 \r
+  Firstly, it notifies the module that did the registration that the value of this\r
+  PCD token has been set.\r
+  Secondly, it provides a mechanism for the module that did the registration to intercept\r
+  the set operation and override the value been set if necessary. After the invocation of\r
+  the callback function, TokenData will be used by PCD service PEIM or driver to modify th\r
+  internal data in PCD database. \r
 \r
   @param[in]      CallBackGuid    The PCD token GUID being set.\r
   @param[in]      CallBackToken   The PCD token number being set.\r
@@ -1386,14 +1381,13 @@ VOID
   \r
   When the token specified by TokenNumber and Guid is set, \r
   then notification function specified by NotificationFunction is called.  \r
-  If Guid is NULL, then the default token space is used. \r
-  \r
+  If Guid is NULL, then the default token space is used.\r
   If NotificationFunction is NULL, then ASSERT().\r
 \r
-  @param[in]  Guid      Pointer to a 128-bit unique value that designates which \r
-                        namespace to set a value from.  If NULL, then the default \r
-                        token space is used.\r
-  @param[in]  TokenNumber   The PCD token number to monitor.\r
+  @param[in]  Guid                  Pointer to a 128-bit unique value that designates which \r
+                                    namespace to set a value from.  If NULL, then the default \r
+                                    token space is used.\r
+  @param[in]  TokenNumber           The PCD token number to monitor.\r
   @param[in]  NotificationFunction  The function to call when the token \r
                                     specified by Guid and TokenNumber is set.\r
 \r
@@ -1410,14 +1404,13 @@ LibPcdCallbackOnSet (
 /**\r
   Disable a notification function that was established with LibPcdCallbackonSet().\r
   \r
-  Disable a notification function that was previously established with LibPcdCallbackOnSet(). \r
-  \r
+  Disable a notification function that was previously established with LibPcdCallbackOnSet().\r
   If NotificationFunction is NULL, then ASSERT().\r
   If LibPcdCallbackOnSet() was not previously called with Guid, TokenNumber, \r
   and NotificationFunction, then ASSERT().\r
   \r
-  @param[in]  Guid          Specify the GUID token space.\r
-  @param[in]  TokenNumber   Specify the token number.\r
+  @param[in]  Guid                 Specify the GUID token space.\r
+  @param[in]  TokenNumber          Specify the token number.\r
   @param[in]  NotificationFunction The callback function to be unregistered.\r
 \r
 **/\r
@@ -1461,23 +1454,17 @@ LibPcdGetNextToken (
 /**\r
   Used to retrieve the list of available PCD token space GUIDs.\r
   \r
-  Retrieves the next PCD token space from a token space specified by Guid.\r
-  Guid of NULL is reserved to mark the default local token namespace on the current\r
-  platform. If Guid is NULL, then the GUID of the first non-local token space of the \r
-  current platform is returned. If Guid is the last non-local token space, \r
-  then NULL is returned. \r
-\r
-  If Guid is not NULL and is not a valid token space in the current platform, then ASSERT().\r
-\r
-\r
+  Returns the PCD token space GUID that follows TokenSpaceGuid in the list of token spaces\r
+  in the platform.\r
+  If TokenSpaceGuid is NULL, then a pointer to the first PCD token spaces returned.\r
+  If TokenSpaceGuid is the last PCD token space GUID in the list, then NULL is returned.\r
   \r
-  @param[in]  Guid  Pointer to a 128-bit unique value that designates from which namespace \r
-                    to start the search.\r
+  @param  TokenSpaceGuid  Pointer to the a PCD token space GUID\r
 \r
   @return The next valid token namespace.\r
 \r
 **/\r
-GUID *           \r
+GUID *\r
 EFIAPI\r
 LibPcdGetNextTokenSpace (\r
   IN CONST GUID  *TokenSpaceGuid\r
@@ -1504,7 +1491,7 @@ LibPcdGetNextTokenSpace (
   @param[in, out] SizeOfBuffer  A pointer to the size, in bytes, of Buffer.\r
   @param[in] Buffer             A pointer to the buffer to used to set the target variable.\r
   \r
-  @return Return the pointer to the buffer been set.\r
+  @return Return the pointer to the Buffer that was set.\r
 \r
 **/\r
 VOID *\r