积累知识,方便自己
分类: LINUX
2011-11-28 12:56:06
#include
#include
#include
#include
#include
#include
MODULE_LICENSE("GPL");
struct TEST_DATA{
int data1;
int data2;
};
static int read_proc_data (char *buf, char **start, off_t offset, int count, int *eof, void *data)
{
struct TEST_DATA *ptr;
ptr=(void)data;
sprintf(buf, "%d----%d\n", ptr->data1,ptr->data2);
*eof = 1;
return 9;
}
static int __init init_test(void)
{
struct TEST_DATA test;
test.data1=10;
test.data2=20;
create_proc_read_entry("test_proc", 0, NULL, read_proc_data,&test);
/*第三个参数设置为NULL,默认在/proc/下建立名字为test_proc的文件*/
return 0;
}
static void __exit exit_test(void)
{
remove_proc_entry("test_proc", NULL);
}
module_init(init_test);
module_exit(exit_test);