转自:http://hi.baidu.com/wjq_qust/blog/item/0f8d8cd6a6ca782d07088bdb.html
http://hi.baidu.com/wjq_qust/blog/item/e14c2ba4e090eff59052eed9.html
1. put_user
Description
This macro 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.
2. get_user
Description
This macro 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.
1. copy_to_user
Arguments
- to
-
Destination address, in user space.
- from
-
Source address, in kernel space.
- n
-
Number of bytes to copy.
Description
Copy data from kernel space to user space.
Returns number of bytes that could not be copied. On success, this will be zero.