字符设备驱动程序的开发

时间:2016-05-28 14:48:22
【文件属性】:

文件名称:字符设备驱动程序的开发

文件大小:32KB

文件格式:DOC

更新时间:2016-05-28 14:48:22

字符设备驱动

mode_t f_mode; 文件模式根据 FMMODE_READ 和 FMODE_WRITE 位来识别文件是否可读或可写,或是可读可写。在read() 和 write() 系统调用中,没有必要对此权限进行检查,因为内核已经在你的系统调用之前已经做了检查。如果文件没有相应的读或写权限,那么如果尝试读写都将被拒绝,驱动程序甚至对此情况毫无知觉。 loff_t f_pos; 此变量表示当前的文件读写位置。loff_t 在所有的平台上都是 64 位的变量( long long 型, gcc 专用术语)。驱动程序如果想知道当前在文件中所处位置,那么可以通过读取此变量得知,但是一般地不应直接对此进行更改。通过 llseek() 方法可以改变文件位置。 unsigned int f_flags; 这是表示如 O_RDONLY, O_NONBLOCK 与 O_SYNC 这样的标志。一个驱动程序应该检查 O_NONBLOCK 标志,以查看是否有非阻塞操作的请求。其它的标志用得比较少。需要注意的是,检查 read/write 权限应该是通过检查 f_mode 得到而不是 f_flags 。所有的标志定义在头文件 linux/fcntl.h 中可以看到。


网友评论