diff --git a/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 b/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 index 355af3fb97..2d1c421305 100644 --- a/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 +++ b/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 @@ -1,59 +1,59 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/BUS_PRINT_CHILD.9,v 1.6.2.5 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/BUS_PRINT_CHILD.9,v 1.12 2001/10/01 16:09:23 ru Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Dt BUS_PRINT_CHILD 9 .Os .Sh 名称 .Nm BUS_PRINT_CHILD .Nd デバイスについての情報の表示 .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn BUS_PRINT_CHILD "device_t dev" "device_t child" .Sh 解説 これはデバイスの説明をプリントアウトするシステムのコードから呼び出されます。 それは子デバイスが持っている親とのアタッチメントを記述するべきです。 例えば、TurboLaser のバスはどのノードにアタッチされたかをプリントします。 BUS_PRINT_CHILD によって出力されるメッセージの適切なフォーマット に関しての更なる情報は .Xr bus_generic_print_child 9 を見てください。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 戻り値 出力の文字数です。 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 b/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 index 8a5eca4943..ea13d92018 100644 --- a/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 +++ b/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 @@ -1,64 +1,64 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/BUS_READ_IVAR.9,v 1.3.2.4 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/BUS_READ_IVAR.9,v 1.7 2001/10/01 16:09:23 ru Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Dt BUS_READ_IVAR 9 .Os .Sh 名称 .Nm BUS_READ_IVAR , .Nm BUS_WRITE_IVAR .Nd バス特有のデバイスインスタンス変数の操作 .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn BUS_READ_IVAR "device_t dev" "device_t child" "int index" "uintptr_t *result" .Ft int .Fn BUS_WRITE_IVAR "device_t dev" "device_t child" "int index" "uintptr_t value" .Sh 解説 これらの 2 つのメソッドは子デバイスのバス特有のインスタンス変数の組 を管理します。 その意図は、異なった型のバスはそれぞれが適当なインスタンス変数 の組(ISA バスにおける port や irq という具合に)を定義するということです。 .Pp この情報は構造体として子デバイスに与えられることも出来ましたが、 そうすると、全てのドライバを編集し再コンパイルするという作業なしには、 バスが変数を追加したり削除したりすることは困難になります。 この作業はベンダが供給するバイナリのドライバでは不可能かもしれません。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 index 6b99ed8471..21bcb15381 100644 --- a/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 +++ b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 @@ -1,72 +1,105 @@ .\" Copyright (c) 2000 Jeroen Ruigrok van der Werven .\" All rights reserved. .\" .\" 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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/BUS_SETUP_INTR.9,v 1.1.2.6 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.11 2002/01/09 11:43:45 mpp Exp % .\" .\" $FreeBSD$ .Dd April 2, 2000 .Dt BUS_SETUP_INTR 9 .Os .Sh 名称 -.Nm BUS_SETUP_INTR -.Nd 割り込みハンドラの作成と接続 +.Nm BUS_SETUP_INTR , +.Nm bus_setup_intr , +.Nm BUS_TEARDOWN_INTR , +.Nm bus_teardown_intr +.Nd 割り込みハンドラの作成と接続および破壊 .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn BUS_SETUP_INTR "device_t dev" "device_t child" "struct resource *irq" "int flags" "driver_intr_t *intr" "void *arg" "void **cookiep" +.Ft int +.Fn bus_setup_intr "device_t dev" "struct resource *r" "int flags" "driver_intr_t handler" "void *arg" "void **cookiep" +.Ft int +.Fn BUS_TEARDOWN_INTR "device_t dev" "device_t child" "struct resource *irq" "void *cookiep" +.Ft int +.Fn bus_teardown_intr "device_t dev" "struct resource *r" "void *cookiep" .Sh 解説 メソッド .Nm は、資源マネージャの .Xr BUS_ALLOC_RESOURCE 9 メソッドによって以前に割り当てられた割り込みに対し、 割り込みハンドラを生成してアタッチします。 +.Fa flags +は +.Aq Pa sys/bus.h +で見つかり、割り込みの大まかな種類を与えます。また、 +.Fa flags +はデバイスドライバの特性についての信頼できる情報を、割り込みハンドラに伝えます。 +.Dv INTR_FAST +はそのハンドラが時間にクリティカルな関数のための +ハンドラであることを意味します。 +これらのハンドラのスピードアップのために特別な注意がはらわれます。 +これの利用は +.Dv INTR_EXCL +を暗に含みます。 +.Dv INTR_EXCL +はそのハンドラをこの割り込みのための排他的なハンドラとして記録します。 +.Dv INTR_MPSAFE +はその割り込みハンドラはプリエンプティブな環境で適切に +振舞う (``SMP セーフ'') こと、および ``ジャイアントロック'' mutex によって +保護される必要がないことを、スケジューラに通知します。 +.Dv INTR_ENTROPY +はその割り込みがエントロピの良い供給源であるとして記録します。 +これは、エントロピデバイス +.Pa /dev/tandom +によって使用されることができます。 ハンドラ .Fa intr は唯一の引数 .Fa arg の値を伴なって呼び出されます。 .Pp 割り込みハンドラは、 .Fn BUS_TEARDOWN_INTR によってデタッチされます。 正しい割り込みハンドラを破棄するために、クッキーが .Fn BUS_TEARDOWN_INTR に渡される必要があります。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 -.Xr BUS_TEARDOWN_INTR 9 , +.Xr random 4 , .Xr device 9 , .Xr driver 9 .Sh 作者 .An -nosplit このマニュアルページは、 .An Doug Rabson .Aq dfr@FreeBSD.org が書いた BUS_CREATE_INTR および BUS_CONNECT_INTR のマニュアルページを基に、 .An Jeroen Ruigrok van der Werven .Aq asmodai@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/DECLARE_MODULE.9 b/ja_JP.eucJP/man/man9/DECLARE_MODULE.9 index a0a0b85c37..a4b3eaaea5 100644 --- a/ja_JP.eucJP/man/man9/DECLARE_MODULE.9 +++ b/ja_JP.eucJP/man/man9/DECLARE_MODULE.9 @@ -1,117 +1,118 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DECLARE_MODULE.9,v 1.2.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DECLARE_MODULE.9,v 1.6 2002/06/10 04:37:11 davidc Exp % .\" $FreeBSD$ .\" .Dd March 3, 2001 .Dt DECLARE_MODULE 9 .Os .Sh 名称 .Nm DECLARE_MODULE .Nd カーネルモジュール宣言マクロ .Sh 書式 +.In sys/param.h +.In sys/kernel.h .In sys/module.h .Fn DECLARE_MODULE "name" "moduledata_t data" "sub" "order" .Sh 解説 .Fn DECLARE_MODULE マクロは一般的なカーネルモジュールを宣言します。 これは .Fn SYSINIT マクロを使用して、そのモジュールをシステムに登録します。 .Fn DECLARE_MODULE は通常、 .Xr DRIVER_MODULE 9 , .Xr DEV_MODULE 9 および .Xr SYSCALL_MODULE 9 のような他のマクロの中で使用されます。 しかしながら、例えば動的な sysctl を実装するために、 直接呼び出されることがもちろん可能です。 .Pp .Fn DECLARE_MODULE への引数は以下のとおりです。 .Pp .Fa name はモジュールの名前で、そのモジュールを識別するために .Fn SYSINIT の呼び出しで使用されます。 .Pp .Fa data は 2 つの主要な要素を含む .Vt moduledata_t -構造体へのポインタです。その要素は、 +構造体です。その要素は、 .Vt module_t 構造体の中で使用されるモジュール名の正式名称および型 .Vt modeventhand_t のイベントハンドラ関数へのポインタです。 .Pp .Fa sub は .Fn SYSINIT マクロへの直接の引数です。 このための有効な値は -.\" .Vt sysstem_sub_id XXX sysinit_sub_id の間違い? .Vt sysinit_sub_id 列挙に .Pa ( kernel.h を参照) 含まれていて、システムスタートアップインタフェースの型を明示します。 例えば .Xr DRIVER_MODULE 9 マクロは、ドライバモジュールはデバイスのためのドライバを含んでいるので、ここに .Dv SI_SUB_DRIVERS の値を使用します。 実行時にロードされるカーネルモジュールには、 .Dv SI_SUB_EXEC の値が共通です。 .Pp .Fa order の値は .Fn SYSINIT のためのもう 1 つの引数です。 これは KLD のサブシステム内の初期化の順序を意味します。 有効な値は .Vt sysinit_elem_order 列挙 .Pa ( kernel.h を参照) に定義されています。 .Sh 関連項目 .Xr DEV_MODULE 9 , .Xr DRIVER_MODULE 9 , .Xr module 9 , .Xr SYSCALL_MODULE 9 .Pp .Pa /usr/include/sys/kernel.h , .Pa /usr/share/examples/kld .Sh 作者 .An -nosplit このマニュアルページは .An Andrew Reiter Aq arr@watson.org が書いた KLD Facility Programming Tutorial に触発されて、 .An Alexander Langer Aq alex@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/DELAY.9 b/ja_JP.eucJP/man/man9/DELAY.9 index 2b776f4ddd..b6de8fb010 100644 --- a/ja_JP.eucJP/man/man9/DELAY.9 +++ b/ja_JP.eucJP/man/man9/DELAY.9 @@ -1,47 +1,48 @@ .\" .\" Copyright (c) 2000 Alfred Perlstein .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DELAY.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DELAY.9,v 1.6 2001/10/01 16:09:23 ru Exp % .\" $FreeBSD$ .\" .Dd November 21, 2000 .Os .Dt DELAY 9 .Sh 名称 .Nm DELAY .Nd 時間間隔のためのビジーループ .Sh 書式 -.In machine/clock.h +.In sys/types.h +.In sys/systm.h .Ft void .Fn DELAY "int delay" .Sh 解説 .Fa delay マイクロ秒 (1/1000000 秒) 間遅延します。 .Sh 作者 このマニュアルページは .An Alfred Perlstein が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_ATTACH.9 b/ja_JP.eucJP/man/man9/DEVICE_ATTACH.9 index 0ebca457a5..68b373a8c7 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_ATTACH.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_ATTACH.9 @@ -1,60 +1,61 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DEVICE_ATTACH.9,v 1.3.2.4 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_ATTACH.9,v 1.7 2001/10/01 16:09:23 ru Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Dt DEVICE_ATTACH 9 .Os .Sh 名称 .Nm DEVICE_ATTACH .Nd デバイスのアタッチ .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn DEVICE_ATTACH "device_t dev" .Sh 解説 デバイスをシステムにアタッチします。 プローブメソッドは既に呼び出されているでしょうし、 デバイスが存在していると示されているでしょう。 このルーチンはハードウェアの初期化と -その他のシステムリソース ( -.Pa dev -エントリなど) の割り当てを行なうべきです。 +その他の (devfs エントリのような) システムリソース +の割り当てを行なうべきです。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr DEVICE_DETACH 9 , -.Xr DEVICE_PROBE 9 +.Xr DEVICE_IDENTIFY 9 , +.Xr DEVICE_PROBE 9 , +.Xr DEVICE_SHUTDOWN 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 b/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 index 68cc2ddefa..446566a9d3 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 @@ -1,62 +1,65 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DEVICE_DETACH.9,v 1.3.2.5 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_DETACH.9,v 1.9 2001/10/01 16:09:23 ru Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Dt DEVICE_DETACH 9 .Os .Sh 名称 .Nm DEVICE_DETACH .Nd デバイスのデタッチ .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn DEVICE_DETACH "device_t dev" .Sh 解説 デバイスをデタッチします。 ユーザがドライバソフトウェアを置き換えた場合、またはデバイスが システムから物理的に切り離されようとしている場合(たとえば pccard デバイス)に、 呼び出されることができます。 .Pp このメソッドは .Xr DEVICE_ATTACH 9 メソッドで割り当てられたあらゆるシステムリソースを解放し、 -ハードウェアを健全な状態にリセットする -(つまり割り込みをディセーブルするなど)べきです。 +ハードウェアを健全な状態に +リセットする (つまり割り込みを無効にするなど) べきです。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , -.Xr DEVICE_ATTACH 9 +.Xr DEVICE_ATTACH 9 , +.Xr DEVICE_IDENTIFY 9 , +.Xr DEVICE_PROBE 9 , +.Xr DEVICE_SHUTDOWN 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 index 233c57df25..d6e4074f24 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_IDENTIFY.9 @@ -1,95 +1,95 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2001 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DEVICE_IDENTIFY.9,v 1.2.2.5 2002/03/19 18:24:16 schweikh Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_IDENTIFY.9,v 1.7 2002/03/16 18:07:07 schweikh Exp % .\" $FreeBSD$ .Dd March 10, 2001 .Dt DEVICE_IDENTIFY 9 .Os .Sh 名称 .Nm DEVICE_IDENTIFY .Nd デバイスの識別とその登録 .Sh 書式 .In sys/param.h .In sys/bus.h .Ft void .Fn DEVICE_IDENTIFY "driver_t *driver" "device_t parent" .Sh 解説 デバイスのための識別関数は、例えば ISA バスなどの、子デバイスを独立して 識別できないバス上のデバイスのためにだけ必要とされます。 -これはデバイスを認識 (大抵はハードウェアの特定のレジスタに +これはデバイスを認識 (大抵はハードウェアの不明瞭でないレジスタに アクセスすることによって行われます) し、 そのデバイスに関してカーネルに通知し、 新しいデバイスの実体を作成するために、使用されます。 .Pp .Xr BUS_ADD_CHILD 9 はバスの子デバイスとして、デバイスを登録するために使用されます。 そのデバイスの (IRQ や I/O ポートのような) リソースは、個々のリソースのために .Fn bus_set_resource (詳細は .Xr bus_set_resource 9 を参照) を呼び出すことによってカーネルに登録されます。 .Sh 使用例 以下の疑似コードは、ハードウェアの一部をプローブし、デバイスと そのリソース (I/O ポート) をカーネルに登録する関数の例を示しています。 デバイスの解説も設定しています。 .Bd -literal void foo_identify(driver_t *driver, device_t parent) { device_t child; デバイス情報の取り出し; if (サポートするデバイスうちの 1 つがマッチする) { child = BUS_ADD_CHILD(parent, 0, "foo", -1); device_set_desc_copy(child, "foo chip ver.123"); device_set_driver(child, driver); bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1); } } .Ed .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラー .Xr ( errno 2 参照) が返されます。 .Sh 関連項目 .Xr BUS_ADD_CHILD 9 , .Xr bus_set_resource 9 , .Xr device 9 , .Xr device_add_child 9 , .Xr DEVICE_ATTACH 9 , .Xr DEVICE_DETACH 9 , .Xr DEVICE_PROBE 9 , .Xr device_set_desc_copy 9 , .Xr device_set_driver 9 , .Xr DEVICE_SHUTDOWN 9 .Sh 作者 このマニュアルページは .An Alexander Langer Aq alex@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 index 1ad1838443..9217f3e21c 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 @@ -1,88 +1,93 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DEVICE_PROBE.9,v 1.4.2.6 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.13 2002/03/18 10:43:49 ru Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Os .Dt DEVICE_PROBE 9 .Os .Sh 名称 .Nm DEVICE_PROBE .Nd デバイスの存在のプローブ .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn DEVICE_PROBE "device_t dev" .Sh 解説 このデバイスメソッドはデバイスがあるかどうかを知るためにプローブするべきです。 デバイスが存在すれば 0 を、デバイスが見つからなければ .Er ENXIO を返すべきです。 プローブの間にその他のエラー(メモリ割当の失敗など)が起こった場合は、 適切なエラーコードが返されるべきです。 1 つのデバイスに 1 つ以上のドライバが当てはまるような場合のために、 優先順位を返すことができます。 この場合、成功の値は 0 以下の値で、 最も大きな値が最も適切であることを意味します。 -失敗の値は正の値で表現され、 -通常の UNIX エラーコードが目的に応じて使用されるべきです。 +失敗の値は正の値で表現され、通常の +.Ux +エラーコードが目的に応じて使用されるべきです。 .Pp ドライバが 0 より小さい成功値を返す場合、 ドライバはそのデバイスにアタッチされるのが 同じドライバであると想定してはいけません。 特に、softc 構造体に格納されたすべての値が アタッチメソッドで利用可能であると想定してはいけませんし、 また、アタッチメソッドが呼ばれた場合、 プローブの間に割り当てられたあらゆるリソースは解放して 再割り当てしなければなりません。 成功値 0 を返す場合には、 ドライバはそのドライバがアタッチされると想定することができます。 .Pp バスを実装するデバイスは、 バスに接続されたデバイスの存在をプローブし それらを子デバイスとして追加するために、 このメソッドを使用するべきです。 このメソッドが .Xr bus_generic_attach 9 の使用と結合していれば、 子デバイスは自動的にプローブされ、アタッチされるでしょう。 .Sh 戻り値 0 以下の値は成功を表し、0 より大きな値はエラー(errno)を表します。 0 以下の値の時、0 は最高の優先順位を表し、それ以上のプローブは行ないません。 0 未満の値は、低い値程、低い優先順位を表します。 たとえば、-100 は -50 よりも低い優先順位を表します。 .Sh 関連項目 .Xr device 9 , -.Xr DEVICE_ATTACH 9 +.Xr DEVICE_ATTACH 9 , +.Xr DEVICE_DETACH 9 , +.Xr DEVICE_IDENTIFY 9 , +.Xr DEVICE_PROBE 9 , +.Xr DEVICE_SHUTDOWN 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 b/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 index fba47b31d2..d0bc9bc60d 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 @@ -1,55 +1,58 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1998 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DEVICE_SHUTDOWN.9,v 1.2.2.4 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_SHUTDOWN.9,v 1.7 2001/10/01 16:09:23 ru Exp % .\" .\" $FreeBSD$ .Dd June 16, 1998 .Dt DEVICE_SHUTDOWN 9 .Os .Sh 名称 .Nm DEVICE_SHUTDOWN .Nd システムシャットダウンの間に呼ばれる .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn DEVICE_SHUTDOWN "device_t dev" .Sh 解説 システムシャットダウンの間に呼び出され、 ドライバがハードウェアをコンピュータがリブートしても構わない状態にすることを 可能にします。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合にはエラーが返されます。 .Sh 関連項目 .Xr device 9 , -.Xr DEVICE_ATTACH 9 +.Xr DEVICE_ATTACH 9 , +.Xr DEVICE_DETACH 9 , +.Xr DEVICE_IDENTIFY 9 , +.Xr DEVICE_PROBE 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEV_MODULE.9 b/ja_JP.eucJP/man/man9/DEV_MODULE.9 index 7604ef9200..818d8520c1 100644 --- a/ja_JP.eucJP/man/man9/DEV_MODULE.9 +++ b/ja_JP.eucJP/man/man9/DEV_MODULE.9 @@ -1,105 +1,107 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2001 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DEV_MODULE.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DEV_MODULE.9,v 1.4 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd March 11, 2001 .Dt DEV_MODULE 9 .Os .Sh 名称 .Nm DEV_MODULE .Nd デバイスドライバモジュール宣言マクロ .Sh 書式 +.In sys/param.h +.In sys/kernel.h .In sys/module.h .In sys/conf.h .Fn DEV_MODULE "name" "modeventhand_t evh" "void *arg" .Sh 解説 .Fn DEV_MODULE マクロはデバイスドライバカーネルモジュールを宣言します。 これは .Vt moduledata_t 構造体を埋めて、それから .Fn DECLARE_MODULE を正しい引数で呼び出します。ここで、 .Fa name はモジュール名で、 .Fa ( arg を引数として持つ) .Fa evh はそのモジュールのためのイベントハンドラです (詳細については .Xr DECLARE_MODULE 9 を参照)。 イベントハンドラはロード時に .Fn make_dev でデバイスを作成し、アンロードされる時に .Fn destroy_dev でそのデバイスを破壊することを、期待されています。 .Sh 使用例 .Bd -literal #include #include static struct cdevsw foo_devsw = { ... }; static dev_t sdev; static int foo_load(module_t mod, int cmd, void *arg) { int err = 0; switch (cmd) { case MOD_LOAD: sdev = make_dev(&foo_devsw, 0, UID_ROOT, GID_WHEEL, 0600, "foo"); break; /* 成功 */ case MOD_UNLOAD: case MOD_SHUTDOWN: destroy_dev(sdev); break; /* 成功 */ default: err = EINVAL; break; } return(err); } DEV_MODULE(foo, foo_load, NULL); .Ed .Sh 関連項目 .Xr DECLARE_MODULE 9 , .Xr destroy_dev 9 , .Xr make_dev 9 , .Xr module 9 .Sh 作者 このマニュアルページは .An Alexander Langer Aq alex@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/DRIVER_MODULE.9 b/ja_JP.eucJP/man/man9/DRIVER_MODULE.9 index 7fe3615dd7..38e859d057 100644 --- a/ja_JP.eucJP/man/man9/DRIVER_MODULE.9 +++ b/ja_JP.eucJP/man/man9/DRIVER_MODULE.9 @@ -1,112 +1,113 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/DRIVER_MODULE.9,v 1.1.2.5 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/DRIVER_MODULE.9,v 1.10 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd May 16, 2000 .Dt DRIVER_MODULE 9 .Os .Sh 名称 .Nm DRIVER_MODULE .Nd カーネルドライバ宣言マクロ .Sh 書式 -.In sys/types.h +.In sys/param.h +.In sys/kernel.h .In sys/bus.h .In sys/module.h .Fn DRIVER_MODULE name busname "driver_t driver" "devclass_t devclass" "modeventhand_t evh" "void *arg" .Fn MULTI_DRIVER_MODULE name busname "driver_t drivers[]" "devclass_t devclass" "modeventhand_t evh" "void *arg" .Sh 解説 .Fn DRIVER_MODULE マクロは、カーネルドライバを宣言します。 .Fn DRIVER_MODULE は実際のドライバ宣言に展開し、そこで .Fa name はドライバとその関数の接頭辞として使用されます。 これはプレインテキストとして与えられ、 .Li char または .Li char * ではないことに注意してください。 .Pp .Fa busname はドライバの親のバス (PCI, ISA, PPBUS, その他) で、 .Ql pci , .Ql isa , .Ql ppbus 等です。 .Pp .Fn DRIVER_MODULE の中で使用される識別子は、ドライバの名前と別のものにすることができます。 また、異なるバス上には同じドライバ識別子が存在できます。 これは、同じドライバを使用する同一または異なるバス上の種々のカード用に、 フロントエンドをうまくきれいに作成する方法です。 例えば、次のようにできます。 .Pp .Fn DRIVER_MODULE foo isa foo_driver foo_devclass NULL NULL ; .Pp .Fn DRIVER_MODULE foo pci foo_driver foo_devclass NULL NULL ; .Pp .Fa driver は .Li driver_t 型のドライバで、ドライバについての情報を含み、それゆえ .Fn DRIVER_MODULE を呼び出すための最も重要な 2 つの部分のうちの 1 つです。 .Pp 引数 .Fa devclass はデバイスについてのカーネル内部の情報を含み、 カーネルドライバモジュールの内部で使用されます。 .Pp 引数 .Fa evh はドライバ (またはモジュール) がロードまたはアンロードされた時に 呼び出されるイベントハンドラです ( .Xr module 9 を参照してください)。 .Pp 現時点では .Fa arg は使用されず、 .Dv NULL ポインタであるべきです。 .Pp .Fn MULTI_DRIVER_MODULE は .Fn DRIVER_MODULE の特殊バージョンであり、 単一のドライバインスタンスの代りにドライバリストを取ります。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 , .Xr module 9 .Sh 作者 このマニュアルページは .An Alexander Langer Aq alex@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/KASSERT.9 b/ja_JP.eucJP/man/man9/KASSERT.9 index 41519bb9b9..62ebc6be0f 100644 --- a/ja_JP.eucJP/man/man9/KASSERT.9 +++ b/ja_JP.eucJP/man/man9/KASSERT.9 @@ -1,74 +1,84 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Jonathan M. Bresler .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/KASSERT.9,v 1.1.2.4 2001/07/21 09:16:54 schweikh Exp % +.\" %FreeBSD: src/share/man/man9/KASSERT.9,v 1.11 2002/01/10 09:20:07 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/KASSERT.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ +.\" $FreeBSD$ .Dd January 14, 2000 .Os .Dt KASSERT 9 .Sh 名称 .Nm KASSERT .Nd カーネル数式検証マクロ .Sh 書式 -.Cd options INVARIANTS -.Fn KASSERT expression "const char *msg" +.Cd "options INVARIANTS" +.Pp +.In sys/param.h +.In sys/systm.h +.Fn KASSERT expression msg .Sh 解説 -"options INVARIANTS" オプション付きでコンパイルされたカーネル内では、 +.Cd "options INVARIANTS" +オプション付きでコンパイルされたカーネル内では、 .Fn KASSERT マクロは与えられた数式 -.Ar expression +.Fa expression をテストし、それが偽である場合には -.Fn panic -システムコールを呼び出し、稼働中のシステムを停止させます。 +.Xr panic 9 +関数を呼び出し、稼働中のシステムを停止させます。 .Pp -"options INVARIANTS" オプションの無いカーネル内では、 +.Cd "options INVARIANTS" +オプションの無いカーネル内では、 .Fn KASSERT マクロは何もしない様に定義されます。 .Sh 使用例 カーネル関数 .Fn vput -は、NULL ポインタを引数として呼び出されてはなりません。 +は、 +.Dv NULL +ポインタを引数として呼び出されてはなりません。 .Bd -literal -offset indent void vput(vp) struct vnode *vp; { struct proc *p = curproc; KASSERT(vp != NULL, ("vput: null vp")); ... } .Ed +.Sh 注 +.Fa msg +は丸括弧で囲まれていなければなりません。 .Sh 関連項目 .Xr config 8 , .Xr panic 9 .Sh 作者 このマニュアルページは .An Jonathan M. Bresler .Aq jmb@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/MD5.9 b/ja_JP.eucJP/man/man9/MD5.9 index 582721a677..0671205f45 100644 --- a/ja_JP.eucJP/man/man9/MD5.9 +++ b/ja_JP.eucJP/man/man9/MD5.9 @@ -1,77 +1,77 @@ .\" $OpenBSD: md5.9,v 1.1 1996/04/17 21:40:14 mickey Exp $ .\" .\" Copyright (c) 1996 Michael Shalayeff .\" All rights reserved. .\" .\" 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. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Michael Shalayeff .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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/MD5.9,v 1.5.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/MD5.9,v 1.8 2001/10/01 16:09:23 ru Exp % .\" .\" $FreeBSD$ .Dd April 17, 1996 .Dt MD5 9 .Os .Sh 名称 .Nm MD5 , .Nm MD5Init , .Nm MD5Transform .Nd メッセージダイジェストルーチン .Sh 書式 .In sys/types.h .In sys/md5.h .Ft void .Fn MD5Init "MD5_CTX *buf" .Ft void .Fn MD5Transform "u_int32_t buf[4]" "const unsigned char block[64]" .Sh 解説 .Nm モジュールは、RSA Data Security, Inc. の MD5 メッセージダイジェスト アルゴリズム(MD5)を実装しています。 これはデータの 128 ビットの MD5 ダイジェストを生成します。 .Pp .Bl -hang -width MD5Transformxx .It Pa MD5Init ダイジェストを生成するために .Fn MD5Transform を使用する直前に呼び出さなくてはなりません。 引数 .Fa buf は次に続いて呼ばれる .Fn MD5Transform ルーチンが生成するダイジェストの格納領域です。 .It Pa MD5Transform MD5 アルゴリズムの中核で、 引数 .Fa block で渡される 64 文字の新しいデータの追加を反映するように、 .Fa buf に格納してある MD5 ハッシュを変更します。 .El .Sh 著作権 MD5 変換のコードはパブリックドメインに置かれていた Colin Plumb の 実装から得ています。 MD5 暗号化チェックサムは Ronald Rivest が考案し、 RFC 1321 "The MD5 Message Digest Algorithm" に記述されています。 diff --git a/ja_JP.eucJP/man/man9/MODULE_DEPEND.9 b/ja_JP.eucJP/man/man9/MODULE_DEPEND.9 index ee0a32be30..dd173196e1 100644 --- a/ja_JP.eucJP/man/man9/MODULE_DEPEND.9 +++ b/ja_JP.eucJP/man/man9/MODULE_DEPEND.9 @@ -1,63 +1,64 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2001 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/MODULE_DEPEND.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/MODULE_DEPEND.9,v 1.4 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd March 11, 2001 .Dt MODULE_DEPEND 9 .Os .Sh 名称 .Nm MODULE_DEPEND .Nd カーネルモジュール依存性の設定 .Sh 書式 +.In sys/param.h .In sys/module.h .Fn MODULE_DEPEND "name" "moddepend" "int minversion" "int prefversion" "int maxversion" .Sh 解説 .Fn MODULE_DEPEND マクロは、 .Fn MODULE_VERSION でそのバージョンを既に登録している .Fa moddepend という名前の別のカーネルモジュールとの依存性を設定します。 どのモジュールが依存できるのか、3 つのバージョンが明示されなければなりません。 それはこのモジュールが依存することができる、望ましいバージョンはもちろん、 最小と最大のバージョンです。 .Sh 使用例 .Bd -literal MODULE_DEPEND(foo, bar, 1, 3, 4); .Ed .Sh 関連項目 .Xr DECLARE_MODULE 9 , .Xr module 9 , .Xr MODULE_VERSION 9 .Sh 作者 このマニュアルページは .An -nosplit .An Alexander Langer Aq alex@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/MODULE_VERSION.9 b/ja_JP.eucJP/man/man9/MODULE_VERSION.9 index 3f0b496aab..525c1e03fe 100644 --- a/ja_JP.eucJP/man/man9/MODULE_VERSION.9 +++ b/ja_JP.eucJP/man/man9/MODULE_VERSION.9 @@ -1,61 +1,62 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2001 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/MODULE_VERSION.9,v 1.2.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/MODULE_VERSION.9,v 1.5 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd March 11, 2001 .Dt MODULE_VERSION 9 .Os .Sh 名称 .Nm MODULE_VERSION .Nd カーネルモジュールバージョンの設定 .Sh 書式 +.In sys/param.h .In sys/module.h .Fn MODULE_VERSION "name" "int version" .Sh 解説 .Fn MODULE_VERSION マクロは .Fa name と呼ばれているモジュールのバージョンを設定します。 それで、他のカーネルモジュールがこのモジュール .Xr ( MODULE_DEPEND 9 参照) に依存することが可能です。 .Sh 使用例 .Bd -literal MODULE_VERSION(foo, 1); .Ed .Sh 関連項目 .Xr DECLARE_MODULE 9 , .Xr module 9 , .Xr MODULE_DEPEND 9 .Sh 作者 このマニュアルページは .An -nosplit .An Alexander Langer Aq alex@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/SYSCALL_MODULE.9 b/ja_JP.eucJP/man/man9/SYSCALL_MODULE.9 index 5529c98857..ea14daf0a9 100644 --- a/ja_JP.eucJP/man/man9/SYSCALL_MODULE.9 +++ b/ja_JP.eucJP/man/man9/SYSCALL_MODULE.9 @@ -1,83 +1,85 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2001 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/SYSCALL_MODULE.9,v 1.2.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/SYSCALL_MODULE.9,v 1.4 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd April 27, 2001 .Dt SYSCALL_MODULE 9 .Os .Sh 名称 .Nm SYSCALL_MODULE .Nd syscall カーネルモジュール宣言マクロ .Sh 書式 +.In sys/param.h +.In sys/kernel.h .In sys/proc.h .In sys/module.h .In sys/sysent.h .Fn SYSCALL_MODULE name "int *offset" "struct sysent new_sysent" "modeventhand_t evh" "void *arg" .Sh 解説 .Fn SYSCALL_MODULE マクロは新しい syscall を宣言します。 .Fn SYSCALL_MODULE は .Fa name という名前のカーネルモジュールの宣言に展開されます。 .Pp .Fa offset は .Vt int 型へのポインタであり、 そこにはその syscall が割り当てられた .Vt "struct sysent" 構造体の中のオフセット位置が保存されます。 .Pp .Fa new_sysent は syscall を実装する関数およびこの関数が必要とする引数の個数 .Aq ( Pa sys/sysent.h 参照) を明示します。 .Pp .Fa evh は、カーネルモジュールのイベントハンドラ関数へのポインタであり、 この関数は引数 .Fa arg を取ります。 詳細については .Xr module 9 を参照してください。 .Sh 使用例 syscall モジュールのための最低限の例が、 .Pa /usr/share/examples/kld/syscall/module/syscall.c の中に見つけられます。 .Sh 関連項目 .Xr module 9 .Pp .Pa /usr/share/examples/kld/syscall/module/syscall.c .Sh 作者 このマニュアルページは .An Alexander Langer Aq alex@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS.9 b/ja_JP.eucJP/man/man9/VFS.9 index c09a1c48b2..c4bc9782f8 100644 --- a/ja_JP.eucJP/man/man9/VFS.9 +++ b/ja_JP.eucJP/man/man9/VFS.9 @@ -1,66 +1,66 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS.9,v 1.4.2.3 2002/03/19 18:24:16 schweikh Exp % +.\" %FreeBSD: src/share/man/man9/VFS.9,v 1.8 2002/03/16 17:26:07 schweikh Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS 9 .Sh 名称 .Nm VFS .Nd ファイルシステムへのカーネルインターフェイス .Sh 解説 ファイルシステムの設定や情報を、 設定したり問い合わせたりするために使用される呼び出しです。 .Pp ある VFS 操作を実装しないファイルシステムは、 空の関数の実装したり、 .Fa eopnotsupp にキャストしたりするよりも、 .Pa src/sys/kern/vfs_default.c にある適切な .Fa vfs_std 関数を使用するべきです。 .Sh 関連項目 -.Xr vnode 9 , .Xr VFS_CHECKEXP 9 , .Xr VFS_FHTOVP 9 , .Xr VFS_INIT 9 , .Xr VFS_MOUNT 9 , .Xr VFS_QUOTACTL 9 , .Xr VFS_START 9 , .Xr VFS_STATFS 9 , .Xr VFS_SYNC 9 , .Xr VFS_UNMOUNT 9 , .Xr VFS_VGET 9 , -.Xr VFS_VPTOFH 9 +.Xr VFS_VPTOFH 9 , +.Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 index 5d52ddc504..de339993fb 100644 --- a/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 +++ b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 @@ -1,89 +1,89 @@ .\" .\" Copyright (c) 1999 Alfred Perlstein .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following condition .\" is met: .\" Redistributions of source code must retain the above copyright .\" notice, this condition and the following disclaimer. .\" .\" 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/VFS_CHECKEXP.9,v 1.2.2.4 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_CHECKEXP.9,v 1.8 2002/05/16 05:21:57 trhodes Exp % .\" .\" $FreeBSD$ .Dd September 10, 1999 .Os .Dt VFS_CHECKEXP 9 .Sh 名称 .Nm VFS_CHECKEXP -.Nd vnode がクライアントにエクスポートされているかどうかをチェック +.Nd ファイルシステムがクライアントにエクスポートされているかどうかのチェック .Sh 書式 .In sys/param.h .In sys/mount.h .Ft int -.Fn VFS_CHECKEXP "struct mount *mp" "struct mbuf *nam" "int *exflagsp" "struct ucred **credanonp" +.Fn VFS_CHECKEXP "struct mount *mp" "struct sockaddr *nam" "int *exflagsp" "struct ucred **credanonp" .Sh 解説 これは、クライアントにマウントポイントがエクスポート されているかどうかをチェックするために、NFS サーバが使用します。 .Pp 引数は以下の通りです。 .Bl -tag -width credanonp .It Ar mp チェック対象のマウントポイント。 .It Ar nam クライアントのネットワークアドレスを含む mbuf。 .It Ar exflagsp このクライアントに対する、エクスポートフラグの戻り値。 .It Ar credanonp このクライアントに対する、匿名の証明の戻り値。 .El .Pp ファイルシステムのマウント構造に対して呼び出して、 .Fa nam にアドレスが含まれるクライアントに対してそのファイルシステムが エクスポートされているかどうかを決定できます。 .Pp 一般的には、 クライアントがファイルシステムにアクセス可能かを確認するために、 .Xr VFS_FHTOVP 9 の前に呼び出されます。 .Pp ファイルシステムは、 クライアントがファイルシステムをアクセスできるかを実証するために、 .Dv netexport 構造体の適切なアドレス、クライアントのアドレス、および .Fa nam を伴って、 .Xr vfs_export_lookup 9 を呼び出すべきです。 .Sh 戻り値 そのクライアントに対するエクスポートフラグと ( .Xr vfs_export_lookup 9 から返される) 匿名の証明が .Fa *exflagsp と .Fa *credanonp に返されるでしょう。 .Sh 関連項目 .Xr VFS 9 , .Xr VFS_FHTOVP 9 , .Xr VFS_VPTOFH 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Alfred Perlstein が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 index c693582a28..48c2c30ab3 100644 --- a/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 +++ b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 @@ -1,82 +1,82 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_FHTOVP.9,v 1.6.2.5 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_FHTOVP.9,v 1.12 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_FHTOVP 9 .Sh 名称 .Nm VFS_FHTOVP .Nd NFS ファイルハンドルから vnode への変換 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_FHTOVP "struct mount *mp" "struct fid *fhp" "struct vnode **vpp" .Sh 解説 これは NFS ファイルハンドルから vnode へ 変換するために NFS サーバによって使用されます。 .Pp 引数は以下の通りです。 .Bl -tag -width vpp .It Ar mp ファイルシステム。 .It Ar fhp 変換されるファイルハンドル。 .It Ar vpp 新しい、ロックされた vnode の戻り値。 .El .Pp ファイルハンドルの内容は、ファイルシステムによって定義されていて、 システムの他の部分によって検査されません。 ファイルが削除された時や新しいファイルのためにファイルシステムの資源が 再利用された時の通知と同じ程度に、ファイルシステムの中のファイルを 独自に識別するための十分な情報を含んでいるべきです。 例えば、UFS ファイルシステムは、ファイルハンドルの中に inode 番号 および inode 世代カウンタを格納します。 .Pp 一般的にはこの関数への呼び出し前は、そのファイルがクライアントにとって アクセス可能であるかどうかを検査するために .Xr VFS_CHECKEXP 9 呼び出しが行われます。 .Sh 戻り値 そのファイルのロックされた vnode が .Fa *vpp に返されます。 .Sh 関連項目 .Xr VFS 9 , .Xr VFS_CHECKEXP 9 , .Xr VFS_VPTOFH 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_INIT.9 b/ja_JP.eucJP/man/man9/VFS_INIT.9 index 4c1f53e004..f2956b67a4 100644 --- a/ja_JP.eucJP/man/man9/VFS_INIT.9 +++ b/ja_JP.eucJP/man/man9/VFS_INIT.9 @@ -1,56 +1,56 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_INIT.9,v 1.6.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_INIT.9,v 1.7 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_INIT 9 .Sh 名称 .Nm VFS_INIT .Nd ファイルシステムの初期化 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_INIT .Sh 解説 この関数は、ファイルシステムが保持可能な 全ての大域データ構造体を初期化するために、一度だけ呼び出されます。 オペレーティングシステムの起動時または、 動的に読み込まれたファイルシステムでは ファイルシステムを含むカーネルモジュールが読み込まれた時に、呼び出されます。 .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_MOUNT.9 b/ja_JP.eucJP/man/man9/VFS_MOUNT.9 index 1b435cb431..133af4eb59 100644 --- a/ja_JP.eucJP/man/man9/VFS_MOUNT.9 +++ b/ja_JP.eucJP/man/man9/VFS_MOUNT.9 @@ -1,92 +1,92 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_MOUNT.9,v 1.7.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_MOUNT.9,v 1.9 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_MOUNT 9 .Sh 名称 .Nm VFS_MOUNT .Nd ファイルシステムのマウント .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_MOUNT "struct mount *mp" "char *path" "caddr_t data" "struct nameidata *ndp" "struct proc *p" +.Fn VFS_MOUNT "struct mount *mp" "char *path" "caddr_t data" "struct nameidata *ndp" "struct thread *td" .Sh 解説 システムの名前空間にファイルシステムをマウントします。 .Pp 引数は以下の通りです。 .Bl -tag -width data .It Ar mp ファイルシステムを表現する構造体。 .It Ar path そのファイルシステムがマウントされるパス名。 .It Ar data ファイルシステム固有データ。これはカーネルに .Xr copyin 9 を使用して読み込まれるべきです。 .It Ar ndp マウントポイントのパス名での .Xr namei 9 の呼び出しの結果。 -.It Ar p -ファイルシステムをマウントしようとしているプロセス。 +.It Ar td +ファイルシステムをマウントしようとしているスレッド。 .El .Pp これは、新しいファイルシステムをマウントする目的と、 既存のファイルシステムの属性変更の目的の、両方の用途で呼び出されます。 .Fa mp->mnt_flag に .Dv MNT_UPDATE フラグが設定されている場合には、ファイルシステムは .Fa mp->mnt_flag の値により内部状態を更新するべきです。 例えば、読み取り専用ファイルシステムから読み書き可能への変換に 使用されることが可能です。 また、 .Xr mountd 8 によってファイルシステムの NFS エクスポート情報の更新にも使用されています。 .Pp .Dv MNT_UPDATE フラグが設定されていない場合には、 これは新規にマウントされたファイルシステムです。 ファイルシステムのコードは、ファイルシステムの表現に必要な私的データの 割り当てと初期化を行なうべきです (この情報を格納するために .Fa mp->mnt_data フィールドを使用可能です)。 .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 b/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 index 77b29138b4..65da1ffd14 100644 --- a/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 +++ b/ja_JP.eucJP/man/man9/VFS_QUOTACTL.9 @@ -1,55 +1,55 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_QUOTACTL.9,v 1.5.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_QUOTACTL.9,v 1.7 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_QUOTACTL 9 .Sh 名称 .Nm VFS_QUOTACTL .Nd ファイルシステムクォータの操作 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_QUOTACTL "struct mount *mp" "int cmds" "uid_t uid" "caddr_t arg" "struct proc *p" +.Fn VFS_QUOTACTL "struct mount *mp" "int cmds" "uid_t uid" "caddr_t arg" "struct thread *td" .Sh 解説 ファイルシステムのクォータを実装します。 引数についての解説は .Xr quotactl 2 を参照してください。 .Sh 関連項目 .Xr quotactl 2 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_ROOT.9 b/ja_JP.eucJP/man/man9/VFS_ROOT.9 index fe36f30e95..dafc2e0f0d 100644 --- a/ja_JP.eucJP/man/man9/VFS_ROOT.9 +++ b/ja_JP.eucJP/man/man9/VFS_ROOT.9 @@ -1,60 +1,60 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_ROOT.9,v 1.5.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_ROOT.9,v 1.6 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_ROOT 9 .Sh 名称 .Nm VFS_ROOT .Nd ファイルシステムのルート vnode の取得 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_ROOT "struct mount *mp" "struct vnode **vpp" .Sh 解説 ファイルシステムのルートディレクトリに対する、ロックされた vnode を返します。 .Pp 引数は以下の通りです。 .Bl -tag -width vpp .It Ar mp ファイルシステム。 .It Ar vpp ルート vnode の引数の戻り値。 .El .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_START.9 b/ja_JP.eucJP/man/man9/VFS_START.9 index 145611a568..2999e94d9a 100644 --- a/ja_JP.eucJP/man/man9/VFS_START.9 +++ b/ja_JP.eucJP/man/man9/VFS_START.9 @@ -1,63 +1,63 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_START.9,v 1.5.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_START.9,v 1.7 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_START 9 .Sh 名称 .Nm VFS_START .Nd ファイルシステムを操作可能にする .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_START "struct mount *mp" "int flags" "struct proc *p" +.Fn VFS_START "struct mount *mp" "int flags" "struct thread *td" .Sh 解説 これは .Xr VFS_MOUNT 9 の後且つファイルシステムへの最初のアクセスの前に呼び出されます。 引数は以下の通りです。 .Bl -tag -width flags .It Ar mp ファイルシステム。 .It Ar flags ?? -.It Ar p -ファイルシステムを起動しているプロセス。 +.It Ar td +ファイルシステムを起動しているスレッド。 .El .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_STATFS.9 b/ja_JP.eucJP/man/man9/VFS_STATFS.9 index 22e5ff4364..8b32137623 100644 --- a/ja_JP.eucJP/man/man9/VFS_STATFS.9 +++ b/ja_JP.eucJP/man/man9/VFS_STATFS.9 @@ -1,63 +1,63 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_STATFS.9,v 1.5.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_STATFS.9,v 1.7 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_STATFS 9 .Sh 名称 .Nm VFS_STATFS .Nd ファイルシステムの状態の取得 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_STATFS "struct mount *mp" "struct statfs *sbp" "struct proc *p" +.Fn VFS_STATFS "struct mount *mp" "struct statfs *sbp" "struct thread *td" .Sh 解説 この呼び出しは、ファイルシステムについての様々な情報を返します。 この情報には、推奨されている入出力サイズ、空き領域、空き inode 等があります。 .Pp 引数は以下の通りです。 .Bl -tag -width sbp .It Ar mp ファイルシステム。 .It Ar sbp ファイルシステムの状態のための戻り値。 -.It Ar p -ファイルシステムに問い合わせているプロセス。 +.It Ar td +ファイルシステムに問い合わせているスレッド。 .El .Sh 関連項目 .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_SYNC.9 b/ja_JP.eucJP/man/man9/VFS_SYNC.9 index 5d6ca5e920..3dbca16a62 100644 --- a/ja_JP.eucJP/man/man9/VFS_SYNC.9 +++ b/ja_JP.eucJP/man/man9/VFS_SYNC.9 @@ -1,71 +1,80 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_SYNC.9,v 1.6.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_SYNC.9,v 1.9 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_SYNC 9 .Sh 名称 .Nm VFS_SYNC .Nd 未書き込みデータの吐き出し .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_SYNC "struct mount *mp" "int waitfor" "struct ucred *cred" "struct proc *p" +.Fn VFS_SYNC "struct mount *mp" "int waitfor" "struct ucred *cred" "struct thread *td" .Sh 解説 これはファイルシステムの全ての未書き込みのデータを書き出します。 .Pp 引数は以下の通りです。 .Bl -tag -width waitfor .It Ar mp ファイルシステム。 .It Ar waitfor 関数が入出力の完了まで待つべきかどうか。 +指定可能な値は以下のとおりです。 +.Bl -tag -width MNT_NOWAIT +.It Dv MNT_WAIT +入出力の完了を同期的に待ちます。 +.It Dv MNT_NOWAIT +全ての入出力を開始しますが、それを待ちません。 +.It Dv MNT_LAZY +ファイルシステムの syncer によって書込まれていないデータを出力します。 +.El .It Ar cred 呼び出し元の証明。 -.It Ar p -呼び出しているプロセス。 +.It Ar td +呼び出しているスレッド。 .El .Pp これは、通常、ファイルシステム中の全ての vnode のために .Xr VOP_FSYNC 9 を呼び出します。 .Sh 関連項目 .Xr fsync 2 , .Xr sync 2 , .Xr VFS 9 , .Xr vnode 9 , .Xr VOP_FSYNC 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 b/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 index b88226dd01..58c86af807 100644 --- a/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 +++ b/ja_JP.eucJP/man/man9/VFS_UNMOUNT.9 @@ -1,66 +1,66 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_UNMOUNT.9,v 1.5.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_UNMOUNT.9,v 1.7 2001/12/26 23:14:04 davidc Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_UNMOUNT 9 .Sh 名称 .Nm VFS_UNMOUNT .Nd ファイルシステムのアンマウント .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_UNMOUNT "struct mount *mp" "int mntflags" "struct proc *p" +.Fn VFS_UNMOUNT "struct mount *mp" "int mntflags" "struct thread *td" .Sh 解説 ファイルシステムをアンマウントします。 .Pp 引数は以下の通りです。 .Bl -tag -width mntflags .It Ar mp ファイルシステム。 .It Ar mntflags いろいろなフラグ。 -.It Ar p -ファイルシステムをアンマウントしているプロセス。 +.It Ar td +ファイルシステムをアンマウントしているスレッド。 .El .Pp .Dv MNT_FORCE フラグが指定された場合には、開いているファイルは強制的に閉じられるべきです。 .Sh 関連項目 .Xr vflush 9 , .Xr VFS 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_VGET.9 b/ja_JP.eucJP/man/man9/VFS_VGET.9 index e792f1d377..261d3bf7ca 100644 --- a/ja_JP.eucJP/man/man9/VFS_VGET.9 +++ b/ja_JP.eucJP/man/man9/VFS_VGET.9 @@ -1,74 +1,77 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_VGET.9,v 1.5.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_VGET.9,v 1.9 2002/04/12 04:23:22 davidc Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_VGET 9 .Sh 名称 .Nm VFS_VGET .Nd inode 番号から vnode への変換 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int -.Fn VFS_VGET "struct mount *mp" "ino_t ino" "struct vnode **vpp" +.Fn VFS_VGET "struct mount *mp" "ino_t ino" "int flags" "struct vnode **vpp" .Sh 解説 これは inode 番号を、ロックされた vnode へ変換します。 .Pp 引数は以下の通りです。 -.Bl -tag -width ino +.Bl -tag -width ".Ar flags" .It Ar mp ファイルシステム。 .It Ar ino そのファイルを表現する inode。 +.It Ar flags +パススルーのための追加のロックフラグ。 .It Ar vpp vnode の戻り値。 .El .Pp これは、ファイルシステム中の各ファイルに対して 一意の識別番号を持つファイルシステムのための、 オプションのファイルシステムエントリポイントです。 UFS ファイルシステムはこれを内部的に使用していますし、 また NFSv3 サーバは .Dv READDIRPLUS NFS 呼び出しを実装するために使用しています。 .Pp ファイルシステムがこの呼び出しをサポートしていない場合には、 .Er EOPNOTSUPP を返すべきです。 .Sh 関連項目 .Xr VFS 9 , +.Xr vget 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_VPTOFH.9 b/ja_JP.eucJP/man/man9/VFS_VPTOFH.9 index 2ed51b3e2d..547e54553e 100644 --- a/ja_JP.eucJP/man/man9/VFS_VPTOFH.9 +++ b/ja_JP.eucJP/man/man9/VFS_VPTOFH.9 @@ -1,64 +1,64 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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/VFS_VPTOFH.9,v 1.6.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_VPTOFH.9,v 1.7 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VFS_VPTOFH 9 .Sh 名称 .Nm VFS_VPTOFH .Nd vnode から NFS ファイルハンドルへの変換 .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/vnode.h .Ft int .Fn VFS_VPTOFH "struct vnode *vp" "struct fid *fhp" .Sh 解説 これは NFS サーバが使用し、 一意にファイルを識別する不透明なファイルハンドルを作成します。 このファイルハンドルを使用することにより、 将来 NFS クライアントがそのファイルをアクセス可能となります。 .Pp 引数は以下の通りです。 .Bl -tag -width fhp .It Ar vp ファイルハンドルを生成する対象の vnode。 .It Ar fhp ファイルハンドルの戻り値。 .El .Sh 関連項目 .Xr VFS 9 , .Xr VFS_FHTOVP 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ACCESS.9 b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 index 68f47754a8..547ec05f11 100644 --- a/ja_JP.eucJP/man/man9/VOP_ACCESS.9 +++ b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 @@ -1,150 +1,153 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_ACCESS.9,v 1.7.2.4 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.17 2002/09/18 22:12:42 truckman Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_ACCESS 9 .Sh 名称 .Nm VOP_ACCESS .Nd ファイルまたは UNIX ドメインソケットのアクセス許可の調査 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_ACCESS "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" +.Fn VOP_ACCESS "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" .Sh 解説 このエントリポイントは、与えられた証明に対する、ファイルの アクセス許可を調査します。 .Pp 引数は以下の通りです。 .Bl -tag -width mode .It Ar vp 調査対象ファイルの vnode。 .It Ar mode 要求されたアクセスのタイプ。 .It Ar cred 調査対象のユーザ証明。 -.It Ar p -調査しているプロセス。 +.It Ar td +調査しているスレッド。 .El .Pp .Fa mode は .Dv VREAD , .Dv VWRITE または .Dv VEXEC を含むマスクです。 .Sh ロック vnode は、入る時にロックされ、戻る時にもロックされ続けます。 .Sh 戻り値 ファイルが指定された方法でアクセス可能な場合には、0 が返されます。 そうでない場合には、適切なエラーコードが返されます。 .Sh 疑似コード .Bd -literal int -vop_access(struct vnode *vp, int mode, struct ucred *cred, struct proc *p) +vop_access(struct vnode *vp, int mode, struct ucred *cred, struct thread *td) { int error; /* * ファイルがソケット、FIFO、またはファイルシステムに存在する * ブロック型または文字型デバイスでない場合には、読み込み専用 * ファイルシステムへの書き込みは認められません。 */ if (mode & VWRITE) { switch (vp->v_type) { case VDIR: case VLNK: case VREG: if (vp->v_mount->mnt_flag & MNT_RDONLY) return EROFS; break; } } /* 不変ビットが設定されていれば、誰も書き込めません。 */ if ((mode & VWRITE) && vp has immutable bit set) return EPERM; /* そうでなければ、uid が 0 ならば常に許可。 */ if (cred->cr_uid == 0) return 0; mask = 0; /* そうでなければ、所有者を調べます。 */ if (cred->cr_uid == owner of vp) { if (mode & VEXEC) mask |= S_IXUSR; if (mode & VREAD) mask |= S_IRUSR; if (mode & VWRITE) mask |= S_IWUSR; return (((mode of vp) & mask) == mask ? 0 : EACCES); } /* そうでなければ、グループを調べます。 */ for (i = 0, gp = cred->cr_groups; i < cred->cr_ngroups; i++, gp++) if (group of vp == *gp) { if (mode & VEXEC) mask |= S_IXGRP; if (mode & VREAD) mask |= S_IRGRP; if (mode & VWRITE) mask |= S_IWGRP; return (((mode of vp) & mask) == mask ? 0 : EACCES); } /* そうでなければ、その他を調べます。 */ if (mode & VEXEC) mask |= S_IXOTH; if (mode & VREAD) mask |= S_IROTH; if (mode & VWRITE) mask |= S_IWOTH; return (((mode of vp) & mask) == mask ? 0 : EACCES); } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM 不変ファイルを変更しようとしました。 .It Bq Er EACCES -許可されません。 +パーミションビットのファイルモードまたは ACL が要求されたアクセスを +許可しませんでした。 .El .Sh 関連項目 +.Xr vaccess 9 , +.Xr vaccess_acl_posix1e 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 b/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 index c10a859bbf..9d0666583d 100644 --- a/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 +++ b/ja_JP.eucJP/man/man9/VOP_ACLCHECK.9 @@ -1,100 +1,102 @@ .\"- .\" Copyright (c) 1999 Robert N. M. Watson .\" All rights reserved. .\" .\" 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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_ACLCHECK.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ACLCHECK.9,v 1.8 2002/09/18 22:12:42 truckman Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_ACLCHECK 9 .Sh 名称 .Nm VOP_ACLCHECK .Nd vnode のアクセス制御リストの調査 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/acl.h .Ft int -.Fn VOP_ACLCHECK "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" +.Fn VOP_ACLCHECK "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、特定のファイルまたはディレクトリに対する 特定のアクセス制御リスト (ACL) の妥当性を決定するために、使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Ar vp ファイルまたはディレクトリの vnode。 .It Ar type 調査対象の ACL の型。 .It Ar aclp ACL データの取り出し元の ACL 構造体を指しているポインタ。 .It Ar cred 要求の認証のために使用されるユーザ証明。 -.It Ar p -ACL を調査しているプロセス。 +.It Ar td +ACL を調査しているスレッド。 .El .Pp .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック この vnode メソッドの呼び出しのためにロックは不要で、 入る時に保持していた全てのロックは戻る時まで保持されます。 .Sh 戻り値 .Fa vp オブジェクトのための .Fa type 型の有効な ACL を .Fa aclp ポインタが指している場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された vnode の ACL 型が無効または ACL データが無効です。 .It Bq Er EACCES -許可されませんでした。 +ファイルまたはディレクトリの ACL がアクセスを許可しませんでした。 .It Bq Er ENOMEM -要求を実行するためのメモリが十分ではありません。 +要求を実行するための十分なメモリが利用可能ではありません。 .It Bq Er EOPNOTSUPP -ファイルシステムが VOP_ACLCHECK をサポートしていません。 +ファイルシステムが +.Fn VOP_ACLCHECK +をサポートしていません。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_GETACL 9 , .Xr VOP_SETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 b/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 index 78fc1c0298..1f6c1c9980 100644 --- a/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 +++ b/ja_JP.eucJP/man/man9/VOP_ADVLOCK.9 @@ -1,85 +1,85 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_ADVLOCK.9,v 1.6.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ADVLOCK.9,v 1.9 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd June 30, 1999 .Os .Dt VOP_ADVLOCK 9 .Sh 名称 .Nm VOP_ADVLOCK .Nd 問合せ型レコードロック .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/fcntl.h .In sys/lockf.h .Ft int .Fn VOP_ADVLOCK "struct vnode *vp" "caddr_t id" "int op" "struct flock *fl" "int flags" .Sh 解説 引数は以下の通りです。 .Bl -tag -width flags .It Ar vp 操作されている vnode。 .It Ar id ロックを変更している識別トークン。 .It Ar op 実行するべき操作 ( .Xr fcntl 2 を参照してください)。 .It Ar fl ロックの記述。 .It Ar flags 以下の値のひとつ以上。 .Bl -column F_UNLCK -offset indent .It Dv F_RDLCK Ta 共有または読み込みロック .It Dv F_UNLCK Ta ロック解除 .It Dv F_WRLCK Ta 排他的または書き込みロック .It Dv F_WAIT Ta ロックが承認されるまで待機 .It Dv F_FLOCK Ta ロックのために .Xr flock 2 のセマンティクス使用 .It Dv F_POSIX Ta ロックのために POSIX のセマンティクスを使用 .El .El .Pp このエントリポイントは、ファイルの問合せ型レコードロックを操作します。 ほとんどのファイルシステムは、この呼び出しのための作業を .Fn lf_advlock に委任します。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .Xr fcntl 2 , .Xr flock 2 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 b/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 index 6ba5dcd497..43354f7508 100644 --- a/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 +++ b/ja_JP.eucJP/man/man9/VOP_ATTRIB.9 @@ -1,160 +1,169 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_ATTRIB.9,v 1.9.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ATTRIB.9,v 1.21 2002/09/18 22:12:42 truckman Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_ATTRIB 9 .Sh 名称 .Nm VOP_GETATTR , .Nm VOP_SETATTR .Nd ファイルまたはディレクトリの属性の取得または設定 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_GETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct proc *p" +.Fn VOP_GETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct thread *td" .Ft int -.Fn VOP_SETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct proc *p" +.Fn VOP_SETATTR "struct vnode *vp" "struct vattr *vap" "struct ucred *cred" "struct thread *td" .Sh 解説 これらのエントリポイントは、 ファイルまたはディレクトリの様々な属性を操作します。 操作対象には、ファイルパーミッション、所有者、グループ、 大きさ、アクセス時刻、更新時刻を含みます。 .Pp 引数は以下の通りです。 .Bl -tag -width cred -.It Ar vp +.It Fa vp ファイルの vnode。 -.It Ar vap +.It Fa vap ファイルの属性。 -.It Ar cred +.It Fa cred 呼び出したプロセスのユーザ証明。 -.It Ar p -プロセス。 +.It Fa td +スレッド。 .El .Pp .Xr VOP_SETATTR 9 によって更新されようとしていない属性は .Dv VNOVAL が設定されているべきです。 +.Fn VATTR_NULL +は全ての値をクリアするために使用することができ、一般的には +.Fa *vap +の値の明示の前にその内容をリセットするために使用されるべきです。 .Sh ロック .Xr VOP_GETATTR 9 は、入る時に vnode がロックされていて、戻り時まで vnode がロックされたままで あることを期待します。 +そのロックの型は共有または排他が可能です。 .Pp .Xr VOP_SETATTR 9 は、入る時に vnode がロックされていて、戻り時まで vnode がロックされたままで あることを期待します。 +そのロックの型は排他でなければなりません。 .Sh 戻り値 .Xr VOP_GETATTR 9 は .Fa *vap -にファイルの情報を返します。 +を介して属性データを取り出すことができた場合には 0 を返し、 +そうでない場合には適切なエラーが返されます。 .Xr VOP_SETATTR 9 は属性がうまく変更された場合には 0 を返し、 -そうでない場合には適切なエラーコードが返されます。 +そうでない場合には適切なエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_getattr(struct vnode *vp, struct vattr *vap, - struct ucred *cred, struct proc *p) + struct ucred *cred, struct thread *td) { /* * *vap をファイルシステムからの情報で埋めます。 */ ...; return 0; } int vop_setattr(struct vnode *vp, struct vattr *vap, - struct ucred *cred, struct proc *p) + struct ucred *cred, struct thread *td) { /* * 設定できない属性をチェックします。 */ if ((vap->va_type != VNON) || (vap->va_nlink != VNOVAL) || (vap->va_fsid != VNOVAL) || (vap->va_fileid != VNOVAL) || (vap->va_blocksize != VNOVAL) || (vap->va_rdev != VNOVAL) || ((int)vap->va_bytes != VNOVAL) || (vap->va_gen != VNOVAL)) { return (EINVAL); } if (vap->va_flags != VNOVAL) { /* * ファイルの変更不能と追加フラグを設定します。 */ } if (vap->va_uid != (uid_t)VNOVAL || vap->va_gid != (gid_t)VNOVAL) { /* * ファイルの所有者および/またはグループを変更します。 */ } if (vap->va_size != VNOVAL) { /* * ファイルを指定された大きさに切り詰めます。 */ } if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) { /* * ファイルのアクセスおよび/または更新時刻を変更します。 */ } if (vap->va_mode != (mode_t)VNOVAL) { /* * ファイルのパーミッションを変更します。 */ } return 0; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM ファイルは変更不可能です。 .It Bq Er EACCES -許可されませんでした。 +呼び出し側がそのファイルまたはディレクトリの属性を修正するパーミションを +持っていません。 .It Bq Er EROFS ファイルシステムが読み込み専用です。 .El .Sh 関連項目 +.Xr VFS 9 , .Xr vnode 9 , .Xr VOP_ACCESS 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_BWRITE.9 b/ja_JP.eucJP/man/man9/VOP_BWRITE.9 index 55525502e1..d8fae972ca 100644 --- a/ja_JP.eucJP/man/man9/VOP_BWRITE.9 +++ b/ja_JP.eucJP/man/man9/VOP_BWRITE.9 @@ -1,58 +1,58 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_BWRITE.9,v 1.5.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_BWRITE.9,v 1.8 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_BWRITE 9 .Sh 名称 .Nm VOP_BWRITE .Nd ファイルシステムバッファの書き込み .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_BWRITE "struct vnode *vp" "struct buf *bp" .Sh 解説 引数は以下の通りです。 .Bl -tag -width 2n .It Ar vp 書き込まれているファイルの vnode。 .It Ar bp 書き込まれるべきバッファ。 .El .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_CREATE.9 b/ja_JP.eucJP/man/man9/VOP_CREATE.9 index 4dc81e03ed..3acbcf8a4f 100644 --- a/ja_JP.eucJP/man/man9/VOP_CREATE.9 +++ b/ja_JP.eucJP/man/man9/VOP_CREATE.9 @@ -1,189 +1,189 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_CREATE.9,v 1.9.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_CREATE.9,v 1.11 2002/09/18 22:12:42 truckman Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_CREATE 9 .Sh 名称 .Nm VOP_CREATE , .Nm VOP_MKNOD , .Nm VOP_MKDIR , .Nm VOP_SYMLINK .Nd ファイル、ソケット、FIFO、デバイス、ディレクトリまたはシンボリックリンクの作成 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/namei.h .Ft int .Fn VOP_CREATE "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_MKNOD "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_MKDIR "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" .Ft int .Fn VOP_SYMLINK "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *vap" "char *target" .Sh 解説 これらのエントリポイントは、新しいファイル、ソケット、FIFO、デバイス、 ディレクトリまたはシンボリックリンクを、 指定されたディレクトリの中に作成します。 .Pp 引数は以下の通りです。 .Bl -tag -width target .It Ar dvp ディレクトリのロックされた vnode。 .It Ar vpp 作成結果のロックされた vnode が格納されるべき、変数のアドレス。 .It Ar cnp 生成された要素のパス名。 .It Ar vap 新しいオブジェクトの作成時に使用されるべき属性。 .It Ar target シンボリックリンクの対象のパス名。 .El .Pp これらのエントリポイントは、オブジェクトの生成中に .Xr VOP_LOOKUP 9 の後に呼び出されます。 通常、 .Xr VOP_LOOKUP 9 は .Dv SAVENAME フラグを .Fa cnp->cn_flags 中に設定して、 .Fa cnp->cn_pnbuf で指されるメモリを正当なままに保ちます。 ファイルの作成時にエラーが検出された場合には、このメモリは解放されます。 ファイルがうまく作成された場合には、 .Fa cnp に .Dv SAVESTART フラグが指定されていなければ、解放されます。 .Sh ロック ディレクトリ .Fa dvp は入る時にロックされ、戻る時にもロックされ続けてなければなりません。 呼び出しが成功の場合には、新しいオブジェクトがロックされて返されます。 .Sh 戻り値 成功時には、新しいオブジェクトの vnode が .Fa *vpp に置かれ、0 が返されます。 そうでない場合には、適切なエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_create(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp struct vattr *vap) { int mode = MAKEIMODE(vap->va_type, vap->va_mode); struct vnode *vp; int error; *vpp = NULL; if ((mode & IFMT) == 0) mode |= IFREG; error = SOMEFS_VALLOC(dvp, mode, cnp->cn_cred, &vp); if (error) { free(cnp->cn_pnbuf, M_NAMEI); vput(dvp); return error; } /* * 新しい vnode のパーミッションを更新します。 * これには、ディレクトリからのグループのコピーを含みます。 */ ...; #ifdef QUOTA /* * できる限りクォータ情報をチェックします。 */ ...; #endif /* * ディレクトリに新しい vnode を入れ、ディレクトリ内容が変更される * 前に vnode がディスクをアクセスしない様に注意します。 */ error = ...; if (error) goto bad; if ((cnp->cn_flags & SAVESTART) == 0) free(cnp->cn_pnbuf, M_NAMEI); vput(dvp); *vpp = vp; return 0; bad: /* * inode またはディレクトリの更新の試みで書き込みエラーが * 発生したため inode の割り当てを解放しなければなりません。 */ free(cnp->cn_pnbuf, M_NAMEI); vput(vp); /* * vp のためのファイルシステム資源を解放。 */ ...; vput(dvp); return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOSPC ファイルシステムが一杯です。 .It Bq Er EDQUOT -クォータを超過しました。 +そのユーザのファイルシステム空間または inode のクォータを超過しました。 .El .Sh 関連項目 .Xr VOP_LOOKUP 9, .Xr vnode 9 .Sh 歴史 関数 .Nm は .Bx 4.3 で登場しました。 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_FSYNC.9 b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 index 06539e9f47..01f656a066 100644 --- a/ja_JP.eucJP/man/man9/VOP_FSYNC.9 +++ b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 @@ -1,141 +1,149 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_FSYNC.9,v 1.6.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_FSYNC.9,v 1.11 2002/03/28 12:57:48 dd Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_FSYNC 9 .Sh 名称 .Nm VOP_FSYNC .Nd ファイルシステムバッファのファイルへの吐き出し .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_FSYNC "struct vnode *vp" "struct ucred *cred" "int waitfor" "struct proc *p" +.Fn VOP_FSYNC "struct vnode *vp" "struct ucred *cred" "int waitfor" "struct thread *td" .Sh 解説 この呼び出しはファイルの全ての汚れたバッファを吐き出します。 .Xr sync 2 および .Xr fsync 2 システムコールを実装するために使用されます。 .Pp 引数は以下の通りです。 .Bl -tag -width waitfor .It Ar vp ファイルの vnode。 .It Ar cred 呼び出し側の証明。 .It Ar waitfor 入出力の完了を関数が待つべきかどうか。 -.It Ar p -呼び出しているプロセス。 +.Bl -tag -width MNT_NOWAIT +.It Dv MNT_WAIT +入出力の完了を同期的に待ちます。 +.It Dv MNT_NOWAIT +全ての入出力を開始しますが、それを待ちません。 +.It Dv MNT_LAZY +ファイルシステムの syncer によって書込まれていないデータを出力します。 +.El +.It Ar td +呼び出しているスレッド。 .El .Pp 引数 .Fa waitfor は .Dv MNT_WAIT または .Dv MNT_NOWAIT のどちらかで、関数が戻る前に書き込みの終了を待つべきかどうかを指定します。 .Sh ロック ファイルはエントリ時にロックされるべきです。 .Sh 戻り値 呼び出しが成功した場合には 0 が返され、 そうでない場合には適切なエラーコードが返されます。 .Sh 疑似コード .Bd -literal int -vop_fsync(struct vnode *vp, struct ucred *cred, int waitfor, struct proc *p) +vop_fsync(struct vnode *vp, struct ucred *cred, int waitfor, struct thread *td) { struct buf *bp; struct buf *nbp; struct timeval tv; int s; loop: s = splbio(); for (bp = vp->v_dirtyblkhd.lh_first; bp; bp = nbp) { nbp = bp->b_vnbufs.le_next; /* * 既に書き込み中のバッファを無視します。 */ if (bp->b_flags & B_BUSY) continue; /* * バッファが汚れているか確認します。 */ if ((bp->b_flags & B_DELWRI) == 0) panic("vop_fsync: not dirty"); vfs_bio_awrite(bp); splx(s); goto loop; } splx(s); if (waitfor == MNT_WAIT) { s = splbio(); while (vp->v_numoutput) { vp->v_flag |= VBWAIT; tsleep((caddr_t)&vp->v_numoutput, PRIBIO + 1, "vopfsn"); } splx(s); #ifdef DIAGNOSTIC if (vp->v_dirtyblkhd.lh_first) { vprint("vop_fsync: dirty", vp); goto loop; } #endif } /* * ディスク上の vnode を書き出します。 */ tv = time; return VOP_UPDATE(vp, &tv, &tv, waitfor == MNT_WAIT); } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOSPC ファイルシステムが一杯です。 .It Bq Er EDQUOT クォータを超過しました。 .El .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETACL.9 b/ja_JP.eucJP/man/man9/VOP_GETACL.9 index 3ef7af9319..10a6dd8926 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETACL.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETACL.9 @@ -1,101 +1,100 @@ .\"- -.\" Copyright (c) 1999 Robert N. M. Watson +.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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_GETACL.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.11 2002/09/18 22:12:42 truckman Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_GETACL 9 .Sh 名称 .Nm VOP_GETACL .Nd vnode のアクセス制御リストの取り出し .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/acl.h .Ft int -.Fn VOP_GETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" +.Fn VOP_GETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、 ファイルまたはディレクトリからアクセス制御リスト (ACL) を 取り出すために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Fa vp ファイルまたはディレクトリの vnode。 .It Fa type 取り出す ACL の型。 .It Fa aclp ACL データを受け取る ACL 構造体へのポインタ。 .It Fa cred 要求の認証で使用されるユーザ証明。 -.It Fa p -ACL を要求しているプロセス。 +.It Fa td +ACL を要求しているスレッド。 .El .Pp .Fa cred ポインタは、 .Dv NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL の取り出しを、 カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースはファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック -この vnode メソッドの呼び出しのためにロックは不要で、 -入る時に保持していた全てのロックは戻る時まで保持されます。 +この vnode は入る時にロックされ、戻るときまでロックされ続けるべきです。 .Sh 戻り値 .Fa aclp ポインタが有効な ACL を指している場合には、0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された ACL 型はこの vnode には無効です。 .It Bq Er EACCES -許可されませんでした。 +呼び出し側が適切な特権を持っていません。 .It Bq Er ENOMEM -要求を処理するために利用可能なメモリが足りません。 +その要求を処理するために十分なメモリが利用可能ではありません。 .It Bq Er EOPNOTSUPP ファイルシステムは .Fn VOP_GETACL をサポートしていません。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_ACLCHECK 9 , .Xr VOP_SETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 index bd33c81a57..04c03a7786 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 @@ -1,104 +1,127 @@ .\"- -.\" Copyright (c) 1999 Robert N. M. Watson +.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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_GETEXTATTR.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.14 2002/09/18 22:12:42 truckman Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_GETEXTATTR 9 .Sh 名称 .Nm VOP_GETEXTATTR .Nd vnode からの名前付き拡張属性の取り出し .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/extattr.h .Ft int -.Fn VOP_GETEXTATTR "struct vnode *vp" "char *name" "struct uio *uio" "struct ucred *cred" "struct proc *p" +.Fo VOP_GETEXTATTR +.Fa "struct vnode *vp" +.Fa "int attrnamespace" +.Fa "const char *name" +.Fa "struct uio *uio" +.Fa "size_t *size" +.Fa "struct ucred *cred" +.Fa "struct thread *td" +.Fc .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリから、 指定した名前付き拡張属性を取り出すために使用することができます。 .Pp 引数は以下の通りです。 -.Bl -tag -width type +.Bl -tag -width ".Fa attrnamespace" .It Fa vp ファイルまたはディレクトリの vnode。 +.It Fa attrnamespace +どの拡張属性の名前空間に、その属性の名前が存在するのかを示す整数定数。 .It Fa name 属性名が入った null で終端された文字列へのポインタ。 .It Fa uio -読み込むまたは書き込むべきデータの位置。 +読み込むべきデータの位置。 +.It Fa size +.Dv NULL +でない場合には、戻る時に全ての属性データを読込むために要求される +バイト数が含まれます。 +殆んどの場合、 +.Fa size +が +.Dv NULL +ではない時には +.Fa uio +が +.Dv NULL +にされます。 +またはその逆です。 .It Fa cred 要求の認証で使用するためのユーザ証明。 -.It Fa p -拡張属性を要求しているプロセス。 +.It Fa td +拡張属性を要求しているスレッド。 .El .Pp .Fa cred ポインタは、 .Dv NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この .Fa cred の設定は、アクティブプロセスに許されていない拡張属性の取り出しを カーネルが正当化することを認めるために使用可能です。 .Pp 拡張属性のセマンティクスはファイルシステムの呼び出しの実装によって 異なるでしょう。拡張属性のより多くの情報は .Xr extattr 9 を参照してください。 .Sh LOCKS -この vnode メソッドを呼び出すためにはロックは不要であり、 -入る時に保持していた全てのロックは戻り時まで保持されます。 +この vnode は入る時にロックされ、戻る時までロックされ続けるべきです。 .Sh 戻り値 成功時には 0 が返され、読み込んだデータを反映して uio 構造体が更新されます。 そうでなければ適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er ENOENT この vnode のための属性名が定義されていません。 .It Bq Er EACCES -許可されませんでした。 +呼び出し側が適切な特権を持っていません。 .It Bq Er ENXIO 指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 .It Bq Er ENOMEM -要求を実行するための十分なメモリがありません。 +その要求を実行するための十分なメモリが利用可能ではありません。 .It Bq Er EFAULT uio 構造体が無効なユーザ空間アドレスを参照しています。 .It Bq Er EINVAL .Fa name または .Fa uio 引数が無効です。 .It Bq Er EOPNOTSUPP ファイルシステムが .Fn VOP_GETEXTATTR をサポートしていません。 .El .Sh 関連項目 .Xr extattr 9 , .Xr vnode 9 , .Xr VOP_SETEXTATTR 9 diff --git a/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 b/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 index 12f157265c..226159dda0 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETPAGES.9 @@ -1,74 +1,74 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_GETPAGES.9,v 1.4.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETPAGES.9,v 1.6 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_GETPAGES 9 .Sh 名称 .Nm VOP_GETPAGES , .Nm VOP_PUTPAGES .Nd ファイルから VM ページへの読み込みまたは書き込み .Sh 書式 .In sys/param.h .In sys/vnode.h .In vm/vm.h .Ft int .Fn VOP_GETPAGES "struct vnode *vp" "vm_page_t *m" "int count" "int reqpage" "vm_ooffset_t offset" .Ft int .Fn VOP_PUTPAGES "struct vnode *vp" "vm_page_t *m" "int count" "int sync" "int *rtvals" "vm_ooffset_t offset" .Sh 解説 引数は以下の通りです。 .Bl -tag -width reqpage .It Ar vp アクセスするファイル。 .It Ar m ページ ???。 .It Ar count アクセスするページ数。 .It Ar sync 書き込みが同期するべきである場合には 0 でない値。 .It Ar rtvals ???。 .It Ar reqpage ???。 .It Ar offset アクセスを開始するファイルの中のオフセット。 .El .Pp この引数については完全に確かではありません。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 b/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 index 3bff782c01..a5cbbfa733 100644 --- a/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 +++ b/ja_JP.eucJP/man/man9/VOP_INACTIVE.9 @@ -1,106 +1,106 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_INACTIVE.9,v 1.5.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_INACTIVE.9,v 1.9 2001/11/20 18:19:19 arr Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_INACTIVE 9 .Sh 名称 .Nm VOP_INACTIVE , .Nm VOP_RECLAIM .Nd vnode のためのファイルシステム資源の回収 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_INACTIVE "struct vnode *vp" "struct proc *p" +.Fn VOP_INACTIVE "struct vnode *vp" "struct thread *td" .Ft int -.Fn VOP_RECLAIM "struct vnode *vp" "struct proc *p" +.Fn VOP_RECLAIM "struct vnode *vp" "struct thread *td" .Sh 解説 引数は以下の通りです。 .Bl -tag -width 2n .It Ar vp 回収されている vnode。 .El .Pp .Xr VOP_INACTIVE 9 は、カーネルがもはやその vnode を使用しなくなった時に呼び出されます。 これは、参照カウントが 0 になった時、 またはオープンされているファイルがあるファイルシステムが 強制的にアンマウントされた時に起こります。 「オープンされているが削除された」ファイルのための領域を回収するために、 使用可能です。 .Xr VOP_RECLAIM 9 は、異なるファイルシステムのために vnode が再利用される時に呼び出されます。 vnode に関連しているあらゆるファイルシステム固有の資源は、解放されるべきです。 .Sh ロック VOP_INACTIVE では、入る時に vp がロックされます。 VOP_INACTIVE コードは、戻る前に vp をアンロックしなければなりません。 .Pp VOP_RECLAIM では、入る時に vp はロックされず、 戻り時もロックされないままでいるべきです。 .Sh 疑似コード .Bd -literal int -vop_inactive(struct vnode *vp) +vop_inactive(struct vnode *vp, struct thread *td) { if (link count of vp == 0) { /* * vp のためのファイルシステム内の領域を回収します。 */ ...; } - VOP_UNLOCK(vp, 0, p); + VOP_UNLOCK(vp, 0, td); return 0; } int vop_reclaim(struct vnode *vp) { /* * 名前キャッシュを一掃します。 */ cache_purge(vp); /* * ファイルシステムに関連したデータを解放します。 */ ...; return 0; } .Ed .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_IOCTL.9 b/ja_JP.eucJP/man/man9/VOP_IOCTL.9 index d955f53a67..f7a1c66be8 100644 --- a/ja_JP.eucJP/man/man9/VOP_IOCTL.9 +++ b/ja_JP.eucJP/man/man9/VOP_IOCTL.9 @@ -1,81 +1,85 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_IOCTL.9,v 1.5.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_IOCTL.9,v 1.9 2002/09/26 14:10:21 phk Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_IOCTL 9 .Sh 名称 .Nm VOP_IOCTL .Nd デバイス固有の制御 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_IOCTL "struct vnode *vp" "u_long command" "caddr_t data" "int fflag" "struct ucred *cred" "struct proc *p" +.Fn VOP_IOCTL "struct vnode *vp" "u_long command" "caddr_t data" "int fflag" "struct ucred *cred" "struct thread *td" .Sh 解説 デバイス依存の方法でのファイルを操作します。 .Pp 引数は以下の通りです。 .Bl -tag -width command .It Ar vp ファイル (通常はデバイスを表現する) の vnode。 .It Ar command 実行すべきデバイス固有の操作。 .It Ar cnp 指定された操作のための拡張データ。 .It Ar fflag 幾つかのフラグ ??? .It Ar cred 呼び出し側の証明。 -.It Ar p -呼び出したプロセス。 +.It Ar td +呼び出したスレッド。 .El .Pp ほとんどのファイルシステムはこのエントリポイントを実装しません。 .Sh ロック 入る時、ファイルはロックされているべきではありません。 .Sh 戻り値 成功時には 0 が返され、そうでない場合には適切なエラーが返されます。 +.Pp +ioctl が認識されないまたはハンドルされない場合には、 +ENOTTY が返されるべきです。 .Sh 疑似コード .Bd -literal int vop_ioctl(struct vnode *vp, int command, caddr_t data, int fflag, - struct ucred *cred, struct proc *p) + struct ucred *cred, struct thread *td) { - return EOPNOTSUPP; + + return ENOTTY; } .Ed .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LEASE.9 b/ja_JP.eucJP/man/man9/VOP_LEASE.9 index 0ef846d609..89eb144a76 100644 --- a/ja_JP.eucJP/man/man9/VOP_LEASE.9 +++ b/ja_JP.eucJP/man/man9/VOP_LEASE.9 @@ -1,61 +1,61 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_LEASE.9,v 1.2.2.5 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LEASE.9,v 1.8 2001/11/20 18:19:19 arr Exp % .\" .\" $FreeBSD$ .Dd September 24, 1999 .Os .Dt VOP_LEASE 9 .Sh 名称 .Nm VOP_LEASE .Nd ユーザ証明と操作のタイプの特有の組に対する vnode の正当性の確認 .Sh 書式 .In sys/param.h .In sys/mount.h .Ft int -.Fn VOP_LEASE "struct vnode *vp" "struct proc *p" "struct ucred *cred" "int type" +.Fn VOP_LEASE "struct vnode *vp" "struct thread *td" "struct ucred *cred" "int type" .Sh 解説 このエントリポイントは、現在実装されていません。 この着想は、ユーザ証明と操作の型の特有の組のための vnode を確認するための ものだと信じています。 サポートされている、2 つの操作の型は LEASE_READ および LEASE_WRITE です。 現在、関数は常に 0 を返します。 .Sh ロック 入る時、vnode は排他的にロックされていなければならず、 戻り時まで排他的にロックされ続けているべきです。 .Sh 戻り値 成功時には、0 が返されます。そうでない場合にも、うーん... 0 が返されます。 .\" .Sh エラー .Sh 関連項目 .Xr VOP_READ 9 , .Xr VOP_WRITE 9 .Sh 作者 このマニュアルページは .An Matt Dillon が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LINK.9 b/ja_JP.eucJP/man/man9/VOP_LINK.9 index 34bcfba3d1..6ef9928ece 100644 --- a/ja_JP.eucJP/man/man9/VOP_LINK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LINK.9 @@ -1,138 +1,117 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_LINK.9,v 1.9.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LINK.9,v 1.17 2002/09/19 13:34:50 truckman Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_LINK 9 .Sh 名称 .Nm VOP_LINK .Nd ファイルの新しい名前の作成 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_LINK "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Sh 解説 これは、既存のファイルに対し、 指定したディレクトリ中の新しい名前をリンクします。 .Pp 引数は以下の通りです。 .Bl -tag -width 8n .It Ar dvp ディレクトリの vnode。 .It Ar vp リンクされるファイルの vnode。 .It Ar cnp ファイルについてのパス名情報。 .El .Pp -パス名情報は、戻り時に解放されなければなりません。 +パス名情報は戻り時に開放されるべきではありません。 +なぜならば、それは呼び出し側によって行なわれるからです。 ディレクトリとファイルの vnode は戻り時に解放されるべきではありません。 .Sh ロック -ディレクトリ -.Fa dvp -は、入る時にロックされていて、戻り時もロックされ続けているべきです。 -ファイル -.Fa vp -は、入る時にロックされておらず、戻り時もそのままであるべきです。 -VOP コードが -.Fa vp -をロックする場合には、戻る前に必ずロックを解除しなければなりません。 +.Xr VOP_LINK 9 +はディレクトリおよびファイルの vnode は入る時にロックされ、戻る時まで +ロックされ続けていることを期待します。 .Sh 戻り値 ファイルが成功裏にリンクされた場合には 0 が返され、 そうでない場合にはエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) { int error = 0; - if (vp->v_mount != dvp->v_mount) { - VOP_ABORTOP(dvp, cnp); - error = EXDEV; - goto out2; - } - if (vp != dvp && (error = VOP_LOCK(vp))) { - VOP_ABORTOP(dvp, cnp); - goto out2; - } - - /* - * 今、vp をロックしたので、out2 の代わりに out1 を使用 - * しなければなりません。 - */ + if (vp->v_mount != dvp->v_mount) + return (EXDEV); - if (vp would have too many links) { - VOP_ABORTOP(dvp, cnp); - error = EMLINK; - goto out1; - } + if (vp would have too many links) + return (EMLINK); - if (vp is immutable) { - VOP_ABORTOP(dvp, cnp); - error = EPERM; - goto out1; - } + if (vp is immutable) + return (EPERM); /* * vp のリンクカウントをインクリメントし、ディスクに書き戻します。 */ ...; if (!error) { /* * ディレクトリの新しい名前を追加します。 */ ...; } - free(cnp->cn_pnbuf, M_NAMEI); -out1: - if (vp != dvp) - VOP_UNLOCK(vp); -out2: - return error; } .Ed .Sh エラー .Bl -tag -width Er +.It Bq Er EMLINK +ファイルのリンクの数が多すぎます。 +.El +.Bl -tag -width Er .It Bq Er EPERM ファィルが変更不可能です。 .El +.Bl -tag -width Er +.It Bq Er EXDEV +異なるファイルシステム間ではハードリンクは利用できません。 +.El .Sh 関連項目 .Xr vnode 9 , .Xr vn_lock 9 .Sh 作者 このマニュアルページは .An Doug Rabson が初めて書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LOCK.9 b/ja_JP.eucJP/man/man9/VOP_LOCK.9 index 19cd564197..9a94795917 100644 --- a/ja_JP.eucJP/man/man9/VOP_LOCK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LOCK.9 @@ -1,177 +1,177 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_LOCK.9,v 1.8.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LOCK.9,v 1.12 2001/10/10 10:17:02 bde Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_LOCK 9 .Sh 名称 .Nm VOP_LOCK , .Nm VOP_UNLOCK , .Nm VOP_ISLOCKED , .Nm vn_lock .Nd vnode アクセスの直列化 .Sh 書式 .In sys/param.h .In sys/lock.h .In sys/vnode.h .Ft int -.Fn VOP_LOCK "struct vnode *vp" "int flags" "struct proc *p" +.Fn VOP_LOCK "struct vnode *vp" "int flags" "struct thread *td" .Ft int -.Fn VOP_UNLOCK "struct vnode *vp" "int flags" "struct proc *p" +.Fn VOP_UNLOCK "struct vnode *vp" "int flags" "struct thread *td" .Ft int -.Fn VOP_ISLOCKED "struct vnode *vp" "struct proc *p" +.Fn VOP_ISLOCKED "struct vnode *vp" "struct thread *td" .Ft int -.Fn vn_lock "struct vnode *vp" "int flags" "struct proc *p" +.Fn vn_lock "struct vnode *vp" "int flags" "struct thread *td" .Sh 解説 これらの呼び出しは、 ファイルシステムへのアクセスを直列化するために使用されます。 例えば、同一ファイルに対する 2 つの書き込みが同時に発生することを 避けるために使用します。 .Pp 引数は以下の通りです。 .Bl -tag -width flags .It Ar vp ロックまたはロック解除される vnode。 .It Ar flags 以下のロック要求タイプのひとつ。 .Bl -column LK_EXCLUPGRADE -offset indent .It Dv LK_SHARED Ta 共有ロック .It Dv LK_EXCLUSIVE Ta 排他的ロック .It Dv LK_UPGRADE Ta 共有から排他的へのアップグレード .It Dv LK_EXCLUPGRADE Ta 最初の共有から排他的へのアップグレード .It Dv LK_DOWNGRADE Ta 排他的から共有へのダウングレード .It Dv LK_RELEASE Ta 全てのロックタイプの解除 .It Dv LK_DRAIN Ta ロック状態終了までの待機 .El .Pp ロックタイプは、以下のロックフラグと .Em OR されているかもしれません。 .Bl -column LK_CANRECURSE -offset indent .It Dv LK_NOWAIT Ta ロックを待つために sleep しない .It Dv LK_SLEEPFAIL Ta sleep して、失敗を返す .It Dv LK_CANRECURSE Ta 再帰的排他的ロックを認める .It Dv LK_REENABLE Ta ロック消失後再有効化されるべき .It Dv LK_NOPAUSE Ta 空回りしない .El .Pp ロックタイプは、以下の制御フラグと .Em OR されているかもしれません。 .Bl -column LK_INTERLOCK -offset indent .It Dv LK_INTERLOCK Ta 呼び出し側が既に簡易ロックを保持している時に指定 (VOP_LOCK はロックを取得した後で簡易ロックを解除します) .It Dv LK_RETRY Ta ロックされるまでリトライ .It Dv LK_NOOBJ Ta オブジェクトを作成しない .El -.It Ar p -ロックを使用するためのプロセスコンテキスト。 +.It Ar td +ロックを使用するためのスレッドコンテキスト。 .El .Pp カーネルコードは vnode をロックするために .Fn VOP_LOCK を直接呼び出さずに、 .Fn vn_lock を使用するべきです。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 疑似コード .Bd -literal struct vopnode { int von_flag; /* * 他のファイルシステム固有データ */ ...; }; #define VON_LOCKED 1 #define VON_WANTED 2 #define VTOVON(vp) ((struct vopnode *) (vp)->v_data) int vop_lock(struct vnode *vp) { struct vopnode* vop; start: while (vp->v_flag & VXLOCK) { vp->v_flag |= VXWANT; tsleep((caddr_t)vp, PINOD, "voplk1", 0); } if (vp->v_tag == VT_NON) return ENOENT; vop = VTOVON(vp); if (vop->von_flag & VON_LOCKED) { vop->von_flag |= VON_WANTED; tsleep((caddr_t) vop, PINOD, "voplk2", 0); goto start; } vop->von_flag |= VON_LOCKED; return 0; } int vop_unlock(struct vnode *vp) { struct vopnode *vop = VTOVON(vp); if ((vop->von_flag & VON_LOCKED) == 0) { panic("vop_unlock not locked"); } vop->von_flag &= ~VON_LOCKED; if (vop->von_flag & VON_WANTED) { vop->von_flag &= ~VON_WANTED; wakeup((caddr_t) vop); } return 0; } int vop_islocked(struct vnode *vp) { struct vopnode *vop = VTOVON(vp); if (vop->von_flag & VON_LOCKED) return 1; else return 0; } .Ed .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 index 4bacb50652..8882c8786d 100644 --- a/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 +++ b/ja_JP.eucJP/man/man9/VOP_LOOKUP.9 @@ -1,455 +1,454 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_LOOKUP.9,v 1.8.2.5 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LOOKUP.9,v 1.17 2002/09/18 09:34:00 truckman Exp % .\" .\" $FreeBSD$ .Dd November 24, 1997 .Os .Dt VOP_LOOKUP 9 .Sh 名称 .Nm VOP_LOOKUP .Nd パス名の構成要素の調査 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/namei.h .Ft int .Fn VOP_LOOKUP "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" .Sh 解説 このエントリポイントは与えられたディレクトリ内の単一のパス名要素を調べます。 .Pp 引数は以下のとおりです。 .Bl -tag -width vpp .It Ar dvp 検索するディレクトリのロックされた vnode です。 .It Ar vpp 結果のロックされた vnode が格納されるべき変数のアドレスです。 .It Ar cnp 検索されるためのパス名要素です。 .El .Pp .Fa cnp は以下で定義されている componentname 構造体へのポインタです。 .Bd -literal struct componentname { /* * lookup への引数です。 */ u_long cn_nameiop; /* namei 操作 */ u_long cn_flags; /* namei へのフラグ */ struct proc *cn_proc; /* lookup を要求しているプロセス */ struct ucred *cn_cred; /* 証明 */ /* * 検索ルーチンおよびコミットルーチンで共有されます。 */ char *cn_pnbuf; /* パス名バッファ */ char *cn_nameptr; /* 検索された名前へのポインタ */ long cn_namelen; /* 検索された要素の長さ */ u_long cn_hash; /* 検索された名前のハッシュ値 */ long cn_consume; /* lookup() で消費する文字数 */ }; .Ed .Pp パス名の要素をロックされた vnode へのポインタに変換します。 これが正に中心であり、より複雑なルーチンです。 ファイルシステムが厳密なツリー階層に保たれていない場合には、 デッドロック状態に陥ることがあります。 .Pp .Fa cnp->cn_nameiop 引数は、オブジェクトの用途目的に依存し、 .Dv LOOKUP , .Dv CREATE , .Dv RENAME , または .Dv DELETE です。 .Dv CREATE , .Dv RENAME , または .Dv DELETE が明示されたときには、ディレクトリエントリの作成、名前変更、削除に 使用する情報が計算できます。 .Pp VOP_LOOKUP の全体の概要です。 .Bd -ragged -offset indent ディレクトリのアクセス権をチェックします。 キャッシュの中の名前を検索し、もし見つかれば、その名前を返します。 ディレクトリの中の名前を検索し、found または notfound に適切に進みます。 .Ed .Pp notfound: .Bd -ragged -offset indent 作成または名前変更でパス名の最後の場合には、 .Er EJUSTRETURN を返し、利用可能な位置に情報を残します。そうでなければ .Er ENOENT を返します。 .Ed .Pp found: .Bd -ragged -offset indent パス名の最後で削除の場合には、削除を可能にする情報を返します。 パス名の最後で名前変更の場合には、変更先の inode をロックして 名前変更を可能にする情報を返します。 最後でない場合には、名前をキャッシュに追加します。 最後で作成でも削除でもない場合には、名前をキャッシュに追加します。 .Ed .Sh ロック ディレクトリ .Fa dvp はエントリ時にロックされているべきです。 エラー (注: 戻り値 .Er EJUSTRETURN はエラーとはみなされません) が検出された場合には、ロックされたまま戻ります。 しかしながら、 .Fa cnp->cn_flags に .Dv LOCKPARENT および .Dv ISLASTCN の両方が明示されていない場合には、アンロックされません。 エントリがそのディレクトリの中で見つかった場合には、ロックされて返されます。 .Sh 戻り値 要素が見つかった場合には、 .Fa *vpp にそのファイルのロックされた vnode が設定されて、0 が返されます。 検索されている要素が "." の場合、その vnode は .Xr vref 9 を使用して追加された余分な参照を得ます。 この場合は、呼び出し側が適切にロックを解放することに注意しなければなりません。 .Pp 要素が見つからず操作が .Dv CREATE または .Dv RENAME である場合には、フラグ .Dv ISLASTCN が明示されて操作は成功し、特別な戻り値 .Er EJUSTRETURN が返されます。 そうでない場合には、適切なエラーコードが返されます。 .Sh 擬似コード .Bd -literal int vop_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) { int error; int nameiop = cnp->cn_nameiop; int flags = cnp->cn_flags; int lockparent = flags & LOCKPARENT; int islastcn = flags & ISLASTCN; struct vnode *vp = NULL; /* * ディレクトリのアクセス権をチェックします。 */ if (dvp->v_type != VDIR) return ENOTDIR; error = VOP_ACCESS(dvp, VEXEC, cred, cnp->cn_proc); if (error) return (error); if (islastcn && (dvp->v_mount->mnt_flag & MNT_RDONLY) && (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) return (EROFS); /* * ディレクトリ/名前のペアのための名前キャッシュをチェックします。 * これは、存在していない名前の場合には ENOENT を、名前が見つかった * 場合には -1 を、そうでない場合には 0 を返します。 */ error = cache_lookup(dvp, vpp, cnp); if (error) { int vpid; if (error = ENOENT) return error; vp = *vpp; if (dvp == vp) { /* "." 上を探します */ VREF(vp); error = 0; } else if (flags & ISDOTDOT) { /* * デッドロックを避けるため、".." のロックされた vnode を * 取得する前に、そのディレクトリをアンロックする必要が * あります。 */ VOP_UNLOCK(dvp); error = vget(vp, 1); if (!error) { if (lockparent && islastcn) error = VOP_LOCK(dvp); } } else { error = vget(vp, 1); if (error || !(lockparent && islastcn)) { VOP_UNLOCK(dvp); } } /* * ロックを待っている間に特性の数が変化していないことを * チェックします。 */ if (!error) { if (vpid == vp->v_id) { /* * lockparent && islastcn の場合には dvp がロック * されます。vp がロックされます。 */ return (0); } vput(vp); if (dvp != vp && lockparent && islastcn) VOP_UNLOCK(pdp); } /* * 以下のディレクトリ検索のために dvp を再度ロックします。 */ error = VOP_LOCK(dvp); if (error) { return (error); } *vpp = NULL; } /* * 要素 cnp->cn_nameptr のために dvp を検索します。 */ ...; if (!found) { if ((nameiop == CREATE || nameiop == RENAME) && islastcn && directory dvp has not been removed) { /* * ディレクトリの書込み権をチェックします。 */ /* * できる限り、ディレクトリの中の新しい要素の名前のために * 十分に大きい場所の位置を記録します。これは dvp のための * vnode の私的データの中に記録されることが可能です。 * VOP_CREATE または VOP_RENAME で後で使用するために、 * パス名に保持するために SAVENAME フラグを設定します。 */ cnp->cn_flags |= SAVENAME; if (!lockparent) /* * 上記で記録された追加のデータは lockparent が明示 * された時にのみ有用であることに注意してください。 */ VOP_UNLOCK(dvp); return EJUSTRETURN; } /* * キャッシュに名前を挿入することを考慮します。 */ if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) cache_enter(dvp, NULL, cnp); return ENOENT; } else { /* * 削除でパス名の最後の場合には、ファイルの削除に使用できる * パラメータを返します。wantparent フラグが設定されていない * 場合にはそのディレクトリのみを返し、そうでない場合には * 続けてその inode をロックし、"." に注意します。 */ if (nameiop == DELETE && islastcn) { /* * ディレクトリの書込み権をチェックします。 */ error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_proc); if (error) return (error); if (found entry is same as dvp) { VREF(dvp); *vpp = dvp; return 0; } error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) return error; if (directory is sticky && cred->cr_uid != 0 && cred->cr_uid != owner of dvp && owner of vp != cred->cr_uid) { vput(vp); return EPERM; } *vpp = vp; if (!lockparent) VOP_UNLOCK(dvp); return 0; } /* * 再書込み (RENAME) の場合には、その inode および現在の * ディレクトリを再書込みするために要求される情報を返します。 * 通常ファイルまたは空のディレクトリであることを確認するために、 * ディレクトリエントリの inode を取得しなければなりません。 */ if (nameiop == RENAME && wantparent && islastcn) { error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_proc); if (error) return (error); /* * "." をチェックします。 */ if (found entry is same as dvp) return EISDIR; error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) return error; *vpp = vp; /* * 後で VOP_RENAME で使用するために名前を保存します。 */ cnp->cn_flags |= SAVENAME; if (!lockparent) VOP_UNLOCK(dvp); return 0; } /* * 名前の変換のステップの全容です。シンボリックリンクが現在の * ディレクトリからの相対である場合には、再度必要になるので、 * ディレクトリを 'vput' しません。代わりに "pdp" として * アンロックされたディレクトリを保存します。取得する前にその * inode が削除されないことを保証するために、そのディレクトリを * アンロックする前に目的の inode を取得しなければなりません。 * ルートからディレクトリツリーを下る方向で inode を取得する * ことで、デッドロックを常に予防します。従がって、逆向きの * ポインタ ".." を辿るときには、要求されたディレクトリを取得する * 前に親ディレクトリをアンロックしなければなりません。".." に * 関連付けられた inode のための VFS_VGET が戻る前に、現在の * および親ディレクトリの両方が削除された場合には、ここに潜在的な * 競合状態があります。きわめて複雑なデッドロック検出アルゴリズム * の実装なしにこの競合状態を避けることができないので、この * 競合状態の発生が稀であることを期待しています。ファイルシステムが、 * ".." 以外に、ディレクトリ構造の中に遡りを指すハードリンクを * 持つ場合、この簡単なデッドロック検出機構が働かないことにも注意 * してください。 */ if (flags & ISDOTDOT) { VOP_UNLOCK(dvp); /* inode を取得するための競合です */ error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) { VOP_LOCK(dvp); return (error); } if (lockparent && islastcn) { error = VOP_LOCK(dvp); if (error) { vput(vp); return error; } } *vpp = vp; } else if (found entry is same as dvp) { VREF(dvp); /* 例えば "." など、自分自身が必要です */ *vpp = dvp; } else { error = VFS_VGET(dvp->v_mount, ..., &vp); if (error) return (error); if (!lockparent || !islastcn) VOP_UNLOCK(dvp); *vpp = vp; } /* * 適切であれば名前をキャッシュに挿入します。 */ if (cnp->cn_flags & MAKEENTRY) cache_enter(dvp, *vpp, cnp); return (0); } } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOTDIR vnode .Fa dvp がディレクトリを表わしていません。 .It Bq Er ENOENT 要素 .Fa dvp がそのディレクトリには見つかりません。 .It Bq Er EACCES 明示された操作のためのアクセスが拒否されました。 .It Bq Er EJUSTRETURN .Dv CREATE または .Dv RENAME の操作は成功です。 .El .Sh 関連項目 -.Xr VOP_ABORTOP 9 , .Xr VOP_ACCESS 9 , .Xr VOP_CREATE 9 , .Xr VOP_MKDIR 9 , .Xr VOP_MKNOD 9 , .Xr VOP_RENAME 9 , .Xr VOP_SYMLINK 9 , .\" 下の関連項目をマージ by A.Ikeuchi。 .Xr vnode 9 .Sh 歴史 関数 .Nm は .Bx 4.3 で登場しました。 .\" 上の関連項目にマージ by A.Ikeuchi。 .\" .Sh 関連項目 .\" .Xr vnode 9 .Sh 作者 このマニュアルページは .Pa ufs_lookup.c の中のコメントからのテキストを使って、 .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 index 4bcc07c841..5f953b8343 100644 --- a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 +++ b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 @@ -1,102 +1,102 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_OPENCLOSE.9,v 1.6.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_OPENCLOSE.9,v 1.9 2001/11/20 18:19:19 arr Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_OPEN 9 .Sh 名称 .Nm VOP_OPEN , .Nm VOP_CLOSE .Nd ファイルのオープンまたはクローズ .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_OPEN "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" +.Fn VOP_OPEN "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" .Ft int -.Fn VOP_CLOSE "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" +.Fn VOP_CLOSE "struct vnode *vp" "int mode" "struct ucred *cred" "struct thread *td" .Sh 解説 .Xr VOP_OPEN 9 エントリポイントは、 ファイルがプロセスによってアクセスされる前に呼び出され、 .Xr VOP_CLOSE 9 エントリポイントは、 ファイルに対するプロセスの仕事の完了後に呼び出されます。 .Pp 引数は以下の通りです。 .Bl -tag -width mode .It Ar vp ファイルの vnode。 .It Ar mode 呼び出しプロセスによって要求されたアクセスモード。 -.It Ar p -ファイルにアクセスしているプロセス。 +.It Ar td +ファイルにアクセスしているスレッド。 .El .Pp アクセスモードは、 .Dv FREAD , .Dv FWRITE , .Dv O_NONBLOCK , .Dv O_APPEND を含むフラグの組です。 .Sh ロック .Xr VOP_OPEN 9 は、入る時に .Fa vp がロックされていることを期待し、戻り時までロックされたままにします。 .Pp .Xr VOP_CLOSE 9 は、vnode に結びつけられた参照が少なくとも 1 個は存在することを期待し、 vnode がロックされているかどうかは気にしません。 ロックおよび参照状態は、戻る時に変更されずにそのままになります。 .Fa vn_close は、ロックされていない参照された vnode を期待し、 戻る前に参照を手繰ることに注意してください。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int -vop_open(struct vnode *vp, int mode, struct ucred *cred, struct proc *p) +vop_open(struct vnode *vp, int mode, struct ucred *cred, struct thread *td) { /* * ほとんどのファイルシステムは、ここでは大したことはしません。 */ return 0; } .Ed .Sh 関連項目 .Xr vnode 9 , .Xr VOP_LOOKUP 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_PATHCONF.9 b/ja_JP.eucJP/man/man9/VOP_PATHCONF.9 index 52cc6873a8..a5060a0570 100644 --- a/ja_JP.eucJP/man/man9/VOP_PATHCONF.9 +++ b/ja_JP.eucJP/man/man9/VOP_PATHCONF.9 @@ -1,87 +1,87 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_PATHCONF.9,v 1.6.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_PATHCONF.9,v 1.9 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_PATHCONF 9 .Sh 名称 .Nm VOP_PATHCONF .Nd POSIX パス構成情報の取得 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/unistd.h .Ft int .Fn VOP_PATHCONF "struct vnode *vp" "int name" "int *retval" .Sh 解説 引数は以下の通りです。 .Bl -tag -width retval .It Ar vp 情報を得る対象の vnode。 .It Ar name 返す情報の型。 .It Ar retval 情報を返す場所。 .El .Pp .Fa name の値は以下の何が返されるかを指定します。 .Bl -tag -width _PC_CHOWN_RESTRICTED .It Dv _PC_LINK_MAX ファイルへのリンクの最大値。 .It Dv _PC_NAME_MAX ファイル名の最大バイト数。 .It Dv _PC_PATH_MAX パス名の最大バイト数。 .It Dv _PC_PIPE_BUF 不可分にパイプに書き出される最大バイト数。 .It Dv _PC_CHOWN_RESTRICTED .Xr chown 2 システムコールのために適切な特権が必要な場合には 1、 そうでない場合には 0。 .It Dv _PC_NO_TRUNC .Dv KERN_NAME_MAX よりも長いファイル名が切り詰められる場合には 1。 .El .Sh 戻り値 .Fa name が認識される場合、 .Fa *retval に指定された値が設定されて 0 が返され、そうでない場合には .Er EINVAL が返されます。 .Sh 関連項目 .Xr pathconf 2 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_PRINT.9 b/ja_JP.eucJP/man/man9/VOP_PRINT.9 index 743ae65ab3..3d4498c670 100644 --- a/ja_JP.eucJP/man/man9/VOP_PRINT.9 +++ b/ja_JP.eucJP/man/man9/VOP_PRINT.9 @@ -1,56 +1,56 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_PRINT.9,v 1.4.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_PRINT.9,v 1.7 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_PRINT 9 .Sh 名称 .Nm VOP_PRINT .Nd デバッグ情報の表示 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_PRINT "struct vnode *vp" .Sh 解説 引数は以下の通りです。 .Bl -tag -width 2n .It Ar vp 表示対象の vnode。 .El .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_RDWR.9 b/ja_JP.eucJP/man/man9/VOP_RDWR.9 index f67992c344..7f51275633 100644 --- a/ja_JP.eucJP/man/man9/VOP_RDWR.9 +++ b/ja_JP.eucJP/man/man9/VOP_RDWR.9 @@ -1,233 +1,239 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_RDWR.9,v 1.9.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_RDWR.9,v 1.12 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_RDWR 9 .Sh 名称 .Nm VOP_READ , .Nm VOP_WRITE .Nd ファイルの読み込みまたは書き込み .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/uio.h .Ft int .Fn VOP_READ "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Ft int .Fn VOP_WRITE "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Sh 解説 これらのエントリポイントは、ファイルの内容を読み込みまたは書き込みます。 .Pp 引数は以下の通りです。 .Bl -tag -width ioflag .It Ar vp ファイルの vnode。 .It Ar uio 読み込みまたは書き込み対象のデータの位置。 .It Ar ioflag 様々なフラグ。 .It Ar cnp 呼び出し側の証明。 .El .Pp .Fa ioflag 引数は、ファイルシステムに対する命令およびヒントを与えるために使用されます。 読み込みを試みる時には、上位の 16 ビットは、 ファイルシステムが試みるべき先読みのヒントを (ファイルシステムブロック単位で) 提供するために使用されます。 下位の 16 ビットは、以下のフラグを含むことができるビットマスクです。 .Bl -tag -width IO_NODELOCKED .It Dv IO_UNIT 不可分に入出力を行ないます。 .It Dv IO_APPEND 末尾に追加書き込みを行ないます。 .It Dv IO_SYNC 同期的に入出力を行ないます。 .It Dv IO_NODELOCKED 下位層のノードは既にロックされています。 .It Dv IO_NDELAY ファイルテーブルに .Dv FNDELAY フラグを設定します。 .It Dv IO_VMIO 仮想メモリ入出力 (VMIO) 領域にデータが既にあります。 .El .Sh ロック 入る時に、ファイルはロックされているべきで、終了時までロックされ続けます。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_read(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; long size, xfersize, blkoffset; int error; size = block size of filesystem; for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) { bytesinfile = size of file - uio->uio_offset; if (bytesinfile <= 0) break; lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (bytesinfile < xfersize) xfersize = bytesinfile; error = bread(vp, lbn, size, NOCRED, &bp); if (error) { brelse(bp); bp = NULL; break; } /* * 入出力エラーが起こった時には 0 でない b_resid のみ * を得ます。これは上で break を引き起こすべきです。 * しかしながら、短い読み込みがエラーを起こさなかった * 場合には、間違ったまたは初期化されていないデータの * uiomove を行なわないことを保証したい。 */ size -= bp->b_resid; if (size < xfersize) { if (size == 0) break; xfersize = size; } error = uiomove((char *)bp->b_data + blkoffset, (int)xfersize, uio); if (error) break; bqrelse(bp); } if (bp != NULL) bqrelse(bp); return error; } int vop_write(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; off_t osize; long size, resid, xfersize, blkoffset; int flags; int error; osize = size of file; size = block size of filesystem; resid = uio->uio_resid; if (ioflag & IO_SYNC) flags = B_SYNC; else flags = 0; for (error = 0; uio->uio_resid > 0;) { lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (uio->uio_offset + xfersize > size of file) vnode_pager_setsize(vp, uio->uio_offset + xfersize); if (size > xfersize) flags |= B_CLRBUF; else flags &= ~B_CLRBUF; error = find_block_in_file(vp, lbn, blkoffset + xfersize, cred, &bp, flags); if (error) break; if (uio->uio_offset + xfersize > size of file) set size of file to uio->uio_offset + xfersize; error = uiomove((char *)bp->b_data + blkoffset, (int) xfersize, uio); /* XXX ufs はここでエラーチェックをしていません。何故? */ if (ioflag & IO_VMIO) bp->b_flags |= B_RELBUF; /* ??? */ if (ioflag & IO_SYNC) bwrite(bp); else if (xfersize + blkoffset == size) bawrite(bp); else bdwrite(bp); if (error || xfersize == 0) break; } if (error) { if (ioflag & IO_UNIT) { VOP_TRUNCATE(vp, osize, ioflag & IO_SYNC, cred, uio->uio_procp); uio->uio_offset -= resid - uio->uio_resid; uio->uio_resid = resid; } } else if (resid > uio->uio_resid && (ioflag & IO_SYNC)) { struct timeval tv; error = VOP_UPDATE(vp, &tv, &tv, 1); /* XXX これは何をしているの? */ } return error; } .Ed .Sh エラー .Bl -tag -width Er +.It Bq Er EFBIG +プロセスのファイルサイズリミットまたは最大ファイルサイズを超える +ファイルを書込もうとしました。 .It Bq Er ENOSPC ファイルシステムが一杯です。 +.It Bq Er EPERM +追加のみのフラグがファイルに設定されていますが、呼び出し側が現在の +ファイル終了位置より前に書込もうとしました。 .El .Sh 関連項目 .Xr uiomove 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_READDIR.9 b/ja_JP.eucJP/man/man9/VOP_READDIR.9 index 0eb7872bdb..4f7a2ecf83 100644 --- a/ja_JP.eucJP/man/man9/VOP_READDIR.9 +++ b/ja_JP.eucJP/man/man9/VOP_READDIR.9 @@ -1,169 +1,169 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_READDIR.9,v 1.6.2.1 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_READDIR.9,v 1.10 2002/10/11 14:58:26 mike Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_READDIR 9 .Sh 名称 .Nm VOP_READDIR .Nd ディレクトリ内容の読込み .Sh 書式 .In sys/param.h .In sys/dirent.h .In sys/vnode.h .Ft int .Fn VOP_READDIR "struct vnode *vp" "struct uio *uio" "struct ucred *cred" "int *eofflag" "int *ncookies" "u_long **cookies" .Sh 解説 ディレクトリエントリを読込みます。 .Bl -tag -width ncookies .It Ar vp ディレクトリの vnode です。 .It Ar uio ディレクトリ内容を読込む場所です。 .It Ar cred 呼び出し側の証明です。 .It Ar eofflag ファイル終端の状態を返します (必要なければ NULL)。 .It Ar ncookies NFS のために作成されたディレクトリクッキーの数です (必要なければ NULL)。 .It Ar cookies NFS のためのディレクトリ検索クッキーです (必要なければ NULL)。 .El .Pp ディレクトリ内容は .Dv struct dirent 構造体に読込まれます。 ディスク上の構造体がこれと違っている場合、変換が必要となります。 .Sh ロック ディレクトリはエントリ時にロックされているべきであり、 終了時までロックされます。 .Sh 戻り値 成功時には 0 が返され、そうでなければエラーコードが返されます。 .Pp NFS サーバから呼び出された場合には、追加の引数 .Fa eofflag , .Fa ncookies および .Fa cookies が与えられます。 .Fa *eofflag の値は、読込み中にディレクトリの最後に達した場合には、 TRUE に設定されるべきです。 ディレクトリ検索クッキーは NFS クライアントに返され、後でそのディレクトリを 通してディレクトリの読込みを再開するために使用されることが出来ます。 ディレクトリエントリ毎に 1 つのクッキーが返されるべきです。 クッキーの値は、ディレクトリ内のオフセットであり、 対応するディスク上のディレクトリエントリがそこから開始します。 クッキーのためのメモリは以下を使用して割り当てられるべきです。 .Pp .Bd -literal ...; *ncookies = number of entries read; *cookies = (u_int*)# malloc(*ncookies * sizeof(u_int), M_TEMP, M_WAITOK); .Ed .Sh 疑似コード .Bd -literal int vop_readdir(struct vnode *vp, struct uio *uio, struct ucred *cred, int *eofflag, int *ncookies, u_int **cookies) { off_t off; int error = 0; /* * クッキーの生成時に後で使うために元のオフセットを覚えます。 */ off = uio->uio_offset; /* * uio->uio_offset から始まるディレクトリ内容を uio によって * 指されるバッファに読込みます。 */ ...; if (!error && ncookies != NULL) { struct dirent *dpStart; struct dirent *dpEnd; struct dirent *dp; int count; u_int *cookiebuf; u_int *cookiep; if (uio->uio_segflg != UIO_SYSSPACE || uio->uio_iovcnt != 1) panic("vop_readdir: unexpected uio from NFS server"); /* * 今 uio に読込んだ要素を解析します。 */ dpStart = (struct dirent *) - (uio->uio_iov->iov_base - (uio->uio_offset - off)); + ((char *)uio->uio_iov->iov_base - (uio->uio_offset - off)); dpEnd = (struct dirent *) uio->uio_iov->iov_base; /* * エントリ数の数え上げ */ for (dp = dpStart, count = 0; dp < dpEnd; dp = (struct dirent *)((caddr_t) dp + dp->d_reclen)) count++; cookiebuf = (u_int *) malloc(count * sizeof(u_int), M_TEMP, M_WAITOK); for (dp = dpStart; cookiep = cookiebuf; dp < dpEnd; dp = (struct dirent *)((caddr_t) dp + dp->d_reclen)) { off += dp->d_reclen; *cookiep++ = (u_int) off; } *ncookies = count; *cookies = cookiebuf; } if (eofflag && uio->uio_offset is past the end of the directory) { *eofflag = TRUE; } return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL ディレクトリ内の不正なオフセットから読込もうとしました。 .It Bq Er EIO ディレクトリの読込み中に、読取りエラーが発生しました。 .El .Sh 関連項目 .Xr vnode 9 .Sh AUTHORS このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_READLINK.9 b/ja_JP.eucJP/man/man9/VOP_READLINK.9 index beaee11132..ac3d756d2c 100644 --- a/ja_JP.eucJP/man/man9/VOP_READLINK.9 +++ b/ja_JP.eucJP/man/man9/VOP_READLINK.9 @@ -1,84 +1,84 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_READLINK.9,v 1.7.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_READLINK.9,v 1.10 2002/09/18 09:34:00 truckman Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_READLINK 9 .Sh 名称 .Nm VOP_READLINK .Nd シンボリックリンクのターゲットの読み込み .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/uio.h .Ft int .Fn VOP_READLINK "struct vnode *vp" "struct uio *uio" "struct ucred *cred" .Sh 解説 これは、シンボリックリンクのターゲットのパス名を読み込みます。 .Bl -tag -width uio .It Ar vp シンボリックリンクの vnode。 .It Ar uio 読み込みまたは書き込みのためのデータの位置。 .It Ar cred 呼び出し側の証明。 .El .Sh ロック 入る時に、vnode はロックされているべきで、終了時にもロックされ続けます。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_readlink(struct vnode *vp, struct uio *uio, struct ucred *cred) { int error = 0; /* * シンボリックリンクのターゲットを読み込みます。 */ ...; return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EIO シンボリックリンクの内容の読み込みの間に、読み込みエラーが発生しました。 .El .Sh 関連項目 .Xr uiomove 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_REALLOCBLKS.9 b/ja_JP.eucJP/man/man9/VOP_REALLOCBLKS.9 index 96c7188800..3d2aaf7e39 100644 --- a/ja_JP.eucJP/man/man9/VOP_REALLOCBLKS.9 +++ b/ja_JP.eucJP/man/man9/VOP_REALLOCBLKS.9 @@ -1,61 +1,61 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_REALLOCBLKS.9,v 1.6.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_REALLOCBLKS.9,v 1.8 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_REALLOCBLKS 9 .Sh 名称 .Nm VOP_REALLOCBLKS .Nd ファイルのブロックを連続するように再配列 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_REALLOCBLKS "struct vnode *vp" "struct cluster_save *buflist" .Sh 解説 引数は以下の通りです。 .Bl -tag -width buflist .It Ar vp 操作対象のファイル。 .It Ar buflist 再配列対象のブロックのリスト。 .El .Pp これは進行中の作業の一部分のようです。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .Xr buf 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは、 .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_REMOVE.9 b/ja_JP.eucJP/man/man9/VOP_REMOVE.9 index 7fc60986f3..ade075bc1b 100644 --- a/ja_JP.eucJP/man/man9/VOP_REMOVE.9 +++ b/ja_JP.eucJP/man/man9/VOP_REMOVE.9 @@ -1,109 +1,109 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_REMOVE.9,v 1.7.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_REMOVE.9,v 1.11 2002/09/18 22:12:43 truckman Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_REMOVE 9 .Sh 名称 .Nm VOP_REMOVE , .Nm VOP_RMDIR .Nd ファイルまたはディレクトリの削除 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_REMOVE "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Ft int .Fn VOP_RMDIR "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Sh 解説 これらのエントリポイントは、それぞれファイルとディレクトリを削除します。 .Pp 引数は以下の通りです。 .Bl -tag -width dvp .It Ar dvp ディレクトリの vnode。 .It Ar vp 削除対象ファイルの vnode。 .It Ar cnp ファイルのパス名情報。 .El .Sh ロック .Fa dvp および .Fa vp 共に、入る時にロックされているべきで、戻り時もロックされ続けています。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_remove(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) { int error = 0; if (vp is immutable) { error = EPERM; goto out; } /* * ディレクトリから cnp->cn_nameptr の名前を削除し、vp のリンク * カウントを更新します。 */ ...; /* * "." の削除を試みる場合は注意してください。XXX これはより * 上層で取り扱われるべきです。 */ if (dvp == vp) vrele(vp); else vput(vp); vput(dvp); return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM ファイルは変更不可能です。 .It Bq Er ENOTEMPTY -空ではないディレクトリを削除しようとしています。 +空ではないディレクトリを削除しようとしました。 .El .Sh 関連項目 .Xr vnode 9 , .Xr VOP_LOOKUP 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_RENAME.9 b/ja_JP.eucJP/man/man9/VOP_RENAME.9 index a98bdf03a4..c485ea7081 100644 --- a/ja_JP.eucJP/man/man9/VOP_RENAME.9 +++ b/ja_JP.eucJP/man/man9/VOP_RENAME.9 @@ -1,318 +1,319 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_RENAME.9,v 1.10.2.2 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_RENAME.9,v 1.15 2002/09/18 22:12:43 truckman Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_RENAME 9 .Sh 名称 .Nm VOP_RENAME .Nd ファイルの名前変更 .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_RENAME "struct vnode *fdvp" "struct vnode *fvp" "struct componentname *fcnp" "struct vnode *tdvp" "struct vnode *tvp" "struct componentname *tcnp" .Sh 解説 これはファイルの名前変更をし、 もしかすると親ディレクトリを変更するかもしれません。 変更先のオブジェクトが存在する場合には、最初に削除されます。 .Pp 引数は以下のとおりです。 .Bl -tag -width fdvp .It Ar fdvp 古い親ディレクトリの vnode です。 .It Ar fvp 名前変更されるべきファイルの vnode です。 .It Ar fcnp ファイルの現在の名前についてのパス名情報です。 .It Ar tdvp 新しい親ディレクトリの vnode です。 .It Ar tvp (もし存在するならば) 変更先のファイルの vnode です。 .It Ar tcnp ファイルの新しい名前についてのパス名情報です。 .El .Sh ロック エントリ時には、変更元のディレクトリおよびファイルはロックされておらず、 それらの参照カウントは増やされています。 この VOP ルーチンは戻る前に両方に対して .Fn vrele を呼び出すはずです。 .Pp 変更先のディレクトリおよびファイルは、それらの参照カウントが増やされるのは もちろん、ロックされています。 この VOP ルーチンは戻る前に両方に対して .Fn vput を呼び出すはずです。 .Sh 疑似コード .Bd -literal int vop_rename(struct vnode *fdvp, struct vnode *fvp, struct componentname *fcnp, struct vnode *tdvp, struct vnode *tvp, struct componentname *tcnp) { int doingdirectory = 0; int error = 0; /* * デバイスをまたがる名前変更のためのチェックです。 */ if (fvp->v_mount != tdvp->v_mount) { error = EXDEV; abortit: - VOP_ABORTOP(tdvp, tcnp); if (tdvp == tvp) vrele(tdvp); else vput(tdvp); if (tvp) vput(tvp); - VOP_ABORTOP(fdvp, fcnp); vrele(fdvp); vrele(fvp); return error; } if (tvp exists and is immutable) { error = EPERM; goto abortit; } /* * リンク名を消そうとしているかどうかのチェックです。 */ if (fvp == tvp) { if (fvp->v_type == VDIR) { error = EINVAL; goto abortit; } /* * 変更先を解放します。 */ - VOP_ABORTOP(tdvp, tcnp); vput(tdvp); vput(tvp); /* * 変更元を削除します。少し異様な要素です。 */ vrele(fdvp); vrele(fvp); fcnp->cn_flags &= ~MODMASK; fcnp->cn_flags |= LOCKPARENT | LOCKLEAF; fcnp->cn_nameiop = DELETE; VREF(fdvp); error = relookup(fdvp, &fvp, fcnp); if (error == 0) vrele(fdvp); return VOP_REMOVE(fdvp, fvp, fcnp); } if (fvp is immutable) { error = EPERM; goto abortit; } error = VOP_LOCK(fvp); if (error) goto abortit; if (vp is a directory) { /* * 明白な理由のため、".", ".." と "." の別名を避けます。 */ if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') || fdvp == fvp || ((fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT)) { VOP_UNLOCK(fvp); error = EINVAL; goto abortit; } doingdirectory = 1; } vrele(fdvp); /* * 移動要素の活動中の間は、fvp のリンクカウントを増やします。 * 作業完了の前にクラッシュした場合には、リンクカウントは間違って * いるでしょうが、修正可能です。 */ ...; /* * それから (例えばディレクトリが新しい親を得るなど) ".." が変更 * されなければならない場合には、変更元のディレクトリは変更先よりも * 上位のディレクトリ階層に在ってはなりません。これは変更元の * ディレクトリ以下の全てが孤児となるからです。また、ユーザは * 変更元で ".." を変更できるように書込みパーミションを持って * いなければなりません。 */ error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_proc); VOP_UNLOCK(fvp); if (doingdirectory && fdvp != tdvp) { /* * パス名の衝突をチェックします。 */ ...; } /* * 変更先が存在しない場合、変更先を変更元にリンクして、変更元を * アンリンクします。そうでない場合、変更先ディレクトリを書き換えて * 変更元を参照するようにし、元のエントリを削除します。 */ if (tvp == NULL) { /* * 新しいディレクトリの ".." のアカウント。 */ if (doingdirectory && fdvp != tdvp) { /* * tdvp のリンクカウントを増やします。 */ ...; } /* * 新しいディレクトリで名前を追加します。 */ ...; if (error) { if (doingdirectory && fdvp != tdvp) { /* * tdvp であればリンクカウントを減らします。 */ ...; } goto bad; } vput(tdvp); } else { /* * 変更先がディレクトリの場合、これは空でなければならず、これへの * リンクがあってはなりません。また、変更元と変更先は一致する * (両方ともディレクトリ、または両方ともディレクトリではない) * ことを保証してください。 */ if (tvp is a directory) { if (tvp is not empty) { error = ENOTEMPTY; goto bad; } if (!doingdirectory) { error = ENOTDIR; goto bad; } /* * ディレクトリが消え去ったため、名前キャッシュを更新します。 */ cache_purge(tdvp); } else if (doingdirectory) { error = ENOTDIR; goto bad; } /* * fvp が指す tdvp の名前 tcnp を変更します。 */ ...; /* * 変更先ディレクトリが変更元と同じディレクトリにある場合には、 * 変更先のディレクトリの親のリンクカウントを減らします。 * ".." により、その親に対する戻り方向のリンクとなる事実を、 * 説明するものです。 */ if (doingdirectory && fdvp == tdvp) { /* * tdvp のリンクカウントを減らします。 */ ...; } vput(tdvp); /* * ディレクトリがもはやそれを指さないので、tvp のリンクカウントを * 減らします。 */ ...; if (doingdirectory) { /* * 古いディレクトリ tvp をきれいにします。 */ ...; } vput(tvp); } /* * 変更元をアンリンクします。ディレクトリが新しい親に移動される場合 * には、その ".." エントリを更新します。ここで、たくさんの厄介な * UFS のコードが省かれました。 */ ...; bad: if (tvp) vput(tvp); vput(tdvp); out: if (VOP_LOCK(fvp) == 0) { /* * fvp のリンクカウントをデクリメント */ ...; vput(fvp); } else vrele(fvp); return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM ファイルが変更可能ではありません。 .It Bq Er EXDEV -デバイスをまたがる移動です。 +異なるファイルシステム間の名前変更はできません。 .It Bq Er EINVAL -不正なディレクトリの名前変更です。 +.Ql .\& +または +.Ql ..\& +の名前変更、またはディレクトリツリーを破壊するような操作の実行を +行なおうとしました。 .It Bq Er ENOTDIR ディレクトリからファイルにまたはその逆に名前変更しようとしました。 .It Bq Er ENOTEMPTY 空ではないディレクトリを削除しようとしました。 .El .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETACL.9 b/ja_JP.eucJP/man/man9/VOP_SETACL.9 index 2533d15481..8374fe18a2 100644 --- a/ja_JP.eucJP/man/man9/VOP_SETACL.9 +++ b/ja_JP.eucJP/man/man9/VOP_SETACL.9 @@ -1,108 +1,108 @@ .\"- -.\" Copyright (c) 1999 Robert N. M. Watson +.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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_SETACL.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_SETACL.9,v 1.9 2002/09/18 22:12:43 truckman Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_SETACL 9 .Sh 名称 .Nm VOP_SETACL .Nd vnode のアクセス制御リストの設定 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/acl.h .Ft int -.Fn VOP_SETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" +.Fn VOP_SETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリの アクセス制御リスト (ACL) を設定するために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Fa vp ファイルまたはディレクトリの vnode。 .It Fa type 設定される ACL の型。 .It Fa aclp ACL データの取り出し元の ACL 構造体へのポインタ。 .It Fa cred 要求の認証時に使用されるユーザ証明。 -.It Fa p -ACL を設定しているプロセス。 +.It Fa td +ACL を設定しているスレッド。 .El .Pp .Fa aclp ポインタは、 .Dv NULL を指定可能であり、 指定した ACL が削除されるべきであることを示します。 .Pp .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 カーネルが正当化することを認めるために使用可能です。 この cred の設定は、アクティブプロセスに許されていない拡張属性の変更を カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック 入る時に vnode はロックされ、戻り時にもロックされ続けているべきです。 .Sh 戻り値 ACL が成功裏に設定された場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された ACL 型はこの vnode には無効です。または、ACL データが無効です。 .It Bq Er EACCES -許可されませんでした。 +呼び出し側が適切な特権を持っていません。 .It Bq Er ENOMEM -要求を実行するための十分なメモリがありません。 +要求を実行するための十分なメモリが利用可能ではありません。 .It Bq Er EOPNOTSUPP ファイルシステムが .Fn VOP_SETACL をサポートしていません。 .It Bq Er ENOSPC ファイルシステムの領域不足です。 .It Bq Er EROFS ファイルシステムが読み取り専用です。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_ACLCHECK 9 , .Xr VOP_GETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 index e4c73efdec..8a08e89fd7 100644 --- a/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 +++ b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 @@ -1,119 +1,121 @@ .\"- -.\" Copyright (c) 1999 Robert N. M. Watson +.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson .\" All rights reserved. .\" .\" 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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_SETEXTATTR.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_SETEXTATTR.9,v 1.13 2002/09/18 22:12:43 truckman Exp % .\" .\" $FreeBSD$ .Dd December 23, 1999 .Os .Dt VOP_SETEXTATTR 9 .Sh 名称 .Nm VOP_SETEXTATTR .Nd vnode への名前つき拡張属性の設定 .Sh 書式 .In sys/param.h .In sys/vnode.h .In sys/extattr.h .Ft int -.Fn VOP_SETEXTATTR "struct vnode *vp" "char *name" "struct uio *uio" "struct ucred *cred" "struct proc *p" +.Fn VOP_SETEXTATTR "struct vnode *vp" "int attrnamespace" "char *name" "struct uio *uio" "struct ucred *cred" "struct thread *td" .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリに対し、 特定の名前付き拡張属性を設定するために使用可能です。 .Pp 引数は以下の通りです。 -.Bl -tag -width type +.Bl -tag -width ".Fa attrnamespace" .It Fa vp ファイルまたはディレクトリの vnode。 +.It Fa attrnamespace +どの拡張属性の名前空間に、その属性の名前が存在するのかを示す整数定数。 .It Fa name 属性の名前が入った、ヌル文字で終端された文字列へのポインタ。 .It Fa uio 読み込みまたは書き込みされるデータの位置。 .It Fa cred 要求の認証で使用するユーザ証明。 -.It Fa p -拡張属性を設定しているプロセス。 +.It Fa td +拡張属性を設定しているスレッド。 .El .Pp uio 構造体は、 .Xr VOP_WRITE での同じ名前の引数と同様に使用されます。しかしながら、 拡張属性が厳密な "name=value" のセマンティクスを規定しているので、 0 でないオフセットは却下されるでしょう。 .Pp .Fa uio ポインタは、 .Dv NULL であることが可能であり、 指定された拡張属性が削除されるべきであることを指示します。 .Pp .Fa cred ポインタは、 .Dv NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この .Fa cred の設定は、アクティブプロセスに許されていない拡張属性の変更を、 カーネルが正当化することを認めるために使用可能です。 .Pp 拡張属性のセマンティクスは、 呼び出しを実装しているファイルシステムに依存して異なり得ます。 拡張属性についてのより多くの情報は .Xr extattr 9 を参照してください。 .Sh ロック vnode は、入る時にロックされ、戻り時にもロックされ続けているべきです。 .Sh 戻り値 拡張属性が成功裏に設定された場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EACCES -許可されませんでした。 +呼び出し側が適切な特権を持っていません。 .It Bq Er ENXIO 指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 .It Bq Er ENOMEM 要求を実行するための十分なメモリがありません。 .It Bq Er EFAULT uio 構造体が無効なユーザ空間アドレスを参照しています。 .It Bq Er EINVAL 名前または uio 引数が無効です。 .It Bq Er EOPNOTSUPP ファイルシステムが .Fn VOP_GETEXTATTR をサポートしていません。 .It Bq Er ENOSPC ファイルシステムに空き領域がありません。 .It Bq Er EROFS ファイルシステムが読み取り専用です。 .El .Sh 関連項目 .Xr extattr 9 , .Xr vnode 9 , .Xr VOP_GETEXTATTR 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 b/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 index d9e1ab510b..e42735b2e3 100644 --- a/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 +++ b/ja_JP.eucJP/man/man9/VOP_STRATEGY.9 @@ -1,63 +1,65 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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_STRATEGY.9,v 1.8.2.3 2001/12/17 11:30:18 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_STRATEGY.9,v 1.13 2001/10/01 16:09:24 ru Exp % .\" .\" $FreeBSD$ .Dd July 24, 1996 .Os .Dt VOP_STRATEGY 9 .Sh 名称 .Nm VOP_STRATEGY .Nd ファイルシステムバッファの読み書き .Sh 書式 .In sys/param.h .In sys/vnode.h .Ft int .Fn VOP_STRATEGY "struct vnode *vp" "struct buf *bp" .Sh 解説 引数は以下の通りです。 .Bl -tag -width 2n .It Ar vp バッファが対象にする vnode。 .It Ar bp 読み書きされるべきバッファ。 .El .Pp この呼び出しは、 -.Fa bp->b_flags +.Fa bp->b_io.bio_cmd の値に依存して、ファイルの読み込みまたは書き込みを行ないます。 +.Pp +この呼び出しはブロックされることができます。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 関連項目 .\" .Xr buf 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。