次のサンプルプログラムを実行して、ioctlシステムコールを理解する こと。
なお、通常のioctlシステムコールのプログラムはヘッダファイルの<sys/ioctl.h>をインクルードすれば、それが<asm/termbits.h>もインク ルードすることになっているが、この処理系では<asm/termbits.h>を明示 的にインクルードした。
#include <sys/ioctl.h>
//#include <asm/termios.h>
#include <asm/termbits.h>
#include <stdio.h>
int main(void)
{
char buff[BUFSIZ];
struct termio tty, tty_save;
ioctl(0, TCGETA, &tty);
tty_save = tty;
// printf("tty.c_lflag = %o\n", tty.c_lflag); ==> 105073
tty.c_lflag ^= ECHO;
tty.c_lflag |= ECHONL;
ioctl(0, TCSETAF, &tty);
printf("Password: ");
fgets(buff, BUFSIZ, stdin);
printf("Password = %s", buff);
ioctl(0, TCSETAF, &tty_save);
return 0;
}