最初に、ioctlシステムコールがどういうものであるかを知るために
サンプルプログラムを作りながら理解していくようにする。
作成するサンプルプログラムは、パスワードを入力するときに
キー入力が画面で見えないようにして、その後で、入力したパスワードを見
せるようにする。
プログラムの名前をpassとし、パスワードを
boofooとしたとき、つぎのようなキー操作になる。
# ./pass Password: <---- boofooとキー入力したが見えない Password = boofoo
通常は、キーボードからデータを入力すると画面(ディスプレイ)に表示される。
このことは、ターミナル(Terminal)から入力したデータがそのまま画面に戻ってくる
ので山彦のようにターミナルのエコー(ECHO)と呼ばれている。
このターミナルのエコーを禁止すれば、パスワードを見えなくすることができる。
そして、このターミナルのエコーを禁止するためにはioctlシステムコールを使う
必要がある。
なぜなら、通常のscanfやprintfやreadシステムコールや writeシステムコールなどを使うだけではキー入力を見せなくすることが できないからである。