3 Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 IScsiBootFirmwareTable.h
18 The definition for iSCSI Boot Firmware Table, it's defined in
19 Microsoft iBFT document.
23 #ifndef _ISCSI_BOOT_FIRMWARE_TABLE_H_
24 #define _ISCSI_BOOT_FIRMWARE_TABLE_H_
29 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION 0x01
30 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT 8
33 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID
= 0,
34 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID
,
35 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID
,
36 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID
,
37 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID
,
38 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID
,
42 IpPrefixOriginOther
= 0,
44 IpPrefixOriginWellKnown
,
46 IpPrefixOriginRouterAdvertisement
,
47 IpPrefixOriginUnchanged
= 16
60 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER
;
68 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER
;
70 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION 0x1
71 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_FLAG_BOOT_FAILOVER 0x1
74 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
76 UINT16 InitiatorOffset
;
81 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE
;
83 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION 0x1
84 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID 0x1
85 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED 0x2
88 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
89 EFI_IPv6_ADDRESS ISnsServer
;
90 EFI_IPv6_ADDRESS SlpServer
;
91 EFI_IPv6_ADDRESS PrimaryRadiusServer
;
92 EFI_IPv6_ADDRESS SecondaryRadiusServer
;
93 UINT16 IScsiNameLength
;
94 UINT16 IScsiNameOffset
;
95 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE
;
97 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_VERSION 0x1
98 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BLOCK_VALID 0x1
99 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BOOT_SELECTED 0x2
100 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_GLOBAL 0x4
103 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
105 UINT8 SubnetMaskPrefixLength
;
107 EFI_IPv6_ADDRESS Gateway
;
108 EFI_IPv6_ADDRESS PrimaryDns
;
109 EFI_IPv6_ADDRESS SecondaryDns
;
110 EFI_IPv6_ADDRESS DhcpServer
;
114 UINT16 HostNameLength
;
115 UINT16 HostNameOffset
;
116 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE
;
118 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_VERSION 0x1
119 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BLOCK_VALID 0x1
120 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BOOT_SELECTED 0x2
121 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_CHAP 0x4
122 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_RCHAP 0x8
125 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
131 UINT16 IScsiNameLength
;
132 UINT16 IScsiNameOffset
;
133 UINT16 CHAPNameLength
;
134 UINT16 CHAPNameOffset
;
135 UINT16 CHAPSecretLength
;
136 UINT16 CHAPSecretOffset
;
137 UINT16 ReverseCHAPNameLength
;
138 UINT16 ReverseCHAPNameOffset
;
139 UINT16 ReverseCHAPSecretLength
;
140 UINT16 ReverseCHAPSecretOffset
;
141 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE
;