linux 内核态写文件

原创
2013/04/18 14:46
阅读数 566


欢迎访问小站,阅读此文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 ); }

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部