在 struct file_opertion 中 open 和 ioctl 的参数都有 (struct inode *, struct file *) 一个是inode 结构的指针, 一个是file结构的指针。
如下所示: int (*open) (struct inode *, struct file *); int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
我的问题是:
可我看到在应用层的设备测试函数 在调用open() 时只写成了 open("/dev/test_io",O_RDWR); 这个好像并不是与 在struct file_operation {....} 中的open的 指定参数类型一致呀,这是咋回事呢??
好像是 file_operation 的read是 应用层read()的系统调用? inode 和 file 是在哪里被附值的呢?
|