mymod.c

来自「一个LINUX模块例子内核模块时LINUX提供给用户动态扩充内核的一种机制。利用」· C语言 代码 · 共 51 行

C
51
字号
/***************************************************************************                          main.c  -  description                             -------------------    begin                : 一 4月  4 21:01:11 CST 2003    copyright            : (C) 2003 by 张鸿烈    Function             : 编写创建proc文件系统的模块,该程序创建在/proc目录下                         : 创建mydir目录,在mydir目录下创建文件myfile/***************************************************************************/#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/module.h>//proc结构变量static struct proc_dir_entry *example_dir,*date_file;//读文件myfile的读驱动函数static int proc_read(char *page, char **start,off_t off,int count,int *eof,void *data ){   int len = 12345;   len=sprintf(page,"%d\n",len);   return len;  }  //装入模块
int init_module(void)
{
  int rv = 0;//创建proc/myfile目录  example_dir = (struct proc_dir_entry * )proc_mkdir("mydir",0);  if(example_dir == 0){    printk("mkdir fail\n");     return -1;  }  //创建/proc/mydir/myfile文件  date_file = (struct proc_dir_entry * )create_proc_entry("myfile",0444,example_dir,proc_read,0);  if(date_file == 0){     remove_proc_entry("myfile",0);     printk("mkfile fail\n");     return -1;  }  
  return 0;
}//卸载模块
void cleanup_module(void)
{	remove_proc_entry("mydate",example_dir);
	printk("Goodbye.\n");
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?