]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Protocol/FvbExtension.h
Code scrube for MdeModule Definitions.
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / FvbExtension.h
1 /** @file
2
3 FVB Extension protocol that extends the FVB Class in a component fashion.
4
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
10
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.
13
14 **/
15
16 #ifndef __FVB_EXTENSION_H__
17 #define __FVB_EXTENSION_H__
18
19 #define EFI_FVB_EXTENSION_PROTOCOL_GUID \
20 {0x53a4c71b, 0xb581, 0x4170, {0x91, 0xb3, 0x8d, 0xb8, 0x7a, 0x4b, 0x5c, 0x46 } }
21
22 typedef struct _EFI_FVB_EXTENSION_PROTOCOL EFI_FVB_EXTENSION_PROTOCOL;
23
24 //
25 // FVB Extension Function Prototypes
26 //
27 /**
28 Erases and initializes a specified range of a firmware volume block
29
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
33 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
36
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
41 partially erased
42 **/
43 typedef
44 EFI_STATUS
45 (EFIAPI * EFI_FV_ERASE_CUSTOM_BLOCK) (
46 IN EFI_FVB_EXTENSION_PROTOCOL *This,
47 IN EFI_LBA StartLba,
48 IN UINTN OffsetStartLba,
49 IN EFI_LBA LastLba,
50 IN UINTN OffsetLastLba
51 );
52
53 //
54 // FVB Extension PROTOCOL
55 //
56 struct _EFI_FVB_EXTENSION_PROTOCOL {
57 EFI_FV_ERASE_CUSTOM_BLOCK EraseFvbCustomBlock;
58 };
59
60 extern EFI_GUID gEfiFvbExtensionProtocolGuid;
61
62 #endif
63