copy
関数群は連続したデータをあるアドレスから
別のアドレスへコピーするようデザインされています。
copystr()
以外の関数は、ユーザ空間からカーネル空間へ、
あるいは反対向きにデータをコピーします。
copy
関数群は以下の機能を提供します。
| copyin()
|
| |
ユーザ空間のアドレス
uaddr
からカーネル空間のアドレス
kaddr
へ
len
バイトのデータをコピーします。
|
| copyout()
|
| |
カーネル空間のアドレス
kaddr
からユーザ空間のアドレス
uaddr
へ
len
バイトのデータをコピーします。
|
| copystr()
|
| |
カーネル空間のアドレス
kfaddr
からカーネル空間のアドレス
kdaddr
へヌル文字で終端された最大
len
文字の文字列をコピーします。
末尾のヌル文字を含む実際にコピーされた文字数が
*done
に返されます
(, done
が
NULL
ではない場合)。
|
| copyinstr()
|
| |
ユーザ空間のアドレス
uaddr
からカーネル空間のアドレス
kaddr
へヌル文字で終端された最大
len
文字の文字列をコピーします。
末尾のヌル文字を含む実際にコピーされた文字数が
*done
に返されます
(, done
が
NULL
ではない場合)。
|