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