net_device 内核提供的结构体,描述网络设备的参数。
ath_softc 在驱动里面提供的用来描述网络设备软件控制的一些参数的结构体。
net_device *dev
ath_softc *sc = dev->priv;
在priv为net_device指向自己私有数据的指针。
ath_buf *bf
bf = STAILQ_FIRST(&sc->sc_rxbuf);
#define STAILQ_FIRST(head) ((head)->stqh_first)
ath_bufhead sc_rxbuf; /* receive buffer */
typedef STAILQ_HEAD(, ath_buf) ath_bufhead;
struct ath_desc *ds;
ds = bf->bf_desc;
struct ath_hal *ah = sc->sc_ah;// ath_hal这是硬件抽象层的一个关键结构体,里面描述了物理硬件现在的状态。
struct ieee80211com *ic = &sc->sc_ic;//ieee80211com是针对于802.11的通用结构体。
struct ieee80211_node *ni;
ni = sc->sc_keyixmap[ds->ds_rxstat.rs_keyix];
ath_stats//在ath_softc结构体中存在
struct ath_stats sc_stats; /* private statistics */
上面是在驱动里面出现的几个较常见也较关键的结构体。