2016-12-02 8 views
1

У меня есть «n» символьное устройство в одном драйвере ядра. Одна функция чтения относится к указателю чтения.Как получить имя узла или путь символьного устройства в ядре

static struct file_operations fops; 
fops.read = cd_read; 

Теперь мне нужно знать, какое устройство символов называют, когда чтения вызывается из пользовательского пространства.

static ssize_t cd_read(struct file *filep, char *buffer, size_t len, loff_t *position) 
{ 

    filep->f_path; 
} 

Я пытался получить его filep-> f_path по крайней мере, пытался напечатать его, но f_path относится к STRUCT путь в fs.h

struct file { 
    ... 
    struct path  f_path; 
    ... 
} 

dentry и vfsmount в пути в path.h ссылается на 2 неопределенные структуры.

struct dentry; 
struct vfsmount; 

struct path { 
    struct vfsmount *mnt; 
    struct dentry *dentry; 
}; 

и застрял здесь. Итак, как я могу получить имя или путь узла символьного устройства в ядре?

ответ