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

长沙免费网站排名网上商城建设方案

长沙免费网站排名,网上商城建设方案,扁平网站欣赏,网站开通流程一、杂项设备驱动简介 在 Linux 中#xff0c;把无法归类的五花八门的设备定义成杂项设备。相较于字符设备#xff0c;杂项设备有以下两个优点: (1)节省主设备号:杂项设备的主设备号固定为 10#xff0c;而字符设备不管是动态分配还是静态分配设备号#xff0c;都会消耗一…一、杂项设备驱动简介 在 Linux 中把无法归类的五花八门的设备定义成杂项设备。相较于字符设备杂项设备有以下两个优点: (1)节省主设备号:杂项设备的主设备号固定为 10而字符设备不管是动态分配还是静态分配设备号都会消耗一个主设备号进而造成了主设备号浪费。当系统中注册了多个 misc 设备驱动时只需使用子设备号进行区分即可。 (2)使用简单当使用普通的字符设备驱动时如果开发人员需要导出操作接口给用户空间就需要注册对应的字符驱动并创建字符设备 class 从而自动在/dev 下生成设备节点而 misc驱动只需要将基本信息通过结构体传递给相应处理函数即可。 二、总体框架图 三、杂项设备相关函数 杂项设备miscdevice 结 构 体 struct miscdevice {int minor; /* 子设备号 需要用户填写*/const char *name; /* 设备名 需要用户填写*/const struct file_operations *fops; /* 设备操作集 需要用户填写*/struct list_head list;struct device *parent;struct device *this_device;const struct attribute_group **groups;const char *nodename;umode_t mode; };定义一个 misc 设备一般只需要填充 minor、name、fops 这三个成员变量。 minor 指次设备号通常情况下将该参数设置为MISC_DYNAMIC_MINOR表示自动分配子设备号。name 表示 misc 设备的名字。misc 设备驱动注册成功之后会在 dev 目录下生成名为 name的设备节点。fops 指向了 file_operations 的结构体表示字符设备的操作集合。 杂项设备的注册 函数原型int misc_register(struct miscdevice *misc); 函数作用基于misc_class构造一个设备将miscdevice结构挂载到misc_list列表上并初始化与linux设备模型相关的结构。进而起到杂项设备注册的作用。 参数含义misc: 杂项设备的结构体指针 函数返回值申请成功返回 0申请失败返回负数杂项设备的卸载 函数原型int misc_deregister(struct miscdevice *misc); 函数作用从 mist_list 中删除 miscdevice进而起到杂项设备卸载的作用。 参数含义misc: 杂项设备的结构体指针 函数返回值卸载成功返回 0申请失败返回负数四、实例代码 #include linux/module.h #include linux/init.h #include linux/moduleparam.h #include linux/fs.h #include linux/kdev_t.h #include linux/cdev.h #include linux/device.h #include linux/uaccess.h #include linux/miscdevice.hstatic int cdev_test_open(struct inode * inode, struct file * file){printk(This is cdev_test_open!\n);return 0; }static ssize_t cdev_test_read(struct file * file, char __user *buf, size_t size, loff_t *off){printk(This is cdev_test_read!\n);return 0; }static ssize_t cdev_test_write(struct file * file, const char __user * buf, size_t size, loff_t *off){printk(This is cdev_test_write!\n);return 0; }static int cdev_test_release(struct inode * inode, struct file * file){printk(This is cdev_test_release!\n);return 0; }struct file_operations cdev_test_ops{.owner THIS_MODULE, // 文件操作结构体.open cdev_test_open,.read cdev_test_read,.write cdev_test_write,.release cdev_test_release, };struct miscdevice misc_dev {.minor MISC_DYNAMIC_MINOR,.name test,.fops cdev_test_ops };static int chardev_init(void){int ret; //返回值判断ret misc_register(misc_dev); //注册杂项设备if (ret 0){printk(misc_register failed\r\n);}printk(misc_register ok\r\n);return 0; }static void chardev_exit(void){misc_deregister(misc_dev); //卸载杂项设备printk(chardev_exit!\n); }module_init(chardev_init); module_exit(chardev_exit);MODULE_LICENSE(GPL v2); MODULE_AUTHOR(ZSY); MODULE_VERSION(V1.0);
http://www.zqtcl.cn/news/16972/

相关文章:

  • 网站建设是前端么怎样创建网站
  • a032网站模版wordpress主题怎么用
  • 玉林电信网站备案彩票网站开发系统
  • 成都网站建设 赢展性男女做视频观看网站
  • 家居东莞网站建设上海优化公司有哪些
  • 制作企业网站用什么软件建设网站要什么资料
  • 网站建设 空间什么系统飘雪影院手机免费观看免费
  • 百度自助网站建设菜鸟如何建网站
  • 网站开发商品管理表字段wordpress 3.5 下载地址
  • 怎么在网站后台挂马弹窗网站制作
  • 揭阳seo网站管理合肥瑶海区寒假兼职工网站建设
  • 上海电子商务网站开发网站建设在学校中的作用
  • 怎样找回网站备案密码wordpress 编辑器推荐
  • wordpress建立网站实例一个网站同时做百度和360推广吗
  • 怎么评判一个网站做的好与坏创新能力建设资金网站
  • 响应式环保网站平台优化是指什么
  • 西安专用网站建设360做网站和推广怎么样
  • 辽宁网站设计哪个网站可以查企业信息
  • 做一个众筹网站多少钱wordpress分级菜单
  • 诸城网站建设云南云南住房和城乡建设厅网站
  • 建网站设公司建筑工程网站大全
  • 设置网站建设做网站应该怎么做
  • 做爰免费视频网站汕头网站设计有限公司
  • 5网站建设公司常用的网站制作软件
  • 网站开发 模板 c网站开发支付宝二维码支付
  • 展示网站方案搜索引擎优化包括哪些
  • 网站开发需要注册几类商标多少个网站
  • 什么是网络营销型网站海门网站开发
  • 网站直播间怎么做网站功能介绍是什么
  • 自建服务器做网站要备案专门看广告赚钱的app