-/*++\r
+/**@file\r
\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
+Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
http://opensource.org/licenses/bsd-license.php \r
\r
Firmware volume block driver for Intel Firmware Hub (FWH) device\r
\r
---*/\r
+**/\r
\r
#ifndef _FW_BLOCK_SERVICE_H\r
#define _FW_BLOCK_SERVICE_H\r
//\r
#define FVB_DEVICE_FROM_THIS(a) CR (a, EFI_FW_VOL_BLOCK_DEVICE, FwVolBlockInstance, FVB_DEVICE_SIGNATURE)\r
#define FVB_EXTEND_DEVICE_FROM_THIS(a) CR (a, EFI_FW_VOL_BLOCK_DEVICE, FvbExtension, FVB_DEVICE_SIGNATURE)\r
-#define FVB_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('F', 'V', 'B', 'N')\r
+#define FVB_DEVICE_SIGNATURE SIGNATURE_32 ('F', 'V', 'B', 'N')\r
\r
typedef struct {\r
- MEMMAP_DEVICE_PATH MemMapDevPath;\r
+ MEDIA_FW_VOL_DEVICE_PATH FvDevPath;\r
EFI_DEVICE_PATH_PROTOCOL EndDevPath;\r
-} FV_DEVICE_PATH;\r
+} FV_PIWG_DEVICE_PATH;\r
+\r
+typedef struct {\r
+ MEMMAP_DEVICE_PATH MemMapDevPath;\r
+ EFI_DEVICE_PATH_PROTOCOL EndDevPath;\r
+} FV_MEMMAP_DEVICE_PATH;\r
\r
typedef struct {\r
UINTN Signature;\r
- FV_DEVICE_PATH DevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
UINTN Instance;\r
EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL FwVolBlockInstance;\r
- EFI_FVB_EXTENSION_PROTOCOL FvbExtension;\r
} EFI_FW_VOL_BLOCK_DEVICE;\r
\r
EFI_STATUS\r
GetFvbInfo (\r
IN UINT64 FvLength,\r
OUT EFI_FIRMWARE_VOLUME_HEADER **FvbInfo\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
FvbReadBlock (\r
IN UINT8 *Buffer,\r
IN ESAL_FWB_GLOBAL *Global,\r
IN BOOLEAN Virtual\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
FvbWriteBlock (\r
IN CONST UINT8 *Buffer,\r
IN ESAL_FWB_GLOBAL *Global,\r
IN BOOLEAN Virtual\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
FvbEraseBlock (\r
IN EFI_LBA Lba,\r
IN ESAL_FWB_GLOBAL *Global,\r
IN BOOLEAN Virtual\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
FvbSetVolumeAttributes (\r
IN UINTN Instance,\r
- IN OUT EFI_FVB_ATTRIBUTES *Attributes,\r
+ IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes,\r
IN ESAL_FWB_GLOBAL *Global,\r
IN BOOLEAN Virtual\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
FvbGetVolumeAttributes (\r
IN UINTN Instance,\r
- OUT EFI_FVB_ATTRIBUTES *Attributes,\r
+ OUT EFI_FVB_ATTRIBUTES_2 *Attributes,\r
IN ESAL_FWB_GLOBAL *Global,\r
IN BOOLEAN Virtual\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
FvbGetPhysicalAddress (\r
OUT EFI_PHYSICAL_ADDRESS *Address,\r
IN ESAL_FWB_GLOBAL *Global,\r
IN BOOLEAN Virtual\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
EFIAPI\r
FvbInitialize (\r
IN EFI_HANDLE ImageHandle,\r
IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-;\r
+ );\r
\r
\r
VOID\r
FvbClassAddressChangeEvent (\r
IN EFI_EVENT Event,\r
IN VOID *Context\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
FvbGetLbaAddress (\r
OUT UINTN *NumOfBlocks,\r
IN ESAL_FWB_GLOBAL *Global,\r
IN BOOLEAN Virtual\r
- )\r
-;\r
+ );\r
\r
//\r
// Protocol APIs\r
EFIAPI\r
FvbProtocolGetAttributes (\r
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
- OUT EFI_FVB_ATTRIBUTES *Attributes\r
- )\r
-;\r
+ OUT EFI_FVB_ATTRIBUTES_2 *Attributes\r
+ );\r
\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolSetAttributes (\r
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
- IN OUT EFI_FVB_ATTRIBUTES *Attributes\r
- )\r
-;\r
+ IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes\r
+ );\r
\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolGetPhysicalAddress (\r
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
OUT EFI_PHYSICAL_ADDRESS *Address\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
EFIAPI\r
IN CONST EFI_LBA Lba,\r
OUT UINTN *BlockSize,\r
OUT UINTN *NumOfBlocks\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
EFIAPI\r
IN CONST UINTN Offset,\r
IN OUT UINTN *NumBytes,\r
IN UINT8 *Buffer\r
- )\r
-;\r
+ );\r
\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolWrite (\r
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
- IN CONST EFI_LBA Lba,\r
- IN CONST UINTN Offset,\r
- IN OUT UINTN *NumBytes,\r
- IN CONST UINT8 *Buffer\r
- )\r
-;\r
+ IN EFI_LBA Lba,\r
+ IN UINTN Offset,\r
+ IN OUT UINTN *NumBytes,\r
+ IN UINT8 *Buffer\r
+ );\r
\r
EFI_STATUS\r
EFIAPI\r
FvbProtocolEraseBlocks (\r
IN CONST EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *This,\r
...\r
- )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-FvbExtendProtocolEraseCustomBlockRange (\r
- IN EFI_FVB_EXTENSION_PROTOCOL *This,\r
- IN EFI_LBA StartLba,\r
- IN UINTN OffsetStartLba,\r
- IN EFI_LBA LastLba,\r
- IN UINTN OffsetLastLba\r
- )\r
-;\r
+ );\r
\r
#endif\r