3 The definition for iSCSI Boot Firmware Table, it's defined in
4 Microsoft iBFT document.
6 Copyright (c) 2006 - 2007, Intel Corporation
7 All rights reserved. This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 #ifndef _ISCSI_BOOT_FIRMWARE_TABLE_H_
18 #define _ISCSI_BOOT_FIRMWARE_TABLE_H_
22 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION 0x01
23 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT 8
26 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID
= 0,
27 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID
,
28 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID
,
29 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID
,
30 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID
,
31 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID
35 IpPrefixOriginOther
= 0,
37 IpPrefixOriginWellKnown
,
39 IpPrefixOriginRouterAdvertisement
,
40 IpPrefixOriginUnchanged
= 16
53 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER
;
61 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER
;
63 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_VERSION 0x1
64 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_FLAG_BOOT_FAILOVER 0x1
67 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
69 UINT16 InitiatorOffset
;
74 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE
;
76 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_VERSION 0x1
77 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BLOCK_VALID 0x1
78 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_FLAG_BOOT_SELECTED 0x2
81 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
82 EFI_IPv6_ADDRESS ISnsServer
;
83 EFI_IPv6_ADDRESS SlpServer
;
84 EFI_IPv6_ADDRESS PrimaryRadiusServer
;
85 EFI_IPv6_ADDRESS SecondaryRadiusServer
;
86 UINT16 IScsiNameLength
;
87 UINT16 IScsiNameOffset
;
88 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE
;
90 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_VERSION 0x1
91 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BLOCK_VALID 0x1
92 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_BOOT_SELECTED 0x2
93 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_FLAG_GLOBAL 0x4
96 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
98 UINT8 SubnetMaskPrefixLength
;
100 EFI_IPv6_ADDRESS Gateway
;
101 EFI_IPv6_ADDRESS PrimaryDns
;
102 EFI_IPv6_ADDRESS SecondaryDns
;
103 EFI_IPv6_ADDRESS DhcpServer
;
107 UINT16 HostNameLength
;
108 UINT16 HostNameOffset
;
109 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE
;
111 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_VERSION 0x1
112 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BLOCK_VALID 0x1
113 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_BOOT_SELECTED 0x2
114 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_CHAP 0x4
115 #define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_FLAG_RADIUS_RCHAP 0x8
118 EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_HEADER Header
;
124 UINT16 IScsiNameLength
;
125 UINT16 IScsiNameOffset
;
126 UINT16 CHAPNameLength
;
127 UINT16 CHAPNameOffset
;
128 UINT16 CHAPSecretLength
;
129 UINT16 CHAPSecretOffset
;
130 UINT16 ReverseCHAPNameLength
;
131 UINT16 ReverseCHAPNameOffset
;
132 UINT16 ReverseCHAPSecretLength
;
133 UINT16 ReverseCHAPSecretOffset
;
134 } EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE
;