Lines Matching refs:sta
19 void mbo_ap_sta_free(struct sta_info *sta) in mbo_ap_sta_free() argument
23 info = sta->non_pref_chan; in mbo_ap_sta_free()
24 sta->non_pref_chan = NULL; in mbo_ap_sta_free()
33 static void mbo_ap_parse_non_pref_chan(struct sta_info *sta, in mbo_ap_parse_non_pref_chan() argument
54 if (!sta->non_pref_chan) { in mbo_ap_parse_non_pref_chan()
55 sta->non_pref_chan = info; in mbo_ap_parse_non_pref_chan()
57 tmp = sta->non_pref_chan; in mbo_ap_parse_non_pref_chan()
78 MAC2STR(sta->addr), info->op_class, info->pref, in mbo_ap_parse_non_pref_chan()
83 void mbo_ap_check_sta_assoc(struct hostapd_data *hapd, struct sta_info *sta, in mbo_ap_check_sta_assoc() argument
98 sta->cell_capa = attr[2]; in mbo_ap_check_sta_assoc()
100 mbo_ap_sta_free(sta); in mbo_ap_check_sta_assoc()
109 mbo_ap_parse_non_pref_chan(sta, pos + 2, ie_len); in mbo_ap_check_sta_assoc()
115 int mbo_ap_get_info(struct sta_info *sta, char *buf, size_t buflen) in mbo_ap_get_info() argument
123 if (!sta->cell_capa) in mbo_ap_get_info()
126 ret = os_snprintf(pos, end - pos, "mbo_cell_capa=%u\n", sta->cell_capa); in mbo_ap_get_info()
131 for (info = sta->non_pref_chan; info; info = info->next) { in mbo_ap_get_info()
168 static void mbo_ap_wnm_notif_req_cell_capa(struct sta_info *sta, in mbo_ap_wnm_notif_req_cell_capa() argument
175 MAC2STR(sta->addr), buf[0]); in mbo_ap_wnm_notif_req_cell_capa()
176 sta->cell_capa = buf[0]; in mbo_ap_wnm_notif_req_cell_capa()
180 static void mbo_ap_wnm_notif_req_elem(struct sta_info *sta, u8 type, in mbo_ap_wnm_notif_req_elem() argument
192 mbo_ap_sta_free(sta); in mbo_ap_wnm_notif_req_elem()
194 mbo_ap_parse_non_pref_chan(sta, buf, len); in mbo_ap_wnm_notif_req_elem()
197 mbo_ap_wnm_notif_req_cell_capa(sta, buf, len); in mbo_ap_wnm_notif_req_elem()
213 struct sta_info *sta; in mbo_ap_wnm_notification_req() local
219 sta = ap_get_sta(hapd, addr); in mbo_ap_wnm_notification_req()
220 if (!sta) in mbo_ap_wnm_notification_req()
234 mbo_ap_wnm_notif_req_elem(sta, pos[5], in mbo_ap_wnm_notification_req()