C语言 void netif_napi_add



netif_napi_add的语法为

netif_napi_add(struct net_device *dev, struct napi_struct *napi,int (*poll)(struct napi_struct *, int), int weight)

它用于初始化napi结构。问题是当我使用功能时

 netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);

它给了我关于编译时间的警告

warning: passing argument 3 of ‘netif_napi_add’ makes pointer from integer without a cast
/usr/src/linux-2.6.34.10-0.6/include/linux/netdevice.h:1089:6: note: expected ‘int (*)(struct napi_struct *, int)’ but argument is of type ‘int’

如何正确书写??

关于

karan

在调用时

netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);

您正在呼叫rrpoll。它应该作为指针传递:

netif_napi_add(wdev,rnapi,&rrpoll,16);

然后系统将为您调用rrpoll

在调用时

netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);

U可以使用rrpoll而不是传递整个函数。即

netif_napi_add(wdev,rnapi,rrpoll,16);

最新更新