3 FVB Extension protocol that extends the FVB Class in a component fashion.
5 Copyright (c) 2006 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef __FVB_EXTENSION_H__
17 #define __FVB_EXTENSION_H__
19 #define EFI_FVB_EXTENSION_PROTOCOL_GUID \
20 {0x53a4c71b, 0xb581, 0x4170, {0x91, 0xb3, 0x8d, 0xb8, 0x7a, 0x4b, 0x5c, 0x46 } }
22 typedef struct _EFI_FVB_EXTENSION_PROTOCOL EFI_FVB_EXTENSION_PROTOCOL
;
25 // FVB Extension Function Prototypes
28 Erases and initializes a specified range of a firmware volume block
30 @param[in] This Pointer to the FVB Extension protocol instance
31 @param[in] StartLba The starting logical block index to be erased
32 @param[in] OffsetStartLba Offset into the starting block at which to
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
;