copy_from_user如何传递2个字符?
来源: 互联网 发布时间:2016-01-02
本文导语: 两个字符以十六进制的形式放在一个数组内,如buf[3]={0x55, 0xaa}; 希望用户空间的数据通过copy_from_user传递给内核空间。 copy_from_user的原型是: copy_from_user(void *to,const void *from,unsigned long n); 如果驱动中write()函数原...
两个字符以十六进制的形式放在一个数组内,如buf[3]={0x55, 0xaa};
希望用户空间的数据通过copy_from_user传递给内核空间。
copy_from_user的原型是:
copy_from_user(void *to,const void *from,unsigned long n);
如果驱动中write()函数原型是:
simple_write(struct file *file, const char *buf, size_t count, loff_t *offset)
那怎么把2个字符传递给它?
希望用户空间的数据通过copy_from_user传递给内核空间。
copy_from_user的原型是:
copy_from_user(void *to,const void *from,unsigned long n);
如果驱动中write()函数原型是:
simple_write(struct file *file, const char *buf, size_t count, loff_t *offset)
那怎么把2个字符传递给它?
|
甚至可以用write 或 read的最后一个参数unsigned long 传递大块数据,
有指针和类型转换,什么都好办。
有指针和类型转换,什么都好办。
|
copy_from_user(addr, buf, 1);
copy_from_user(data, (char*)buf+1, 1);
copy_from_user(data, (char*)buf+1, 1);
|
copy_from_user()是内核函数吧?
用户态应该用write函数
用户态应该用write函数
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。