-/*++\r
+/** @file\r
+ Fault tolerant write lite protocol defines only one interface to write \r
+ the buffer to the fault tolerant storage.\r
\r
-Copyright (c) 2006 - 2007, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
All rights reserved. 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
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
-Module Name:\r
-\r
- FaultTolerantWriteLite.h\r
-\r
-Abstract:\r
-\r
- This is a simple fault tolerant write driver, based on PlatformFd library.\r
- And it only supports write BufferSize <= SpareAreaLength.\r
-\r
---*/\r
+**/\r
\r
#ifndef __FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H__\r
#define __FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H__\r
//\r
// Protocol API definitions\r
//\r
+/**\r
+ Starts a target block update. This records information about the write\r
+ in fault tolerant storage will complete the write in a recoverable\r
+ manner, ensuring at all times that either the original contents or\r
+ the modified contents are available.\r
\r
+ @param This The pointer to this protocol instance. \r
+ @param FvbHandle The handle of FVB protocol that provides services \r
+ for reading, writing, and erasing the target block. \r
+ @param Lba The logical block address of the target block. \r
+ @param Offset The offset within the target block to place the data. \r
+ @param NumBytes The number of bytes to write to the target block. \r
+ @param Buffer The data to write. \r
+\r
+ @retval EFI_SUCCESS The function completed successfully \r
+ @retval EFI_ABORTED The function could not complete successfully. \r
+ @retval EFI_BAD_BUFFER_SIZE The input data can't fit within the target block. \r
+ @retval EFI_ACCESS_DENIED No writes have been allocated. \r
+ @retval EFI_OUT_OF_RESOURCES Cannot allocate enough memory resource.\r
+ @retval EFI_NOT_FOUND Cannot find FVB protocol by handle.\r
+ \r
+**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * EFI_FTW_LITE_WRITE) (\r
+(EFIAPI * EFI_FTW_LITE_WRITE)(\r
IN EFI_FTW_LITE_PROTOCOL *This,\r
IN EFI_HANDLE FvbHandle,\r
IN EFI_LBA Lba,\r
IN UINTN *NumBytes,\r
IN VOID *Buffer\r
);\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Starts a target block update. This records information about the write\r
- in fault tolerant storage and will complete the write in a recoverable\r
- manner, ensuring at all times that either the original contents or\r
- the modified contents are available.\r
-\r
-Arguments:\r
-\r
- This - Calling context\r
- FvBlockHandle - The handle of FVB protocol that provides services for\r
- reading, writing, and erasing the target block.\r
- Lba - The logical block address of the target block.\r
- Offset - The offset within the target block to place the data.\r
- Length - The number of bytes to write to the target block.\r
- Buffer - The data to write.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - The function completed successfully\r
- EFI_ABORTED - The function could not complete successfully.\r
- EFI_BAD_BUFFER_SIZE - The write would span a block boundary,\r
- which is not a valid action.\r
- EFI_ACCESS_DENIED - No writes have been allocated.\r
- EFI_NOT_READY - The last write has not been completed.\r
- Restart () must be called to complete it.\r
-\r
---*/\r
\r
//\r
// Protocol declaration\r