我对 Linux 还很陌生,但是做了很多自学。
我的意思是我的问题的答案是,不,你不应该这样做。
因此,请向本页的专家寻求有关该主题的建议。
- 可以从另一个 ioctl 中调用另一个 ioctl 吗?
- ioctl 从技术上讲是一个系统调用(我认为),这意味着它在技术上是内核代码?
答案1
ioctl
从用户空间进行调用,并在内核空间中执行驱动程序中的代码。在内核空间本身,您通常直接调用内核的其他部分,因此不需要嵌套ioctl
:毕竟,这是一种帮助用户空间与内核空间通信的机制。
所以:
1)没有人这样做,因为没有必要。
2)你不应该这样做。
3)如果你真的愿意,你可以在内核中设置一个假环境,你可以ioctl
在其中模拟另一个环境ioctl
,但这是一个很大的努力,并且是一个复杂的解决方案,你可以用更简单的方式实现。
4)思考这个并不能帮助你理解内核。