如何从只有主要和次要设备号可用的内核空间写入tty?

时间:2019-05-21 03:00:01

标签: c linux-kernel tty

我想从内核空间写入tty,并且只能访问该特定tty的主要和次要设备号。

我正在通过工作正常的系统调用进入内核,并且能够通过使用...来写入当前的tty

struct

问题是我偶尔希望写另一个tty,并且(据我所知)只能访问由current-> signal-> tty定义的tty。

我要做的是我要处理的tty的主设备号和次设备号,我将它们作为参数传递给syscall。

任何人都可以对我可以研究的解决方案提出建议吗?

除了使用调用程序的当前tty的上述解决方案之外,我没有找到其他任何东西。也许我使用的搜索词不正确。

我还没有示例代码,因为我还没有向现有的syscall添加任何内容。一旦有了关于使用什么的想法,我将很高兴。也许已经有实现此目的的功能?我只是希望能找到使用或寻找外观的指针。

1 个答案:

答案 0 :(得分:0)

您不能通过将主/次数字传递给系统调用来做到这一点。

相反,让用户空间侧打开所需的tty,然后将生成的文件描述符传递给您的syscall。然后,使用序列{ fget(); kernel_write(); fput(); }写入提供的文件描述符。