net_device get_stats函数,怎么用?

时间:2012-04-09 09:07:36

标签: linux linux-kernel linux-device-driver kernel-module

这就是函数的样子:

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

我只需要在我的代码中调用此函数,并在我之前声明的net_device_stats结构中得到它的结果。任何人都可以为此提供一个简单的实现代码吗?

1 个答案:

答案 0 :(得分:3)

这是一个功能。它声明了一个函数指针 get_stats,它指向一个接收指向结构net_device的指针的函数,并返回指向net_device_stats类型结构的指针

这是一个用例

struct net_device *dev;
struct net_device_stats *device;

device = get_stats(dev);

编辑从您的评论中,我发现您使用的是旧版本的内核。在later kernels中,结构net_device仍驻留在linux/netdevice.h中,但没有get_stats函数指针。它已更改为ndo_get_stats,现在位于另一个结构net_device_ops

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