我在网上看到了this示例,其中展示了如何在linux中创建角色设备,并且我试图了解用户的打开方式如何影响device_open函数。
file_operations结构定义如下:
static struct file_operations Fops = {
.read = device_read,
.write = device_write,
.open = device_open,
.release = device_release,};
device_open函数接收以下参数:
static int device_open(struct inode *inode, struct file *file)
使用mknod创建设备文件后,用户可以打开设备文件名:
fd = open(DEVICE_FILENAME, 0);
我不明白这个打开的调用如何使device_open接收到它所需的inode和文件。
谢谢!