Lines Matching +full:40 +full:- +full:bit
27 #include "netdissect-stdinc.h"
123 { CTRL_PS_POLL, "Power Save-Poll" },
124 { CTRL_RTS, "Request-To-Send" },
125 { CTRL_CTS, "Clear-To-Send" },
127 { CTRL_CF_END, "CF-End" },
128 { CTRL_END_ACK, "CF-End+CF-Ack" },
151 * bits - CF-Ack, CF-Poll, Null (means the frame doesn't actually have
205 uint8_t text[254]; /* 1-253 + 1 for null */
428 * the MCS index (0-76);
430 * 0 for 20 MHz, 1 for 40 MHz;
437 /* 40 Mhz */ { 13.5f, /* SGI */ 15.0f, },
442 /* 40 Mhz */ { 27.0f, /* SGI */ 30.0f, },
447 /* 40 Mhz */ { 40.5f, /* SGI */ 45.0f, },
452 /* 40 Mhz */ { 54.0f, /* SGI */ 60.0f, },
457 /* 40 Mhz */ { 81.0f, /* SGI */ 90.0f, },
462 /* 40 Mhz */ { 108.0f, /* SGI */ 120.0f, },
467 /* 40 Mhz */ { 121.5f, /* SGI */ 135.0f, },
472 /* 40 Mhz */ { 135.0f, /* SGI */ 150.0f, },
477 /* 40 Mhz */ { 27.0f, /* SGI */ 30.0f, },
482 /* 40 Mhz */ { 54.0f, /* SGI */ 60.0f, },
487 /* 40 Mhz */ { 81.0f, /* SGI */ 90.0f, },
492 /* 40 Mhz */ { 108.0f, /* SGI */ 120.0f, },
497 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
502 /* 40 Mhz */ { 216.0f, /* SGI */ 240.0f, },
507 /* 40 Mhz */ { 243.0f, /* SGI */ 270.0f, },
512 /* 40 Mhz */ { 270.0f, /* SGI */ 300.0f, },
517 /* 40 Mhz */ { 40.5f, /* SGI */ 45.0f, },
522 /* 40 Mhz */ { 81.0f, /* SGI */ 90.0f, },
527 /* 40 Mhz */ { 121.5f, /* SGI */ 135.0f, },
532 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
537 /* 40 Mhz */ { 243.0f, /* SGI */ 270.0f, },
542 /* 40 Mhz */ { 324.0f, /* SGI */ 360.0f, },
547 /* 40 Mhz */ { 364.5f, /* SGI */ 405.0f, },
552 /* 40 Mhz */ { 405.0f, /* SGI */ 450.0f, },
557 /* 40 Mhz */ { 54.0f, /* SGI */ 60.0f, },
562 /* 40 Mhz */ { 108.0f, /* SGI */ 120.0f, },
567 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
572 /* 40 Mhz */ { 216.0f, /* SGI */ 240.0f, },
577 /* 40 Mhz */ { 324.0f, /* SGI */ 360.0f, },
582 /* 40 Mhz */ { 432.0f, /* SGI */ 480.0f, },
587 /* 40 Mhz */ { 486.0f, /* SGI */ 540.0f, },
592 /* 40 Mhz */ { 540.0f, /* SGI */ 600.0f, },
597 /* 40 Mhz */ { 6.0f, /* SGI */ 6.7f, },
602 /* 40 Mhz */ { 81.0f, /* SGI */ 90.0f, },
607 /* 40 Mhz */ { 108.0f, /* SGI */ 120.0f, },
612 /* 40 Mhz */ { 135.0f, /* SGI */ 150.0f, },
617 /* 40 Mhz */ { 121.5f, /* SGI */ 135.0f, },
622 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
627 /* 40 Mhz */ { 202.5f, /* SGI */ 225.0f, },
632 /* 40 Mhz */ { 108.0f, /* SGI */ 120.0f, },
635 /* MCS 40 */
637 /* 40 Mhz */ { 135.0f, /* SGI */ 150.0f, },
642 /* 40 Mhz */ { 135.0f, /* SGI */ 150.0f, },
647 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
652 /* 40 Mhz */ { 189.0f, /* SGI */ 210.0f, },
657 /* 40 Mhz */ { 189.0f, /* SGI */ 210.0f, },
662 /* 40 Mhz */ { 216.0f, /* SGI */ 240.0f, },
667 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
672 /* 40 Mhz */ { 202.5f, /* SGI */ 225.0f, },
677 /* 40 Mhz */ { 202.5f, /* SGI */ 225.0f, },
682 /* 40 Mhz */ { 243.0f, /* SGI */ 270.0f, },
687 /* 40 Mhz */ { 283.5f, /* SGI */ 315.0f, },
692 /* 40 Mhz */ { 283.5f, /* SGI */ 315.0f, },
697 /* 40 Mhz */ { 324.0f, /* SGI */ 360.0f, },
702 /* 40 Mhz */ { 135.0f, /* SGI */ 150.0f, },
707 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
712 /* 40 Mhz */ { 189.0f, /* SGI */ 210.0f, },
717 /* 40 Mhz */ { 162.0f, /* SGI */ 180.0f, },
722 /* 40 Mhz */ { 189.0f, /* SGI */ 210.0f, },
727 /* 40 Mhz */ { 216.0f, /* SGI */ 240.0f, },
732 /* 40 Mhz */ { 243.0f, /* SGI */ 270.0f, },
737 /* 40 Mhz */ { 216.0f, /* SGI */ 240.0f, },
742 /* 40 Mhz */ { 243.0f, /* SGI */ 270.0f, },
747 /* 40 Mhz */ { 270.0f, /* SGI */ 300.0f, },
752 /* 40 Mhz */ { 270.0f, /* SGI */ 300.0f, },
757 /* 40 Mhz */ { 297.0f, /* SGI */ 330.0f, },
762 /* 40 Mhz */ { 202.5f, /* SGI */ 225.0f, },
767 /* 40 Mhz */ { 243.0f, /* SGI */ 270.0f, },
772 /* 40 Mhz */ { 283.5f, /* SGI */ 315.0f, },
777 /* 40 Mhz */ { 243.0f, /* SGI */ 270.0f, },
782 /* 40 Mhz */ { 283.5f, /* SGI */ 315.0f, },
787 /* 40 Mhz */ { 324.0f, /* SGI */ 360.0f, },
792 /* 40 Mhz */ { 364.5f, /* SGI */ 405.0f, },
797 /* 40 Mhz */ { 324.0f, /* SGI */ 360.0f, },
802 /* 40 Mhz */ { 364.5f, /* SGI */ 405.0f, },
807 /* 40 Mhz */ { 405.0f, /* SGI */ 450.0f, },
812 /* 40 Mhz */ { 405.0f, /* SGI */ 450.0f, },
817 /* 40 Mhz */ { 445.5f, /* SGI */ 495.0f, },
853 "the Basic HT-MCS Set field of the HT Operation "
854 "parameter, or the Basic VHT-MCS and NSS Set field in "
878 "Unspecified, QoS-related failure", /* 32 */
897 "Clause 9", /* 40 */
946 "U-APSD coexistence is not supported", /* 73 */
947 "Requested U-APSD coexistence mode is not supported", /* 74 */
949 "supported with U-APSD coexistence", /* 75 */
950 "Authentication is rejected because an Anti-Clogging "
966 "Reject because of U-PID setting", /* 89 */
983 "more Multi-band elements are included that can "
1024 "4-Way Handshake timeout", /* 15 */
1026 "Information element in 4-Way Handshake different from (Re)Association"
1035 "TDLS direct-link teardown due to TDLS peer STA "
1037 "TDLS direct-link teardown for unspecified reason", /* 26 */
1045 "operational mode (e.g. an HT BSS change from 40 MHz channel "
1047 "Disassociated for unspecified, QoS-related reason", /* 32 */
1062 "Reserved", /* 40 */
1145 pbody->challenge_present = 0;
1146 pbody->ssid_present = 0;
1147 pbody->rates_present = 0;
1148 pbody->ds_present = 0;
1149 pbody->cf_present = 0;
1150 pbody->tim_present = 0;
1168 length -= 2;
1170 if (ssid.length > sizeof(ssid.ssid) - 1)
1174 length -= ssid.length;
1184 if (!pbody->ssid_present) {
1185 pbody->ssid = ssid;
1186 pbody->ssid_present = 1;
1192 length -= 2;
1195 sizeof(challenge.text) - 1)
1200 length -= challenge.length;
1210 if (!pbody->challenge_present) {
1211 pbody->challenge = challenge;
1212 pbody->challenge_present = 1;
1218 length -= 2;
1224 length -= rates.length;
1230 * copy this one if it's not zero-length,
1234 * We ignore zero-length rates IEs as some
1235 * devices seem to put a zero-length rates
1237 * a non-zero-length rates IE into frames,
1238 * even though IEEE Std 802.11-2007 doesn't
1239 * seem to indicate that a zero-length rates
1242 if (!pbody->rates_present && rates.length != 0) {
1243 pbody->rates = rates;
1244 pbody->rates_present = 1;
1250 length -= 2;
1253 length -= ds.length;
1258 length -= 1;
1266 if (!pbody->ds_present) {
1267 pbody->ds = ds;
1268 pbody->ds_present = 1;
1274 length -= 2;
1277 length -= cf.length;
1282 length -= 1;
1285 length -= 1;
1288 length -= 2;
1291 length -= 2;
1299 if (!pbody->cf_present) {
1300 pbody->cf = cf;
1301 pbody->cf_present = 1;
1307 length -= 2;
1310 length -= tim.length;
1313 if (tim.length - 3U > sizeof(tim.bitmap))
1317 length -= 1;
1320 length -= 1;
1323 length -= 1;
1324 memcpy(tim.bitmap, p + offset, tim.length - 3);
1325 offset += tim.length - 3;
1326 length -= tim.length - 3;
1334 if (!pbody->tim_present) {
1335 pbody->tim = tim;
1336 pbody->tim_present = 1;
1345 length -= 2 + elementlen;
1377 length -= IEEE802_11_TSTAMP_LEN;
1380 length -= IEEE802_11_BCNINT_LEN;
1383 length -= IEEE802_11_CAPINFO_LEN;
1413 length -= IEEE802_11_CAPINFO_LEN;
1416 length -= IEEE802_11_LISTENINT_LEN;
1444 length -= IEEE802_11_CAPINFO_LEN;
1447 length -= IEEE802_11_STATUS_LEN;
1450 length -= IEEE802_11_AID_LEN;
1482 length -= IEEE802_11_CAPINFO_LEN;
1485 length -= IEEE802_11_LISTENINT_LEN;
1488 length -= IEEE802_11_AP_LEN;
1543 length -= IEEE802_11_TSTAMP_LEN;
1546 length -= IEEE802_11_BCNINT_LEN;
1549 length -= IEEE802_11_CAPINFO_LEN;
1607 length -= 2;
1610 length -= 2;
1613 length -= 2;
1620 ND_PRINT(" (%s)-%x [Challenge Text] %s",
1631 ND_PRINT(" (%s)-%x: %s",
1665 if (ndo->ndo_eflag) {
1732 if (ndo->ndo_eflag) {
1772 /* There may be a problem w/ AP not having this bit set */
1817 /* XXX - requires special handling */
1821 if (!ndo->ndo_eflag)
1823 GET_ETHERADDR_STRING(((const struct ctrl_bar_hdr_t *)p)->ra),
1824 GET_ETHERADDR_STRING(((const struct ctrl_bar_hdr_t *)p)->ta),
1825 GET_LE_U_2(((const struct ctrl_bar_hdr_t *)p)->ctl),
1826 GET_LE_U_2(((const struct ctrl_bar_hdr_t *)p)->seq));
1830 if (!ndo->ndo_eflag)
1832 GET_ETHERADDR_STRING(((const struct ctrl_ba_hdr_t *)p)->ra));
1837 GET_LE_U_2(((const struct ctrl_ps_poll_hdr_t *)p)->aid));
1841 if (!ndo->ndo_eflag)
1843 GET_ETHERADDR_STRING(((const struct ctrl_rts_hdr_t *)p)->ta));
1847 if (!ndo->ndo_eflag)
1849 GET_ETHERADDR_STRING(((const struct ctrl_cts_hdr_t *)p)->ra));
1853 if (!ndo->ndo_eflag)
1855 GET_ETHERADDR_STRING(((const struct ctrl_ack_hdr_t *)p)->ra));
1859 if (!ndo->ndo_eflag)
1861 GET_ETHERADDR_STRING(((const struct ctrl_end_hdr_t *)p)->ra));
1865 if (!ndo->ndo_eflag)
1867 GET_ETHERADDR_STRING(((const struct ctrl_end_ack_hdr_t *)p)->ra));
1876 * Data Frame - Address field contents
1931 *srcp = hp->sa;
1933 *dstp = hp->da;
1997 GET_ETHERADDR_STRING((hp)->bssid), GET_ETHERADDR_STRING((hp)->da),
1998 GET_ETHERADDR_STRING((hp)->sa));
2007 GET_ETHERADDR_STRING(((const struct ctrl_bar_hdr_t *)p)->ra),
2008 GET_ETHERADDR_STRING(((const struct ctrl_bar_hdr_t *)p)->ta),
2009 GET_LE_U_2(((const struct ctrl_bar_hdr_t *)p)->ctl),
2010 GET_LE_U_2(((const struct ctrl_bar_hdr_t *)p)->seq));
2014 GET_ETHERADDR_STRING(((const struct ctrl_ba_hdr_t *)p)->ra),
2015 GET_ETHERADDR_STRING(((const struct ctrl_ba_hdr_t *)p)->ta));
2019 GET_ETHERADDR_STRING(((const struct ctrl_ps_poll_hdr_t *)p)->bssid),
2020 GET_ETHERADDR_STRING(((const struct ctrl_ps_poll_hdr_t *)p)->ta));
2024 GET_ETHERADDR_STRING(((const struct ctrl_rts_hdr_t *)p)->ra),
2025 GET_ETHERADDR_STRING(((const struct ctrl_rts_hdr_t *)p)->ta));
2029 GET_ETHERADDR_STRING(((const struct ctrl_cts_hdr_t *)p)->ra));
2033 GET_ETHERADDR_STRING(((const struct ctrl_ack_hdr_t *)p)->ra));
2037 GET_ETHERADDR_STRING(((const struct ctrl_end_hdr_t *)p)->ra),
2038 GET_ETHERADDR_STRING(((const struct ctrl_end_hdr_t *)p)->bssid));
2042 GET_ETHERADDR_STRING(((const struct ctrl_end_ack_hdr_t *)p)->ra),
2043 GET_ETHERADDR_STRING(((const struct ctrl_end_ack_hdr_t *)p)->bssid));
2046 /* We shouldn't get here - we should already have quit */
2109 if (ndo->ndo_vflag) {
2124 GET_LE_U_2(((const struct mgmt_header_t *)p)->duration));
2128 (const struct meshcntl_t *)(p + hdrlen - meshdrlen);
2129 u_int ae = GET_U_1(mc->flags) & 3;
2132 GET_U_1(mc->ttl), GET_LE_U_4(mc->seq));
2134 ND_PRINT(" A4:%s", GET_ETHERADDR_STRING(mc->addr4));
2136 ND_PRINT(" A5:%s", GET_ETHERADDR_STRING(mc->addr5));
2138 ND_PRINT(" A6:%s", GET_ETHERADDR_STRING(mc->addr6));
2167 ndo->ndo_protocol = "802.11";
2174 length -= fcslen;
2177 fcslen = caplen - length;
2178 caplen -= fcslen;
2179 ndo->ndo_snapend -= fcslen;
2195 if (ndo->ndo_Hflag && FC_TYPE(fc) == T_DATA &&
2211 if (ndo->ndo_eflag)
2217 length -= hdrlen;
2218 caplen -= hdrlen;
2225 get_mgmt_src_dst_mac(p - hdrlen, &src.addr, &dst.addr);
2232 if (!ctrl_body_print(ndo, fc, p - hdrlen)) {
2239 return hdrlen; /* no-data frame */
2240 /* There may be a problem w/ AP not having this bit set */
2248 get_data_src_dst_mac(fc, p - hdrlen, &src.addr, &dst.addr);
2255 if (!ndo->ndo_suppress_default_print)
2257 llc_hdrlen = -llc_hdrlen;
2263 /* We shouldn't get here - we should already have quit */
2272 * to the 802.11 header of the packet, 'h->ts' is the timestamp,
2273 * 'h->len' is the length of the packet off the wire, and 'h->caplen'
2280 ndo->ndo_protocol = "802.11";
2281 ndo->ndo_ll_hdr_len += ieee802_11_print(ndo, p, h->len, h->caplen, 0, 0);
2285 /* $FreeBSD: projects/clang400-import/contrib/tcpdump/print-802_11.c 276788 2015-01-07 19:55:18Z delphij $ */
2288 /*-
2335 * Note well: all radiotap fields are little-endian.
2350 * fields are present. Set bit 31
2354 * by setting bit 31.
2359 * ---- --------- -----
2363 * Value in microseconds of the MAC's 64-bit 802.11 Time
2364 * Synchronization Function timer when the first bit of the
2376 * For frequency-hopping radios, the hop set (first byte)
2381 * Tx/Rx data rate. If bit 0x80 is set then it represents an
2479 * The Vendor Namespace Field contains three sub-fields. The first
2480 * sub-field is 3 bytes long. It contains the vendor's IEEE 802
2482 * vendor-specific "namespace selector."
2518 #define IEEE80211_CHAN_DYN 0x00400 /* Dynamic CCK-OFDM channel */
2525 #define IEEE80211_CHAN_HT40U 0x20000 /* HT 40 channel w/ ext above */
2526 #define IEEE80211_CHAN_HT40D 0x40000 /* HT 40 channel w/ ext below */
2558 * (to 32-bit boundary)
2691 ND_PRINT(" ht/40-");
2693 ND_PRINT(" ht/40+");
2699 struct cpack_state *s, uint32_t bit, uint8_t *flagsp,
2705 switch (bit) {
2733 ND_PRINT("bad-fcs ");
2754 * if the 0x80 bit is set *and* the remaining
2766 * XXX - we don't know the channel width
2776 * XXX - can we get the channel width
2857 ND_PRINT("%d tx power ", -tx_attenuation);
2867 ND_PRINT("%ddB tx attenuation ", -db_tx_attenuation);
2949 "40 MHz",
2970 * And it's in-range.
3031 ND_PRINT("RX-STBC%u ",
3069 "40 MHz",
3151 /* this bit indicates a field whose
3153 * proceed. Just print the bit number.
3155 ND_PRINT("[bit %u] ", bit);
3156 return -1;
3179 enum ieee80211_radiotap_type bit;
3184 * Clear the least significant bit that is set.
3186 next_present = present & (present - 1);
3189 * Get the bit number, within this presence word,
3190 * of the remaining least significant bit that
3203 * Get the radiotap bit number of that bit.
3205 bit = (enum ieee80211_radiotap_type)(bit0 + bitno);
3207 rc = print_radiotap_field(ndo, s, bit, flags, presentflags);
3219 #define BIT(n) (1U << n)
3221 (GET_LE_U_4(__p) & BIT(IEEE80211_RADIOTAP_EXT)) != 0
3237 ndo->ndo_protocol = "802.11_radio";
3245 len = GET_LE_U_2(hdr->it_len);
3249 * it must be as large as the fixed-length part of
3265 for (last_presentp = &hdr->it_present;
3269 nd_cpack_advance(&cpacker, sizeof(hdr->it_present)); /* more bitmaps */
3291 for (presentp = &hdr->it_present; presentp <= last_presentp;
3321 * Fatal error - can't process anything
3330 * the extension bit in all but the last word above.
3333 (BIT(IEEE80211_RADIOTAP_NAMESPACE)|BIT(IEEE80211_RADIOTAP_VENDOR_NAMESPACE))) {
3344 case BIT(IEEE80211_RADIOTAP_NAMESPACE):
3347 * Reset the presence-bitmap index to 0, and
3358 case BIT(IEEE80211_RADIOTAP_VENDOR_NAMESPACE):
3361 * Reset the presence-bitmap index to 0,
3408 return len + ieee802_11_print(ndo, p + len, length - len, caplen - len, pad,
3415 #undef BIT
3424 ndo->ndo_protocol = "802.11_radio_avs";
3447 length - caphdr_len, caplen - caphdr_len, 0, 0);
3473 u_int caplen = h->caplen;
3474 u_int length = h->len;
3477 ndo->ndo_protocol = "prism";
3480 ndo->ndo_ll_hdr_len += caplen;
3487 ndo->ndo_ll_hdr_len += ieee802_11_radio_avs_print(ndo, p, length, caplen);
3493 ndo->ndo_ll_hdr_len += caplen;
3498 length -= PRISM_HDR_LEN;
3499 caplen -= PRISM_HDR_LEN;
3500 ndo->ndo_ll_hdr_len += PRISM_HDR_LEN;
3501 ndo->ndo_ll_hdr_len += ieee802_11_print(ndo, p, length, caplen, 0, 0);
3512 ndo->ndo_protocol = "802.11_radio";
3513 ndo->ndo_ll_hdr_len += ieee802_11_radio_print(ndo, p, h->len, h->caplen);
3525 ndo->ndo_protocol = "802.11_radio_avs";
3526 ndo->ndo_ll_hdr_len += ieee802_11_radio_avs_print(ndo, p, h->len, h->caplen);