c - 制作一个/dev/hwrng 内核模块,它使用光标位置来生成熵

标签 c linux linux-kernel linux-device-driver entropy

我是内核开发的新手,所以为了提高我的技能,我想制作一个简单的内核模块,它设置设备/dev/hwrng 并生成一些带有光标位置的熵。

目前我已经找到了启动/dev/hwrng 的方法并且只生成零作为熵 => http://main.lv/writeup/kernel_dev_hwrng.md

为了获取光标位置,我知道不同的方法:

  • 从库 X11/Xlib.h -> 我可以获得光标的绝对位置
  • 来自 /dev/input/mice/dev/input/mouse0 -> 我可以获得相对位置
  • 表格/dev/input/event<X>其中 X 是使用命令 cat /proc/bus/input/devices 查找的数字

所以我知道如何在用户区获取光标位置,但我不知道如何从内核区获取它。我已经阅读了一些关于 IOCTL 的内容,但是仅仅为此在用户空间和内核空间之间建立联系似乎很奇怪。 谢谢你帮助我。

最佳答案

我建议先看这个:https://unix.stackexchange.com/questions/25601/how-do-mouse-events-work-in-linux 简短的版本是您可以从内核空间访问相同的设备文件。

关于c - 制作一个/dev/hwrng 内核模块,它使用光标位置来生成熵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45127248/

相关文章:

android - posix setuid 不同进程

c - Use System() with some dos commands issue::QUERY.EXE 未被识别为内部或外部命令、可运行程序或批处理文件

linux - git:确定是否有文件不在 repo 协议(protocol)中,但应该添加

profiling - Linux 内核中 Perf 事件子系统的性能开销

linux - redis是否限制客户端数量为65K?

c - 在C中为char数组分配一个值

linux - shell 脚本 - 将所有数据从 stdout 重定向到/dev/null

linux - 合并分割的 tar.gz 文件的某些部分 Linux 命令

assembly - 有没有关于指令 `jmpi`的权威文件

c - Doxygen 文档结构成员与属性