自动注册/proc文件
来源:互联网 发布:ubuntu卸载samba 编辑:程序博客网 时间:2024/06/12 00:32
typedef struct proc_private_data_s { void *data; unsigned char type;} proc_private_data_t;enum { INT_TYPE, STRING_TYPE, MAX_TYPE};void proc_show_int_private_data(struct seq_file *m, proc_private_data_t * private_data){ seq_printf(m, "%d\n", *((int*)private_data->data));}void proc_show_str_private_data(struct seq_file *m, proc_private_data_t * private_data){ seq_printf(m, "%s\n", (char *)private_data->data);}typedef void (*proc_show_func)(struct seq_file *m, proc_private_data_t *private_data);proc_show_func proc_show_arrays[] = { proc_show_int_private_data, /*INT_TYPE*/ proc_show_str_private_data /*STRING_TYPE*/};static int proc_seq_show(struct seq_file *m, void *v) { proc_private_data_t *private_data = (proc_private_data_t *)m->private; if (private_data->type < MAX_TYPE) proc_show_arrays[private_data->type](m, private_data); return 0; //!! must be 0, or will show nothing T.T }static int proc_seq_open(struct inode *inode, struct file *file){ return single_open(file, proc_seq_show, PDE_DATA(inode));}static struct file_operations proc_file_ops = { .owner = THIS_MODULE, .open = proc_seq_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, }; int register_proc_file(struct proc_dir_entry *parent, const char *proc_file, proc_private_data_t *data){ struct proc_dir_entry *file; file = proc_create_data(proc_file, 0, parent, &proc_file_ops, data); if (file == NULL) { printk("Can't create proc file %s\n", proc_file); return -1; } return 0;}EXPORT_SYMBOL(register_proc_file);
阅读全文
0 0
- 自动注册/proc文件
- 自动创建proc文件
- VB自动注册DLL文件
- proc文件
- /proc文件系统文件含义
- 特殊文件--proc文件系统
- proc的makefile文件
- linux /proc文件目录
- Linux proc文件详解
- proc下个文件
- /proc文件cpu相关
- linux 创建proc 文件
- /proc/meminfo文件分析
- /proc/meminfo文件分析
- /proc/meminfo文件分析
- /proc/cpuinfo文件分析
- /proc/stat文件
- 注意使用 /proc文件
- Scala中的几种类Nothing/AnyRef/AnyVal/Any
- Django中各文件常用参数详解
- 渣渣萌新咸鱼的ACM刷题之路
- 外媒称AI的真正威胁是贫富分化
- POJ2349 Arctic Network 题解【最小生成树】【Kruskal】【图论】
- 自动注册/proc文件
- Android Studio 彻底断开于SVN的连接
- 二叉树遍历
- HBase Thrift
- PAT B1001. 害死人不偿命的(3n+1)猜想
- Android蓝牙连接FT232单片机
- IAR for ARM介绍、下载、安装与注册
- js实现图片上传预览(一张一张上传)
- extjs问题1