summaryrefslogtreecommitdiffstats
path: root/sys/net80211/_ieee80211.h
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2007-01-15 01:12:28 +0000
committersam <sam@FreeBSD.org>2007-01-15 01:12:28 +0000
commita3a275335d46831246b871b344c2737ae0cb4468 (patch)
treed73d0349b154f05d7b8dd12e7775dd3023714dc4 /sys/net80211/_ieee80211.h
parent62b15d9b508f7c3085d34682b2b77ee3d8f2dbfe (diff)
downloadFreeBSD-src-a3a275335d46831246b871b344c2737ae0cb4468.zip
FreeBSD-src-a3a275335d46831246b871b344c2737ae0cb4468.tar.gz
Add initial support for 900MHz cards like the Ubiquiti SR9:
o add channel flag to enable freq <-> ieee channel # mapping (can go away in the future when ieee number is precomputed) o add mapping between 900mhz freq's and channel #'s that gives a unique channel # for each half/quarter/full width channel o remove assumptions that half/quarter rate channels on happen in 11a o remove assumptions that all 11g channels are full width o ensure ic_curchan is reset on mode change so changing the channel list (e.g. on countrycode change) doesn't leave curchan set to an invalid channel There is still an issue with switching rate sets; to be fixed separately. MFC after: 1 month
Diffstat (limited to 'sys/net80211/_ieee80211.h')
-rw-r--r--sys/net80211/_ieee80211.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net80211/_ieee80211.h b/sys/net80211/_ieee80211.h
index 4eb522c..4f3fe29 100644
--- a/sys/net80211/_ieee80211.h
+++ b/sys/net80211/_ieee80211.h
@@ -123,6 +123,7 @@ struct ieee80211_channel {
#define IEEE80211_CHAN_PASSIVE 0x0200 /* Only passive scan allowed */
#define IEEE80211_CHAN_DYN 0x0400 /* Dynamic CCK-OFDM channel */
#define IEEE80211_CHAN_GFSK 0x0800 /* GFSK channel (FHSS PHY) */
+#define IEEE80211_CHAN_GSM 0x1000 /* 900 MHz spectrum channel */
#define IEEE80211_CHAN_HALF 0x4000 /* Half rate channel */
#define IEEE80211_CHAN_QUARTER 0x8000 /* Quarter rate channel */
@@ -181,6 +182,10 @@ struct ieee80211_channel {
(((_c)->ic_flags & IEEE80211_CHAN_HALF) != 0)
#define IEEE80211_IS_CHAN_QUARTER(_c) \
(((_c)->ic_flags & IEEE80211_CHAN_QUARTER) != 0)
+#define IEEE80211_IS_CHAN_FULL(_c) \
+ (((_c)->ic_flags & (IEEE80211_CHAN_QUARTER | IEEE80211_CHAN_HALF)) == 0)
+#define IEEE80211_IS_CHAN_GSM(_c) \
+ (((_c)->ic_flags & IEEE80211_CHAN_GSM) != 0)
/* ni_chan encoding for FH phy */
#define IEEE80211_FH_CHANMOD 80
OpenPOWER on IntegriCloud