InitializeFtwLite (\r
IN EFI_HANDLE ImageHandle,\r
IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-;\r
+ );\r
\r
//\r
// Fault Tolerant Write Protocol API\r
IN UINTN Offset,\r
IN OUT UINTN *NumBytes,\r
IN VOID *Buffer\r
- )\r
-;\r
+ );\r
\r
//\r
// Internal functions\r
EFI_STATUS\r
FtwRestart (\r
IN EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
- )\r
-;\r
+ );\r
\r
/**\r
Aborts all previous allocated writes.\r
EFI_STATUS\r
FtwAbort (\r
IN EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
FtwWriteRecord (\r
IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *Fvb\r
- )\r
-;\r
+ );\r
\r
/**\r
To Erase one block. The size is FTW_BLOCK_SIZE\r
IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvBlock,\r
EFI_LBA Lba\r
- )\r
-;\r
+ );\r
\r
/**\r
\r
EFI_STATUS\r
FtwEraseSpareBlock (\r
IN EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
- )\r
-;\r
+ );\r
\r
/**\r
Retrive the proper FVB protocol interface by HANDLE.\r
FtwGetFvbByHandle (\r
IN EFI_HANDLE FvBlockHandle,\r
OUT EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL **FvBlock\r
- )\r
-;\r
+ );\r
\r
/**\r
\r
GetFvbByAddress (\r
IN EFI_PHYSICAL_ADDRESS Address,\r
OUT EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL **FvBlock\r
- )\r
-;\r
+ );\r
\r
/**\r
\r
EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvBlock,\r
EFI_LBA Lba\r
- )\r
-;\r
+ );\r
\r
/**\r
\r
EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvBlock,\r
EFI_LBA Lba\r
- )\r
-;\r
+ );\r
\r
/**\r
Copy the content of spare block to a target block. Size is FTW_BLOCK_SIZE.\r
EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvBlock,\r
EFI_LBA Lba\r
- )\r
-;\r
+ );\r
\r
/**\r
Copy the content of spare block to working block. Size is FTW_BLOCK_SIZE.\r
EFI_STATUS\r
FlushSpareBlockToWorkingBlock (\r
EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
- )\r
-;\r
+ );\r
\r
/**\r
Copy the content of spare block to a boot block. Size is FTW_BLOCK_SIZE.\r
EFI_STATUS\r
FlushSpareBlockToBootBlock (\r
EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
- )\r
-;\r
+ );\r
\r
/**\r
Update a bit of state on a block device. The location of the bit is\r
IN EFI_LBA Lba,\r
IN UINTN Offset,\r
IN UINT8 NewBit\r
- )\r
-;\r
+ );\r
\r
/**\r
Get the last Write record pointer.\r
FtwGetLastRecord (\r
IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
OUT EFI_FTW_LITE_RECORD **FtwLastRecord\r
- )\r
-;\r
+ );\r
\r
/**\r
\r
IN BOOLEAN Polarity,\r
IN UINT8 *Buffer,\r
IN UINTN BufferSize\r
- )\r
-;\r
+ );\r
\r
/**\r
Initialize a work space when there is no work space.\r
EFI_STATUS\r
InitWorkSpaceHeader (\r
IN EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER *WorkingHeader\r
- )\r
-;\r
+ );\r
\r
/**\r
Read from working block to refresh the work space in memory.\r
EFI_STATUS\r
WorkSpaceRefresh (\r
IN EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
- )\r
-;\r
+ );\r
\r
/**\r
Check to see if it is a valid work space.\r
BOOLEAN\r
IsValidWorkSpace (\r
IN EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER *WorkingHeader\r
- )\r
-;\r
-\r
-/**\r
- Reclaim the work space. Get rid of all the completed write records\r
- and write records in the Fault Tolerant work space.\r
-\r
-\r
- @param FtwLiteDevice Point to private data of FTW driver\r
- FtwSpaceBuffer - Buffer to contain the reclaimed clean data\r
- @param BlockBuffer The data buffer for the block.\r
- @param BufferSize Size of the FtwSpaceBuffer\r
-\r
- @retval EFI_SUCCESS The function completed successfully\r
- @retval EFI_BUFFER_TOO_SMALL The FtwSpaceBuffer is too small\r
- @retval EFI_ABORTED The function could not complete successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-CleanupWorkSpace (\r
- IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
- IN OUT UINT8 *BlockBuffer,\r
- IN UINTN BufferSize\r
- )\r
-;\r
+ );\r
\r
/**\r
Reclaim the work space on the working block.\r
\r
\r
@param FtwLiteDevice Point to private data of FTW driver\r
+ @param PreserveRecord Whether to preserve the working record is needed\r
\r
@retval EFI_SUCCESS The function completed successfully\r
@retval EFI_OUT_OF_RESOURCES Allocate memory error\r
**/\r
EFI_STATUS\r
FtwReclaimWorkSpace (\r
- IN EFI_FTW_LITE_DEVICE *FtwLiteDevice\r
- )\r
-;\r
+ IN EFI_FTW_LITE_DEVICE *FtwLiteDevice,\r
+ IN BOOLEAN PreserveRecord\r
+ );\r
\r
#endif\r