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) в Справочнике программиста.