16.5.6. Управляющие флаги
16.5.6. Управляющие флаги
Флаги режима управления влияют на такие параметры протокола, как четность и управление потоком[114]. Флаги, устанавливаемые в с_cflag, описаны ниже.
CLOCAL При установке CLOCAL линии управления модемом игнорируются. Если он не установлен, open() блокируется до тех пор, пока модем не объявит состояние ответа абонента, утвердив линию обнаружения несущей. CREAD Символы могут приниматься только в случае установки CREAD. Его сбрасывать не обязательно. (Примечание. Попробуйте запустить stty -cread.) CSIZE CSIZE — это маска для кодов, устанавливающих размер передаваемого символа в битах. Размер символа следует установить в перечисленные ниже значения. CS5 для пяти бит на символ; CS6 для шести бит на символ; CS7 для семи бит на символ; CS8 для восьми бит на символ. CSTOPB При установке CSTOPB на конце каждого кадра символа генерируется по два стоповых бита. Если CSTOPB не установлен, генерируется лишь по одному стоповому биту. Устаревшее оборудование, требующее двух стоповых битов, встречается редко. HUPCL Если установлен, то при закрытии последнего открытого файлового дескриптора на устройстве уровень на линиях последовательного порта DTR и RTS (если они существуют) будет снижен, чтобы заставить модем разорвать соединение. То есть, например, если пользователь, вошедший в систему через модем, затем выходит из нее, модем разрывает соединение. Если программа передачи данных открывает устройство для исходящих вызовов, а процесс затем закрывает устройство (или завершается), модем разорвет соединение. PARENB и PARODD При установке PARENB генерируется бит четности. Если PARODD не установлен, генерируется проверка на четность. Если PARODD установлен, генерируется проверка нечетность. Если PARENB не установлен, PARODD игнорируется. CRTSCTS Использовать аппаратное управление потоком (линии RTS и CTS). При высоких скоростях (19 200 бит/с и более) программное управление потоком с помощью символов XON и XOFF становится неэффективным. Вместо этого следует использовать аппаратное управление потоком. Этот флаг не определен в POSIX и не доступен под этим именем в большинстве других систем Unix. Это особенно непереносимая область управления терминалом, несмотря на распространенную потребность в аппаратном управлении потоком в современных системах. Система SVR4 особенно характерна тем, что она не предоставляет возможности установки управления потоком с помощью termios, а только через другой интерфейс под названием termiox.