2012-03-06 51 views
0

我對這樣寫結構有懷疑。 我們爲什麼在這裏要等同一些東西一些其他的事情(.owner = THIS_MODULE)等於內部結構

const struct file_operations nvram_fops = { 
     .owner   = THIS_MODULE, 
     .llseek   = nvram_llseek, 
     .read   = read_nvram, 
     .write   = write_nvram, 
     .ioctl   = nvram_ioctl, 
}; 

請在此幫助。

+1

對不起,我不明白你的問題是什麼。 – 2012-03-06 12:39:55

+0

C++沒有指定的初始化程序,所以我刪除了C++標記。 – 2012-03-06 12:40:10

+0

Dupilcate http://stackoverflow.com/questions/3016107/what-is-tagged-structure-initialization-syntax – 2012-03-06 12:45:01

回答

3

這是初始化語法。

這裏,nvram_fops是類型file_operations的結構。其owner字段設置爲THIS_MODULE,llseeknvram_llseek等。

如果您試圖瞭解更高級別的代碼,請參閱"The Linux Kernel Module Programming Guide"。它解釋說

file_operations該結構在linux/fs.h定義,並保持指針由該設備上執行各種操作的驅動程序定義的函數。該結構的每個字段對應於驅動程序爲處理請求的操作而定義的某些函數的地址。