Книга: Разработка приложений в среде Linux. Второе издание
24.1.1. Инициализация обработки ввода в S-Lang
24.1.1. Инициализация обработки ввода в S-Lang
Прежде чем какая-либо функция обработки входных данных сможет работать, с помощью функции Slang_init_tty()
нужно перевести терминал в состояние, которое ожидается S-Lang:
int SLang_init_tty(int abort_char, int flow_ctrl, int opost);
Первый параметр функции Slang_init_tty()
определяет символ, который будет использован для прекращения работы. При передаче значения -1
будет сохранен текущий символ прерывания tty (обычно, <Ctrl+C>); в противном случае символу прерывания будет назначено переданное значение. Каждый раз при вводе на терминале символа прекращения работы ядро посылает сигнал SIGINT
тому процессу, который обычно завершает работу приложения. В главе 12 мы рассказывали о том, как производится обработка сигналов, подобных SIGINT
.
Следующий параметр отвечает за включение и отключение управления потоком. Управляя потоком на уровне терминала, пользователь может приостанавливать процесс вывода данных на терминал, не допуская прокрутки, а затем возобновлять его. Обычно для приостановления процесса вывода данных на экран используется <Ctrl+S> и <Ctrl+Q> — для возобновления этого процесса. Хотя эта особенность удобна для некоторых утилит, ориентированных на работу со строками, программы, работающие с библиотекой S-Lang, обычно ориентированы на работу с экраном, поэтому она может оказаться излишней. S-Lang позволяет приложениям отключать эту функциональность, в результате чего программа сможет назначить нажатия клавиш Stop (Стоп) и Start (Пуск) для других команд. Чтобы включить управление потоками, функции SLang_init_tty()
необходимо передать ненулевое значение в качестве второго параметра.
Последний параметр разрешает заключительную обработку вывода на терминале. Любой механизм ядра, связанный с заключительной обработкой, будет включен, если последний параметр будет иметь ненулевое значение. Информацию об обработке выходных данных можно найти в главе 16.
- 24.1. Обработка ввода
- 1.2. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- 1.6 Драйверы и буферы ввода-вывода
- Методы грамотной обработки возражений изменению
- B1.7. Функции обработки ошибок
- Глава 6 BIOS – базовая система ввода-вывода
- 5.2.2.2. Устройства ввода информации в персональный компьютер
- Подпрограмма обработки прерывания
- Можно ли входить в систему без ввода имени и пароля?
- Правила ввода формул
- Основные сведения о базах данных и программах для их обработки
- 6.1 Program Description Language (PDL)