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

建设网站书籍pdf个人网站备案后可以做行业内容吗

建设网站书籍pdf,个人网站备案后可以做行业内容吗,网站图片计时器怎么做,软文发布平台媒体一、ioctl协议的命令组成 cmd本质为一个32位的数字,共分为四段: [31-30]:读写方向dir,分为无数据(_IO)、读数据(_IOR)、写数据(_IOW)、读写数据(_IOWR)四种模式; [29-16]:传递数据的大小size,一般利用其宏_IO、_IOR…

一、ioctl协议的命令组成

cmd本质为一个32位的数字,共分为四段:

[31-30]:读写方向dir,分为无数据(_IO)、读数据(_IOR)、写数据(_IOW)、读写数据(_IOWR)四种模式;

[29-16]:传递数据的大小size,一般利用其宏_IO、_IOR等直接传入数据的类型,如int;

[15-8]:命令的幻数type,表示设备的类型,可以是任意一个char型字符,如’a’、‘b’、‘c’等,其主要作用是使ioctl命令具有唯一的设备标识。不过在内核中’w’、‘y’、'z’三个字符已经被使用了。

[7-0]:命令的编号nr,有多个ioctl命令时,从0开始往上编号;


二、ioctl的宏

生成cmd的宏:

_IO(type,nr):用来定义没有数据传递的命令

_IOR(type,nr,size):用来定义从驱动中读取数据的命令

_IOW(type,nr,size):用来定义向驱动写入数据的命令

_IOWR(type,nr,size):用来定义数据交换类型的命令,先写入数据,再读取数据这类命令。

解析cmd的宏:

_IOC_DIR(cmd):解析命令的方向;

_IOC_TYPE(cmd):解析命令的幻数;

_IOC_NR(cmd):解析命令的编号;

_IOC_SIZE(cmd):解析命令的复制数据大小;


三、用于输入输出的时候需要注意的点

用于输入输出时需要使用copy_to_user或copy_from_user函数实现与用户空间的交互。其中,由于unlocked_ioctl函数中的arg参数是一个值,因此使用时需要注意:

  • 用户程序中ioctl函数虽然第三个参数是可变参数,但实际上只有一个,且传入的应为int类型数据的地址,即需要添加取地址符,如下:
    int rst = ioctl(fd, AFM_DEV_CMD_TEST, &aaa);
  • 驱动程序中需要对传入的arg参数进行强制类型转换,将其变回地址类型,如下:
    copy_to_user((void __user *)arg, &success_rst, sizeof(success_rst))
    copy_from_user(&print_verbos, (void __user *)arg, sizeof(print_verbos))
http://www.yayakq.cn/news/799239/

相关文章:

  • 卖磁铁的网站怎么做的石家庄seo网站优化报价
  • 快照打开是网站网站哪个网站可以做设计比赛
  • 深圳网站页面设计济南网站建设方案详细
  • 网站空间备案流程网络平台贷款逾期不还
  • vps可以同时做ss和网站吗最大的网站建设
  • 五种常用的网站推广方法自学php做网站
  • 泉州市住房和城乡建设部网站excel做网站页面布局
  • 做个人网站怎么赚钱厦门网站建设哪家不错推荐
  • 网站建设任务书长沙网站建设大全
  • 做网站好的框架黑龙江建设网官方网站
  • 百度网站排名突然消失资源网站怎样做
  • 广州市手机网站建设公司企业邮箱个人注册
  • 建设企业网站官网下载中心淄博网站制作公司服务
  • 利用小米路由器mini做网站淘宝客网站做的好的
  • 高端网站建设的公司哪家好网上购物哪个平台质量好又便宜
  • easyui做的网站帝国cms企业网站模板
  • 厦门市建设局官方网站证书查询企业网站建设实训指导书
  • 学网站开发需要学那些宁波建网站价格
  • 网站建设开发模式做企业网站的研究现状
  • wordpress 免费企业网站 模板下载网站推广策划书的特点有哪些
  • 网站开发的背景知识和技术iis服务器怎么部署php网站
  • 南京网站定制公司邢台市第三医院
  • 做哪个网站零售最好it培训费用大概多少钱
  • 音乐网站的设计与开发wordpress默认后台
  • 网站公司企业网站东莞哪里做网站
  • 网站建设公司市场定位wordpress pdo
  • 宁波南部商务区网站建设哈尔滨制作网页公司
  • 网站域名绑定好处怎么开发游戏软件
  • 更换网站首页模板怎么做新产品推广
  • 投资公司是做什么的无锡seo网站推广