C Linux内核模块无线接口比特率

C Linux内核模块无线接口比特率,c,linux,linux-kernel,C,Linux,Linux Kernel,是否有可能在内核模块中获得无线接口的比特率 谢谢我不确定我是否理解正确,但我认为您可以使用libiw库中定义的iw_range结构(请注意,它是根据GPL授权的,所以在商业应用中使用它时请小心)。您可以通过以下方式执行此操作: #include<iwlib.h> int main(int argc, char** argv) { char* dev = "wlan0"; int skfd = iw_sockets_open(); int has_range = 0;

是否有可能在内核模块中获得无线接口的比特率


谢谢

我不确定我是否理解正确,但我认为您可以使用libiw库中定义的iw_range结构(请注意,它是根据GPL授权的,所以在商业应用中使用它时请小心)。您可以通过以下方式执行此操作:

#include<iwlib.h>

int main(int argc, char** argv)
{
  char* dev = "wlan0";
  int skfd = iw_sockets_open();
  int has_range = 0;
  struct iw_range range;
  int i = 0;
  has_range = (iw_get_range_info(skfd, dev, &range) >= 0);

  printf("Available %d bitrates\n", range.num_bitrates);
  while(i < range.num_bitrates)
  {
    printf("Available bitrate: %d\n", range.bitrate[i]);
    i++;
  }
}
#包括
int main(int argc,字符**argv)
{
char*dev=“wlan0”;
int skfd=iw_sockets_open();
int具有_范围=0;
结构iw_范围;
int i=0;
has_range=(iw_get_range_info(skfd、dev和range)>=0);
printf(“可用的%d比特率”,范围为.num\u比特率);
while(i
您是指瞬时比特率吗?或比特最大比特率(即容量)?使用标准
iwconfig
工具如何?或者您需要一个编程解决方案吗?瞬时比特率,如果不可能,如何获得最大比特率?是的,我确实需要一个程序化的解决方案。感谢您的帮助。对于瞬时速率,您可以阅读接口统计信息。要么从
/proc/…
(?)获取它们,要么我认为您需要一些IOCTL来查询它们。我想,只要读每100毫秒并计算数据包就行了。谢谢你的帮助,但我需要在内核空间中这样做。我将看看这些结构,看看内核空间中是否有类似的东西。无论如何,谢谢你的帮助和时间:)