Читаем Linux API. Исчерпывающее руководство полностью

Не выводит символ новой строки после операции KILL

Да


ECHONL

Вывод NL (в каноническом режиме), даже если выключить эхо-контроль

Нет

*

ECHOPRT

Вывод удаляемых символов в обратном порядке (между \ и /)

Нет


FLUSHO

Сброс вывода (не используется)


ICANON

Ввод в каноническом режиме (построчно)

Да

*

IEXTEN

Включение расширенной обработки вводимых символов

Да

*

ISIG

Возможность вводить символы, генерирующие сигналы (INTR, QUIT, SUSP)

Да

*

NOFLSH

Отключение сброса при вводе INTR, QUIT и SUSP

Нет

*

PENDIN

Новый вывод отложенного ввода при следующем чтении (не реализовано)

(Нет)


TOSTOP

Генерация SIGTTOU для фонового вывода (см. раздел 34.7.1)

Нет

*

XCASE

Каноническое представление верхнего/нижнего регистра

(Нет)


Отдельные флаги, перечисленные в табл. 58.2, были доступны в традиционных терминалах с ограниченными возможностями; они редко используются в современных системах. Например, флаги IUCLC, OLCUC и XCASE применялись в терминалах, которые были способны отображать только прописные буквы. Когда пользователь при входе вводил свое имя в верхнем регистре, во многих старых UNIX-системах программа login исходила из того, что работа выполняется именно на таком терминале. В результате устанавливались вышеперечисленные флаги, а строка приглашения для ввода пароля имела следующий вид:

\PASSWORD:

С этого момента все строчные буквы будут выводиться в верхнем регистре, а перед настоящими прописными буквами будет вставляться символ обратного слэша (\). Аналогично ввод настоящих прописных букв необходимо начинать с данного символа. Флаг ECHOPRT тоже был разработан для терминалов с ограниченными возможностями.

Различные маски задержки тоже являются наследием былых времен; они позволяют выводить символы разрыва строки и разрыва страницы таким устройствам, как медленные терминалы и принтеры. Флаги OFILL и OFDEL давали возможность определить способ выполнения задержки. Большинство из таких флагов не используется в Linux. Исключение составляет параметр TAB3 для маски TABDLY, позволяющий выводить символ табуляции в виде совокупности пробелов (не больше восьми).

В следующих подразделах приводятся подробности о некоторых флагах структуры termios.


BRKINT

Если установить этот флаг (и выключить при этом флаг IGNBRK), то при выполнении условия BREAK активной группе процессов будет передаваться сигнал SIGINT.


ECHO

Установка данного флага включает эхо-контроль вводимых символов. При вводе паролей его лучше сбрасывать. Эхо-контроль также отключается в командном режиме редактора vi, когда вводимые символы интерпретируются как команды редактирования, а не как текст. Флаг ECHO работает как в каноническом, так и в неканоническом режиме.


ECHOCTL

В сочетании с ECHO флаг ECHOCTL приводит к эхо-контролю управляющих символов (например, ^A для Ctrl+A); исключение составляют табуляция, символ новой строки, START и STOP. Если флаг ECHOCTL не установлен, то управляющие символы не экранируются.

Управляющими считаются символы, у которых коды ASCII меньше 32 (плюс символ DEL, чей код равен 127). Управляющий символ (назовем его x) выводится в виде знака ^, за которым идет результат выражения x^64. Для всех символов, кроме DEL, оператор XOR (^) в этом выражении добавляет к их кодам значение 64. Таким образом, Ctrl+A (код ASCII 1) выводится на экран как ^A (A имеет код 65). В случае с DEL происходит вычитание 64 из 127, в результате чего получается 63 — код ASCII символа? поэтому DEL выводится как ^?.


ECHOE

В каноническом режиме установка данного флага приводит к визуальному представлению операции ERASE; это выглядит как вывод последовательности из трех символов: возврат-пробел-возврат. Если флаг ECHOE выключить, то операция ERASE все так же будет удалять символы, но ее выполнение будет экранироваться (например, как ^?).


ECHOK и ECHOKE

Эти флаги управляют визуальным представлением операции KILL (например, удаление строки) в каноническом режиме. По умолчанию (когда оба флага включены) строка удаляется визуально (см. ECHOE). Если сбросить хотя бы один из этих флагов, то визуальное удаление перестанет выполняться (однако входящая строка по-прежнему будет отклоняться), а операция KILL будет экранироваться (например, как ^U). Если флаг ECHOK установлен, а ECHOKE сброшен, то дополнительно выводится символ новой строки.


ICANON

Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных
1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных