[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Порядок изменения атрибутов терминала

Следующая страница показывает порядок изменения атрибутов терминала.
Во-первых, включается файл <termios.h>. Затем объявляется переменная
типа struct termios. Открывается терминальное устройство, и
tcgetattr(2) используется для получения текущих атрибутов терминала.
Эта функция заполняет struct termios текущими значениями атрибутов.
Необходимо сохранить текущие атрибуты, чтобы восстановить их при
завершении программы. Они не будут автоматически восстановлены при
завершении программы. Измените требуемые поля struct termios.
Установите новые значения атрибутов вызовом tcsetattr(2). Перед
завершением программы, верните исходные значения атрибутов.
               ПОРЯДОК ИЗМЕНЕНИЯ ТЕРМИНАЛЬНЫХ АТРИБУТОВ
1.   #include <termios.h>
2.   Объявить переменную типа struct termios
3.   Открыть терминальное устройство
4.   Получить текущие атрибуты, используя tcgetattr(2)
5.   Сохранить их значения
6.   Изменить значения полей struct termios
7.   Установить атрибуты, используя tcsetattr(2)
8.   Работа с терминалом
9.   Восстановить атрибуты вызовом tcsetattr(2)

      int fd;
  2   struct termios tty, savetty;
  3   fd = open("/dev/tty", O_RDWR);
  4   tcgetattr(fd, &tty);
  5   savetty = tty;
  6   /* modify struct termios tty members */
  7   tcsetattr(fd, TCSANOW, &tty);
  8   /* use terminal */
  9   tcsetattr(fd, TCSAFLUSH, &savetty);