2024年4月29日发(作者:)
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请
保持文档的完整性,严禁用于任何商业用途。
msn: yfydz_no1@
来源:
1. 前言
在fs/seq_file.c中定义了关于seq操作的一系列顺序读取的函数,这些函数最早是在
2001年就引入了,但以前内核中一直用得不多,而到了2.6内核后,许多/proc的只读文
件中大量使用了seq函数处理。
以下内核源码版本为2.6.17.11。
2. seq相关数据结构
2.1 seq文件结构
struct seq_file {
char *buf;
size_t size;
size_t from;
size_t count;
loff_t index;
loff_t version;
struct mutex lock;
struct seq_operations *op;
void *private;
};
struct seq_file描述了seq处理的缓冲区及处理方法,buf是动态分配的,大小不小
于PAGE_SIZE,通常这个结构是通过struct file结构中的private_data来指向的。
char *buf:seq流的缓冲区
size_t size:缓冲区大小
size_t from:from指向当前要显示的数据头位置
size_t count:缓冲区中已有的数据长度
loff_t index:数据记录索引值
发布评论