-1

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

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

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

我的应用程序可以是c程序吗?

4

1 回答 1

1

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

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

对于调用函数,您可以发送信息以识别要调用的函数,如第一段所述

于 2012-08-24T10:13:44.320 回答