copy_from_user()
* 유저 영역에서 커널로 데이터를 복사할 경우에 사용한다.
* put_user() 나 get_user() 와 달리 copy_to_user() 와 copy_from_user() 에서는 복사되지 않은 데이타의 양을 리턴한다. 성공시에는 0을 리턴한다.
☞ 이 함수들은 암시적으로 sleep 에 들어갈 수 있다. 그래서 이 함수들은 user context 밖에서나 (user context 밖에서는 별 의미가 없다), 인터럽트가 비활성화된 상태 혹은 spinlock 이 걸린 상태에서 절대 사용되서는 안된다.
* 유저 영역에서 커널로 데이터를 복사할 경우에 사용한다.
* put_user() 나 get_user() 와 달리 copy_to_user() 와 copy_from_user() 에서는 복사되지 않은 데이타의 양을 리턴한다. 성공시에는 0을 리턴한다.
☞ 이 함수들은 암시적으로 sleep 에 들어갈 수 있다. 그래서 이 함수들은 user context 밖에서나 (user context 밖에서는 별 의미가 없다), 인터럽트가 비활성화된 상태 혹은 spinlock 이 걸린 상태에서 절대 사용되서는 안된다.
unsigned long copy_from_user (void * to, const void __user * from, unsigned long n);
to
Destination address, in kernel space.
from
Source address, in user space.
n
Number of bytes to copy.
Destination address, in kernel space.
from
Source address, in user space.
n
Number of bytes to copy.
'프로그래밍' 카테고리의 다른 글
Visual Studio 2008 DLL파일 배포 방법 (0) | 2011.09.14 |
---|---|
VBScript 기본 문법 (0) | 2011.06.17 |
소스인사이트에서 한글 주석 깨지지 않게 하기 (0) | 2010.09.28 |
프로그래밍/아스키 테이블(ASCII Table) (0) | 2010.03.30 |
프로그래밍/참고자료 유용한 자료가 있는 사이트 (0) | 2009.06.23 |