]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Include/IndustryStandard/IScsiBootFirmwareTable.h
1) Sync EdkCompatibilityPkg with EDK 1.04. The changes includes:
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Include / IndustryStandard / IScsiBootFirmwareTable.h
diff --git a/EdkCompatibilityPkg/Foundation/Include/IndustryStandard/IScsiBootFirmwareTable.h b/EdkCompatibilityPkg/Foundation/Include/IndustryStandard/IScsiBootFirmwareTable.h
new file mode 100644 (file)
index 0000000..8696e9c
--- /dev/null
@@ -0,0 +1,146 @@
+/*++\r
+\r
+Copyright (c) 2007, Intel Corporation                                                         \r
+All rights reserved. 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