\r
This library class defines a set of interfaces for how to process capsule image updates.\r
\r
-Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
#ifndef __CAPSULE_LIB_H__\r
#define __CAPSULE_LIB_H__\r
\r
-//\r
-// BOOLEAN Variable to indicate whether system is in the capsule on disk state.\r
-//\r
-#define COD_RELOCATION_INFO_VAR_NAME L"CodRelocationInfo"\r
-\r
/**\r
The firmware checks whether the capsule image is supported\r
by the CapsuleGuid in CapsuleHeader or if there is other specific information in\r
VOID\r
);\r
\r
-/**\r
- This routine is called to check if CapsuleOnDisk flag in OsIndications Variable\r
- is enabled.\r
-\r
- @retval TRUE Flag is enabled\r
- @retval FALSE Flag is not enabled\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-CoDCheckCapsuleOnDiskFlag(\r
- VOID\r
- );\r
-\r
-/**\r
- This routine is called to clear CapsuleOnDisk flags including OsIndications and BootNext variable\r
-\r
- @retval EFI_SUCCESS All Capsule On Disk flags are cleared\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CoDClearCapsuleOnDiskFlag(\r
- VOID\r
- );\r
-\r
-/**\r
- Relocate Capsule on Disk from EFI system partition.\r
-\r
- Two solution to deliver Capsule On Disk:\r
- Solution A: If PcdCapsuleInRamSupport is enabled, relocate Capsule On Disk to memory and call UpdateCapsule().\r
- Solution B: If PcdCapsuleInRamSupport is disabled, relocate Capsule On Disk to a platform-specific NV storage\r
- device with BlockIo protocol.\r
-\r
- Device enumeration like USB costs time, user can input MaxRetry to tell function to retry.\r
- Function will stall 100ms between each retry.\r
-\r
- Side Effects:\r
- Capsule Delivery Supported Flag in OsIndication variable and BootNext variable will be cleared.\r
- Solution B: Content corruption. Block IO write directly touches low level write. Orignal partitions, file\r
- systems of the relocation device will be corrupted.\r
-\r
- @param[in] MaxRetry Max Connection Retry. Stall 100ms between each connection try to ensure\r
- devices like USB can get enumerated. Input 0 means no retry.\r
-\r
- @retval EFI_SUCCESS Capsule on Disk images are successfully relocated.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CoDRelocateCapsule(\r
- UINTN MaxRetry\r
- );\r
-\r
-/**\r
- Remove the temp file from the root of EFI System Partition.\r
- Device enumeration like USB costs time, user can input MaxRetry to tell function to retry.\r
- Function will stall 100ms between each retry.\r
-\r
- @param[in] MaxRetry Max Connection Retry. Stall 100ms between each connection try to ensure\r
- devices like USB can get enumerated. Input 0 means no retry.\r
-\r
- @retval EFI_SUCCESS Remove the temp file successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CoDRemoveTempFile (\r
- UINTN MaxRetry\r
- );\r
-\r
#endif\r