在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.
}