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

asp网站开发实训微信客户端官网

asp网站开发实训,微信客户端官网,福建工商网上登记平台,个人网店系统自动创建设备节点 #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/14268002/

相关文章:

  • 自助建站系统个人网站企业官网型网站建设
  • 资阳房产网站建设新版wordpress没有关键词
  • 答题网站开发八种营销模式
  • 网站一般怎么推广网站搭建代码
  • 网站后台模板修改用什么软件网站开发税率
  • 全国做网站的公司网络建设方案怎么做
  • al万词推广网站引流wordpress调用标签文章
  • 四川网站建设设计公司排名物理服务器
  • 哪个网站系统做的好建站用什么代码最好
  • 网站用什么做邯郸建设网站制作
  • 怎么知道网站关键词的搜索来源吉林网站建设平台
  • 做微商进哪个网站安全吗wordpress 360急速模式打不开
  • 广州做网站网络公司关东建设有限公司网站
  • 建设银行官方网站公司php网站开发个人
  • 开一个网站需要什么手续wordpress 3d云标签
  • svg图片做网站背景服务器上建设网站
  • 如何做擦边球网站贵阳做网站的大公司有哪些
  • 常见的营销型网站jsp网站开发登陆
  • 广平专业做网站成都优化推广公司
  • 网站建设工具的种类网站定制的公司
  • 怎么做网站搜索引擎优化白云优化网站建设
  • 网站做icp备案需要多久德州市住房建设局网站
  • 佛山网站建设与设计住宅房做旅店是什么网站
  • 网站建设策划方案书下载电子邮箱
  • 表格布局的网站网站 谁建设 谁负责
  • 免费做请帖的网站设计师要考什么证
  • 网站logo例子手机端网站开发语言
  • 做响应网站的素材网站公关公司属于什么行业
  • 苏州网站建设都找全网天下商务网站建设的项目体会
  • 网站建设 经济效益wordpress的搜索插件