• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2   Library to define platform customization functions for a
3   Firmare Volume Block driver.
4 
5   Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
6   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 __PLATFORM_FVB_LIB__
17 #define __PLATFORM_FVB_LIB__
18 
19 #include <Protocol/FirmwareVolumeBlock.h>
20 
21 /**
22   This function will be called following a call to the
23   EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Read function.
24 
25   @param[in] This     The EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
26   @param[in] Lba      The starting logical block index
27                       from which to read.
28   @param[in] Offset   Offset into the block at which to begin reading.
29   @param[in] NumBytes The number of bytes read.
30   @param[in] Buffer   Pointer to the buffer that was read, and will be
31                       returned to the caller.
32 
33 **/
34 VOID
35 EFIAPI
36 PlatformFvbDataRead (
37   IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
38   IN        EFI_LBA                             Lba,
39   IN        UINTN                               Offset,
40   IN        UINTN                               NumBytes,
41   IN        UINT8                               *Buffer
42   );
43 
44 
45 /**
46   This function will be called following a call to the
47   EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Write function.
48 
49   @param[in] This     EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL instance.
50   @param[in] Lba      The starting logical block index to written to.
51   @param[in] Offset   Offset into the block at which to begin writing.
52   @param[in] NumBytes The number of bytes written.
53   @param[in] Buffer   Pointer to the buffer that was written.
54 
55 **/
56 VOID
57 EFIAPI
58 PlatformFvbDataWritten (
59   IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
60   IN        EFI_LBA                              Lba,
61   IN        UINTN                                Offset,
62   IN        UINTN                                NumBytes,
63   IN        UINT8                                *Buffer
64   );
65 
66 
67 /**
68   This function will be called following a call to the
69   EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Erase function.
70 
71   @param This   Indicates the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL
72                 instance.
73   @param List   The variable argument list as documented for
74                 the EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL Erase
75                 function.
76 
77 **/
78 VOID
79 EFIAPI
80 PlatformFvbBlocksErased (
81   IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
82   IN  VA_LIST       List
83   );
84 
85 
86 #endif
87 
88