netlink를 사용하여 응용 프로그램과 커널 공간간에 통신하고 싶습니다. 내 리눅스 커널 버전은 2.6.28이며, 다음은 내 잘못된 코드입니다 :커널과 사용자 공간 사이에 "netlink"를 만드는 방법은 무엇입니까?
이nf_sock=netlink_kernel_create(NL_PROTO,0,nl_user_skb,THIS_MODULE);
단축 된 오류 메시지가 : 파일 <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에 대한 사용자 공간이 커널 syscall API에 대한 libc와 정확히 일치하지 않을 수 있음을 기억하십시오. – stsquad