next up previous
次へ: ローカル・モード・フラグ 上へ: システムコールの実装(その4: dio_ioctl) 戻る: ioctlシステムコール

ioctlを使ったプログラム

最初に、ioctlシステムコールがどういうものであるかを知るために サンプルプログラムを作りながら理解していくようにする。

作成するサンプルプログラムは、パスワードを入力するときに キー入力が画面で見えないようにして、その後で、入力したパスワードを見 せるようにする。
プログラムの名前をpassとし、パスワードを boofooとしたとき、つぎのようなキー操作になる。

   # ./pass
   Password:  <---- boofooとキー入力したが見えない
   Password = boofoo

通常は、キーボードからデータを入力すると画面(ディスプレイ)に表示される。 このことは、ターミナル(Terminal)から入力したデータがそのまま画面に戻ってくる ので山彦のようにターミナルのエコー(ECHO)と呼ばれている。

このターミナルのエコーを禁止すれば、パスワードを見えなくすることができる。 そして、このターミナルのエコーを禁止するためにはioctlシステムコールを使う 必要がある。

なぜなら、通常のscanfprintfreadシステムコールや writeシステムコールなどを使うだけではキー入力を見せなくすることが できないからである。



Subsections

MANOME Yoichi 平成18年12月25日