Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Разработка драйверов и драйверные библиотеки > Драйверные библиотеки > Библиотека разработки драйверов символьных устройств (libio-char) > Общие сведения > Обзор примера драйвера последовательного порта > Функции и типы данных > tto()



tto()

Передача данных в оборудование

Прототип:

#include <sys/io-char.h>
int tto( TTYDEV *ttydev,
int action,
int arg1 )

Аргументы:

ttydev
Указатель на структуру TTYDEV драйвера.
action
Одно из следующих действий:
TTO_STTY
Получена команда stty. Вызывается io-char, когда команда stty выполняется для устройства. Эта операция вызывает ser_stty(); аргумент arg1 игнорируется
TTO_CTRL
Установка характеристик порта, например, управление линиями модема RS-232. Значения аргумента arg1:
_SERCTL_BRK_CHG
Вызывается io-char, когда приложение запрашивает отправку "break" (например, через tcsendbreak()).
_SERCTL_DTR_CHG
Изменяет линию DTR.
_SERCTL_RTS_CHG
Изменяет линию RTS. io-char вызывает эту команду для активации аппаратного управления потоком, когда входной буфер заполняется.
TTO_LINESTATUS
Запрос на получение статуса линий. Возвращает состояние регистров Modem Status и Modem Control, когда пользователь выполняет devctl() с параметром DCMD_CHR_LINESTATUS; аргумент игнорируется.
TTO_DATA
Используется, если tto() вызывается напрямую из обработчика прерывания для передачи данных или если обработчик записи io-char вызывает функцию для начала передачи.
TTO_EVENT
Используется для вызова tto() в контексте потока для передачи данных. Обработчик прерываний может вернуть это событие вместо прямого вызова tto().
arg1
Значение данных, которое имеет разные значения для разных действий. Используется для передачи флагов, модифицирующих действие

Библиотека:

libio-char

Описание:

Функция передает данные из выходного буфера io-char в оборудование. Она также обрабатывает команды stty, вызывая ser_stty(), и предоставляет информацию о состоянии линий управления и их статусе.

Возвращаемое значение:

0
Успешное завершение.
-1
Произошла ошибка.

Классификация:

ЗОСРВ «Нейтрино»




Предыдущий раздел: Обзор примера драйвера последовательного порта