aboutsummaryrefslogtreecommitdiff
path: root/documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9')
-rw-r--r--documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9118
1 files changed, 118 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9 b/documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9
new file mode 100644
index 0000000000..8a403ac67b
--- /dev/null
+++ b/documentation/manual-pages/ja/man9/VOP_GETVOBJECT.9
@@ -0,0 +1,118 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 2000 Boris Popov
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %FreeBSD: src/share/man/man9/VOP_GETVOBJECT.9,v 1.6 2002/12/12 17:25:58 ru Exp %
+.\"
+.\" $FreeBSD$
+.Dd September 10, 2000
+.Os
+.Dt VOP_CREATEVOBJECT 9
+.Sh 名称
+.Nm VOP_CREATEVOBJECT ,
+.Nm VOP_DESTROYVOBJECT ,
+.Nm VOP_GETVOBJECT
+.Nd VM オブジェクトの相互作用
+.Sh 書式
+.In sys/param.h
+.In sys/vnode.h
+.Ft int
+.Fn VOP_CREATEVOBJECT "struct vnode *vp" "struct ucred *cred" "struct thread *td"
+.Ft int
+.Fn VOP_DESTROYVOBJECT "struct vnode *vp"
+.Ft int
+.Fn VOP_GETVOBJECT "struct vnode *vp" "struct vm_object **objpp"
+.Sh 解説
+これらの呼び出しは、VM オブジェクトと特有の vnode の連係を制御するために
+使用されます。
+.Pp
+これらの関数で指定する引数は以下の通りです。
+.Bl -tag -width objpp
+.It Fa vp
+そのファイルの vnode です。
+.It Fa objpp
+返される VM オブジェクト、または呼び出し側がその VM オブジェクトの
+存在のテストをする場合には
+.Dv NULL
+です。
+.El
+.Pp
+与えられた
+.Xr vnode 9
+のために VM オブジェクトを作成する必要がある時には、
+.Xr VFS 9
+は
+.Fn VOP_CREATEVOBJECT
+を実行します。
+ファイルシステムのコードはこの呼び出しを下層のファイルシステムに
+渡すことができます。
+この VOP は何度も呼び出されることが可能で、ファイルシステムのコードは
+追加の全ての呼び出しを無視し、0 を返すコードで終了するべきです。
+.Pp
+.Xr vnode 9
+が再利用された時には、
+.Fn VOP_DESTROYVOBJECT
+が呼び出されます。
+.Pp
+VM オブジェクトを取得するために全てのカーネルのコードで、
+.Fn VOP_GETVOBJECT
+が使用されるべきです。
+.\" XXX 次の文は何を伝えようとしているのだろう?
+返された VM オブジェクトは、重ねられたマウントの場合には
+異なったファイルシステムに属するかもしれません。
+.Pp
+.Xr VFS 9
+は VM オブジェクトの作成および破壊の標準の操作を実行する、
+3 つの関数を持っています。
+これらの関数は
+.Fn vop_stdcreatevobject ,
+.Fn vop_stddestroyvobject
+および
+.Fn vop_stdgetvobject
+です。
+.Pp
+.Em 注意 :
+.Xr vnode 9
+は入る時にロックされているべきで、終了時までロックされ続けていなければ
+なりません。
+.Sh 戻り値
+.Fn VOP_CREATEVOBJECT ,
+.Fn VOP_DESTROYVOBJECT
+および
+.Fn VOP_GETVOBJECT
+関数は成功時には 0 を返し、失敗時には 0 ではない値を返します。
+成功時には 0 が返され、そうでなければエラーが返されます。
+.Sh 使用例
+.\" なぜここにあるコードは、このマニュアルページに説明されていない関数を
+.\" 使用していないの?
+デフォルトでは、ファイルシステムは
+.Fn vop_std*
+関数に VM オブジェクトの取り扱いを委ねます。
+.Sh 関連項目
+.Xr vnode 9 ,
+.Xr VOP_GETPAGES 9 ,
+.Xr VOP_PUTPAGES 9
+.Sh 作者
+このマニュアルページは
+.An Boris Popov
+が書きました。