【发布时间】:2014-08-03 17:54:04
【问题描述】:
我正在为我的驱动程序创建一个 /proc 条目。因此,在读取回调函数中,第一个参数是我们将要为用户写入的数据的位置。我搜索了如何在其中写入数据,我可以看到每个人都为此目的使用 sprintf。我很惊讶地看到它在内核空间中工作。但是,在内核空间中使用用户空间函数应该是错误的。我也无法弄清楚如何在不使用任何用户空间函数(如 strcpy、sprintf 等)的情况下在该位置写入。我使用的是内核版本 3.9.10。请建议我如何在不使用 sprintf 或任何其他用户空间功能的情况下做到这一点。
【问题讨论】:
-
如果您想要更快的响应,最好添加一些您想要实现的示例代码。
-
您正在寻找的是 proc_create()。请阅读内核文档树中的相关部分,例如seq_file,并尝试编写一些代码。 Stack Overflow 不是免费的编程服务,因此生成一些代码然后询问有关您已经生成的代码的具体问题被认为是一种良好的行为。
标签: linux linux-kernel linux-device-driver