下面这个例子是使用seq_file接口实现可读写proc文件的例子,适用于3.10以后的内核,这和之前创建proc文件的函数实现上有很大差别,3.10以前的内核调用create_proc_entry,3.10以后的内核调用proc_create。
proc.c
/*************************
* 使用seq_file接口实现可读写的proc文件
* 功能同proc_test02.c
* Author: jx
* Date: 2014-08-08
*************************/
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/uaccess.h>
static char *str = NULL;
/*********************
* seq_operations->show
* 必须返回0,否则什么也显示不出来
*********************/
static int
my_proc_show(struct seq_file *m, void *v)
{
seq_printf(m, "current kernel time is %ld\n", jiffies);
seq_printf(m, "str is %s\n", str);
return 0;
}
/***********************
* file_operations->open
***********************/
static int
my_proc_open(str