使用proc接口例子【转】
本文转载自:http://blog.csdn.net/mike8825/article/details/52434666
版权声明:本文为博主原创文章,未经博主允许不得转载。
在上一篇的使用sys接口来调试驱动的写完后,这里也将proc接口的例子贴出来。
proc.c的文件内容为
- #include <linux/module.h>
- #include <linux/proc_fs.h>
- #include <linux/seq_file.h>
- static int hello_proc_show(struct seq_file *m, void *v)
- {
- seq_printf(m, "Hello proc!\n");
- return 0;
- }
- ssize_t test_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos)
- {
- unsigned int var;
- var=simple_strtoul(buffer,NULL,10);
- printk("var=%d\n",var);
- return count;
- }
- static int hello_proc_open(struct inode *inode, struct file *file)
- {
- return single_open(file, hello_proc_show, NULL);
- }
- static const struct file_operations hello_proc_fops =
- {
- .owner = THIS_MODULE,
- .open = hello_proc_open,
- .read = seq_read,
- .write = test_proc_write,
- .llseek = seq_lseek,
- .release = single_release,
- };
- static int __init hello_proc_init(void)
- {
- proc_create("hello_proc", S_IRWXUGO, NULL, &hello_proc_fops);
- return 0;
- }
- static void __exit hello_proc_exit(void)
- {
- remove_proc_entry("hello_proc", NULL);
- }
- MODULE_LICENSE("GPL");
- module_init(hello_proc_init);
- module_exit(hello_proc_exit);
安装该驱动后,在proc下出现hello_proc文件,可通过echo和cat来读写文件。
- root@w-Lenovo-G470:/proc# ls -al hello_proc
- -rwxrwxrwx 1 root root 0 9月 4 20:58 hello_proc
该驱动在内核3.10之后的版本才可以用,内核3.10的的可参考http://blog.csdn.net/a_ran/article/details/37626765
使用proc接口例子【转】的更多相关文章
- 微软手写识别模块sdk及delphi接口例子
http://download.csdn.net/download/coolstar1204/2008061 微软手写识别模块sdk及delphi接口例子
- Spring Boot Hello World (restful接口)例子
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- linux /proc 接口和共享中断
在系统中安装共享处理者不影响 /proc/stat, 它甚至不知道处理者. 但是, /proc/interrupts 稍稍变化. 所有同一个中断号的安装的处理者出现在 /proc/interrupts ...
- 使用httpclient访问NLP应用接口例子
参考网址: http://yuzhinlp.com/docs.html 接入前须知 接入条件 1.进入网站首页,点击注册成为语知科技用户 2.注册完成后,系统将提供语知科技用户唯一标识APIKey,并 ...
- linux /proc 接口
无论何时一个硬件中断到达处理器, 一个内部的计数器递增, 提供了一个方法来检查设备 是否如希望地工作. 报告的中断显示在 /proc/interrupts. 下面的快照取自一个双处理 器 Pentiu ...
- Proc文件系统接口调试
在tpd_i2c_probe I2C的探测函数中创建proc接口 //----------------------------------------------------------------- ...
- Java中的内部接口
什么是内部接口 内部接口也称为嵌套接口,即在一个接口内部定义另一个接口.举个例子,Entry接口定义在Map接口里面,如下代码: public interface Map { interface En ...
- PHP面向对象学习五 类中接口的应用
类中接口的应用 接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用 抽象类:1.类中至少有一个抽象方法.2.方法前需要加abstract 接口: 1.类中全部为抽象方法,抽象方法前不 ...
- Unit05 - 抽象类、接口和内部类(上)
Unit05 - 抽象类.接口和内部类(上) 1.static final常量: 1)必须声明同时初始化 2)通过类名来访问,不能被改变 3)建议:常量名所有字母都大写(多个单词间用_) 4) ...
随机推荐
- spring DelegatingFilterProxy的原理及运用
DelegatingFilterProxy的原理及使用 DelegatingFilterProxy就是一个对于servlet filter的代理,用这个类的好处主要是通过Spring容器来管理serv ...
- Log4j2同步异步性能比较以及教程和问题(坑)汇总
线程数:500个 每个线程日志输出次数: 500次 log4j2其实有两个输出异步日志的方式:AsyncLogger和AsyncAppend 他两的区别在于: AsyncLogger使用的是无锁高 ...
- 【Codevs1907】方格取数3(最小割)
题意:在一个有m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法. n,m<=30 思路:如果 ...
- @Validated注解
参考: https://blog.csdn.net/changerzhuo_319/article/details/55804651
- chromedriver错误信息提示
The open chrome driver window displays: Starting ChromeDriver (v2.8.241075) on port 10820 [8804:7492 ...
- msp430项目编程36
msp430中项目---sd接口编程36 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结
- Python入门--14--字典
基础知识: 0.python对值没有要求,但对key有些要求,必须是非变量(变量,列表,字典) 1.在列表中使用成员资格操作符,和在字典中使用成员资格操作符,后者会更快 2.fromkeys这个函数会 ...
- T1191 数轴染色 codevs
http://codevs.cn/problem/1191/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descr ...
- docker 配置 direct-lvm
当前需要设置的宿主机是环境是搭建在vbox虚拟机上的centos7系统.测试环境中出现过一次意外情况,当时为了测试docker日志文件限制,运行了一个docker容器,但是后面忘记停止了,几天后发现了 ...
- 杭电1708Fibonacci String
Fibonacci String Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...