2016-12-02 7 views
1

"n"キャラクタデバイスが1つのカーネルドライバにあります。 1つの読み取り機能が読み取りポインタを参照しました。カーネル内のキャラクタデバイスのノード名またはパスを取得する方法

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; 
} 

Iはによってそれを得ることを試みたfilep-> f_path少なくともそれを印刷しようとしたが、 f_pathパスでfs.h

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

のdentryとvfsmountパスを構造体への意味in path.hは2未定義の構造体を指します。

struct dentry; 
struct vfsmount; 

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

です。 カーネル内のキャラクタデバイスのノード名やパスを取得するにはどうすればいいですか?

答えて

関連する問題