Lines Matching full:scan

517 	struct ieee80211_channel *rxchan, struct ieee80211_scanparams *scan)  in ieee80211_parse_beacon()  argument
527 scan->status = 0; in ieee80211_parse_beacon()
553 return (scan->status = IEEE80211_BPARSE_BADIELEN)); in ieee80211_parse_beacon()
554 memset(scan, 0, sizeof(*scan)); in ieee80211_parse_beacon()
555 scan->tstamp = frm; frm += 8; in ieee80211_parse_beacon()
556 scan->bintval = le16toh(*(uint16_t *)frm); frm += 2; in ieee80211_parse_beacon()
557 scan->capinfo = le16toh(*(uint16_t *)frm); frm += 2; in ieee80211_parse_beacon()
558 scan->bchan = ieee80211_chan2ieee(ic, rxchan); in ieee80211_parse_beacon()
559 scan->chan = scan->bchan; in ieee80211_parse_beacon()
560 scan->ies = frm; in ieee80211_parse_beacon()
561 scan->ies_len = efrm - frm; in ieee80211_parse_beacon()
565 return (scan->status = IEEE80211_BPARSE_BADIELEN)); in ieee80211_parse_beacon()
568 scan->ssid = frm; in ieee80211_parse_beacon()
571 scan->rates = frm; in ieee80211_parse_beacon()
574 scan->country = frm; in ieee80211_parse_beacon()
577 scan->csa = frm; in ieee80211_parse_beacon()
580 scan->quiet = frm; in ieee80211_parse_beacon()
584 scan->fhdwell = le16dec(&frm[2]); in ieee80211_parse_beacon()
585 scan->chan = IEEE80211_FH_CHAN(frm[4], frm[5]); in ieee80211_parse_beacon()
586 scan->fhindex = frm[6]; in ieee80211_parse_beacon()
595 scan->chan = frm[2]; in ieee80211_parse_beacon()
599 scan->tim = frm; in ieee80211_parse_beacon()
600 scan->timoff = frm - mtod(m, uint8_t *); in ieee80211_parse_beacon()
610 scan->xrates = frm; in ieee80211_parse_beacon()
620 scan->erp = frm[2] | 0x100; in ieee80211_parse_beacon()
623 scan->htcap = frm; in ieee80211_parse_beacon()
626 scan->vhtcap = frm; in ieee80211_parse_beacon()
629 scan->vhtopmode = frm; in ieee80211_parse_beacon()
632 scan->rsn = frm; in ieee80211_parse_beacon()
635 scan->htinfo = frm; in ieee80211_parse_beacon()
639 scan->meshid = frm; in ieee80211_parse_beacon()
642 scan->meshconf = frm; in ieee80211_parse_beacon()
650 scan->wpa = frm; in ieee80211_parse_beacon()
652 scan->wme = frm; in ieee80211_parse_beacon()
655 scan->ath = frm; in ieee80211_parse_beacon()
659 scan->tdma = frm; in ieee80211_parse_beacon()
667 if (scan->htcap == NULL) in ieee80211_parse_beacon()
668 scan->htcap = frm; in ieee80211_parse_beacon()
670 if (scan->htinfo == NULL) in ieee80211_parse_beacon()
671 scan->htcap = frm; in ieee80211_parse_beacon()
684 IEEE80211_VERIFY_ELEMENT(scan->rates, IEEE80211_RATE_MAXSIZE, in ieee80211_parse_beacon()
685 scan->status |= IEEE80211_BPARSE_RATES_INVALID); in ieee80211_parse_beacon()
686 if (scan->rates != NULL && scan->xrates != NULL) { in ieee80211_parse_beacon()
693 IEEE80211_VERIFY_ELEMENT(scan->xrates, in ieee80211_parse_beacon()
694 IEEE80211_RATE_MAXSIZE - scan->rates[1], in ieee80211_parse_beacon()
695 scan->status |= IEEE80211_BPARSE_XRATES_INVALID); in ieee80211_parse_beacon()
697 IEEE80211_VERIFY_ELEMENT(scan->ssid, IEEE80211_NWID_LEN, in ieee80211_parse_beacon()
698 scan->status |= IEEE80211_BPARSE_SSID_INVALID); in ieee80211_parse_beacon()
699 if (scan->chan != scan->bchan && ic->ic_phytype != IEEE80211_T_FH) { in ieee80211_parse_beacon()
713 scan->chan, scan->bchan); in ieee80211_parse_beacon()
715 scan->status |= IEEE80211_BPARSE_OFFCHAN; in ieee80211_parse_beacon()
717 if (!(IEEE80211_BINTVAL_MIN <= scan->bintval && in ieee80211_parse_beacon()
718 scan->bintval <= IEEE80211_BINTVAL_MAX)) { in ieee80211_parse_beacon()
722 (int) scan->bintval); in ieee80211_parse_beacon()
724 scan->status |= IEEE80211_BPARSE_BINTVAL_INVALID; in ieee80211_parse_beacon()
726 if (scan->country != NULL) { in ieee80211_parse_beacon()
734 IEEE80211_VERIFY_LENGTH(scan->country[1], 3 * sizeof(uint8_t), in ieee80211_parse_beacon()
735 scan->country = NULL); in ieee80211_parse_beacon()
737 if (scan->csa != NULL) { in ieee80211_parse_beacon()
742 IEEE80211_VERIFY_LENGTH(scan->csa[1], 3 * sizeof(uint8_t), in ieee80211_parse_beacon()
743 scan->status |= IEEE80211_BPARSE_CSA_INVALID); in ieee80211_parse_beacon()
746 if (scan->meshid != NULL) { in ieee80211_parse_beacon()
747 IEEE80211_VERIFY_ELEMENT(scan->meshid, IEEE80211_MESHID_LEN, in ieee80211_parse_beacon()
748 scan->status |= IEEE80211_BPARSE_MESHID_INVALID); in ieee80211_parse_beacon()
756 if (scan->htcap != NULL) { in ieee80211_parse_beacon()
757 IEEE80211_VERIFY_LENGTH(scan->htcap[1], in ieee80211_parse_beacon()
758 scan->htcap[0] == IEEE80211_ELEMID_VENDOR ? in ieee80211_parse_beacon()
761 scan->htcap = NULL); in ieee80211_parse_beacon()
763 if (scan->htinfo != NULL) { in ieee80211_parse_beacon()
764 IEEE80211_VERIFY_LENGTH(scan->htinfo[1], in ieee80211_parse_beacon()
765 scan->htinfo[0] == IEEE80211_ELEMID_VENDOR ? in ieee80211_parse_beacon()
768 scan->htinfo = NULL); in ieee80211_parse_beacon()
772 if (scan->vhtcap != NULL) { in ieee80211_parse_beacon()
773 IEEE80211_VERIFY_LENGTH(scan->vhtcap[1], in ieee80211_parse_beacon()
775 scan->vhtcap = NULL); in ieee80211_parse_beacon()
777 if (scan->vhtopmode != NULL) { in ieee80211_parse_beacon()
778 IEEE80211_VERIFY_LENGTH(scan->vhtopmode[1], in ieee80211_parse_beacon()
780 scan->vhtopmode = NULL); in ieee80211_parse_beacon()
783 return scan->status; in ieee80211_parse_beacon()