1/** @file
2  VFR file used by the iSCSI configuration component.
3
4Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
5This program and the accompanying materials
6are licensed and made available under the terms and conditions of the BSD License
7which accompanies this distribution.  The full text of the license may be found at
8http://opensource.org/licenses/bsd-license.php
9
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#include "IScsiConfigNVDataStruc.h"
16
17#define EFI_NETWORK_DEVICE_CLASS  0x04
18
19formset
20  guid     = ISCSI_CONFIG_GUID,
21  title    = STRING_TOKEN(STR_ISCSI_CONFIG_FORM_TITLE),
22  help     = STRING_TOKEN(STR_ISCSI_CONFIG_FORM_HELP),
23
24  varstore ISCSI_CONFIG_IFR_NVDATA,
25    varid = CONFIGURATION_VARSTORE_ID,
26    name = ISCSI_CONFIG_IFR_NVDATA,
27    guid = ISCSI_CONFIG_GUID;
28
29  form formid = FORMID_MAIN_FORM,
30    title  = STRING_TOKEN(STR_ISCSI_MAIN_FORM_TITLE);
31
32    string  varid   = ISCSI_CONFIG_IFR_NVDATA.InitiatorName,
33            prompt  = STRING_TOKEN(STR_ISCSI_CONFIG_INIT_NAME),
34            help    = STRING_TOKEN(STR_ISCSI_CONFIG_INIT_NAME_HELP),
35            flags   = INTERACTIVE,
36            key     = KEY_INITIATOR_NAME,
37            minsize = ISCSI_NAME_IFR_MIN_SIZE,
38            maxsize = ISCSI_NAME_IFR_MAX_SIZE,
39    endstring;
40
41    subtitle text = STRING_TOKEN(STR_NULL);
42
43    goto FORMID_MAC_FORM,
44         prompt = STRING_TOKEN(STR_ADD_ATTEMPT_ENTRY),
45         help   = STRING_TOKEN(STR_ADD_ATTEMPT_ENTRY),
46         flags  = INTERACTIVE,
47         key    = KEY_ADD_ATTEMPT;
48
49    label ATTEMPT_ENTRY_LABEL;
50    label LABEL_END;
51
52    subtitle text = STRING_TOKEN(STR_NULL);
53
54    goto FORMID_DELETE_FORM,
55      prompt = STRING_TOKEN (STR_DEL_ATTEMPT_ENTRY),
56      help   = STRING_TOKEN (STR_DEL_ATTEMPT_ENTRY_HELP),
57      flags  = INTERACTIVE,
58      key    = KEY_DELETE_ATTEMPT;
59
60    subtitle text = STRING_TOKEN(STR_NULL);
61
62    goto FORMID_ORDER_FORM,
63      prompt = STRING_TOKEN (STR_ORDER_ATTEMPT_ENTRY),
64      help   = STRING_TOKEN (STR_ORDER_ATTEMPT_ENTRY),
65      flags  = INTERACTIVE,
66      key    = KEY_ORDER_ATTEMPT_CONFIG;
67
68    subtitle text = STRING_TOKEN(STR_NULL);
69
70  endform;
71
72  form formid = FORMID_MAC_FORM,
73    title  = STRING_TOKEN(STR_ISCSI_MAC_FORM_TITLE);
74
75    label MAC_ENTRY_LABEL;
76    label LABEL_END;
77
78  endform;
79
80  form formid = FORMID_ORDER_FORM,
81    title  = STRING_TOKEN(STR_ORDER_ATTEMPT_ENTRY);
82
83    label ORDER_ENTRY_LABEL;
84    label LABEL_END;
85
86    text
87      help   = STRING_TOKEN (STR_SAVE_AND_EXIT),
88      text   = STRING_TOKEN (STR_SAVE_AND_EXIT),
89      flags  = INTERACTIVE,
90      key    = KEY_SAVE_ORDER_CHANGES;
91
92    text
93      help   = STRING_TOKEN (STR_NO_SAVE_AND_EXIT),
94      text   = STRING_TOKEN (STR_NO_SAVE_AND_EXIT),
95      flags  = INTERACTIVE,
96      key    = KEY_IGNORE_ORDER_CHANGES;
97  endform;
98
99  form formid = FORMID_DELETE_FORM,
100    title  = STRING_TOKEN(STR_DEL_ATTEMPT_ENTRY);
101
102    label DELETE_ENTRY_LABEL;
103    label LABEL_END;
104
105    text
106      help   = STRING_TOKEN (STR_SAVE_AND_EXIT),
107      text   = STRING_TOKEN (STR_SAVE_AND_EXIT),
108      flags  = INTERACTIVE,
109      key    = KEY_SAVE_DELETE_ATTEMPT;
110
111    text
112      help   = STRING_TOKEN (STR_NO_SAVE_AND_EXIT),
113      text   = STRING_TOKEN (STR_NO_SAVE_AND_EXIT),
114      flags  = INTERACTIVE,
115      key    = KEY_IGNORE_DELETE_ATTEMPT;
116  endform;
117
118  form formid = FORMID_ATTEMPT_FORM,
119    title  = STRING_TOKEN(STR_ISCSI_ATTEMPT_FORM_TITLE);
120
121    string  varid   = ISCSI_CONFIG_IFR_NVDATA.AttemptName,
122            prompt  = STRING_TOKEN(STR_ISCSI_ATTEMPT_NAME),
123            help    = STRING_TOKEN(STR_ISCSI_ATTEMPT_NAME_HELP),
124            flags   = INTERACTIVE,
125            key     = KEY_ATTEMPT_NAME,
126            minsize = 0,
127            maxsize = ATTEMPT_NAME_MAX_SIZE,
128    endstring;
129
130    subtitle text = STRING_TOKEN(STR_NULL);
131
132    oneof varid  = ISCSI_CONFIG_IFR_NVDATA.Enabled,
133          prompt = STRING_TOKEN(STR_ISCSI_MODE_PROMPT),
134          help   = STRING_TOKEN(STR_ISCSI_MODE_HELP),
135          option text = STRING_TOKEN(STR_ISCSI_MODE_DISABLED),         value = ISCSI_DISABLED,         flags = DEFAULT;
136          option text = STRING_TOKEN(STR_ISCSI_MODE_ENABLED),          value = ISCSI_ENABLED,          flags = 0;
137          option text = STRING_TOKEN(STR_ISCSI_MODE_ENABLED_FOR_MPIO), value = ISCSI_ENABLED_FOR_MPIO, flags = 0;
138    endoneof;
139
140    subtitle text = STRING_TOKEN(STR_NULL);
141
142    oneof varid  = ISCSI_CONFIG_IFR_NVDATA.IpMode,
143          questionid = KEY_IP_MODE,
144          prompt = STRING_TOKEN(STR_IP_MODE_PROMPT),
145          help   = STRING_TOKEN(STR_IP_MODE_HELP),
146          option text = STRING_TOKEN(STR_IP_MODE_IP4),        value = IP_MODE_IP4,        flags = INTERACTIVE;
147          option text = STRING_TOKEN(STR_IP_MODE_IP6),        value = IP_MODE_IP6,        flags = INTERACTIVE;
148          option text = STRING_TOKEN(STR_IP_MODE_AUTOCONFIG), value = IP_MODE_AUTOCONFIG, flags = INTERACTIVE;
149    endoneof;
150
151    subtitle text = STRING_TOKEN(STR_NULL);
152
153    numeric varid   = ISCSI_CONFIG_IFR_NVDATA.ConnectRetryCount,
154            prompt  = STRING_TOKEN(STR_ISCSI_CONFIG_RETRY),
155            help    = STRING_TOKEN(STR_ISCSI_CONFIG_RETRY_HELP),
156            flags   = 0,
157            minimum = CONNECT_MIN_RETRY,
158            maximum = CONNECT_MAX_RETRY,
159            step    = 0,
160    endnumeric;
161
162    numeric varid   = ISCSI_CONFIG_IFR_NVDATA.ConnectTimeout,
163            prompt  = STRING_TOKEN(STR_ISCSI_CONFIG_TIMEOUT),
164            help    = STRING_TOKEN(STR_ISCSI_CONFIG_TIMEOUT_HELP),
165            flags   = 0,
166            minimum = CONNECT_MIN_TIMEOUT,
167            maximum = CONNECT_MAX_TIMEOUT,
168            step    = 0,
169            default = CONNECT_DEFAULT_TIMEOUT,
170    endnumeric;
171
172    subtitle text = STRING_TOKEN(STR_NULL);
173
174    string  varid   = ISCSI_CONFIG_IFR_NVDATA.IsId,
175            prompt  = STRING_TOKEN(STR_ISCSI_CONFIG_ISID),
176            help    = STRING_TOKEN(STR_ISCSI_CONFIG_ISID_HELP),
177            flags   = INTERACTIVE,
178            key     = KEY_CONFIG_ISID,
179            minsize = ISID_CONFIGURABLE_MIN_LEN,
180            maxsize = ISID_CONFIGURABLE_MAX_LEN,
181    endstring;
182
183    subtitle text = STRING_TOKEN(STR_NULL);
184
185    suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG;
186    checkbox varid = ISCSI_CONFIG_IFR_NVDATA.InitiatorInfoFromDhcp,
187            prompt = STRING_TOKEN(STR_ISCSI_ENABLE_DHCP),
188            help   = STRING_TOKEN(STR_ISCSI_ENABLE_DHCP),
189            flags  = INTERACTIVE,
190            key    = KEY_DHCP_ENABLE,
191    endcheckbox;
192    endif;
193
194    suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.InitiatorInfoFromDhcp == 0x01 OR
195               ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_IP6 OR
196               ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG;
197    string  varid   = ISCSI_CONFIG_IFR_NVDATA.LocalIp,
198            prompt  = STRING_TOKEN(STR_ISCSI_LOCAL_IP_ADDRESS),
199            help    = STRING_TOKEN(STR_ISCSI_IP_ADDRESS_HELP),
200            flags   = INTERACTIVE,
201            key     = KEY_LOCAL_IP,
202            minsize = IP4_MIN_SIZE,
203            maxsize = IP4_MAX_SIZE,
204    endstring;
205
206    string  varid   = ISCSI_CONFIG_IFR_NVDATA.SubnetMask,
207            prompt  = STRING_TOKEN(STR_ISCSI_LOCAL_MASK),
208            help    = STRING_TOKEN(STR_ISCSI_IP_ADDRESS_HELP),
209            flags   = INTERACTIVE,
210            key     = KEY_SUBNET_MASK,
211            minsize = IP4_MIN_SIZE,
212            maxsize = IP4_MAX_SIZE,
213    endstring;
214
215    string  varid   = ISCSI_CONFIG_IFR_NVDATA.Gateway,
216            prompt  = STRING_TOKEN(STR_ISCSI_LOCAL_GATEWAY),
217            help    = STRING_TOKEN(STR_ISCSI_IP_ADDRESS_HELP),
218            flags   = INTERACTIVE,
219            key     = KEY_GATE_WAY,
220            minsize = IP4_MIN_SIZE,
221            maxsize = IP4_MAX_SIZE,
222    endstring;
223
224    endif;
225
226    suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG;
227    subtitle text = STRING_TOKEN(STR_NULL);
228    endif;
229
230    suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG OR
231               ideqval ISCSI_CONFIG_IFR_NVDATA.InitiatorInfoFromDhcp == 0x00;
232    checkbox varid  = ISCSI_CONFIG_IFR_NVDATA.TargetInfoFromDhcp,
233             prompt = STRING_TOKEN(STR_ISCSI_ENABLE_DHCP_ON_TARGET),
234             help   = STRING_TOKEN(STR_ISCSI_ENABLE_DHCP_ON_TARGET),
235             flags  = 0,
236    endcheckbox;
237    endif;
238
239    suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG OR
240               ideqval ISCSI_CONFIG_IFR_NVDATA.TargetInfoFromDhcp == 0x01;
241
242    string  varid   = ISCSI_CONFIG_IFR_NVDATA.TargetName,
243            prompt  = STRING_TOKEN(STR_ISCSI_TARGET_NAME),
244            help    = STRING_TOKEN(STR_ISCSI_TARGET_NAME_HELP),
245            flags   = INTERACTIVE,
246            key     = KEY_TARGET_NAME,
247            minsize = ISCSI_NAME_IFR_MIN_SIZE,
248            maxsize = ISCSI_NAME_IFR_MAX_SIZE,
249    endstring;
250
251    string  varid   = ISCSI_CONFIG_IFR_NVDATA.TargetIp,
252            prompt  = STRING_TOKEN(STR_ISCSI_TARGET_IP_ADDRESS),
253            help    = STRING_TOKEN(STR_ISCSI_IP_ADDRESS_HELP),
254            flags   = INTERACTIVE,
255            key     = KEY_TARGET_IP,
256            minsize = IP_MIN_SIZE,
257            maxsize = IP_MAX_SIZE,
258    endstring;
259
260    numeric varid   = ISCSI_CONFIG_IFR_NVDATA.TargetPort,
261            prompt  = STRING_TOKEN(STR_ISCSI_TARGET_PORT),
262            help    = STRING_TOKEN(STR_ISCSI_TARGET_PORT),
263            flags   = 0,
264            minimum = TARGET_PORT_MIN_NUM,
265            maximum = TARGET_PORT_MAX_NUM,
266            step    = 0,
267    endnumeric;
268
269    string varid    = ISCSI_CONFIG_IFR_NVDATA.BootLun,
270            prompt  = STRING_TOKEN(STR_ISCSI_BOOT_LUN),
271            help    = STRING_TOKEN(STR_ISCSI_BOOT_LUN_HELP),
272            flags   = INTERACTIVE,
273            key     = KEY_BOOT_LUN,
274            minsize = LUN_MIN_SIZE,
275            maxsize = LUN_MAX_SIZE,
276    endstring;
277
278    endif;
279
280    suppressif ideqval ISCSI_CONFIG_IFR_NVDATA.IpMode == IP_MODE_AUTOCONFIG;
281    subtitle text = STRING_TOKEN(STR_NULL);
282    endif;
283
284    oneof varid  = ISCSI_CONFIG_IFR_NVDATA.AuthenticationType,
285          questionid = KEY_AUTH_TYPE,
286          prompt = STRING_TOKEN(STR_AUTHEN_TYPE_PROMPT),
287          help   = STRING_TOKEN(STR_AUTHEN_TYPE_HELP),
288          option text = STRING_TOKEN(STR_AUTHEN_TYPE_CHAP),     value = ISCSI_AUTH_TYPE_CHAP, flags = 0;
289          option text = STRING_TOKEN(STR_AUTHEN_TYPE_NONE),     value = ISCSI_AUTH_TYPE_NONE, flags = DEFAULT;
290    endoneof;
291
292    suppressif NOT ideqval ISCSI_CONFIG_IFR_NVDATA.AuthenticationType == ISCSI_AUTH_TYPE_CHAP;
293    oneof varid  = ISCSI_CONFIG_IFR_NVDATA.CHAPType,
294          prompt = STRING_TOKEN(STR_CHAP_TYPE_PROMPT),
295          help   = STRING_TOKEN(STR_CHAP_TYPE_HELP),
296          option text = STRING_TOKEN(STR_CHAP_TYPE_UNI),    value = ISCSI_CHAP_UNI,    flags = 0;
297          option text = STRING_TOKEN(STR_CHAP_TYPE_MUTUAL), value = ISCSI_CHAP_MUTUAL, flags = DEFAULT;
298    endoneof;
299    endif;
300
301    suppressif NOT ideqval ISCSI_CONFIG_IFR_NVDATA.AuthenticationType == ISCSI_AUTH_TYPE_CHAP;
302    string  varid   = ISCSI_CONFIG_IFR_NVDATA.CHAPName,
303            prompt  = STRING_TOKEN(STR_ISCSI_CHAP_NAME),
304            help    = STRING_TOKEN(STR_ISCSI_CHAP_NAME),
305            flags   = INTERACTIVE,
306            key     = KEY_CHAP_NAME,
307            minsize = 0,
308            maxsize = ISCSI_CHAP_NAME_MAX_LEN,
309    endstring;
310
311    string  varid    = ISCSI_CONFIG_IFR_NVDATA.CHAPSecret,
312            prompt   = STRING_TOKEN(STR_ISCSI_CHAP_SECRET),
313            help     = STRING_TOKEN(STR_ISCSI_CHAP_SECRET_HELP),
314            flags    = INTERACTIVE,
315            key      = KEY_CHAP_SECRET,
316            minsize  = ISCSI_CHAP_SECRET_MIN_LEN,
317            maxsize  = ISCSI_CHAP_SECRET_MAX_LEN,
318    endstring;
319
320    endif;
321
322    suppressif NOT ideqval ISCSI_CONFIG_IFR_NVDATA.AuthenticationType == ISCSI_AUTH_TYPE_CHAP OR
323               NOT ideqval ISCSI_CONFIG_IFR_NVDATA.CHAPType == ISCSI_CHAP_MUTUAL;
324
325    string  varid   = ISCSI_CONFIG_IFR_NVDATA.ReverseCHAPName,
326            prompt  = STRING_TOKEN(STR_ISCSI_REVERSE_CHAP_NAME),
327            help    = STRING_TOKEN(STR_ISCSI_REVERSE_CHAP_NAME),
328            flags   = INTERACTIVE,
329            key     = KEY_REVERSE_CHAP_NAME,
330            minsize = 0,
331            maxsize = ISCSI_CHAP_NAME_MAX_LEN,
332    endstring;
333
334    string  varid    = ISCSI_CONFIG_IFR_NVDATA.ReverseCHAPSecret,
335            prompt   = STRING_TOKEN(STR_ISCSI_REVERSE_CHAP_SECRET),
336            help     = STRING_TOKEN(STR_ISCSI_CHAP_SECRET_HELP),
337            flags    = INTERACTIVE,
338            key      = KEY_REVERSE_CHAP_SECRET,
339            minsize  = ISCSI_CHAP_SECRET_MIN_LEN,
340            maxsize  = ISCSI_CHAP_SECRET_MAX_LEN,
341    endstring;
342
343    endif;
344
345    subtitle text = STRING_TOKEN(STR_NULL);
346
347    text
348      help   = STRING_TOKEN (STR_SAVE_CHANGES_HELP),
349      text   = STRING_TOKEN (STR_SAVE_CHANGES),
350      flags  = INTERACTIVE,
351      key    = KEY_SAVE_ATTEMPT_CONFIG;
352
353    goto FORMID_MAIN_FORM,
354    prompt = STRING_TOKEN (STR_RETURN_MAIN_FORM),
355    help   = STRING_TOKEN (STR_RETURN_MAIN_FORM),
356    flags  = 0;
357
358  endform;
359
360endformset;
361
362