4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The definition for iSCSI Boot Firmware Table, it's defined in Microsoft's
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync iSCSI Boot Firmware Table(iBFT) as Defined in ACPI 3.0b Specification.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync are licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync which accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION 0x01
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT 8
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Structure Type/ID
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID 0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID 1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID 3
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID 4
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID 5
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// from the definition of IP_PREFIX_ORIGIN Enumeration in MSDN,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// not defined in Microsoft iBFT document.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef enum {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// iBF Table Header
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Common Header of Boot Firmware Table Structure
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Control Structure
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION 0x1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_FLAG_BOOT_FAILOVER BIT0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Initiator Structure
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION 0x1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID BIT0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED BIT1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// NIC Structure
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_VERSION 0x1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BLOCK_VALID BIT0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BOOT_SELECTED BIT1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_GLOBAL BIT2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Target Structure
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_VERSION 0x1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BLOCK_VALID BIT0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BOOT_SELECTED BIT1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_CHAP BIT2