Lines Matching refs:pos

54 	char *pos;
58 pos = val;
59 while (pos) {
60 if (*pos == '\0')
62 if (hwaddr_aton(pos, addr)) {
75 pos = os_strchr(pos, ' ');
76 if (pos)
77 pos++;
91 char *pos;
103 pos = val;
104 while (pos) {
105 if (*pos == '\0')
107 if (os_strncmp(pos, "bssid ", 6) == 0) {
109 pos += 6;
110 res = hwaddr_aton2(pos, addr);
115 "BSSID value '%s'", pos);
118 pos += res;
128 } else if (os_strncmp(pos, "ssid ", 5) == 0) {
130 pos += 5;
132 end = pos;
148 if ((end - pos) & 0x01 || end - pos > 2 * 32 ||
149 hexstr2bin(pos, ssid[ssid_count].ssid,
150 (end - pos) / 2) < 0) {
154 "SSID value '%s'", pos);
157 ssid[ssid_count].ssid_len = (end - pos) / 2;
162 pos = end;
165 "'%s'", pos);
171 pos = os_strchr(pos, ' ');
172 if (pos)
173 pos++;
212 static int wpas_ctrl_set_blob(struct wpa_supplicant *wpa_s, char *pos)
214 char *name = pos;
218 pos = os_strchr(pos, ' ');
219 if (pos == NULL)
221 *pos++ = '\0';
222 len = os_strlen(pos);
237 if (hexstr2bin(pos, blob->data, len / 2) < 0) {
254 char *pos;
263 pos = os_strstr(params, "freq=");
264 if (pos)
266 pos + 5);
372 char *pos;
375 pos = os_strchr(value, ',');
376 if (pos == NULL)
378 pos++;
379 bk = atoi(pos);
380 pos = os_strchr(pos, ',');
381 if (pos == NULL)
383 pos++;
384 vi = atoi(pos);
385 pos = os_strchr(pos, ',');
386 if (pos == NULL)
388 pos++;
389 vo = atoi(pos);
728 char *pos;
731 pos = os_strchr(pin, ' ');
732 if (pos) {
733 *pos++ = '\0';
734 timeout = atoi(pos);
772 char *pos;
777 for (pos = cmd, len = 0; *pos != '\0'; pos++) {
778 if (*pos < '0' || *pos > '9')
780 pin[len++] = *pos;
835 char *pos;
837 pos = os_strchr(cmd, ' ');
838 if (pos)
839 *pos++ = '\0';
847 buf = wpas_wps_nfc_config_token(wpa_s, ndef, pos);
892 struct wpa_supplicant *wpa_s, char *pos)
900 freq = strstr(pos, " freq=");
907 len = os_strlen(pos);
915 if (hexstr2bin(pos, wpabuf_put(buf, len), len) < 0) {
979 char *pos;
982 pos = os_strchr(cmd, ' ');
983 if (pos == NULL)
985 *pos++ = '\0';
994 if (os_strcmp(pos, "WPS") == 0 || os_strcmp(pos, "WPS-CR") == 0) {
1002 if (os_strcmp(pos, "P2P-CR") == 0) {
1062 char *pos, *pos2;
1065 pos = os_strchr(cmd, ' ');
1066 if (pos == NULL)
1068 *pos++ = '\0';
1077 pos2 = os_strchr(pos, ' ');
1080 if (os_strcmp(pos, "WPS") == 0 || os_strcmp(pos, "WPS-CR") == 0) {
1085 os_strcmp(pos, "WPS-CR") == 0, pos2);
1089 if (os_strcmp(pos, "P2P-CR") == 0) {
1094 if (os_strcmp(pos, "P2P-CR-TAG") == 0) {
1110 char *pos, *role, *type, *pos2;
1124 pos = os_strchr(role, ' ');
1125 if (pos == NULL) {
1129 *pos++ = '\0';
1131 type = pos;
1132 pos = os_strchr(type, ' ');
1133 if (pos == NULL) {
1137 *pos++ = '\0';
1139 pos2 = os_strchr(pos, ' ');
1146 len = os_strlen(pos);
1158 if (hexstr2bin(pos, wpabuf_put(req, len), len) < 0) {
1280 char *pos;
1286 pos = os_strchr(cmd, ' ');
1287 if (pos)
1288 *pos++ = '\0';
1296 if (pos)
1297 timeout = atoi(pos);
1313 if (pos == NULL)
1315 pin = pos;
1316 pos = os_strchr(pos, ' ');
1317 if (pos) {
1318 *pos++ = '\0';
1319 timeout = atoi(pos);
1337 char *uuid = cmd, *pin, *pos;
1343 pos = os_strchr(pin, ' ');
1344 if (pos) {
1345 *pos++ = '\0';
1346 if (hwaddr_aton(pos, addr_buf) == 0)
1485 char *pos, *id_pos;
1489 pos = os_strchr(rsp, '-');
1490 if (pos == NULL)
1492 *pos++ = '\0';
1493 id_pos = pos;
1494 pos = os_strchr(pos, ':');
1495 if (pos == NULL)
1497 *pos++ = '\0';
1501 (u8 *) pos, os_strlen(pos));
1511 pos);
1523 char *pos, *end, tmp[30];
1533 pos = buf;
1537 ret = os_snprintf(pos, end - pos, "bssid=" MACSTR "\n",
1539 if (ret < 0 || ret >= end - pos)
1540 return pos - buf;
1541 pos += ret;
1554 ret = os_snprintf(pos, end - pos, "ssid=%s\nid=%d\n",
1557 if (ret < 0 || ret >= end - pos)
1558 return pos - buf;
1559 pos += ret;
1565 ret = os_snprintf(pos, end - pos,
1568 if (ret < 0 || ret >= end - pos)
1569 return pos - buf;
1570 pos += ret;
1573 ret = os_snprintf(pos, end - pos,
1576 if (ret < 0 || ret >= end - pos)
1577 return pos - buf;
1578 pos += ret;
1583 ret = os_snprintf(pos, end - pos,
1587 ret = os_snprintf(pos, end - pos,
1591 ret = os_snprintf(pos, end - pos,
1595 ret = os_snprintf(pos, end - pos,
1599 ret = os_snprintf(pos, end - pos,
1607 if (ret < 0 || ret >= end - pos)
1608 return pos - buf;
1609 pos += ret;
1614 pos += ap_ctrl_iface_wpa_get_status(wpa_s, pos,
1615 end - pos,
1619 pos += wpa_sm_get_status(wpa_s->wpa, pos, end - pos, verbose);
1627 ret = os_snprintf(pos, end - pos, "sae_group=%d\n",
1629 if (ret < 0 || ret >= end - pos)
1630 return pos - buf;
1631 pos += ret;
1634 ret = os_snprintf(pos, end - pos, "wpa_state=%s\n",
1636 if (ret < 0 || ret >= end - pos)
1637 return pos - buf;
1638 pos += ret;
1642 ret = os_snprintf(pos, end - pos, "ip_address=%s\n", tmp);
1643 if (ret < 0 || ret >= end - pos)
1644 return pos - buf;
1645 pos += ret;
1650 ret = os_snprintf(pos, end - pos, "p2p_device_address=" MACSTR
1652 if (ret < 0 || ret >= end - pos)
1653 return pos - buf;
1654 pos += ret;
1658 ret = os_snprintf(pos, end - pos, "address=" MACSTR "\n",
1660 if (ret < 0 || ret >= end - pos)
1661 return pos - buf;
1662 pos += ret;
1675 ret = os_snprintf(pos, end - pos, "hs20=%d\n", release);
1676 if (ret < 0 || ret >= end - pos)
1677 return pos - buf;
1678 pos += ret;
1692 ret = os_snprintf(pos, end - pos,
1695 if (ret < 0 || ret >= end - pos)
1696 return pos - buf;
1697 pos += ret;
1716 ret = os_snprintf(pos, end - pos, "home_sp=%s\n",
1718 if (ret < 0 || ret >= end - pos)
1719 return pos - buf;
1720 pos += ret;
1737 ret = os_snprintf(pos, end - pos, "sp_type=%s\n", type);
1738 if (ret < 0 || ret >= end - pos)
1739 return pos - buf;
1740 pos += ret;
1749 res = eapol_sm_get_status(wpa_s->eapol, pos, end - pos,
1752 pos += res;
1755 res = rsn_preauth_get_status(wpa_s->wpa, pos, end - pos, verbose);
1757 pos += res;
1763 ret = os_snprintf(pos, end - pos, "uuid=%s\n", uuid_str);
1764 if (ret < 0 || ret >= end - pos)
1765 return pos - buf;
1766 pos += ret;
1797 return pos - buf;
1804 char *pos;
1810 pos = os_strchr(cmd, ' ');
1811 if (pos == NULL)
1813 *pos++ = '\0';
1815 wpa_printf(MSG_DEBUG, "CTRL_IFACE: id=%d bssid='%s'", id, pos);
1816 if (hwaddr_aton(pos, bssid)) {
1817 wpa_printf(MSG_DEBUG ,"CTRL_IFACE: invalid BSSID '%s'", pos);
1841 char *pos, *end;
1846 pos = buf;
1850 ret = os_snprintf(pos, end - pos, MACSTR "\n",
1852 if (ret < 0 || ret >= end - pos)
1853 return pos - buf;
1854 pos += ret;
1857 return pos - buf;
1931 char *pos, *end, *stamp;
1940 pos = buf;
1942 ret = os_snprintf(pos, end - pos, "Current level: %s\n"
1946 if (ret < 0 || ret >= end - pos)
1981 char *pos, *end;
1985 pos = buf;
1987 ret = os_snprintf(pos, end - pos,
1989 if (ret < 0 || ret >= end - pos)
1990 return pos - buf;
1991 pos += ret;
1995 ret = os_snprintf(pos, end - pos, "%d\t%s",
1998 if (ret < 0 || ret >= end - pos)
1999 return pos - buf;
2000 pos += ret;
2002 ret = os_snprintf(pos, end - pos, "\t" MACSTR,
2005 ret = os_snprintf(pos, end - pos, "\tany");
2007 if (ret < 0 || ret >= end - pos)
2008 return pos - buf;
2009 pos += ret;
2010 ret = os_snprintf(pos, end - pos, "\t%s%s%s%s",
2018 if (ret < 0 || ret >= end - pos)
2019 return pos - buf;
2020 pos += ret;
2021 ret = os_snprintf(pos, end - pos, "\n");
2022 if (ret < 0 || ret >= end - pos)
2023 return pos - buf;
2024 pos += ret;
2029 return pos - buf;
2033 static char * wpa_supplicant_cipher_txt(char *pos, char *end, int cipher)
2036 ret = os_snprintf(pos, end - pos, "-");
2037 if (ret < 0 || ret >= end - pos)
2038 return pos;
2039 pos += ret;
2040 ret = wpa_write_ciphers(pos, end, cipher, "+");
2042 return pos;
2043 pos += ret;
2044 return pos;
2048 static char * wpa_supplicant_ie_txt(char *pos, char *end, const char *proto,
2055 ret = os_snprintf(pos, end - pos, "[%s-", proto);
2056 if (ret < 0 || ret >= end - pos)
2057 return pos;
2058 pos += ret;
2061 ret = os_snprintf(pos, end - pos, "?]");
2062 if (ret < 0 || ret >= end - pos)
2063 return pos;
2064 pos += ret;
2065 return pos;
2068 start = pos;
2070 ret = os_snprintf(pos, end - pos, "%sEAP",
2071 pos == start ? "" : "+");
2072 if (ret < 0 || ret >= end - pos)
2073 return pos;
2074 pos += ret;
2077 ret = os_snprintf(pos, end - pos, "%sPSK",
2078 pos == start ? "" : "+");
2079 if (ret < 0 || ret >= end - pos)
2080 return pos;
2081 pos += ret;
2084 ret = os_snprintf(pos, end - pos, "%sNone",
2085 pos == start ? "" : "+");
2086 if (ret < 0 || ret >= end - pos)
2087 return pos;
2088 pos += ret;
2092 ret = os_snprintf(pos, end - pos, "%sFT/EAP",
2093 pos == start ? "" : "+");
2094 if (ret < 0 || ret >= end - pos)
2095 return pos;
2096 pos += ret;
2099 ret = os_snprintf(pos, end - pos, "%sFT/PSK",
2100 pos == start ? "" : "+");
2101 if (ret < 0 || ret >= end - pos)
2102 return pos;
2103 pos += ret;
2108 ret = os_snprintf(pos, end - pos, "%sEAP-SHA256",
2109 pos == start ? "" : "+");
2110 if (ret < 0 || ret >= end - pos)
2111 return pos;
2112 pos += ret;
2115 ret = os_snprintf(pos, end - pos, "%sPSK-SHA256",
2116 pos == start ? "" : "+");
2117 if (ret < 0 || ret >= end - pos)
2118 return pos;
2119 pos += ret;
2123 pos = wpa_supplicant_cipher_txt(pos, end, data.pairwise_cipher);
2126 ret = os_snprintf(pos, end - pos, "-preauth");
2127 if (ret < 0 || ret >= end - pos)
2128 return pos;
2129 pos += ret;
2132 ret = os_snprintf(pos, end - pos, "]");
2133 if (ret < 0 || ret >= end - pos)
2134 return pos;
2135 pos += ret;
2137 return pos;
2143 char *pos, char *end,
2150 return pos;
2160 ret = os_snprintf(pos, end - pos, "%s", txt);
2161 if (ret >= 0 && ret < end - pos)
2162 pos += ret;
2164 return pos;
2170 char *pos, char *end,
2176 return wpa_supplicant_wps_ie_txt_buf(wpa_s, pos, end, wps_ie);
2178 return pos;
2188 char *pos, *end;
2200 pos = buf;
2203 ret = os_snprintf(pos, end - pos, MACSTR "\t%d\t%d\t",
2205 if (ret < 0 || ret >= end - pos)
2207 pos += ret;
2210 pos = wpa_supplicant_ie_txt(pos, end, "WPA", ie, 2 + ie[1]);
2213 pos = wpa_supplicant_ie_txt(pos, end, "WPA2", ie2, 2 + ie2[1]);
2214 pos = wpa_supplicant_wps_ie_txt(wpa_s, pos, end, bss);
2216 ret = os_snprintf(pos, end - pos, "[WEP]");
2217 if (ret < 0 || ret >= end - pos)
2219 pos += ret;
2223 ret = os_snprintf(pos, end - pos, "[DMG]");
2224 if (ret < 0 || ret >= end - pos)
2226 pos += ret;
2241 ret = os_snprintf(pos, end - pos, "%s", s);
2242 if (ret < 0 || ret >= end - pos)
2244 pos += ret;
2247 ret = os_snprintf(pos, end - pos, "[IBSS]");
2248 if (ret < 0 || ret >= end - pos)
2250 pos += ret;
2253 ret = os_snprintf(pos, end - pos, "[ESS]");
2254 if (ret < 0 || ret >= end - pos)
2256 pos += ret;
2260 ret = os_snprintf(pos, end - pos, "[P2P]");
2261 if (ret < 0 || ret >= end - pos)
2263 pos += ret;
2267 ret = os_snprintf(pos, end - pos, "[HS20]");
2268 if (ret < 0 || ret >= end - pos)
2270 pos += ret;
2274 ret = os_snprintf(pos, end - pos, "\t%s",
2276 if (ret < 0 || ret >= end - pos)
2278 pos += ret;
2280 ret = os_snprintf(pos, end - pos, "\n");
2281 if (ret < 0 || ret >= end - pos)
2283 pos += ret;
2285 return pos - buf;
2292 char *pos, *end;
2296 pos = buf;
2298 ret = os_snprintf(pos, end - pos, "bssid / frequency / signal level / "
2300 if (ret < 0 || ret >= end - pos)
2301 return pos - buf;
2302 pos += ret;
2305 ret = wpa_supplicant_ctrl_iface_scan_result(wpa_s, bss, pos,
2306 end - pos);
2307 if (ret < 0 || ret >= end - pos)
2308 return pos - buf;
2309 pos += ret;
2312 return pos - buf;
2321 char *pos;
2344 pos = os_strstr(cmd, " freq=");
2345 if (pos) {
2346 int *freqs = freq_range_to_channel_list(wpa_s, pos + 6);
2707 char *pos, *end;
2711 pos = buf;
2713 ret = os_snprintf(pos, end - pos,
2715 if (ret < 0 || ret >= end - pos)
2716 return pos - buf;
2717 pos += ret;
2721 ret = os_snprintf(pos, end - pos, "%d\t%s\t%s\t%s\t%s\n",
2726 if (ret < 0 || ret >= end - pos)
2727 return pos - buf;
2728 pos += ret;
2733 return pos - buf;
2993 char *pos, *end;
2997 pos = buf;
2998 end = pos + buflen;
3011 ret = os_snprintf(pos, end - pos, "%s%s",
3012 pos == buf ? "" : " ",
3014 if (ret < 0 || ret >= end - pos)
3015 return pos - buf;
3016 pos += ret;
3020 return pos - buf;
3029 char *pos, *end;
3033 pos = buf;
3034 end = pos + buflen;
3047 ret = os_snprintf(pos, end - pos, "%s%s",
3048 pos == buf ? "" : " ",
3050 if (ret < 0 || ret >= end - pos)
3051 return pos - buf;
3052 pos += ret;
3056 return pos - buf;
3065 char *pos, *end;
3068 pos = buf;
3069 end = pos + buflen;
3081 ret = os_snprintf(pos, end - pos, "NONE IEEE8021X");
3082 if (ret < 0 || ret >= end - pos)
3083 return pos - buf;
3084 pos += ret;
3088 ret = os_snprintf(pos, end - pos, " WPA-EAP");
3089 if (ret < 0 || ret >= end - pos)
3090 return pos - buf;
3091 pos += ret;
3096 ret = os_snprintf(pos, end - pos, " WPA-PSK");
3097 if (ret < 0 || ret >= end - pos)
3098 return pos - buf;
3099 pos += ret;
3103 ret = os_snprintf(pos, end - pos, " WPA-NONE");
3104 if (ret < 0 || ret >= end - pos)
3105 return pos - buf;
3106 pos += ret;
3109 return pos - buf;
3118 char *pos, *end;
3121 pos = buf;
3122 end = pos + buflen;
3135 ret = os_snprintf(pos, end - pos, "%sRSN",
3136 pos == buf ? "" : " ");
3137 if (ret < 0 || ret >= end - pos)
3138 return pos - buf;
3139 pos += ret;
3144 ret = os_snprintf(pos, end - pos, "%sWPA",
3145 pos == buf ? "" : " ");
3146 if (ret < 0 || ret >= end - pos)
3147 return pos - buf;
3148 pos += ret;
3151 return pos - buf;
3160 char *pos, *end;
3163 pos = buf;
3164 end = pos + buflen;
3176 ret = os_snprintf(pos, end - pos, "%sOPEN",
3177 pos == buf ? "" : " ");
3178 if (ret < 0 || ret >= end - pos)
3179 return pos - buf;
3180 pos += ret;
3184 ret = os_snprintf(pos, end - pos, "%sSHARED",
3185 pos == buf ? "" : " ");
3186 if (ret < 0 || ret >= end - pos)
3187 return pos - buf;
3188 pos += ret;
3192 ret = os_snprintf(pos, end - pos, "%sLEAP",
3193 pos == buf ? "" : " ");
3194 if (ret < 0 || ret >= end - pos)
3195 return pos - buf;
3196 pos += ret;
3199 return pos - buf;
3208 char *pos, *end;
3211 pos = buf;
3212 end = pos + buflen;
3224 ret = os_snprintf(pos, end - pos, "%sIBSS",
3225 pos == buf ? "" : " ");
3226 if (ret < 0 || ret >= end - pos)
3227 return pos - buf;
3228 pos += ret;
3232 ret = os_snprintf(pos, end - pos, "%sAP",
3233 pos == buf ? "" : " ");
3234 if (ret < 0 || ret >= end - pos)
3235 return pos - buf;
3236 pos += ret;
3239 return pos - buf;
3248 char *pos, *end, *hmode;
3250 pos = buf;
3251 end = pos + buflen;
3270 ret = os_snprintf(pos, end - pos, "Mode[%s] Channels:", hmode);
3271 if (ret < 0 || ret >= end - pos)
3272 return pos - buf;
3273 pos += ret;
3278 ret = os_snprintf(pos, end - pos, " %d", chnl[i].chan);
3279 if (ret < 0 || ret >= end - pos)
3280 return pos - buf;
3281 pos += ret;
3283 ret = os_snprintf(pos, end - pos, "\n");
3284 if (ret < 0 || ret >= end - pos)
3285 return pos - buf;
3286 pos += ret;
3289 return pos - buf;
3298 char *pos, *end, *hmode;
3300 pos = buf;
3301 end = pos + buflen;
3320 ret = os_snprintf(pos, end - pos, "Mode[%s] Channels:\n",
3322 if (ret < 0 || ret >= end - pos)
3323 return pos - buf;
3324 pos += ret;
3329 ret = os_snprintf(pos, end - pos, " %d = %d MHz%s%s\n",
3336 if (ret < 0 || ret >= end - pos)
3337 return pos - buf;
3338 pos += ret;
3340 ret = os_snprintf(pos, end - pos, "\n");
3341 if (ret < 0 || ret >= end - pos)
3342 return pos - buf;
3343 pos += ret;
3346 return pos - buf;
3423 static char * anqp_add_hex(char *pos, char *end, const char *title,
3426 char *start = pos;
3434 ret = os_snprintf(pos, end - pos, "%s=", title);
3435 if (ret < 0 || ret >= end - pos)
3437 pos += ret;
3441 ret = os_snprintf(pos, end - pos, "%02x", *d++);
3442 if (ret < 0 || ret >= end - pos)
3444 pos += ret;
3447 ret = os_snprintf(pos, end - pos, "\n");
3448 if (ret < 0 || ret >= end - pos)
3450 pos += ret;
3452 return pos;
3462 char *pos, *end;
3465 pos = buf;
3469 ret = os_snprintf(pos, end - pos, "id=%u\n", bss->id);
3470 if (ret < 0 || ret >= end - pos)
3472 pos += ret;
3476 ret = os_snprintf(pos, end - pos, "bssid=" MACSTR "\n",
3478 if (ret < 0 || ret >= end - pos)
3480 pos += ret;
3484 ret = os_snprintf(pos, end - pos, "freq=%d\n", bss->freq);
3485 if (ret < 0 || ret >= end - pos)
3487 pos += ret;
3491 ret = os_snprintf(pos, end - pos, "beacon_int=%d\n",
3493 if (ret < 0 || ret >= end - pos)
3495 pos += ret;
3499 ret = os_snprintf(pos, end - pos, "capabilities=0x%04x\n",
3501 if (ret < 0 || ret >= end - pos)
3503 pos += ret;
3507 ret = os_snprintf(pos, end - pos, "qual=%d\n", bss->qual);
3508 if (ret < 0 || ret >= end - pos)
3510 pos += ret;
3514 ret = os_snprintf(pos, end - pos, "noise=%d\n", bss->noise);
3515 if (ret < 0 || ret >= end - pos)
3517 pos += ret;
3521 ret = os_snprintf(pos, end - pos, "level=%d\n", bss->level);
3522 if (ret < 0 || ret >= end - pos)
3524 pos += ret;
3528 ret = os_snprintf(pos, end - pos, "tsf=%016llu\n",
3530 if (ret < 0 || ret >= end - pos)
3532 pos += ret;
3539 ret = os_snprintf(pos, end - pos, "age=%d\n",
3541 if (ret < 0 || ret >= end - pos)
3543 pos += ret;
3547 ret = os_snprintf(pos, end - pos, "ie=");
3548 if (ret < 0 || ret >= end - pos)
3550 pos += ret;
3554 ret = os_snprintf(pos, end - pos, "%02x", *ie++);
3555 if (ret < 0 || ret >= end - pos)
3557 pos += ret;
3560 ret = os_snprintf(pos, end - pos, "\n");
3561 if (ret < 0 || ret >= end - pos)
3563 pos += ret;
3567 ret = os_snprintf(pos, end - pos, "flags=");
3568 if (ret < 0 || ret >= end - pos)
3570 pos += ret;
3574 pos = wpa_supplicant_ie_txt(pos, end, "WPA", ie,
3578 pos = wpa_supplicant_ie_txt(pos, end, "WPA2", ie2,
3580 pos = wpa_supplicant_wps_ie_txt(wpa_s, pos, end, bss);
3582 ret = os_snprintf(pos, end - pos, "[WEP]");
3583 if (ret < 0 || ret >= end - pos)
3585 pos += ret;
3589 ret = os_snprintf(pos, end - pos, "[DMG]");
3590 if (ret < 0 || ret >= end - pos)
3592 pos += ret;
3607 ret = os_snprintf(pos, end - pos, "%s", s);
3608 if (ret < 0 || ret >= end - pos)
3610 pos += ret;
3613 ret = os_snprintf(pos, end - pos, "[IBSS]");
3614 if (ret < 0 || ret >= end - pos)
3616 pos += ret;
3619 ret = os_snprintf(pos, end - pos, "[ESS]");
3620 if (ret < 0 || ret >= end - pos)
3622 pos += ret;
3627 ret = os_snprintf(pos, end - pos, "[P2P]");
3628 if (ret < 0 || ret >= end - pos)
3630 pos += ret;
3634 ret = os_snprintf(pos, end - pos, "[HS20]");
3635 if (ret < 0 || ret >= end - pos)
3637 pos += ret;
3641 ret = os_snprintf(pos, end - pos, "\n");
3642 if (ret < 0 || ret >= end - pos)
3644 pos += ret;
3648 ret = os_snprintf(pos, end - pos, "ssid=%s\n",
3650 if (ret < 0 || ret >= end - pos)
3652 pos += ret;
3658 ret = wpas_wps_scan_result_text(ie, bss->ie_len, pos, end);
3659 if (ret < 0 || ret >= end - pos)
3661 pos += ret;
3668 ret = wpas_p2p_scan_result_text(ie, bss->ie_len, pos, end);
3669 if (ret < 0 || ret >= end - pos)
3671 pos += ret;
3682 ret = os_snprintf(pos, end - pos, "wfd_subelems=");
3683 if (ret < 0 || ret >= end - pos) {
3687 pos += ret;
3689 pos += wpa_snprintf_hex(pos, end - pos,
3694 ret = os_snprintf(pos, end - pos, "\n");
3695 if (ret < 0 || ret >= end - pos)
3697 pos += ret;
3705 pos = anqp_add_hex(pos, end, "anqp_venue_name",
3707 pos = anqp_add_hex(pos, end, "anqp_network_auth_type",
3709 pos = anqp_add_hex(pos, end, "anqp_roaming_consortium",
3711 pos = anqp_add_hex(pos, end, "anqp_ip_addr_type_availability",
3713 pos = anqp_add_hex(pos, end, "anqp_nai_realm",
3715 pos = anqp_add_hex(pos, end, "anqp_3gpp", anqp->anqp_3gpp);
3716 pos = anqp_add_hex(pos, end, "anqp_domain_name",
3719 pos = anqp_add_hex(pos, end, "hs20_operator_friendly_name",
3721 pos = anqp_add_hex(pos, end, "hs20_wan_metrics",
3723 pos = anqp_add_hex(pos, end, "hs20_connection_capability",
3725 pos = anqp_add_hex(pos, end, "hs20_operating_class",
3727 pos = anqp_add_hex(pos, end, "hs20_osu_providers_list",
3734 ret = os_snprintf(pos, end - pos, "====\n");
3735 if (ret < 0 || ret >= end - pos)
3737 pos += ret;
3740 return pos - buf;
3999 char *pos;
4012 pos = os_strstr(cmd, "dev_id=");
4013 if (pos) {
4014 pos += 7;
4015 if (hwaddr_aton(pos, dev_id))
4020 pos = os_strstr(cmd, "dev_type=");
4021 if (pos) {
4022 pos += 9;
4023 if (wps_dev_type_str2bin(pos, dev_type) < 0)
4028 pos = os_strstr(cmd, "delay=");
4029 if (pos) {
4030 pos += 6;
4031 search_delay = atoi(pos);
4044 char *pos, *pos2;
4066 pos = cmd + 17;
4067 if (*pos != ' ')
4069 pos++;
4071 persistent_group = os_strstr(pos, " persistent") != NULL;
4072 pos2 = os_strstr(pos, " persistent=");
4085 join = os_strstr(pos, " join") != NULL;
4086 auth = os_strstr(pos, " auth") != NULL;
4087 automatic = os_strstr(pos, " auto") != NULL;
4088 pd = os_strstr(pos, " provdisc") != NULL;
4093 pos2 = os_strstr(pos, " go_intent=");
4101 pos2 = os_strstr(pos, " freq=");
4109 if (os_strncmp(pos, "pin", 3) == 0) {
4112 } else if (os_strncmp(pos, "pbc", 3) == 0) {
4115 pin = pos;
4116 pos = os_strchr(pin, ' ');
4118 if (pos) {
4119 *pos++ = '\0';
4120 if (os_strncmp(pos, "display", 7) == 0)
4170 char *pos;
4178 pos = cmd + 17;
4179 if (*pos != ' ')
4181 pos++;
4183 if (os_strstr(pos, " join") != NULL)
4185 else if (os_strstr(pos, " auto") != NULL)
4188 return wpas_p2p_prov_disc(wpa_s, addr, pos, use);
4213 char *pos;
4222 pos = cmd + 17;
4223 if (*pos != ' ')
4225 pos++;
4227 if (os_strncmp(pos, "upnp ", 5) == 0) {
4229 pos += 5;
4230 if (hexstr2bin(pos, &version, 1) < 0)
4232 pos += 2;
4233 if (*pos != ' ')
4235 pos++;
4236 ref = wpas_p2p_sd_request_upnp(wpa_s, dst, version, pos);
4238 } else if (os_strncmp(pos, "wifi-display ", 13) == 0) {
4239 ref = wpas_p2p_sd_request_wifi_display(wpa_s, dst, pos + 13);
4242 len = os_strlen(pos);
4249 if (hexstr2bin(pos, wpabuf_put(tlvs, len), len) < 0) {
4284 char *pos, *pos2;
4287 pos = os_strchr(cmd, ' ');
4288 if (pos == NULL)
4290 *pos++ = '\0';
4295 if (hwaddr_aton(pos, dst))
4297 pos += 17;
4298 if (*pos != ' ')
4300 pos++;
4302 pos2 = os_strchr(pos, ' ');
4306 dialog_token = atoi(pos);
4339 char *pos;
4343 pos = os_strchr(cmd, ' ');
4344 if (pos == NULL)
4346 *pos++ = '\0';
4360 len = os_strlen(pos);
4371 if (hexstr2bin(pos, wpabuf_put(resp, len), len) < 0) {
4388 char *pos;
4391 pos = os_strchr(cmd, ' ');
4392 if (pos == NULL)
4394 *pos++ = '\0';
4399 return wpas_p2p_service_add_upnp(wpa_s, version, pos);
4405 char *pos;
4407 pos = os_strchr(cmd, ' ');
4408 if (pos == NULL)
4410 *pos++ = '\0';
4413 return p2p_ctrl_service_add_bonjour(wpa_s, pos);
4415 return p2p_ctrl_service_add_upnp(wpa_s, pos);
4448 char *pos;
4451 pos = os_strchr(cmd, ' ');
4452 if (pos == NULL)
4454 *pos++ = '\0';
4459 return wpas_p2p_service_del_upnp(wpa_s, version, pos);
4465 char *pos;
4467 pos = os_strchr(cmd, ' ');
4468 if (pos == NULL)
4470 *pos++ = '\0';
4473 return p2p_ctrl_service_del_bonjour(wpa_s, pos);
4475 return p2p_ctrl_service_del_upnp(wpa_s, pos);
4496 char *pos;
4504 pos = os_strstr(cmd, " peer=");
4505 if (pos) {
4506 pos += 6;
4507 if (hwaddr_aton(pos, peer))
4519 pos = os_strstr(cmd, " freq=");
4520 if (pos) {
4521 pos += 6;
4522 freq = atoi(pos);
4527 pos = os_strstr(cmd, " pref=");
4528 if (pos) {
4529 pos += 6;
4530 pref_freq = atoi(pos);
4546 char *pos;
4549 pos = os_strstr(cmd, " peer=");
4550 if (!pos)
4553 *pos = '\0';
4554 pos += 6;
4555 if (hwaddr_aton(pos, peer)) {
4556 wpa_printf(MSG_DEBUG, "P2P: Invalid MAC address '%s'", pos);
4560 pos = os_strstr(pos, " go_dev_addr=");
4561 if (pos) {
4562 pos += 13;
4563 if (hwaddr_aton(pos, go_dev_addr)) {
4565 pos);
4610 char *pos;
4612 pos = os_strstr(cmd, "freq=");
4613 if (pos)
4614 freq = atoi(pos + 5);
4643 char *pos, *end;
4670 pos = buf;
4673 res = os_snprintf(pos, end - pos, MACSTR "\n"
4696 if (res < 0 || res >= end - pos)
4697 return pos - buf;
4698 pos += res;
4704 res = os_snprintf(pos, end - pos, "sec_dev_type=%s\n",
4707 if (res < 0 || res >= end - pos)
4708 return pos - buf;
4709 pos += res;
4714 res = os_snprintf(pos, end - pos, "persistent=%d\n", ssid->id);
4715 if (res < 0 || res >= end - pos)
4716 return pos - buf;
4717 pos += res;
4720 res = p2p_get_peer_info_txt(info, pos, end - pos);
4722 return pos - buf;
4723 pos += res;
4726 res = os_snprintf(pos, end - pos, "vendor_elems=");
4727 if (res < 0 || res >= end - pos)
4728 return pos - buf;
4729 pos += res;
4731 pos += wpa_snprintf_hex(pos, end - pos,
4735 res = os_snprintf(pos, end - pos, "\n");
4736 if (res < 0 || res >= end - pos)
4737 return pos - buf;
4738 pos += res;
4741 return pos - buf;
4802 char *pos;
4806 pos = os_strchr(param, ',');
4807 if (pos == NULL)
4809 pos++;
4810 start = atoi(pos);
4811 pos = os_strchr(pos, ',');
4812 if (pos == NULL)
4814 pos++;
4815 duration = atoi(pos);
4892 char *pos;
4895 pos = os_strchr(param, ',');
4896 if (pos == NULL)
4898 pos++;
4899 bk = atoi(pos);
4900 pos = os_strchr(pos, ',');
4901 if (pos == NULL)
4903 pos++;
4904 vi = atoi(pos);
4905 pos = os_strchr(pos, ',');
4906 if (pos == NULL)
4908 pos++;
4909 vo = atoi(pos);
4931 char *pos;
4933 pos = param;
4935 min_disc_int = atoi(pos);
4936 pos = os_strchr(pos, ' ');
4937 if (pos == NULL)
4939 *pos++ = '\0';
4941 max_disc_int = atoi(pos);
4942 pos = os_strchr(pos, ' ');
4943 if (pos == NULL)
4945 *pos++ = '\0';
4947 max_disc_tu = atoi(pos);
4986 char *pos, *pos2;
4990 pos = os_strchr(cmd, ' ');
4991 if (pos == NULL)
4993 *pos++ = '\0';
4996 pos2 = os_strchr(pos, ' ');
4999 int1 = atoi(pos);
5004 pos = os_strchr(pos2, ' ');
5005 if (pos == NULL)
5007 *pos++ = '\0';
5009 int2 = atoi(pos);
5018 char *pos;
5022 pos = os_strchr(cmd, ' ');
5023 if (pos == NULL)
5025 *pos++ = '\0';
5027 interval = atoi(pos);
5036 const char *pos;
5040 pos = cmd;
5041 if (os_strncmp(pos, "iface=", 6) == 0) {
5043 pos += 6;
5045 if (hwaddr_aton(pos, peer))
5100 char *pos;
5104 pos = os_strstr(param, "freq=");
5105 if (pos) {
5106 freqs = freq_range_to_channel_list(wpa_s, pos + 5);
5142 char *pos;
5151 pos = dst + used;
5153 if (os_strncmp(pos, "hs20:", 5) == 0) {
5155 int num = atoi(pos + 5);
5163 id[num_id] = atoi(pos);
5167 pos = os_strchr(pos + 1, ',');
5168 if (pos == NULL)
5170 pos++;
5185 char *pos, *end;
5192 pos = cmd + used;
5193 while (*pos == ' ')
5194 pos++;
5197 end = os_strchr(pos, ' ');
5199 len = end - pos;
5201 len = os_strlen(pos);
5210 if (hexstr2bin(pos, wpabuf_put(advproto, len), len) < 0)
5215 pos = end + 1;
5216 while (*pos == ' ')
5217 pos++;
5219 len = os_strlen(pos);
5229 if (hexstr2bin(pos, wpabuf_put(query, len), len) < 0)
5250 char *pos;
5259 pos = cmd + used;
5260 while (*pos == ' ')
5261 pos++;
5262 dialog_token = atoi(pos);
5279 pos = os_strchr(pos, ' ');
5280 if (pos) {
5281 start = atoi(pos);
5284 pos = os_strchr(pos, ',');
5285 if (pos == NULL)
5287 pos++;
5288 requested_len = atoi(pos);
5324 char *pos;
5330 pos = dst + used;
5332 int num = atoi(pos);
5336 pos = os_strchr(pos + 1, ',');
5337 if (pos == NULL)
5339 pos++;
5487 char *pos;
5498 pos = os_strstr(cmd, " interval=");
5499 if (pos)
5500 intval = atoi(pos + 10);
5502 pos = os_strstr(cmd, " tfs_req=");
5503 if (pos) {
5506 pos += 9;
5507 end = os_strchr(pos, ' ');
5509 len = end - pos;
5511 len = os_strlen(pos);
5518 if (hexstr2bin(pos, wpabuf_put(tfs_req, len), len) < 0) {
5575 char *pos, *end;
5581 pos = buf;
5584 ret = os_snprintf(pos, end - pos, "RSSI=%d\nLINKSPEED=%d\n"
5588 if (ret < 0 || ret > end - pos)
5590 pos += ret;
5593 ret = os_snprintf(pos, end - pos, "WIDTH=%s\n",
5595 if (ret < 0 || ret > end - pos)
5597 pos += ret;
5601 ret = os_snprintf(pos, end - pos,
5604 if (ret < 0 || ret > end - pos)
5606 pos += ret;
5610 ret = os_snprintf(pos, end - pos,
5612 if (ret < 0 || ret >= end - pos)
5614 pos += ret;
5617 return pos - buf;
5668 char *pos;
5675 vendor_id = strtoul(cmd, &pos, 16);
5676 if (!isblank(*pos))
5679 subcmd = strtoul(pos, &pos, 10);
5681 if (*pos != '\0') {
5682 if (!isblank(*pos++))
5684 data_len = os_strlen(pos);
5693 if (hexstr2bin(pos, data, data_len)) {
5807 char *pos, *end;
5810 pos = buf;
5820 ret = os_snprintf(pos, end - pos, "%s@%s:%u:%u:%ld.%06ld\n",
5823 if (ret < 0 || ret >= end - pos)
5825 pos += ret;
5828 return pos - buf;
5873 char *pos, *pos2;
5884 pos = os_strchr(cmd, ' ');
5885 if (pos) {
5886 type_len = pos - cmd;
5887 pos++;
5889 pos2 = os_strstr(pos, "freq=");
5893 pos2 = os_strstr(pos, "timeout=");
6014 const char *pos = value;
6016 while (pos) {
6017 if (*pos == ' ' || *pos == '\0')
6021 wpa_s->scan_id[wpa_s->scan_id_count++] = atoi(pos);
6022 pos = os_strchr(pos, ',');
6023 if (pos)
6024 pos++;
6034 char *pos;
6050 pos = os_strstr(params, "freq=");
6051 if (pos && set_scan_freqs(wpa_s, pos + 5) < 0) {
6056 pos = os_strstr(params, "passive=");
6057 if (pos)
6058 wpa_s->manual_scan_passive = !!atoi(pos + 8);
6060 pos = os_strstr(params, "use_id=");
6061 if (pos)
6062 wpa_s->manual_scan_use_id = atoi(pos + 7);
6064 pos = os_strstr(params, "only_new=1");
6065 if (pos)
6068 pos = os_strstr(params, "scan_id=");
6069 if (pos && scan_id_list_parse(wpa_s, pos + 8) < 0) {
6134 char *pos, *param;
6145 pos = cmd;
6146 used = hwaddr_aton2(pos, da);
6149 pos += used;
6150 while (*pos == ' ')
6151 pos++;
6152 used = hwaddr_aton2(pos, bssid);
6155 pos += used;
6157 param = os_strstr(pos, " freq=");
6163 param = os_strstr(pos, " no_cck=");
6169 param = os_strstr(pos, " wait_time=");
6175 param = os_strstr(pos, " action=");
6211 char *pos, *param;
6219 pos = cmd;
6220 param = os_strchr(pos, ' ');
6304 char *pos = cmd;
6310 frame = atoi(pos);
6315 pos = os_strchr(pos, ' ');
6316 if (pos == NULL)
6318 pos++;
6320 len = os_strlen(pos);
6331 if (hexstr2bin(pos, wpabuf_put(buf, len), len) < 0) {
6381 char *pos = cmd;
6388 frame = atoi(pos);
6393 pos = os_strchr(pos, ' ');
6394 if (pos == NULL)
6396 pos++;
6398 if (*pos == '*') {
6408 len = os_strlen(pos);
6419 if (hexstr2bin(pos, buf, len) < 0) {
7050 char *pos;
7061 iface.ifname = pos = cmd;
7062 pos = os_strchr(pos, '\t');
7063 if (pos)
7064 *pos++ = '\0';
7067 if (pos == NULL)
7070 iface.confname = pos;
7071 pos = os_strchr(pos, '\t');
7072 if (pos)
7073 *pos++ = '\0';
7076 if (pos == NULL)
7079 iface.driver = pos;
7080 pos = os_strchr(pos, '\t');
7081 if (pos)
7082 *pos++ = '\0';
7085 if (pos == NULL)
7088 iface.ctrl_interface = pos;
7089 pos = os_strchr(pos, '\t');
7090 if (pos)
7091 *pos++ = '\0';
7094 if (pos == NULL)
7097 iface.driver_param = pos;
7098 pos = os_strchr(pos, '\t');
7099 if (pos)
7100 *pos++ = '\0';
7103 if (pos == NULL)
7106 iface.bridge_ifname = pos;
7107 pos = os_strchr(pos, '\t');
7108 if (pos)
7109 *pos++ = '\0';
7112 if (pos == NULL)
7157 char *pos, *end;
7175 pos = buf;
7178 res = os_snprintf(pos, end - pos, "%s\t%s\t%s\n",
7181 if (res < 0 || res >= end - pos) {
7182 *pos = '\0';
7185 pos += res;
7190 return pos - buf;
7198 char *pos, *end;
7202 pos = buf;
7206 res = os_snprintf(pos, end - pos, "%s\n", wpa_s->ifname);
7207 if (res < 0 || res >= end - pos) {
7208 *pos = '\0';
7211 pos += res;
7214 return pos - buf;
7408 char *pos, *end;
7412 pos = buf;
7417 ret = os_snprintf(pos, end - pos, "p2p_device_address=" MACSTR
7422 if (ret < 0 || ret >= end - pos)
7423 return pos - buf;
7424 pos += ret;
7426 ret = os_snprintf(pos, end - pos, "p2p_state=DISABLED\n");
7427 if (ret < 0 || ret >= end - pos)
7428 return pos - buf;
7429 pos += ret;
7434 ret = os_snprintf(pos, end - pos, "wifi_display=%d\n",
7436 if (ret < 0 || ret >= end - pos)
7437 return pos - buf;
7438 pos += ret;
7442 ret = os_snprintf(pos, end - pos, "ifname=%s\n"
7445 if (ret < 0 || ret >= end - pos)
7446 return pos - buf;
7447 pos += ret;
7450 return pos - buf;
7463 char *pos = os_strchr(buf + 7, ' ');
7464 if (pos) {
7465 *pos++ = '\0';
7467 buf + 7, pos,