自从我使用Linux内核模块以来已经有一段时间了,我似乎记得在open()open实现中有一个存放上下文的地方,可以在你的其他file_operations中使用...例如,如果我想维护一个与打开我的设备节点的每个人相关联的状态,如果inode结构或传递给所有file_operations函数的文件结构有一个void *我可以填充,我可以很容易地支持任意数量的用户这可能吗?
答案 0 :(得分:2)
找到答案。传递给所有file_operations函数的“struct file *”有一个名为“private_data”的字段...它是一个void *,所以你可以在open中填充,在read(),write()和ioctl()中使用它在release()中释放它。