svn commit: r308811 - head/sys/net80211
Adrian Chadd
adrian at FreeBSD.org
Fri Nov 18 21:12:14 UTC 2016
Author: adrian
Date: Fri Nov 18 21:12:13 2016
New Revision: 308811
URL: https://svnweb.freebsd.org/changeset/base/308811
Log:
[net80211] shuffle IEEE80211_C and HTC bits over to _ieee80211.h so userland can use this.
Reviewed by: avos
Differential Revision: https://reviews.freebsd.org/D8553
Modified:
head/sys/net80211/_ieee80211.h
head/sys/net80211/ieee80211_var.h
Modified: head/sys/net80211/_ieee80211.h
==============================================================================
--- head/sys/net80211/_ieee80211.h Fri Nov 18 21:09:57 2016 (r308810)
+++ head/sys/net80211/_ieee80211.h Fri Nov 18 21:12:13 2016 (r308811)
@@ -402,4 +402,71 @@ struct ieee80211_mimo_info {
uint8_t pad[2];
uint32_t evm[3]; /* EVM data */
};
+
+/*
+ * ic_caps/iv_caps: device driver capabilities
+ */
+/* 0x2e available */
+#define IEEE80211_C_STA 0x00000001 /* CAPABILITY: STA available */
+#define IEEE80211_C_8023ENCAP 0x00000002 /* CAPABILITY: 802.3 encap */
+#define IEEE80211_C_FF 0x00000040 /* CAPABILITY: ATH FF avail */
+#define IEEE80211_C_TURBOP 0x00000080 /* CAPABILITY: ATH Turbo avail*/
+#define IEEE80211_C_IBSS 0x00000100 /* CAPABILITY: IBSS available */
+#define IEEE80211_C_PMGT 0x00000200 /* CAPABILITY: Power mgmt */
+#define IEEE80211_C_HOSTAP 0x00000400 /* CAPABILITY: HOSTAP avail */
+#define IEEE80211_C_AHDEMO 0x00000800 /* CAPABILITY: Old Adhoc Demo */
+#define IEEE80211_C_SWRETRY 0x00001000 /* CAPABILITY: sw tx retry */
+#define IEEE80211_C_TXPMGT 0x00002000 /* CAPABILITY: tx power mgmt */
+#define IEEE80211_C_SHSLOT 0x00004000 /* CAPABILITY: short slottime */
+#define IEEE80211_C_SHPREAMBLE 0x00008000 /* CAPABILITY: short preamble */
+#define IEEE80211_C_MONITOR 0x00010000 /* CAPABILITY: monitor mode */
+#define IEEE80211_C_DFS 0x00020000 /* CAPABILITY: DFS/radar avail*/
+#define IEEE80211_C_MBSS 0x00040000 /* CAPABILITY: MBSS available */
+#define IEEE80211_C_SWSLEEP 0x00080000 /* CAPABILITY: do sleep here */
+#define IEEE80211_C_SWAMSDUTX 0x00100000 /* CAPABILITY: software A-MSDU TX */
+/* 0x7c0000 available */
+#define IEEE80211_C_WPA1 0x00800000 /* CAPABILITY: WPA1 avail */
+#define IEEE80211_C_WPA2 0x01000000 /* CAPABILITY: WPA2 avail */
+#define IEEE80211_C_WPA 0x01800000 /* CAPABILITY: WPA1+WPA2 avail*/
+#define IEEE80211_C_BURST 0x02000000 /* CAPABILITY: frame bursting */
+#define IEEE80211_C_WME 0x04000000 /* CAPABILITY: WME avail */
+#define IEEE80211_C_WDS 0x08000000 /* CAPABILITY: 4-addr support */
+/* 0x10000000 reserved */
+#define IEEE80211_C_BGSCAN 0x20000000 /* CAPABILITY: bg scanning */
+#define IEEE80211_C_TXFRAG 0x40000000 /* CAPABILITY: tx fragments */
+#define IEEE80211_C_TDMA 0x80000000 /* CAPABILITY: TDMA avail */
+/* XXX protection/barker? */
+
+#define IEEE80211_C_OPMODE \
+ (IEEE80211_C_STA | IEEE80211_C_IBSS | IEEE80211_C_HOSTAP | \
+ IEEE80211_C_AHDEMO | IEEE80211_C_MONITOR | IEEE80211_C_WDS | \
+ IEEE80211_C_TDMA | IEEE80211_C_MBSS)
+
+#define IEEE80211_C_BITS \
+ "\20\1STA\002803ENCAP\7FF\10TURBOP\11IBSS\12PMGT" \
+ "\13HOSTAP\14AHDEMO\15SWRETRY\16TXPMGT\17SHSLOT\20SHPREAMBLE" \
+ "\21MONITOR\22DFS\23MBSS\30WPA1\31WPA2\32BURST\33WME\34WDS\36BGSCAN" \
+ "\37TXFRAG\40TDMA"
+
+/*
+ * ic_htcaps/iv_htcaps: HT-specific device/driver capabilities
+ *
+ * NB: the low 16-bits are the 802.11 definitions, the upper
+ * 16-bits are used to define s/w/driver capabilities.
+ */
+#define IEEE80211_HTC_AMPDU 0x00010000 /* CAPABILITY: A-MPDU tx */
+#define IEEE80211_HTC_AMSDU 0x00020000 /* CAPABILITY: A-MSDU tx */
+/* NB: HT40 is implied by IEEE80211_HTCAP_CHWIDTH40 */
+#define IEEE80211_HTC_HT 0x00040000 /* CAPABILITY: HT operation */
+#define IEEE80211_HTC_SMPS 0x00080000 /* CAPABILITY: MIMO power save*/
+#define IEEE80211_HTC_RIFS 0x00100000 /* CAPABILITY: RIFS support */
+#define IEEE80211_HTC_RXUNEQUAL 0x00200000 /* CAPABILITY: RX unequal MCS */
+#define IEEE80211_HTC_RXMCS32 0x00400000 /* CAPABILITY: MCS32 support */
+#define IEEE80211_HTC_TXUNEQUAL 0x00800000 /* CAPABILITY: TX unequal MCS */
+#define IEEE80211_HTC_TXMCS32 0x01000000 /* CAPABILITY: MCS32 support */
+
+#define IEEE80211_C_HTCAP_BITS \
+ "\20\1LDPC\2CHWIDTH40\5GREENFIELD\6SHORTGI20\7SHORTGI40\10TXSTBC" \
+ "\21AMPDU\22AMSDU\23HT\24SMPS\25RIFS"
+
#endif /* _NET80211__IEEE80211_H_ */
Modified: head/sys/net80211/ieee80211_var.h
==============================================================================
--- head/sys/net80211/ieee80211_var.h Fri Nov 18 21:09:57 2016 (r308810)
+++ head/sys/net80211/ieee80211_var.h Fri Nov 18 21:12:13 2016 (r308811)
@@ -633,70 +633,6 @@ MALLOC_DECLARE(M_80211_VAP);
#define IEEE80211_FVEN_BITS "\20"
-/* ic_caps/iv_caps: device driver capabilities */
-/* 0x2e available */
-#define IEEE80211_C_STA 0x00000001 /* CAPABILITY: STA available */
-#define IEEE80211_C_8023ENCAP 0x00000002 /* CAPABILITY: 802.3 encap */
-#define IEEE80211_C_FF 0x00000040 /* CAPABILITY: ATH FF avail */
-#define IEEE80211_C_TURBOP 0x00000080 /* CAPABILITY: ATH Turbo avail*/
-#define IEEE80211_C_IBSS 0x00000100 /* CAPABILITY: IBSS available */
-#define IEEE80211_C_PMGT 0x00000200 /* CAPABILITY: Power mgmt */
-#define IEEE80211_C_HOSTAP 0x00000400 /* CAPABILITY: HOSTAP avail */
-#define IEEE80211_C_AHDEMO 0x00000800 /* CAPABILITY: Old Adhoc Demo */
-#define IEEE80211_C_SWRETRY 0x00001000 /* CAPABILITY: sw tx retry */
-#define IEEE80211_C_TXPMGT 0x00002000 /* CAPABILITY: tx power mgmt */
-#define IEEE80211_C_SHSLOT 0x00004000 /* CAPABILITY: short slottime */
-#define IEEE80211_C_SHPREAMBLE 0x00008000 /* CAPABILITY: short preamble */
-#define IEEE80211_C_MONITOR 0x00010000 /* CAPABILITY: monitor mode */
-#define IEEE80211_C_DFS 0x00020000 /* CAPABILITY: DFS/radar avail*/
-#define IEEE80211_C_MBSS 0x00040000 /* CAPABILITY: MBSS available */
-#define IEEE80211_C_SWSLEEP 0x00080000 /* CAPABILITY: do sleep here */
-#define IEEE80211_C_SWAMSDUTX 0x00100000 /* CAPABILITY: software A-MSDU TX */
-/* 0x7c0000 available */
-#define IEEE80211_C_WPA1 0x00800000 /* CAPABILITY: WPA1 avail */
-#define IEEE80211_C_WPA2 0x01000000 /* CAPABILITY: WPA2 avail */
-#define IEEE80211_C_WPA 0x01800000 /* CAPABILITY: WPA1+WPA2 avail*/
-#define IEEE80211_C_BURST 0x02000000 /* CAPABILITY: frame bursting */
-#define IEEE80211_C_WME 0x04000000 /* CAPABILITY: WME avail */
-#define IEEE80211_C_WDS 0x08000000 /* CAPABILITY: 4-addr support */
-/* 0x10000000 reserved */
-#define IEEE80211_C_BGSCAN 0x20000000 /* CAPABILITY: bg scanning */
-#define IEEE80211_C_TXFRAG 0x40000000 /* CAPABILITY: tx fragments */
-#define IEEE80211_C_TDMA 0x80000000 /* CAPABILITY: TDMA avail */
-/* XXX protection/barker? */
-
-#define IEEE80211_C_OPMODE \
- (IEEE80211_C_STA | IEEE80211_C_IBSS | IEEE80211_C_HOSTAP | \
- IEEE80211_C_AHDEMO | IEEE80211_C_MONITOR | IEEE80211_C_WDS | \
- IEEE80211_C_TDMA | IEEE80211_C_MBSS)
-
-#define IEEE80211_C_BITS \
- "\20\1STA\002803ENCAP\7FF\10TURBOP\11IBSS\12PMGT" \
- "\13HOSTAP\14AHDEMO\15SWRETRY\16TXPMGT\17SHSLOT\20SHPREAMBLE" \
- "\21MONITOR\22DFS\23MBSS\30WPA1\31WPA2\32BURST\33WME\34WDS\36BGSCAN" \
- "\37TXFRAG\40TDMA"
-
-/*
- * ic_htcaps/iv_htcaps: HT-specific device/driver capabilities
- *
- * NB: the low 16-bits are the 802.11 definitions, the upper
- * 16-bits are used to define s/w/driver capabilities.
- */
-#define IEEE80211_HTC_AMPDU 0x00010000 /* CAPABILITY: A-MPDU tx */
-#define IEEE80211_HTC_AMSDU 0x00020000 /* CAPABILITY: A-MSDU tx */
-/* NB: HT40 is implied by IEEE80211_HTCAP_CHWIDTH40 */
-#define IEEE80211_HTC_HT 0x00040000 /* CAPABILITY: HT operation */
-#define IEEE80211_HTC_SMPS 0x00080000 /* CAPABILITY: MIMO power save*/
-#define IEEE80211_HTC_RIFS 0x00100000 /* CAPABILITY: RIFS support */
-#define IEEE80211_HTC_RXUNEQUAL 0x00200000 /* CAPABILITY: RX unequal MCS */
-#define IEEE80211_HTC_RXMCS32 0x00400000 /* CAPABILITY: MCS32 support */
-#define IEEE80211_HTC_TXUNEQUAL 0x00800000 /* CAPABILITY: TX unequal MCS */
-#define IEEE80211_HTC_TXMCS32 0x01000000 /* CAPABILITY: MCS32 suport */
-
-#define IEEE80211_C_HTCAP_BITS \
- "\20\1LDPC\2CHWIDTH40\5GREENFIELD\6SHORTGI20\7SHORTGI40\10TXSTBC" \
- "\21AMPDU\22AMSDU\23HT\24SMPS\25RIFS"
-
int ic_printf(struct ieee80211com *, const char *, ...) __printflike(2, 3);
void ieee80211_ifattach(struct ieee80211com *);
void ieee80211_ifdetach(struct ieee80211com *);
More information about the svn-src-all
mailing list