博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
混杂设备驱动模型解析
阅读量:2433 次
发布时间:2019-05-10

本文共 1065 字,大约阅读时间需要 3 分钟。

这里写图片描述

1.混杂设备概念描述

在linux系统,存在一类设备字符设备,它们拥有相同的设备号10,但次设备号不同,我们称为混杂设备,是字符设备的一个分支,所有混杂涉笔形成一个链表,对设备访问时内核根据次设备号查找响应的混杂设备。

linux驱动模型分多,但字符设备,混杂设备,网络设备都会使用一种结构来描述该设备。
linux中使用struct miscdevice来描述混杂设备

1.1初始化描述结构miscdevice

struct miscdevice {

int minor;//次设备号
const char *name;//设备节点名
const struct file_operations *fops;//混杂设备属于字符设备,因而填充file_operations结构体
struct list_head list;
struct device *parent;
struct device *this_device;
const char *nodename;
mode_t mode;
};

1.2misc_register注册描述结构

misc_register(&miscdevice)

1.3注销描述结构

misc_deregister(&miscdevice)

混杂设备驱动模型简单实现代码

#include
#include
#include
int key_open(struct inode *node,struct file *filp){ return 0; }struct file_operations key_fops = { .open = key_open, };struct miscdevice key_miscdev = { .minor = 200,//次设备号 .name = "mykey",//设备节点名称 .fops = &key_fops,//file_operations操作函数集};static int key_init(){ misc_register(&key_miscdev);//杂项设备描述结构的注册 return 0;}static void key_exit(){ misc_deregister(&key_miscdev);//杂项设备描述结构的注销}module_init(key_init);module_exit(key_exit);
你可能感兴趣的文章
保护SQL Server数据库的十大绝招(转)
查看>>
Peeking in MySQL 5.0 Enterprise Functional(转)
查看>>
百度搜索引擎使用指南(转)
查看>>
专家观点:安全成交换机的基本功能(转)
查看>>
树型结构在ASP中的简单解决(转)
查看>>
解决玩游戏时显卡卡屏现象(转)
查看>>
移动通信概要(转)
查看>>
CMD命令全集(转)
查看>>
实例解析:高效率网吧组网解决方案(转)
查看>>
深度探索C++对象模型 ( 第四部分 )(转)
查看>>
MySQL中的SQL特征(转)
查看>>
使用JBuilder和WTK2.2搭建MIDP1.0和MIDP2.0开发环境(转)
查看>>
Symbian命名规则(翻译)(转)
查看>>
windows server 2003的设置使用(转)
查看>>
优化Win2000的NTFS系统(转)
查看>>
IE漏洞可使黑客轻易获取私人信息(转)
查看>>
脱机备份与恢复实战(转)
查看>>
WLINUX下的DNS服务器设置(转)
查看>>
游戏引擎剖析(二)(转)
查看>>
sms发mms C语言源码(转)
查看>>