1

自从我研究 Linux 内核模块以来已经有一段时间了,我似乎记得在你的 open() 开放实现中有一个存储上下文的地方,它可以在你的其他 file_operations 中使用......例如,如果我想要为了维护与打开我的设备节点的每个人相关的一些状态,如果传递给所有 file_operations 函数的 inode 结构或文件结构有一个我可以填充的 void*,我可以很容易地支持任意数量的用户...... 。 这可能吗?

4

1 回答 1

2

找到了答案。传递给所有 file_operations 函数的“struct file*”有一个名为“private_data”的字段...它是一个 void*,因此您可以在 open 中填充,在 read()、write() 和 ioctl() 中使用它以及在 release() 中释放它..

于 2009-09-24T15:51:05.340 回答