Home | History | Annotate | Download | only in IScsiDxe
      1 /** @file
      2   VFR file used by the iSCSI configuration component.
      3 
      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
      9 
     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.
     12 
     13 **/
     14 
     15 #include "IScsiConfigNVDataStruc.h"
     16 
     17 #define EFI_NETWORK_DEVICE_CLASS  0x04
     18 
     19 formset
     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 
    360 endformset;
    361 
    362