免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linux驅(qū)動學(xué)習(xí) 重要的數(shù)據(jù)結(jié)構(gòu)
Linux驅(qū)動學(xué)習(xí) 重要的數(shù)據(jù)結(jié)構(gòu)

 

還有一些數(shù)據(jù)結(jié)構(gòu)也比較關(guān)鍵, 關(guān)系也比較復(fù)雜:
*dev_t:
 這個不是structure, 是簡單變量, 只用于保存一組major number和minor number.
Linux提供一組Macro對其進(jìn)行讀寫:
 MAJOR(dev_t dev); /* 取設(shè)備的major number */
 MINOR(dev_t dev); /* 取設(shè)備的minor number */
 MKDEV(int major, int minor); /* 從一組指定的major number和minor number創(chuàng)建一個dev_t */

*struct cdev:
 用于表示一個char型的設(shè)備.

*struct file_operations:
 用于定義一組在某類文件上操作的函數(shù), 根據(jù)文件類型不同, 需要實(shí)現(xiàn)的接口也不同.

*struct file:
 用于表示某個“打開的”文件, 是與進(jìn)程相關(guān)的. 每次在有程序?qū)ξ募?zhí)行open系統(tǒng)調(diào)
用時創(chuàng)建. 也就是說, 同一個文件/設(shè)備, 對應(yīng)在其上操作的不同的進(jìn)程, 會創(chuàng)建多個file
結(jié)構(gòu), 而實(shí)際上操作的文件(或者說inode)是同一個。struct file里面有當(dāng)前的指針位置
和一些標(biāo)記位等信息;還有指向一個file_operations結(jié)構(gòu)的指針,對于設(shè)備文件,這用于
提供到驅(qū)動程序的接口。

*struct inode:
 用于表示文件系統(tǒng)樹形結(jié)構(gòu)中的一個節(jié)點(diǎn),不論是目錄還是文件。它里面保存的是文件
的具體信息,每個文件只對應(yīng)一個inode結(jié)構(gòu)。對于char型設(shè)備文件,這里面主要有兩個
field有用:
 
 dev_t i_rdev; /* 在表示設(shè)備文件的inode中用于存放major number和minor number */
 struct cdev *i_cdev;
     /* 在表示char型設(shè)備文件的inode中用于存放指向?qū)?yīng)的cdev的指針 */

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
十一、Linux驅(qū)動程序開發(fā)(2) - 字符設(shè)備驅(qū)動(1)
第三章 字符設(shè)備驅(qū)動程序|Linux.CN
linux
linux內(nèi)核之文件系統(tǒng)
[快速上手Linux設(shè)備驅(qū)動]之我看字符設(shè)備驅(qū)動
Linux驅(qū)動開發(fā)庖丁解牛之三——揭開字符設(shè)備驅(qū)動程序的面紗
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服