アプリケーションとカーネル空間の間の通信にnetlinkを使用したいと思います。略しエラーメッセージがあるカーネルとユーザー空間の間に「ネットリンク」を作成するにはどうすればよいですか?
nf_sock=netlink_kernel_create(NL_PROTO,0,nl_user_skb,THIS_MODULE);
:私のLinuxカーネルのバージョンは2.6.28で、次は私の間違ったコードであるファイル<linux/netlink.h>
で
error: too few arguments to function 'netlink_kernel_create'
、機能netlink_kernel_create()
は
extern struct sock *netlink_kernel_create(struct net *net,int unit,unsigned int groups,void (*input)(struct sk_buff *skb),struct mutex *cb_mutex,struct module *module)
最初の引数に何を使用するのか分かりませんが、net
です。誰かが私がここで使うべきことを説明することができますか?
どこから関数定義を取得しましたか?ユーザスペースからlibc APIは、libcからカーネルのsyscall APIと正確には異なる場合があることを覚えておいてください。 – stsquad