相关疑难解决方法(0)

如何将poll函数添加到内核模块代码?

据我所知,要从内核空间通知用户空间,一种方法是使用poll.这意味着内核驱动程序应该首先提供poll方法.下面的代码是从互联网上找到的,它确实有效!

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/string.h>
#include <linux/vmalloc.h>
#include <asm/uaccess.h>

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Fortune Cookie Kernel Module");
MODULE_AUTHOR("M. Tim Jones");

#define MAX_COOKIE_LENGTH       PAGE_SIZE

static struct proc_dir_entry *proc_entry;
static char *cookie_buf;  // Space for fortune strings
static int write_index;   // Index to write next fortune
static int read_index;    // Index to read next fortune

ssize_t fortune_write( struct file *filp, const char __user *buff,
                        unsigned long len, void *data )
// Refer to: ssize_t (*write) (struct file *, const char __user …
Run Code Online (Sandbox Code Playgroud)

linux driver linux-kernel

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

driver ×1

linux ×1

linux-kernel ×1