首页 理论教育 Linux驱动开发实例:seq_file实例

Linux驱动开发实例:seq_file实例

时间:2023-10-19 理论教育 版权反馈
【摘要】:例1.10 seq_file单个遍历方式实例具体代码见\samples\1door\1-11seqfile。本例使用g_seqfile链表存储4个记录。下面介绍如何通过seq_file读取g_seqfile的内容:seq_operations操作接口的实现如下:应用层核心代码如下:本例运行结果如下:例1.11 seq_file集中输出方式实例下面以linux内核中的/fs/proc/cpuinfo.c代码为例说明seq_file集中输出方式。首先注册/proc/cpuinfo节点:定义proc_cpuinfo_operations:接下来看cpuinfo_open:每种硬件平台都会实现自已的cpuinfo_op操作结构。

Linux驱动开发实例:seq_file实例

seq_file有两种用法,一种是单个遍历方式,即show函数中只输出单个记录的信息,而seq_operations中的接口需要组合使用;另一种方式只需要一个show函数,在show函数中集中输出所有元素的信息。

例1.10 seq_file单个遍历方式实例

具体代码见\samples\1door\1-11seqfile。本例使用g_seqfile链表存储4个记录。关于链表在后续章节会介绍。

下面介绍如何通过seq_file读取g_seqfile的内容:

seq_operations操作接口的实现如下:

应用层核心代码如下:

本例运行结果如下:

例1.11 seq_file集中输出方式实例

下面以linux内核中的/fs/proc/cpuinfo.c代码为例说明seq_file集中输出方式。关于proc文件系统,下一节会介绍相关接口。首先注册/proc/cpuinfo节点:

定义proc_cpuinfo_operations:

接下来看cpuinfo_open:

每种硬件平台都会实现自已的cpuinfo_op操作结构。ARM的cpuinfo_op在/arc/arm/kernel/setup.c中:

cpuinfo_op操作接口负责输出本机处理器信息到/proc/cpuinfo文件。

上面代码的运行结果如下:(www.xing528.com)

[root@urbetter proc]#cat cpuinfo

processor :0

model name :ARMv6-compatible processor rev 6(v6l)

BogoMIPS :528.79

Features :half thumb fastmult vfp edsp java tls

CPU implementer :0x41

CPU architecture :7

CPU variant :0x0

CPU part :0xb76

CPU revision :6

Hardware :SMDK6410

Revision :0000

Serial :0000000000000000

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈