问一个/proc文件系统中的 read_proc_t API

发布于 2022-09-18 19:15:30 字数 1204 浏览 12 评论 0

想理解一下/proc文件系统,在看源代码中的include /linux/proc_fs.h文件时,看到这个声明:
typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data);
我想问一下这个函数声明中的各个参数是什么意思阿?

我看到<The Linux Kernel Module Programming Guide>中的解释是这样的.
1.char *page : The buffer where the data is to be inserted,if you decide to use it .
                       这个buffer是内核分配的 ?
2.char **start: A pointer to a pointer to characters.This is useful if you don't want to use the buffer allocated by the kernel.
                        没弄明白.这个参数到底该怎么使用呢?还有这句话的意思是说第一个参数可以不由内核来分配?那么谁来分配呢?
3.off_T off: The current position in the file
                  这里的file是指哪个?是指在/proc中刚刚创建的文件吗?
4.int count:The size of the buffer in the first argument.
5.int *eof :Write a "1" here to indicate EOF.
6.A pointer to data
    最后一个参数也没弄明白是什么意思.该怎么使用呢?

[ 本帖最后由 szjrabbit 于 2009-3-4 16:24 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文