我怀疑写这样的结构。 为什么在这里我们必须将某些东西等同于其他东西(.owner = THIS_MODULE)
const struct file_operations nvram_fops = {
.owner = THIS_MODULE,
.llseek = nvram_llseek,
.read = read_nvram,
.write = write_nvram,
.ioctl = nvram_ioctl,
};
请提供帮助。
答案 0 :(得分:3)
这是初始化语法。
此处,nvram_fops
是file_operations
类型的结构。其owner
字段设置为THIS_MODULE
,llseek
设置为nvram_llseek
,依此类推。
如果您尝试了解更高级别的代码,请查看"The Linux Kernel Module Programming Guide"。它解释了
file_operations
结构在linux/fs.h
中定义,并保存指向由驱动程序定义的函数的指针,这些函数在设备上执行各种操作。结构的每个字段对应于驱动程序定义的某个函数的地址,以处理请求的操作。