日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux驅(qū)動(dòng)模塊參數(shù)module_param - 嵌入式學(xué)習(xí)網(wǎng) -中國(guó)最專業(yè)的嵌入式社區(qū)...

 seligor 2010-09-19
為了增加驅(qū)動(dòng)程序的靈活性,內(nèi)核允許對(duì)驅(qū)動(dòng)程序指定參數(shù),而這些參數(shù)可在加載驅(qū)動(dòng)程序模塊時(shí)改變。
這些參數(shù)的值可由insmod或者modprobe在加載時(shí)指定;后者也可以從它的配置文件(/etc/modprobe.conf)讀取參數(shù)的值。這兩個(gè)命令可在命令行里接受幾種參數(shù)類型的賦值。
我們可以用“module_param(參數(shù)名,參數(shù)類型,參數(shù)讀/寫(xiě)權(quán)限)”為模塊定義參數(shù)。為了演示這種功能,我們對(duì)本章開(kāi)始的“hello world”模塊(命名為hello_ext)做了如代碼清單1.5所示的改進(jìn)。 我們?cè)黾?個(gè)參數(shù):一個(gè)整型值,稱為howmany,一個(gè)字符串稱為whom。 在裝載這個(gè)增強(qiáng)的模塊時(shí),將向whom問(wèn)候howmany次。這樣我們可以用下面的命令來(lái)裝載該模塊:
insmod hello_ext.ko howmany=5 whom=“Students”
                 代碼清單1.4 hello_ext
#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE(“Dual BSD/GPL”); static char *whom =“world”;static int howmany = 1;  static int hello_init(void){        int i;        for(i=0;i<howmany;i++)        {       printk(KERN_ALERT“Hello %s\n”,whom);         }       return 0;}static void hello_exit(void){       printk(KERN_ALERT“Hello world exit\n”);}module_init(hello_init);module_exit(hello_exit);module_param(howmany, int, S_IRUGO);module_param(whom, charp, S_IRUGO);EXPORT_SYMBOL(howmany);EXPORT_SYMBOL(whom); 內(nèi)核支持的模塊參數(shù)類型包括byte、short、ushort、int、uint、long、ulong、charp(字符指針)、bool或invbool(布爾的反),以‘u’開(kāi)頭的為無(wú)符號(hào)值。
除此之外,模塊也可以擁有參數(shù)數(shù)組,形式為“module_param_array(數(shù)組名,數(shù)組類型,數(shù)組長(zhǎng),參數(shù)讀/寫(xiě)權(quán)限)”。運(yùn)行insmod或modprobe命令時(shí),應(yīng)使用逗號(hào)分隔輸入的數(shù)組元素。
轉(zhuǎn)自嵌入式學(xué)習(xí)網(wǎng)!
原文地址:http://www./viewnews-8458

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多