copy_to_user,copy_from_use…
2013-03-05 14:37
411 查看
原文地址:copy_to_user,copy_from_user,get_user,put_user函数作者:卓俊
-- Copy a block of data from user space.
to, const void __user * from, unsigned long
n);[/code]
Destination
address, in kernel space.
from
Source
address, in user space.
n
Number of
bytes to copy.
only. This function may sleep.
from user space to kernel space.
Returns
number of bytes that could not be copied. On success, this will be
zero.
If some data
could not be copied, this function will pad the copied data to the
requested size using zero bytes.
Copy a block of data into user space.
__user * to, const void * from, unsigned long
n);[/code]
Destination
address, in user space.
from
Source
address, in kernel space.
n
Number of
bytes to copy.
only. This function may sleep.
from kernel space to user space.
Returns
number of bytes that could not be copied. On success, this will be
zero.
Write a simple value into user space.
ptr);[/code]
Value to
copy to user space.
ptr
Destination
address, in user space.
only. This function may sleep.
copies a single simple value from kernel space to user space. It
supports simple types like char and int, but not larger data types
like structures or arrays.
ptr must
have pointer-to-simple-variable type, and x must be assignable to
the result of dereferencing ptr.
Returns zero
on success, or -EFAULT on error.
a simple variable from user space.
ptr);[/code]
Variable to
store result.
ptr
Source
address, in user space.
only. This function may sleep.
copies a single simple variable from user space to kernel space. It
supports simple types like char and int, but not larger data types
like structures or arrays.
ptr must
have pointer-to-simple-variable type, and the result of
dereferencing ptr must be assignable to x without a
cast.
Returns zero
on success, or -EFAULT on error. On error, the variable x is set to
zero.
copy_to_user,copy_from_user,get_user,put_user函数比较
copy_to_user
-- Copy a block of data into user space.
copy_from_user
-- Copy a block of data from user space.
get_user
-- Get a simple
variable from user space.
put_user
-- Write a simple value into user space.
copy_from_user
Name
copy_from_user-- Copy a block of data from user space.
Synopsis
unsigned long copy_from_user(void *
to, const void __user * from, unsigned long
n);[/code]
Arguments
toDestination
address, in kernel space.
from
Source
address, in user space.
n
Number of
bytes to copy.
Context
User contextonly. This function may sleep.
Description
Copy datafrom user space to kernel space.
Returns
number of bytes that could not be copied. On success, this will be
zero.
If some data
could not be copied, this function will pad the copied data to the
requested size using zero bytes.
copy_to_user
Name
copy_to_user --Copy a block of data into user space.
Synopsis
unsigned long copy_to_user(void
__user * to, const void * from, unsigned long
n);[/code]
Arguments
toDestination
address, in user space.
from
Source
address, in kernel space.
n
Number of
bytes to copy.
Context
User contextonly. This function may sleep.
Description
Copy datafrom kernel space to user space.
Returns
number of bytes that could not be copied. On success, this will be
zero.
put_user
Name
put_user --Write a simple value into user space.
Synopsis
put_user( x,
ptr);[/code]
Arguments
xValue to
copy to user space.
ptr
Destination
address, in user space.
Context
User contextonly. This function may sleep.
Description
This macrocopies a single simple value from kernel space to user space. It
supports simple types like char and int, but not larger data types
like structures or arrays.
ptr must
have pointer-to-simple-variable type, and x must be assignable to
the result of dereferencing ptr.
Returns zero
on success, or -EFAULT on error.
get_user
Name
get_user -- Geta simple variable from user space.
Synopsis
get_user( x,
ptr);[/code]
Arguments
xVariable to
store result.
ptr
Source
address, in user space.
Context
User contextonly. This function may sleep.
Description
This macrocopies a single simple variable from user space to kernel space. It
supports simple types like char and int, but not larger data types
like structures or arrays.
ptr must
have pointer-to-simple-variable type, and the result of
dereferencing ptr must be assignable to x without a
cast.
Returns zero
on success, or -EFAULT on error. On error, the variable x is set to
zero.
相关文章推荐
- copy_to_user 与 copy_from_use
- copy_to_user和copy_from_user函数
- linux内核中的copy_to_user和copy_from_user(二)—图解__arch_copy_from_user
- copy_to_user,copy_from_user,get_user,put_user函数比较
- linux内存操作----kernel 3.5.X copy_from_user()和copy_to_user()
- copy_to_user,copy_from_user,get_user,put_user函数用法比较
- linux内核中的copy_to_user和copy_from_user(一)
- linux内存操作----kernel 3.5.X copy_from_user()和copy_to_user()
- copy_to_user和copy_from_user两个函数的分析
- linux copy_to_user和copy_from_user函数的使用说明
- copy_to_user和copy_from_user两个函数的分析
- 转:关于copy_to_user()和copy_from_user()的一些用法
- copy_to_user和copy_from_user
- copy_to_user、copy_from_user
- 关于copy_to_user和copy_from_user的学习小结
- linux驱动开发--copy_to_user 、copy_from_user函数实现内核空间数据与用户空间数据的相互访问
- copy_to_user和copy_from_user两个函数的分析
- Linux内核(1)——copy_to_user和copy_from_user两个函数的分析
- copy_to_user和copy_from_user两个函数的分析
- 用户空间和内核空间传递数据:get_user;put_user;copy_to_user;copy_from_user