szlzzyli 发表于 2014-04-22 22:12

新手求教:关于如何在内核模块中使用fprintf类似功能的函数

      本人初学linux内核,现在编写的内核模块中进行文件操作,可是在make的时候提示与文件相关的函数都不存在,后来谷歌才知道我之前用的函数是用户态编程用的,使用的头文件stdio.h在内核态编程中不存在,我现在非常想知道在内核态编程中如何使用这些文件操作?
      主要是求与fopen,fgetc,fprintf,fscanf功能类似的函数,最重要的是类似于FILE的结构体。
      由于本人基础略差,查阅了很多资料都不是十分明白,但是时间太紧(毕业设计,五月初就要交论文),所以在此求助,非常感谢啊。

Godbach 发表于 2014-04-22 22:33

回复 1# szlzzyli

原来又是老师出的题啊。这要求很蛋疼啊,内核态搞个 fopen 想干嘛,是想在内核态直接读写操作文件吗

   

szlzzyli 发表于 2014-04-22 23:16

回复 [url=forum.php?mod=redirect

szlzzyli 发表于 2014-04-22 23:25

回复 [url=forum.php?mod=redirect

szlzzyli 发表于 2014-04-22 23:42

不知道为什么前两次的回复都不见了…
我主要是想在netfilter模块中读写文件来获取关键字,然后利用关键字完成对数据包的过过滤,只是由于初学,不晓得内核态编程没有标准库…所以无法实现
实在不行的话我就只能将关键字直接写入函数,在数组初始化的时候直接赋值
所谓的关键字字就是要禁止的端口号什么的

Godbach 发表于 2014-04-22 23:53

回复 5# szlzzyli

首先,如果你完全没搞过内核编程的话,是需要做一些基础的学习,了解一下内核模块的机制、运行等。以及如何写一个自己的内核模块。

其次,至于你的需求,其实就是将你用户态的配置如何导入到 kernel。文件是一种容易想到的方式。用户态和 kerne 可以通过 proc 文件通信。proc 文件又有现成的例子可资参考。


   

szlzzyli 发表于 2014-04-23 12:24

回复 6# Godbach


   谢谢啊,我先研究一下proc文件通信去···
页: [1]
查看完整版本: 新手求教:关于如何在内核模块中使用fprintf类似功能的函数