Lines Matching refs:frm

612     uint8_t *frm, uint8_t *efrm, struct ieee80211_node *in, uint16_t seq,  in ieee80211_auth_shared()  argument
631 if (frm + 1 < efrm) { in ieee80211_auth_shared()
638 if ((frm[1] + 2) > (_PTRDIFF(efrm, frm))) { in ieee80211_auth_shared()
641 frm[0], (frm[1] + 2) - (_PTRDIFF(efrm, frm))); in ieee80211_auth_shared()
644 if (*frm == IEEE80211_ELEMID_CHALLENGE) in ieee80211_auth_shared()
645 challenge = frm; in ieee80211_auth_shared()
646 frm += frm[1] + 2; in ieee80211_auth_shared()
729 iswpaoui(const uint8_t *frm) in iswpaoui() argument
732 bcopy(frm + 2, &c, 4); in iswpaoui()
733 return (frm[1] > 3 && LE_32(c) == ((WPA_OUI_TYPE << 24) | WPA_OUI)); in iswpaoui()
746 iswmeoui(const uint8_t *frm) in iswmeoui() argument
748 return (frm[1] > 3 && LE_READ_4(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI)); in iswmeoui()
752 iswmeparam(const uint8_t *frm) in iswmeparam() argument
754 return (frm[1] > 5 && in iswmeparam()
755 LE_READ_4(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI) && in iswmeparam()
756 frm[6] == WME_PARAM_OUI_SUBTYPE); in iswmeparam()
760 iswmeinfo(const uint8_t *frm) in iswmeinfo() argument
762 return (frm[1] > 5 && in iswmeinfo()
763 LE_READ_4(frm+2) == ((WME_OUI_TYPE<<24)|WME_OUI) && in iswmeinfo()
764 frm[6] == WME_INFO_OUI_SUBTYPE); in iswmeinfo()
768 ishtcapoui(const uint8_t *frm) in ishtcapoui() argument
770 return (frm[1] > 3 && in ishtcapoui()
771 LE_READ_4(frm+2) == ((BCM_OUI_HTCAP<<24)|BCM_OUI)); in ishtcapoui()
775 ishtinfooui(const uint8_t *frm) in ishtinfooui() argument
777 return (frm[1] > 3 && in ishtinfooui()
778 LE_READ_4(frm+2) == ((BCM_OUI_HTINFO<<24)|BCM_OUI)); in ishtinfooui()
783 ieee80211_parse_wmeparams(struct ieee80211com *ic, uint8_t *frm, in ieee80211_parse_wmeparams() argument
788 uint_t len = frm[1]; in ieee80211_parse_wmeparams()
797 qosinfo = frm[offsetof(struct ieee80211_wme_param, wme_qosInfo)]; in ieee80211_parse_wmeparams()
802 frm += offsetof(struct ieee80211_wme_param, wme_acParams); in ieee80211_parse_wmeparams()
807 wmep->wmep_acm = MS(frm[0], WME_PARAM_ACM); in ieee80211_parse_wmeparams()
808 wmep->wmep_aifsn = MS(frm[0], WME_PARAM_AIFSN); in ieee80211_parse_wmeparams()
809 wmep->wmep_logcwmin = MS(frm[1], WME_PARAM_LOGCWMIN); in ieee80211_parse_wmeparams()
810 wmep->wmep_logcwmax = MS(frm[1], WME_PARAM_LOGCWMAX); in ieee80211_parse_wmeparams()
811 wmep->wmep_txopLimit = LE_READ_2(frm+2); in ieee80211_parse_wmeparams()
812 frm += 4; in ieee80211_parse_wmeparams()
831 uint8_t *frm; in ieee80211_recv_beacon() local
836 frm = (uint8_t *)&wh[1]; in ieee80211_recv_beacon()
871 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_beacon()
874 scan.tstamp = frm; in ieee80211_recv_beacon()
875 frm += 8; in ieee80211_recv_beacon()
876 scan.bintval = LE_16(*(uint16_t *)frm); in ieee80211_recv_beacon()
877 frm += 2; in ieee80211_recv_beacon()
878 scan.capinfo = LE_16(*(uint16_t *)frm); in ieee80211_recv_beacon()
879 frm += 2; in ieee80211_recv_beacon()
883 while (frm < efrm) { in ieee80211_recv_beacon()
885 if ((*frm == IEEE80211_ELEMID_AGERE1) || in ieee80211_recv_beacon()
886 (*frm == IEEE80211_ELEMID_AGERE2)) { in ieee80211_recv_beacon()
887 frm = efrm; in ieee80211_recv_beacon()
891 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), frm[1], return); in ieee80211_recv_beacon()
892 switch (*frm) { in ieee80211_recv_beacon()
894 scan.ssid = frm; in ieee80211_recv_beacon()
897 scan.rates = frm; in ieee80211_recv_beacon()
900 scan.country = frm; in ieee80211_recv_beacon()
904 scan.fhdwell = LE_16(*(uint16_t *)(frm + 2)); in ieee80211_recv_beacon()
905 scan.chan = IEEE80211_FH_CHAN(frm[4], frm[5]); in ieee80211_recv_beacon()
906 scan.fhindex = frm[6]; in ieee80211_recv_beacon()
912 scan.chan = frm[2]; in ieee80211_recv_beacon()
917 scan.tim = frm; in ieee80211_recv_beacon()
918 scan.timoff = _PTRDIFF(frm, mp->b_rptr); in ieee80211_recv_beacon()
923 scan.xrates = frm; in ieee80211_recv_beacon()
926 if (frm[1] != 1) { in ieee80211_recv_beacon()
932 frm[1]); in ieee80211_recv_beacon()
935 scan.erp = frm[2]; in ieee80211_recv_beacon()
939 scan.htcap = frm; in ieee80211_recv_beacon()
942 scan.wpa = frm; in ieee80211_recv_beacon()
945 scan.htinfo = frm; in ieee80211_recv_beacon()
948 if (iswpaoui(frm)) in ieee80211_recv_beacon()
949 scan.wpa = frm; /* IEEE802.11i D3.0 */ in ieee80211_recv_beacon()
950 else if (iswmeparam(frm) || iswmeinfo(frm)) in ieee80211_recv_beacon()
951 scan.wme = frm; in ieee80211_recv_beacon()
957 if (ishtcapoui(frm)) { in ieee80211_recv_beacon()
959 scan.htcap = frm; in ieee80211_recv_beacon()
960 } else if (ishtinfooui(frm)) { in ieee80211_recv_beacon()
962 scan.htinfo = frm; in ieee80211_recv_beacon()
971 *frm, frm[1], in ieee80211_recv_beacon()
976 frm += IEEE80211_ELEM_LEN(frm[1]); in ieee80211_recv_beacon()
1139 uint8_t *frm; /* pointer to start of the frame */ in ieee80211_recv_mgmt() local
1157 frm = (uint8_t *)&wh[1]; in ieee80211_recv_mgmt()
1179 while (frm < efrm) { in ieee80211_recv_mgmt()
1180 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1181 frm[1], goto out); in ieee80211_recv_mgmt()
1182 switch (*frm) { in ieee80211_recv_mgmt()
1184 ssid = frm; in ieee80211_recv_mgmt()
1187 rates = frm; in ieee80211_recv_mgmt()
1190 xrates = frm; in ieee80211_recv_mgmt()
1193 frm += frm[1] + 2; in ieee80211_recv_mgmt()
1271 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1273 algo = LE_16(*(uint16_t *)frm); in ieee80211_recv_mgmt()
1274 seq = LE_16(*(uint16_t *)(frm + 2)); in ieee80211_recv_mgmt()
1275 status = LE_16(*(uint16_t *)(frm + 4)); in ieee80211_recv_mgmt()
1288 ieee80211_auth_shared(ic, wh, frm + 6, efrm, in, in ieee80211_recv_mgmt()
1318 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1321 capinfo = LE_16(*(uint16_t *)frm); in ieee80211_recv_mgmt()
1322 frm += 2; in ieee80211_recv_mgmt()
1323 status = LE_16(*(uint16_t *)frm); in ieee80211_recv_mgmt()
1324 frm += 2; in ieee80211_recv_mgmt()
1335 associd = LE_16(*(uint16_t *)frm); in ieee80211_recv_mgmt()
1336 frm += 2; in ieee80211_recv_mgmt()
1339 while (frm < efrm) { in ieee80211_recv_mgmt()
1347 if ((*frm == IEEE80211_ELEMID_AGERE1) || in ieee80211_recv_mgmt()
1348 (*frm == IEEE80211_ELEMID_AGERE2)) { in ieee80211_recv_mgmt()
1349 frm = efrm; in ieee80211_recv_mgmt()
1353 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1354 frm[1], goto out); in ieee80211_recv_mgmt()
1355 switch (*frm) { in ieee80211_recv_mgmt()
1357 rates = frm; in ieee80211_recv_mgmt()
1360 xrates = frm; in ieee80211_recv_mgmt()
1363 htcap = frm; in ieee80211_recv_mgmt()
1366 htinfo = frm; in ieee80211_recv_mgmt()
1369 if (iswmeoui(frm)) in ieee80211_recv_mgmt()
1370 wme = frm; in ieee80211_recv_mgmt()
1377 if (ishtcapoui(frm)) { in ieee80211_recv_mgmt()
1379 htcap = frm; in ieee80211_recv_mgmt()
1380 } else if (ishtinfooui(frm)) { in ieee80211_recv_mgmt()
1382 htinfo = frm; in ieee80211_recv_mgmt()
1387 frm += frm[1] + 2; in ieee80211_recv_mgmt()
1481 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), 2, break); in ieee80211_recv_mgmt()
1482 status = LE_16(*(uint16_t *)frm); in ieee80211_recv_mgmt()
1506 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), 2, break); in ieee80211_recv_mgmt()
1507 status = LE_16(*(uint16_t *)frm); in ieee80211_recv_mgmt()
1534 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1536 ia = (const struct ieee80211_action *) frm; in ieee80211_recv_mgmt()
1544 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1549 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1554 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1563 IEEE80211_VERIFY_LENGTH(_PTRDIFF(efrm, frm), in ieee80211_recv_mgmt()
1570 ic->ic_recv_action(in, frm, efrm); in ieee80211_recv_mgmt()