diff options
Diffstat (limited to 'MdePkg/Include/Protocol/FirmwareVolumeBlock.h')
-rw-r--r-- | MdePkg/Include/Protocol/FirmwareVolumeBlock.h | 251 |
1 files changed, 0 insertions, 251 deletions
diff --git a/MdePkg/Include/Protocol/FirmwareVolumeBlock.h b/MdePkg/Include/Protocol/FirmwareVolumeBlock.h deleted file mode 100644 index 0c3d03276b..0000000000 --- a/MdePkg/Include/Protocol/FirmwareVolumeBlock.h +++ /dev/null @@ -1,251 +0,0 @@ -/** @file
- This file declares Firmware Volume Block protocol.
-
- Low level firmware device access routines to abstract firmware device
- hardware.
-
- Copyright (c) 2006, Intel Corporation
- All rights reserved. This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Module Name: FirmwareVolumeBlock.h
-
- @par Revision Reference:
- This protocol is defined in Framework of EFI Firmware Volume Block specification.
- Version 0.9
-
-**/
-
-#ifndef __FIRMWARE_VOLUME_BLOCK_H__
-#define __FIRMWARE_VOLUME_BLOCK_H__
-
-
-#define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \
- { \
- 0xDE28BC59, 0x6228, 0x41BD, {0xBD, 0xF6, 0xA3, 0xB9, 0xAD, 0xB5, 0x8D, 0xA1 } \
- }
-
-typedef struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;
-
-/**
- Retrieves Volume attributes. No polarity translations are done.
-
- @param This Calling context
- @param Attributes output buffer which contains attributes
-
- @retval EFI_INVALID_PARAMETER
- @retval EFI_SUCCESS
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FVB_GET_ATTRIBUTES) (
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
- OUT EFI_FVB_ATTRIBUTES *Attributes
- )
-;
-
-/**
- Sets Volume attributes. No polarity translations are done.
-
- @param This Calling context
- @param Attributes On input: contains new attributes
- On output: contains current attributes of FV
-
- @retval EFI_INVALID_PARAMETER
- @retval EFI_SUCCESS
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FVB_SET_ATTRIBUTES) (
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
- IN OUT EFI_FVB_ATTRIBUTES *Attributes
- )
-;
-
-/**
- Retrieves the physical address of a memory mapped FV.
-
- @param This Calling context
- @param Attributes Address is a pointer to a caller allocated EFI_PHYSICAL_ADDRESS
- that on successful return from GetPhysicalAddress() contains the
- base address of the firmware volume.
-
- @retval EFI_UNSUPPORTED
- @retval EFI_SUCCESS
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FVB_GET_PHYSICAL_ADDRESS) (
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
- OUT EFI_PHYSICAL_ADDRESS *Address
- )
-;
-
-/**
- Retrieves the size in bytes of a specific block within an FV.
-
- @param This Calling context.
- @param Lba Indicates which block to return the size for.
- @param BlockSize BlockSize is a pointer to a caller allocated
- UINTN in which the size of the block is returned.
- @param NumberOfBlocks NumberOfBlocks is a pointer to a caller allocated
- UINTN in which the number of consecutive blocks
- starting with Lba is returned. All blocks in this
- range have a size of BlockSize.
-
- @retval EFI_INVALID_PARAMETER
- @retval EFI_SUCCESS
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FVB_GET_BLOCK_SIZE) (
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
- IN EFI_LBA Lba,
- OUT UINTN *BlockSize,
- OUT UINTN *NumberOfBlocks
- )
-;
-
-/**
- Reads data beginning at Lba:Offset from FV and places the data in Buffer.
- The read terminates either when *NumBytes of data have been read, or when
- a block boundary is reached. *NumBytes is updated to reflect the actual
- number of bytes read.
-
- @param This Calling context
- @param Lba Block in which to begin read
- @param Offset Offset in the block at which to begin read
- @param NumBytes At input, indicates the requested read size. At output, indicates
- the actual number of bytes read.
- @param Buffer Data buffer in which to place data read.
-
- @retval EFI_INVALID_PARAMETER
- @retval EFI_NOT_FOUND
- @retval EFI_DEVICE_ERROR
- @retval EFI_SUCCESS
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FVB_READ) (
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
- IN EFI_LBA Lba,
- IN UINTN Offset,
- IN OUT UINTN *NumBytes,
- OUT UINT8 *Buffer
- )
-;
-
-/**
- Writes data beginning at Lba:Offset from FV. The write terminates either
- when *NumBytes of data have been written, or when a block boundary is
- reached. *NumBytes is updated to reflect the actual number of bytes
- written.
-
- @param This Calling context
- @param Lba Block in which to begin write
- @param Offset Offset in the block at which to begin write
- @param NumBytes At input, indicates the requested write size. At output, indicates
- the actual number of bytes written.
- @param Buffer Buffer containing source data for the write.
-
- @retval EFI_INVALID_PARAMETER
- @retval EFI_NOT_FOUND
- @retval EFI_DEVICE_ERROR
- @retval EFI_SUCCESS
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FVB_WRITE) (
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
- IN EFI_LBA Lba,
- IN UINTN Offset,
- IN OUT UINTN *NumBytes,
- IN UINT8 *Buffer
- )
-;
-
-#define EFI_LBA_LIST_TERMINATOR 0xFFFFFFFFFFFFFFFFULL
-
-/**
- The EraseBlock() function erases one or more blocks as denoted by the
- variable argument list. The entire parameter list of blocks must be verified
- prior to erasing any blocks. If a block is requested that does not exist
- within the associated firmware volume (it has a larger index than the last
- block of the firmware volume), the EraseBlock() function must return
- EFI_INVALID_PARAMETER without modifying the contents of the firmware volume.
-
- @param This Calling context
- @param ... Starting LBA followed by Number of Lba to erase. a -1 to terminate
- the list.
-
- @retval EFI_INVALID_PARAMETER
- @retval EFI_DEVICE_ERROR
- @retval EFI_SUCCESS
- @retval EFI_ACCESS_DENIED
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_FVB_ERASE_BLOCKS) (
- IN EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,
- ...
- )
-;
-
-/**
- @par Protocol Description:
- This protocol provides control over block-oriented firmware devices.
- Typically, the FFS (or an alternate file system) driver consumes the
- Firmware Volume Block Protocol and produces the Firmware Volume Protocol.
-
- @param GetAttributes
- Retrieves the current volume attributes.
-
- @param SetAttributes
- Sets the current volume attributes.
-
- @param GetPhysicalAddress
- Retrieves the memory-mapped address of the firmware volume.
-
- @param GetBlockSize
- Retrieves the size for a specific block.
-
- @param Read
- Reads n bytes into a buffer from the firmware volume hardware.
-
- @param Write
- Writes n bytes from a buffer into the firmware volume hardware.
-
- @param EraseBlocks
- Erases specified block(s) and sets all values as indicated by
- the EFI_FVB_ERASE_POLARITY bit.
-
- @param ParentHandle
- Handle of the parent firmware volume.
-
-**/
-struct _EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {
- EFI_FVB_GET_ATTRIBUTES GetVolumeAttributes;
- EFI_FVB_SET_ATTRIBUTES SetVolumeAttributes;
- EFI_FVB_GET_PHYSICAL_ADDRESS GetPhysicalAddress;
- EFI_FVB_GET_BLOCK_SIZE GetBlockSize;
- EFI_FVB_READ Read;
- EFI_FVB_WRITE Write;
- EFI_FVB_ERASE_BLOCKS EraseBlocks;
- EFI_HANDLE ParentHandle;
-};
-
-extern EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid;
-
-#endif
|