关于file_operations结构体
结构体 file_operations 在头文件 linux/fs.h 中定义,用来存储驱动内核模块提供的对设备进行各种操作的函数的指针。该结构体的每个域都对应着驱动内核模块用来处理某个被请求的 事务的函数的地址。 举个例子,每个字符设备需要定义一个用来读取设备数据的函数。结构体 file_operations 中存储着内核模块中执行这项操作的函数的地址。一下是该结构体 在内核 2.6.5 中看起来的样子: struct file_operations { struct module *owner; loff_t(*llseek) (struct file *, loff_t, int); ssize_t(*read) (struct file *, char __user *, size_t, loff_t *); ssize_t(*aio_read) (struct kiocb *, char __user *, size_t, loff_t); ssize_t(*write) (struct file *, const char __user *, size_t, loff_t *); ssize_t(*aio_write) (struct kiocb *, const char __user *, size_t, loff_t); int (*readdir)