Username: Password:

主设备号和次设备号
来源: ChinaUnix博客  作者: ChinaUnix博客   发布时间:2008-01-01 14:02:00


linux下的设备在/dev/目录下一般会有相对应的节点,关于设备号有如下的言论:
主设备号被系统用来确定驱动程式,次设备号被驱动程式用来确定具体的设备。

像如下的两个字符设备节点:
crw-r--r--  1 root root 254, 0  Jan  9 13:14 /dev/nx_ids
crw-r--r--  1 root root 254, 99 Jan  9 13:14 /dev/nx_ips

他们的主设备号都是254,当用户代码打开这两个设备的时候,系统会定位到同一个驱动程式,并调用其open函数。那么驱动程式怎么知道用户打开的是哪一个设备呢?就是根据次设备号来判断的。

int my_drv_open(struct inode *inode, struct file *filp)
{
    if (0 == MINOR(inode->i_rdev))
    {
        //nx_ids
    }
    else if (99 == MINOR(inode->i_rdev))
    {
        //nx_ips
    }
    return 0;
}
在include/linux/kdev_t.h文档中能够看到操作设备号的方法



本文来自ChinaUnix博客,假如查看原文请点:http://blog.chinaunix.net/u/8754/showart_460186.html

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅