16.5.3. Флаги

16.5.3. Флаги

Четыре флаговых переменных — c_iflag, с_oflag, c_cflag и c_lflag — хранят флаги, управляющие определенными характеристиками. Заголовочный файл <termios.h> предоставляет символические константы битовых масок, которые, в свою очередь, предоставляют эти флаги. Устанавливайте их с помощью |= и переустанавливайте с помощью &= и как показано ниже.

t.c_iflag |= BRKINT;

t.c_iflag &= ~IGNBRK;

Некоторые из этих символических определений в действительности являются битовыми масками, охватывающими несколько взаимозависимых констант. Они используются с целью извлечения частей структуры для сравнения:

if ((t.c_cflag & CSIZE) == CS7) character_size = 7;

Набор флагов меняется от системы к системе. Наиболее важные флаги определены POSIX, но Linux, как и System V, включает несколько полезных флагов, не описанных в POSIX. Эта документация неполная; Linux поддерживает флаги, которые вряд ли понадобятся. Будут рассмотрены только те флаги, которые будут нужны наверняка.

Чтобы предоставить возможность создавать переносимое программное обеспечение, мы пометили каждый флаг, не определенный стандартом POSIX. Для таких флагов потребуется писать такой код:

#ifdef IUCLC

t.c_iflag |= IUCLC;

#endif

Также упоминаются области, представляющие особые проблемы переносимости, поэтому мы рассмотрим некоторые подробности функционирования других систем.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Управляющие флаги дескриптора безопасности

Из книги автора

Управляющие флаги дескриптора безопасности Флаги, входящие в структуру Control дескриптора безопасности, а именно, флаги SECURITY_DESCRIPTOR_CONTROL, определяют, какой смысл приписывается дескриптору безопасности. Некоторые из них устанавливаются и сбрасываются при помощи функций,


Флаги gfp_mask

Из книги автора

Флаги gfp_mask Выше были показаны различные примеры использования флагов, которые модифицируют работу системы выделения памяти, как при вызове низкоуровневых функций, работающих на уровне страниц, так и при использовании функции kmalloc(). Теперь давайте рассмотрим их более


Флаги областей VMA

Из книги автора

Флаги областей VMA Поле флагов vm_flags содержит битовые флаги, которые определены в файле <linux/mm.h>. Они указывают особенности поведения и содержат описательную информацию о страницах памяти, которые входят в данную область памяти. В отличие от прав доступа, которые связаны


Флаги канала

Из книги автора

Флаги канала Когда мы вначале книги изучали сервер (в параграфе «Сервер»), мы упомянули, что функция ChannelCreate() принимает параметр flags (флаги); правда, тогда мы вместо этого параметра передавали нуль.Теперь пришло время более подробно изучить назначение параметра flags.


16.5.6. Управляющие флаги

Из книги автора

16.5.6. Управляющие флаги Флаги режима управления влияют на такие параметры протокола, как четность и управление потоком[114]. Флаги, устанавливаемые в с_cflag, описаны ниже. CLOCAL При установке CLOCAL линии управления модемом игнорируются. Если он не установлен, open() блокируется до


Флаги.

Из книги автора

Флаги. В нодлистах и поинтлистах имеется специальное поле, содержащее флаги для данной станции. Флаги определяют скорость и возможности модема, режим работы станции и т.д. Вот краткий перечень флагов, имеющих отношение к режиму работы станции :Флаг ЗначениеCM Станция


Флаги пользователей

Из книги автора

Флаги пользователей Здесь будут перечислены все флаги пользователей, которые в настоящее время используются в программе TeamSpeak.? U (Unregistered, Незарегистрированный) — обозначает незарегистрированного пользователя. Обычно такие пользователи имеют самые малые права и


Флаги каналов

Из книги автора

Флаги каналов Теперь перечислим флаги, которые могут иметь каналы.? R (Registered, Зарегистрированный) — обозначает зарегистрированный канал. Если канал не имеет этого флага, то он автоматически удаляется с сервера после того, как все пользователи его покинут. В противном


14.2. Флаги и аргументы в командной строке

Из книги автора

14.2. Флаги и аргументы в командной строке Слухи о кончине командной строки сильно преувеличены. Хоть мы и живем в век графических интерфейсов, ежедневно тысячи и тысячи программистов по тем или иным причинам обращаются к командным утилитам.Мы уже говорили, что корнями


Флаги форматирования строк .NET

Из книги автора

Флаги форматирования строк .NET Если требуется более сложное форматирование, каждый заполнитель может дополнительно содержать различные символы форматирования (в верхнем или в нижнем регистре), как показано в табл. 3.3.Таблица 3.3. Символы форматирования строк .NET Символы