1 /* 2 * IEEE 802.11 driver (80211.o) - QoS datatypes 3 * Copyright 2004, Instant802 Networks, Inc. 4 * Copyright 2005, Devicescape Software, Inc. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 11 #ifndef _WME_H 12 #define _WME_H 13 14 #include <linux/netdevice.h> 15 #include "ieee80211_i.h" 16 17 #define QOS_CONTROL_LEN 2 18 19 #define QOS_CONTROL_ACK_POLICY_NORMAL 0 20 #define QOS_CONTROL_ACK_POLICY_NOACK 1 21 22 #define QOS_CONTROL_TID_MASK 0x0f 23 #define QOS_CONTROL_ACK_POLICY_SHIFT 5 24 25 #define QOS_CONTROL_TAG1D_MASK 0x07 26 27 static inline int WLAN_FC_IS_QOS_DATA(u16 fc) 28 { 29 return (fc & 0x8C) == 0x88; 30 } 31 32 #ifdef CONFIG_NET_SCHED 33 void ieee80211_install_qdisc(struct net_device *dev); 34 int ieee80211_qdisc_installed(struct net_device *dev); 35 36 int ieee80211_wme_register(void); 37 void ieee80211_wme_unregister(void); 38 #else 39 static inline void ieee80211_install_qdisc(struct net_device *dev) 40 { 41 } 42 static inline int ieee80211_qdisc_installed(struct net_device *dev) 43 { 44 return 0; 45 } 46 47 static inline int ieee80211_wme_register(void) 48 { 49 return 0; 50 } 51 static inline void ieee80211_wme_unregister(void) 52 { 53 } 54 #endif /* CONFIG_NET_SCHED */ 55 56 #endif /* _WME_H */ 57