VSLOCK(9) FreeBSD カーネル開発者マニュアル VSLOCK(9)
名称
vslock, vsunlock − ユーザ空間のアドレスのメモリへのロックとアンロック |
書式
#include <sys/param.h> int |
vslock(void *addr, size_t len); void |
vsunlock(void *addr, size_t len); |
解説 |
vslock() および vsunlock() 関数は現在実行中のプロセスに属するアドレスの範 囲をメモリ中にそれぞれロックしたりアンロックしたりします。ロックされる実 際のメモリ量はマシンのページサイズの倍数になります。開始ページナンバは addr をすぐ前のページ境界に切りつめられ、終了ページは addr + len の次の ページ境界に切り上げられて計算されます。この操作に使用されるプロセスのコ ンテキストはグローバル変数 curproc を参照します。 |
戻り値
vslock() 関数は成功すると 0 を返し、そうでないと以下に示すエラーの中の 1 つを返します。 |
エラー
vslock() 関数は以下の場合に失敗します。 |
[EINVAL]
addr および len パラメータがマシンのアドレス空間の最後 をラップアラウンドするメモリ領域を指定しています。 [ENOMEM] [ENOMEM] [EFAULT] FreeBSD 10.0 August 10, 2004 FreeBSD 10.0 |