Lines Matching defs:scan
1967 struct ieee80211_frame *wh, struct ieee80211_scanparams *scan, int rssi,
1975 if ((ni = ieee80211_add_neighbor(ic, wh, scan)) == NULL)
1985 ieee80211_init_neighbor(ic, ni, wh, scan, 0);
1988 memcpy(ni->ni_tstamp.data, scan->sp_tstamp, sizeof(ni->ni_tstamp));
2005 * want to belong to, so start a scan.
2014 * No need to SCAN, we already belong to
2016 * SSID, etc. It could be harmful to scan,
2017 * too: if a scan does not detect nodes
2020 * the scan, needlessly splitting the
2066 struct ieee80211_scanparams scan;
2102 memset(&scan, 0, sizeof(scan));
2103 scan.sp_tstamp = frm; frm += 8;
2104 scan.sp_bintval = le16toh(*(u_int16_t *)frm); frm += 2;
2105 scan.sp_capinfo = le16toh(*(u_int16_t *)frm); frm += 2;
2106 scan.sp_bchan = ieee80211_chan2ieee(ic, ic->ic_curchan);
2107 scan.sp_chan = scan.sp_bchan;
2115 scan.sp_ssid = frm;
2119 scan.sp_rates = frm;
2123 scan.sp_country = frm;
2128 scan.sp_fhdwell = LE_READ_2(&frm[2]);
2129 scan.sp_chan = IEEE80211_FH_CHAN(frm[4], frm[5]);
2130 scan.sp_fhindex = frm[6];
2140 scan.sp_chan = frm[2];
2145 scan.sp_tim = frm;
2146 scan.sp_timoff = frm - mtod(m0, u_int8_t *);
2151 scan.sp_xrates = frm;
2160 scan.sp_erp = frm[2];
2164 scan.sp_wpa = frm;
2169 scan.sp_wpa = frm;
2171 scan.sp_wme = frm;
2184 IEEE80211_VERIFY_ELEMENT(scan.sp_rates, IEEE80211_RATE_MAXSIZE);
2185 IEEE80211_VERIFY_ELEMENT(scan.sp_ssid, IEEE80211_NWID_LEN);
2189 scan.sp_chan > IEEE80211_CHAN_MAX ||
2191 isclr(ic->ic_chan_active, scan.sp_chan)) {
2196 "invalid channel %u", scan.sp_chan);
2201 if (scan.sp_chan != scan.sp_bchan &&
2217 "for off-channel %u", scan.sp_chan);
2222 if (!(IEEE80211_BINTVAL_MIN <= scan.sp_bintval &&
2223 scan.sp_bintval <= IEEE80211_BINTVAL_MAX)) {
2228 "bogus beacon interval", scan.sp_bintval);
2235 &ic->ic_channels[scan.sp_chan], scan.sp_ssid);
2251 * background scan. We consider only 11g/WMM stuff right now.
2257 memcpy(ni->ni_tstamp.data, scan.sp_tstamp, sizeof(ni->ni_tstamp));
2259 if (ni->ni_erp != scan.sp_erp) {
2263 wh->i_addr2), ni->ni_erp, scan.sp_erp);
2271 ni->ni_erp = scan.sp_erp;
2274 if ((ni->ni_capinfo ^ scan.sp_capinfo) & IEEE80211_CAPINFO_SHORT_SLOTTIME) {
2280 ni->ni_capinfo, scan.sp_capinfo);
2288 ni->ni_capinfo = scan.sp_capinfo;
2291 if (scan.sp_wme != NULL && (ni->ni_flags & IEEE80211_NODE_QOS) &&
2292 ieee80211_parse_wmeparams(ic, scan.sp_wme, wh) > 0) {
2296 if (scan.sp_tim != NULL) {
2298 (struct ieee80211_tim_ie *)scan.sp_tim;
2305 ieee80211_add_scan(ic, &scan, wh, subtype, rssi,
2314 * If scanning, just pass information to the scan module.
2329 ieee80211_add_scan(ic, &scan, wh, subtype, rssi, rstamp);
2333 if (scan.sp_capinfo & IEEE80211_CAPINFO_IBSS) {
2334 ieee80211_update_adhoc_node(ic, ni, wh, &scan, rssi, rstamp);