1 数据结构:
1.1、ath_softc; 主要记录和 wifi 卡设备相关信息,通过 dev 可以获取到该结构
1.2、ieee80211com; 主要提供与 WIFI 卡级相关的内容;
1.3、ieee80211vap; 主要提供与 VAP 级的内容;
1.4、ieee80211_node: 描述本端或者对端节点的内容;
1.5、ath_buf: 接收/发送缓存内容;
1.6、ath_vap: 虚拟 ap 结构;
1.7、ieee80211_key: 保存密钥的相关信息;
1.8、ieee80211_scan_state:扫描状态相关信息;
1.1 ath_softc:主要记录和 wifi 卡设备相关信息,通过 dev 可以获取到该结构;
struct ath_softc {
struct ieee80211com sc_ic; /* NB: must be first */
struct net_device *sc_dev; //设备回指针
struct semaphore sc_lock; //信号锁
struct net_device_stats sc_devstats; //网络设备统计结构
struct ath_statssc_stats; //私有统计结构
int devid; //设备 ID
u_int32_t sc_debug; //调试开关,调试级别
u_int8_t sc_aucDebug[ATH_MODULE_NUM]; /*打印级别*/
void (*sc_recv_mgmt)(struct ieee80211_node *, struct sk_buff *, int, int, u_int32_t); //管理帧消息处理函数
void (*sc_node_cleanup)(struct ieee80211_node *); //节点上下文清除函数
void (*sc_node_free)(struct ieee80211_node *); //节点删除函数
void *sc_bdev; //PCI 设备
struct ath_hal *sc_ah; /* Atheros HAL */
spinlock_t sc_hal_lock; /* hardware access lock */ //HAL 操作锁
struct ath_ratectrl *sc_rc; /* tx rate control support */ //发送速率控制所支持的空间大小
struct ath_tx99 *sc_tx99; /* tx99 support */ //TX99 测试
void (*sc_setdefantenna)(struct ath_softc *, u_int);
//硬件能力信息位
unsigned int sc_invalid:1, /* being detached */
sc_mrretry:1, /* multi-rate retry support */
sc_softled:1, /* enable LED gpio status */
sc_splitmic:1, /* split TKIP MIC keys */
sc_needmib:1, /* enable MIB stats intr */
sc_hasdiversity:1, /* rx diversity available */
sc_diversity:1, /* enable rx diversity */
sc_olddiversity:1, /* diversity setting before XR enable */
sc_hasveol:1, /* tx VEOL support */
sc_hastpc:1, /* per-packet TPC support */
sc_dturbo:1, /* dynamic turbo capable */
sc_dturbo_switch:1, /* turbo switch mode*/
sc_dturbo_hold:1, /* dynamic turbo hold state */
sc_rate_recn_state:1, /* dynamic turbo state recmded by ratectrl */
sc_ignore_ar:1, /* ignore AR during transision*/
sc_ledstate:1, /* LED on/off state */
sc_blinking:1, /* LED blink operation active */
sc_beacons:1, /* beacons running */
sc_hasbmask:1, /* bssid mask support */
sc_mcastkey:1, /* mcast key cache search */
sc_hastsfadd:1, /* tsf adjust support */
sc_scanning:1, /* scanning active */
sc_nostabeacons:1, /* no beacons for station */
sc_xrgrppoll:1, /* xr group polls are active */
sc_syncbeacon:1, /* sync/resync beacon timers */
sc_hasclrkey:1, /* CLR key supported */
sc_devstopped:1, /* stopped due to of no tx bufs */
sc_stagbeacons:1, /* use staggered beacons */
sc_rtasksched:1, /* radar task is scheduled */
sc_dfswait:1, /* waiting on channel for radar detect */
sc_dfstest:1, /* Test timer in progress */
评论0
最新资源