Lines Matching refs:chspec
159 #define WL_CHSPEC_BW(chspec) ((chspec & WL_CHANSPEC_BW_MASK) >> WL_CHANSPEC_BW_SHIFT) argument
182 #define CHSPEC_WLCBANDUNIT(chspec) \ argument
183 ((CHSPEC_IS5G(chspec) || CHSPEC_IS6G(chspec)) ? BAND_5G_INDEX : BAND_2G_INDEX)
200 #define CHSPEC_CHANNEL(chspec) ((uint8)((chspec) & WL_CHANSPEC_CHAN_MASK)) argument
201 #define CHSPEC_CHAN0(chspec) (((chspec) & WL_CHANSPEC_CHAN0_MASK) >> WL_CHANSPEC_CHAN0_SHIFT) argument
202 #define CHSPEC_CHAN1(chspec) (((chspec) & WL_CHANSPEC_CHAN1_MASK) >> WL_CHANSPEC_CHAN1_SHIFT) argument
203 #define CHSPEC_BAND(chspec) ((chspec) & WL_CHANSPEC_BAND_MASK) argument
204 #define CHSPEC_CTL_SB(chspec) ((chspec) & WL_CHANSPEC_CTL_SB_MASK) argument
205 #define CHSPEC_BW(chspec) ((chspec) & WL_CHANSPEC_BW_MASK) argument
206 #define CHSPEC_GE240_CHAN(chspec) (((chspec) & WL_CHANSPEC_GE240_CHAN_MASK) >> \ argument
208 #define CHSPEC_GE240_SB(chspec) ((chspec) & WL_CHANSPEC_GE240_SB_MASK) argument
210 #define CHSPEC_IS20(chspec) (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_20) argument
211 #define CHSPEC_IS20_5G(chspec) ((((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_20) && \ argument
212 CHSPEC_IS5G(chspec))
214 #define CHSPEC_IS40(chspec) (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_40) argument
217 #define CHSPEC_IS80(chspec) (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_80) argument
220 #define CHSPEC_IS160(chspec) (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_160) argument
222 #define CHSPEC_IS8080(chspec) (FALSE) argument
225 #define CHSPEC_IS320(chspec) (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_320) argument
227 #define CHSPEC_IS320(chspec) (FALSE) argument
232 #define CHSPEC_IS240(chspec) (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_240) argument
234 #define CHSPEC_IS240(chspec) (FALSE) argument
246 uint wf_chspec_first_20_sb(chanspec_t chspec);
262 #define CH_FIRST_20_SB(chspec) ((uint8) (\ argument
263 CHSPEC_IS160(chspec) ? LLL_20_SB_160(CHSPEC_CHANNEL(chspec)) : (\
264 CHSPEC_IS80(chspec) ? LL_20_SB(CHSPEC_CHANNEL(chspec)) : (\
265 CHSPEC_IS40(chspec) ? LOWER_20_SB(CHSPEC_CHANNEL(chspec)) : \
266 CHSPEC_CHANNEL(chspec)))))
271 #define CH_LAST_20_SB(chspec) ((uint8) (\ argument
272 CHSPEC_IS160(chspec) ? UUU_20_SB_160(CHSPEC_CHANNEL(chspec)) : (\
273 CHSPEC_IS80(chspec) ? UU_20_SB(CHSPEC_CHANNEL(chspec)) : (\
274 CHSPEC_IS40(chspec) ? UPPER_20_SB(CHSPEC_CHANNEL(chspec)) : \
275 CHSPEC_CHANNEL(chspec)))))
281 #define CH_NEXT_20_SB(chspec, channel) ((uint8) (\ argument
282 ((uint8) ((channel) + CH_20MHZ_APART) > CH_LAST_20_SB(chspec) ? 0 : \
299 #define CH_FIRST_20_SB(chspec) ((uint8) (\ argument
300 CHSPEC_IS80(chspec) ? LL_20_SB(CHSPEC_CHANNEL(chspec)) : (\
301 CHSPEC_IS40(chspec) ? LOWER_20_SB(CHSPEC_CHANNEL(chspec)) : \
302 CHSPEC_CHANNEL(chspec))))
306 #define CH_LAST_20_SB(chspec) ((uint8) (\ argument
307 CHSPEC_IS80(chspec) ? UU_20_SB(CHSPEC_CHANNEL(chspec)) : (\
308 CHSPEC_IS40(chspec) ? UPPER_20_SB(CHSPEC_CHANNEL(chspec)) : \
309 CHSPEC_CHANNEL(chspec))))
315 #define CH_NEXT_20_SB(chspec, channel) ((uint8) (\ argument
316 ((uint8) ((channel) + CH_20MHZ_APART) > CH_LAST_20_SB(chspec) ? 0 : \
325 #define FOREACH_20_SB(chspec, channel) \ argument
326 for (channel = (uint8)wf_chspec_first_20_sb(chspec); channel; \
327 channel = CH_NEXT_20_SB((chspec), channel))
333 #define GET_ALL_SB(chspec, psb) do { \ argument
335 chanspec_t chspec_local = chspec; \
341 #define IS_CTL_IN_L20(chspec) !((chspec) & WL_CHANSPEC_CTL_SB_U) /* CTL SB is in low 20 of any 40 */ argument
342 #define IS_CTL_IN_L40(chspec) !((chspec) & WL_CHANSPEC_CTL_SB_UL) /* in low 40 of any 80 */ argument
343 #define IS_CTL_IN_L80(chspec) !((chspec) & WL_CHANSPEC_CTL_SB_ULL) /* in low 80 of 160 */ argument
349 #define CHSPEC_IS6G(chspec) (((chspec) & WL_CHANSPEC_BAND_MASK) == WL_CHANSPEC_BAND_6G) argument
350 #define CHSPEC_IS5G(chspec) (((chspec) & WL_CHANSPEC_BAND_MASK) == WL_CHANSPEC_BAND_5G) argument
351 #define CHSPEC_IS2G(chspec) (((chspec) & WL_CHANSPEC_BAND_MASK) == WL_CHANSPEC_BAND_2G) argument
352 #define CHSPEC_SB_UPPER(chspec) \ argument
353 ((((chspec) & WL_CHANSPEC_CTL_SB_MASK) == WL_CHANSPEC_CTL_SB_UPPER) && \
354 (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_40))
355 #define CHSPEC_SB_LOWER(chspec) \ argument
356 ((((chspec) & WL_CHANSPEC_CTL_SB_MASK) == WL_CHANSPEC_CTL_SB_LOWER) && \
357 (((chspec) & WL_CHANSPEC_BW_MASK) == WL_CHANSPEC_BW_40))
360 #define CHSPEC2WLC_BAND(chspec) (CHSPEC_IS2G(chspec) ? WLC_BAND_2G : CHSPEC_IS5G(chspec) ? \ argument
363 #define CHSPEC2WLC_BAND(chspec) (CHSPEC_IS2G(chspec) ? WLC_BAND_2G : WLC_BAND_5G) argument
370 #define CHSPEC_IS_5G_6G(chspec) (CHSPEC_IS5G(chspec) || CHSPEC_IS6G(chspec)) argument
371 #define CHSPEC_IS20_5G_6G(chspec) ((((chspec) & \ argument
373 (CHSPEC_IS5G(chspec) || CHSPEC_IS6G(chspec)))
375 #define CHSPEC_IS_5G_6G(chspec) (CHSPEC_IS5G(chspec)) argument
376 #define CHSPEC_IS20_5G_6G(chspec) (CHSPEC_IS20_5G(chspec)) argument
394 #define CHSPEC_IS_BW_160_WIDE(chspec) (CHSPEC_BW(chspec) == WL_CHANSPEC_BW_160 ||\ argument
395 CHSPEC_BW(chspec) == WL_CHANSPEC_BW_8080)
399 #define CHSPEC_BW_GE(chspec, bw) (CHSPEC_BW(chspec) >= (bw)) argument
401 #define CHSPEC_BW_GT(chspec, bw) (CHSPEC_BW(chspec) > (bw)) argument
426 #define LCHSPEC_CHANNEL(chspec) ((uint8)((chspec) & WL_LCHANSPEC_CHAN_MASK)) argument
427 #define LCHSPEC_BAND(chspec) ((chspec) & WL_LCHANSPEC_BAND_MASK) argument
428 #define LCHSPEC_CTL_SB(chspec) ((chspec) & WL_LCHANSPEC_CTL_SB_MASK) argument
429 #define LCHSPEC_BW(chspec) ((chspec) & WL_LCHANSPEC_BW_MASK) argument
430 #define LCHSPEC_IS20(chspec) (((chspec) & WL_LCHANSPEC_BW_MASK) == WL_LCHANSPEC_BW_20) argument
431 #define LCHSPEC_IS40(chspec) (((chspec) & WL_LCHANSPEC_BW_MASK) == WL_LCHANSPEC_BW_40) argument
432 #define LCHSPEC_IS5G(chspec) (((chspec) & WL_LCHANSPEC_BAND_MASK) == WL_LCHANSPEC_BAND_5G) argument
433 #define LCHSPEC_IS2G(chspec) (((chspec) & WL_LCHANSPEC_BAND_MASK) == WL_LCHANSPEC_BAND_2G) argument
435 #define LCHSPEC_SB_UPPER(chspec) \ argument
436 ((((chspec) & WL_LCHANSPEC_CTL_SB_MASK) == WL_LCHANSPEC_CTL_SB_UPPER) && \
437 (((chspec) & WL_LCHANSPEC_BW_MASK) == WL_LCHANSPEC_BW_40))
438 #define LCHSPEC_SB_LOWER(chspec) \ argument
439 ((((chspec) & WL_LCHANSPEC_CTL_SB_MASK) == WL_LCHANSPEC_CTL_SB_LOWER) && \
440 (((chspec) & WL_LCHANSPEC_BW_MASK) == WL_LCHANSPEC_BW_40))
493 uint wf_bw_chspec_to_mhz(chanspec_t chspec);
498 const char *wf_chspec_to_bw_str(chanspec_t chspec);
503 char * wf_chspec_ntoa_ex(chanspec_t chspec, char *buf);
508 char * wf_chspec_ntoa(chanspec_t chspec, char *buf);
651 uint8 wf_chspec_primary20_chan(chanspec_t chspec);
659 chanspec_t wf_chspec_primary20_chspec(chanspec_t chspec);
667 chanspec_t wf_chspec_primary40_chspec(chanspec_t chspec);
751 extern chanspec_t wf_chspec_primary80_chspec(chanspec_t chspec);
763 extern chanspec_t wf_chspec_secondary80_chspec(chanspec_t chspec);
785 extern chanspec_t wf_chspec_primary160_chspec(chanspec_t chspec);
792 extern void wf_chspec_get_80p80_channels(chanspec_t chspec, uint8 *ch);
855 bool wf_chanspec_iter_next(wf_chanspec_iter_t *iter, chanspec_t *chspec);
874 extern void wf_get_all_ext(chanspec_t chspec, uint8 *chan_ptr);
882 extern uint8 channel_bw_to_width(chanspec_t chspec);