Define NVData structures used by the iSCSI configuration component.\r
\r
Copyright (c) 2004 - 2017, 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
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
#include <Guid/IScsiConfigHii.h>\r
\r
-#define VAR_EQ_TEST_NAME 0x100\r
-#define CONFIGURATION_VARSTORE_ID 0x6666\r
+#define VAR_EQ_TEST_NAME 0x100\r
+#define CONFIGURATION_VARSTORE_ID 0x6666\r
\r
-#define FORMID_MAIN_FORM 1\r
-#define FORMID_MAC_FORM 2\r
-#define FORMID_ATTEMPT_FORM 3\r
-#define FORMID_ORDER_FORM 4\r
-#define FORMID_DELETE_FORM 5\r
+#define FORMID_MAIN_FORM 1\r
+#define FORMID_MAC_FORM 2\r
+#define FORMID_ATTEMPT_FORM 3\r
+#define FORMID_ORDER_FORM 4\r
+#define FORMID_DELETE_FORM 5\r
\r
-#define ISCSI_MAX_ATTEMPTS_NUM FixedPcdGet8 (PcdMaxIScsiAttemptNumber)\r
+#define ISCSI_MAX_ATTEMPTS_NUM FixedPcdGet8 (PcdMaxIScsiAttemptNumber)\r
\r
-#define ISCSI_NAME_IFR_MIN_SIZE 4\r
-#define ISCSI_NAME_IFR_MAX_SIZE 223\r
-#define ISCSI_NAME_MAX_SIZE 224\r
+#define ISCSI_NAME_IFR_MIN_SIZE 4\r
+#define ISCSI_NAME_IFR_MAX_SIZE 223\r
+#define ISCSI_NAME_MAX_SIZE 224\r
\r
-#define ATTEMPT_NAME_LIST_SIZE 96\r
-#define ATTEMPT_NAME_SIZE 12\r
+#define ATTEMPT_NAME_LIST_SIZE 96\r
+#define ATTEMPT_NAME_SIZE 12\r
\r
-#define CONNECT_MIN_RETRY 0\r
-#define CONNECT_MAX_RETRY 16\r
+#define CONNECT_MIN_RETRY 0\r
+#define CONNECT_MAX_RETRY 16\r
\r
-#define CONNECT_MIN_TIMEOUT 100\r
-#define CONNECT_MAX_TIMEOUT 20000\r
-#define CONNECT_DEFAULT_TIMEOUT 1000\r
+#define CONNECT_MIN_TIMEOUT 100\r
+#define CONNECT_MAX_TIMEOUT 20000\r
+#define CONNECT_DEFAULT_TIMEOUT 1000\r
\r
-#define ISCSI_ACTIVE_DISABLED 0\r
-#define ISCSI_ACTIVE_ENABLED 1\r
+#define ISCSI_ACTIVE_DISABLED 0\r
+#define ISCSI_ACTIVE_ENABLED 1\r
\r
-#define ISCSI_DISABLED 0\r
-#define ISCSI_ENABLED 1\r
-#define ISCSI_ENABLED_FOR_MPIO 2\r
+#define ISCSI_DISABLED 0\r
+#define ISCSI_ENABLED 1\r
+#define ISCSI_ENABLED_FOR_MPIO 2\r
\r
-#define IP_MODE_IP4 0\r
-#define IP_MODE_IP6 1\r
-#define IP_MODE_AUTOCONFIG 2\r
+#define IP_MODE_IP4 0\r
+#define IP_MODE_IP6 1\r
+#define IP_MODE_AUTOCONFIG 2\r
\r
-#define ISCSI_AUTH_TYPE_NONE 0\r
-#define ISCSI_AUTH_TYPE_CHAP 1\r
-#define ISCSI_AUTH_TYPE_KRB 2\r
+#define ISCSI_AUTH_TYPE_NONE 0\r
+#define ISCSI_AUTH_TYPE_CHAP 1\r
+#define ISCSI_AUTH_TYPE_KRB 2\r
\r
-#define IP4_MIN_SIZE 7\r
-#define IP4_MAX_SIZE 15\r
-#define IP4_STR_MAX_SIZE 16\r
+#define IP4_MIN_SIZE 7\r
+#define IP4_MAX_SIZE 15\r
+#define IP4_STR_MAX_SIZE 16\r
\r
//\r
// Macros used for an IPv4 or an IPv6 address.\r
//\r
-#define IP_MIN_SIZE 2\r
-#define IP_MAX_SIZE 39\r
-#define IP_STR_MAX_SIZE 40\r
-\r
-#define LUN_MIN_SIZE 1\r
-#define LUN_MAX_SIZE 20\r
-#define ISCSI_LUN_STR_MAX_LEN 21\r
-\r
-#define ISCSI_CHAP_UNI 0\r
-#define ISCSI_CHAP_MUTUAL 1\r
-\r
-#define TARGET_PORT_MIN_NUM 0\r
-#define TARGET_PORT_MAX_NUM 65535\r
-#define LABEL_END 0xffff\r
-\r
-#define KEY_INITIATOR_NAME 0x101\r
-#define KEY_DHCP_ENABLE 0x102\r
-#define KEY_LOCAL_IP 0x103\r
-#define KEY_SUBNET_MASK 0x104\r
-#define KEY_GATE_WAY 0x105\r
-#define KEY_TARGET_IP 0x106\r
-#define KEY_CHAP_NAME 0x107\r
-#define KEY_CHAP_SECRET 0x108\r
-#define KEY_REVERSE_CHAP_NAME 0x109\r
-#define KEY_REVERSE_CHAP_SECRET 0x10a\r
-#define KEY_SAVE_CHANGES 0x10b\r
-#define KEY_TARGET_NAME 0x10c\r
-#define KEY_BOOT_LUN 0x10d\r
-\r
-#define KEY_ADD_ATTEMPT 0x10e\r
-#define KEY_SAVE_ATTEMPT_CONFIG 0x10f\r
-#define KEY_ORDER_ATTEMPT_CONFIG 0x110\r
-#define KEY_SAVE_ORDER_CHANGES 0x111\r
-#define KEY_IGNORE_ORDER_CHANGES 0x112\r
-#define KEY_ATTEMPT_NAME 0x113\r
-#define KEY_SAVE_DELETE_ATTEMPT 0x114\r
-#define KEY_IGNORE_DELETE_ATTEMPT 0x115\r
-#define KEY_DELETE_ATTEMPT 0x116\r
-\r
-#define KEY_IP_MODE 0x11c\r
-#define KEY_AUTH_TYPE 0x11d\r
-#define KEY_CONFIG_ISID 0x11e\r
-\r
-#define ATTEMPT_ENTRY_LABEL 0x9000\r
-#define KEY_ATTEMPT_ENTRY_BASE 0xa000\r
-#define KEY_DE_ATTEMPT_ENTRY_BASE 0xb000\r
-\r
-#define KEY_DEVICE_ENTRY_BASE 0x1000\r
-#define KEY_MAC_ENTRY_BASE 0x2000\r
-#define MAC_ENTRY_LABEL 0x3000\r
-#define ORDER_ENTRY_LABEL 0x4000\r
-#define DELETE_ENTRY_LABEL 0x5000\r
-#define KEYWORD_ENTRY_LABEL 0x6000\r
-#define CONFIG_OPTION_OFFSET 0x9000\r
-\r
-#define ISCSI_CHAP_SECRET_MIN_LEN 12\r
-#define ISCSI_CHAP_SECRET_MAX_LEN 16\r
+#define IP_MIN_SIZE 2\r
+#define IP_MAX_SIZE 39\r
+#define IP_STR_MAX_SIZE 40\r
+\r
+#define LUN_MIN_SIZE 1\r
+#define LUN_MAX_SIZE 20\r
+#define ISCSI_LUN_STR_MAX_LEN 21\r
+\r
+#define ISCSI_CHAP_UNI 0\r
+#define ISCSI_CHAP_MUTUAL 1\r
+\r
+#define TARGET_PORT_MIN_NUM 0\r
+#define TARGET_PORT_MAX_NUM 65535\r
+#define LABEL_END 0xffff\r
+\r
+#define KEY_INITIATOR_NAME 0x101\r
+#define KEY_DHCP_ENABLE 0x102\r
+#define KEY_LOCAL_IP 0x103\r
+#define KEY_SUBNET_MASK 0x104\r
+#define KEY_GATE_WAY 0x105\r
+#define KEY_TARGET_IP 0x106\r
+#define KEY_CHAP_NAME 0x107\r
+#define KEY_CHAP_SECRET 0x108\r
+#define KEY_REVERSE_CHAP_NAME 0x109\r
+#define KEY_REVERSE_CHAP_SECRET 0x10a\r
+#define KEY_SAVE_CHANGES 0x10b\r
+#define KEY_TARGET_NAME 0x10c\r
+#define KEY_BOOT_LUN 0x10d\r
+\r
+#define KEY_ADD_ATTEMPT 0x10e\r
+#define KEY_SAVE_ATTEMPT_CONFIG 0x10f\r
+#define KEY_ORDER_ATTEMPT_CONFIG 0x110\r
+#define KEY_SAVE_ORDER_CHANGES 0x111\r
+#define KEY_IGNORE_ORDER_CHANGES 0x112\r
+#define KEY_ATTEMPT_NAME 0x113\r
+#define KEY_SAVE_DELETE_ATTEMPT 0x114\r
+#define KEY_IGNORE_DELETE_ATTEMPT 0x115\r
+#define KEY_DELETE_ATTEMPT 0x116\r
+\r
+#define KEY_IP_MODE 0x11c\r
+#define KEY_AUTH_TYPE 0x11d\r
+#define KEY_CONFIG_ISID 0x11e\r
+\r
+#define ATTEMPT_ENTRY_LABEL 0x9000\r
+#define KEY_ATTEMPT_ENTRY_BASE 0xa000\r
+#define KEY_DE_ATTEMPT_ENTRY_BASE 0xb000\r
+\r
+#define KEY_DEVICE_ENTRY_BASE 0x1000\r
+#define KEY_MAC_ENTRY_BASE 0x2000\r
+#define MAC_ENTRY_LABEL 0x3000\r
+#define ORDER_ENTRY_LABEL 0x4000\r
+#define DELETE_ENTRY_LABEL 0x5000\r
+#define KEYWORD_ENTRY_LABEL 0x6000\r
+#define CONFIG_OPTION_OFFSET 0x9000\r
+\r
+#define ISCSI_CHAP_SECRET_MIN_LEN 12\r
+#define ISCSI_CHAP_SECRET_MAX_LEN 16\r
//\r
// ISCSI_CHAP_SECRET_STORAGE = ISCSI_CHAP_SECRET_MAX_LEN + sizeof (NULL-Terminator)\r
//\r
#define ISCSI_CHAP_SECRET_STORAGE 17\r
\r
-#define ISCSI_CHAP_NAME_MAX_LEN 126\r
-#define ISCSI_CHAP_NAME_STORAGE 127\r
+#define ISCSI_CHAP_NAME_MAX_LEN 126\r
+#define ISCSI_CHAP_NAME_STORAGE 127\r
\r
-#define KERBEROS_SECRET_MIN_LEN 12\r
-#define KERBEROS_SECRET_MAX_LEN 16\r
-#define KERBEROS_SECRET_STORAGE 17\r
-#define KERBEROS_NAME_MAX_LEN 96\r
-#define KERBEROS_KDC_PORT_MIN_NUM 0\r
-#define KERBEROS_KDC_PORT_MAX_NUM 65535\r
+#define KERBEROS_SECRET_MIN_LEN 12\r
+#define KERBEROS_SECRET_MAX_LEN 16\r
+#define KERBEROS_SECRET_STORAGE 17\r
+#define KERBEROS_NAME_MAX_LEN 96\r
+#define KERBEROS_KDC_PORT_MIN_NUM 0\r
+#define KERBEROS_KDC_PORT_MAX_NUM 65535\r
\r
-#define ISID_CONFIGURABLE_MIN_LEN 6\r
-#define ISID_CONFIGURABLE_MAX_LEN 12\r
-#define ISID_CONFIGURABLE_STORAGE 13\r
+#define ISID_CONFIGURABLE_MIN_LEN 6\r
+#define ISID_CONFIGURABLE_MAX_LEN 12\r
+#define ISID_CONFIGURABLE_STORAGE 13\r
\r
//\r
// sizeof (EFI_MAC_ADDRESS) * 3\r
//\r
-#define ISCSI_MAX_MAC_STRING_LEN 96\r
+#define ISCSI_MAX_MAC_STRING_LEN 96\r
\r
///\r
/// Macro used for target Url.\r
///\r
-#define ISCSI_TARGET_URI_MIN_SIZE 0\r
-#define ISCSI_TARGET_URI_MAX_SIZE 255\r
+#define ISCSI_TARGET_URI_MIN_SIZE 0\r
+#define ISCSI_TARGET_URI_MAX_SIZE 255\r
\r
#pragma pack(1)\r
\r
// Used by keyword.\r
//\r
typedef struct {\r
- CHAR16 ISCSIIsId[ISID_CONFIGURABLE_STORAGE];\r
- CHAR16 ISCSIInitiatorIpAddress[IP4_STR_MAX_SIZE];\r
- CHAR16 ISCSIInitiatorNetmask[IP4_STR_MAX_SIZE];\r
- CHAR16 ISCSIInitiatorGateway[IP4_STR_MAX_SIZE];\r
- CHAR16 ISCSITargetName[ISCSI_NAME_MAX_SIZE];\r
- CHAR16 ISCSITargetIpAddress[IP_STR_MAX_SIZE];\r
- CHAR16 ISCSILun[ISCSI_LUN_STR_MAX_LEN];\r
- CHAR16 ISCSIChapUsername[ISCSI_CHAP_NAME_STORAGE];\r
- CHAR16 ISCSIChapSecret[ISCSI_CHAP_SECRET_STORAGE];\r
- CHAR16 ISCSIReverseChapUsername[ISCSI_CHAP_NAME_STORAGE];\r
- CHAR16 ISCSIReverseChapSecret[ISCSI_CHAP_SECRET_STORAGE];\r
+ CHAR16 ISCSIIsId[ISID_CONFIGURABLE_STORAGE];\r
+ CHAR16 ISCSIInitiatorIpAddress[IP4_STR_MAX_SIZE];\r
+ CHAR16 ISCSIInitiatorNetmask[IP4_STR_MAX_SIZE];\r
+ CHAR16 ISCSIInitiatorGateway[IP4_STR_MAX_SIZE];\r
+ CHAR16 ISCSITargetName[ISCSI_NAME_MAX_SIZE];\r
+ CHAR16 ISCSITargetIpAddress[ISCSI_TARGET_URI_MAX_SIZE];\r
+ CHAR16 ISCSILun[ISCSI_LUN_STR_MAX_LEN];\r
+ CHAR16 ISCSIChapUsername[ISCSI_CHAP_NAME_STORAGE];\r
+ CHAR16 ISCSIChapSecret[ISCSI_CHAP_SECRET_STORAGE];\r
+ CHAR16 ISCSIReverseChapUsername[ISCSI_CHAP_NAME_STORAGE];\r
+ CHAR16 ISCSIReverseChapSecret[ISCSI_CHAP_SECRET_STORAGE];\r
} KEYWORD_STR;\r
\r
typedef struct _ISCSI_CONFIG_IFR_NVDATA {\r
- CHAR16 InitiatorName[ISCSI_NAME_MAX_SIZE];\r
- CHAR16 AttemptName[ATTEMPT_NAME_SIZE];\r
- UINT8 Enabled;\r
- UINT8 IpMode;\r
-\r
- UINT8 ConnectRetryCount;\r
- UINT8 Padding1;\r
- UINT16 ConnectTimeout; // Timeout value in milliseconds.\r
-\r
- UINT8 InitiatorInfoFromDhcp;\r
- UINT8 TargetInfoFromDhcp;\r
- CHAR16 LocalIp[IP4_STR_MAX_SIZE];\r
- CHAR16 SubnetMask[IP4_STR_MAX_SIZE];\r
- CHAR16 Gateway[IP4_STR_MAX_SIZE];\r
-\r
- CHAR16 TargetName[ISCSI_NAME_MAX_SIZE];\r
- CHAR16 TargetIp[ISCSI_TARGET_URI_MAX_SIZE];\r
- UINT16 TargetPort;\r
- CHAR16 BootLun[ISCSI_LUN_STR_MAX_LEN];\r
-\r
- UINT8 AuthenticationType;\r
-\r
- UINT8 CHAPType;\r
- CHAR16 CHAPName[ISCSI_CHAP_NAME_STORAGE];\r
- CHAR16 CHAPSecret[ISCSI_CHAP_SECRET_STORAGE];\r
- CHAR16 ReverseCHAPName[ISCSI_CHAP_NAME_STORAGE];\r
- CHAR16 ReverseCHAPSecret[ISCSI_CHAP_SECRET_STORAGE];\r
-\r
- BOOLEAN MutualRequired;\r
- UINT8 Padding2;\r
- CHAR16 KerberosUserName[KERBEROS_NAME_MAX_LEN];\r
- CHAR16 KerberosUserSecret[KERBEROS_SECRET_STORAGE];\r
- CHAR16 KerberosKDCName[KERBEROS_NAME_MAX_LEN];\r
- CHAR16 KerberosKDCRealm[KERBEROS_NAME_MAX_LEN];\r
- CHAR16 KerberosKDCIp[IP_STR_MAX_SIZE];\r
- UINT16 KerberosKDCPort;\r
-\r
- UINT8 DynamicOrderedList[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 DeleteAttemptList[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 AddAttemptList[ISCSI_MAX_ATTEMPTS_NUM];\r
- CHAR16 IsId[ISID_CONFIGURABLE_STORAGE];\r
+ CHAR16 InitiatorName[ISCSI_NAME_MAX_SIZE];\r
+ CHAR16 AttemptName[ATTEMPT_NAME_SIZE];\r
+ UINT8 Enabled;\r
+ UINT8 IpMode;\r
+\r
+ UINT8 ConnectRetryCount;\r
+ UINT8 Padding1;\r
+ UINT16 ConnectTimeout; // Timeout value in milliseconds.\r
+\r
+ UINT8 InitiatorInfoFromDhcp;\r
+ UINT8 TargetInfoFromDhcp;\r
+ CHAR16 LocalIp[IP4_STR_MAX_SIZE];\r
+ CHAR16 SubnetMask[IP4_STR_MAX_SIZE];\r
+ CHAR16 Gateway[IP4_STR_MAX_SIZE];\r
+\r
+ CHAR16 TargetName[ISCSI_NAME_MAX_SIZE];\r
+ CHAR16 TargetIp[ISCSI_TARGET_URI_MAX_SIZE];\r
+ UINT16 TargetPort;\r
+ CHAR16 BootLun[ISCSI_LUN_STR_MAX_LEN];\r
+\r
+ UINT8 AuthenticationType;\r
+\r
+ UINT8 CHAPType;\r
+ CHAR16 CHAPName[ISCSI_CHAP_NAME_STORAGE];\r
+ CHAR16 CHAPSecret[ISCSI_CHAP_SECRET_STORAGE];\r
+ CHAR16 ReverseCHAPName[ISCSI_CHAP_NAME_STORAGE];\r
+ CHAR16 ReverseCHAPSecret[ISCSI_CHAP_SECRET_STORAGE];\r
+\r
+ BOOLEAN MutualRequired;\r
+ UINT8 Padding2;\r
+ CHAR16 KerberosUserName[KERBEROS_NAME_MAX_LEN];\r
+ CHAR16 KerberosUserSecret[KERBEROS_SECRET_STORAGE];\r
+ CHAR16 KerberosKDCName[KERBEROS_NAME_MAX_LEN];\r
+ CHAR16 KerberosKDCRealm[KERBEROS_NAME_MAX_LEN];\r
+ CHAR16 KerberosKDCIp[IP_STR_MAX_SIZE];\r
+ UINT16 KerberosKDCPort;\r
+\r
+ UINT8 DynamicOrderedList[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 DeleteAttemptList[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 AddAttemptList[ISCSI_MAX_ATTEMPTS_NUM];\r
+ CHAR16 IsId[ISID_CONFIGURABLE_STORAGE];\r
\r
//\r
// This will be used by keywords.\r
//\r
- CHAR16 ISCSIMacAddr[ISCSI_MAX_MAC_STRING_LEN];\r
- CHAR16 ISCSIAttemptOrder[ATTEMPT_NAME_LIST_SIZE];\r
- CHAR16 ISCSIAddAttemptList[ATTEMPT_NAME_LIST_SIZE];\r
- CHAR16 ISCSIDeleteAttemptList[ATTEMPT_NAME_LIST_SIZE];\r
- CHAR16 ISCSIDisplayAttemptList[ATTEMPT_NAME_LIST_SIZE];\r
- CHAR16 ISCSIAttemptName[ATTEMPT_NAME_LIST_SIZE];\r
- UINT8 ISCSIBootEnableList[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 ISCSIIpAddressTypeList[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 ISCSIConnectRetry[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT16 ISCSIConnectTimeout[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 ISCSIInitiatorInfoViaDHCP[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 ISCSITargetInfoViaDHCP[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT16 ISCSITargetTcpPort[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 ISCSIAuthenticationMethod[ISCSI_MAX_ATTEMPTS_NUM];\r
- UINT8 ISCSIChapType[ISCSI_MAX_ATTEMPTS_NUM];\r
- KEYWORD_STR Keyword[ISCSI_MAX_ATTEMPTS_NUM];\r
+ CHAR16 ISCSIMacAddr[ISCSI_MAX_MAC_STRING_LEN];\r
+ CHAR16 ISCSIAttemptOrder[ATTEMPT_NAME_LIST_SIZE];\r
+ CHAR16 ISCSIAddAttemptList[ATTEMPT_NAME_LIST_SIZE];\r
+ CHAR16 ISCSIDeleteAttemptList[ATTEMPT_NAME_LIST_SIZE];\r
+ CHAR16 ISCSIDisplayAttemptList[ATTEMPT_NAME_LIST_SIZE];\r
+ CHAR16 ISCSIAttemptName[ATTEMPT_NAME_LIST_SIZE];\r
+ UINT8 ISCSIBootEnableList[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 ISCSIIpAddressTypeList[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 ISCSIConnectRetry[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT16 ISCSIConnectTimeout[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 ISCSIInitiatorInfoViaDHCP[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 ISCSITargetInfoViaDHCP[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT16 ISCSITargetTcpPort[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 ISCSIAuthenticationMethod[ISCSI_MAX_ATTEMPTS_NUM];\r
+ UINT8 ISCSIChapType[ISCSI_MAX_ATTEMPTS_NUM];\r
+ KEYWORD_STR Keyword[ISCSI_MAX_ATTEMPTS_NUM];\r
} ISCSI_CONFIG_IFR_NVDATA;\r
#pragma pack()\r
\r