【发布时间】:2012-02-27 10:31:45
【问题描述】:
我将编写一个词法,它将成为内核模块的一部分,我将在其中解析文件并返回令牌。为此,我可能需要使用像 fopen、getc、putc、fseek 等显然是用户空间函数的函数。我已经在内核空间中搜索了这些函数的替代方案,我发现了像 open、filp_open、sys_open 等我想对我来说没问题的函数。但是我想知道getc、putc、seek等函数(在文件操作中可以很方便)在内核空间中是否可用?
【问题讨论】:
-
你为什么要把它放到内核中?
-
我认为 open 是一个系统调用。
-
也许你应该看看其他模块解决方案。对我来说,在内核中解析文件之类的任务听起来不是一个好的解决方案。你不应该在里面放任何不需要内核功能的东西。也许你应该把它设计成一个模块和一个用户空间程序来解析配置并将其交给模块。
-
@JewelThief 在这种情况下,添加一个已定义 API 的系统调用,并编写一个用户区代理将配置文件转换为正确的按钮推送。用户空间存在是有原因的。
-
或者,通过 sysfs 文件系统公开配置旋钮。