Lines Matching refs:scan
1972 struct ieee80211_frame *wh, struct ieee80211_scanparams *scan, int rssi,
1980 if ((ni = ieee80211_add_neighbor(ic, wh, scan)) == NULL)
1990 ieee80211_init_neighbor(ic, ni, wh, scan, 0);
1993 memcpy(ni->ni_tstamp.data, scan->sp_tstamp, sizeof(ni->ni_tstamp));
2010 * want to belong to, so start a scan.
2019 * No need to SCAN, we already belong to
2021 * SSID, etc. It could be harmful to scan,
2022 * too: if a scan does not detect nodes
2025 * the scan, needlessly splitting the
2071 struct ieee80211_scanparams scan;
2107 memset(&scan, 0, sizeof(scan));
2108 scan.sp_tstamp = frm; frm += 8;
2109 scan.sp_bintval = le16toh(*(u_int16_t *)frm); frm += 2;
2110 scan.sp_capinfo = le16toh(*(u_int16_t *)frm); frm += 2;
2111 scan.sp_bchan = ieee80211_chan2ieee(ic, ic->ic_curchan);
2112 scan.sp_chan = scan.sp_bchan;
2120 scan.sp_ssid = frm;
2124 scan.sp_rates = frm;
2128 scan.sp_country = frm;
2133 scan.sp_fhdwell = LE_READ_2(&frm[2]);
2134 scan.sp_chan = IEEE80211_FH_CHAN(frm[4], frm[5]);
2135 scan.sp_fhindex = frm[6];
2145 scan.sp_chan = frm[2];
2150 scan.sp_tim = frm;
2151 scan.sp_timoff = frm - mtod(m0, u_int8_t *);
2156 scan.sp_xrates = frm;
2165 scan.sp_erp = frm[2];
2169 scan.sp_wpa = frm;
2174 scan.sp_wpa = frm;
2176 scan.sp_wme = frm;
2189 IEEE80211_VERIFY_ELEMENT(scan.sp_rates, IEEE80211_RATE_MAXSIZE);
2190 IEEE80211_VERIFY_ELEMENT(scan.sp_ssid, IEEE80211_NWID_LEN);
2194 scan.sp_chan > IEEE80211_CHAN_MAX ||
2196 isclr(ic->ic_chan_active, scan.sp_chan)) {
2201 "invalid channel %u", scan.sp_chan);
2206 if (scan.sp_chan != scan.sp_bchan &&
2222 "for off-channel %u", scan.sp_chan);
2227 if (!(IEEE80211_BINTVAL_MIN <= scan.sp_bintval &&
2228 scan.sp_bintval <= IEEE80211_BINTVAL_MAX)) {
2233 "bogus beacon interval", scan.sp_bintval);
2240 &ic->ic_channels[scan.sp_chan], scan.sp_ssid);
2256 * background scan. We consider only 11g/WMM stuff right now.
2262 memcpy(ni->ni_tstamp.data, scan.sp_tstamp, sizeof(ni->ni_tstamp));
2264 if (ni->ni_erp != scan.sp_erp) {
2268 wh->i_addr2), ni->ni_erp, scan.sp_erp);
2276 ni->ni_erp = scan.sp_erp;
2279 if ((ni->ni_capinfo ^ scan.sp_capinfo) & IEEE80211_CAPINFO_SHORT_SLOTTIME) {
2285 ni->ni_capinfo, scan.sp_capinfo);
2293 ni->ni_capinfo = scan.sp_capinfo;
2296 if (scan.sp_wme != NULL && (ni->ni_flags & IEEE80211_NODE_QOS) &&
2297 ieee80211_parse_wmeparams(ic, scan.sp_wme, wh) > 0) {
2301 if (scan.sp_tim != NULL) {
2303 (struct ieee80211_tim_ie *)scan.sp_tim;
2310 ieee80211_add_scan(ic, &scan, wh, subtype, rssi,
2319 * If scanning, just pass information to the scan module.
2334 ieee80211_add_scan(ic, &scan, wh, subtype, rssi, rstamp);
2338 if (scan.sp_capinfo & IEEE80211_CAPINFO_IBSS) {
2339 ieee80211_update_adhoc_node(ic, ni, wh, &scan, rssi, rstamp);