read proc的用法例項

2021-06-16 16:36:04 字數 1247 閱讀 9311

說明

本測試程式主要參考了《linux裝置驅動程式》第三版的第四章「除錯技術」的『/proc檔案』一節。

並對一些關鍵函式進行了例項化。

以下是mod1.c

#include

#include

#include

#include/* read_proc需要的標頭檔案。 */

module_license("gpl");

/*原型函式:int (*read_proc)(char *page, char **start, off_t offset, int count, int *eof, void *data)

這個函式與read的系統呼叫函式功能類似。就在/proc中為驅動程式設計了乙個特有了檔案(假設名scull)後,則使用者使用cat /proc/scull時,會呼叫到此函式。

在/proc中建立檔案,並且完成此檔案與乙個read_proc的關聯關係的函式是create_proc_read_entry.

刪除這種關係,並且刪除這個檔案的函式是remove_proc_entry.

實體函式:scull_read_procmem(char *buf, char **start, off_t offset, int count, int *eof, void *data)

parameter:

buf:是從驅動層向應用層返回的資料區;當有使用者讀此/proc/***的檔案時,由系統分配一頁的快取區,驅動使用read_proc此寫入資料。

start: 表示寫在此頁的**,此用法複雜,如果是返回小量資料(不超過一頁)賦值為null。

offset:與read用法一致,表示檔案指標的偏移。

count:與read用法一致,表示要讀多少個位元組。

eof:  輸出引數。

data:由驅動內部使用。

return:

返回值是可讀到的位元組數。

*/int scull_read_procmem(char *buf, char **start, off_t offset, int count, int *eof, void *data)

static int func1(void)

export_symbol(func1);

static int __init hello_init(void)

static void __exit hello_exit(void)

module_init(hello_init);

module_exit(hello_exit);

Gson的用法例項

public class namereq public void setmailno string mailno public string getorgcode public void setorgcode string orgcode namereq namereq gson.fromjson ...

tar用法例項

tar用法例項 tar命令 tar 檔案是幾個檔案和 或 目錄在乙個檔案中的集合。這是建立備份和歸檔的佳徑。tar 使用的選項有 c 建立乙個新歸檔。f 當與 c 選項一起使用時,建立的 tar 檔案使用該選項指定的檔名 當與 x 選項 一起使用時,則解除該選項指定的歸檔。t 顯示包括在 tar 檔...

tar用法例項

tar用法例項 tar命令 tar 檔案是幾個檔案和 或 目錄在乙個檔案中的集合。這是建立備份和歸檔的佳徑。tar 使用的選項有 c 建立乙個新歸檔。f 當與 c 選項一起使用時,建立的 tar 檔案使用該選項指定的檔名 當與 x 選項 一起使用時,則解除該選項指定的歸檔。t 顯示包括在 tar 檔...