linux内核空间与用户空间互访操作

来源:互联网 发布:医药软件哪个好 编辑:程序博客网 时间:2024/05/19 18:00

由于内核空间与用户空间不能直接互访,所以需要借助函数调用来完成

1.unsigned  long  copy_from_user(void  *to,const  void  __user  *from,unsigned  long  count);

此函数将用户空间内容复制到内核空间,复制成功返回0否则返回不能被复制的字节数

2.unsigned  long  copy_to_user(void  __user  *to,const  void  *from,unsigned  long  count);

此函数将内核空间内容复制到用户空间,复制成功返回0否则返回不能被复制的字节数

3.get_user(x, ptr)

此宏复制简单类型到内核空间,

例:int val=0;

        get_user(val, (int  *)arg);

4. put_user(x, ptr)

此宏复制简单类型到用户空间

原创粉丝点击