欢迎访问小站,阅读此文http://www.yandong.org/archives/472http://www.yandong.org/archives/472
linux内核态用不到c函数库的,所以写文件是一个比较费事的事情。
下面这段代码,接我上一篇,是重构linux语义用到的,功能为获取一些结构体元素的偏移。
写文件的主体代码如下
static void filewrite(char* filename, char* data)
{
struct file *filp;
mm_segment_t fs;
filp = filp_open(filename, O_RDWR| O_APPEND| O_CREAT, 0644);
if(IS_ERR(filp))
{
printk("open error...\n");
return;
}
fs=get_fs();
set_fs(KERNEL_DS);
filp->f_op->write(filp, data, strlen(data),&filp->f_pos);
set_fs(fs);
filp_close(filp,NULL);
}
p
,
NULL
);
}