- 此结构体为内核驱动操作函数的集合,其中比较重要的函数如下:
1.1 owner为拥有该结构体的模块的指针,一般为THIS_MODULE;
1.2 llseek函数用于修改当前的读写位置;
1.3 read函数用于读取设备文件;
1.4 write函数主要用于向设备中写入数据;
1.5 poll为轮询函数,用于查询设备是否可以进行非阻塞的读写
1.6 unlocked_iooctl函数提供了对应设备的控制功能,与应用程序中的ioctl函数对应;
1.7 compat_ioctl函数与上一个函数功能一样,区别在于64位上使用这个,32位上使用上一个;
1.8 mmap函数用于将设别的内存映射到用户空间,一般多用于帧缓冲设别;
1.9 open函数
1.10 release函数
1.11 fasync函数用于刷新待处理的数据,将缓冲区中的设备刷新到磁盘中
1.12 aio_fasync和上一个函数功能一样。只是采用了异步刷新待处理的数据;
2 另以上file_operation中的函数集合为字符设别驱动中最常用的。
Linux中file_operations结构体
![](https://img-home.csdnimg.cn/images/20240711042549.png)