建立乙個debugfs目錄:
struct dentry *
debugfs_create_dir
(const
char
*name,
struct dentry *parent)
;
建立乙個debugfs檔案:
struct dentry *
debugfs_create_file
(const
char
*name, umode_t mode,
struct dentry *parent,
void
*data,
const
struct file_operations *fops)
;
struct dentry *
debugfs_create_symlink
(const
char
*name,
struct dentry *parent,
const
char
*dest)
;
刪除乙個debugfs檔案/目錄:
void
debugfs_remove
(struct dentry *dentry)
;
按照上面的建立介面來操作的話,必須要構建並且傳入乙個struct file_operations
結構體才行,這其實是相當繁瑣的,因此核心已經實現了更加便捷的debugfs介面,替我們實現了一些常用的file_operations結構,這樣我們可以不必重複去造輪子了,極大簡化了開發複雜度。
struct dentry *
debugfs_create_u8
(const
char
*name, umode_t mode,
struct dentry *parent, u8 *value)
;struct dentry *
debugfs_create_u16
(const
char
*name, umode_t mode,
struct dentry *parent, u16 *value)
;struct dentry *
debugfs_create_u32
(const
char
*name, umode_t mode,
struct dentry *parent, u32 *value)
;struct dentry *
debugfs_create_u64
(const
char
*name, umode_t mode,
struct dentry *parent, u64 *value)
;struct dentry *
debugfs_create_ulong
(const
char
*name, umode_t mode,
struct dentry *parent,
unsigned
long
*value)
;struct dentry *
debugfs_create_x8
(const
char
*name, umode_t mode,
struct dentry *parent, u8 *value)
;struct dentry *
debugfs_create_x16
(const
char
*name, umode_t mode,
struct dentry *parent, u16 *value)
;struct dentry *
debugfs_create_x32
(const
char
*name, umode_t mode,
struct dentry *parent, u32 *value)
;struct dentry *
debugfs_create_x64
(const
char
*name, umode_t mode,
struct dentry *parent, u64 *value)
;struct dentry *
debugfs_create_size_t
(const
char
*name, umode_t mode,
struct dentry *parent, size_t *value)
;struct dentry *
debugfs_create_atomic_t
(const
char
*name, umode_t mode,
struct dentry *parent, atomic_t *value)
;struct dentry *
debugfs_create_bool
(const
char
*name, umode_t mode,
struct dentry *parent, bool *value)
;
這一系列的函式,核心中只需要傳入對應資料型別的value位址即可,註冊完成後,應用層會在debugfs中會生成對應的debug檔案節點,這個節點可以**用層來讀取和寫入該value值。由此實現應用和核心的資訊互動。檔案節點的讀取屬性由mode來指定,核心會根據mode來執行不同的file_operations。分為唯讀、只寫、可讀寫型別。 如何使用Debugfs查詢Linux檔案建立時間
在linux系統中,所有的東西都被當作乙個檔案來對待,關於檔案的關鍵元資料,如建立和修改日期都儲存在inodes中。我們已經看了如何在linux系統中使用stat httpie和date命令檢查檔案的最後修改日期。在本教程中,我們將向您展示如何使用debugfs命令查詢檔案的建立時間。使用debug...
Linux核心簡介
說明 只供學習交流 一,linux體系結構 如果有人問你,linux系統是如何構成的?只要把下面這幅圖說給他聽,就ok 從圖上我們可以知道,linux系統是由使用者空間和核心空間兩部分組成,之所以將linux系統劃分為使用者空間和核心空間很大一部分原因是為了安全著想。linux簡化了分段機制,使得虛...
Linux 核心 簡介
核心是linux系統的最底層,提供了系統的核心功能並允許程序以一種有序的方式訪問硬體 用於控制程序,輸入,輸出裝置,檔案系統操作,管理記憶體,這些都是系統自動完成的,你大可安然睡覺去,linux核心支援多使用者,多工模式執行 多使用者 同時有多個使用者訪問系統 多工 某個時刻有多個任務執行 linu...