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
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_EFI_SUCCESS Range was erased
38 @retval EFI_INVALID_PARAMETER invalid parameter
39 @retval EFI_UNSUPPORTED Range can not be erased
44 (EFIAPI
* EFI_FV_ERASE_CUSTOM_BLOCK
) (
45 IN EFI_FVB_EXTENSION_PROTOCOL
*This
,
47 IN UINTN OffsetStartLba
,
49 IN UINTN OffsetLastLba
53 // FVB Extension PROTOCOL
55 struct _EFI_FVB_EXTENSION_PROTOCOL
{
56 EFI_FV_ERASE_CUSTOM_BLOCK EraseFvbCustomBlock
;
59 extern EFI_GUID gEfiFvbExtensionProtocolGuid
;