мне нужно прочитать некоторые статистические данные из iw_statistics структуры, вот код:пытается прочитать iw_statistics, но код не работает?
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");
}
}
}
Я работаю на Linux ядро 2.6.35, и я пишу модуль ядра. Что я здесь делаю неправильно?
Может быть http://unix.stackexchange.com/ это лучшее место для вашего вопроса? –
Добавление ошибки, которую вы получаете от ядра, было бы очень полезно, но, предположим, dev-> wireless_handlers будет NULL. Сравнение имени интерфейса - неправильный способ решить, является ли net_dev устройством Wi-Fi или нет. –
нет ошибки, он записывает кучу вещей в файле журнала, который выглядит так: '15 июня 06:56:13 ubuntu kernel: [175.362072] * pde = 00000000 15 июн 06:56:13 Ядро ubuntu: [175.364020] Модули связаны: myNetStats (P +) RFCOMM binfmt_misc SCO BNEP L2CAP parport_pc PPDEV snd_hda_codec_atihdmi ARC4 snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm ath5k snd_seq_midi mac80211 snd_rawmidi Radeon snd_seq_midi_event uvcvideo joydev snd_seq hp_wmi ATH .... ' – Killua