#ifndef _NET80211_IEEE80211_VAR_H_
#define _NET80211_IEEE80211_VAR_H_
-#define IEEE80211_DEBUG
-#define IEEE80211_DEBUG_REFCNT /* Node reference count debugging */
-
/* Definitions for IEEE 802.11 drivers. */
#include <net80211/ieee80211_linux.h>
#define IEEE80211_SWBMISS_THRESHOLD 10 /* software beacon miss threshold, in TUs */
+#define DEV_NAME(_d) \
+ ((NULL == _d || NULL == _d->name || 0 == strncmp(_d->name, "wifi%d", 6)) ? \
+ "MadWifi" : \
+ _d->name)
+#define VAP_DEV_NAME(_v) \
+ ((NULL == _v) ? \
+ "MadWifi" : \
+ DEV_NAME(_v->iv_dev))
+#define VAP_IC_DEV_NAME(_v) \
+ ((NULL == _v || NULL == _v->iv_ic) ? \
+ "MadWifi" : \
+ DEV_NAME(_v->iv_ic->ic_dev))
+
#define IEEE80211_MS_TO_TU(x) (((x) * 1000) / 1024)
#define IEEE80211_TU_TO_MS(x) (((x) * 1024) / 1000)
#define IEEE80211_TU_TO_JIFFIES(x) ((IEEE80211_TU_TO_MS(x) * HZ) / 1000)
u_int8_t ic_chanchange_tbtt;
u_int8_t ic_chanchange_chan;
+ /* Global debug flags applicable to all VAPs */
+ int ic_debug;
/* Virtual AP create/delete */
struct ieee80211vap *(*ic_vap_create)(struct ieee80211com *,
const char *, int, int, struct net_device *);
/* U-APSD support */
void (*ic_uapsd_flush)(struct ieee80211_node *);
+ /* continuous transmission support */
+ void (*ic_set_txcont)(struct ieee80211com *, int);
+ int (*ic_get_txcont)(struct ieee80211com *);
+ void (*ic_set_txcont_power)(struct ieee80211com *, u_int);
+ int (*ic_get_txcont_power)(struct ieee80211com *);
+ void (*ic_set_txcont_rate)(struct ieee80211com *, u_int);
+ u_int (*ic_get_txcont_rate)(struct ieee80211com *);
+
/* Set coverage class */
void (*ic_set_coverageclass)(struct ieee80211com *);