3 FVB Extension protocol provides one extended service to FVB protocol defined in PI specification.
4 This service can erase the specified range of a firmware volume block.
6 Copyright (c) 2006 - 2008, Intel Corporation
7 All rights reserved. This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 #ifndef __FVB_EXTENSION_H__
18 #define __FVB_EXTENSION_H__
20 #define EFI_FVB_EXTENSION_PROTOCOL_GUID \
21 {0x53a4c71b, 0xb581, 0x4170, {0x91, 0xb3, 0x8d, 0xb8, 0x7a, 0x4b, 0x5c, 0x46 } }
23 typedef struct _EFI_FVB_EXTENSION_PROTOCOL EFI_FVB_EXTENSION_PROTOCOL
;
26 // FVB Extension Function Prototypes
29 Erases and initializes a specified range of a firmware volume block.
31 @param[in] This Pointer to the FVB Extension protocol instance
32 @param[in] StartLba The starting logical block index to be erased
33 @param[in] OffsetStartLba Offset into the starting block at which to begin erasing
34 @param[in] LastLba The last logical block index to be erased
35 @param[in] OffsetLastLba Offset into the last block at which to end erasing
37 @retval EFI_SUCCESS The specified range was erased successfully
38 @retval EFI_ACCESS_DENIED The firmware volume block is in the WriteDisabled state
39 @retval EFI_DEVICE_ERROR The block device is not functioning correctly and
40 could not be written. Firmware device may have been
45 (EFIAPI
* EFI_FV_ERASE_CUSTOM_BLOCK
)(
46 IN EFI_FVB_EXTENSION_PROTOCOL
*This
,
48 IN UINTN OffsetStartLba
,
50 IN UINTN OffsetLastLba
54 // FVB Extension PROTOCOL
56 struct _EFI_FVB_EXTENSION_PROTOCOL
{
57 EFI_FV_ERASE_CUSTOM_BLOCK EraseFvbCustomBlock
;
60 extern EFI_GUID gEfiFvbExtensionProtocolGuid
;