在linux内核中操作文件的方法Linux认证考试
文章作者 100test 发表时间 2009:11:20 16:35:47
来源 100Test.Com百考试题网
  #include <.linux/kernel.h>.
  #include <.linux/module.h>.
  #include <.linux/init.h>.
  #include <.linux/fs.h>.
  #include <.linux/string.h>.
  #include <.linux/mm.h>.
  #include <.linux/syscalls.h>.
  #include <.asm/unistd.h>.
  #include <.asm/uaccess.h>.
  #define MY_FILE "/root/LogFile"
  char buf[128].
  struct file *file = NULL.
  static int __init init(void)
  {
  mm_segment_t old_fs.
  printk("Hello, I m the module that intends to write messages to file.\n").
  if(file == NULL)
  file = filp_open(MY_FILE, O_RDWR | O_APPEND | O_CREAT, 0644).
  if (IS_ERR(file)) {
  printk("error occured while opening file %s, exiting...\n", MY_FILE).
  return 0.
  }
  sprintf(buf,"%s", "The Messages.").
  old_fs = get_fs().
  set_fs(KERNEL_DS).
  file->.f_op->.write(file, (char *)buf, sizeof(buf), &.file->.f_pos).
  set_fs(old_fs).
  return 0.
  }