summaryrefslogtreecommitdiff
path: root/openwrt/target/linux/package/ieee80211-dscape/src/wme.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2005-12-28 13:22:51 +0000
committerFelix Fietkau <nbd@openwrt.org>2005-12-28 13:22:51 +0000
commita50279c334808ccb3bd182bf7139ddeb90c813c3 (patch)
tree1ec5c42825b0affec4a6d339f33ccb31bff72bb6 /openwrt/target/linux/package/ieee80211-dscape/src/wme.h
parent354f26489484e71a07d6e8ec1b93748e74ae30d5 (diff)
downloadmtk-20170518-a50279c334808ccb3bd182bf7139ddeb90c813c3.zip
mtk-20170518-a50279c334808ccb3bd182bf7139ddeb90c813c3.tar.gz
mtk-20170518-a50279c334808ccb3bd182bf7139ddeb90c813c3.tar.bz2
add devicescape 802.11 stack
SVN-Revision: 2791
Diffstat (limited to 'openwrt/target/linux/package/ieee80211-dscape/src/wme.h')
-rw-r--r--openwrt/target/linux/package/ieee80211-dscape/src/wme.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/openwrt/target/linux/package/ieee80211-dscape/src/wme.h b/openwrt/target/linux/package/ieee80211-dscape/src/wme.h
new file mode 100644
index 0000000..9b27947
--- /dev/null
+++ b/openwrt/target/linux/package/ieee80211-dscape/src/wme.h
@@ -0,0 +1,53 @@
+/*
+ * IEEE 802.11 driver (80211.o) - QoS datatypes
+ * Copyright 2004, Instant802 Networks, Inc.
+ * Copyright 2005, Devicescape Software, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <asm/byteorder.h>
+#include <net/pkt_sched.h>
+
+#define QOS_CONTROL_LEN 2
+
+#define QOS_CONTROL_ACK_POLICY_NORMAL 0
+#define QOS_CONTROL_ACK_POLICY_NOACK 1
+
+#define QOS_CONTROL_TID_MASK 0x0f
+#define QOS_CONTROL_ACK_POLICY_SHIFT 5
+
+/* This bit field structure should not be used; it can cause compiler to
+ * generate unaligned accesses and inefficient code. */
+struct qos_control {
+#if defined(__LITTLE_ENDIAN_BITFIELD)
+ u8 tag1d:3, /* bits 0-2 */
+ reserved1:1,
+ eosp:1,
+ ack_policy:2,
+ reserved2:1;
+#elif defined (__BIG_ENDIAN_BITFIELD)
+ u8 reserved2:1,
+ ack_policy:2,
+ eosp:1,
+ reserved1:1,
+ tag1d:3; /* bits 0-2 */
+#else
+#error "Please fix <asm/byteorder.h>"
+#endif
+ u8 reserved;
+} __attribute__ ((packed));
+
+ieee80211_txrx_result
+ieee80211_rx_h_parse_qos(struct ieee80211_txrx_data *rx);
+
+ieee80211_txrx_result
+ieee80211_rx_h_remove_qos_control(struct ieee80211_txrx_data *rx);
+
+void ieee80211_install_qdisc(struct net_device *dev);
+
+int ieee80211_wme_register(void);
+void ieee80211_wme_unregister(void);
+