+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2007, 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
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- IScsiBootFirmwareTable.h\r
-\r
-Abstract:\r
-\r
- The definition for iSCSI Boot Firmware Table, it's defined in\r
- Microsoft iBFT document.\r
-\r
---*/\r
-\r
-#ifndef _ISCSI_BOOT_FIRMWARE_TABLE_H_\r
-#define _ISCSI_BOOT_FIRMWARE_TABLE_H_\r
-\r
-#include "Tiano.h"\r
-#include "Acpi3_0.h"\r
-\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION 0x01\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT 8\r
-\r
-enum {\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID = 0,\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID,\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID,\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID,\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID,\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID,\r
-};\r
-\r
-enum {\r
- IpPrefixOriginOther = 0,\r
- IpPrefixOriginManual,\r
- IpPrefixOriginWellKnown,\r
- IpPrefixOriginDhcp,\r
- IpPrefixOriginRouterAdvertisement,\r
- IpPrefixOriginUnchanged = 16\r
-};\r
-\r
-#pragma pack(1)\r
-\r
-typedef struct {\r
- UINT32 Signature;\r
- UINT32 Length;\r
- UINT8 Revision;\r
- UINT8 Checksum;\r
- UINT8 OemId[6];\r
- UINT64 OemTableId;\r
- UINT8 Reserved[24];\r
-} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER;\r
-\r
-typedef struct {\r
- UINT8 StructureId;\r
- UINT8 Version;\r
- UINT16 Length;\r
- UINT8 Index;\r
- UINT8 Flags;\r
-} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER;\r
-\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION 0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_FLAG_BOOT_FAILOVER 0x1\r
-\r
-typedef struct {\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;\r
- UINT16 Extensions;\r
- UINT16 InitiatorOffset;\r
- UINT16 NIC0Offset;\r
- UINT16 Target0Offset;\r
- UINT16 NIC1Offset;\r
- UINT16 Target1Offset; \r
-} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE;\r
-\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION 0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID 0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED 0x2\r
-\r
-typedef struct {\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;\r
- EFI_IPv6_ADDRESS ISnsServer;\r
- EFI_IPv6_ADDRESS SlpServer;\r
- EFI_IPv6_ADDRESS PrimaryRadiusServer;\r
- EFI_IPv6_ADDRESS SecondaryRadiusServer;\r
- UINT16 IScsiNameLength;\r
- UINT16 IScsiNameOffset;\r
-} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE;\r
-\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_VERSION 0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BLOCK_VALID 0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BOOT_SELECTED 0x2\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_GLOBAL 0x4\r
-\r
-typedef struct {\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;\r
- EFI_IPv6_ADDRESS Ip;\r
- UINT8 SubnetMaskPrefixLength;\r
- UINT8 Origin;\r
- EFI_IPv6_ADDRESS Gateway;\r
- EFI_IPv6_ADDRESS PrimaryDns;\r
- EFI_IPv6_ADDRESS SecondaryDns;\r
- EFI_IPv6_ADDRESS DhcpServer;\r
- UINT16 VLanTag;\r
- UINT8 Mac[6];\r
- UINT16 PciLocation;\r
- UINT16 HostNameLength;\r
- UINT16 HostNameOffset;\r
-} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE;\r
-\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_VERSION 0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BLOCK_VALID 0x1\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BOOT_SELECTED 0x2\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_CHAP 0x4\r
-#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_RCHAP 0x8\r
-\r
-typedef struct {\r
- EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header;\r
- EFI_IPv6_ADDRESS Ip;\r
- UINT16 Port;\r
- UINT8 BootLun[8];\r
- UINT8 CHAPType;\r
- UINT8 NicIndex;\r
- UINT16 IScsiNameLength;\r
- UINT16 IScsiNameOffset;\r
- UINT16 CHAPNameLength;\r
- UINT16 CHAPNameOffset;\r
- UINT16 CHAPSecretLength;\r
- UINT16 CHAPSecretOffset;\r
- UINT16 ReverseCHAPNameLength;\r
- UINT16 ReverseCHAPNameOffset;\r
- UINT16 ReverseCHAPSecretLength;\r
- UINT16 ReverseCHAPSecretOffset;\r
-} EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE;\r
-\r
-#pragma pack()\r
-\r
-#endif\r
-\r