Linux 试图读取iw_统计数据,但代码无法工作?
我需要从iw_统计结构中读取某些统计信息,以下是代码:Linux 试图读取iw_统计数据,但代码无法工作?,linux,wireless,Linux,Wireless,我需要从iw_统计结构中读取某些统计信息,以下是代码: struct net_device *dev; struct iw_statistics *wi_stats = NULL; dev = first_net_device(&init_net); while (dev) { if (strncmp(dev->name , "wlan",4)==0 ) { if (dev->wireless_handlers-get_
struct net_device *dev;
struct iw_statistics *wi_stats = NULL;
dev = first_net_device(&init_net);
while (dev)
{
if (strncmp(dev->name , "wlan",4)==0 )
{
if (dev->wireless_handlers-get_wireless_stats(dev) !=NULL ) // <--- here's where the code crashes.
{
wi_stats = dev-wireless_handlers->get_wireless_stats(dev);
printk(KERN_INFO "wi_stats = dev-wireless_handlers->get_wireless_stats(dev); worked!!! :D\n");
}
}
}
struct net\u设备*dev;
struct iw_statistics*wi_stats=NULL;
dev=第一个网络设备(&init网络);
while(dev)
{
如果(strncmp(dev->name,“wlan”,4)==0)
{
如果(dev->wireless\u handlers-get\u wireless\u stats(dev)!=NULL)/您真的想写吗
if (dev->wireless_handlers-get_wireless_stats(dev) !=NULL )
还是你的意思
if (dev->wireless_handlers->get_wireless_stats(dev) !=NULL )
也许是一个更好的地方来回答您的问题?添加从内核中得到的错误将非常有用,但我猜,dev->wireless\u handlers是空的。比较接口名称是判断net\u dev是否为wifi设备的错误方法。没有错误,它在日志文件中写入了大量类似以下内容:JuN15 06:56:13 ubuntu内核:[175.362072]*pde=00000000 Jun 15 06:56:13 ubuntu内核:[175.364020]模块链接到:myNetStats(P+)rfcomm binfmt\U misc sco bnep l2cap parport\U pc ppdev snd\U hda\U codec\U ATIMI arc4 snd\U hda\U codec\U idt snd\U hda\U英特尔snd\U hda\U编解码器snd\U hwdep snd\U pcm ath5k snd\U SEQU midi radeon mac80211 snd\U rawmidi snd\U SEQUE\U midi事件UVIDEO JOYOU DEV snd\SEQUE hp wmi……/code>您的想法是正确的吗?有什么问题吗在这里复制时是一个输入错误,但是真正的代码是正确输入的…知道怎么回事吗/