FC2ブログ
メモ帳
メモ帳
スポンサーサイト
--年--月--日 (--) --:-- | 編集
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
insmodの時に引数を渡したい
2007年05月12日 (土) 18:39 | 編集
モジュールパラメータというらしい。
これを使えば、処理の切り分けやら、メッセージのオンオフを
わざわざ再コンパイルしてロードしなおさなくても良くなる。
使い方
(1)モジュールパラメータとなる変数を定義。
(2)モジュールパラメータ指定する。
だけと、簡単に使える。

モジュールパラメータ指定は次の関数で。
module_param(variable, type, perm);
引数1はモジュールパラメータとなる変数。
引数2は引数1で指定した変数の型。
    使える型はbool,invbool(boolの反転した値),charp(文字列ポインタ)
    int,long,short,uint,ulong,ushort。
引数3はモジュールパラメータへのアクセス制御のフラグ?
    S_IRUGO 読み込みできる。
    S_IWUSR 書き込みできる。

例)
#include<linux/init.h>
#include<linux/module.h>

static int num=0;
module_param(num, int, S_IRUGO);
static int __init hoge_init(void)
{
  //なんか処理
  printk("*****num = %d¥n", num);
}
static void __exit hoge_exit(void)
{
  //なんか処理
}
module_init(hoge_init);
module_exit(hoge_exit);

で、insmod
# /sbin/insmod hoge.ko num=10
ってモジュールをロードすると、コンソールに
*****num = 10
って表示される。
コメント
この記事へのコメント
コメントを投稿する
URL :
コメント :
パスワード :
秘密 : 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2004 Powered By FC2 allrights reserved. / template: sukechan
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。