proc文件的讀寫函數

每一個文件都有相應的文件操作表,最主要的就是讀操作和寫操作了, proc文件的讀寫函數得注意其對應的返回值,如果在讀函數內一直返回一個正數,則上層會認爲該文件還有數據需要讀取,會一直無限的讀下去。。。在實現proc文件讀操作時,應該更新傳遞進來的offset參數來表示文件指針,在調用copy_to_user之前,應該將*offset的值與文件對應的數據buffer的長度進行比較,如果大於buffer的長度,說明已經讀完了,此時需要返回一個0來表示讀函數的退出,否則讀完一定長度的數據,則 *offset +=count.  寫函數一般就是調用copy_from_user將用戶空間的數據複製到內核空間,然後返回一個len(傳遞進來的參數)值就行了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章