diff --git a/ja_JP.eucJP/man/man9/BUS_CONNECT_INTR.9 b/ja_JP.eucJP/man/man9/BUS_CONNECT_INTR.9 index f421d4d3dd..b5495e09af 100644 --- a/ja_JP.eucJP/man/man9/BUS_CONNECT_INTR.9 +++ b/ja_JP.eucJP/man/man9/BUS_CONNECT_INTR.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_CONNECT_INTR.9,v 1.3 1999/08/28 00:21:04 peter Exp $ +.\" %FreeBSD: src/share/man/man9/BUS_CONNECT_INTR.9,v 1.3 1999/08/28 00:21:04 peter Exp % .\" .Dd June 16, 1998 .Os .Dt BUS_CONNECT_INTR 9 .Os FreeBSD .Sh 名称 .Nm BUS_CONNECT_INTR .Nd 割り込みハンドラの活性化 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn BUS_CONNECT_INTR "device_t dev" "void *ih" .Sh 解説 .Pp このメソッドは以前に .Xr BUS_CREATE_INTR 9 によって生成された割り込みハンドラを活性化します。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr BUS_CREATE_INTR 9 , .Xr device 9 , .Xr driver 9 .Sh バグ このインターフェイスは恐らく不十分で、変えるべき課題があります。 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/BUS_CREATE_INTR.9 b/ja_JP.eucJP/man/man9/BUS_CREATE_INTR.9 index 14fd44dc50..63842f3ab8 100644 --- a/ja_JP.eucJP/man/man9/BUS_CREATE_INTR.9 +++ b/ja_JP.eucJP/man/man9/BUS_CREATE_INTR.9 @@ -1,68 +1,68 @@ .\" -*- 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_CREATE_INTR.9,v 1.3 1999/08/28 00:21:05 peter Exp $ +.\" %FreeBSD: src/share/man/man9/BUS_CREATE_INTR.9,v 1.3 1999/08/28 00:21:05 peter Exp % .\" .Dd June 16, 1998 .Os .Dt BUS_CREATE_INTR 9 .Os FreeBSD .Sh 名称 .Nm BUS_CREATE_INTR .Nd 割り込みハンドラの生成 .Sh 書式 .Fd #include .Fd #include .Ft void * .Fn BUS_CREATE_INTR "device_t dev" "device_t child" "int irq" "driver_intr_t *intr" "void *arg" .Sh 解説 .Pp .Xr BUS_CREATE_INTR 9 メソッドは子デバイスのための割り込みハンドラを生成します。 このハンドラ .Fa intr は唯一の引数 .Fa arg を伴って呼び出されるでしょう。 割り込みハンドラを活性化するための .Xr BUS_CONNECT_INTR 9 の呼び出しで使用されることのできるハンドルが返されます。 .Sh 戻り値 呼び出し成功時には 割り込みを活性化することができる不明瞭なハンドルが返され、 そうでない場合には NULL が返されます。 .Sh 関連項目 .Xr BUS_CONNECT_INTR 9 , .Xr device 9 , .Xr driver 9 .Sh バグ このインターフェイスは恐らく不十分で、変えるべき課題があります。 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 b/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 index 289ee70c00..aade0444b6 100644 --- a/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 +++ b/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 @@ -1,60 +1,60 @@ .\" -*- 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 1999/08/28 00:21:05 peter Exp $ +.\" %FreeBSD: src/share/man/man9/BUS_PRINT_CHILD.9,v 1.6 1999/08/28 00:21:05 peter Exp % .\" .Dd June 16, 1998 .Os .Dt BUS_PRINT_CHILD 9 .Os FreeBSD .Sh 名称 .Nm BUS_PRINT_CHILD .Nd デバイスについての情報の表示 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn BUS_PRINT_CHILD "device_t dev" "device_t child" .Sh 解説 .Pp これはデバイスの説明をプリントアウトするシステムのコードから呼び出されます。 それは子デバイスが持っている親とのアタッチメントを記述するべきです。 例えば、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 34605e876a..5e7a47b73b 100644 --- a/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 +++ b/ja_JP.eucJP/man/man9/BUS_READ_IVAR.9 @@ -1,65 +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/BUS_READ_IVAR.9,v 1.3 1999/08/28 00:21:05 peter Exp $ +.\" %FreeBSD: src/share/man/man9/BUS_READ_IVAR.9,v 1.3 1999/08/28 00:21:05 peter Exp % .\" .Dd June 16, 1998 .Os .Dt BUS_READ_IVAR 9 .Os FreeBSD .Sh 名称 .Nm BUS_READ_IVAR , .Nm BUS_WRITE_IVAR .Nd バス特有のデバイスインスタンス変数の操作 .Sh 書式 .Fd #include .Fd #include .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 解説 .Pp これらの 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/DEVICE_ATTACH.9 b/ja_JP.eucJP/man/man9/DEVICE_ATTACH.9 index 0a2d2cee02..b2782fc2fd 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_ATTACH.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_ATTACH.9 @@ -1,58 +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_ATTACH.9,v 1.3 1999/08/28 00:21:05 peter Exp $ +.\" %FreeBSD: src/share/man/man9/DEVICE_ATTACH.9,v 1.3 1999/08/28 00:21:05 peter Exp % .\" .Dd June 16, 1998 .Dt DEVICE_ATTACH 9 .Os FreeBSD .Sh 名称 .Nm DEVICE_ATTACH .Nd デバイスのアタッチ .Sh 書式 .Fd #include .Fd #include .Ft int .Fn DEVICE_ATTACH "device_t dev" .Sh 解説 .Pp デバイスをシステムにアタッチします。 プローブメソッドは既に呼び出されているでしょうし、 デバイスが存在していると示されているでしょう。 このルーチンはハードウェアの初期化と その他のシステムリソース(devfs エントリなど)の割り当てを行なうべきです。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr DEVICE_DETACH 9 , .Xr DEVICE_PROBE 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 68a6857e6a..6ae55d2697 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_DETACH.9 @@ -1,63 +1,63 @@ .\" -*- 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 1999/08/28 00:21:06 peter Exp $ +.\" %FreeBSD: src/share/man/man9/DEVICE_DETACH.9,v 1.3 1999/08/28 00:21:06 peter Exp % .\" .Dd June 16, 1998 .Os .Dt DEVICE_DETACH 9 .Os FreeBSD .Sh 名称 .Nm DEVICE_DETACH .Nd デバイスのデタッチ .Sh 書式 .Fd #include .Fd #include .Ft int .Fn DEVICE_DETACH "device_t dev" .Sh 解説 .Pp デバイスをデタッチします。 ユーザがドライバソフトウェアを置き換えた場合、またはデバイスが システムから物理的に切り離されようとしている場合(たとえば pccard デバイス)に、 呼び出されることができます。 .Pp このメソッドは .Xr DEVICE_ATTACH 9 メソッドで割り当てられたあらゆるシステムリソースを開放し、 ハードウェアを健全な状態にリセットする (つまり割り込みをディセーブルするなど)べきです。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr DEVICE_ATTACH 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 index c84d3ec7f9..f3d6e5ecb2 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_PROBE.9 @@ -1,86 +1,86 @@ .\" -*- 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 2000/03/02 14:53:52 sheldonh Exp $ +.\" %FreeBSD: src/share/man/man9/DEVICE_PROBE.9,v 1.4 2000/03/02 14:53:52 sheldonh Exp % .\" .Dd June 16, 1998 .Os .Dt DEVICE_PROBE 9 .Os FreeBSD .Sh 名称 .Nm DEVICE_PROBE .Nd デバイスの存在のプローブ .Sh 書式 .Fd #include .Fd #include .Ft int .Fn DEVICE_PROBE "device_t dev" .Sh 解説 .Pp このデバイスメソッドはデバイスがあるかどうかを知るためにプローブするべきです。 デバイスが存在すれば 0 を、デバイスが見つからなければ ENXIO を返すべきです。 プローブの間にその他のエラー(メモリ割当の失敗など)が起こった場合は、 適切なエラーコードが返されるべきです。 1 つのデバイスに 1 つ以上のドライバが当てはまるような場合のために、 優先順位を返すことができます。 この場合、成功の値は 0 以下の値で、 最も大きな値が最も適切であることを意味します。 失敗の値は正の値で表現され、 通常の UNIX エラーコードが目的に応じて使用されるべきです。 .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 .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 ae8f144928..c74cf2e86a 100644 --- a/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 +++ b/ja_JP.eucJP/man/man9/DEVICE_SHUTDOWN.9 @@ -1,56 +1,56 @@ .\" -*- 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 1999/08/28 00:21:07 peter Exp $ +.\" %FreeBSD: src/share/man/man9/DEVICE_SHUTDOWN.9,v 1.2 1999/08/28 00:21:07 peter Exp % .\" .Dd June 16, 1998 .Os .Dt DEVICE_SHUTDOWN 9 .Os FreeBSD .Sh 名称 .Nm DEVICE_SHUTDOWN .Nd システムシャットダウンの間に呼ばれる .Sh 書式 .Fd #include .Fd #include .Ft int .Fn DEVICE_SHUTDOWN "device_t dev" .Sh 解説 .Pp システムシャットダウンの間に呼び出され、 ドライバがハードウェアをコンピュータがリブートしても構わない状態にすることを 可能にします。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合にはエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr DEVICE_ATTACH 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/MD5.9 b/ja_JP.eucJP/man/man9/MD5.9 index 8a9809f2b3..6d7987b22e 100644 --- a/ja_JP.eucJP/man/man9/MD5.9 +++ b/ja_JP.eucJP/man/man9/MD5.9 @@ -1,75 +1,75 @@ .\" $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 2000/03/02 14:53:52 sheldonh Exp $ +.\" %FreeBSD: src/share/man/man9/MD5.9,v 1.5 2000/03/02 14:53:52 sheldonh Exp % .\" .Dd April 17, 1996 .Dt MD5 9 .Os OpenBSD .Sh 名称 .Nm MD5 , .Nm MD5Init , .Nm MD5Transform .Nd メッセージダイジェストルーチン .Sh 書式 .Fd #include .Fd #include .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 ハッシュを変更します。 .Sh 著作権 MD5 変換のコードはパブリックドメインに置かれていた Colin Plumb の 実装から得ています。 MD5 暗号化チェックサムは Ronald Rivest が考案し、 RFC 1321 "The MD5 Message Digest Algorithm" に記述されています。 diff --git a/ja_JP.eucJP/man/man9/VFS.9 b/ja_JP.eucJP/man/man9/VFS.9 index 55057bdc6e..9139b6fa2e 100644 --- a/ja_JP.eucJP/man/man9/VFS.9 +++ b/ja_JP.eucJP/man/man9/VFS.9 @@ -1,65 +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/VFS.9,v 1.4 1999/09/11 00:57:20 alfred Exp $ +.\" %FreeBSD: src/share/man/man9/VFS.9,v 1.4 1999/09/11 00:57:20 alfred Exp % .\" .Dd July 24, 1996 .Os .Dt VFS 9 .Sh 名称 .Nm VFS .Nd ファイルシステムへのカーネルインターフェイス .Sh 解説 ファイルシステムの設定や情報を、 設定したり問い合わせたりするために使用される呼び出しです。 .Pp ある VFS 操作を実装しないファイルシステムは、 空の関数の実装したり、 .Fa eopnotsupp にキャストしたりするよりも、 .Fa src/sys/vfs_defaults.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 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/bus_generic_attach.9 b/ja_JP.eucJP/man/man9/bus_generic_attach.9 index b2c5f06d59..238d9ebd32 100644 --- a/ja_JP.eucJP/man/man9/bus_generic_attach.9 +++ b/ja_JP.eucJP/man/man9/bus_generic_attach.9 @@ -1,60 +1,60 @@ .\" -*- 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_generic_attach.9,v 1.3 1999/08/28 00:21:18 peter Exp $ +.\" %FreeBSD: src/share/man/man9/bus_generic_attach.9,v 1.3 1999/08/28 00:21:18 peter Exp % .\" .Dd June 16, 1998 .Dt BUS_GENERIC_ATTACH 9 .Os FreeBSD .Sh 名称 .Nm bus_generic_attach .Nd バスのための .Dv DEVICE_ATTACH の一般的な実装 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn bus_generic_attach "device_t dev" .Sh 解説 .Pp この関数はほとんどのバスのコードで使用されることができる .Xr DEVICE_ATTACH 9 メソッドの 1 つの実装を提供します。 単純に、バスに接続されているそれぞれの子デバイスに対して .Xr device_probe_and_attach 9 を呼びます。 .Sh 戻り値 成功時は 0 を、そうでない場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/bus_generic_detach.9 b/ja_JP.eucJP/man/man9/bus_generic_detach.9 index 60b2c87ceb..8bdda62e3b 100644 --- a/ja_JP.eucJP/man/man9/bus_generic_detach.9 +++ b/ja_JP.eucJP/man/man9/bus_generic_detach.9 @@ -1,60 +1,60 @@ .\" -*- 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_generic_detach.9,v 1.3 1999/08/28 00:21:18 peter Exp $ +.\" %FreeBSD: src/share/man/man9/bus_generic_detach.9,v 1.3 1999/08/28 00:21:18 peter Exp % .\" .Dd June 16, 1998 .Dt BUS_GENERIC_DETACH 9 .Os FreeBSD .Sh 名称 .Nm bus_generic_detach .Nd バスのための .Dv DEVICE_DETACH の一般的な実装 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn bus_generic_detach "device_t dev" .Sh 解説 .Pp この関数はほとんどのバスのコードで使用されることが可能な .Xr DEVICE_DETACH 9 メソッドの 1 つの実装を提供します。 これは単純にバスにアタッチされている各々の子デバイスの .Xr DEVICE_DETACH 9 を呼びます。 .Sh 戻り値 成功時は 0 を、そうでない場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/bus_generic_map_intr.9 b/ja_JP.eucJP/man/man9/bus_generic_map_intr.9 index 367aa8126d..0cc403cd7d 100644 --- a/ja_JP.eucJP/man/man9/bus_generic_map_intr.9 +++ b/ja_JP.eucJP/man/man9/bus_generic_map_intr.9 @@ -1,58 +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/bus_generic_map_intr.9,v 1.3 1999/08/28 00:21:19 peter Exp $ +.\" %FreeBSD: src/share/man/man9/bus_generic_map_intr.9,v 1.3 1999/08/28 00:21:19 peter Exp % .\" .Dd June 16, 1998 .Dt BUS_GENERIC_MAP_INTR 9 .Os FreeBSD .Sh 名称 .Nm bus_generic_map_intr .Nd バスのための .Dv BUS_MAP_INTR の一般的な実装 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn bus_generic_map_intr "device_t dev" "device_t child" "driver_intr_t *intr" "void *arg" .Sh 解説 .Pp この .Xr BUS_MAP_INTR 9 の単純な実装は、 .Fa dev の親のメソッドを呼び出すだけです。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/bus_generic_print_child.9 b/ja_JP.eucJP/man/man9/bus_generic_print_child.9 index 3c5a49d8df..f87a6a3a6b 100644 --- a/ja_JP.eucJP/man/man9/bus_generic_print_child.9 +++ b/ja_JP.eucJP/man/man9/bus_generic_print_child.9 @@ -1,70 +1,70 @@ .\" -*- 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_generic_print_child.9,v 1.5 1999/08/28 00:21:19 peter Exp $ +.\" %FreeBSD: src/share/man/man9/bus_generic_print_child.9,v 1.5 1999/08/28 00:21:19 peter Exp % .\" .Dd June 16, 1998 .Dt BUS_GENERIC_PRINT_CHILD 9 .Os FreeBSD .Sh 名称 .Nm bus_generic_print_child .Nd バスのための .Dv DEVICE_PRINT_CHILD の一般的な実装 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn bus_generic_print_child "device_t dev" "device_t child" .Sh 解説 .Pp この実装はデフォルトのデバイスアナウンスメッセージを出力します。 与えられた 'bar0' バス上の 'foo0' デバイスが、 "FooCard 1234" という名前であるならば、 下記のように出力されるでしょう。 .Pp foo0: on bar0 .Pp bus_generic_print_child 自身は .Fn bus_print_child_header と .Fn bus_print_child_footer の 2 つの関数を呼び出します。 これらはそれぞれ "foo0: " と "on bar0" の文字を出力します。 もし .Fn bus_generic_print_child があなたの要求に完全には合わない場合でも、 可能であればあなたの独自のコードでこれらのルーチンを使用するべきです .Sh 関連項目 .Xr device 9 .Sh 戻り値 出力した文字数。 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/bus_generic_read_ivar.9 b/ja_JP.eucJP/man/man9/bus_generic_read_ivar.9 index f8be797758..29ee27ab70 100644 --- a/ja_JP.eucJP/man/man9/bus_generic_read_ivar.9 +++ b/ja_JP.eucJP/man/man9/bus_generic_read_ivar.9 @@ -1,60 +1,60 @@ .\" -*- 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_generic_read_ivar.9,v 1.4 1999/08/28 00:21:19 peter Exp $ +.\" %FreeBSD: src/share/man/man9/bus_generic_read_ivar.9,v 1.4 1999/08/28 00:21:19 peter Exp % .\" .Dd June 16, 1998 .Dt BUS_GENERIC_READ_IVAR 9 .Os FreeBSD .Sh 名称 .Nm bus_generic_read_ivar , .Nm bus_generic_write_ivar .Nd バスのための .Dv BUS_READ_IVAR および .Dv BUS_WRITE_IVAR の一般的な実装 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn bus_generic_read_ivar "device_t dev" "device_t child" "int index" "uintptr_t *result" .Ft int .Fn bus_generic_write_ivar "device_t dev" "device_t child" "int index" "uintptr_t value" .Sh 解説 .Pp これらの関数は単純に .Dv ENOENT を返します。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/bus_generic_shutdown.9 b/ja_JP.eucJP/man/man9/bus_generic_shutdown.9 index cfba948127..28e7d8577e 100644 --- a/ja_JP.eucJP/man/man9/bus_generic_shutdown.9 +++ b/ja_JP.eucJP/man/man9/bus_generic_shutdown.9 @@ -1,61 +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/bus_generic_shutdown.9,v 1.3 1999/08/28 00:21:20 peter Exp $ +.\" %FreeBSD: src/share/man/man9/bus_generic_shutdown.9,v 1.3 1999/08/28 00:21:20 peter Exp % .\" .Dd June 16, 1998 .Dt BUS_GENERIC_SHUTDOWN 9 .Os FreeBSD .Sh 名称 .Nm bus_generic_shutdown .Nd バスのための .Dv DEVICE_SHUTDOWN の一般的な実装 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn bus_generic_shutdown "device_t dev" .Sh 解説 .Pp この関数は、ほとんどのバスのコードで使用されることができる .Xr DEVICE_SHUTDOWN 9 の実装を提供します。 これは単純に、 バスにアタッチされているの子デバイスそれぞれの .Xr DEVICE_SHUTDOWN 9 メソッドを呼び出します。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr device 9 , .Xr driver 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/copy.9 b/ja_JP.eucJP/man/man9/copy.9 index 01459ca817..569c7eec95 100644 --- a/ja_JP.eucJP/man/man9/copy.9 +++ b/ja_JP.eucJP/man/man9/copy.9 @@ -1,138 +1,138 @@ -.\" $NetBSD: copy.9,v 1.2 1996/01/09 03:23:04 thorpej Exp $ +.\" %NetBSD: copy.9,v 1.2 1996/01/09 03:23:04 thorpej Exp % .\" .\" Copyright (c) 1996 Jason R. Thorpe. .\" All rights reserved. .\" .\" This code is derived from software contributed by Kenneth Stailey. .\" .\" 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 for the NetBSD Project .\" by Jason R. Thorpe. .\" 4. 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/copy.9,v 1.6 1999/08/28 00:21:20 peter Exp $ +.\" %FreeBSD: src/share/man/man9/copy.9,v 1.6 1999/08/28 00:21:20 peter Exp % .\" .Dd Jan 7, 1996 .Dt COPY 9 .Os FreeBSD .Sh 名称 .Nm copy , .Nm copyin , .Nm copyout , .Nm copystr , .Nm copyinstr .\" .Nm copyinstr , .\" .Nm copyoutstr .Nd カーネルコピー関数 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn copyin "const void *uaddr" "void *kaddr" "size_t len" .Ft int .Fn copyout "const void *kaddr" "void *uaddr" "size_t len" .Ft int .Fn copystr "const void *kfaddr" "void *kdaddr" "size_t len" "size_t *done" .Ft int .Fn copyinstr "const void *uaddr" "void *kaddr" "size_t len" "size_t *done" .\" .Ft int .\" .Fn copyoutstr "const void *kaddr" "void *uaddr" "size_t len" "size_t *done" .Sh 解説 .Nm 関数群は連続したデータをあるアドレスから 別のアドレスへコピーするようデザインされています。 .Fn copystr 以外の関数は、ユーザー空間からカーネル空間へ、 あるいは反対向きにデータをコピーします。 .Pp .Nm 関数群は以下の機能を提供します。 .Bl -tag -width "copyoutstr()" .It Fn copyin ユーザー空間のアドレス .Pa uaddr からカーネル空間のアドレス .Pa kaddr へ .Pa len バイトのデータをコピーします。 .It Fn copyout カーネル空間のアドレス .Pa kaddr からユーザー空間のアドレス .Pa uaddr へ .Pa len バイトのデータをコピーします。 .It Fn copystr カーネル空間のアドレス .Pa kfaddr からカーネル空間のアドレス .Pa kdaddr へヌル文字で終端された最大 .Pa len 文字の文字列をコピーします。 末尾のヌル文字を含む実際にコピーされた文字数が .Pa *done に返されます。 .It Fn copyinstr ユーザー空間のアドレス .Pa uaddr からカーネル空間のアドレス .Pa kaddr へヌル文字で終端された最大 .Pa len 文字の文字列をコピーします。 末尾のヌル文字を含む実際にコピーされた文字数が .Pa *done に返されます。 .\" .It Fn copyoutstr .\" カーネル空間のアドレス .\" .Pa kaddr .\" からユーザー空間のアドレス .\" .Pa uaddr .\" へヌル文字で終端された最大 .\" .Pa len .\" 文字の文字列をコピーします。 .\" 末尾のヌル文字を含む実際にコピーされた文字数が .\" .Pa *done .\" に返されます。 .El .Sh 戻り値 それぞれの .Nm 関数は成功した時に 0 を、不正なアドレスに遭遇した時に EFAULT を返します。 さらに、 .Fn copystr および .Fn copyinstr .\" 、 .\" .Fn copyoutstr 関数は文字列が .Pa len バイトよりも長い時に ENAMETOOLONG を返します。 .Sh 関連項目 .Xr fetch 9 , .Xr store 9 . diff --git a/ja_JP.eucJP/man/man9/fetch.9 b/ja_JP.eucJP/man/man9/fetch.9 index 369a804de2..4706ff5d6e 100644 --- a/ja_JP.eucJP/man/man9/fetch.9 +++ b/ja_JP.eucJP/man/man9/fetch.9 @@ -1,90 +1,90 @@ -.\" $NetBSD: fetch.9,v 1.2 1996/01/09 21:59:24 perry Exp $ +.\" %NetBSD: fetch.9,v 1.2 1996/01/09 21:59:24 perry Exp % .\" .\" Copyright (c) 1996 Jason R. Thorpe. .\" All rights reserved. .\" .\" This code is derived from software contributed by Kenneth Stailey. .\" .\" 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 for the NetBSD Project .\" by Jason R. Thorpe. .\" 4. 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/fetch.9,v 1.6 1999/08/28 00:21:28 peter Exp $ +.\" %FreeBSD: src/share/man/man9/fetch.9,v 1.6 1999/08/28 00:21:28 peter Exp % .\" .Dd Jan 7, 1996 .Dt FETCH 9 .Os FreeBSD .Sh 名称 .Nm fetch , .Nm fubyte , .Nm fusword , .Nm fuswintr , .Nm fuword .Nd ユーザー空間からのデータの取り出し .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn fubyte "const void *base" .Ft int .Fn fusword "void *base" .Ft int .Fn fuswintr "void *base" .Ft long .Fn fuword "const void *base" .Sh 解説 .Nm 関数群はユーザー空間から小さなデータをコピーするようにデザインされています。 .Pp .Nm ルーチンは以下の機能を提供します。 .Bl -tag -width "fuswintr()" .It Fn fubyte ユーザー空間のアドレス .Pa base から 1 バイトのデータを取り出します。 .It Fn fusword ユーザー空間のアドレス .Pa base から 1 ショートワードのデータを取り出します。 .It Fn fuswintr ユーザー空間のアドレス .Pa base から 1 ショートワードデータを取り出します。 この関数は割り込みコンテキスト中でも安全に呼び出せます。 .It Fn fuword ユーザー空間のアドレス .Pa base から 1 ワードのデータを取り出します。 .El .Sh 戻り値 .Nm 関数は取り出したデータを返しますが、失敗した場合は -1 を返します。 .Sh 関連項目 .Xr copy 9 , .Xr store 9 . diff --git a/ja_JP.eucJP/man/man9/free.9 b/ja_JP.eucJP/man/man9/free.9 index a307bebbf1..957639e835 100644 --- a/ja_JP.eucJP/man/man9/free.9 +++ b/ja_JP.eucJP/man/man9/free.9 @@ -1,243 +1,243 @@ .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Paul Kranenburg. .\" .\" 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 the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 REGENTS 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. .\" -.\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $ -.\" $FreeBSD: src/share/man/man9/malloc.9,v 1.13 2000/03/03 14:05:06 sheldonh Exp $ +.\" %NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp % +.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.13 2000/03/03 14:05:06 sheldonh Exp % .\" .Dd June 16, 1996 .Dt MALLOC 9 .Os FreeBSD .Sh 名称 .Nm malloc , .Nm MALLOC , .Nm free , .Nm FREE .Nd カーネルメモリマネージメントルーチン .Sh 書式 .Fd #include .Fd #include .Ft void * .Fn malloc "unsigned long size" "struct malloc_type *type" "int flags" .Fn MALLOC "space" "cast" "unsigned long size" "struct malloc_type *type" "int flags" .Ft void .Fn free "void *addr" "struct malloc_type *type" .Fn FREE "void *addr" "struct malloc_type *type" .Sh 解説 .Fn malloc 関数はカーネルアドレス空間の初期化されていたいメモリを .Fa size で明示された大きさの 1 つのオブジェクトとして割り当てます。 .Fn free は .Fn malloc で先に割り当てられていた .Fa addr のアドレスのメモリを再使用するために開放します。 メモリは 0 にクリアされません。 .Fn MALLOC マクロは機能的には .Bd -literal -offset indent (space) = (cast)malloc((u_long)(size), type, flags) .Ed .Pp と同等で、 .Fn FREE マクロは .Bd -literal -offset indent free((addr), type) .Ed .Pp と同等です。 標準Cライブラリの同義関数の .Pq Xr malloc 3 と異なり、カーネルバージョンは更に 2 つの引き数をとります。 引き数 .Fa flags は .Fn malloc の下記の操作上の特性からより適したものを選びます。 .Bl -tag -width M_NOWAIT .It Dv M_NOWAIT リソースの不足のため直ちに実行することが出来ない場合は、 .Fn malloc に .Dv NULL を返させます。 さもなければ、 .Fn malloc は他のプロセスによるリソースの開放を待つために .Fn sleep を呼び出すでしょう。 このフラグがセットされていれば、 .Fn malloc はブロックせずに .Dv NULL を返します。 .Dv M_WAITOK が 0 に定義されていることに注意してください。 これはブロッキング操作がデフォルトだということです。 .It Dv M_ASLEEP リソースの不足のため直ちに実行することが出来ない場合は、 .Fn malloc に .Fn asleep を呼ばせます。 .Dv M_ASLEEP は単独での使用は実用的ではなく、常に .Dv M_NOWAIT との論理和(OR)をとって .Fn malloc に .Fn asleep を呼ばせ、直ちに .Dv NULL を返させます。 呼び出し側がある時点で .Fn await を呼び、割り当てのリトライをすることが期待されています。 当のルーチンに依存して、呼び出し側で一時的な失敗を上位に連鎖的に伝搬し、実際に .Fn malloc がキューに入れた非同期のウェイトをブロックする 幾つかの別の高レベルルーチンをもつことを決めることも出来ます。 .It Dv M_WAITOK リソースを待つことが可能(OK)であることを示します。 都合の悪いことに 0 として定義されているので、この値に対して比較したり、 フラグとして論理積(AND)をとることが決して無い様に注意されなければなりません。 デフォルトの操作はメモリの割り当てが成功するまでブロックします。 .Dv M_NOWAIT が明示されると .Fn malloc は .Dv NULL のみを返すことが出来ます。 .It Dv M_USE_RESERVE システムが要求されたメモリを獲得するために、 リザーブ領域を調査することが可能なことを示します。 このオプションは以前は M_KERNEL と呼ばれていましたが、 より解りやすく改名されていました。 このオプションは軽視されていて、カーネルから徐々に削除されています。 そのため、新しいプログラミングでは使用されない様にするべきです。 .El .Pp 引き数 .Fa type はメモリの利用方法の統計をとるために使われていて、簡単で健全なチェックです。 この統計は .Sq vmstat -m により調査されることが出来ます。 .Pp .Fa type は .Fn MALLOC_DECLARE と .Fn MALLOC_DEFINE マクロを通して .Va malloc_type_t を使用し決定されます。 .Bd -literal -offset indent /* sys/something/foo_extern.h */ MALLOC_DECLARE(M_FOOBUF); /* sys/something/foo_main.c */ MALLOC_DEFINE(M_FOOBUF, "foobuffers", "Buffers to foo data into the ether"); /* sys/something/foo_subr.c */ \&... MALLOC(buf, struct foo_buf *, sizeof *buf, M_FOOBUF, M_NOWAIT); .Ed .Pp .Sh 戻り値 .Fn malloc はあらゆるタイプのストレージに適切に整列されたカーネル仮想アドレス、 または要求が満足できずに且つ .Dv M_NOWAIT がセットされている場合に .Dv NULL を返します。 .Dv M_ASLEEP がセットされていて .Fn malloc が .Dv NULL を返す場合、副作用として .Fn asleep が呼び出されます。 .Sh 関連項目 .Xr vmstat 8 .Sh 診断 .Dv DIAGNOSTIC コンフィギュレーションオプションを付けてコンパイルされたカーネルは、 割り当てられた領域外への書き込みや不均衡な .Fn malloc 関数と .Fn free 関数の呼び出し等により生じたメモリ不正の検出を試みます。 一貫性チェックの失敗はパニックまたはシステムコンソールメッセージを出力します。 .Bl -bullet -offset indent -compact .Pp .It panic: .Dq malloc: bogus type .It panic: .Dq malloc: allocation too large .It panic: .Dq malloc: wrong bucket .It panic: .Dq malloc: lost data .It panic: .Dq free: address 0x%x out of range .It panic: .Dq free: type %d out of range .It panic: .Dq free: unaligned addr Aq description of object .It panic: .Dq free: item modified .It panic: .Dq free: multiple free[s] .It .Dq Data modified on freelist: Aq description of object .El diff --git a/ja_JP.eucJP/man/man9/inittodr.9 b/ja_JP.eucJP/man/man9/inittodr.9 index 879abbfe57..1f25533f98 100644 --- a/ja_JP.eucJP/man/man9/inittodr.9 +++ b/ja_JP.eucJP/man/man9/inittodr.9 @@ -1,116 +1,116 @@ -.\" $NetBSD: inittodr.9,v 1.2 1996/03/27 21:16:06 jtc Exp $ +.\" %NetBSD: inittodr.9,v 1.2 1996/03/27 21:16:06 jtc Exp % .\" .\" Copyright (c) 1994 Christopher G. Demetriou .\" 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 Christopher G. Demetriou .\" for the NetBSD Project. .\" 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/inittodr.9,v 1.4 1999/08/28 00:21:28 peter Exp $ +.\" %FreeBSD: src/share/man/man9/inittodr.9,v 1.4 1999/08/28 00:21:28 peter Exp % .\" .Dd March 22, 1997 .Dt INITTODR 9 .Os FreeBSD .Sh 名称 .Nm inittodr .Nd システムタイムの初期化 .Sh 書式 .Fd #include .Fd #include .Ft void .Fn inittodr "time_t base" .Sh 解説 .Fn inittodr 関数は時刻を決定しシステムクロックの設定を行います。 システムのバッテリバックアップクロックおよび .Fa base で与えられるルートファイルシステムから得られる時刻 を検査する発見方法を使用して正しい時刻の取得を試みます。 .Fa base の値を得る方法は、ルートファイルシステムのタイプに依存して変化するでしょう。 下記の発見方法が使用されます。 .Bl -bullet .It バッテリバックアップクロックが妥当な時刻であれば、これが使用されます。 .\" .It .\" If the battery-backed clock does not have a valid time, and .\" the time provided in .\" .Fa base .\" is within reason, .\" .Fa base .\" is used as the current time. .\" .It .\" If the battery-backed clock appears invalid, and .\" .Fa base .\" appears non-sensical or was not provided (was given as zero), .\" a arbitrary base (typically some time in the late 1970s) .\" will be used. .It バッテリバックアップクロックが妥当な時刻でなければ、 .Fa base で与えられた時刻が使用されます。 .El .Pp 一度システムタイムが決定されると、これが .Va time 変数に格納されます。 .Sh 診断 システムタイムの計算に問題があった場合は、 .Fn inittodr 関数は診断メッセージを出力します。 出力される診断メッセージには下記の状態が含まれます。 .Bl -bullet .It バッテリバックアップクロックが無意味のようである。 .\" .It .\" The .\" .Fa base .\" time appears nonsensical. .\" .It .\" The .\" .Fa base .\" time and the battery-backed clock's time differ by a large amount. .El .Sh 関連項目 .Xr resettodr 9 , .Xr time 9 .Sh バグ 多くのシステムで .Fn inittodr は、 年、月、日、時、分、秒で表現される時刻から、秒で表現される .Va time に変換しなければなりません。 多くの実装ではコードの共有が可能ですが、共有していません。 .Pp それぞれのシステムの正確な時刻取得のための発見方法は、わずかに異なります。 .Pp .Tn FreeBSD の実装は、 バッテリバックアップクロックを使用できない場合は、 .Fa base で与えられた時刻をもっとうまく検証するべきでしょう。 現在は無条件にシステムタイムをこの値に設定します。 diff --git a/ja_JP.eucJP/man/man9/intro.9 b/ja_JP.eucJP/man/man9/intro.9 index 4ee7bf5f4e..96df3c87c1 100644 --- a/ja_JP.eucJP/man/man9/intro.9 +++ b/ja_JP.eucJP/man/man9/intro.9 @@ -1,111 +1,111 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. 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 the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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/intro.9,v 1.10 1999/08/28 00:21:28 peter Exp $ +.\" %FreeBSD: src/share/man/man9/intro.9,v 1.10 1999/08/28 00:21:28 peter Exp % .\" .Dd December 13, 1995 .Dt INTRO 9 .Os FreeBSD 2.2 .Sh 名称 .Nm intro .Nd システムカーネルインターフェイスの紹介 .Sh 解説 このセクションはカーネル内のインターフェイスとサブルーチンについての 情報を含んでいます。 .Sh ANSI-C 等のプロトタイプ お願いします。 .Pp 我々は全てのコードが完全にプロトタイプされていることを望みます。 .Pp あなたのコードが .Nm cc .Ar -Wall とした時にきれいにコンパイルできれば、我々は嬉しく思います。 これは .Nm cc を黙らせることが問題ではなく、 苦情の原因事象を避けることが問題であるということを理解することが重要です。 遠慮なしに言うと、キャストや他の不明瞭化する手法で問題を隠すのではなく、 問題を解決してください。 .Sh インデントとスタイル それを信用するかどうかは別として、 インデントとスタイルについてのガイドが現に存在します。 けれども広くは適用されていません。 .Pp 人々がそれに注意を払い、少なくとも露骨に違反しないならば、 我々はそれを認めるでしょう。 .Pp 我々はあまりにもひどくない限り、あなたの独自のスタイルを気にしませんが、 必ず我々にも読めるようにしてください。 .Pp 更に情報を得るために .Xr style 9 を読む時間を取ってください。 .Sh 命名規則 幾つかの一般的な規則があります。 .Bl -enum .It ある関数が DDB でのデバッグ支援を意図したものであるならば、 それは下記のように囲まれるべきです。 .Bd -literal -offset indent #ifdef DDB #endif /* DDB */ .Ed 加えて、関数の名前は、それがデバッガルーチンであることが明確にわかるように、 .Li DDB_ を接頭辞として始めるべきです。 .El .Sh シンボルのスコープ カーネル内のシンボルのスコープは注意深く考慮することが重要です。 何らかの理由でそう出来ない場合以外は、デフォルトでは全てを static にします。 .Pp この方針には幾つかの理由があります。 主な理由は、カーネルは単一の名前空間であることと、 ここでは名前空間の汚染もあまり名案ではないということです。 .Pp デバイスドライバと カーネルに新しい内部のインターフェイスを追加しないモジュールでは、 可能であるならば全てのソースコードが一つのファイルであるべきです。 それは全てのシンボルを static にできる方法であるからです。 .Pp 何らかの理由によりモジュールが複数のファイルに分割される場合には、 大きな境界線に沿ってそのモジュールを分割するよう努力して、 グローバルなシンボルの数を手引にして熟考してください。 少ない方が好ましいです。 .Sh 関連項目 .Xr style 9 .Sh 歴史 .Nm intro セクションのマニュアルページは .Fx 2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man9/malloc.9 b/ja_JP.eucJP/man/man9/malloc.9 index 93d0ad91e3..ee54b8f5eb 100644 --- a/ja_JP.eucJP/man/man9/malloc.9 +++ b/ja_JP.eucJP/man/man9/malloc.9 @@ -1,247 +1,247 @@ .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Paul Kranenburg. .\" .\" 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 the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 REGENTS 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. .\" -.\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $ -.\" $FreeBSD: src/share/man/man9/malloc.9,v 1.13 2000/03/03 14:05:06 sheldonh Exp $ +.\" %NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp % +.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.13 2000/03/03 14:05:06 sheldonh Exp % .\" .Dd June 16, 1996 .Dt MALLOC 9 .Os FreeBSD .Sh 名称 .Nm malloc , .Nm MALLOC , .Nm free , .Nm FREE .Nd カーネルメモリマネージメントルーチン .Sh 書式 .Fd #include .Fd #include .Ft void * .Fn malloc "unsigned long size" "struct malloc_type *type" "int flags" .Fn MALLOC "space" "cast" "unsigned long size" "struct malloc_type *type" "int flags" .Ft void .Fn free "void *addr" "struct malloc_type *type" .Fn FREE "void *addr" "struct malloc_type *type" .Sh 解説 .Fn malloc 関数はカーネルアドレス空間の初期化されていないメモリを .Fa size で指定された大きさの 1 つのオブジェクトとして割り当てます。 .Fn free は .Fn malloc で先に割り当てられていた .Fa addr のアドレスのメモリを再使用するために開放します。 メモリは 0 にクリアされません。 マクロ版の .Fn MALLOC は機能的には .Bd -literal -offset indent (space) = (cast)malloc((u_long)(size), type, flags) .Ed .Pp と同等で、 マクロ版 .Fn FREE は .Bd -literal -offset indent free((addr), type) .Ed .Pp と同等です。 標準Cライブラリの同義関数 .Pq Xr malloc 3 とは異なり、カーネルバージョンは更に 2 つの引き数をとります。 引き数 .Fa flags は .Fn malloc の操作上の特性を以下のようにみなします。 .Bl -tag -width M_NOWAIT .It Dv M_NOWAIT リソースの不足のため直ちに要求を満たすことができない場合は、 .Fn malloc が .Dv NULL を返すようにします。 通常は、 .Fn malloc は他のプロセスによるリソースの開放を待つために .Fn sleep を呼び出すでしょう。 このフラグがセットされていれば、 .Fn malloc はブロックせずに .Dv NULL を返します。 .Dv M_WAITOK が 0 に定義されていることに注意してください。 これはブロッキング操作がデフォルトだということです。 .It Dv M_ASLEEP リソースの不足のため直ちに要求を満たすことができない場合は、 .Fn malloc が .Fn asleep を呼ぶようにします。 .Dv M_ASLEEP の単独での使用は実用的ではなく、常に .Dv M_NOWAIT との論理和(OR)をとって .Fn malloc に .Fn asleep を呼ばせ、直ちに .Dv NULL を返させます。 呼び出し側がある時点で .Fn await を呼び、割り当てのリトライをすることが期待されています。 当のルーチンに依存して、呼び出し側で一時的な失敗を上位に連鎖的に伝搬し、実際に .Fn malloc がキューに入れた非同期のウェイトをブロックする 幾つかの別の高レベルルーチンをもつことを決めることも出来ます。 .It Dv M_WAITOK リソースを待つことが可能(OK)であることを示します。 都合の悪いことに 0 と定義されているので、直接この値に対して比較したり、 フラグとして論理積(AND)をとったりしないように注意されなければなりません。 デフォルトの操作はメモリの割り当てが成功するまでブロックします。 .Dv M_NOWAIT が指定されると .Fn malloc は単に .Dv NULL を返すことが出来ます。 .It Dv M_USE_RESERVE 要求されたメモリを獲得するために、 システムがリザーブ領域を使ってよいことを示します。 このオプションは以前は M_KERNEL と呼ばれていましたが、 より明示的に改名されました。 このオプションは軽視されていて、カーネルから徐々に削除されています。 そのため、新たなプログラミングでは使用されない様にするべきです。 .El .Pp 引き数 .Fa type はメモリの利用方法の統計をとるためと、 簡単なサニティチェックのために使われています。 この統計は .Sq vmstat -m で調べることが出来ます。 .Pp .Fa type は .Fn MALLOC_DECLARE と .Fn MALLOC_DEFINE マクロを通じて .Va malloc_type_t typedef を使用して定義されます。 .Bd -literal -offset indent /* sys/something/foo_extern.h */ MALLOC_DECLARE(M_FOOBUF); /* sys/something/foo_main.c */ MALLOC_DEFINE(M_FOOBUF, "foobuffers", "Buffers to foo data into the ether"); /* sys/something/foo_subr.c */ \&... MALLOC(buf, struct foo_buf *, sizeof *buf, M_FOOBUF, M_NOWAIT); .Ed .Pp .Sh 戻り値 .Fn malloc はすべてのタイプのオブジェクトの格納に適切なように整列された カーネル仮想アドレスを、 または要求が満足できずかつ .Dv M_NOWAIT がセットされている場合に .Dv NULL を返します。 .Dv M_ASLEEP がセットされていて .Fn malloc が .Dv NULL を返す場合、副作用として .Fn asleep が呼び出されます。 .Sh 関連項目 .Xr vmstat 8 .Sh 診断 .Dv DIAGNOSTIC コンフィギュレーションオプションを付けてコンパイルされたカーネルは、 割り当てられた領域以外への書き込みや .Fn malloc 関数と .Fn free 関数の不均衡な呼び出しなどにより生じたメモリ不正の検出を試みます。 一貫性チェックの失敗はパニックまたはシステムコンソールメッセージを出力します。 .Bl -bullet -offset indent -compact .Pp .It panic: .Dq malloc: bogus type .It panic: .Dq malloc: allocation too large .It panic: .Dq malloc: wrong bucket .It panic: .Dq malloc: lost data .It panic: .Dq free: address 0x%x out of range .It panic: .Dq free: type %d out of range .It panic: .Dq free: unaligned addr Aq description of object .It panic: .Dq free: item modified .It panic: .Dq free: multiple free[s] .It .Dq Data modified on freelist: Aq description of object .El diff --git a/ja_JP.eucJP/man/man9/panic.9 b/ja_JP.eucJP/man/man9/panic.9 index 3e210790a0..71a6bcf4b2 100644 --- a/ja_JP.eucJP/man/man9/panic.9 +++ b/ja_JP.eucJP/man/man9/panic.9 @@ -1,66 +1,66 @@ -.\" $NetBSD: panic.9,v 1.2 1996/10/09 17:20:04 explorer Exp $ +.\" %NetBSD: panic.9,v 1.2 1996/10/09 17:20:04 explorer Exp % .\" .\" Copyright (c) 1996 Michael Graff. .\" 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 Graff .\" for the NetBSD Project. .\" 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/panic.9,v 1.4 1999/12/23 17:42:10 bde Exp $ +.\" %FreeBSD: src/share/man/man9/panic.9,v 1.4 1999/12/23 17:42:10 bde Exp % .\" .Dd August 11, 1995 .Dt PANIC 9 .Os .Sh 名称 .Nm panic .Nd 致命的なエラーによるシステムダウン .Sh 書式 .Fd #include .Ft void .Fn panic "const char *fmt, ..." .Sh 解説 .Fn panic 関数は動作中のシステムを終了させます。 .Fa fmt メッセージは .Xr printf 3 スタイルのフォーマット文字列です。 このメッセージはコンソールに出力され、 後でオペレーティングシステムのコアダンプから取り出すために .Fa panicstr がこのメッセージのアドレスに設定されます。 .Pp もしカーネルデバッガが搭載されていれば、デバッガに制御を渡します。 さもなければ、オペレーティングシステムのコアダンプを 設定されているダンプデバイスに保存するように試みます。 .Pp もし .Fn panic が 2 度呼ばれた場合(たとえばディスク同期ルーチンから)には、 ディスクの同期無しでシステムはリブートされます。 .Sh 戻り値 .Fn panic 関数は戻りません。 diff --git a/ja_JP.eucJP/man/man9/physio.9 b/ja_JP.eucJP/man/man9/physio.9 index 6e783ed297..41bf1c8fad 100644 --- a/ja_JP.eucJP/man/man9/physio.9 +++ b/ja_JP.eucJP/man/man9/physio.9 @@ -1,142 +1,142 @@ -.\" $NetBSD: physio.9,v 1.2 1996/11/11 00:05:12 lukem Exp $ +.\" %NetBSD: physio.9,v 1.2 1996/11/11 00:05:12 lukem Exp % .\" .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Paul Kranenburg. .\" .\" 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 the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 REGENTS 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/physio.9,v 1.6.2.1 2000/04/01 20:33:15 asmodai Exp $ +.\" %FreeBSD: src/share/man/man9/physio.9,v 1.6.2.1 2000/04/01 20:33:15 asmodai Exp % .\" .Dd June 15, 1996 .Dt PHYSIO 9 .Os FreeBSD .Sh 名称 .Nm physio .Nd ロウデバイスの入出力の開始 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn physio "dev_t dev" "struct uio *uio" "int ioflag" .Sh 解説 .Fn physio は通常、 文字型デバイスの read および write ルーチンから呼び出されるヘルパー関数で、 ユーザープロセスのバッファへの入出力を開始させます。 この関数は .Fa uio 構造体に記述されている転送が完了するまで、与えられた .Fa strategy ルーチンを 1 回以上呼び出します。 .Fa strategy を呼び出すごとの最大のデータ転送量は .Fa minphys ルーチンによって決定されます。 .Fa uio 構造体は通常ユーザー空間のアドレスを示すので、 .Fn physio はプロセスをメモリ中にロックする必要があります。 これは、プロセスに .Dv P_PHYSIO フラグをセットすることで行ないます。 以前にエラー状態が検出された時を除いて、 .Fn physio は常にリターンする前に全ての要求された転送が完了するまで待ちます。 全ての場合に、 .Fa bp に渡されるバッファは転送が完了するまでの期間中、ロック( .Dq busy にマーク)されます。 .Pp 引数の詳細を下記に示します。 .Bl -tag -width "strategy" .It Fa strategy それぞれのデータのかたまりをデバイスに入出力開始させるために呼ばれる デバイスの strategy ルーチン。 .It Fa bp strategy ルーチンで使用されるバッファ。 このバッファのフラグは strategy に渡される時に .Dv B_BUSY および .Dv B_PHYS がセットされます。 もし bp が .Dv NULL であれば、システムのプールから割り当てられます。 .It Fa dev デバイスを識別するために関連付けられたデバイス番号。 .It Fa flags 転送方向。 有効な設定は .Dv B_READ または .Dv B_WRITE のみ。 .It Fa minphys デバイスの strategy ルーチンが取り扱う事ができる最大の転送サイズを 決定するために呼ばれる、デバイス固有のルーチン。 .It Fa uio ユーザープロセスから要求された転送全体の記述。 現在は、 .Fa uio 構造体の .Sq uio_segflg フラグに .Dv UIO_USERSPACE 以外の値をセットして渡した場合の結果は未定義です。 .El .Pp .Sh 戻り値 成功すれば .Fn physio は 0 を返します。 .Fa uio 構造体に示されているアドレス範囲が要求したプロセスから アクセスできない場合には .Er EFAULT を返します。 .Fn physio はデバイスの strategy ルーチンを呼んだ結果として発生する あらゆるエラーを .Dv B_ERROR バッファフラグおよび .Va b_error フィールドを調査して返します。 デバイスが .Dq end of file の状態を示している時には、実際の転送サイズは .Fa uio 構造体で要求しているサイズよりも小さくなる事に注意してください。 .Sh 関連項目 .Xr read 2 , .Xr write 2 diff --git a/ja_JP.eucJP/man/man9/resettodr.9 b/ja_JP.eucJP/man/man9/resettodr.9 index 19657527bd..f7317fa03a 100644 --- a/ja_JP.eucJP/man/man9/resettodr.9 +++ b/ja_JP.eucJP/man/man9/resettodr.9 @@ -1,59 +1,59 @@ -.\" $NetBSD: resettodr.9,v 1.1 1995/11/25 21:24:51 perry Exp $ +.\" %NetBSD: resettodr.9,v 1.1 1995/11/25 21:24:51 perry Exp % .\" .\" Copyright (c) 1994 Christopher G. Demetriou .\" 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 Christopher G. Demetriou .\" for the NetBSD Project. .\" 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/resettodr.9,v 1.4 1999/08/28 00:21:31 peter Exp $ +.\" %FreeBSD: src/share/man/man9/resettodr.9,v 1.4 1999/08/28 00:21:31 peter Exp % .\" .Dd November 13, 1995 .Dt RESETTODR 9 .Os FreeBSD .Sh 名称 .Nm resettodr .Nd バッテリーバックアップの時計をシステムの時間に合わせる .Sh 書式 .Fd #include .Fd #include .Ft void .Fn resettodr "void" .Sh 解説 .Fn resettodr 関数はシステムのバッテリーバックアップの時計をシステムが保有している .Va time 変数の時間に合わせます。 .Sh 関連項目 .Xr inittodr 9 , .Xr time 9 .Sh バグ 多くのシステムで .Fn resettodr は内部表現の .Va time から年、月、日、時、分、秒で表現される時刻に変換しなければなりません。 多くのインプリメンテーションではコードの共有が可能ですが、共有していません。 diff --git a/ja_JP.eucJP/man/man9/spl.9 b/ja_JP.eucJP/man/man9/spl.9 index c3ed180f9b..b85e468d5a 100644 --- a/ja_JP.eucJP/man/man9/spl.9 +++ b/ja_JP.eucJP/man/man9/spl.9 @@ -1,199 +1,199 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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 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/spl.9,v 1.8 1999/08/28 00:21:32 peter Exp $ +.\" %FreeBSD: src/share/man/man9/spl.9,v 1.8 1999/08/28 00:21:32 peter Exp % .\" " .Dd July 21, 1996 .Os .Dt SPL 9 .Sh 名称 .Nm splbio, .Nm splclock, .Nm splhigh, .Nm splimp, .Nm splnet, .Nm splsoftclock, .Nm splsofttty, .Nm splstatclock, .Nm spltty, .Nm splvm, .Nm spl0, .Nm splx .Nd 割り込み優先度の操作 .Sh 書式 .Fd #include .Fd #include .Ft intrmask_t .Fn splbio "void" .Ft intrmask_t .Fn splclock "void" .Ft intrmask_t .Fn splhigh "void" .Ft intrmask_t .Fn splimp "void" .Ft intrmask_t .Fn splnet "void" .Ft intrmask_t .Fn splsoftclock "void" .Ft intrmask_t .Fn splsofttty "void" .Ft intrmask_t .Fn splstatclock "void" .Ft intrmask_t .Fn spltty "void" .Ft void .Fn spl0 "void" .Ft void .Fn splx "intrmask_t ipl" .Sh 解説 .Fn spl 関数ファミリは CPU の割り込み優先度の .Dq レベル を設定します。 これはブロックされた優先度レベルの割り込みハンドラの実行を抑制します。 割り込みハンドラによって調査あるいは修正されたであろうデータ領域を 調査あるいは修正するドライバの .Dq synchronous 部分(ユーザープロセスを代表して実行される部分)で使用されます。 .Pp 通常それぞれの割り込みを使用するドライバは、 config ファイルのキーワードによって 1 つの 割り込み優先度グループに割り当てられます。 例えば、 .Bd -literal -offset indent device foo0 at isa? port 0x0815 irq 12 tty .Ed .Pp は、割り込み 12 を .Dq tty 優先度グループに割り当てます。 システムは自動的に .Em xxx グループの割り込みを優先度が .Ns spl Ns Em xxx \&() 以上の時に呼ばれるように準備します。 .Pp .Fn splx 関数は割り込み優先度レベルを絶対的な数値に設定します。 これは別の割り込みレベル関数が返した値をローカルの変数に保存して、 後で元の優先度レベルに戻すために .Fn splx を使用する事を意図しています。 .Pp .Fn spl0 関数は全ての割り込みハンドラをブロックしない値に優先度を減少させます。 ただし、AST(非同期システムトラップ)はシステムが ユーザーモードに戻るまでの間はブロックされます。 .Pp いろいろなデバイスドライバの割り込み優先度グループの伝統的な割り当ては、 おおよそ次のように分類できます。 .Bl -tag -width Fn splnet .It Fn splnet 全てのネットワークインターフェイスドライバ。 .It Fn splbio 全ての .Em バッファ入出力 (つまりディスクなど)のドライバ。 .It Fn spltty 基本的にはネットワーク以外の通信デバイスですが、 事実上はネットワークとディスク以外の全てのドライバ。 .El .Sh 戻り値 .Fn splx および .Fn spl0 以外の全ての関数は、操作前の優先度の値を返します。 .Sh 使用例 以下は、標準的な使用例です。 .Bd -literal struct foo_softc { ... int flags; #define FOO_ASLEEP 1 #define FOO_READY 2 } foo_softc[NFOO]; int foowrite(...) { struct foo_softc *sc; int s, error; ... s = spltty(); if (!(sc->flags & FOO_READY)) { /* 準備ができていません、待機しなければなりません */ sc->flags |= FOO_ASLEEP; error = tsleep(sc, PZERO, "foordy", 0); sc->flags &= ~FOO_ASLEEP; } sc->flags &= ~FOO_READY; splx(s); ... } void foointr(...) { struct foo_softc *sc; ... sc->flags |= FOO_READY; if (sc->flags & FOO_ASLEEP) /* 誰かが我々を待っています、起こしてください */ wakeup(sc); ... } .Ed 割り込みハンドラは .Em 絶対に 優先度レベルを減少させるべきではない、ということに注意してください。 自動的に、自分のレベルの割り込み優先度に増加させられます。 すなわち、同じグループの全ての割り込みはブロックされます。 .Sh 歴史 割り込み優先度レベルは早期のバージョンの Unix で登場しました。 伝統的には名前ではなく数字が使われていて、そのレベルまでの全てを含んで (優先度 5 はレベル 5 までの全てをブロックします)いた事が知られています。 これは .Tn FreeBSD にはあてはまりません。 伝統的な名前 .Ql level はいまだに文字 .Ql l としてそれぞれの関数や変数の名前に反映されています。 しかし、実際にはもはやレベルではなく、 むしろ異なった(部分的に含まれた)関数群がシステムのある期間ブロックされます。 歴史的な番号による方法は単純で順番通りの 割り込み優先度レベルグループであるとみなす事ができます。 .Sh 作者 このマニュアルページは .ie t J\(:org Wunsch .el Joerg Wunsch が書きました。 diff --git a/ja_JP.eucJP/man/man9/store.9 b/ja_JP.eucJP/man/man9/store.9 index 7f52e70e67..0fd1e7b321 100644 --- a/ja_JP.eucJP/man/man9/store.9 +++ b/ja_JP.eucJP/man/man9/store.9 @@ -1,90 +1,90 @@ -.\" $NetBSD: store.9,v 1.2 1996/01/09 21:59:27 perry Exp $ +.\" %NetBSD: store.9,v 1.2 1996/01/09 21:59:27 perry Exp % .\" .\" Copyright (c) 1996 Jason R. Thorpe. .\" All rights reserved. .\" .\" This code is derived from software contributed by Kenneth Stailey. .\" .\" 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 for the NetBSD Project .\" by Jason R. Thorpe. .\" 4. 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/store.9,v 1.7 1999/08/28 00:21:32 peter Exp $ +.\" %FreeBSD: src/share/man/man9/store.9,v 1.7 1999/08/28 00:21:32 peter Exp % .\" .Dd Jan 7, 1996 .Dt STORE 9 .Os FreeBSD .Sh 名称 .Nm store , .Nm subyte , .Nm susword , .Nm suswintr , .Nm suword .Nd ユーザー空間へのデータの格納 .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn subyte "void *base" "int byte" .Ft int .Fn susword "void *base" "int word" .Ft int .Fn suswintr "void *base" "int word" .Ft int .Fn suword "void *base" "int word" .Sh 解説 .Nm 関数群はユーザー空間へ小さなデータをコピーするようにデザインされています。 .Pp .Nm ルーチンは以下の機能を提供します。 .Bl -tag -width "suswintr()" .It Fn subyte 1 バイトのデータをユーザー空間のアドレス .Pa base へ格納します。 .It Fn susword 1 ショートワードのデータをユーザー空間のアドレス .Pa base へ格納します。 .It Fn suswintr 1 ショートワードのデータをユーザー空間のアドレス .Pa base へ格納します。 この関数は割り込みコンテキスト中でも安全に呼び出せます。 .It Fn suword 1 ワードのデータをユーザー空間のアドレス .Pa base へ格納します。 .El .Sh 戻り値 .Nm 関数は 0 を返しますが、失敗した場合は -1 を返します。 .Sh 関連項目 .Xr copy 9 , .Xr fetch 9 . diff --git a/ja_JP.eucJP/man/man9/style.9 b/ja_JP.eucJP/man/man9/style.9 index 65bbe831ea..4da5968974 100644 --- a/ja_JP.eucJP/man/man9/style.9 +++ b/ja_JP.eucJP/man/man9/style.9 @@ -1,535 +1,535 @@ .\" Copyright (c) 1995 FreeBSD Inc. .\" 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 [your name] 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/style.9,v 1.32.2.3 2000/08/08 09:56:53 sheldonh Exp $ +.\" %FreeBSD: src/share/man/man9/style.9,v 1.32.2.3 2000/08/08 09:56:53 sheldonh Exp % .\" .Dd December 14, 1995 .Dt STYLE 9 .Os FreeBSD .Sh 名称 .Nm style .Nd カーネルソースファイルのスタイルガイド .Sh 解説 このファイルは .Tn FreeBSD ソースツリーのカーネルソースに好ましいスタイルを明記しています。 これはユーザランドのコードスタイルの手引きでもあります。 .Bd -literal -offset 0i /* * FreeBSD のためのスタイルガイドです。 * KNF (Kernel Normal Form, カーネル標準書式) に基づいています。 */ /* * とても重要な 1 行のコメントはこのようにします。 */ /* 殆どの 1 行のコメントはこのようにします。 */ /* * 複数行にわたるコメントはこのようにします。実際の文章を書きます。実際の * 段落に見えるように埋めていきます。 */ .Ed .Pp カーネルのインクルードファイル (すなわち、sys/*.h) が初めに来ます。 通常、 または のどちらかが必要ですが、 両方は必要ないでしょう。 をインクルードしており、 依存関係は問題ありません。 .Bd -literal -offset 0i #include /* < > 括弧による非ローカルインクルード */ .Ed .Pp ネットワークプログラムである場合は、 次にネットワークインクルードファイルを置きます。 .Bd -literal -offset 0i #include #include #include #include #include .Ed .Pp それから空行を置き、/usr インクルードファイルを続けます。 /usr インクルードファイルはソートされているべきです。 .Bd -literal -offset 0i #include .Ed .Pp グローバルなパス名は /usr/include/paths.h で定義されています。 プログラムにローカルなパス名はローカルディレクトリの pathnames.h に入れます。 .Bd -literal -offset 0i #include .Ed .Pp それから、空行があって、ユーザインクルードファイルが来ます。 .Bd -literal -offset 0i #include "pathnames.h" /* " " によるローカルインクルード */ .Ed .Pp マクロは大文字であり、( ) 括弧に入れて、副作用を避けるべきです。 .Ql #define とマクロ名の間にタブ文字を 1 個入れます。 それがある関数のインライン展開である場合は、 関数は全て小文字で定義され、マクロは大文字で同じ名前を持ちます。 マクロが 1 行以上必要な場合は、{ } 括弧を使用します。 バックスラッシュは右揃えします。こうすると読みやすくなります。 マクロが複合文をカプセル化する場合には、それを .Dq Li do ループで囲みます。 これにより、 .Dq Li if 文で安全に使用できます。 最後の文の終端のセミコロンは、 マクロではなくマクロの実施時に付けられるべきです。 これにより、清書器やエディタで文法解析しやすくなります。 .Bd -literal -offset 0i #define MACRO(x, y) do { \e variable = (x) + (y); \e (y) += 2; \e } while(0) .Ed .Pp 列挙値は全て大文字を使用します。 .Bd -literal -offset 0i enum enumtype { ONE, TWO } et; .Ed .Pp 構造体の中で変数を宣言する時には、 使用順、サイズ順、アルファベット順にソートして宣言します。 最初の区分は通常適用しませんが、例外があります。 各宣言は、それぞれ独立した行にて行います。 最初の語の後にタブ文字を 1 個置きます、すなわち .Ql int^Ix; と .Ql struct^Ifoo *x; です。 .Pp 重要な構造体は、それが使用されるファイルの先頭で宣言されるか、 複数のソースファイルで使用される場合は別のヘッダファイルで宣言されるべきです。 構造体がヘッダファイルで宣言されている場合には、 それら構造体の使用は、宣言とは分けられるべきで、かつ "extern" であるべきです。 .Bd -literal -offset 0i struct foo { struct foo *next; /* 使用中の foo リスト */ struct mumble amumble; /* mumble のコメント */ int bar; }; struct foo *foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 可能な時には必ず、あなた自身でリストを操作するのではなく、 .Xr queue 3 マクロを使用してください。 従って、前の例をより良く書くと次のようになります。 .Bd -literal -offset 0i #include struct foo { LIST_ENTRY(foo) link; /* foo リスト用のキューマクロの糊 */ struct mumble amumble; /* mumble のコメント */ int bar; }; LIST_HEAD(, foo) foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 構造体の型に typedef を使用する事は避けてください。 使用してしまうと、 構造体へのポインタを不透明 (opaque) に使用することが、 アプリケーションにとって不可能となります。 通常の struct タグを使用すると、これが可能となり、かつ有益です。 規約が typedef を要求する場合には、その名前を構造体タグに一致させます。 標準 C または .Tn POSIX によって明示されたものを除いては、 .Dq Li \&_t で終る typedef を避けてください。 .Bd -literal -offset 0i /* 構造体名と typedef を一致させます */ typedef struct _bar { int level; } BAR; .Ed .Pp 全ての関数はどこかでプロトタイプされます。 .Pp 私的な関数 (すなわち、他のどこでも使用されない関数など) の関数プロトタイプは、 最初のソースモジュールの先頭に置かれます。 単一のソースモジュールにローカルな関数は、 .Ql static で宣言されるべきです。 .Pp カーネルの別の部分から使用される関数は、 関連のあるインクルードファイルの中でプロトタイプされます。 .Pp 複数のモジュールでローカルに使用される関数は、 .Pa extern.h 等の分離したヘッダファイルの中に置かれます。 .Pp 一般にソースファイルが K&R 旧約聖書コンパイラで コンパイル可能である (べき) 時にのみ、 インクルードファイル の __P マクロを使用します。 新しいコードでの __P マクロの使用は反対されていますが、 既存のファイルに対する修正はそのファイルの規約と首尾一貫しているべきです。 .Pp ファイルの 50% かそれ以上を巻き込んだ修正の場合は、 一般にコードは .Dq 新しいコード とみなすことができます。 これは既存のコードの慣例を破り、 現在のスタイルガイドラインを使用するのに十分です。 .Pp カーネルはパラメータの型に関連付けられた名前を持ちます。 例えば、カーネル内でこのように使用します。 .Bd -literal -offset 0i void function(int fd); .Ed .Pp ユーザランドのアプリケーションに対して見えるヘッダファイルの中では、 可視のプロトタイプは、 型を伴った保護された名前を使用するか、 型だけで名前を使用しないかのどちらかが必要です。 保護された名前の使用がより望ましいです。 例えば、このように使用します。 .Bd -literal -offset 0i void function(int); .Ed .Pp または .Bd -literal -offset 0i void function(int _fd); .Ed .Pp プロトタイプは関数名の行揃えを行なうために、タブの後に追加のスペース文字を 置いても構いません。 .Bd -literal -offset 0i static char *function(int _arg, const char *_arg2, struct foo *_arg3, struct bar *_arg4); static void usage(void); /* * 全ての主要なルーチンはそれが何をするのかを簡潔に記述した * コメントを持つべきです。"main" ルーチンの前のコメントは * そのプログラムが何をするのかを記述するべきです。 */ int main(int argc, char *argv[]) { long num; int ch; char *ep; .Ed .Pp 一貫性のために、オプションの解析には getopt が使用されるべきです。 getopt 呼び出しと switch 文では、オプションをソートすべきですが、 switch 文のカスケードの一部の場合は例外です。 switch 文のカスケード要素は FALLTHROUGH コメントを持つべきです。 数値の引数は精度をチェックされるべきです。 到達できないコードは NOTREACHED コメントを持つべきです。 .Bd -literal -offset 0i while ((ch = getopt(argc, argv, "abn")) != -1) switch (ch) { /* switch をインデント */ case 'a': /* case はインデントしない */ aflag = 1; /* FALLTHROUGH */ case 'b': bflag = 1; break; case 'n': num = strtol(optarg, &ep, 10); if (num <= 0 || *ep != '\e0') { warnx("illegal number, -n argument -- %s", optarg); usage(); } break; case '?': default: usage(); /* NOTREACHED */ } argc -= optind; argv += optind; .Ed .Pp 予約語 (if, while, for, return, switch) の後にスペースを入れます。 何も伴わないかただ 1 つの文を伴う制御文は、{ } 括弧を使用しません。 1 つの文が 複数行である文の場合には、これは許されます。 無限ループは while ではなく for で行ないます。 .Bd -literal -offset 0i for (p = buf; *p != '\e0'; ++p) ; /* 何もなし */ for (;;) stmt; for (;;) { z = a + really + long + statement + that + needs + two lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; } for (;;) { if (cond) stmt; } if (val != NULL) val = realloc(val, newsize); .Ed .Pp for ループの各部は空のまま残しても構いません。 異常に複雑なルーチンでない限りは、ブロックの中に宣言を置いてはなりません。 .Bd -literal -offset 0i for (; cnt < 15; cnt++) { stmt1; stmt2; } .Ed .Pp インデントは 8 文字のタブです。 第 2 レベルのインデントは 4 文字のスペースです。 .Bd -literal -offset 0i while (cnt < 20) z = a + really + long + statement + that + needs + two lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines. .Ed .Pp 空白文字を行末に追加してはいけません。 また、インデントを形成するためには、タブとその後にスペースのみを使用します。 タブが生み出す以上のスペースや、タブの前のスペースは使用しません。 .Pp { } 括弧の終了と開始は else と同じ行に置かれます。 必要でない { } 括弧は省いても構いません。 .Bd -literal -offset 0i if (test) stmt; else if (bar) { stmt; stmt; } else stmt; .Ed .Pp 関数名の後はスペースを空けません。 コンマの後にはスペースを持ちます。 .Sq \&( または .Sq \&[ の後ろまたは .Sq \&] または .Sq \&) の前にはスペースを空けません。 .Bd -literal -offset 0i if (error = function(a1, a2)) exit(error); .Ed .Pp 単項演算子はスペースを要求しませんが、二項演算子は要求します。 優先順位が要求する場合または文が ( ) 括弧なしでは混乱する場合以外は、 ( ) 括弧は使用しません。 他人はあなたよりも混乱しやすいかもしれないということを覚えておいてください。 あなたは以下を理解できますか? .Bd -literal -offset 0i a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1; k = !(l & FLAGS); .Ed .Pp 成功時には 0 で、または .Xr sysexits 3 にあらかじめ定義してある値で exit するべきです。 .Bd -literal -offset 0i exit(EX_OK); /* * "Exit 0 on success." (成功時は 0 で終了) * の様に明白なコメントは避けてください */ } .Ed .Pp 関数の型は、関数自身に先行する行にあるべきです。 .Bd -literal -offset 0i static char * function(int a1, int a2, float fl, int a4) { .Ed .Pp 関数の中で変数を宣言する時には、サイズ順に、次にアルファベット順に ソートして宣言します。 1 行に複数の宣言は可能です。 リンケージのスコープが常にグローバルになるため、 関数の中での関数の宣言は推奨されません。 行が溢れる場合は、型の予約語を再度使用します。 .Pp 宣言時に変数を初期化することによってコードを 不明瞭にしない様に注意してください。 この機能は良く考えて使用してください。 初期化に関数呼び出しを使用しないでください。 .Bd -literal -offset 0i struct foo one, *two; double three; int *four, five; char *six, seven, eight, nine, ten, eleven, twelve; four = myfunction(); .Ed .Pp 他の関数の内部で関数を宣言しないでください。 ANSI C によると、このような宣言は、宣言のネスティングによらず、 ファイルスコープになります。 ローカルスコープに見えるものの中にファイルの宣言を隠すことは好ましくなく、 良いコンパイラは苦情を言います。 .Pp キャストと sizeof 演算子の後にはスペースを続けません。 この規則は .Xr indent 1 が理解しないことに注意してください。 .Pp NULL は、好まれるヌルポインタ定数です。 コンパイラが型を知っている文脈、例えば代入では、 (type *)0 または (type *)NULL の代わりに、NULL を使用します。 他の文脈では、特に全ての関数の引数では、 (type *)NULL を使用します。 (関数のプロトタイプがスコープ外かもしれない場合に、 キャストはいろいろな引数にとって必須で、その他の引数にとっても必要です。) ポインタは NULL と比較します。例えば、 .Bd -literal -offset 0i !(p = f()) .Ed .Pp ではなく、このように使います。 .Bd -literal -offset 0i (p = f()) == NULL .Ed .Pp 真理値ではない場合、テストには '!' を使用しないでください。 例えば、下記のように使います。 .Bd -literal -offset 0i if (*p == '\e0') .Ed .Pp 下記のようには使いません。 .Bd -literal -offset 0i if (!*p) .Ed .Pp void * を返すルーチンでは、 戻り値をどのポインタ型にもキャストしてはなりません。 .Pp .Xr err 3 または .Xr warn 3 を使用し、勝手に作らないでください。 .Bd -literal -offset 0i if ((four = malloc(sizeof(struct foo))) == NULL) err(1, (char *)NULL); if ((six = (int *)overflow()) == NULL) errx(1, "Number overflowed."); return (eight); } .Ed .Pp 古いスタイルの関数宣言はこのようになっています。 .Bd -literal -offset 0i static char * function(a1, a2, fl, a4) int a1, a2; /* int 型も宣言します、デフォルトにしないこと */ float fl; /* double と float の違いに気を付けてください */ int a4; /* 出てきた順に宣言します */ { .Ed .Pp あなたが明確に K&R との互換性を必要とする場合以外は、 ANSI の関数宣言を使用してください。 .Pp 可変個数の引数はこのようにします。 .Bd -literal -offset 0i #include void vaf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); STUFF; va_end(ap); /* void 型の関数に return は不要です */ } static void usage() { /* 関数がローカル変数を持たない場合、空行をいれます */ .Ed .Pp fputs/puts/putchar 等ではなく、 .Xr printf 3 を使用してください。 これは速くて大抵はきれいで、言うまでもなくつまらないバグを避けます。 .Pp 使用法 (usage) の文はマニュアルページの書式の様であるべきです。 オペランドの無いオプションが、最初にアルファベット順に、 1 つの[ ] 括弧でくくられます。 オペランドのあるオプションが、アルファベット順に続き、 それぞれを [ ] 括弧でくくられます。 必須の引数が特定の順に続き、オプションの引数が特定の順に続きます。 縦棒 .Pq Sq \&| は、二者択一のオプションまたは引数を分割し、 同時に使用するオプションと引数は、単一の [ ] 括弧でくくります。 .Pp .Bd -ragged -offset 0.3i "usage: f [-aDde] [-b b_arg] [-m m_arg] req1 req2 [opt1 [opt2]]\en" "usage: f [-a | -b] [-c [-dEe] [-n number]]\en" .Ed .Bd -literal -offset 0i (void)fprintf(stderr, "usage: f [-ab]\en"); exit(1); } .Ed .Pp 新しい中心的なカーネルのコードは、適度にスタイルガイドに従うべきです。 サードパーティが保守するモジュールやデバイスドライバのためのガイドラインは より緩やかですが、最低限内部的には彼らの一貫したスタイルであるべきです。 .Pp ソースリポジトリの文体の変更 (空白文字の変更を含む) は困難で、 正当な理由なしには避けるべきです。 リポジトリの中のおおよそ .Xr style 9 に適合しているコードは、この適合から離れてはなりません。 .Pp 可能な時にはいつでも、 コードはコードチェッカ (例えば、"gcc -Wall" または xlint(1)) を 通過し、発生する警告は最小限となるべきです。 .Sh 関連項目 .Xr indent 1 , .Xr err 3 , .Xr sysexits 3 , .Xr warn 3 .Sh 歴史 このページは .Tn BSD 4.4-Lite2 release の src/admin/style/style ファイルに大きく基づいていて、 現在の実装と .Tn FreeBSD プロジェクトの要望を反映して、更新してあります。 diff --git a/ja_JP.eucJP/man/man9/uio.9 b/ja_JP.eucJP/man/man9/uio.9 index 145ec4dc71..55718af1df 100644 --- a/ja_JP.eucJP/man/man9/uio.9 +++ b/ja_JP.eucJP/man/man9/uio.9 @@ -1,176 +1,176 @@ .\" .\" Copyright (c) 1997 Joerg Wunsch .\" .\" 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 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/uio.9,v 1.5 1999/08/28 00:21:34 peter Exp $ +.\" %FreeBSD: src/share/man/man9/uio.9,v 1.5 1999/08/28 00:21:34 peter Exp % .\" " .Dd February 2, 1997 .Os .Dt UIO 9 .Sh 名称 .Nm uio , .Nm uiomove .Nd デバイスドライバ入出力ルーチン .Sh 書式 .Fd #include .Fd #include .Pp .Bd -literal struct uio { struct iovec *uio_iov; int uio_iovcnt; off_t uio_offset; int uio_resid; enum uio_seg uio_segflg; enum uio_rw uio_rw; struct proc *uio_procp; }; .Ed .Ft int .Fn uiomove "caddr_t buf" "int howmuch" "struct uio *uiop" .Sh 解説 .Fn uiomove 関数は、ユーザ空間とカーネル空間の境界を越えることさえ可能で、 バッファと入出力ベクタ間のデータ転送の実行に使用されます。 .Pp 文字型デバイスのドライバに渡された、あらゆる .Xr read 2 , .Xr write 2 , .Xr readv 2 ないし .Xr writev 2 システムコールの結果として、適切なドライバの .Em read または .Em write エントリが .Fa "struct uio" 構造体のポインタを渡されて呼び出されます。 転送のリクエストは、この構造体の中にエンコードされます。 ドライバ自身もこの構造体の中のデータを取り出すために .Fn uiomove を使用するべきです。 .Pp uio 構造体の各フィールドは下記のとおりです。 .Bl -tag -width "uio_iovcntX" -compact .It Dv uio_iov 処理すべき入出力ベクタの配列です。 散在的な入出力の場合には、一つ以上のベクタとなるでしょう。 .It Dv uio_iovcnt 存在している入出力ベクタの数を示します。 .It Dv uio_offset デバイスのオフセットです。 .It Dv uio_resid 処理すべきバイト数です。 .It Dv uio_segflg 以下のフラグの中の一つです。 .Bl -tag -width "UIO_USERISPACEX" -compact .It Dv UIO_USERSPACE 入出力ベクタはプロセスのアドレス空間を指しています。 .It Dv UIO_SYSSPACE 入出力ベクタはカーネルのアドレス空間を指しています。 .It Dv UIO_USERISPACE 入出力ベクタはプロセスのアドレス空間の命令領域を指しています。 .It Dv UIO_NOCOPY オブジェクト中に既にデータがあり、コピーしません。 .El .It Dv uio_rw 要求された転送の方向を示し、 .Dv UIO_READ または .Dv UIO_WRITE です。 .It Dv uio_procp プロセスに関連付けられた .Li struct proc 構造体へのポインタです。 .Dv uio_segflg がプロセスのアドレス空間との転送をすべきであると示している場合に 使用されます。 .El .Sh 具体例 考え方として、ドライバはデータのためのプライベートなバッファの保守を行ない、 このバッファの最大サイズのデータのかたまりの要求を処理します。 下記のバッファの取り扱いはとても簡略化されていて 恐らく動きません(バッファのポインタは部分的な読み込みの場合進みません)し、 uio の取り扱いを実際にやって見せているだけだ、ということに注意してください。 .Bd -literal /* MIN() の定義はこの中にあります */ #include #define BUFSIZE 512 static char buffer[BUFSIZE]; static int data_available; /* 読み込めるデータ量 */ static int fooread(dev_t dev, struct uio *uio, int flag) { int rv, amnt; while (uio->uio_resid > 0) { if (data_available > 0) { amnt = MIN(uio->uio_resid, data_available); if ((rv = uiomove((caddr_t)buffer, amnt, uio)) != 0) goto error; data_available -= amnt; } else { tsleep(...); /* より良い時期まで待つ */ } } return 0; error: /* エラーのクリーンアップをここで行なう */ return rv; } .Ed .Sh 戻り値 .Fn uiomove は プロセスのアドレス空間との転送の場合に、 .Xr copyin 9 または .Xr copyout 9 によって引き起こされた .Er EFAULT を返すことがあります。 .Sh 関連項目 .Xr read 2 , .Xr readv 2 , .Xr write 2 , .Xr writev 2 , .Xr copyin 9 , .Xr copyout 9 , .Xr sleep 9 .Sh 歴史 uio の仕組みはある早期のバージョンの .Ux で登場しました。 .Sh 作者 このマニュアルページは .ie t J\(:org Wunsch .el Joerg Wunsch が書きました。 diff --git a/ja_JP.eucJP/man/man9/vslock.9 b/ja_JP.eucJP/man/man9/vslock.9 index c8faa722ab..75733ea7a5 100644 --- a/ja_JP.eucJP/man/man9/vslock.9 +++ b/ja_JP.eucJP/man/man9/vslock.9 @@ -1,74 +1,74 @@ -.\" $NetBSD: vslock.9,v 1.1 1996/06/15 20:47:29 pk Exp $ +.\" %NetBSD: vslock.9,v 1.1 1996/06/15 20:47:29 pk Exp % .\" .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Paul Kranenburg. .\" .\" 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 the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 REGENTS 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/vslock.9,v 1.4 1999/08/28 00:21:35 peter Exp $ +.\" %FreeBSD: src/share/man/man9/vslock.9,v 1.4 1999/08/28 00:21:35 peter Exp % .\" .Dd Jun 15, 1996 .Dt VSLOCK 9 .Os FreeBSD .Sh 名称 .Nm vslock , .Nm vsunlock .Nd ユーザー空間のアドレスのメモリへのロックとアンロック .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft void .Fn vslock "caddr_t addr" "u_int len" .Ft void .Fn vsunlock "caddr_t addr" "u_int len" "int dirtied" .Sh 解説 .Fn vslock および .Fn vsunlock 関数は現在実行中のプロセスに属するアドレスの範囲を メモリ中にそれぞれロックしたりアンロックしたりします。 ロックされる実際のメモリ量はマシンのページサイズの倍数になります。 開始ページナンバーは .Fa addr をすぐ前のページ境界に切りつめられ、終了ページは .Fa addr + .Fa len の次のページ境界に切り上げられて計算されます。 この操作に使用されるプロセスのコンテキストはグローバル変数 .Va curproc を参照します。 .Pp .Sh 関連項目 .Xr physio 9 .Sh バグ 引数としてプロセスのポインタを渡すべきです。