[OpenBlockS Users page]
[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[obu:00210] PUSH SW で遊ぼう


松本です。

  ついでに 押しボタンスイッチです。

  押しボタンスイッチが押されたことを検出するサンプルプログラムです。

  付属のファームでは、 irdd というdaemon が押しボタンスイッチが
押されたことを検出、shutdown 処理を行うようです。サンプルを実行
する前に irdd を kill しておく必要があります。
  サンプルプログラムを実行するとプログラム中の ioctl の所でブロック
され, ボタンが押されると先に進む(サンプルの場合プログラムが終了する)
と言うものです。いまいち「遊ぼう」にふさわしい使い道が思いつかなかっ
たので、誰か遊び方を考えてください。

--------
/* swtest.c
   cc -O2 -o swtest swtest.c
*/
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>

int
main()
{
    int fd,stat;
    int pt_no = 0;

    fd = open( "/dev/pushsw", O_RDWR );
    if( fd == -1 ){
	perror( "open:" );
	exit(1);
    }

    stat = ioctl( fd, 0x40045001, 0x7ffffca0 );
    if( stat == -1 ){
	perror( "ioctl:" );
	exit(1);
    }

    return 0;
}
-----------

-- 
松本 徳真
Norimasa Matsumoto
E-mail: matsu@xxxxxxxxxxxxx

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: