首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

怎么在用户态调用内核态的函数

2012-03-02 
如何在用户态调用内核态的函数?在一个module中,已经编写一组函数,并且EXPORT_SYMBOL之。但是想被一个用户态

如何在用户态调用内核态的函数?
在一个module中,已经编写一组函数,并且EXPORT_SYMBOL之。但是想被一个用户态的应用程序,目的是为了让用户态把某个参数传进来。直接调用或syscall都未能作用。本人刚开始KERNEL开发,请指教。

应用程序在编译连接过程中,总会有UNDEFINED   REFERENCE.

[解决办法]
ioctl
[解决办法]
用户态调用内核态的函数,通常需要在内核模块中虚拟出一个设备,通过访问/dev下的虚拟设备节点,open,read调用内核态函数。

不过,如果你只是为了得到用户态的某个参数,可以通过

unsigned long copy_to_user(void __user *to,const void *from,unsigned long count);
unsigned long copy_from_user(void *to,const void __user *from,unsigned long count);

这两个函数可以实现用户态和内核态数据之间的转变。

具体参看LDD3 3.7节
[解决办法]
添加一个系统调用....应该是一个不错的选择...
[解决办法]
syscall

热点排行