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

站酷网vi设计网站推广策划

站酷网vi设计,网站推广策划,内网网站建设工作会议,济南手机网站建设专业定制一、读操作实现 ssize_t xxx_read(struct file *filp, char __user *pbuf, size_t count, loff_t *ppos); 完成功能:读取设备产生的数据 参数: filp:指向open产生的struct file类型的对象,表示本次read对应的那次open pbuf&#…

一、读操作实现

ssize_t xxx_read(struct file *filp, char __user *pbuf, size_t count, loff_t *ppos);
完成功能:读取设备产生的数据
参数:
filp:指向open产生的struct file类型的对象,表示本次read对应的那次open
pbuf:指向用户空间一块内存,用来保存读到的数据
count:用户期望读取的字节数
ppos:对于需要位置指示器控制的设备操作有用,用来指示读取的起始位置,读完后也需要变更位置指示器的指示位置
返回值:
本次成功读取的字节数,失败返回-1

put_user(x,ptr)

x:char、int类型的简单变量名

unsigned long copy_to_user (void __user * to, const void * from, unsigned long n)

成功为返回0,失败非0

ssize_t mychar_read(struct file *pfile, char __user *puser, size_t count, loff_t *ppos)
{struct mychar_dev *pmydev=(struct mychar_dev *)pfile->private_data;int size=0;//实际读的长度int ret=0;if(count>pmydev->curlen){size=pmydev->curlen;}else{size=count;}ret=copy_to_user(puser,pmydev->mydev_buf,size);if(ret){printk("copy_to_user is failed\n");return -1;}memcpy(pmydev->mydev_buf,pmydev->mydev_buf+size,pmydev->curlen-size);pmydev->curlen-=size;return size;}

二、写操作实现

ssize_t xxx_write (struct file *filp, const char __user *pbuf, size_t count, loff_t *ppos);
完成功能:向设备写入数据
参数:
filp:指向open产生的struct file类型的对象,表示本次write对应的那次open
pbuf:指向用户空间一块内存,用来保存被写的数据
count:用户期望写入的字节数
ppos:对于需要位置指示器控制的设备操作有用,用来指示写入的起始位置,写完后也需要变更位置指示器的指示位置
返回值:
本次成功写入的字节数,失败返回-1

get_user(x,ptr)

x:char、int类型的简单变量名

unsigned long copy_from_user (void * to, const void __user * from, unsigned long n)

成功为返回0,失败非0

ssize_t mychar_write (struct file *pfile, const char __user *puser, size_t count, loff_t *ppos)
{struct mychar_dev *pmydev=(struct mychar_dev *)pfile->private_data;int size=0;int ret=0;if(count>BUFSIZE-pmydev->curlen){size=BUFSIZE-pmydev->curlen;}else{size=count;}ret=copy_from_user(pmydev->mydev_buf,puser,size);if(ret){printk("copy_from_user is failed\n");return -1;}pmydev->curlen+=size;return size;
}

在通过应用层app调用

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include "mychar.h"int main(int argc,char *argv[])
{int fd = -1;char buf[8] = "";int max = 0;int cur = 0;if(argc < 2){printf("The argument is too few\n");return 1;}fd = open(argv[1],O_RDWR);if(fd < 0){printf("open %s failed\n",argv[1]);return 2;}write(fd,"hello",6);read(fd,buf,8);printf("buf=%s\n",buf);close(fd);fd = -1;return 0;
}
http://www.yayakq.cn/news/590663/

相关文章:

  • 网站开发公司组织架构外贸平台app下载
  • 公司网站建设支出计入wordpress图片加载慢
  • 什么网站可以做免费广告太原小程序开发定制
  • 建立旅游网站的目的中国最好的猎头公司
  • 福田欧曼矿用自卸车seo排名诊断
  • 网站优化之站外优化技巧屏蔽某网站怎么做
  • 广州企业网站建设哪家好磐石网站建设
  • 北京网站开发学习罗定市建设局网站
  • 花瓣按照哪个网站做的中国公司网
  • 做购物网站需要学哪些高校网站建设前言
  • 支付行业的网站怎么做建筑公司招聘信息
  • 网站开始怎么做的摄影网站论文
  • 做英文网站哪个网站比较好微博营销的特点有哪些
  • 当前网站开发的现状潍坊网络科技有限公司
  • 安阳淘宝网站建设沈阳城乡建设局官网
  • 营销网站建设的公司网站建设与管理 情况总结
  • 网站开发静态怎样转成动态深圳龙岗房价
  • 厦门建设厅查询网站首页装饰设计是什么
  • 在重庆 那里可以做诚信网站认证企业展厅设计施工
  • 合肥市建设信息中心网站国内开源建站cms
  • 做海淘网站赚钱吗做网站设计文字大小怎么设定
  • 自助外贸网站制作锡盟建设工程造价管理站网站
  • 企业网站开发实训报告专业推广网站
  • 给公司做网站怎么弄阿里云服务器添加网站
  • 网站的建设及推广白石洲网站建设
  • 网站信息发布烟台市福山区住房和建设局网站
  • 辛集市建设局网站少女のトゲ在线观看动漫
  • 衡水网站优化推广做网站seo怎么赚钱
  • 辽宁响应式网站建设推荐免费站长工具
  • 京东商城商务网站建设目的做微网站用什么框架