sys_open和filp_open
在内核下,我可以用filp_open创建一个新文件,可是sys_open却不可以,为什么啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在内核下,我可以用filp_open创建一个新文件,可是sys_open却不可以,为什么啊?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
我看过你贴的示例代码,照着写了,但还是不行哦
不知道是什么回事
还是搜索旧帖:如何在内核中使用系统调用。 我贴过示例代码的
那怎么转换到内核空间去啊?
sys_open的参数在USER 空间
怎么没人告诉我啊?
我只是写的一个测试程序,如下:
#include <linux/types.h>
#include <linux/syscalls.h>
#include <linux/module.h>
#include <linux/init.h>
MODULE_LICENSE("GPL");
static int __init start(void)
{
printk("initn");
//char buf[20] = {0};
long fh;
fh =sys_open("/usr/mtp.ini",O_CREAT | O_WRONLY ,S_IRUSR|S_IWUSR);
if(fh < 0)
{
printk("open failedn");
return -1;
}
return 0;
}
[ 本帖最后由 whshuai 于 2006-10-16 17:23 编辑 ]
sys_open也可以,贴出代码来看看?