使用proc接口例子【转】

本文转载自:http://blog.csdn.net/mike8825/article/details/52434666

版权声明:本文为博主原创文章,未经博主允许不得转载。

在上一篇的使用sys接口来调试驱动的写完后,这里也将proc接口的例子贴出来。

proc.c的文件内容为

[plain] view plain copy

  1. #include <linux/module.h>
  2. #include <linux/proc_fs.h>
  3. #include <linux/seq_file.h>
  4. static int hello_proc_show(struct seq_file *m, void *v)
  5. {
  6.     seq_printf(m, "Hello proc!\n");
  7.     return 0;
  8. }
  9. ssize_t test_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos)
  10. {
  11. unsigned int var;
  12. var=simple_strtoul(buffer,NULL,10);
  13. printk("var=%d\n",var);
  14. return count;
  15. }
  16. static int hello_proc_open(struct inode *inode, struct  file *file)
  17. {
  18.      return single_open(file, hello_proc_show, NULL);
  19. }
  20. static const struct file_operations hello_proc_fops =
  21. {
  22. .owner   = THIS_MODULE,
  23. .open    = hello_proc_open,
  24. .read    = seq_read,
  25. .write   = test_proc_write,
  26. .llseek  = seq_lseek,
  27. .release = single_release,
  28. };
  29. static int __init hello_proc_init(void)
  30. {
  31. proc_create("hello_proc", S_IRWXUGO, NULL, &hello_proc_fops);
  32. return 0;
  33. }
  34. static void __exit hello_proc_exit(void)
  35. {
  36.      remove_proc_entry("hello_proc", NULL);
  37. }
  38. MODULE_LICENSE("GPL");
  39. module_init(hello_proc_init);
  40. module_exit(hello_proc_exit);

安装该驱动后,在proc下出现hello_proc文件,可通过echo和cat来读写文件。

[plain] view plain copy

  1. [email protected]:/proc# ls -al hello_proc
  2. -rwxrwxrwx 1 root root 0 9月   4 20:58 hello_proc

该驱动在内核3.10之后的版本才可以用,内核3.10的的可参考http://blog.csdn.net/a_ran/article/details/37626765

原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/8167577.html

时间: 2024-10-17 00:55:10

使用proc接口例子【转】的相关文章

Spring Boot Hello World (restful接口)例子

Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 spring boot 连接Mysql spring boot配置druid连接池连接mysql spring boot集成mybatis(1) spring boot集成mybatis(2) – 使用pagehelper实现分页 spring boot集成mybatis(3) – mybatis ge

Java 8 : 函数式接口例子

Java 8为了支持lambda 表达式而引入了函数式接口.只有一个抽象方法的接口就能被当作函数式接口调用. Runnable,Comparator,Coneable 都是一些函数式接口的例子.我们能Lambda表达式来实现这些函数式接口. 例如: Thread t =new Thread(new Runnable(){ public void run(){ System.out.println("Runnable implemented by using Lambda Expression&q

linux /proc 接口和共享中断

在系统中安装共享处理者不影响 /proc/stat, 它甚至不知道处理者. 但是, /proc/interrupts 稍稍变化. 所有同一个中断号的安装的处理者出现在 /proc/interrupts 的同一行. 下列输出( 从一 个 x86_64 系统)显示了共享中断处理是如何显示的: CPU0 0: 8 92335412 XT-PIC timer 1: 4 53971 XT-PIC i8042 2: 0 XT-PIC cascade 5: 0 XT-PIC libata, ehci_hcd

反射的一个例子 笔记本 USB接口 例子

笔记本类: package cn.fanse; public class Notebook { public void run() { System.out.println("book run"); } public void useUSB(USB usb) { usb.open(); usb.close(); } } USB接口: package cn.fanse; public interface USB { public void open(); public void clos

linux /proc 接口

无论何时一个硬件中断到达处理器, 一个内部的计数器递增, 提供了一个方法来检查设备 是否如希望地工作. 报告的中断显示在 /proc/interrupts. 下面的快照取自一个双处理 器 Pentium 系统: [email protected]:/bike/corbet/write/ldd3/src/short# m /proc/interrupts CPU0 CPU1 0: 4848108 34 IO-APIC-edge timer 2: 0 0 XT-PIC cascade 8: 3 1

接口例子

class Program { static void Main(string[] args) { DataBase dt = new Data(); dt.Add(); } } public interface DataBase { void Add(); void Modeify(); void Delete(); } public class Data : DataBase { public void Add() { Console.WriteLine("我是添加方法"); }

avalon单个列表调接口例子

<div ms-controller='new_collage8'> <div id="head" class="pr tc bgcfefefe"> <div class="headbox h49 lh49"> <img class="pa left10 top15 h18 cp zi2 back" src="images/back.png" onclick=&qu

抽象类vs接口

区别 抽象类的方法可以有方法体,而接口的方法不允许有方法体 抽象类中方法,如果没有加abstract修饰,必须定义方法体 类可以实现多个接口,但是只能继承一个抽象类 接口的方法都是public的,而抽象类可以自己设置权限.但是抽象类的抽象方法不能设置成private. 接口的成员必须初始化,而抽象类的不需要 抽象类可以实现接口,而接口不能实现接口 例子 public interface Car { int price = 1; void run(); } public abstract clas

【Simple Java】Java中的内部接口

什么是内部接口 内部接口也称为嵌套接口,即在一个接口内部定义另一个接口.举个例子,Entry接口定义在Map接口里面,如下代码: public interface Map { interface Entry{ int getKey(); } void clear(); } 为什么要使用内部接口 如下是一些有一些强有力的理由: 一种对那些在同一个地方使用的接口进行逻辑上分组: 封装思想的体现: 嵌套接口可以增强代码的易读性和可维护性: 在Java标准库中使用内部接口的一个例子是java.util.