我正在编写一个需要从此联合中读取比特率值的内核模块:
union iwreq_data
{
.......
struct iw_param bitrate; /* default bit rate */
....
}
这段代码是从wireless.h中获取的。谁知道我怎样才能获取它的'价值?我的意思是我应该使用net_device?wireless_dev?我正在使用linux内核2.6.35
答案 0 :(得分:1)
如果您有union iwreq_data *data
,则只需使用data->bitrate.value
。
但是这个结构并不是永久存在的,所以你不能为给定的设备获得指向它的指针。在为设备设置或获取参数时使用该结构,并且仅在设置/获取操作的持续时间内存在该结构 设置比特率时,驱动程序以依赖于驱动程序的方式保存新值,并释放结构(通常在设置函数的堆栈中分配)。
您可以尝试拨打ieee80211softmac_wx_get_rate
来获取它。给它一个指向未初始化union iwreq_data
的指针,它将填充比特率。