]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/IScsiDxe/IScsiConfigNVDataStruc.h
NetworkPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / NetworkPkg / IScsiDxe / IScsiConfigNVDataStruc.h
index ee66e2aae0204b4620494180820e923f80828017..688fb03bf56567f3ea61539eb97f68d7a1176320 100644 (file)
@@ -1,24 +1,15 @@
 /** @file\r
   Define NVData structures used by the iSCSI configuration component.\r
 \r
-Copyright (c) 2004 - 2011, 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
+Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #ifndef _ISCSI_NVDATASTRUC_H_\r
 #define _ISCSI_NVDATASTRUC_H_\r
 \r
-#define ISCSI_CONFIG_GUID \\r
-  { \\r
-    0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc } \\r
-  }\r
+#include <Guid/IScsiConfigHii.h>\r
 \r
 #define VAR_EQ_TEST_NAME          0x100\r
 #define CONFIGURATION_VARSTORE_ID 0x6666\r
@@ -29,12 +20,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define FORMID_ORDER_FORM         4\r
 #define FORMID_DELETE_FORM        5\r
 \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
 \r
-#define ATTEMPT_NAME_MAX_SIZE     96\r
-#define ATTEMPT_NAME_SIZE         10\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
@@ -43,7 +36,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define CONNECT_MAX_TIMEOUT       20000\r
 #define CONNECT_DEFAULT_TIMEOUT   1000\r
 \r
-#define ISCSI_MAX_ATTEMPTS_NUM    255\r
+#define ISCSI_ACTIVE_DISABLED     0\r
+#define ISCSI_ACTIVE_ENABLED      1\r
 \r
 #define ISCSI_DISABLED            0\r
 #define ISCSI_ENABLED             1\r
@@ -70,9 +64,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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            1\r
-#define ISCSI_CHAP_MUTUAL         2\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
@@ -115,17 +110,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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_LUN_STR_MAX_LEN     21\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
-#define ISCSI_CHAP_NAME_MAX_LEN   126\r
-#define ISCSI_CHAP_NAME_STORAGE   127\r
+#define ISCSI_CHAP_SECRET_STORAGE  17\r
+\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
@@ -138,11 +134,39 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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
+\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
+\r
 #pragma pack(1)\r
+\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[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_MAX_SIZE];\r
-\r
+  CHAR16  AttemptName[ATTEMPT_NAME_SIZE];\r
   UINT8   Enabled;\r
   UINT8   IpMode;\r
 \r
@@ -157,7 +181,7 @@ typedef struct _ISCSI_CONFIG_IFR_NVDATA {
   CHAR16  Gateway[IP4_STR_MAX_SIZE];\r
 \r
   CHAR16  TargetName[ISCSI_NAME_MAX_SIZE];\r
-  CHAR16  TargetIp[IP_STR_MAX_SIZE];\r
+  CHAR16  TargetIp[ISCSI_TARGET_URI_MAX_SIZE];\r
   UINT16  TargetPort;\r
   CHAR16  BootLun[ISCSI_LUN_STR_MAX_LEN];\r
 \r
@@ -180,8 +204,28 @@ typedef struct _ISCSI_CONFIG_IFR_NVDATA {
 \r
   UINT8   DynamicOrderedList[ISCSI_MAX_ATTEMPTS_NUM];\r
   UINT8   DeleteAttemptList[ISCSI_MAX_ATTEMPTS_NUM];\r
-\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
 } ISCSI_CONFIG_IFR_NVDATA;\r
 #pragma pack()\r
 \r