Lines Matching +full:sig +full:- +full:dir +full:- +full:cmd
2 * WPA Supplicant - command line interface for wpa_supplicant daemon
3 * Copyright (c) 2004-2022, Jouni Malinen <j@w1.fi>
32 "Copyright (c) 2004-2024, Jouni Malinen <j@w1.fi> and contributors";
44 static int wpa_cli_connected = -1;
71 static void print_help(const char *cmd);
84 printf("wpa_cli [-p<path to ctrl sockets>] [-i<ifname>] [-hvBr] " in usage()
85 "[-a<action file>] \\\n" in usage()
86 " [-P<pid file>] [-g<global ctrl>] [-G<ping interval>] " in usage()
88 " [-s<wpa_client_socket_file_path>] " in usage()
90 " -h = help (show this usage text)\n" in usage()
91 " -v = shown version information\n" in usage()
92 " -a = run in daemon mode executing the action file based on " in usage()
95 " -r = try to reconnect when client socket is disconnected.\n" in usage()
96 " This is useful only when used with -a.\n" in usage()
97 " -B = run a daemon in the background\n" in usage()
130 return -1; in wpa_cli_open_connection()
141 return -1; in wpa_cli_open_connection()
147 return -1; in wpa_cli_open_connection()
155 return -1; in wpa_cli_open_connection()
162 return -1; in wpa_cli_open_connection()
167 return -1; in wpa_cli_open_connection()
174 return -1; in wpa_cli_open_connection()
195 return -1; in wpa_cli_open_connection()
228 static int _wpa_ctrl_command(struct wpa_ctrl *ctrl, const char *cmd, int print) in _wpa_ctrl_command() argument
235 printf("Not connected to wpa_supplicant - command dropped.\n"); in _wpa_ctrl_command()
236 return -1; in _wpa_ctrl_command()
240 ifname_prefix, cmd); in _wpa_ctrl_command()
241 buf[sizeof(buf) - 1] = '\0'; in _wpa_ctrl_command()
242 cmd = buf; in _wpa_ctrl_command()
244 len = sizeof(buf) - 1; in _wpa_ctrl_command()
245 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, in _wpa_ctrl_command()
247 if (ret == -2) { in _wpa_ctrl_command()
248 printf("'%s' command timed out.\n", cmd); in _wpa_ctrl_command()
249 return -2; in _wpa_ctrl_command()
251 printf("'%s' command failed.\n", cmd); in _wpa_ctrl_command()
252 return -1; in _wpa_ctrl_command()
257 if (interactive && len > 0 && buf[len - 1] != '\n') in _wpa_ctrl_command()
264 static int wpa_ctrl_command(struct wpa_ctrl *ctrl, const char *cmd) in wpa_ctrl_command() argument
266 return _wpa_ctrl_command(ctrl, cmd, 1); in wpa_ctrl_command()
270 static int wpa_cli_cmd(struct wpa_ctrl *ctrl, const char *cmd, int min_args, in wpa_cli_cmd() argument
275 printf("Invalid %s command - at least %d argument%s " in wpa_cli_cmd()
276 "required.\n", cmd, min_args, in wpa_cli_cmd()
278 return -1; in wpa_cli_cmd()
280 if (write_cmd(buf, sizeof(buf), cmd, argc, argv) < 0) in wpa_cli_cmd()
281 return -1; in wpa_cli_cmd()
295 return wpa_ctrl_command(ctrl, "STATUS-VERBOSE"); in wpa_cli_cmd_status()
297 return wpa_ctrl_command(ctrl, "STATUS-WPS"); in wpa_cli_cmd_status()
299 return wpa_ctrl_command(ctrl, "STATUS-DRIVER"); in wpa_cli_cmd_status()
302 return wpa_ctrl_command(ctrl, "STATUS-NO_EVENTS"); in wpa_cli_cmd_status()
430 char cmd[256]; in wpa_cli_cmd_set() local
434 res = os_snprintf(cmd, sizeof(cmd), "SET %s ", argv[0]); in wpa_cli_cmd_set()
435 if (os_snprintf_error(sizeof(cmd), res)) { in wpa_cli_cmd_set()
437 return -1; in wpa_cli_cmd_set()
439 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_set()
701 char cmd[256]; in wpa_cli_cmd_bss_flush() local
705 res = os_snprintf(cmd, sizeof(cmd), "BSS_FLUSH 0"); in wpa_cli_cmd_bss_flush()
707 res = os_snprintf(cmd, sizeof(cmd), "BSS_FLUSH %s", argv[0]); in wpa_cli_cmd_bss_flush()
708 if (os_snprintf_error(sizeof(cmd), res)) { in wpa_cli_cmd_bss_flush()
710 return -1; in wpa_cli_cmd_bss_flush()
712 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_bss_flush()
732 "- BSSID: use 'any' to select any\n" in wpa_cli_cmd_wps_pin()
733 "- PIN: optional, used only with devices that have no " in wpa_cli_cmd_wps_pin()
735 return -1; in wpa_cli_cmd_wps_pin()
786 printf("Invalid 'wps_nfc_tag_read' command - one argument " in wpa_cli_cmd_wps_nfc_tag_read()
788 return -1; in wpa_cli_cmd_wps_nfc_tag_read()
794 return -1; in wpa_cli_cmd_wps_nfc_tag_read()
829 char cmd[256]; in wpa_cli_cmd_wps_reg() local
833 res = os_snprintf(cmd, sizeof(cmd), "WPS_REG %s %s", in wpa_cli_cmd_wps_reg()
857 res = os_snprintf(cmd, sizeof(cmd), in wpa_cli_cmd_wps_reg()
863 "- BSSID of the target AP\n" in wpa_cli_cmd_wps_reg()
864 "- AP PIN\n"); in wpa_cli_cmd_wps_reg()
867 "- BSSID of the target AP\n" in wpa_cli_cmd_wps_reg()
868 "- AP PIN\n" in wpa_cli_cmd_wps_reg()
869 "- new SSID\n" in wpa_cli_cmd_wps_reg()
870 "- new auth (OPEN, WPAPSK, WPA2PSK)\n" in wpa_cli_cmd_wps_reg()
871 "- new encr (NONE, WEP, TKIP, CCMP)\n" in wpa_cli_cmd_wps_reg()
872 "- new key\n"); in wpa_cli_cmd_wps_reg()
873 return -1; in wpa_cli_cmd_wps_reg()
876 if (os_snprintf_error(sizeof(cmd), res)) { in wpa_cli_cmd_wps_reg()
878 return -1; in wpa_cli_cmd_wps_reg()
880 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_wps_reg()
912 "- UUID: use 'any' to select any\n" in wpa_cli_cmd_wps_er_pin()
913 "- PIN: Enrollee PIN\n" in wpa_cli_cmd_wps_er_pin()
914 "optional: - Enrollee MAC address\n"); in wpa_cli_cmd_wps_er_pin()
915 return -1; in wpa_cli_cmd_wps_er_pin()
934 "- UUID: specify which AP to use\n" in wpa_cli_cmd_wps_er_learn()
935 "- PIN: AP PIN\n"); in wpa_cli_cmd_wps_er_learn()
936 return -1; in wpa_cli_cmd_wps_er_learn()
949 "- UUID: specify which AP to use\n" in wpa_cli_cmd_wps_er_set_config()
950 "- Network configuration id\n"); in wpa_cli_cmd_wps_er_set_config()
951 return -1; in wpa_cli_cmd_wps_er_set_config()
961 char cmd[256]; in wpa_cli_cmd_wps_er_config() local
986 res = os_snprintf(cmd, sizeof(cmd), in wpa_cli_cmd_wps_er_config()
992 "- AP UUID\n" in wpa_cli_cmd_wps_er_config()
993 "- AP PIN\n" in wpa_cli_cmd_wps_er_config()
994 "- new SSID\n" in wpa_cli_cmd_wps_er_config()
995 "- new auth (OPEN, WPAPSK, WPA2PSK)\n" in wpa_cli_cmd_wps_er_config()
996 "- new encr (NONE, WEP, TKIP, CCMP)\n" in wpa_cli_cmd_wps_er_config()
997 "- new key\n"); in wpa_cli_cmd_wps_er_config()
998 return -1; in wpa_cli_cmd_wps_er_config()
1001 if (os_snprintf_error(sizeof(cmd), res)) { in wpa_cli_cmd_wps_er_config()
1003 return -1; in wpa_cli_cmd_wps_er_config()
1005 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_wps_er_config()
1016 "- WPS/NDEF: token format\n" in wpa_cli_cmd_wps_er_nfc_config_token()
1017 "- UUID: specify which AP to use\n"); in wpa_cli_cmd_wps_er_nfc_config_token()
1018 return -1; in wpa_cli_cmd_wps_er_nfc_config_token()
1040 char cmd[256], *pos, *end; in wpa_cli_cmd_identity() local
1046 return -1; in wpa_cli_cmd_identity()
1049 end = cmd + sizeof(cmd); in wpa_cli_cmd_identity()
1050 pos = cmd; in wpa_cli_cmd_identity()
1051 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "IDENTITY-%s:%s", in wpa_cli_cmd_identity()
1053 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_identity()
1055 return -1; in wpa_cli_cmd_identity()
1059 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_identity()
1060 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_identity()
1062 return -1; in wpa_cli_cmd_identity()
1067 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_identity()
1073 char cmd[256], *pos, *end; in wpa_cli_cmd_password() local
1079 return -1; in wpa_cli_cmd_password()
1082 end = cmd + sizeof(cmd); in wpa_cli_cmd_password()
1083 pos = cmd; in wpa_cli_cmd_password()
1084 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "PASSWORD-%s:%s", in wpa_cli_cmd_password()
1086 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_password()
1088 return -1; in wpa_cli_cmd_password()
1092 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_password()
1093 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_password()
1095 return -1; in wpa_cli_cmd_password()
1100 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_password()
1107 char cmd[256], *pos, *end; in wpa_cli_cmd_new_password() local
1113 return -1; in wpa_cli_cmd_new_password()
1116 end = cmd + sizeof(cmd); in wpa_cli_cmd_new_password()
1117 pos = cmd; in wpa_cli_cmd_new_password()
1118 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "NEW_PASSWORD-%s:%s", in wpa_cli_cmd_new_password()
1120 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_new_password()
1122 return -1; in wpa_cli_cmd_new_password()
1126 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_new_password()
1127 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_new_password()
1129 return -1; in wpa_cli_cmd_new_password()
1134 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_new_password()
1140 char cmd[256], *pos, *end; in wpa_cli_cmd_pin() local
1146 return -1; in wpa_cli_cmd_pin()
1149 end = cmd + sizeof(cmd); in wpa_cli_cmd_pin()
1150 pos = cmd; in wpa_cli_cmd_pin()
1151 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "PIN-%s:%s", in wpa_cli_cmd_pin()
1153 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_pin()
1155 return -1; in wpa_cli_cmd_pin()
1159 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_pin()
1160 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_pin()
1162 return -1; in wpa_cli_cmd_pin()
1166 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_pin()
1172 char cmd[256], *pos, *end; in wpa_cli_cmd_otp() local
1178 return -1; in wpa_cli_cmd_otp()
1181 end = cmd + sizeof(cmd); in wpa_cli_cmd_otp()
1182 pos = cmd; in wpa_cli_cmd_otp()
1183 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "OTP-%s:%s", in wpa_cli_cmd_otp()
1185 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_otp()
1187 return -1; in wpa_cli_cmd_otp()
1191 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_otp()
1192 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_otp()
1194 return -1; in wpa_cli_cmd_otp()
1199 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_otp()
1205 char cmd[256], *pos, *end; in wpa_cli_cmd_sim() local
1211 return -1; in wpa_cli_cmd_sim()
1214 end = cmd + sizeof(cmd); in wpa_cli_cmd_sim()
1215 pos = cmd; in wpa_cli_cmd_sim()
1216 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "SIM-%s:%s", in wpa_cli_cmd_sim()
1218 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_sim()
1220 return -1; in wpa_cli_cmd_sim()
1224 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_sim()
1225 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_sim()
1227 return -1; in wpa_cli_cmd_sim()
1231 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_sim()
1238 char cmd[256], *pos, *end; in wpa_cli_cmd_psk_passphrase() local
1243 return -1; in wpa_cli_cmd_psk_passphrase()
1246 end = cmd + sizeof(cmd); in wpa_cli_cmd_psk_passphrase()
1247 pos = cmd; in wpa_cli_cmd_psk_passphrase()
1248 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "PSK_PASSPHRASE-%s:%s", in wpa_cli_cmd_psk_passphrase()
1250 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_psk_passphrase()
1252 return -1; in wpa_cli_cmd_psk_passphrase()
1256 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_psk_passphrase()
1257 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_psk_passphrase()
1259 return -1; in wpa_cli_cmd_psk_passphrase()
1264 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_psk_passphrase()
1271 char cmd[256], *pos, *end; in wpa_cli_cmd_passphrase() local
1277 return -1; in wpa_cli_cmd_passphrase()
1280 end = cmd + sizeof(cmd); in wpa_cli_cmd_passphrase()
1281 pos = cmd; in wpa_cli_cmd_passphrase()
1282 ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "PASSPHRASE-%s:%s", in wpa_cli_cmd_passphrase()
1284 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_passphrase()
1286 return -1; in wpa_cli_cmd_passphrase()
1290 ret = os_snprintf(pos, end - pos, " %s", argv[i]); in wpa_cli_cmd_passphrase()
1291 if (os_snprintf_error(end - pos, ret)) { in wpa_cli_cmd_passphrase()
1293 return -1; in wpa_cli_cmd_passphrase()
1298 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_passphrase()
1307 return -1; in wpa_cli_cmd_bssid()
1379 " psk (WPA passphrase or pre-shared key)\n" in wpa_cli_show_network_variables()
1407 return -1; in wpa_cli_cmd_set_network()
1425 return -1; in wpa_cli_cmd_get_network()
1552 return -1; in wpa_cli_cmd_dup_network()
1652 return -1; in wpa_cli_cmd_set_cred()
1664 return -1; in wpa_cli_cmd_get_cred()
1738 return -1; in wpa_cli_cmd_get_capability()
1744 return -1; in wpa_cli_cmd_get_capability()
1750 return -1; in wpa_cli_cmd_get_capability()
1755 return -1; in wpa_cli_cmd_get_capability()
1850 printf("Could not connect to interface '%s' - re-trying\n", in wpa_cli_cmd_interface()
1874 char cmd[256]; in wpa_cli_cmd_interface_add() local
1882 return -1; in wpa_cli_cmd_interface_add()
1889 res = os_snprintf(cmd, sizeof(cmd), in wpa_cli_cmd_interface_add()
1896 if (os_snprintf_error(sizeof(cmd), res)) in wpa_cli_cmd_interface_add()
1897 return -1; in wpa_cli_cmd_interface_add()
1898 cmd[sizeof(cmd) - 1] = '\0'; in wpa_cli_cmd_interface_add()
1899 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_interface_add()
1939 static int wpa_ctrl_command_sta(struct wpa_ctrl *ctrl, const char *cmd, in wpa_ctrl_command_sta() argument
1947 printf("Not connected to hostapd - command dropped.\n"); in wpa_ctrl_command_sta()
1948 return -1; in wpa_ctrl_command_sta()
1952 ifname_prefix, cmd); in wpa_ctrl_command_sta()
1953 buf[sizeof(buf) - 1] = '\0'; in wpa_ctrl_command_sta()
1954 cmd = buf; in wpa_ctrl_command_sta()
1956 len = sizeof(buf) - 1; in wpa_ctrl_command_sta()
1957 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, in wpa_ctrl_command_sta()
1959 if (ret == -2) { in wpa_ctrl_command_sta()
1960 printf("'%s' command timed out.\n", cmd); in wpa_ctrl_command_sta()
1961 return -2; in wpa_ctrl_command_sta()
1963 printf("'%s' command failed.\n", cmd); in wpa_ctrl_command_sta()
1964 return -1; in wpa_ctrl_command_sta()
1970 return -1; in wpa_ctrl_command_sta()
1985 char addr[32], cmd[64]; in wpa_cli_cmd_all_sta() local
1987 if (wpa_ctrl_command_sta(ctrl, "STA-FIRST", addr, sizeof(addr), 1)) in wpa_cli_cmd_all_sta()
1990 os_snprintf(cmd, sizeof(cmd), "STA-NEXT %s", addr); in wpa_cli_cmd_all_sta()
1991 } while (wpa_ctrl_command_sta(ctrl, cmd, addr, sizeof(addr), 1) == 0); in wpa_cli_cmd_all_sta()
1993 return -1; in wpa_cli_cmd_all_sta()
2000 char addr[32], cmd[64]; in wpa_cli_cmd_list_sta() local
2002 if (wpa_ctrl_command_sta(ctrl, "STA-FIRST", addr, sizeof(addr), 0)) in wpa_cli_cmd_list_sta()
2007 os_snprintf(cmd, sizeof(cmd), "STA-NEXT %s", addr); in wpa_cli_cmd_list_sta()
2008 } while (wpa_ctrl_command_sta(ctrl, cmd, addr, sizeof(addr), 0) == 0); in wpa_cli_cmd_list_sta()
2299 return -1; in wpa_cli_cmd_p2p_prov_disc()
2316 char cmd[4096]; in wpa_cli_cmd_p2p_serv_disc_req() local
2321 return -1; in wpa_cli_cmd_p2p_serv_disc_req()
2324 if (write_cmd(cmd, sizeof(cmd), "P2P_SERV_DISC_REQ", argc, argv) < 0) in wpa_cli_cmd_p2p_serv_disc_req()
2325 return -1; in wpa_cli_cmd_p2p_serv_disc_req()
2326 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_p2p_serv_disc_req()
2340 char cmd[4096]; in wpa_cli_cmd_p2p_serv_disc_resp() local
2346 return -1; in wpa_cli_cmd_p2p_serv_disc_resp()
2349 res = os_snprintf(cmd, sizeof(cmd), "P2P_SERV_DISC_RESP %s %s %s %s", in wpa_cli_cmd_p2p_serv_disc_resp()
2351 if (os_snprintf_error(sizeof(cmd), res)) in wpa_cli_cmd_p2p_serv_disc_resp()
2352 return -1; in wpa_cli_cmd_p2p_serv_disc_resp()
2353 cmd[sizeof(cmd) - 1] = '\0'; in wpa_cli_cmd_p2p_serv_disc_resp()
2354 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_p2p_serv_disc_resp()
2383 printf("Invalid P2P_SERVICE_ADD command: needs 3-6 arguments\n"); in wpa_cli_cmd_p2p_service_add()
2384 return -1; in wpa_cli_cmd_p2p_service_add()
2395 printf("Invalid P2P_SERVICE_REP command: needs 5-6 " in wpa_cli_cmd_p2p_service_rep()
2397 return -1; in wpa_cli_cmd_p2p_service_rep()
2407 char cmd[4096]; in wpa_cli_cmd_p2p_service_del() local
2413 return -1; in wpa_cli_cmd_p2p_service_del()
2417 res = os_snprintf(cmd, sizeof(cmd), in wpa_cli_cmd_p2p_service_del()
2421 res = os_snprintf(cmd, sizeof(cmd), in wpa_cli_cmd_p2p_service_del()
2424 if (os_snprintf_error(sizeof(cmd), res)) in wpa_cli_cmd_p2p_service_del()
2425 return -1; in wpa_cli_cmd_p2p_service_del()
2426 cmd[sizeof(cmd) - 1] = '\0'; in wpa_cli_cmd_p2p_service_del()
2427 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_p2p_service_del()
2466 static int wpa_ctrl_command_p2p_peer(struct wpa_ctrl *ctrl, const char *cmd, in wpa_ctrl_command_p2p_peer() argument
2475 return -1; in wpa_ctrl_command_p2p_peer()
2476 len = sizeof(buf) - 1; in wpa_ctrl_command_p2p_peer()
2477 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, in wpa_ctrl_command_p2p_peer()
2479 if (ret == -2) { in wpa_ctrl_command_p2p_peer()
2480 printf("'%s' command timed out.\n", cmd); in wpa_ctrl_command_p2p_peer()
2481 return -2; in wpa_ctrl_command_p2p_peer()
2483 printf("'%s' command failed.\n", cmd); in wpa_ctrl_command_p2p_peer()
2484 return -1; in wpa_ctrl_command_p2p_peer()
2489 return -1; in wpa_ctrl_command_p2p_peer()
2504 char addr[32], cmd[64]; in wpa_cli_cmd_p2p_peers() local
2511 return -1; in wpa_cli_cmd_p2p_peers()
2513 os_snprintf(cmd, sizeof(cmd), "P2P_PEER NEXT-%s", addr); in wpa_cli_cmd_p2p_peers()
2514 } while (wpa_ctrl_command_p2p_peer(ctrl, cmd, addr, sizeof(addr), in wpa_cli_cmd_p2p_peers()
2599 return -1; in wpa_cli_cmd_p2p_presence_req()
2615 return -1; in wpa_cli_cmd_p2p_ext_listen()
2657 char cmd[100]; in wpa_cli_cmd_wfd_subelem_set() local
2663 return -1; in wpa_cli_cmd_wfd_subelem_set()
2666 res = os_snprintf(cmd, sizeof(cmd), "WFD_SUBELEM_SET %s %s", in wpa_cli_cmd_wfd_subelem_set()
2668 if (os_snprintf_error(sizeof(cmd), res)) in wpa_cli_cmd_wfd_subelem_set()
2669 return -1; in wpa_cli_cmd_wfd_subelem_set()
2670 cmd[sizeof(cmd) - 1] = '\0'; in wpa_cli_cmd_wfd_subelem_set()
2671 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_wfd_subelem_set()
2678 char cmd[100]; in wpa_cli_cmd_wfd_subelem_get() local
2684 return -1; in wpa_cli_cmd_wfd_subelem_get()
2687 res = os_snprintf(cmd, sizeof(cmd), "WFD_SUBELEM_GET %s", in wpa_cli_cmd_wfd_subelem_get()
2689 if (os_snprintf_error(sizeof(cmd), res)) in wpa_cli_cmd_wfd_subelem_get()
2690 return -1; in wpa_cli_cmd_wfd_subelem_get()
2691 cmd[sizeof(cmd) - 1] = '\0'; in wpa_cli_cmd_wfd_subelem_get()
2692 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_wfd_subelem_get()
2766 char cmd[512]; in wpa_cli_cmd_get_nai_home_realm_list() local
2771 return -1; in wpa_cli_cmd_get_nai_home_realm_list()
2774 if (write_cmd(cmd, sizeof(cmd), "HS20_GET_NAI_HOME_REALM_LIST", in wpa_cli_cmd_get_nai_home_realm_list()
2776 return -1; in wpa_cli_cmd_get_nai_home_realm_list()
2778 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_get_nai_home_realm_list()
2785 char cmd[512]; in wpa_cli_cmd_hs20_icon_request() local
2790 return -1; in wpa_cli_cmd_hs20_icon_request()
2793 if (write_cmd(cmd, sizeof(cmd), "HS20_ICON_REQUEST", argc, argv) < 0) in wpa_cli_cmd_hs20_icon_request()
2794 return -1; in wpa_cli_cmd_hs20_icon_request()
2796 return wpa_ctrl_command(ctrl, cmd); in wpa_cli_cmd_hs20_icon_request()
2974 return -1; in wpa_cli_cmd_raw()
2975 return wpa_cli_cmd(ctrl, argv[0], 0, argc - 1, &argv[1]); in wpa_cli_cmd_raw()
3209 static int wpa_ctrl_command_bss(struct wpa_ctrl *ctrl, const char *cmd) in wpa_ctrl_command_bss() argument
3214 int ret, id = -1; in wpa_ctrl_command_bss()
3217 return -1; in wpa_ctrl_command_bss()
3218 len = sizeof(buf) - 1; in wpa_ctrl_command_bss()
3219 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, in wpa_ctrl_command_bss()
3221 if (ret == -2) { in wpa_ctrl_command_bss()
3222 printf("'%s' command timed out.\n", cmd); in wpa_ctrl_command_bss()
3223 return -2; in wpa_ctrl_command_bss()
3225 printf("'%s' command failed.\n", cmd); in wpa_ctrl_command_bss()
3226 return -1; in wpa_ctrl_command_bss()
3231 return -1; in wpa_ctrl_command_bss()
3252 if (id != -1) in wpa_ctrl_command_bss()
3262 char cmd[64]; in wpa_cli_cmd_all_bss() local
3263 int id = -1; in wpa_cli_cmd_all_bss()
3272 os_snprintf(cmd, sizeof(cmd), "BSS FIRST MASK=0x%x", in wpa_cli_cmd_all_bss()
3275 os_snprintf(cmd, sizeof(cmd), "BSS NEXT-%d MASK=0x%x", in wpa_cli_cmd_all_bss()
3277 id = wpa_ctrl_command_bss(ctrl, cmd); in wpa_cli_cmd_all_bss()
3344 const char *cmd; member
3363 "= re-open log-file (allow rolling logs)" },
3452 "<network id> <password> = configure one-time-password for an SSID"
3557 "= force wpa_supplicant to re-read its configuration file" },
3591 "<addr> = request over-the-DS FT with <addr>" },
3594 "[BSSID] = start Wi-Fi Protected Setup: Push Button Configuration" },
3607 "[BSSID] = start Wi-Fi Protected Setup: NFC" },
3636 "[IP address] = start Wi-Fi Protected Setup External Registrar" },
3639 "= stop Wi-Fi Protected Setup External Registrar" },
3700 "= send Multi-Link Probe request <bssid=addr> <mld_id=id> [link_id=id] (test command)" },
3728 "[timeout] [type=*] = find P2P Devices for up-to timeout seconds" },
3741 "[timeout] = listen for P2P Devices for up-to timeout seconds" },
3791 "<cmd> [peer=addr] = invite peer" },
3834 "<subelem> [contents] = set Wi-Fi Display subelement" },
3837 "<subelem> = get Wi-Fi Display subelement" },
3901 "= add WMM-AC traffic stream" },
3904 "<tsid> = delete WMM-AC traffic stream" },
3907 "= show status for Wireless Multi-Media Admission-Control" },
3935 "<enter/exit> [interval=#] = enter/exit WNM-Sleep mode" },
3968 …-cmd>] [twt=<u64>] [requestor=0|1] [trigger=0|1] [implicit=0|1] [flow_type=0|1] [flow_id=<3-bit-id…
3978 "<scan|sched|pno|all> enable=<0/1> [addr=mac-address "
3979 "mask=mac-address-mask] = scan MAC randomization"
4074 …"[scs_id=<decimal number>] <add|remove|change> [scs_up=<0-7>] [classifier_type=<4|10>] [classifier…
4094 static void print_cmd_help(const struct wpa_cli_cmd *cmd, const char *pad) in print_cmd_help() argument
4099 printf("%s%s ", pad, cmd->cmd); in print_cmd_help()
4100 for (n = 0; (c = cmd->usage[n]); n++) { in print_cmd_help()
4109 static void print_help(const char *cmd) in print_help() argument
4113 for (n = 0; wpa_cli_commands[n].cmd; n++) { in print_help()
4114 if (cmd == NULL || str_starts(wpa_cli_commands[n].cmd, cmd)) in print_help()
4120 static int wpa_cli_edit_filter_history_cb(void *ctx, const char *cmd) in wpa_cli_edit_filter_history_cb() argument
4126 delim = os_strchr(cmd, ' '); in wpa_cli_edit_filter_history_cb()
4128 len = delim - cmd; in wpa_cli_edit_filter_history_cb()
4130 len = os_strlen(cmd); in wpa_cli_edit_filter_history_cb()
4132 for (n = 0; (c = wpa_cli_commands[n].cmd); n++) { in wpa_cli_edit_filter_history_cb()
4133 if (os_strncasecmp(cmd, c, len) == 0 && len == os_strlen(c)) in wpa_cli_edit_filter_history_cb()
4154 for (i = 0; wpa_cli_commands[i].cmd; i++) { in wpa_list_cmd_list()
4155 res[i] = os_strdup(wpa_cli_commands[i].cmd); in wpa_list_cmd_list()
4161 size_t len = 8 + os_strlen(e->txt); in wpa_list_cmd_list()
4165 os_snprintf(res[i], len, "ifname=%s", e->txt); in wpa_list_cmd_list()
4170 res[i] = os_strdup(e->txt); in wpa_list_cmd_list()
4180 static char ** wpa_cli_cmd_completion(const char *cmd, const char *str, in wpa_cli_cmd_completion() argument
4185 for (i = 0; wpa_cli_commands[i].cmd; i++) { in wpa_cli_cmd_completion()
4186 if (os_strcasecmp(wpa_cli_commands[i].cmd, cmd) == 0) { in wpa_cli_cmd_completion()
4205 char *cmd; in wpa_cli_edit_completion_cb() local
4209 if (end && pos > end - str) { in wpa_cli_edit_completion_cb()
4210 pos -= end - str + 1; in wpa_cli_edit_completion_cb()
4219 cmd = os_malloc(pos + 1); in wpa_cli_edit_completion_cb()
4220 if (cmd == NULL) in wpa_cli_edit_completion_cb()
4222 os_memcpy(cmd, str, pos); in wpa_cli_edit_completion_cb()
4223 cmd[end - str] = '\0'; in wpa_cli_edit_completion_cb()
4224 res = wpa_cli_cmd_completion(cmd, str, pos); in wpa_cli_edit_completion_cb()
4225 os_free(cmd); in wpa_cli_edit_completion_cb()
4232 const struct wpa_cli_cmd *cmd, *match = NULL; in wpa_request() local
4239 argc--; in wpa_request()
4244 return -1; in wpa_request()
4247 cmd = wpa_cli_commands; in wpa_request()
4248 while (cmd->cmd) { in wpa_request()
4249 if (os_strncasecmp(cmd->cmd, argv[0], os_strlen(argv[0])) == 0) in wpa_request()
4251 match = cmd; in wpa_request()
4252 if (os_strcasecmp(cmd->cmd, argv[0]) == 0) { in wpa_request()
4259 cmd++; in wpa_request()
4264 cmd = wpa_cli_commands; in wpa_request()
4265 while (cmd->cmd) { in wpa_request()
4266 if (os_strncasecmp(cmd->cmd, argv[0], in wpa_request()
4268 printf(" %s", cmd->cmd); in wpa_request()
4270 cmd++; in wpa_request()
4278 ret = match->handler(ctrl, argc - 1, &argv[1]); in wpa_request()
4299 return -1; in wpa_cli_exec()
4322 if (end && (unsigned int) (end - pos) < sizeof(ifname_buf)) { in wpa_cli_action_process()
4324 os_memcpy(ifname_buf, pos, end - pos); in wpa_cli_action_process()
4325 ifname_buf[end - pos] = '\0'; in wpa_cli_action_process()
4341 int new_id = -1; in wpa_cli_action_process()
4452 printf("wpa_supplicant is terminating - stop monitoring\n"); in wpa_cli_action_process()
4478 return -1; in wpa_cli_open_global_ctrl()
4511 printf("\rConnection to wpa_supplicant re-established\n"); in wpa_cli_reconnect()
4601 printf("\rConnection to wpa_supplicant lost - trying to " in check_terminating()
4621 size_t len = sizeof(buf) - 1; in wpa_cli_recv_pending()
4644 printf("Connection to wpa_supplicant lost - trying to " in wpa_cli_recv_pending()
4665 printf("Connection to wpa_supplicant lost - trying to " in wpa_cli_ping()
4682 static void wpa_cli_edit_cmd_cb(void *ctx, char *cmd) in wpa_cli_edit_cmd_cb() argument
4686 argc = tokenize_cmd(cmd, argv); in wpa_cli_edit_cmd_cb()
4740 const char *cmd = "BSS RANGE=ALL MASK=0x2"; in update_bssid_list() local
4745 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, NULL); in update_bssid_list()
4771 const char *cmd = "INTERFACES"; in update_ifnames() local
4779 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, NULL); in update_ifnames()
4803 const char *cmd = "LIST_CREDS"; in update_creds() local
4811 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, NULL); in update_creds()
4835 const char *cmd = "LIST_NETWORKS"; in update_networks() local
4843 ret = wpa_ctrl_request(ctrl, cmd, os_strlen(cmd), buf, &len, NULL); in update_networks()
4865 char addr[32], cmd[64]; in update_stations() local
4872 if (wpa_ctrl_command_sta(ctrl, "STA-FIRST", addr, sizeof(addr), 0)) in update_stations()
4877 os_snprintf(cmd, sizeof(cmd), "STA-NEXT %s", addr); in update_stations()
4878 } while (wpa_ctrl_command_sta(ctrl, cmd, addr, sizeof(addr), 0) == 0); in update_stations()
4894 "%s - re-trying\n", in try_connection()
4944 len = sizeof(buf) - 1; in wpa_cli_action_ping()
4948 printf("wpa_supplicant did not reply to PING command - exiting\n"); in wpa_cli_action_ping()
4994 static void wpa_cli_terminate(int sig, void *ctx) in wpa_cli_terminate() argument
5015 DIR *dir = opendir(ctrl_iface_dir); in wpa_cli_get_default_ifname() local
5016 if (!dir) { in wpa_cli_get_default_ifname()
5019 while ((dent = readdir(dir))) { in wpa_cli_get_default_ifname()
5026 if (dent->d_type != DT_SOCK && dent->d_type != DT_UNKNOWN) in wpa_cli_get_default_ifname()
5031 if (os_strcmp(dent->d_name, ".") == 0 || in wpa_cli_get_default_ifname()
5032 os_strcmp(dent->d_name, "..") == 0 || in wpa_cli_get_default_ifname()
5033 os_strncmp(dent->d_name, "p2p-dev-", 8) == 0) in wpa_cli_get_default_ifname()
5035 printf("Selected interface '%s'\n", dent->d_name); in wpa_cli_get_default_ifname()
5036 ifname = os_strdup(dent->d_name); in wpa_cli_get_default_ifname()
5039 closedir(dir); in wpa_cli_get_default_ifname()
5052 len = sizeof(buf) - 1; in wpa_cli_get_default_ifname()
5076 return -1; in main()
5119 return -1; in main()
5129 return -1; in main()
5132 return -1; in main()
5159 fprintf(stderr, "Failed to connect to non-global " in main()
5163 return -1; in main()
5172 return -1; in main()
5177 return -1; in main()
5182 ret = wpa_request(ctrl_conn, argc - optind, in main()
5196 printf("CONFIG_CTRL_IFACE not defined - wpa_cli disabled\n"); in main()
5197 return -1; in main()