Lines Matching +full:channel +full:- +full:11

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
5 * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
53 * PHY mode; this is not really a mode as multi-mode devices
57 * channels were identified as IEEE channel numbers.
71 IEEE80211_MODE_QUARTER = 11, /* OFDM, 1/4x clock */
100 IEEE80211_PROT_RTSCTS = 2, /* RTS-CTS */
113 IEEE80211_AUTH_SHARED = 2, /* shared-key */
115 IEEE80211_AUTH_AUTO = 4, /* auto-select/accept */
141 uint8_t ic_ieee; /* IEEE channel number */
146 uint8_t ic_extieee; /* HT40 extension channel number */
162 #define IEEE80211_CHAN_ANY 0xffff /* token for ``any channel'' */
166 /* channel attributes */
171 #define IEEE80211_CHAN_TURBO 0x00000010 /* Turbo channel */
172 #define IEEE80211_CHAN_CCK 0x00000020 /* CCK channel */
173 #define IEEE80211_CHAN_OFDM 0x00000040 /* OFDM channel */
174 #define IEEE80211_CHAN_2GHZ 0x00000080 /* 2 GHz spectrum channel. */
175 #define IEEE80211_CHAN_5GHZ 0x00000100 /* 5 GHz spectrum channel */
177 #define IEEE80211_CHAN_DYN 0x00000400 /* Dynamic CCK-OFDM channel */
178 #define IEEE80211_CHAN_GFSK 0x00000800 /* GFSK channel (FHSS PHY) */
179 #define IEEE80211_CHAN_GSM 0x00001000 /* 900 MHz spectrum channel */
180 #define IEEE80211_CHAN_STURBO 0x00002000 /* 11a static turbo channel only */
181 #define IEEE80211_CHAN_HALF 0x00004000 /* Half rate channel */
182 #define IEEE80211_CHAN_QUARTER 0x00008000 /* Quarter rate channel */
183 #define IEEE80211_CHAN_HT20 0x00010000 /* HT 20 channel */
184 #define IEEE80211_CHAN_HT40U 0x00020000 /* HT 40 channel w/ ext above */
185 #define IEEE80211_CHAN_HT40D 0x00040000 /* HT 40 channel w/ ext below */
191 #define IEEE80211_CHAN_VHT20 0x01000000 /* VHT20 channel */
192 #define IEEE80211_CHAN_VHT40U 0x02000000 /* VHT40 channel, ext above */
193 #define IEEE80211_CHAN_VHT40D 0x04000000 /* VHT40 channel, ext below */
194 #define IEEE80211_CHAN_VHT80 0x08000000 /* VHT80 channel */
195 #define IEEE80211_CHAN_VHT160 0x10000000 /* VHT160 channel */
196 #define IEEE80211_CHAN_VHT80P80 0x20000000 /* VHT80+80 channel */
214 * Useful combinations of channel characteristics.
242 (((_c)->ic_flags & IEEE80211_CHAN_FHSS) == IEEE80211_CHAN_FHSS)
244 (((_c)->ic_flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A)
246 (((_c)->ic_flags & IEEE80211_CHAN_B) == IEEE80211_CHAN_B)
248 (((_c)->ic_flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG)
250 (((_c)->ic_flags & IEEE80211_CHAN_G) == IEEE80211_CHAN_G)
254 (((_c)->ic_flags & IEEE80211_CHAN_ST) == IEEE80211_CHAN_ST)
256 (((_c)->ic_flags & IEEE80211_CHAN_108A) == IEEE80211_CHAN_108A)
258 (((_c)->ic_flags & IEEE80211_CHAN_108G) == IEEE80211_CHAN_108G)
261 (((_c)->ic_flags & IEEE80211_CHAN_2GHZ) != 0)
263 (((_c)->ic_flags & IEEE80211_CHAN_5GHZ) != 0)
265 (((_c)->ic_flags & IEEE80211_CHAN_PASSIVE) != 0)
267 (((_c)->ic_flags & (IEEE80211_CHAN_OFDM | IEEE80211_CHAN_DYN)) != 0)
269 (((_c)->ic_flags & (IEEE80211_CHAN_CCK | IEEE80211_CHAN_DYN)) != 0)
271 (((_c)->ic_flags & IEEE80211_CHAN_DYN) == IEEE80211_CHAN_DYN)
273 (((_c)->ic_flags & IEEE80211_CHAN_GFSK) != 0)
275 (((_c)->ic_flags & IEEE80211_CHAN_TURBO) != 0)
277 (((_c)->ic_flags & IEEE80211_CHAN_STURBO) != 0)
279 (((_c)->ic_flags & \
282 (((_c)->ic_flags & IEEE80211_CHAN_HALF) != 0)
284 (((_c)->ic_flags & IEEE80211_CHAN_QUARTER) != 0)
286 (((_c)->ic_flags & (IEEE80211_CHAN_QUARTER | IEEE80211_CHAN_HALF)) == 0)
288 (((_c)->ic_flags & IEEE80211_CHAN_GSM) != 0)
290 (((_c)->ic_flags & IEEE80211_CHAN_HT) != 0)
292 (((_c)->ic_flags & IEEE80211_CHAN_HT20) != 0)
294 (((_c)->ic_flags & IEEE80211_CHAN_HT40) != 0)
296 (((_c)->ic_flags & IEEE80211_CHAN_HT40U) != 0)
298 (((_c)->ic_flags & IEEE80211_CHAN_HT40D) != 0)
301 ((_c)->ic_flags & IEEE80211_CHAN_HT) != 0)
304 ((_c)->ic_flags & IEEE80211_CHAN_HT) != 0)
306 (((_c)->ic_flags & IEEE80211_CHAN_DFS) != 0)
308 (((_c)->ic_flags & IEEE80211_CHAN_NOADHOC) != 0)
310 (((_c)->ic_flags & IEEE80211_CHAN_NOHOSTAP) != 0)
312 (((_c)->ic_flags & IEEE80211_CHAN_11D) != 0)
315 (((_c)->ic_flags & IEEE80211_CHAN_VHT) != 0)
318 ((_c)->ic_flags & IEEE80211_CHAN_VHT) != 0)
321 ((_c)->ic_flags & IEEE80211_CHAN_VHT) != 0)
323 (((_c)->ic_flags & IEEE80211_CHAN_VHT20) != 0)
325 (((_c)->ic_flags & IEEE80211_CHAN_VHT40) != 0)
327 (((_c)->ic_flags & IEEE80211_CHAN_VHT40U) != 0)
329 (((_c)->ic_flags & IEEE80211_CHAN_VHT40D) != 0)
332 ((_c)->ic_flags & IEEE80211_CHAN_VHT) != 0)
335 ((_c)->ic_flags & IEEE80211_CHAN_VHT) != 0)
337 (((_c)->ic_flags & IEEE80211_CHAN_VHT80) != 0)
339 (((_c)->ic_flags & IEEE80211_CHAN_VHT160) != 0)
341 (((_c)->ic_flags & IEEE80211_CHAN_VHT80P80) != 0)
343 #define IEEE80211_CHAN2IEEE(_c) (_c)->ic_ieee
352 (((_c)->ic_state & IEEE80211_CHANSTATE_RADAR) != 0)
354 (((_c)->ic_state & IEEE80211_CHANSTATE_CACDONE) != 0)
356 (((_c)->ic_state & IEEE80211_CHANSTATE_CWINT) != 0)
360 #define IEEE80211_FH_CHAN(set,pat) (((set)-1)*IEEE80211_FH_CHANMOD+(pat))
364 #define IEEE80211_TID_SIZE (WME_NUM_TID+1) /* WME TID's +1 for non-QoS */
365 #define IEEE80211_NONQOS_TID WME_NUM_TID /* index for non-QoS sta */
404 * Per-mode transmit parameters/controls visible to user space.
406 * modes or on a per-client basis according to the capabilities
407 * of the client (e.g. an 11b client associated to an 11g ap).
419 * Per-mode roaming state visible to user space. There are two
438 uint8_t ecm; /* Extended Channel Mode */
448 * This is the number of sub-channels for a channel.
449 * 0 - pri20
450 * 1 - sec20 (HT40, VHT40)
451 * 2 - sec40 (VHT80)
452 * 3 - sec80 (VHT80+80, VHT160)
488 #define IEEE80211_C_SWAMSDUTX 0x00100000 /* CAPABILITY: software A-MSDU TX */
489 #define IEEE80211_C_UAPSD 0x00200000 /* CAPABILITY: U-APSD */
496 #define IEEE80211_C_WDS 0x08000000 /* CAPABILITY: 4-addr support */
509 "\20\1STA\002803ENCAP\7FF\10TURBOP\11IBSS\12PMGT" \
515 * ic_htcaps/iv_htcaps: HT-specific device/driver capabilities
517 * NB: the low 16-bits are the 802.11 definitions, the upper
518 * 16-bits are used to define s/w/driver capabilities.
520 #define IEEE80211_HTC_AMPDU 0x00010000 /* CAPABILITY: A-MPDU tx */
521 #define IEEE80211_HTC_AMSDU 0x00020000 /* CAPABILITY: A-MSDU tx */
531 #define IEEE80211_HTC_RX_AMSDU_AMPDU 0x04000000 /* CAPABILITY: RX A-MSDU in A-MPDU */
532 #define IEEE80211_HTC_TX_AMSDU_AMPDU 0x08000000 /* CAPABILITY: TX A-MSDU in A-MPDU */
542 * These represent what's in 802.11-2016 - Table 9-133 - AKM Suite Selectors.
556 #define IEEE80211_KEYMGMT_RSN_802_1X_SUITE_B 0x00000400 /* RSN suite 11 */
561 * RX status notification - which fields are valid.
566 #define IEEE80211_R_C_NF 0x00000008 /* per-chain NF value valid */
567 #define IEEE80211_R_C_RSSI 0x00000010 /* per-chain RSSI value valid */
568 #define IEEE80211_R_C_EVM 0x00000020 /* per-chain EVM valid */
579 * RX status notification - describe the packet.
592 #define IEEE80211_RX_F_SHORTGI 0x00000800 /* This is a short-GI frame */
599 /* Channel width */
619 int16_t c_nf_ctl[IEEE80211_MAX_CHAINS]; /* per-chain NF */
620 int16_t c_nf_ext[IEEE80211_MAX_CHAINS]; /* per-chain NF */
621 int16_t c_rssi_ctl[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */
622 int16_t c_rssi_ext[IEEE80211_MAX_CHAINS]; /* per-chain RSSI */
628 uint8_t c_rate; /* legacy; 11n rate code; VHT MCS */
632 uint8_t c_ieee; /* Channel */
633 uint8_t c_width; /* channel width, FW flags above */
641 /* per-chain, per-pilot EVM values */
647 uint8_t c_vhtnss; /* VHT - number of spatial streams */