Lines Matching +full:9 +full:- +full:bit
1 /*-
2 * Copyright (c) 2020-2025 The FreeBSD Foundation
49 /* 9.4.2.55 Management MIC element (CMAC-256, GMAC-128, and GMAC-256). */
71 #define IEEE80211_INVAL_HW_QUEUE ((uint8_t)-1)
80 #define IEEE80211_MAX_MPDU_LEN_HT_BA 4095 /* 9.3.2.1 Format of Data frames; non-VHT non-DMG STA */
91 /* Wi-Fi Peer-to-Peer (P2P) Technical Specification */
93 #define IEEE80211_P2P_OPPPS_ENABLE_BIT BIT(7)
95 /* 802.11-2016, 9.2.4.5.1, Table 9-6 QoS Control Field */
105 IEEE80211_RATE_SHORT_PREAMBLE = BIT(0),
109 IEEE80211_RC_BW_CHANGED = BIT(0),
110 IEEE80211_RC_NSS_CHANGED = BIT(1),
111 IEEE80211_RC_SUPP_RATES_CHANGED = BIT(2),
112 IEEE80211_RC_SMPS_CHANGED = BIT(3),
121 /* 802.11-2016, 9.4.2.158.3 Supported VHT-MCS and NSS Set field. */
124 #define IEEE80211_VHT_MAX_AMPDU_1024K 7 /* 9.4.2.56.3 A-MPDU Parameters field, Table 9-163 */
159 /* 802.11-2020, 9.4.2.55.3, Table 9-185 Subfields of the A-MPDU Parameters field */
173 /* 9.4.2.57, Table 9-168, HT Operation element fields and subfields */
201 #define IEEE80211_STYPE_QOS_CFACK 0xd0 /* XXX-BZ reserved? */
208 /* Figure 9-27, BAR Control field */
218 /* 802.11-2012, Table 8-130-HT Operation element fields and subfields, HT Protection */
223 #define IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED IEEE80211_HTINFO_OPMODE_MIXED /* Non-HT mixed */
226 /* 9.6.13.1, Table 9-342 TDLS Action field values. */
237 WLAN_TDLS_PEER_TRAFFIC_RESPONSE = 9,
239 /* 11-255 reserved */
242 /* 802.11-2020 9.4.2.26, Table 9-153. Extended Capabilities field. */
244 #define WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING BIT(2 % 8)
245 #define WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT BIT(22 % 8)
246 #define WLAN_EXT_CAPA3_TIMING_MEASUREMENT_SUPPORT BIT(23 % 8)
247 #define WLAN_EXT_CAPA8_OPMODE_NOTIF BIT(62 % 8)
248 #define WLAN_EXT_CAPA8_MAX_MSDU_IN_AMSDU_LSB BIT(63 % 8)
249 #define WLAN_EXT_CAPA9_MAX_MSDU_IN_AMSDU_MSB BIT(64 % 8)
250 #define WLAN_EXT_CAPA10_TWT_REQUESTER_SUPPORT BIT(77 % 8)
251 #define WLAN_EXT_CAPA10_TWT_RESPONDER_SUPPORT BIT(78 % 8)
252 #define WLAN_EXT_CAPA10_OBSS_NARROW_BW_RU_TOLERANCE_SUPPORT BIT(79 % 8)
308 /* 802.11-2020, 9.4.2.55.1 HT Capabilities element structure */
346 IEEE80211_CHANCTX_CHANGE_MIN_WIDTH = BIT(0),
347 IEEE80211_CHANCTX_CHANGE_RADAR = BIT(1),
348 IEEE80211_CHANCTX_CHANGE_RX_CHAINS = BIT(2),
349 IEEE80211_CHANCTX_CHANGE_WIDTH = BIT(3),
350 IEEE80211_CHANCTX_CHANGE_CHANNEL = BIT(4),
351 IEEE80211_CHANCTX_CHANGE_PUNCTURING = BIT(5),
396 /* XXX TODO .. right shift numbers - not sure where that came from? */
397 IEEE80211_TX_CTL_AMPDU = BIT(0),
398 IEEE80211_TX_CTL_ASSIGN_SEQ = BIT(1),
399 IEEE80211_TX_CTL_NO_ACK = BIT(2),
400 IEEE80211_TX_CTL_SEND_AFTER_DTIM = BIT(3),
401 IEEE80211_TX_CTL_TX_OFFCHAN = BIT(4),
402 IEEE80211_TX_CTL_REQ_TX_STATUS = BIT(5),
403 IEEE80211_TX_STATUS_EOSP = BIT(6),
404 IEEE80211_TX_STAT_ACK = BIT(7),
405 IEEE80211_TX_STAT_AMPDU = BIT(8),
406 IEEE80211_TX_STAT_AMPDU_NO_BACK = BIT(9),
407 IEEE80211_TX_STAT_TX_FILTERED = BIT(10),
408 IEEE80211_TX_STAT_NOACK_TRANSMITTED = BIT(11),
409 IEEE80211_TX_CTL_FIRST_FRAGMENT = BIT(12),
410 IEEE80211_TX_INTFL_DONT_ENCRYPT = BIT(13),
411 IEEE80211_TX_CTL_NO_CCK_RATE = BIT(14),
412 IEEE80211_TX_CTL_INJECTED = BIT(15),
413 IEEE80211_TX_CTL_HW_80211_ENCAP = BIT(16),
414 IEEE80211_TX_CTL_USE_MINRATE = BIT(17),
415 IEEE80211_TX_CTL_RATE_CTRL_PROBE = BIT(18),
416 IEEE80211_TX_CTL_LDPC = BIT(19),
417 IEEE80211_TX_CTL_STBC = BIT(20),
421 IEEE80211_TX_STATUS_ACK_SIGNAL_VALID = BIT(0),
426 IEEE80211_TX_CTRL_PORT_CTRL_PROTO = BIT(0),
427 IEEE80211_TX_CTRL_PS_RESPONSE = BIT(1),
428 IEEE80211_TX_CTRL_RATE_INJECT = BIT(2),
434 IEEE80211_TX_RC_40_MHZ_WIDTH = BIT(0),
435 IEEE80211_TX_RC_80_MHZ_WIDTH = BIT(1),
436 IEEE80211_TX_RC_160_MHZ_WIDTH = BIT(2),
437 IEEE80211_TX_RC_GREEN_FIELD = BIT(3),
438 IEEE80211_TX_RC_MCS = BIT(4),
439 IEEE80211_TX_RC_SHORT_GI = BIT(5),
440 IEEE80211_TX_RC_VHT_MCS = BIT(6),
441 IEEE80211_TX_RC_USE_SHORT_PREAMBLE = BIT(7),
444 #define IEEE80211_RNR_TBTT_PARAMS_PSD_RESERVED -128
480 /* 802.11-2020, Table 9-359-Block Ack Action field values */
489 /* 802.11-2020, Table 9-51-Category values */
495 /* 80211-2020 9.3.3.2 Format of Management frames */
554 /* 802.11-2016, 9.6.5.2 ADDBA Request frame format */
602 /* 9.4.2.21.1, Table 9-82. */
606 /* 9.4.2.1, Table 9-77. Element IDs. */
636 (((const uint8_t *)(_data) + (_len) - (const uint8_t *)_elem) >= sizeof(*_elem)) && \
637 …(((const uint8_t *)(_data) + (_len) - (const uint8_t *)_elem) >= (sizeof(*_elem) + _elem->datalen)…
638 _elem = (const struct element *)(_elem->data + _elem->datalen))
642 if (_elem->id == (_eid))
644 /* 9.4.1.7, Table 9-45. Reason codes. */
653 /* 9.4.1.9, Table 9-46. Status codes. */
659 /* 9.3.1.22 Trigger frame format; 80211ax-2021 */
669 /* Table 9-29c-Trigger Type subfield encoding */
676 MU-RTS = 0x3,
678 GCR MU-BAR = 0x5,
692 /* 802.11-2020, Figure 9-687-Control field format; 802.11ax-2021 */
693 #define IEEE80211_TWT_CONTROL_NEG_TYPE_BROADCAST BIT(3)
694 #define IEEE80211_TWT_CONTROL_RX_DISABLED BIT(4)
695 #define IEEE80211_TWT_CONTROL_WAKE_DUR_UNIT BIT(5)
697 /* 802.11-2020, Figure 9-688-Request Type field format; 802.11ax-2021 */
698 #define IEEE80211_TWT_REQTYPE_SETUP_CMD (BIT(1) | BIT(2) | BIT(3))
699 #define IEEE80211_TWT_REQTYPE_TRIGGER BIT(4)
700 #define IEEE80211_TWT_REQTYPE_IMPLICIT BIT(5)
701 #define IEEE80211_TWT_REQTYPE_FLOWTYPE BIT(6)
702 #define IEEE80211_TWT_REQTYPE_FLOWID (BIT(7) | BIT(8) | BIT(9))
703 #define IEEE80211_TWT_REQTYPE_WAKE_INT_EXP (BIT(10) | BIT(11) | BIT(12) | BIT(13) | BIT(14))
704 #define IEEE80211_TWT_REQTYPE_PROTECTION BIT(15)
716 /* 802.11-2020, Table 9-297-TWT Setup Command field values */
740 * 802.11ax-2021, Table 9-277-Meaning of Maximum Transmit Power Count subfield
746 * 802.11ax-2021, Table 9-275a-Maximum Transmit Power Interpretation subfield
747 * encoding (4) * Table E-12-Regulatory Info subfield encoding in the
752 /* 802.11ax-2021, 9.4.2.161 Transmit Power Envelope element */
758 /* 802.11ax-2021, Figure 9-617-Transmit Power Information field format */
759 /* These are field masks (3bit/3bit/2bit). */
765 * 802.11ax-2021, Table 9-275a-Maximum Transmit Power Interpretation subfield
779 /* 802.11-2020, 9.4.2.27 BSS Load element */
866 printf("XXX-BZ %s: TODO? fc %#04x size %u\n", in ieee80211_hdrlen()
1049 mgmt = (struct ieee80211_mgmt *)skb->data; in ieee80211_is_bufferable_mmpdu()
1050 fc = mgmt->frame_control; in ieee80211_is_bufferable_mmpdu()
1052 /* 11.2.2 Bufferable MMPDUs, 80211-2020. */ in ieee80211_is_bufferable_mmpdu()
1153 if (ieee80211_has_a4(hdr->frame_control)) in ieee80211_get_SA()
1154 return (hdr->addr4); in ieee80211_get_SA()
1155 if (ieee80211_has_fromds(hdr->frame_control)) in ieee80211_get_SA()
1156 return (hdr->addr3); in ieee80211_get_SA()
1157 return (hdr->addr2); in ieee80211_get_SA()
1164 if (ieee80211_has_tods(hdr->frame_control)) in ieee80211_get_DA()
1165 return (hdr->addr3); in ieee80211_get_DA()
1166 return (hdr->addr1); in ieee80211_get_DA()
1222 if (ieee80211_has_a4(hdr->frame_control)) in ieee80211_get_qos_ctl()