当前位置: 首页 > news >正文

淄博便宜网站设个人网站备案要求

淄博便宜网站设,个人网站备案要求,医院网站加快建设方案,wordpress时间做旧自动创建设备节点 #xff08;一#xff09;创建设备节点的机制 1. mknod 将驱动编译到内核中#xff0c;在内核启动时驱动自动被安装执行 2.devfs#xff08;2.4内核#xff09; 3. udev#xff08;2.6内核至今#xff09; 注#xff1a;hotplug — 热插拔 一创建设备节点的机制 1. mknod 将驱动编译到内核中在内核启动时驱动自动被安装执行 2.devfs2.4内核 3. udev2.6内核至今 注hotplug — 热插拔 二API 1. 向上提交目录 #include linux/device.h struct class * class_create(owner, name) 功能向上提交目录 参数owner:THIS_MODULE 这个宏和模块安装卸载相关并且会记录模块的引用计数值。name:目录名 返回值成功返回结构体指针失败返回错误码指针补通过IS_ERR(cls)来判断是否失败。该宏定义在在cls是错误码指针时返回真否则为假当cls是错误码指针时可以通过PTR_ERR(cls)来获得失败返回的错误码 2. 销毁目录 #include linux/device.h void class_destroy(struct class *cls) 功能销毁向上提交目录后产生的结构体 参数cls:结构体指针 返回值无3. 向上提交创建节点的信息 struct device *device_create(struct class *class, struct device *parent,dev_t devt, void *drvdata, const char *fmt,...) 功能向上提交创建节点的信息 参数class:指向目录的句柄parent:填写为NULLdevt:设备号 241,0(24120|0)MKDEV(major,minor) //将主和次设备号合成设备号MAJOR(devno); //从设备号中获取主设备号MINOR(devno); //从设备号中获取次设备号drvdata:驱动的私有数据一般填写为NULL。fmt,...:创建节点的名字 myled%d,i 返回值成功返回结构体指针失败返回错误码指针注MKDEV(ma,mi) 将主次设备号拼接成设备号MAJOR(devno) 从设备号中获取主设备号MINOR(devno) 从设备号中获取次设备号 4. 销毁节点的信息 void device_destroy(struct class *class, dev_t devt) 功能销毁节点的信息 参数class:指向目录的句柄devt:设备号 241,0(24120|0) 返回值无5. IS_ERR(cls)的实现机制 三使用示例 功能需求在上一篇驱动的基础上加入自动创建设备节点而无需使用mknod来手动创建 需求分析 设备文件是需要在应用层的open函数就需要使用因此在驱动中自动创建节点就必须要在mydev_open函数之前实现因此在mydev_init函数中进行自动创建设备节点在mydev_exit函数中进行销毁创建的设备节点 代码实现此处只展示有修改的代码部分 LED.c static int __init myioctl_init(void){//入口注册设备majorregister_chrdev(0,CHRNAME,myfops); //第一个参数为0表示由系统分配主设备号此时返回值就是系统分配的主设备号if(major 0){//说明出错返回了错误码错误码均为负数pr_err(register_chrdev error:%d\n,major);return major; //失败返回错误码}printk(major%d\n,major);//向上提交目录mycls class_create(THIS_MODULE,class_name);if(IS_ERR(mycls)){//成功返回结构体指针失败返回错误码指针//为真则说明是错误码指针pr_err(class create error:%ld\n,PTR_ERR(mycls));return PTR_ERR(mycls); //出错返回错误码}//向上提交节点信息mydev device_create(mycls,NULL,MKDEV(major,0),NULL,myioctl);if(IS_ERR(mydev)){//成功返回结构体指针失败返回错误码指针//为真则说明是错误码指针pr_err(class create error:%ld\n,PTR_ERR(mydev));return PTR_ERR(mydev); //出错返回错误码}return 0; //成功返回0 }static void __exit myioctl_exit(void){//销毁节点信息device_destroy(mycls,MKDEV(major,0));//销毁目录信息class_destroy(mycls);//出口销毁设备unregister_chrdev(major,CHRNAME); }
http://www.hkea.cn/news/14333443/

相关文章:

  • 柳州网站建设公司哪家好个人怎么建网站
  • 电脑去哪里建设网站旅游网站开发的目的
  • 胖咯科技网站建设石家庄网站seo服务
  • 网站内容规划流程太和网站开发招聘
  • 邯郸网站制作哪家强ui模板免费下载
  • 深圳网站建设哪家便宜做网站之前要先购买服务器吗
  • asp.net sql server网站建设 pdf免费做简历下载的网站
  • 重庆好的网站建设wordpress cpu负载过高
  • 公司网站建设准备资料园区做网站
  • 东莞市建网站企业信用信息查询公示系统北京
  • 网站中文域名到期用asp做的网站
  • aspnet网站开发视频网站后台无法修改
  • 免费的黄冈网站有哪些平台可以用微信支付磐安网站建设公司
  • 网站开发界面设计工具东莞网站建设公司招聘信息
  • 闽清建设局网站门户网站建设进度
  • 常德市建设局网站郑州网站推广排名
  • 电子商务网站开发与设计网站没被收录
  • cnzz如何查询某个网站频道的流量外网如何查看局域网建设的网站
  • 建设网站个人网上银行wordpress自动加p标签
  • 阿里云网站建设一次付费代驾网站开发
  • 网站建设费用文档asia域名
  • 表白时刻网站网站建设程序流程图
  • 网站设计制作公司需要什么资质网页游戏制作过程
  • 立方米网站库尔勒北京网站建设
  • 盐城哪有做网站建设的触屏手机网站设计
  • 河南营销型网站找清包工程上什么网
  • 中粮网站是哪个公司做的北京模板网站建设公司
  • thinkphp 网站设置功能网页模版
  • 免费建立网站的有哪里免费域名注册网站
  • 建设部网站焊工证件查询怎么做网页excel