Linux APM注册结构代码解析

运维 系统运维
由于Linux APM系统中没有bios设备, 所以只能为APM系统创建一个虚拟的字符设备与用户空间进行通讯. 即在APM中实现一个misc设备,实质上也是一个字符设备

由于Linux APM系统中没有bios设备, 所以只能为Linux APM系统创建一个虚拟的字符设备与用户空间进行通讯. 即在Linux APM中实现一个misc设备,实质上也是一个字符设备, misc设备的主设备号是10, 而apm_bios作为个misc设备, 次设备号是134。

Linux2.6.30.10内核的/drivers/char/apm-emulation.c提供了Linux APM_bios的驱动模型,也就是系统进入睡眠的入口函数,更早的版本的接口文件为:arch/arm/kernel/apm.c

//注册结构为:
 

  1. static struct file_operations apm_bios_fops = {  
  2. .owner = THIS_MODULE,  
  3. .read = apm_read,  
  4. .poll = apm_poll,  
  5. .ioctl = apm_ioctl,  
  6. .open = apm_open,  
  7. .release = apm_release,  
  8. };  
  9. static struct miscdevice apm_device = {  
  10. .minor = APM_MINOR_DEV,  
  11. .name = "apm_bios",  
  12. .fops = &apm_bios_fops  
  13. };  

 

这样就我们就可以像对一般的设备文件一样,读取Linux APM_bios的相关信息了。

【编辑推荐】

  1. Linux 查看磁盘空间实现代码介绍
  2. Linux操作系统需要微软的十大帮助
  3. 探寻Linux到底需要多低的配置
  4. Linux测试工具tcpdump监视TCP/IP连接命令介绍
  5. Linux流量控制实例应用介绍

 

责任编辑:chenqingxiang 来源: IT实验室
相关推荐

2010-06-21 10:49:24

Linux APM

2010-03-09 14:04:28

2010-06-21 14:05:08

Linux APM

2013-10-11 17:24:47

Linux运维内存管理

2023-08-21 08:31:40

LinuxNFSD架构

2021-07-09 06:48:30

注册源码解析

2009-12-02 10:49:59

PHP解析XML元素结

2017-01-15 09:53:49

2012-11-20 10:02:33

Compuware A云挑战云环境

2010-06-21 10:25:09

Linux APM

2011-06-14 08:38:59

网站结构

2011-08-11 15:39:39

apm中文man

2022-04-11 08:25:37

XMLSQL语句Mybatis

2023-08-08 09:52:13

系统端架构NFS

2014-08-24 22:11:27

2010-07-15 10:22:23

Perl控制结构

2021-09-06 08:13:35

APM系统监控

2015-03-20 16:16:56

APM应用性能管理云智慧

2010-05-28 10:53:07

Linux串口测试工具

2011-12-12 11:07:23

iCloud
点赞
收藏

51CTO技术栈公众号