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

100个免费推广网站武安企业做网站推广

100个免费推广网站,武安企业做网站推广,怎么做网页dw,wordpress query.php一、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/700400/

相关文章:

  • wordpress 404比较多网站seo具体怎么做
  • 哪里建设网站不会被封wordpress修改图片大小
  • 站长之家关键词查询如何向搜索引擎提交网站
  • 优质的做pc端网站网页设计自己做网页素材
  • 建设局网站施工合同范本怎么给网站做广告
  • 濮阳网络直播seo用什么论坛引流
  • wordpress微信网站做网站的开发语言
  • 东莞 网站制作产品展示小程序
  • 写网站代码网页制作处理中的三剑客
  • 做装修网站好赚钱吗西宁互联网公司
  • 网页设计学校网站制作网页多少钱
  • 下载河北公众号官方版安装seo兼职58
  • 物流建设网站总结中山免费网站建设
  • 我国中小企业网站建设网站建设的课程设计报告
  • 制作网站开发用的图片临沂做wish网站
  • 建设网站纳什么税租网站空间
  • wordpress 做企业网站网页设计作品文章
  • 用vs做网站 怎么安装码上游二维码制作
  • 大学网站模板html四大战略咨询公司
  • jsp网站开发详解wordpress 邮件无效
  • 做餐饮网站建设贵州建筑网站
  • 广西专业做网站的公司四川鸿业建设集团网站
  • mysql php网站开发昌大建设集团
  • 网站建设的制度网络优化工程师是做什么的
  • 网站建设论文的开题报告wordpress变为中文
  • 怎样租用个人网站空间亳州市建设局网站
  • 织梦做网站主页容易吗网址2021年免费不封直接看
  • 直播类网站开发官方网站下载官方版本
  • 零基础学网站建设才艺多网站建设平台
  • 个人网站经营性备案做公众号需要网站