可以打电话吗ioctl
来自 Linux 内核模块?
谁能提供一个如何使用它的例子吗?
您可以尝试拨打电话sys_ioctl
.
如果内核是用以下命令编译的,则它会被导出CONFIG_COMPAT
.
或者,如果您有设备驱动程序struct file_operations
,你可以调用它的ioctl
直接处理。
然而,ioctl 句柄期望指针参数位于当前运行进程的地址空间中,而不是位于内核地址空间中。copy_from_user
将用于阅读它们。如果你给出指向内核地址空间的指针,copy_from_user
将失败。我不知道你会如何解决这个问题。
Edit:
如果您将在下面的代码之间调用 ioctl 处理程序copy_from_user
永远不会失败。
mm_segment_t fs;
fs = get_fs(); /* save previous value */
set_fs (get_ds()); /* use kernel limit */
/* system calls can be invoked */
set_fs(fs); /* restore before returning to user space */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)