LinuxKernel

proc本来の使い方であるカーネル情報を取得だけでなく、procファイルシステムを利用することで、開発中のkernelやmoduleへのイベントトリガとしても便利
dev filesystem でもいいのだが,user land側でioctlとかを行うプログラムを作る必要があるかも.

これなら cat /proc/hogehoge や echo "" >/proc/hogehoge でOK!

登録関数

read writeに対応する処理ハンドラは以下の仕様となる

int hoge_read(char *buffer,char **start,off_t off,int count,int *eof,void *data)
bufferはuserへ書き出すデータへのポインタ countはuserが要求するread長
ファイルが終端ならばeofに0を書き込んであげる 
dataは登録時にprocエントリにあらかじめ与えられたデータへのポインタ

int hoge_write(struct file *file, const char *buffer,unsigned long count, void *data)
bufferはuserが書き込んだデータ countはその長さ dataは同上

共に,read,writeしたデータのバイト数を返す.

参考リンク

http://www.turbolinux.co.jp/world/library/features/c_magazine/vol_03.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Sat, 11 Jun 2005 12:31:07 JST (4939d)