Lines Matching refs:scan

470 	struct ieee80211_scanparams *scan)  in ieee80211_parse_beacon()  argument
480 scan->status = 0; in ieee80211_parse_beacon()
502 return (scan->status = IEEE80211_BPARSE_BADIELEN)); in ieee80211_parse_beacon()
503 memset(scan, 0, sizeof(*scan)); in ieee80211_parse_beacon()
504 scan->tstamp = frm; frm += 8; in ieee80211_parse_beacon()
505 scan->bintval = le16toh(*(uint16_t *)frm); frm += 2; in ieee80211_parse_beacon()
506 scan->capinfo = le16toh(*(uint16_t *)frm); frm += 2; in ieee80211_parse_beacon()
507 scan->bchan = ieee80211_chan2ieee(ic, ic->ic_curchan); in ieee80211_parse_beacon()
508 scan->chan = scan->bchan; in ieee80211_parse_beacon()
509 scan->ies = frm; in ieee80211_parse_beacon()
510 scan->ies_len = efrm - frm; in ieee80211_parse_beacon()
514 return (scan->status = IEEE80211_BPARSE_BADIELEN)); in ieee80211_parse_beacon()
517 scan->ssid = frm; in ieee80211_parse_beacon()
520 scan->rates = frm; in ieee80211_parse_beacon()
523 scan->country = frm; in ieee80211_parse_beacon()
526 scan->csa = frm; in ieee80211_parse_beacon()
529 scan->quiet = frm; in ieee80211_parse_beacon()
533 scan->fhdwell = LE_READ_2(&frm[2]); in ieee80211_parse_beacon()
534 scan->chan = IEEE80211_FH_CHAN(frm[4], frm[5]); in ieee80211_parse_beacon()
535 scan->fhindex = frm[6]; in ieee80211_parse_beacon()
544 scan->chan = frm[2]; in ieee80211_parse_beacon()
548 scan->tim = frm; in ieee80211_parse_beacon()
549 scan->timoff = frm - mtod(m, uint8_t *); in ieee80211_parse_beacon()
557 scan->xrates = frm; in ieee80211_parse_beacon()
567 scan->erp = frm[2] | 0x100; in ieee80211_parse_beacon()
570 scan->htcap = frm; in ieee80211_parse_beacon()
573 scan->rsn = frm; in ieee80211_parse_beacon()
576 scan->htinfo = frm; in ieee80211_parse_beacon()
580 scan->meshid = frm; in ieee80211_parse_beacon()
583 scan->meshconf = frm; in ieee80211_parse_beacon()
588 scan->wpa = frm; in ieee80211_parse_beacon()
590 scan->wme = frm; in ieee80211_parse_beacon()
593 scan->ath = frm; in ieee80211_parse_beacon()
597 scan->tdma = frm; in ieee80211_parse_beacon()
605 if (scan->htcap == NULL) in ieee80211_parse_beacon()
606 scan->htcap = frm; in ieee80211_parse_beacon()
608 if (scan->htinfo == NULL) in ieee80211_parse_beacon()
609 scan->htcap = frm; in ieee80211_parse_beacon()
622 IEEE80211_VERIFY_ELEMENT(scan->rates, IEEE80211_RATE_MAXSIZE, in ieee80211_parse_beacon()
623 scan->status |= IEEE80211_BPARSE_RATES_INVALID); in ieee80211_parse_beacon()
624 if (scan->rates != NULL && scan->xrates != NULL) { in ieee80211_parse_beacon()
631 IEEE80211_VERIFY_ELEMENT(scan->xrates, in ieee80211_parse_beacon()
632 IEEE80211_RATE_MAXSIZE - scan->rates[1], in ieee80211_parse_beacon()
633 scan->status |= IEEE80211_BPARSE_XRATES_INVALID); in ieee80211_parse_beacon()
635 IEEE80211_VERIFY_ELEMENT(scan->ssid, IEEE80211_NWID_LEN, in ieee80211_parse_beacon()
636 scan->status |= IEEE80211_BPARSE_SSID_INVALID); in ieee80211_parse_beacon()
637 if (scan->chan != scan->bchan && ic->ic_phytype != IEEE80211_T_FH) { in ieee80211_parse_beacon()
650 wh, NULL, "for off-channel %u", scan->chan); in ieee80211_parse_beacon()
652 scan->status |= IEEE80211_BPARSE_OFFCHAN; in ieee80211_parse_beacon()
654 if (!(IEEE80211_BINTVAL_MIN <= scan->bintval && in ieee80211_parse_beacon()
655 scan->bintval <= IEEE80211_BINTVAL_MAX)) { in ieee80211_parse_beacon()
659 (int) scan->bintval); in ieee80211_parse_beacon()
661 scan->status |= IEEE80211_BPARSE_BINTVAL_INVALID; in ieee80211_parse_beacon()
663 if (scan->country != NULL) { in ieee80211_parse_beacon()
671 IEEE80211_VERIFY_LENGTH(scan->country[1], 3 * sizeof(uint8_t), in ieee80211_parse_beacon()
672 scan->country = NULL); in ieee80211_parse_beacon()
674 if (scan->csa != NULL) { in ieee80211_parse_beacon()
679 IEEE80211_VERIFY_LENGTH(scan->csa[1], 3 * sizeof(uint8_t), in ieee80211_parse_beacon()
680 scan->status |= IEEE80211_BPARSE_CSA_INVALID); in ieee80211_parse_beacon()
687 if (scan->htcap != NULL) { in ieee80211_parse_beacon()
688 IEEE80211_VERIFY_LENGTH(scan->htcap[1], in ieee80211_parse_beacon()
689 scan->htcap[0] == IEEE80211_ELEMID_VENDOR ? in ieee80211_parse_beacon()
692 scan->htcap = NULL); in ieee80211_parse_beacon()
694 if (scan->htinfo != NULL) { in ieee80211_parse_beacon()
695 IEEE80211_VERIFY_LENGTH(scan->htinfo[1], in ieee80211_parse_beacon()
696 scan->htinfo[0] == IEEE80211_ELEMID_VENDOR ? in ieee80211_parse_beacon()
699 scan->htinfo = NULL); in ieee80211_parse_beacon()
701 return scan->status; in ieee80211_parse_beacon()