Browse Source

hostapd_cli: Add completion for get command

Add command completion support for get command.

Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
Mikael Kanstrup 8 years ago
parent
commit
c04a67deb0
1 changed files with 26 additions and 1 deletions
  1. 26 1
      hostapd/hostapd_cli.c

+ 26 - 1
hostapd/hostapd_cli.c

@@ -1100,6 +1100,31 @@ static int hostapd_cli_cmd_get(struct wpa_ctrl *ctrl, int argc, char *argv[])
 }
 }
 
 
 
 
+static char ** hostapd_complete_get(const char *str, int pos)
+{
+	int arg = get_cmd_arg_num(str, pos);
+	const char *fields[] = {
+		"version", "tls_library",
+	};
+	int i, num_fields = ARRAY_SIZE(fields);
+
+	if (arg == 1) {
+		char **res;
+
+		res = os_calloc(num_fields + 1, sizeof(char *));
+		if (!res)
+			return NULL;
+		for (i = 0; i < num_fields; i++) {
+			res[i] = os_strdup(fields[i]);
+			if (!res[i])
+				return res;
+		}
+		return res;
+	}
+	return NULL;
+}
+
+
 #ifdef CONFIG_FST
 #ifdef CONFIG_FST
 static int hostapd_cli_cmd_fst(struct wpa_ctrl *ctrl, int argc, char *argv[])
 static int hostapd_cli_cmd_fst(struct wpa_ctrl *ctrl, int argc, char *argv[])
 {
 {
@@ -1429,7 +1454,7 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = {
 	  "= exit hostapd_cli" },
 	  "= exit hostapd_cli" },
 	{ "set", hostapd_cli_cmd_set, hostapd_complete_set,
 	{ "set", hostapd_cli_cmd_set, hostapd_complete_set,
 	  "<name> <value> = set runtime variables" },
 	  "<name> <value> = set runtime variables" },
-	{ "get", hostapd_cli_cmd_get, NULL,
+	{ "get", hostapd_cli_cmd_get, hostapd_complete_get,
 	  "<name> = get runtime info" },
 	  "<name> = get runtime info" },
 	{ "set_qos_map_set", hostapd_cli_cmd_set_qos_map_set, NULL,
 	{ "set_qos_map_set", hostapd_cli_cmd_set_qos_map_set, NULL,
 	  "<arg,arg,...> = set QoS Map set element" },
 	  "<arg,arg,...> = set QoS Map set element" },