* Return the phy mode for with the specified channel. */
| 2288 | * Return the phy mode for with the specified channel. |
| 2289 | */ |
| 2290 | enum ieee80211_phymode |
| 2291 | ieee80211_chan2mode(const struct ieee80211_channel *chan) |
| 2292 | { |
| 2293 | |
| 2294 | if (IEEE80211_IS_CHAN_VHT_2GHZ(chan)) |
| 2295 | return IEEE80211_MODE_VHT_2GHZ; |
| 2296 | else if (IEEE80211_IS_CHAN_VHT_5GHZ(chan)) |
| 2297 | return IEEE80211_MODE_VHT_5GHZ; |
| 2298 | else if (IEEE80211_IS_CHAN_HTA(chan)) |
| 2299 | return IEEE80211_MODE_11NA; |
| 2300 | else if (IEEE80211_IS_CHAN_HTG(chan)) |
| 2301 | return IEEE80211_MODE_11NG; |
| 2302 | else if (IEEE80211_IS_CHAN_108G(chan)) |
| 2303 | return IEEE80211_MODE_TURBO_G; |
| 2304 | else if (IEEE80211_IS_CHAN_ST(chan)) |
| 2305 | return IEEE80211_MODE_STURBO_A; |
| 2306 | else if (IEEE80211_IS_CHAN_TURBO(chan)) |
| 2307 | return IEEE80211_MODE_TURBO_A; |
| 2308 | else if (IEEE80211_IS_CHAN_HALF(chan)) |
| 2309 | return IEEE80211_MODE_HALF; |
| 2310 | else if (IEEE80211_IS_CHAN_QUARTER(chan)) |
| 2311 | return IEEE80211_MODE_QUARTER; |
| 2312 | else if (IEEE80211_IS_CHAN_A(chan)) |
| 2313 | return IEEE80211_MODE_11A; |
| 2314 | else if (IEEE80211_IS_CHAN_ANYG(chan)) |
| 2315 | return IEEE80211_MODE_11G; |
| 2316 | else if (IEEE80211_IS_CHAN_B(chan)) |
| 2317 | return IEEE80211_MODE_11B; |
| 2318 | else if (IEEE80211_IS_CHAN_FHSS(chan)) |
| 2319 | return IEEE80211_MODE_FH; |
| 2320 | |
| 2321 | /* NB: should not get here */ |
| 2322 | printf("%s: cannot map channel to mode; freq %u flags 0x%x\n", |
| 2323 | __func__, chan->ic_freq, chan->ic_flags); |
| 2324 | return IEEE80211_MODE_11B; |
| 2325 | } |
| 2326 | |
| 2327 | struct ratemedia { |
| 2328 | u_int match; /* rate + mode */ |
no test coverage detected