Lines Matching refs:scan

467 	struct ieee80211_scanparams *scan)
477 scan->status = 0;
499 return (scan->status = IEEE80211_BPARSE_BADIELEN));
500 memset(scan, 0, sizeof(*scan));
501 scan->tstamp = frm; frm += 8;
502 scan->bintval = le16toh(*(uint16_t *)frm); frm += 2;
503 scan->capinfo = le16toh(*(uint16_t *)frm); frm += 2;
504 scan->bchan = ieee80211_chan2ieee(ic, ic->ic_curchan);
505 scan->chan = scan->bchan;
506 scan->ies = frm;
507 scan->ies_len = efrm - frm;
511 return (scan->status = IEEE80211_BPARSE_BADIELEN));
514 scan->ssid = frm;
517 scan->rates = frm;
520 scan->country = frm;
523 scan->csa = frm;
527 scan->fhdwell = LE_READ_2(&frm[2]);
528 scan->chan = IEEE80211_FH_CHAN(frm[4], frm[5]);
529 scan->fhindex = frm[6];
538 scan->chan = frm[2];
542 scan->tim = frm;
543 scan->timoff = frm - mtod(m, uint8_t *);
551 scan->xrates = frm;
561 scan->erp = frm[2] | 0x100;
564 scan->htcap = frm;
567 scan->rsn = frm;
570 scan->htinfo = frm;
574 scan->meshid = frm;
577 scan->meshconf = frm;
582 scan->wpa = frm;
584 scan->wme = frm;
587 scan->ath = frm;
591 scan->tdma = frm;
599 if (scan->htcap == NULL)
600 scan->htcap = frm;
602 if (scan->htinfo == NULL)
603 scan->htcap = frm;
616 IEEE80211_VERIFY_ELEMENT(scan->rates, IEEE80211_RATE_MAXSIZE,
617 scan->status |= IEEE80211_BPARSE_RATES_INVALID);
618 if (scan->rates != NULL && scan->xrates != NULL) {
625 IEEE80211_VERIFY_ELEMENT(scan->xrates,
626 IEEE80211_RATE_MAXSIZE - scan->rates[1],
627 scan->status |= IEEE80211_BPARSE_XRATES_INVALID);
629 IEEE80211_VERIFY_ELEMENT(scan->ssid, IEEE80211_NWID_LEN,
630 scan->status |= IEEE80211_BPARSE_SSID_INVALID);
631 if (scan->chan != scan->bchan && ic->ic_phytype != IEEE80211_T_FH) {
644 wh, NULL, "for off-channel %u", scan->chan);
646 scan->status |= IEEE80211_BPARSE_OFFCHAN;
648 if (!(IEEE80211_BINTVAL_MIN <= scan->bintval &&
649 scan->bintval <= IEEE80211_BINTVAL_MAX)) {
652 wh, NULL, "bogus beacon interval", scan->bintval);
654 scan->status |= IEEE80211_BPARSE_BINTVAL_INVALID;
656 if (scan->country != NULL) {
664 IEEE80211_VERIFY_LENGTH(scan->country[1], 3 * sizeof(uint8_t),
665 scan->country = NULL);
667 if (scan->csa != NULL) {
672 IEEE80211_VERIFY_LENGTH(scan->csa[1], 3 * sizeof(uint8_t),
673 scan->status |= IEEE80211_BPARSE_CSA_INVALID);
680 if (scan->htcap != NULL) {
681 IEEE80211_VERIFY_LENGTH(scan->htcap[1],
682 scan->htcap[0] == IEEE80211_ELEMID_VENDOR ?
685 scan->htcap = NULL);
687 if (scan->htinfo != NULL) {
688 IEEE80211_VERIFY_LENGTH(scan->htinfo[1],
689 scan->htinfo[0] == IEEE80211_ELEMID_VENDOR ?
692 scan->htinfo = NULL);
694 return scan->status;