minor); dev->devfs = devfs_register (usb_devfs_handle, name,      DEVFS_FL_DEFAULT, USB_MAJOR,      USB_SKEL_MINOR_BASE + dev->minor, ....">

当前位置:  技术问答>linux和unix

关于设备文件系统

    来源: 互联网  发布时间:2015-06-10

    本文导语:  在usb_skeleton.c里有这样一段代码: sprintf(name, "skel%d", dev->minor); dev->devfs = devfs_register (usb_devfs_handle, name,      DEVFS_FL_DEFAULT, USB_MAJOR,      USB_SKEL_MINOR_BASE + dev->minor,      S_IFCHR | S_IRUSR | S_IWUSR | ...

在usb_skeleton.c里有这样一段代码:
sprintf(name, "skel%d", dev->minor);
dev->devfs = devfs_register (usb_devfs_handle, name,
     DEVFS_FL_DEFAULT, USB_MAJOR,
     USB_SKEL_MINOR_BASE + dev->minor,
     S_IFCHR | S_IRUSR | S_IWUSR | 
     S_IRGRP | S_IWGRP | S_IROTH, 
     &skel_fops, NULL);
在这段代码里是不是在设备文件系统增加了一个节点"skel200"(假设dev->minor的值是200)?我怎样才能打开这个文件?他的全名是什么?麻烦熟悉devfs的大哥给小弟详细讲解,不胜感激!!

|
因为Linux原来的设备实际上都在dev目录下,是平坦而非树行结构,所谓平坦是指在dev下面就没有子目录了,所有设备文件都并列在dev目录下。随着设备的增多,这种情况已经不合适了,所以引入devfs,用于管理树行的设备文件系统。其创建就通过devfs_register来完成

devfs_handle_t devfs_register (devfs_handle_t dir, const char *name,
       unsigned int flags,
       unsigned int major, unsigned int minor,
       umode_t mode, void *ops, void *info)

其中的第一个参数dir为该设备文件的目录,如果指定为null,则是/dev/目录,第二个就是设备的名字了。其他的不说了。
而如你程序创建的实际上就是在/dev/usb/目录下,完成名称为"/dev/usb/skel200"

    
 
 

您可能感兴趣的文章:

  • 问一个问题。请问如何在文件系统管理并使用设备,也就是当一个设备装载,下载时。文件系统是如何实现的
  • 设备与设备文件问题
  • 混杂 字符型设备 自动创建设备文件的问题
  • 请问cf接口设备一般对应什么设备文件呢?
  • 关于设备节点,设备文件系统的关系
  • 程序如何open这个设备,如何知道这个设备对应的特殊文件名?
  • Linux下写了一个字符设备驱动,找不到设备文件在哪个目录
  • 比较难的目录复制,如何原样复制链接符号文件和设备文件?
  • 设备文件
  • 用户可通过访问设备节点控制设备,是否也可直接读取class或devices里的文件获得设备信息?
  • 字符设备文件什么样子的文件名?
  • 键盘设备文件
  • 我如何找到这个设备的设备文件
  • 留步~~ 问个设备文件打开的问题
  • 应用程序中获取读取设备文件的权限
  • 没有ttyS4文件,怎样使系统有/dev/ttyS4设备文件?
  • 请教:如何知道在LINUX下设备所对应的文件?
  • 鼠标键盘对应的设备文件?
  • 弱问:一个设备能不能既是字符设备又是块设备? iis7站长之家
  • 一个设备文件能够无限制被打开么?
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • 我的系统硬盘有一个block坏了,系统不能正常启动,请问如何能启动设备?
  • 请问LINUX操作系统是怎样对外围设备进行操作的
  • 自行创建的设备文件怎么在系统重启后不见了?
  • 5、 在shell的命令解释中,默认的系统标准流有哪些?它们与系统中的设备是如何对应的?
  • 怎么去做个运行LINUX系统的USB设备?
  • 高人见解: linux系统直接擦除块设备命令?
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 未找到要在其中创建新文件系统的有效设备
  • 网络块设备存储系统 BlackHole
  • 如何获得linux系统中,usb设备的id
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 弱问:一个设备能不能既是字符设备又是块设备?
  • 字符设备驱动,混杂设备驱动,总线、设备、驱动模型、平台驱动
  • 关于设备操作的一点迷惑:计算机如何知道驱动程序要操作的设备正好是指定的设备?
  • 如何根据主设备号打开设备?
  • 怎么知道设备节点对应那个设备?
  • MTD字符设备和块设备有着什么样的关系????
  • 字符型设备驱动生成的块设备
  • 怎么区分字符设备和块设备???????
  • linux2.4如何在设备拔出后将无效的设备节点也删除
  • 内存映射设备后,就可以直接访问设备的片内内存 了(比如显卡的显存)?
  • Linux的设备和设备号是指什么?可否简单的解释一下?
  • Linux设备驱动(第三版)- 字符设备驱动 - 例子
  • linux 启动的时候 可以检查出很多设备 并给设备配以驱动程序
  • 有人在Linux下用过1394接口的设备吗?怎么装载一个1394接口的存储设备呢?
  • linux无法认出USB设备,说设备不响应
  • 块设备与字符设备 怎么回事
  • 一个arm-linux有ppp0设备和eth0设备.怎么做这样的应用.
  • red hat7.3中有没有类似window中的设备管理器?我怎么样才能知道,我的某个设备是否正常工作,如网卡、声卡?
  • 在make xconfig中如何激活PCMCIA设备(记忆卡),PCMCIA设备(快闪记忆卡)?
  • fedora core2下,我删除了网卡设备,然后重新添加,为什么一添加就死机啊?在命令行模式下如何用命令添加网络设备啊?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3