Lines Matching refs:sta

54 static int hostapd_get_sta_conn_time(struct sta_info *sta,  in hostapd_get_sta_conn_time()  argument
62 if (sta->connected_time.sec) { in hostapd_get_sta_conn_time()
64 os_reltime_age(&sta->connected_time, &age); in hostapd_get_sta_conn_time()
81 struct sta_info *sta, in hostapd_get_sta_info() argument
88 if (hostapd_drv_read_sta_data(hapd, &data, sta->addr) < 0) in hostapd_get_sta_info()
165 if ((sta->flags & WLAN_STA_VHT) && sta->vht_capabilities) { in hostapd_get_sta_info()
169 le_to_host16(sta->vht_capabilities-> in hostapd_get_sta_info()
171 le_to_host16(sta->vht_capabilities-> in hostapd_get_sta_info()
177 if ((sta->flags & WLAN_STA_HT) && sta->ht_capabilities) { in hostapd_get_sta_info()
179 sta->ht_capabilities-> in hostapd_get_sta_info()
190 len += hostapd_get_sta_conn_time(sta, &data, buf + len, buflen - len); in hostapd_get_sta_info()
236 struct sta_info *sta, in hostapd_ctrl_iface_sta_mib() argument
243 if (!sta) in hostapd_ctrl_iface_sta_mib()
248 MAC2STR(sta->addr)); in hostapd_ctrl_iface_sta_mib()
253 ret = ap_sta_flags_txt(sta->flags, buf + len, buflen - len); in hostapd_ctrl_iface_sta_mib()
260 sta->aid, sta->capability, sta->listen_interval); in hostapd_ctrl_iface_sta_mib()
265 for (i = 0; i < sta->supported_rates_len; i++) { in hostapd_ctrl_iface_sta_mib()
267 sta->supported_rates[i], in hostapd_ctrl_iface_sta_mib()
268 i + 1 < sta->supported_rates_len ? " " : ""); in hostapd_ctrl_iface_sta_mib()
275 timeout_next_str(sta->timeout_next)); in hostapd_ctrl_iface_sta_mib()
280 if (sta->max_idle_period) { in hostapd_ctrl_iface_sta_mib()
282 "max_idle_period=%d\n", sta->max_idle_period); in hostapd_ctrl_iface_sta_mib()
288 res = ieee802_11_get_mib_sta(hapd, sta, buf + len, buflen - len); in hostapd_ctrl_iface_sta_mib()
291 res = wpa_get_mib_sta(sta->wpa_sm, buf + len, buflen - len); in hostapd_ctrl_iface_sta_mib()
294 res = ieee802_1x_get_mib_sta(hapd, sta, buf + len, buflen - len); in hostapd_ctrl_iface_sta_mib()
297 res = hostapd_wps_get_mib_sta(hapd, sta->addr, buf + len, in hostapd_ctrl_iface_sta_mib()
301 res = hostapd_p2p_get_mib_sta(hapd, sta, buf + len, buflen - len); in hostapd_ctrl_iface_sta_mib()
305 len += hostapd_get_sta_info(hapd, sta, buf + len, buflen - len); in hostapd_ctrl_iface_sta_mib()
308 if (sta->sae && sta->sae->state == SAE_ACCEPTED) { in hostapd_ctrl_iface_sta_mib()
310 sta->sae->group); in hostapd_ctrl_iface_sta_mib()
315 if (sta->sae && sta->sae->tmp) { in hostapd_ctrl_iface_sta_mib()
318 struct wpabuf *groups = sta->sae->tmp->peer_rejected_groups; in hostapd_ctrl_iface_sta_mib()
346 if (sta->vlan_id > 0) { in hostapd_ctrl_iface_sta_mib()
348 sta->vlan_id); in hostapd_ctrl_iface_sta_mib()
353 res = mbo_ap_get_info(sta, buf + len, buflen - len); in hostapd_ctrl_iface_sta_mib()
357 if (sta->supp_op_classes && in hostapd_ctrl_iface_sta_mib()
358 buflen - len > (unsigned) (17 + 2 * sta->supp_op_classes[0])) { in hostapd_ctrl_iface_sta_mib()
363 sta->supp_op_classes + 1, in hostapd_ctrl_iface_sta_mib()
364 sta->supp_op_classes[0]); in hostapd_ctrl_iface_sta_mib()
370 if (sta->power_capab) { in hostapd_ctrl_iface_sta_mib()
374 sta->min_tx_power, sta->max_tx_power); in hostapd_ctrl_iface_sta_mib()
380 if ((sta->flags & WLAN_STA_HE) && sta->he_capab) { in hostapd_ctrl_iface_sta_mib()
385 (const u8 *) sta->he_capab, in hostapd_ctrl_iface_sta_mib()
386 sta->he_capab_len); in hostapd_ctrl_iface_sta_mib()
394 if ((sta->flags & WLAN_STA_EHT) && sta->eht_capab) { in hostapd_ctrl_iface_sta_mib()
399 (const u8 *) sta->eht_capab, in hostapd_ctrl_iface_sta_mib()
400 sta->eht_capab_len); in hostapd_ctrl_iface_sta_mib()
408 if ((sta->flags & WLAN_STA_VHT) && sta->vht_capabilities) { in hostapd_ctrl_iface_sta_mib()
411 le_to_host32(sta->vht_capabilities-> in hostapd_ctrl_iface_sta_mib()
420 (const u8 *) sta->vht_capabilities, in hostapd_ctrl_iface_sta_mib()
421 sizeof(*sta->vht_capabilities)); in hostapd_ctrl_iface_sta_mib()
428 if ((sta->flags & WLAN_STA_HT) && sta->ht_capabilities) { in hostapd_ctrl_iface_sta_mib()
431 le_to_host16(sta->ht_capabilities-> in hostapd_ctrl_iface_sta_mib()
437 if (sta->ext_capability && in hostapd_ctrl_iface_sta_mib()
438 buflen - len > (unsigned) (11 + 2 * sta->ext_capability[0])) { in hostapd_ctrl_iface_sta_mib()
443 sta->ext_capability + 1, in hostapd_ctrl_iface_sta_mib()
444 sta->ext_capability[0]); in hostapd_ctrl_iface_sta_mib()
450 if (sta->flags & WLAN_STA_WDS && sta->ifname_wds) { in hostapd_ctrl_iface_sta_mib()
452 "wds_sta_ifname=%s\n", sta->ifname_wds); in hostapd_ctrl_iface_sta_mib()
457 keyid = ap_sta_wpa_get_keyid(hapd, sta); in hostapd_ctrl_iface_sta_mib()
464 dpp_pkhash = ap_sta_wpa_get_dpp_pkhash(hapd, sta); in hostapd_ctrl_iface_sta_mib()
477 if (sta->mld_info.mld_sta) { in hostapd_ctrl_iface_sta_mib()
479 if (!sta->mld_info.links[i].valid) in hostapd_ctrl_iface_sta_mib()
484 i, MAC2STR(sta->mld_info.links[i].peer_addr)); in hostapd_ctrl_iface_sta_mib()
508 struct sta_info *sta; in hostapd_ctrl_iface_sta() local
517 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_sta()
518 if (sta == NULL) in hostapd_ctrl_iface_sta()
527 if (sta->eapol_sm == NULL) in hostapd_ctrl_iface_sta()
529 return eapol_auth_dump_state(sta->eapol_sm, buf, in hostapd_ctrl_iface_sta()
537 ret = hostapd_ctrl_iface_sta_mib(hapd, sta, buf, buflen); in hostapd_ctrl_iface_sta()
548 struct sta_info *sta; in hostapd_ctrl_iface_sta_next() local
552 (sta = ap_get_sta(hapd, addr)) == NULL) { in hostapd_ctrl_iface_sta_next()
559 if (!sta->next) in hostapd_ctrl_iface_sta_next()
562 return hostapd_ctrl_iface_sta_mib(hapd, sta->next, buf, buflen); in hostapd_ctrl_iface_sta_next()
620 struct sta_info *sta; in hostapd_ctrl_iface_deauthenticate() local
668 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_deauthenticate()
669 if (sta) in hostapd_ctrl_iface_deauthenticate()
670 ap_sta_deauthenticate(hapd, sta, reason); in hostapd_ctrl_iface_deauthenticate()
682 struct sta_info *sta; in hostapd_ctrl_iface_disassociate() local
730 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_disassociate()
731 if (sta) in hostapd_ctrl_iface_disassociate()
732 ap_sta_disassociate(hapd, sta, reason); in hostapd_ctrl_iface_disassociate()
746 struct sta_info *sta; in hostapd_ctrl_iface_signature() local
753 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_signature()
754 if (!sta) in hostapd_ctrl_iface_signature()
757 return retrieve_sta_taxonomy(hapd, sta, buf, buflen); in hostapd_ctrl_iface_signature()
766 struct sta_info *sta; in hostapd_ctrl_iface_poll_sta() local
773 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_poll_sta()
774 if (!sta) in hostapd_ctrl_iface_poll_sta()
778 sta->flags & WLAN_STA_WMM); in hostapd_ctrl_iface_poll_sta()
1282 struct sta_info *sta; in hostapd_ctrl_iface_disassoc_imminent() local
1290 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_disassoc_imminent()
1291 if (sta == NULL) { in hostapd_ctrl_iface_disassoc_imminent()
1298 return wnm_send_disassoc_imminent(hapd, sta, disassoc_timer); in hostapd_ctrl_iface_disassoc_imminent()
1308 struct sta_info *sta; in hostapd_ctrl_iface_ess_disassoc() local
1313 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_ess_disassoc()
1314 if (sta == NULL) { in hostapd_ctrl_iface_ess_disassoc()
1334 return wnm_send_ess_disassoc_imminent(hapd, sta, url, disassoc_timer); in hostapd_ctrl_iface_ess_disassoc()
1344 struct sta_info *sta; in hostapd_ctrl_iface_bss_tm_req() local
1359 sta = ap_get_sta(hapd, addr); in hostapd_ctrl_iface_bss_tm_req()
1360 if (sta == NULL) { in hostapd_ctrl_iface_bss_tm_req()
1496 ret = wnm_send_bss_tm_req(hapd, sta, req_mode, disassoc_timer, in hostapd_ctrl_iface_bss_tm_req()
1586 struct sta_info *sta; in hostapd_disassoc_accept_mac() local
1592 for (sta = hapd->sta_list; sta; sta = sta->next) { in hostapd_disassoc_accept_mac()
1595 sta->addr, &vlan_id) || in hostapd_disassoc_accept_mac()
1597 vlan_compare(&vlan_id, sta->vlan_desc))) in hostapd_disassoc_accept_mac()
1598 ap_sta_disconnect(hapd, sta, sta->addr, in hostapd_disassoc_accept_mac()
1608 struct sta_info *sta; in hostapd_disassoc_deny_mac() local
1611 for (sta = hapd->sta_list; sta; sta = sta->next) { in hostapd_disassoc_deny_mac()
1613 hapd->conf->num_deny_mac, sta->addr, in hostapd_disassoc_deny_mac()
1616 !vlan_compare(&vlan_id, sta->vlan_desc))) in hostapd_disassoc_deny_mac()
1617 ap_sta_disconnect(hapd, sta, sta->addr, in hostapd_disassoc_deny_mac()