wpa_cli: Implement completion routine for get_capability
Add command completion routine for get_capability command. Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
This commit is contained in:
parent
fed802c2e8
commit
003fe581a3
1 changed files with 44 additions and 2 deletions
|
@ -1824,6 +1824,48 @@ static int wpa_cli_cmd_get_capability(struct wpa_ctrl *ctrl, int argc,
|
|||
}
|
||||
|
||||
|
||||
static char ** wpa_cli_complete_get_capability(const char *str, int pos)
|
||||
{
|
||||
int arg = get_cmd_arg_num(str, pos);
|
||||
const char *fields[] = {
|
||||
"eap", "pairwise", "group", "group_mgmt", "key_mgmt",
|
||||
"proto", "auth_alg", "modes", "channels", "freq",
|
||||
#ifdef CONFIG_TDLS
|
||||
"tdls",
|
||||
#endif /* CONFIG_TDLS */
|
||||
#ifdef CONFIG_ERP
|
||||
"erp",
|
||||
#endif /* CONFIG_ERP */
|
||||
#ifdef CONFIG_FIPS
|
||||
"fips",
|
||||
#endif /* CONFIG_FIPS */
|
||||
#ifdef CONFIG_ACS
|
||||
"acs",
|
||||
#endif /* CONFIG_ACS */
|
||||
};
|
||||
int i, num_fields = ARRAY_SIZE(fields);
|
||||
char **res = NULL;
|
||||
|
||||
if (arg == 1) {
|
||||
res = os_calloc(num_fields + 1, sizeof(char *));
|
||||
if (res == NULL)
|
||||
return NULL;
|
||||
for (i = 0; i < num_fields; i++) {
|
||||
res[i] = os_strdup(fields[i]);
|
||||
if (res[i] == NULL)
|
||||
return res;
|
||||
}
|
||||
}
|
||||
if (arg == 2) {
|
||||
res = os_calloc(1 + 1, sizeof(char *));
|
||||
if (res == NULL)
|
||||
return NULL;
|
||||
res[0] = os_strdup("strict");
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
static int wpa_cli_list_interfaces(struct wpa_ctrl *ctrl)
|
||||
{
|
||||
printf("Available interfaces:\n");
|
||||
|
@ -3100,8 +3142,8 @@ static const struct wpa_cli_cmd wpa_cli_commands[] = {
|
|||
{ "bss", wpa_cli_cmd_bss, wpa_cli_complete_bss,
|
||||
cli_cmd_flag_none,
|
||||
"<<idx> | <bssid>> = get detailed scan result info" },
|
||||
{ "get_capability", wpa_cli_cmd_get_capability, NULL,
|
||||
cli_cmd_flag_none,
|
||||
{ "get_capability", wpa_cli_cmd_get_capability,
|
||||
wpa_cli_complete_get_capability, cli_cmd_flag_none,
|
||||
"<eap/pairwise/group/key_mgmt/proto/auth_alg/channels/freq/modes> "
|
||||
"= get capabilities" },
|
||||
{ "reconfigure", wpa_cli_cmd_reconfigure, NULL,
|
||||
|
|
Loading…
Reference in a new issue