diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-12-28 13:22:51 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-12-28 13:22:51 +0000 |
commit | c4d1d77a75f13b2028272859a2c251265b6cd517 (patch) | |
tree | 36d014b21bea310490c29e75edbd2d6cf901a999 /target/linux/package/ieee80211-dscape/src/wme.h | |
parent | cbfb78f081d7e4589eb57775c024c1fd2c156d44 (diff) |
add devicescape 802.11 stack
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2791 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/package/ieee80211-dscape/src/wme.h')
-rw-r--r-- | target/linux/package/ieee80211-dscape/src/wme.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/target/linux/package/ieee80211-dscape/src/wme.h b/target/linux/package/ieee80211-dscape/src/wme.h new file mode 100644 index 000000000..9b2794780 --- /dev/null +++ b/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); + |