LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 930|回复: 6

请问关于用户和内核空间通讯的一个问题。

[复制链接]
发表于 2006-7-22 01:21:03 | 显示全部楼层 |阅读模式
我现在有用户空间的一个函数,其中有一个参数是函数指针,用来callback,需要调用到内核中,而callback函数在内核中执行
现在有以下几个问题:
1,函数指针是用户地址,能在内核中直接dereference使用么?数据从用户到内核要拷贝,不知道函数指针的情况怎么样。
2,这个用户函数要调用到内核,除了syscall,是不是只有使用设备驱动里的ioctl?
3,在内核空间,callback函数做完了,如何通知用户,而且是callback函数是异步执行的,还可能会需要返回很多数据,如何返回给用户?谢谢。
 楼主| 发表于 2006-7-23 12:25:55 | 显示全部楼层
各位大侠给点建议吧,主要是第三个问题,我觉得这种情况应该还是是比较常见的,就是callback到内核的函数做完之后如何通知用户。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-23 13:09:18 | 显示全部楼层
各位大侠给点建议吧,主要是第三个问题,我觉得这种情况应该还是是比较常见的,就是callback到内核的函数做完之后如何通知用户。
回复 支持 反对

使用道具 举报

发表于 2006-7-23 13:20:06 | 显示全部楼层
plz do not do so, actually, u may make a module to do what u want

btw: u may find "signals" can do the job as u described in the third requirement
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-24 17:27:43 | 显示全部楼层
Can you offer more details on how to impelment this with signals, I'm not sure how to signal a user process from kernel.
Thanks
回复 支持 反对

使用道具 举报

发表于 2006-8-15 09:57:13 | 显示全部楼层
maybe netlink will do, I am not sure since I donot have such experience
回复 支持 反对

使用道具 举报

发表于 2006-8-21 18:58:36 | 显示全部楼层
看看iptables吧!用户端代码,还有netfilter。看了就明白了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表