proc节点技巧
来源:互联网 发布:我帅不帅 知乎 编辑:程序博客网 时间:2024/06/01 08:35
#include <linux/module.h>#include <linux/kernel.h>#include <linux/slab.h>#include <linux/types.h>#include <linux/proc_fs.h>#include <linux/pnp.h>#include <linux/seq_file.h>#include <linux/init.h>#include <asm/uaccess.h>static struct proc_dir_entry *proc_pnp = NULL;#define MAX_PORT 11static int proc_open(struct inode *inode, struct file *file){printk("proc_open\n");return 0;}static const struct file_operations proc_fops = {.owner= THIS_MODULE,.open= proc_open,.read = seq_read,};static int proc_entry_read(char *buf, char **start, off_t offset, int len, int *unused_i, void *unused_v){static const char port_name[]="123456789ABCDEFGH";return snprintf(buf,strlen(port_name)+1,"%s\n",port_name);}static intproc_entry_write(struct file *file, const char __user * buffer, unsigned long count, void *data){char line[20];//unsigned int val;int ret;ret = copy_from_user(line, buffer, count);if (ret)return -EFAULT;//val = simple_strtoul(line, NULL, 0);printk("proc_entry_write user write %s\n",line);return count;}static int __init s3c_proc_init(void){struct proc_dir_entry *proc_test;printk("s3c_proc_init\n");proc_pnp = proc_mkdir("bus/s3c_proc", NULL);if (!proc_pnp)return -EIO;proc_create("devices", 0666, proc_pnp, &proc_fops);proc_test = create_proc_entry("test",0666,proc_pnp);if (proc_test) {proc_test->read_proc = proc_entry_read;proc_test->write_proc=proc_entry_write;proc_test->data= NULL;}return 0;}static void __exit s3c_proc_exit(void){printk("s3c_proc_exit\n");if (!proc_pnp)return;remove_proc_entry("test", proc_pnp);remove_proc_entry("devices", proc_pnp);remove_proc_entry("bus/s3c_proc", NULL);}module_init(s3c_proc_init);module_exit(s3c_proc_exit);MODULE_LICENSE("GPL");
0 0
- proc节点技巧
- linux proc文件系统节点
- 读写proc节点几个实例
- 创建proc节点之create_proc_entry
- 怎样在Linux驱动中创建proc节点(示例)
- Android上层怎样读写proc节点(示例)
- Android4.0的驱动如何建立proc的文件节点
- 创建3个节点。sys下面和proc、dev下面。
- sys下面 proc下面,dev下面分别创建一个节点
- device tree 配置proc 节点 用那个dts
- 怎样在Linux驱动中创建proc节点(示例)
- Android上层怎样读写proc节点(示例)
- Android应用层对proc节点的读写
- Linux内核之/proc节点
- proc
- proc
- /proc
- proc
- 跳跃表-原理及Java实现
- 在 Bash 中删除除某些文件外的所有文件
- MoveWindow()
- lua-C API
- ubuntu下安装Python3
- proc节点技巧
- android数据存储之文件方式和SharedPreference
- android自定义控件
- IO练习
- C 调用LUA
- leetode:Palindrome Partitioning II
- LUA 调用C
- 三层浅析及示例分析
- 英语学习-简单词汇翻译