Linux net_设备获取_统计信息功能,如何使用?

Linux net_设备获取_统计信息功能,如何使用?,linux,linux-kernel,linux-device-driver,kernel-module,Linux,Linux Kernel,Linux Device Driver,Kernel Module,函数的外观如下所示: struct net_device_stats* (*get_stats)(struct net_device *dev); 我只需要在代码中调用这个函数,并在我前面声明的net\u device\u statsstruct中获得它的结果。有人能给出一个简单的实现代码吗?这不是一个函数。它是一个函数指针的声明get\u stats,它指向一个函数,该函数接收指向结构net\u设备的指针,并返回指向类型为net\u设备统计 这里有一个用例 struct net_devi

函数的外观如下所示:

  struct net_device_stats* (*get_stats)(struct net_device *dev);

我只需要在代码中调用这个函数,并在我前面声明的
net\u device\u stats
struct中获得它的结果。有人能给出一个简单的实现代码吗?

这不是一个函数。它是一个函数指针的声明
get\u stats
,它指向一个函数,该函数接收指向结构
net\u设备的指针
,并返回指向类型为
net\u设备统计

这里有一个用例

struct net_device *dev;
struct net_device_stats *device;

device = get_stats(dev);
编辑从您的评论中,我看到您使用的是旧版本的内核。在中,结构
net\u设备
仍然驻留在
linux/netdevice.h
中,但没有
get\u stats
函数指针。它变成了
ndo\u get\u stats
,现在处于另一个结构
net\u device\u ops


所以开始使用这些新的函数指针。

我已经尝试过了,但它一直打印一个错误,上面写着:“函数的隐式减速”get_stats“,是的,我已经将
库包含在哪个文件中,您正在调用它?
get\u stats
是struct
net\u设备中的成员函数
您使用的内核是否与本书中提到的相同?另外,我怀疑您的头文件不包含函数指针定义,因此它将其视为一个函数,然后是隐式函数error这很奇怪。我拥有的头文件甚至不像你给我链接的头文件。mine只定义了
net\u设备
struct以及端口选项的小枚举,就这样。你给我的那个有很多其他的东西。