LINUX.ORG.RU

linux: работа символьных устройств


0

0

допустим я сделал в модуле


register_chrdev(47, "/dev/chardev", ...)

mknod /dev/chardev c 47 0

после этого как я понмаю при открытие
/dev/chardev будет проведен поиск модуля с "мажорным номером" 47
и использованы его операции,
т.е. если написать
mknod /dev/aaa c 47 0
и открыть /dev/aaa все равно будут использованы операции моего модуля?

каким образом можно узнать минорный номер когда вызовут мою функцию ?
static int
chardev_open(struct inode *inode, struct file *file)
{
printk(KERN_INFO "chardev_open\n");
return 0;
}

anonymous

>если написать mknod /dev/aaa c 47 0 и открыть /dev/aaa все равно будут использованы операции моего модуля?

Да

>каким образом можно узнать минорный номер когда вызовут мою функцию ?

#include <linux/fs.h>

int iminor(struct inode* device_file); вернет минорный номер

SatanClaus ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.