久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
關于netlink的使用
[打印本頁]
作者:
sudochen
時間:
2017-5-4 09:29
標題:
關于netlink的使用
/* file : genl_kernel.c
* kernel module for test genetlink
* sudochen@163.com
*
*/
#include <linux/init.h>
#include <linux/module.h>
#include <net/genetlink.h>
static int cmd_echo(struct sk_buff *skb_2, struct genl_info *info);
enum {
CMD_NONE,
CMD_ECHO,
CMD_MAX
};
static struct genl_family cmd_genl_family = {
.id = GENL_ID_GENERATE,
.hdrsize = 0,
.name = "cmd",
.version = 1,
.maxattr = CMD_MAX,
};
static struct nla_policy cmd_nla_policy[CMD_MAX + 1] = {
[CMD_NONE] = {
.type = NLA_UNSPEC,
},
[CMD_ECHO] = {
.type = NLA_STRING,
.len = 0x100,
},
};
static struct genl_ops cmd_ops[] = {
{
.cmd = CMD_ECHO,
.flags = 0,
.policy = cmd_nla_policy,
.doit = cmd_echo,
.dumpit = NULL,
}
};
static int cmd_echo(struct sk_buff *skb_2, struct genl_info *info)
{
struct nlattr *attr = NULL;
struct sk_buff *skb = NULL;
int ret = -1;
char *data;
char *head;
if (NULL == info) {
return -1;
}
attr = info->attrs[CMD_ECHO];
if (attr) {
data = (char*)nla_data(attr);
if (data) {
printk("genl recv data %s\n",data);
} else {
printk("genl recv data NULL\n");
}
} else {
printk("no attr %d\n",CMD_ECHO);
}
skb = genlmsg_new(NLMSG_GOODSIZE, GFP_KERNEL);
if (NULL == skb) {
goto out;
}
head = genlmsg_put(skb, 0, info->snd_seq+1,&cmd_genl_family,0,CMD_ECHO);
if (NULL == head) {
goto out;
}
ret = nla_put_string(skb, CMD_ECHO, "hello world form kernel space");
if (ret)
goto out;
genlmsg_end(skb,head);
ret = genlmsg_unicast(&init_net,skb,info->snd_pid);
if (ret)
goto out;
return 0;
out:
printk("genl an error ocured\n");
return -1;
}
int __init cmd_init(void)
{
int error;
error = genl_register_family_with_ops(&cmd_genl_family, cmd_ops, ARRAY_SIZE(cmd_ops));
if (error) {
printk("register family error\n");
return error;
}
printk("register family ok\n");
return 0;
}
void __exit cmd_exit(void)
{
genl_unregister_family(&cmd_genl_family);
printk("unregister family ok\n");
}
MODULE_LICENSE("GPL");
module_init(cmd_init);
module_exit(cmd_exit);
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲电影一级片
|
日韩成人av在线
|
亚洲成人在线免费
|
亚洲中午字幕
|
网色
|
国产精品高潮呻吟久久av黑人
|
影音先锋中文在线
|
特级做a爰片毛片免费看108
|
欧美成人一级
|
欧美成人精品
|
二区成人
|
99在线精品视频
|
中文字幕av网
|
欧美日高清视频
|
综合色播
|
精品一区二区免费视频
|
日韩视频福利
|
国产精品明星裸体写真集
|
欧美αv
|
国产精品久久久久久久久久久久久久
|
久久久久久国产一区二区三区
|
中文字幕一区二区三区精彩视频
|
成人在线一区二区三区
|
久久免费精品视频
|
中文字幕成人在线
|
91亚洲精品久久久电影
|
亚洲一区二区三区视频
|
欧美精品久久久久久久久老牛影院
|
wwww.xxxx免费
|
欧美精品综合在线
|
国产精品 欧美精品
|
日韩中文字幕在线观看
|
四虎在线观看
|
欧美一级毛片久久99精品蜜桃
|
欧美国产视频一区二区
|
久久久免费
|
中文字幕1区2区
|
免费视频一区二区
|
日韩成人精品在线
|
国产99精品
|
成人小视频在线免费观看
|