関数は次のようになります。
struct net_device_stats* (*get_stats)(struct net_device *dev);
コードでこの関数を呼び出して、net_device_stats
前に宣言した構造体で結果を取得するだけです。誰でも簡単な実装コードを提供できますか?
関数は次のようになります。
struct net_device_stats* (*get_stats)(struct net_device *dev);
コードでこの関数を呼び出して、net_device_stats
前に宣言した構造体で結果を取得するだけです。誰でも簡単な実装コードを提供できますか?
これは関数ではありません。構造体へのポインターを受け取り、型の構造体へのポインターを返す関数を指す関数ポインター の宣言です。get_stats
net_device
net_device_stats
ここに1つのユースケースがあります
struct net_device *dev;
struct net_device_stats *device;
device = get_stats(dev);
編集コメントから、古いバージョンのカーネルを使用していることがわかります。後のカーネルでは、構造体net_device
はまだ存在しますが、関数ポインターlinux/netdevice.h
はありません。get_stats
に変更されndo_get_stats
、現在は別の構造になっていますnet_device_ops
これらの新しい関数ポインタを使い始めてください。