开发与内核通信的应用程序

时间:2012-08-24 09:38:00

标签: c linux kernel kernel-module

我正在开发一个用于执行Linkedlist操作的应用程序(用户空间)。

我想开发一个内核模块(A),它具有链表操作的功能。和应用程序(用户空间)获取一些用于处理的输入值,并且应该通过kernelmodule(A)中的函数处理这些值。

  1. 如何将值从用户空间输入到内核模块。
  2. 如何将内核模块(A)的结果发送到我的用户空间应用程序?
  3. 如何从应用程序中调用内核模块(A)中的函数和变量。
  4. 我的申请可以是c程序吗?

1 个答案:

答案 0 :(得分:1)

您可以创建一个字符驱动程序接口来发送值内核空间,使用ioctl函数将用户空间数据指针发送到内核空间。在内核空间中,使用copy_from_user()将用户数据复制到内核空间。

在链表操作的情况下,结果可以是成功还是失败,可以作为内核ioctl函数的返回值返回

对于调用函数,您可以发送信息以识别第一段

中提到的要调用的函数