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