Как записать в tty из пространства ядра только доступные номера старших и младших устройств? - PullRequest
0 голосов
/ 21 мая 2019

Я хотел бы записать в tty из пространства ядра и иметь доступ только к старшим и младшим номерам устройств для этого конкретного tty.

Я вхожу в ядро ​​через системный вызов, который работает нормально, испособен записывать в текущий tty с помощью

my_tty = current->signal->tty;

(my_tty->driver->ops->write) (my_tty,"Text message", SIZE);

Проблема в том, что иногда я хочу писать в другой tty и иметь (насколько я знаю) доступ только к tty, определенному текущим-> signal-> tty.

У меня есть номера старших и младших устройств для tty, которые я хочу адресовать, и которые я передаю в качестве параметров системному вызову.

Может кто-нибудь предоставитьпредложение о том, что доступно в качестве решения, которое я мог бы исследовать?

Я не нахожу ничего, кроме решения, описанного выше, с использованием текущего tty вызывающей программы.Возможно, я использую неправильные условия поиска.

У меня пока нет примера кода, так как я ничего не добавил в свой существующий системный вызов.Я был бы счастлив, когда у меня появится представление о том, с чем работать.Может быть, уже есть функции для достижения этой цели?Я просто надеюсь на указатель на то, что использовать или где искать.

1 Ответ

0 голосов
/ 21 мая 2019

Вы не делаете это, передавая старшие / младшие числа в свой системный вызов.

Вместо этого пусть пользовательская область откроет желаемый tty, а затем передаст полученный дескриптор файла на ваш системный вызов.Затем вы используете последовательность { fget(); kernel_write(); fput(); } для записи в предоставленный дескриптор файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...