]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.h
MdeModulePkg/CdExpressPei: Add RecoveryBlockIo2Ppi support
[mirror_edk2.git] / MdeModulePkg / Universal / Disk / CdExpressPei / PeiCdExpress.h
index b452747e704c6a37e702737590f3cc6b0824a228..5ca26722a742c8aa7bcc9e877af02e69a1b4039e 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Header file for CD recovery PEIM\r
 \r
-Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
 \r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions\r
@@ -21,6 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <PiPei.h>\r
 \r
 #include <Ppi/BlockIo.h>\r
+#include <Ppi/BlockIo2.h>\r
 #include <Guid/RecoveryDevice.h>\r
 #include <Ppi/DeviceRecoveryModule.h>\r
 \r
@@ -67,6 +68,7 @@ typedef struct {
   UINTN                           CapsuleSize;\r
   UINTN                           IndexBlock;\r
   EFI_PEI_RECOVERY_BLOCK_IO_PPI   *BlockIo;\r
+  EFI_PEI_RECOVERY_BLOCK_IO2_PPI  *BlockIo2;\r
 } PEI_CD_EXPRESS_CAPSULE_DATA;\r
 \r
 #define PEI_CD_EXPRESS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('p', 'c', 'd', 'e')\r
@@ -77,6 +79,7 @@ typedef struct {
   EFI_PEI_DEVICE_RECOVERY_MODULE_PPI    DeviceRecoveryPpi;\r
   EFI_PEI_PPI_DESCRIPTOR                PpiDescriptor;\r
   EFI_PEI_NOTIFY_DESCRIPTOR             NotifyDescriptor;\r
+  EFI_PEI_NOTIFY_DESCRIPTOR             NotifyDescriptor2;\r
 \r
   UINT8                                 *BlockBuffer;\r
   UINTN                                 CapsuleCount;\r
@@ -130,13 +133,15 @@ BlockIoNotifyEntry (
   Finds out all the current Block IO PPIs in the system and add them into private data.\r
 \r
   @param PrivateData                    The private data structure that contains recovery module information.\r
+  @param BlockIo2                       Boolean to show whether using BlockIo2 or BlockIo.\r
 \r
   @retval EFI_SUCCESS                   The blocks and volumes are updated successfully.\r
 \r
 **/\r
 EFI_STATUS\r
 UpdateBlocksAndVolumes (\r
-  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA     *PrivateData\r
+  IN OUT PEI_CD_EXPRESS_PRIVATE_DATA     *PrivateData,\r
+  IN     BOOLEAN                         BlockIo2\r
   );\r
 \r
 /**\r
@@ -253,6 +258,7 @@ FindRecoveryCapsules (
 \r
   @param PrivateData                    The private data structure that contains recovery module information.\r
   @param BlockIoPpi                     The Block IO PPI used to access the volume.\r
+  @param BlockIo2Ppi                    The Block IO 2 PPI used to access the volume.\r
   @param IndexBlockDevice               The index of current block device.\r
   @param Lba                            The starting logic block address to retrieve capsule.\r
 \r
@@ -266,6 +272,7 @@ EFIAPI
 RetrieveCapsuleFileFromRoot (\r
   IN OUT PEI_CD_EXPRESS_PRIVATE_DATA        *PrivateData,\r
   IN EFI_PEI_RECOVERY_BLOCK_IO_PPI          *BlockIoPpi,\r
+  IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI         *BlockIo2Ppi,\r
   IN UINTN                                  IndexBlockDevice,\r
   IN UINT32                                 Lba\r
   );\r