]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/IScsiDxe/IScsiConfigNVDataStruc.h
MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint
[mirror_edk2.git] / NetworkPkg / IScsiDxe / IScsiConfigNVDataStruc.h
index 56ebb503c00b0cab130c97805be7f5718eea650f..22119ad338c0bf6a2ed7c3bb291a42909ecf941d 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Define NVData structures used by the iSCSI configuration component.\r
 \r
-Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>\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
@@ -26,12 +26,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
@@ -40,7 +42,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
@@ -67,6 +70,7 @@ 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            0\r
 #define ISCSI_CHAP_MUTUAL         1\r
@@ -112,17 +116,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
@@ -135,11 +140,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
@@ -154,7 +187,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
@@ -177,8 +210,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