file_operations中的device_open如何工作?

时间:2017-06-24 19:53:58

标签: c linux linux-kernel kernel linux-device-driver

我在网上看到了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和文件。

谢谢!

0 个答案:

没有答案