Lines Matching refs:vap

124 ieee80211_swscan_vattach(struct ieee80211vap *vap)
128 * TODO: all of the vap scan calls should be methods!
134 ieee80211_swscan_vdetach(struct ieee80211vap *vap)
136 struct ieee80211com *ic = vap->iv_ic;
141 if (ss != NULL && ss->ss_vap == vap &&
147 ieee80211_swscan_set_scan_duration(struct ieee80211vap *vap, u_int duration)
149 struct ieee80211com *ic = vap->iv_ic;
164 struct ieee80211vap *vap, int flags, u_int duration,
168 struct ieee80211com *ic = vap->iv_ic;
174 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
177 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
182 , ieee80211_phymode_name[vap->iv_des_mode]
191 ieee80211_scan_update_locked(vap, scan);
194 ieee80211_scan_copy_ssid(vap, ss, nssid, ssids);
199 vap->iv_stats.is_scan_active++;
201 vap->iv_stats.is_scan_passive++;
208 ieee80211_swscan_set_scan_duration(vap, duration);
214 ss->ss_ops->scan_start(ss, vap);
216 if (ieee80211_msg_scan(vap))
226 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
241 struct ieee80211vap *vap, int flags,
245 struct ieee80211com *ic = vap->iv_ic;
251 result = ieee80211_swscan_start_scan_locked(scan, vap, flags, duration,
268 struct ieee80211vap *vap, int flags,
272 struct ieee80211com *ic = vap->iv_ic;
279 /* XXX verify ss_ops matches vap->iv_opmode */
285 ieee80211_scan_copy_ssid(vap, ss, nssid, ssids);
290 ieee80211_time_before(ticks, ic->ic_lastscan + vap->iv_scanvalid)) {
304 result = ss->ss_ops->scan_end(ss, vap);
309 ieee80211_notify_scan_done(vap);
314 result = ieee80211_swscan_start_scan_locked(scan, vap, flags, duration,
326 struct ieee80211vap *vap, int flags)
328 struct ieee80211com *ic = vap->iv_ic;
345 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
350 ieee80211_scan_update_locked(vap, scan);
352 ss->ss_vap = vap;
374 vap->iv_stats.is_scan_active++;
376 vap->iv_stats.is_scan_passive++;
384 ss->ss_ops->scan_restart(ss, vap);
386 ss->ss_ops->scan_start(ss, vap);
388 if (ieee80211_msg_scan(vap))
393 ieee80211_swscan_set_scan_duration(vap, duration);
403 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
420 cancel_scan(struct ieee80211vap *vap, int any, const char *func)
422 struct ieee80211com *ic = vap->iv_ic;
427 (any || ss->ss_vap == vap) &&
429 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
439 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
440 "%s: called; F_SCAN=%d, vap=%s, CANCEL=%d\n",
443 (ss->ss_vap == vap ? "match" : "nomatch"),
450 * Cancel any scan currently going on for the specified vap.
453 ieee80211_swscan_cancel_scan(struct ieee80211vap *vap)
455 cancel_scan(vap, 0, __func__);
462 ieee80211_swscan_cancel_anyscan(struct ieee80211vap *vap)
466 if (vap->iv_flags_ext & IEEE80211_FEXT_SCAN_OFFLOAD)
469 cancel_scan(vap, 1, __func__);
478 ieee80211_swscan_scan_next(struct ieee80211vap *vap)
480 struct ieee80211_scan_state *ss = vap->iv_ic->ic_scan;
482 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN, "%s: called\n", __func__);
494 ieee80211_swscan_scan_done(struct ieee80211vap *vap)
496 struct ieee80211com *ic = vap->iv_ic;
512 ieee80211_swscan_probe_curchan(struct ieee80211vap *vap, int force)
514 struct ieee80211com *ic = vap->iv_ic;
516 struct ifnet *ifp = vap->iv_ifp;
522 if (vap->iv_flags_ext & IEEE80211_FEXT_SCAN_OFFLOAD)
528 * XXX remove dependence on ic/vap->iv_bss
531 ieee80211_send_probereq(vap->iv_bss,
532 vap->iv_myaddr, ifp->if_broadcastaddr,
536 ieee80211_send_probereq(vap->iv_bss,
537 vap->iv_myaddr, ifp->if_broadcastaddr,
550 struct ieee80211vap *vap = ss->ss_vap;
553 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
559 ieee80211_probe_curchan(vap, 0);
613 struct ieee80211vap *vap = ss->ss_vap;
617 if (vap == NULL || (ic->ic_flags & IEEE80211_F_SCAN) == 0 ||
625 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
637 if (((vap->iv_flags_ext & IEEE80211_FEXT_SCAN_OFFLOAD) == 0) &&
638 vap->iv_opmode == IEEE80211_M_STA &&
639 vap->iv_state == IEEE80211_S_RUN) {
640 if ((vap->iv_bss->ni_flags & IEEE80211_NODE_PWR_MGT) == 0) {
642 vap->iv_sta_ps(vap, 1);
644 mtx_sleep(vap, IEEE80211_LOCK_OBJ(ic), PCATCH,
763 struct ieee80211vap *vap = ss->ss_vap;
768 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN, "%s: out\n", __func__);
786 if_printf(vap->iv_ifp,
820 !ss->ss_ops->scan_end(ss, vap) &&
823 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
830 vap->iv_stats.is_scan_active++;
832 vap->iv_stats.is_scan_passive++;
834 ss->ss_ops->scan_restart(ss, vap); /* XXX? */
844 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
855 if_printf(vap->iv_ifp,
869 struct ieee80211vap *vap = ss->ss_vap;
895 if ((vap->iv_flags_ext & IEEE80211_FEXT_SCAN_OFFLOAD) == 0)
896 vap->iv_sta_ps(vap, 0);
900 ieee80211_notify_scan_done(vap);
913 ieee80211_swscan_add_scan(struct ieee80211vap *vap,
919 struct ieee80211com *ic = vap->iv_ic;
933 if (ieee80211_msg_scan(vap) && (ic->ic_flags & IEEE80211_F_SCAN))
944 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,