/** @file\r
This file provides control over block-oriented firmware devices.\r
\r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials are licensed and made available under \r
-the terms and conditions of the BSD License that accompanies this distribution. \r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under\r
+the terms and conditions of the BSD License that accompanies this distribution.\r
The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php. \r
- \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
+http://opensource.org/licenses/bsd-license.php.\r
+\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
@par Revision Reference: PI\r
Version 1.0 and 1.2.\r
//\r
// EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is defined in PI 1.0 spec and its GUID value\r
// is later updated to be the same as that of EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL\r
-// defined in PI 1.2 spec. \r
+// defined in PI 1.2 spec.\r
//\r
#define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \\r
{ 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }\r
\r
typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;\r
\r
-typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL; \r
+typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL;\r
\r
/**\r
The GetAttributes() function retrieves the attributes and\r
settings of the firmware volume. Type\r
EFI_FVB_ATTRIBUTES_2 is defined in\r
EFI_FIRMWARE_VOLUME_HEADER.\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume attributes were returned.\r
\r
@retval EFI_INVALID_PARAMETER The attributes requested are in\r
only for memory-mapped firmware volumes.\r
\r
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
- \r
+\r
@param Address Pointer to a caller-allocated\r
EFI_PHYSICAL_ADDRESS that, on successful\r
return from GetPhysicalAddress(), contains the\r
base address of the firmware volume.\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume base address was returned.\r
- \r
+\r
@retval EFI_UNSUPPORTED The firmware volume is not memory mapped.\r
\r
**/\r
blocks in this range have a size of\r
BlockSize.\r
\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume base address was returned.\r
- \r
+\r
@retval EFI_INVALID_PARAMETER The requested LBA is out of range.\r
\r
**/\r
aware that a read may be partially completed.\r
\r
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
- \r
+\r
@param Lba The starting logical block index\r
from which to read.\r
\r
\r
@retval EFI_SUCCESS The firmware volume was read successfully,\r
and contents are in Buffer.\r
- \r
+\r
@retval EFI_BAD_BUFFER_SIZE Read attempted across an LBA\r
boundary. On output, NumBytes\r
contains the total number of bytes\r
returned in Buffer.\r
- \r
+\r
@retval EFI_ACCESS_DENIED The firmware volume is in the\r
ReadDisabled state.\r
- \r
+\r
@retval EFI_DEVICE_ERROR The block device is not\r
functioning correctly and could\r
not be read.\r
unpredictability arises because, for a sticky-write firmware\r
volume, a write may negate a bit in the EFI_FVB_ERASE_POLARITY\r
state but cannot flip it back again. Before calling the\r
- Write() function, it is recommended for the caller to first call \r
+ Write() function, it is recommended for the caller to first call\r
the EraseBlocks() function to erase the specified block to\r
write. A block erase cycle will transition bits from the\r
(NOT)EFI_FVB_ERASE_POLARITY state back to the\r
returns.\r
\r
@param This Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.\r
- \r
+\r
@param Lba The starting logical block index to write to.\r
- \r
+\r
@param Offset Offset into the block at which to begin writing.\r
- \r
+\r
@param NumBytes The pointer to a UINTN. At entry, *NumBytes\r
contains the total size of the buffer. At\r
exit, *NumBytes contains the total number of\r
bytes actually written.\r
- \r
+\r
@param Buffer The pointer to a caller-allocated buffer that\r
contains the source for the write.\r
- \r
+\r
@retval EFI_SUCCESS The firmware volume was written successfully.\r
- \r
+\r
@retval EFI_BAD_BUFFER_SIZE The write was attempted across an\r
LBA boundary. On output, NumBytes\r
contains the total number of bytes\r
actually written.\r
- \r
+\r
@retval EFI_ACCESS_DENIED The firmware volume is in the\r
WriteDisabled state.\r
- \r
+\r
@retval EFI_DEVICE_ERROR The block device is malfunctioning\r
and could not be written.\r
\r
\r
@retval EFI_SUCCESS The erase request successfully\r
completed.\r
- \r
+\r
@retval EFI_ACCESS_DENIED The firmware volume is in the\r
WriteDisabled state.\r
@retval EFI_DEVICE_ERROR The block device is not functioning\r
partially erased.\r
@retval EFI_INVALID_PARAMETER One or more of the LBAs listed\r
in the variable argument list do\r
- not exist in the firmware volume. \r
+ not exist in the firmware volume.\r
\r
**/\r
typedef\r
EFI_FVB_ERASE_BLOCKS EraseBlocks;\r
///\r
/// The handle of the parent firmware volume.\r
- /// \r
+ ///\r
EFI_HANDLE ParentHandle;\r
};\r
\r