54#include <sys/sysctl.h>
56#include <sys/malloc.h>
59#include <sys/kernel.h>
60#include <sys/socket.h>
61#include <sys/sockio.h>
63#include <sys/callout.h>
65#include <sys/endian.h>
66#include <sys/kthread.h>
67#include <sys/taskqueue.h>
69#include <sys/module.h>
73#include <machine/bus.h>
76#include <net/if_var.h>
78#include <net/if_media.h>
79#include <net/if_types.h>
80#include <net/if_arp.h>
81#include <net/ethernet.h>
82#include <net/if_llc.h>
84#include <net80211/ieee80211_var.h>
85#include <net80211/ieee80211_regdomain.h>
86#ifdef IEEE80211_SUPPORT_SUPERG
87#include <net80211/ieee80211_superg.h>
89#ifdef IEEE80211_SUPPORT_TDMA
90#include <net80211/ieee80211_tdma.h>
96#include <netinet/in.h>
97#include <netinet/if_ether.h>
111#ifdef IEEE80211_SUPPORT_TDMA
131 struct ieee80211com *ic = &sc->
sc_ic;
132 struct ieee80211_node *ni;
136 ni = ieee80211_find_node(&ic->ic_sta, rs->
is_u.
macaddr);
155 ieee80211_node_decref(ni);
174 void *outdata = NULL;
183 indata = malloc(insize, M_TEMP, M_NOWAIT);
184 if (indata == NULL) {
188 error = copyin(ad->
ad_in_data, indata, insize);
200 outdata = malloc(outsize, M_TEMP, M_NOWAIT | M_ZERO);
201 if (outdata == NULL) {
213 if (outsize < ad->ad_out_size)
229 free(indata, M_TEMP);
231 free(outdata, M_TEMP);
237ath_ioctl(
struct ieee80211com *ic, u_long cmd,
void *data)
239 struct ifreq *ifr = data;
244 struct ieee80211vap *vap;
251 TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
260#ifdef IEEE80211_SUPPORT_TDMA
269 return copyout(&sc->
sc_stats, ifr_data_get_ptr(ifr),
278 error = priv_check(curthread, PRIV_DRIVER);
290 return (ath_ioctl_diag(sc, data));
static int ath_rate_fetch_node_stats(struct ath_softc *sc, struct ath_node *an, struct ath_rateioctl *re)
int ath_ioctl_phyerr(struct ath_softc *sc, struct ath_diag *ad)
int ath_btcoex_ioctl(struct ath_softc *sc, struct ath_diag *ad)
int ath_ioctl(struct ieee80211com *ic, u_long cmd, void *data)
static int ath_ioctl_ratestats(struct ath_softc *sc, struct ath_rateioctl *rs)
#define ath_power_restore_power_state(sc)
#define ath_power_set_power_state(sc, ps)
int ath_ioctl_spectral(struct ath_softc *sc, struct ath_diag *ad)
#define SIOCGATHNODERATESTATS
#define ATH_NODE_LOCK(_an)
#define ATH_NODE_UNLOCK(_an)
#define ath_hal_getdiagstate(_ah, _id, _indata, _insize, _outdata, _outsize)
struct HAL_RATE_TABLE::@3 info[64]
uint8_t macaddr[IEEE80211_ADDR_LEN]
union ath_rateioctl::@30 is_u
const HAL_RATE_TABLE * sc_currates
struct ath_intr_stats sc_intr_stats
HAL_NODE_STATS sc_halstats
struct ath_stats sc_stats
u_int32_t sc_avgtsfdeltam
struct ath_tx_aggr_stats sc_aggr_stats
u_int32_t sc_avgtsfdeltap
struct ieee80211com sc_ic
u_int16_t ast_tdma_tsfadjp
u_int16_t ast_tdma_tsfadjm