2 Define NVData structures used by the iSCSI configuration component
4 Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef _ISCSI_NVDATASTRUC_H_
16 #define _ISCSI_NVDATASTRUC_H_
18 #include <Guid/Ip4IScsiConfigHii.h>
20 #define VAR_EQ_TEST_NAME 0x100
22 #define FORMID_MAIN_FORM 1
23 #define FORMID_DEVICE_FORM 2
25 #define ISCSI_NAME_MAX_SIZE 224
28 // Vfr has a limit on the size, it's 255 bytes.
30 #define ISCSI_NAME_IFR_MIN_SIZE 4
31 #define ISCSI_NAME_IFR_MAX_SIZE 223
34 #define IP_MAX_SIZE 15
35 #define IP4_STR_MAX_SIZE 16
37 #define LUN_MIN_SIZE 1
38 #define LUN_MAX_SIZE 20
40 #define ISCSI_CHAP_NONE 0
41 #define ISCSI_CHAP_UNI 1
42 #define ISCSI_CHAP_MUTUAL 2
44 #define TARGET_PORT_MIN_NUM 0
45 #define TARGET_PORT_MAX_NUM 65535
47 #define DEVICE_ENTRY_LABEL 0x1234
48 #define LABEL_END 0xffff
50 #define KEY_INITIATOR_NAME 0x101
51 #define KEY_DHCP_ENABLE 0x102
52 #define KEY_LOCAL_IP 0x103
53 #define KEY_SUBNET_MASK 0x104
54 #define KEY_GATE_WAY 0x105
55 #define KEY_TARGET_IP 0x106
56 #define KEY_CHAP_NAME 0x107
57 #define KEY_CHAP_SECRET 0x108
58 #define KEY_REVERSE_CHAP_NAME 0x109
59 #define KEY_REVERSE_CHAP_SECRET 0x10a
60 #define KEY_SAVE_CHANGES 0x10b
61 #define KEY_TARGET_NAME 0x10c
62 #define KEY_BOOT_LUN 0x10d
63 #define KEY_CONFIG_ISID 0x10e
65 #define KEY_DEVICE_ENTRY_BASE 0x1000
67 #define ISCSI_LUN_STR_MAX_LEN 21
68 #define ISCSI_CHAP_SECRET_MIN_LEN 12
69 #define ISCSI_CHAP_SECRET_MAX_LEN 16
71 // ISCSI_CHAP_SECRET_STORAGE = ISCSI_CHAP_SECRET_MAX_LEN + sizeof (NULL-Terminator)
73 #define ISCSI_CHAP_SECRET_STORAGE 17
75 #define ISCSI_CHAP_NAME_MAX_LEN 126
76 #define ISCSI_CHAP_NAME_STORAGE 127
78 #define ISID_CONFIGURABLE_MIN_LEN 6
79 #define ISID_CONFIGURABLE_MAX_LEN 12
80 #define ISID_CONFIGURABLE_STORAGE 13
84 CHAR16 InitiatorName
[ISCSI_NAME_MAX_SIZE
];
88 UINT8 InitiatorInfoFromDhcp
;
89 CHAR16 LocalIp
[IP4_STR_MAX_SIZE
];
90 CHAR16 SubnetMask
[IP4_STR_MAX_SIZE
];
91 CHAR16 Gateway
[IP4_STR_MAX_SIZE
];
93 CHAR16 TargetName
[ISCSI_NAME_MAX_SIZE
];
94 CHAR16 TargetIp
[IP4_STR_MAX_SIZE
];
96 CHAR16 BootLun
[ISCSI_LUN_STR_MAX_LEN
];
97 UINT8 TargetInfoFromDhcp
;
100 CHAR16 CHAPName
[ISCSI_CHAP_NAME_STORAGE
];
101 CHAR16 CHAPSecret
[ISCSI_CHAP_SECRET_STORAGE
];
102 CHAR16 ReverseCHAPName
[ISCSI_CHAP_NAME_STORAGE
];
103 CHAR16 ReverseCHAPSecret
[ISCSI_CHAP_SECRET_STORAGE
];
105 CHAR16 IsId
[ISID_CONFIGURABLE_STORAGE
];
106 } ISCSI_CONFIG_IFR_NVDATA
;