内核源代码中 /proc/net/wireless 的实现在哪里
Where is the implementation for /proc/net/wireless in the kernel source
我想知道 /proc/net/wireless 在内核源代码树中的什么地方实现了,这样我就可以查看它的实现,了解质量 link 级噪声参数是如何填充的
在net/wireless/wext-proc.c中实现,具体见
wireless_dev_seq_show()
函数:
static int wireless_dev_seq_show(struct seq_file *seq, void *v)
{
might_sleep();
if (v == SEQ_START_TOKEN)
seq_printf(seq, "Inter-| sta-| Quality | Discarded "
"packets | Missed | WE\n"
" face | tus | link level noise | nwid "
"crypt frag retry misc | beacon | %d\n",
WIRELESS_EXT);
else
wireless_seq_printf_stats(seq, v);
return 0;
}
此外,调用堆栈是 wireless_seq_printf_stats()
-> get_wireless_stats()
-> dev->ieee80211_ptr->wiphy->wext->get_wireless_stats(dev)
并且从这里实现取决于给定的芯片,例如 [=21 中的 .get_wireless_stats = airo_get_wireless_stats
=].c
我想知道 /proc/net/wireless 在内核源代码树中的什么地方实现了,这样我就可以查看它的实现,了解质量 link 级噪声参数是如何填充的
在net/wireless/wext-proc.c中实现,具体见
wireless_dev_seq_show()
函数:
static int wireless_dev_seq_show(struct seq_file *seq, void *v)
{
might_sleep();
if (v == SEQ_START_TOKEN)
seq_printf(seq, "Inter-| sta-| Quality | Discarded "
"packets | Missed | WE\n"
" face | tus | link level noise | nwid "
"crypt frag retry misc | beacon | %d\n",
WIRELESS_EXT);
else
wireless_seq_printf_stats(seq, v);
return 0;
}
此外,调用堆栈是 wireless_seq_printf_stats()
-> get_wireless_stats()
-> dev->ieee80211_ptr->wiphy->wext->get_wireless_stats(dev)
并且从这里实现取决于给定的芯片,例如 [=21 中的 .get_wireless_stats = airo_get_wireless_stats
=].c