linux用户内核通信机制:proc

Proc通信是一种基于文件系统的通信:

主要步骤:

1:
struct proc_dir_entry *input, *output; // proc_dir_entry定义文件目录结构体

2:
/编写对字符设备文件的读写操作函数/
static ssize_t mywrite(struct file *file,
const char __user *ubuf,size_t count, loff_t *ppos)

static ssize_t myread(struct file *file,
char __user *ubuf,size_t count, loff_t *ppos)

3:
static struct file_operations fo_input =

{
.owner = THIS_MODULE,
.write = mywrite,
}; //填充file_operations结构体
static struct file_operations fo_output =
{
.owner = THIS_MODULE,
.read = myread,
}; //填充file_operations结构体

4:
/在proc目录下生成对应的设备文件,并和file_operations结构体绑定/
input=proc_create(“input”,0660,NULL,&fo_input);
output=proc_create(“output”,0660,NULL,&fo_output);

最后会在/proc 目录下生成input和output文件。

参考:
https://blog.csdn.net/qq_41603102/article/details/83411568

你可能感兴趣的:(linux,内核)