2 The definition for iSCSI Boot Firmware Table, it's defined in Microsoft's
3 iSCSI Boot Firmware Table(iBFT) as Defined in ACPI 3.0b Specification.
5 Copyright (c) 2006 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef _ISCSI_BOOT_FIRMWARE_TABLE_H_
17 #define _ISCSI_BOOT_FIRMWARE_TABLE_H_
21 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION 0x01
22 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT 8
28 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID
= 0,
29 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID
,
30 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID
,
31 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID
,
32 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID
,
33 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID
34 } EFI_ACPI_ISCSI_ID_DEFINITIONS
;
37 /// from the definition of IP_PREFIX_ORIGIN Enumeration in MSDN,
38 /// not defined in Microsoft iBFT document.
41 IpPrefixOriginOther
= 0,
43 IpPrefixOriginWellKnown
,
45 IpPrefixOriginRouterAdvertisement
,
46 IpPrefixOriginUnchanged
= 16
62 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER
;
65 /// Common Header of Boot Firmware Table Structure
73 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER
;
79 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
81 UINT16 InitiatorOffset
;
86 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE
;
88 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION 0x1
90 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_FLAG_BOOT_FAILOVER BIT0
93 /// Initiator Structure
96 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
97 EFI_IPv6_ADDRESS ISnsServer
;
98 EFI_IPv6_ADDRESS SlpServer
;
99 EFI_IPv6_ADDRESS PrimaryRadiusServer
;
100 EFI_IPv6_ADDRESS SecondaryRadiusServer
;
101 UINT16 IScsiNameLength
;
102 UINT16 IScsiNameOffset
;
103 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE
;
105 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION 0x1
107 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID BIT0
108 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED BIT1
114 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
116 UINT8 SubnetMaskPrefixLength
;
118 EFI_IPv6_ADDRESS Gateway
;
119 EFI_IPv6_ADDRESS PrimaryDns
;
120 EFI_IPv6_ADDRESS SecondaryDns
;
121 EFI_IPv6_ADDRESS DhcpServer
;
125 UINT16 HostNameLength
;
126 UINT16 HostNameOffset
;
127 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE
;
129 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_VERSION 0x1
131 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BLOCK_VALID BIT0
132 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BOOT_SELECTED BIT1
133 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_GLOBAL BIT2
139 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
145 UINT16 IScsiNameLength
;
146 UINT16 IScsiNameOffset
;
147 UINT16 CHAPNameLength
;
148 UINT16 CHAPNameOffset
;
149 UINT16 CHAPSecretLength
;
150 UINT16 CHAPSecretOffset
;
151 UINT16 ReverseCHAPNameLength
;
152 UINT16 ReverseCHAPNameOffset
;
153 UINT16 ReverseCHAPSecretLength
;
154 UINT16 ReverseCHAPSecretOffset
;
155 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE
;
157 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_VERSION 0x1
159 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BLOCK_VALID BIT0
160 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BOOT_SELECTED BIT1
161 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_CHAP BIT2
162 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_RCHAP BIT3