SXT(7) SXT(7)
НАЗВАНИЕ
sxt - драйвер виртуального терминала
ОПИСАНИЕ
Sxt представляет собой дополнительный драйвер, который
располагается между драйвером верхнего уровня, единым
для всех терминальных линий, и драйвером конкретного
устройства. Драйвер верхнего уровня выполняет операции
над виртуальными устройствами, а sxt служит посредником
при передаче этих операций на реальные устройства.
Драйвер sxt в настоящее время используется только ко-
мандой shl(1).
Виртуальным терминалам соответствуют файлы в каталоге
/dev/sxt, которые образуют группы по 8. Чтобы начать
работу с группой, программа должна открыть файл вида
/dev/sxt/??0 (так называемый канал 0) с флагом O_EXCL,
после чего выполнить команду SXTIOCLINK системного вы-
зова ioctl(2) для начала мультиплексирования.
Ввод с клавиатуры может доставаться только одному кана-
лу из группы, так называемому "управляющему". Процессы,
пытающиеся читать по другим каналам, будут блокированы.
Драйвер sxt поддерживает две группы команд системного
вызова ioctl(2). Первая группа включает все стандартные
команды ioctl, описанные в termio(7), со следующим до-
бавлением:
TIOCEXCL
Установить исключительный доступ: до тех пор, пока
файл не будет закрыт, все попытки его открыть от-
вергаются.
TIOCNXCL
Отменить исключительный доступ: разрешается нес-
колько раз открывать файл.
Вторая группа включает команды для самого драйвера sxt.
Некоторые из них могут выполняться только для канала 0.
SXTIOCLINK
Создать группу каналов и начать мультиплексирован-
ное отображение виртуальных терминалов на реаль-
ный. Аргументом является количество создаваемых
каналов. Эту команду можно выполнить только на ка-
нале 0. Возможны следующие ошибки:
[EINVAL] Значение аргумента некорректно.
[ENOTTY] Команда выдана не с реального термина-
ла.
[ENXIO] В системе нет драйвера sxt.
[EBUSY] Команда SXTIOCLINK уже была выдана для
данного реального терминала.
[ENOMEM] Не хватает памяти для структур вирту-
альных терминалов.
[EBADF] Канал 0 не был предварительно открыт.
SXTIOCSWTCH
Установить "управляющий" канал. Возможны следующие
ошибки:
[EINVAL] Некорректный номер канала.
[EPERM] Команду можно выполнить только на кана-
ле 0.
SXTIOCWF
Заставить канал ожидать, пока он не станет "управ-
ляющим". Эта команда возвращает ошибку EINVAL, ес-
ли указан некорректный номер канала.
SXTIOCUBLK
Сбросить флаг loblk для указанного канала. Эта ко-
манда возвращает ошибку EINVAL, если указан некор-
ректный номер канала или канал 0.
SXTIOCSTAT
Выдать состояние (блокирован на вводе или на выво-
де) каждого канала, записав его в структуру типа
struct sxtblock, адрес которой передан в качестве
аргумента (тип struct sxtblock описан в файле
). Если в структуру записать не уда-
лось, выдается ошибка EFAULT.
SXTIOCTRACE
Включить трассировку. Трассировочная информация
выдается на системную консоль. Если при конфигури-
ровании системы возможность трассировки не предус-
мотрена, команда игнорируется.
SXTIOCNOTRACE
Выключить трассировку. Если при конфигурировании
системы возможность трассировки не предусмотрена,
команда игнорируется.
ФАЙЛЫ
/dev/sxt/??[0-7] Виртуальные терминалы.
СМ. ТАКЖЕ
termio(7).
shl(1), stty(1) в Справочнике пользователя.
ioctl(2), open(2) в Справочнике программиста.
|