copy from user函数 和copy to user 函数分析
2015-12-08 09:29
330 查看
1、copy from user函数
copy from user函数是从用户空间的数据拷贝到内核空间,成功返回0,失败返回没有被拷贝的字节数。如下面函数
s32 drv_rf_ioctl_w_parma(unsigned long arg)
{
PARAM param;
if(copy_from_user((uint8_t *)¶m, (void __user *)arg, sizeof(PARAM)))
{
return -EFAULT;
}
return 0;
}
一般从用户空间传下来的的是一个结构体,该结构体与内核中结构体是一样的,通过copy_from_user函数,把数据拷贝到内核中,一一对应,通过结构体中的一些数据,可以进行相关的操作。
同样copy to user把内核中数据拷贝到用户空间中,供用户层使用。
copy from user函数是从用户空间的数据拷贝到内核空间,成功返回0,失败返回没有被拷贝的字节数。如下面函数
s32 drv_rf_ioctl_w_parma(unsigned long arg)
{
PARAM param;
if(copy_from_user((uint8_t *)¶m, (void __user *)arg, sizeof(PARAM)))
{
return -EFAULT;
}
return 0;
}
一般从用户空间传下来的的是一个结构体,该结构体与内核中结构体是一样的,通过copy_from_user函数,把数据拷贝到内核中,一一对应,通过结构体中的一些数据,可以进行相关的操作。
同样copy to user把内核中数据拷贝到用户空间中,供用户层使用。
相关文章推荐
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区