]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/PCD/Dxe/Service.h
MdeModulePkg PCD: Update PCD database structure definition to match BaseTools
[mirror_edk2.git] / MdeModulePkg / Universal / PCD / Dxe / Service.h
index 55717dc98281eab6733510dbaa3f356acd3f5105..0257a3487cc4c7d904c9b08dc8bdaecb54866193 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 Private functions used by PCD DXE driver.\r
 \r
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2016, 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
@@ -22,6 +22,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Protocol/PiPcd.h>\r
 #include <Protocol/PcdInfo.h>\r
 #include <Protocol/PiPcdInfo.h>\r
+#include <Protocol/VarCheck.h>\r
+#include <Protocol/VariableLock.h>\r
 #include <Library/BaseLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/UefiLib.h>\r
@@ -37,7 +39,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 // Please make sure the PCD Serivce DXE Version is consistent with\r
 // the version of the generated DXE PCD Database by build tool.\r
 //\r
-#define PCD_SERVICE_DXE_VERSION      4\r
+#define PCD_SERVICE_DXE_VERSION      6\r
 \r
 //\r
 // PCD_DXE_SERVICE_DRIVER_VERSION is defined in Autogen.h.\r
@@ -1003,6 +1005,7 @@ GetHiiVariable (
   \r
   @param VariableGuid    Guid of variable which stored value of a HII-type PCD.\r
   @param VariableName    Unicode name of variable which stored value of a HII-type PCD.\r
+  @param SetAttributes   Attributes bitmask to set for the variable.\r
   @param Data            Value want to be set.\r
   @param DataSize        Size of value\r
   @param Offset          Value offset of HII-type PCD in variable.\r
@@ -1014,6 +1017,7 @@ EFI_STATUS
 SetHiiVariable (\r
   IN  EFI_GUID     *VariableGuid,\r
   IN  UINT16       *VariableName,\r
+  IN  UINT32       SetAttributes,\r
   IN  CONST VOID   *Data,\r
   IN  UINTN        DataSize,\r
   IN  UINTN        Offset\r
@@ -1158,6 +1162,21 @@ SetPtrTypeSize (
   IN    OUT   UINTN             *CurrentSize\r
   );\r
 \r
+/**\r
+  VariableLockProtocol callback\r
+  to lock the variables referenced by DynamicHii PCDs with RO property set in *.dsc.\r
+\r
+  @param[in] Event      Event whose notification function is being invoked.\r
+  @param[in] Context    Pointer to the notification function's context.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+VariableLockCallBack (\r
+  IN EFI_EVENT          Event,\r
+  IN VOID               *Context\r
+  );\r
+\r
 extern  PCD_DATABASE   mPcdDatabase;\r
 \r
 extern  UINT32         mPcdTotalTokenCount; \r