diff --git a/ja_JP.eucJP/man/man1/builtin.1 b/ja_JP.eucJP/man/man1/builtin.1 index 2402bdf752..44f4ae907f 100644 --- a/ja_JP.eucJP/man/man1/builtin.1 +++ b/ja_JP.eucJP/man/man1/builtin.1 @@ -1,286 +1,286 @@ .\" .\" Copyright (c) 1999 Sheldon Hearn .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man1/builtin.1,v 1.5.2.8 2001/05/02 02:18:15 dd Exp % +.\" %FreeBSD: src/share/man/man1/builtin.1,v 1.5.2.9 2001/07/21 09:16:28 schweikh Exp % .\" -.\" $FreeBSD:$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/builtin.1,v 1.8 2001/05/05 18:59:08 horikawa Exp $ .Dd September 1, 1999 .Dt BUILTIN 1 .Os .Sh 名称 .Nm builtin , .Nm alias , .Nm alloc , .Nm bg , .Nm bindkey , .Nm break , .Nm breaksw , .Nm builtins , .Nm case , .Nm cd , .Nm chdir , .Nm command , .Nm complete , .Nm continue , .Nm default , .Nm dirs , .Nm do , .Nm done , .Nm echo , .Nm echotc , .Nm elif , .Nm else , .Nm end , .Nm endif , .Nm endsw , .Nm esac , .Nm eval , .Nm exec , .Nm exit , .Nm export , .Nm fc , .Nm fg , .Nm filetest , .Nm fi , .Nm for , .Nm foreach , .Nm getopts , .Nm glob , .Nm goto , .Nm hash , .Nm hashstat , .Nm history , .Nm hup , .Nm if , .Nm jobid , .Nm jobs , .Nm kill , .Nm limit , .Nm log , .Nm login , .Nm logout , .Nm ls-F , .Nm nice , .Nm nohup , .Nm notify , .Nm onintr , .Nm popd , .Nm printf , .Nm printenv , .Nm pushd , .Nm pwd , .Nm read , .Nm readonly , .Nm rehash , .Nm repeat , .Nm sched , .Nm set , .Nm setenv , .Nm settc , .Nm setty , .Nm setvar , .Nm shift , .Nm source , .Nm stop , .Nm suspend , .Nm switch , .Nm telltc , .Nm then , .Nm time , .Nm trap , .Nm type , .Nm ulimit , .Nm umask , .Nm unalias , .Nm uncomplete , .Nm unhash , .Nm unlimit , .Nm unset , .Nm unsetenv , .Nm until , .Nm wait , .Nm where , .Nm which , .Nm while .Nd シェル組み込みコマンド .Sh 書式 .Nm .Op Fl options .Op Ar args ... .Sh 解説 シェル組み込みコマンドは、実行中のシェルプロセス内で実行されるコマンドです。 .Xr csh 1 組み込みコマンドの場合、 パイプラインの構成要素として登場する場合には、 最後の構成要素である場合を除き、コマンドはサブシェル内で実行されます。 .Pp シェルに対して指定されたコマンドがスラッシュ .Dq \&/ を含む場合、 指定したコマンドの最後の部分が組み込みコマンドの名前とマッチする場合でも、 シェルは組み込みコマンドを実行しません。 それ故、組み込み echo コマンドをサポートするシェルでは .Dq Ic echo は組み込みコマンドを実行させますが、 .Dq Pa /bin/echo や .Dq Pa ./echo は組み込みコマンドを実行させません。 .Pp 複数のシェルに存在する組み込みコマンドもありますが、 それらの動作はこれをサポートする各シェルで異なるかもしれません。 下表は、シェル組み込みコマンドと、これらをサポートする標準シェルと、 独立ユーティリティとして存在するか否かを列挙しています .Pp ここには .Xr csh 1 と .Xr sh 1 の組み込みコマンドだけを列挙しています。 これらのシェルのもとでの各組み込みコマンドの動作の詳細は、 適切なマニュアルページを参照してください。 他のシェルのユーザは、 そのシェルと共に提供される文書を参照する必要があるでしょう。 .Bl -column "continueXX" "ExternalXX" "csh(1)" "sh(1)" -offset indent .It Xo .Em "コマンド 外部" Ta Xr csh 1 Ta Xr sh 1 .Xc .It Ic alias Ta \&No Ta Yes Ta Yes .It Ic alloc Ta \&No Ta Yes Ta \&No .It Ic bg Ta \&No Ta Yes Ta Yes .It Ic bindkey Ta \&No Ta Yes Ta \&No .It Ic break Ta \&No Ta Yes Ta \&Yes .It Ic breaksw Ta \&No Ta Yes Ta \&No .It Ic builtins Ta \&No Ta Yes Ta \&No .It Ic case Ta \&No Ta Yes Ta Yes .It Ic cd Ta \&No Ta Yes Ta Yes .It Ic chdir Ta \&No Ta Yes Ta \&Yes .It Ic command Ta \&No Ta \&No Ta Yes .It Ic complete Ta \&No Ta Yes Ta \&No .It Ic continue Ta \&No Ta Yes Ta \&Yes .It Ic default Ta \&No Ta Yes Ta \&No .It Ic dirs Ta \&No Ta Yes Ta \&No .It Ic do Ta \&No Ta \&No Ta Yes .It Ic done Ta \&No Ta \&No Ta Yes .It Ic echo Ta Yes Ta Yes Ta Yes .It Ic echotc Ta \&No Ta Yes Ta \&No .It Ic elif Ta \&No Ta \&No Ta Yes .It Ic else Ta \&No Ta Yes Ta \&Yes .It Ic end Ta \&No Ta Yes Ta \&No .It Ic endif Ta \&No Ta Yes Ta \&No .It Ic endsw Ta \&No Ta Yes Ta \&No .It Ic esac Ta \&No Ta \&No Ta Yes .It Ic eval Ta \&No Ta Yes Ta Yes .It Ic exec Ta \&No Ta Yes Ta Yes .It Ic exit Ta \&No Ta Yes Ta Yes .It Ic export Ta \&No Ta \&No Ta Yes .It Ic fc Ta \&No Ta \&No Ta Yes .It Ic fg Ta \&No Ta Yes Ta Yes .It Ic filetest Ta \&No Ta Yes Ta \&No .It Ic fi Ta \&No Ta \&No Ta Yes .It Ic for Ta \&No Ta \&No Ta Yes .It Ic foreach Ta \&No Ta Yes Ta \&No .It Ic getopts Ta \&No Ta \&No Ta Yes .It Ic glob Ta \&No Ta Yes Ta \&No .It Ic goto Ta \&No Ta Yes Ta \&No .It Ic hash Ta \&No Ta \&No Ta Yes .It Ic hashstat Ta \&No Ta Yes Ta \&No .It Ic history Ta \&No Ta Yes Ta \&No .It Ic hup Ta \&No Ta Yes Ta \&No .It Ic if Ta \&No Ta Yes Ta \&Yes .It Ic jobid Ta \&No Ta \&No Ta Yes .It Ic jobs Ta \&No Ta Yes Ta Yes .It Ic kill Ta Yes Ta Yes Ta \&No .It Ic limit Ta \&No Ta Yes Ta \&No .It Ic log Ta \&No Ta Yes Ta \&No .It Ic login Ta Yes Ta Yes Ta \&No .It Ic logout Ta \&No Ta Yes Ta \&No .It Ic ls-F Ta \&No Ta Yes Ta \&No .It Ic nice Ta Yes Ta Yes Ta \&No .It Ic nohup Ta Yes Ta Yes Ta \&No .It Ic notify Ta \&No Ta Yes Ta \&No .It Ic onintr Ta \&No Ta Yes Ta \&No .It Ic popd Ta \&No Ta Yes Ta \&No .It Ic printenv Ta Yes Ta Yes Ta \&No .It Ic printf Ta Yes Ta \&No Ta Yes .It Ic pushd Ta \&No Ta Yes Ta \&No .It Ic pwd Ta Yes Ta \&No Ta Yes .It Ic read Ta \&No Ta \&No Ta Yes .It Ic readonly Ta \&No Ta \&No Ta Yes .It Ic rehash Ta \&No Ta Yes Ta \&No .It Ic repeat Ta \&No Ta Yes Ta \&No .It Ic sched Ta \&No Ta Yes Ta \&No .It Ic set Ta \&No Ta Yes Ta \&Yes .It Ic setenv Ta \&No Ta Yes Ta \&No .It Ic settc Ta \&No Ta Yes Ta \&No .It Ic setty Ta \&No Ta Yes Ta \&No .It Ic setvar Ta \&No Ta \&No Ta Yes .It Ic shift Ta \&No Ta Yes Ta Yes .It Ic source Ta \&No Ta Yes Ta \&No .It Ic stop Ta \&No Ta Yes Ta \&No .It Ic suspend Ta \&No Ta Yes Ta \&No .It Ic switch Ta \&No Ta Yes Ta \&No .It Ic telltc Ta \&No Ta Yes Ta \&No .It Ic then Ta \&No Ta \&No Ta Yes .It Ic time Ta Yes Ta Yes Ta \&No .It Ic trap Ta \&No Ta \&No Ta Yes .It Ic type Ta \&No Ta \&No Ta Yes .It Ic ulimit Ta \&No Ta \&No Ta Yes .It Ic umask Ta \&No Ta Yes Ta Yes .It Ic unalias Ta \&No Ta Yes Ta Yes .It Ic uncomplete Ta \&No Ta Yes Ta \&No .It Ic unhash Ta \&No Ta Yes Ta \&No .It Ic unlimit Ta \&No Ta Yes Ta \&No .It Ic unset Ta \&No Ta Yes Ta Yes .It Ic unsetenv Ta \&No Ta Yes Ta \&No .It Ic until Ta \&No Ta \&No Ta Yes .It Ic wait Ta \&No Ta Yes Ta Yes .It Ic where Ta \&No Ta Yes Ta \&No .It Ic which Ta Yes Ta Yes Ta \&No .It Ic while Ta \&No Ta Yes Ta \&Yes .El .Sh 関連項目 .Xr csh 1 , .Xr echo 1 , .Xr kill 1 , .Xr login 1 , .Xr nice 1 , .Xr nohup 1 , .Xr printenv 1 , .Xr printf 1 , .Xr pwd 1 , .Xr sh 1 , .Xr time 1 , .Xr which 1 .Sh 歴史 .Nm マニュアルページが最初に登場したのは .Fx 3.4 です。 .Sh 作者 このマニュアルページは .An Sheldon Hearn Aq sheldonh@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man5/core.5 b/ja_JP.eucJP/man/man5/core.5 index c0b9e4f256..2a1650e8dd 100644 --- a/ja_JP.eucJP/man/man5/core.5 +++ b/ja_JP.eucJP/man/man5/core.5 @@ -1,134 +1,134 @@ .\" Copyright (c) 1980, 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. .\" .\" @(#)core.5 8.3 (Berkeley) 12/11/93 -.\" %FreeBSD: src/share/man/man5/core.5,v 1.8.2.1 2000/12/08 14:59:15 ru Exp % +.\" %FreeBSD: src/share/man/man5/core.5,v 1.8.2.2 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/core.5,v 1.7 2001/05/14 01:09:27 horikawa Exp $ .\" .Dd December 11, 1993 .Dt CORE 5 .Os BSD 4 .Sh 名称 .Nm core .Nd メモリイメージのファイルフォーマット .Sh 書式 .Fd #include .Sh 解説 プロセスを異常終了させる少数のシグナルは、 プロセスのメモリ内状態の記録をディスクに書き出させる効果もあります。 これにより、デバッガを使用して後で検査を行うことが可能です。( .Xr sigaction 2 を参照してください。) このメモリイメージは、デフォルトでは作業ディレクトリの .Nm プログラム名.core という名前のファイルに書かれます。 ただし、終了したプロセスがそのディレクトリに書きこみ権限を持ち、 発生した異常がシステムを破壊しないことが前提です。 (システムが破壊された場合には、 コアファイルを保存するかどうかの決定は不定です。 .Xr savecore 8 を参照してください。) .Pp コアファイルの最大サイズは .Xr setrlimit 2 により制限されます。 制限よりも大きくなるファイルは生成されません。 ファイル名は .Xr sysctl 8 変数 .Va kern.corefile にて制御されます。 この変数の内容がコアイメージを格納するファイルの名前を示します。 このファイル名は絶対でも相対でもかまいません (後者の場合、コアを生成するプログラムの現在のディレクトリから解決されます)。 このファイル名テンプレート中のシーケンス .Em \&%N はプロセス名で置き換えられ、 .Em \&%P はプロセスの PID で置き換えられ、 .Em \&%U は UID で置き換えられます。 デフォルトの名前は .Em \&%N.core であり、伝統的な .Fx の振舞いとなります。 コアファイルは、(ページ数での) 大きさが .Aq Pa sys/param.h ファイルで .Dv UPAGES と定義されている .Fa u . 領域からなります。 .Fa u . 領域は .Aq Pa sys/user.h に記述されている .Fa user 構造体から始まります。 コアの残りの部分には、 データページに続いてプロセスイメージのスタックページが格納されます。 コアファイル中のデータ空間イメージの (ページ数での) 大きさは、 .Fa u . 領域の変数 .Fa u_dsize で与えられます。 コアファイル中のスタックイメージの (ページ数での) 大きさは、 .Fa u . 領域の変数 .Fa u_ssize で与えられます。 ``ページ'' サイズは定数 .Dv PAGE_SIZE で与えられます (これも .Aq Pa sys/param.h から与えられます)。 .Sh 使用例 全コアイメージを、 .Pa /var/coredumps 以下のユーザごとのプライベート領域に格納するためには、 次のように .Xr sysctl 8 コマンドを使用します: .Pp .Dl sysctl -w kern.corefile="/var/coredumps/\&%U/\&%N.core" .Sh 関連項目 .Xr gdb 1 , .Xr kgdb 1 , .Xr setrlimit 2 , .Xr sigaction 2 , .Xr sysctl 8 .Sh 歴史 .Nm ファイルのフォーマットは .At v6 に登場しました。 diff --git a/ja_JP.eucJP/man/man5/devfs.5 b/ja_JP.eucJP/man/man5/devfs.5 index ebd4db1c84..f1c7b90e83 100644 --- a/ja_JP.eucJP/man/man5/devfs.5 +++ b/ja_JP.eucJP/man/man5/devfs.5 @@ -1,95 +1,95 @@ .\" Copyright (c) 1996 .\" Mike Pritchard . All rights reserved. .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" 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/man5/devfs.5,v 1.6.2.2 2000/12/14 12:14:30 ru Exp % +.\" %FreeBSD: src/share/man/man5/devfs.5,v 1.6.2.3 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/devfs.5,v 1.8 2001/05/14 01:09:27 horikawa Exp $ .\" .\" WORD: mount point マウントポイント .\" WORD: namespace 名前空間 .\" .Dd December 14, 1996 .Dt DEVFS 5 .Os FreeBSD .Sh 名称 .Nm devfs .Nd デバイスファイルシステム .Sh 書式 devfs /devs devfs rw 0 0 .Sh 解説 デバイスファイルシステム、または .Nm は、グローバルファイルシステム名前空間において、 カーネルのデバイス名前空間へのアクセスを提供します。 伝統的なマウントポイントは .Pa /devs です。 .Pp このファイルシステムは、ディレクトリ、リンク、シンボリックリンク、 デバイスを含みます。 それらの中には書き込み可能なものがあります。 chroot した環境では、 .Nm を使用して新しい .Pa /devs マウントポイントを作成可能です。 .Sh 関連ファイル .Bl -tag -width /devs/XXXX -compact .It Pa /devs 通常の -.Nm +.Nm マウントポイント .El .Sh 関連項目 .Xr mount_devfs 8 .Sh 歴史 -.Nm +.Nm ファイルシステムは、最初に .Fx 2.0 に登場しました。 .Nm マニュアルページは、最初に .Fx 2.2 に登場しました。 .Sh 作者 .Nm マニュアルページは、 .Xr mount_devfs 8 マニュアルページを元に、 .An Mike Pritchard Aq mpp@FreeBSD.org が記述しました。 diff --git a/ja_JP.eucJP/man/man5/dir.5 b/ja_JP.eucJP/man/man5/dir.5 index d7c59e1c6b..7ccc0d3aa6 100644 --- a/ja_JP.eucJP/man/man5/dir.5 +++ b/ja_JP.eucJP/man/man5/dir.5 @@ -1,170 +1,170 @@ .\" 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. .\" .\" @(#)dir.5 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/dir.5,v 1.12.2.2 2000/12/29 10:18:04 ru Exp % +.\" %FreeBSD: src/share/man/man5/dir.5,v 1.12.2.3 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/dir.5,v 1.8 2001/05/14 01:09:27 horikawa Exp $ .\" .\" WORD: graft 接合 [mount.8] .Dd April 19, 1994 .Dt DIR 5 .Os BSD 4.2 .Sh 名称 .Nm dir , .Nm dirent .Nd ディレクトリファイルフォーマット .Sh 書式 .Fd #include .Sh 解説 ディレクトリは、土台となる記憶媒体の詳細を隠蔽し、 ファイルをグループ分けする便利な階層手段を提供します。 ディレクトリファイルは、その .Xr inode 5 エントリ中のフラグによって、通常ファイルと区別されます。 ディレクトリファイルはレコード (ディレクトリエントリ) から構成され、 各レコードはファイルに関する情報とそのファイル自身へのポインタを 含んでいます。 ディレクトリエントリは、通常ファイルと同様に、 他のディレクトリを含むこともあります。 そのような入れ子になったディレクトリはサブディレクトリと呼ばれます。 このようにしてディレクトリとファイルの階層構造が形成され、 この構造はファイルシステムと呼ばれます (あるいはファイルシステムツリー と呼ばれます)。 .\" 以下の3行は英語版にコメントの形で含まれていたもの .\" An entry in this tree, .\" nested or not nested, .\" is a pathname. .Pp 各ディレクトリファイルには特別なディレクトリエントリが 2 つあります。 1 つはそのディレクトリ自身へのポインタで、ドット .Ql .\& と呼ばれます。 もう 1 つは自分の親ディレクトリへのポインタで、ドットドット .Ql \&..\& と呼ばれます。 ドットとドットドットは有効なパス名ですが、 システムのルートディレクトリ .Ql / には親ディレクトリがなく、ドットドットはドットと同じく自分自身を指します。 .Pp ファイルシステムノードは普通のディレクトリファイルであり、 その上に物理ディスクやそのディスク中の分割された領域といった ファイルシステムオブジェクトを接合します ( .Xr mount 2 および .Xr mount 8 参照)。 .Pp ディレクトリエントリの形式はファイル .Aq sys/dirent.h で定義されています (これは直接アプリケーションからはインクルードされません): .Bd -literal #ifndef _SYS_DIRENT_H_ #define _SYS_DIRENT_H_ #include /* * dirent 構造体は、getdirentries(2) システムコールで返される * ディレクトリエントリのフォーマットを定義します。 * - * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent + * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent * 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる * 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング * した名前が続きます。名前は全てナルで終端していることが保証されます。 * ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。 */ struct dirent { __uint32_t d_fileno; /* エントリのファイル番号 */ __uint16_t d_reclen; /* このレコードの長さ */ __uint8_t d_type; /* ファイルタイプ, 以下参照 */ __uint8_t d_namlen; /* d_name の文字列長 */ #ifdef _POSIX_SOURCE char d_name[255 + 1]; /* 名前はこの長さを越えてはならない */ #else #define MAXNAMLEN 255 char d_name[MAXNAMLEN + 1]; /* 名前はこの長さを越えてはならない */ #endif }; /* * ファイルタイプ */ #define DT_UNKNOWN 0 #define DT_FIFO 1 #define DT_CHR 2 #define DT_DIR 4 #define DT_BLK 6 #define DT_REG 8 #define DT_LNK 10 #define DT_SOCK 12 #define DT_WHT 14 /* * stat 構造体型とディレクトリ型との変換 */ #define IFTODT(mode) (((mode) & 0170000) >> 12) #define DTTOIF(dirtype) ((dirtype) << 12) /* * _GENERIC_DIRSIZ マクロはディレクトリエントリを保持する最小レコード長を * 与えます。これは d_name フィールド以外の dirent 構造体の空間に、ナル * バイトで終端される名前のために十分な空間 (dp->d_namlen+1) を加えたもの * を、4 バイト単位で繰り上げたものです。 */ #define _GENERIC_DIRSIZ(dp) \ ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3)) #ifdef _KERNEL #define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp) #endif .Ed .Sh 関連項目 .Xr fs 5 , .Xr inode 5 .Sh BUGS struct dirent のメンバ d_type は .Fx 固有であり、 使用はポータブルではありません。 また、特定のファイルシステム、例えば cd9660 ファイルシステムでは失敗します。 .Sh 歴史 ファイル形式 .Nm は .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/disktab.5 b/ja_JP.eucJP/man/man5/disktab.5 index 71b0f05949..5c7de13c9d 100644 --- a/ja_JP.eucJP/man/man5/disktab.5 +++ b/ja_JP.eucJP/man/man5/disktab.5 @@ -1,140 +1,140 @@ .\" 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. .\" .\" @(#)disktab.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/disktab.5,v 1.4.2.2 2000/12/29 10:18:04 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man5/disktab.5,v 1.4.2.3 2001/07/21 09:16:52 schweikh Exp % +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/disktab.5,v 1.8 2001/05/14 01:09:27 horikawa Exp $ .\" .Dd June 5, 1993 .Dt DISKTAB 5 .Os BSD 4.2 .Sh 名称 .Nm disktab .Nd ディスク記述ファイル .Sh 書式 .Fd #include .Sh 解説 .Nm は、ディスクジオメトリとディスクパーティション特性を記述する 簡単なデータベースで、 .\"by the formatter(\c .\"IR.Xr format 8 ) .\"to determine how to format the disk, and ディスク上のディスクラベルを初期化する際に使われます。 フォーマットは .Xr termcap 5 端末データベースと同様のパターンです。 .Nm 内のエントリは、たくさんの `:' で区切られたフィールドからなります。 各ディスクの最初のエントリは `|' 文字で区切られていて、そのディスクの 既知の名前を与えます。最後の名前はディスクをディスクを識別する完全に 長い名前でなければなりません。 .Pp 以下のリストは、各ディスクエントリのための通常の値です。 .Bl -column "indent" "boolx" .It Sy "名前 型 解説 .It "\&ty str ディスクの種類 (例えば removable, winchester)" .It "\&dt str コントローラの種類 (例えば " .Tn SMD , ESDI , フロッピー) .It "\&ns num トラックあたりのセクタ数" .It "\&nt num シリンダあたりのトラック数" .It "\&nc num ディスク上の総シリンダ数" .It "\&sc num シリンダあたりのセクタ数、デフォルトは nc*nt" .It "\&su num ユニットあたりのセクタ数、デフォルトは sc*nc" .It "\&se num バイト単位のセクタサイズ" デフォルトは .Dv DEV_BSIZE .It "\&sf bool コントローラが bad144 スタイルのバッドセクタフォワードをサポートする" .It "\&rm num 回転スピード (rpm), デフォルトは 3600" .It "\&sk num トラックあたりのセクタスキュー、デフォルトは 0" .It "\&cs num シリンダあたりのセクタスキュー、デフォルトは 0" .It "\&hs num ヘッドスイッチ時間 (usec), デフォルトは 0" .It "\&ts num 1 シリンダシーク時間 (usec), デフォルト 0" .It "\&il num セクタインタリーブ (n:1), デフォルトは 1" .It "\&d[0-4] num ドライブタイプ依存パラメータ" .It "\&bs num ブートブロックサイズ、デフォルト" .Dv BBSIZE .It "\&sb num スーパブロックサイズ、デフォルト" .Dv SBSIZE .It "\&ba num パーティション `a' のブロックサイズ (bytes)" .It "\&bd num パーティション `d' のブロックサイズ (bytes)" .It "\&be num パーティション `e' のブロックサイズ (bytes)" .It "\&bf num パーティション `f' のブロックサイズ (bytes)" .It "\&bg num パーティション `g' のブロックサイズ (bytes)" .It "\&bh num パーティション `h' のブロックサイズ (bytes)" .It "\&fa num パーティション `a' のフラグメントサイズ (bytes)" .It "\&fd num パーティション `d' のフラグメントサイズ (bytes)" .It "\&fe num パーティション `e' のフラグメントサイズ (bytes)" .It "\&ff num パーティション `f' のフラグメントサイズ (bytes)" .It "\&fg num パーティション `g' のフラグメントサイズ (bytes)" .It "\&fh num パーティション `h' のフラグメントサイズ (bytes)" .It "\&oa num パーティション `a' のセクタ内オフセット" .It "\&ob num パーティション `b' のセクタ内オフセット" .It "\&oc num パーティション `c' のセクタ内オフセット" .It "\&od num パーティション `d' のセクタ内オフセット" .It "\&oe num パーティション `e' のセクタ内オフセット" .It "\&of num パーティション `f' のセクタ内オフセット" .It "\&og num パーティション `g' のセクタ内オフセット" .It "\&oh num パーティション `h' のセクタ内オフセット" .It "\&pa num パーティション `a' セクタサイズ" .It "\&pb num パーティション `b' セクタサイズ" .It "\&pc num パーティション `c' セクタサイズ" .It "\&pd num パーティション `d' セクタサイズ" .It "\&pe num パーティション `e' セクタサイズ" .It "\&pf num パーティション `f' セクタサイズ" .It "\&pg num パーティション `g' セクタサイズ" .It "\&ph num パーティション `h' セクタサイズ" .It "\&ta str パーティション `a' のパーティションタイプ" .Pf ( Bx 4.2 ファイルシステム, スワップ他) .It "\&tb str パーティション `b のパーティションタイプ" .It "\&tc str パーティション `c のパーティションタイプ" .It "\&td str パーティション `d のパーティションタイプ" .It "\&te str パーティション `e のパーティションタイプ" .It "\&tf str パーティション `f のパーティションタイプ" .It "\&tg str パーティション `g のパーティションタイプ" .It "\&th str パーティション `h のパーティションタイプ" .El .Sh 関連ファイル .Bl -tag -width /etc/disktab -compact .It Pa /etc/disktab .El .Sh 関連項目 .Xr getdiskbyname 3 , .Xr disklabel 5 , .Xr disklabel 8 , .Xr newfs 8 .Sh 歴史 .Nm この記述ファイルは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/elf.5 b/ja_JP.eucJP/man/man5/elf.5 index 432ea357f3..b6492e9d15 100644 --- a/ja_JP.eucJP/man/man5/elf.5 +++ b/ja_JP.eucJP/man/man5/elf.5 @@ -1,1353 +1,1353 @@ .\"Copyright (c) 1999 Jeroen Ruigrok van der Werven .\"All rights reserved. .\" .\"Redistribution and use in source and binary forms, with or without .\"modification, are permitted provided that the following conditions .\"are met: .\"1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\"2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\"SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/elf.5,v 1.6.2.5 2001/07/13 14:15:54 dd Exp % +.\" %FreeBSD: src/share/man/man5/elf.5,v 1.6.2.6 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/elf.5,v 1.8 2001/05/14 01:09:27 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/elf.5,v 1.9 2001/07/22 23:09:21 horikawa Exp $ .Dd July 31, 1999 .Dt ELF 5 .Os FreeBSD .Sh 名称 .Nm elf .Nd ELF 実行形式バイナリファイルのフォーマット .Sh 書式 .Fd #include .Sh 解説 ヘッダファイル -.Aq Pa elf.h +.Aq Pa elf.h は、ELF 実行形式バイナリファイルのフォーマットを定義しています。 ELF には普通の実行可能ファイル、再配置可能なオブジェクトファイル、 コアファイル、共有ライブラリがあります。 .Pp ELF ファイルフォーマットを使っている 実行可能ファイルは ELF ヘッダを持ちます。 そして、プログラムヘッダテーブルか、 セクションヘッダテーブル、あるいはその両方が続きます。 ELF ヘッダは、常にファイルのオフセット 0 にあります。 プログラムヘッダテーブルと セクションヘッダテーブルのファイル中のオフセットは、 ELF ヘッダで定義されています。 2 つのテーブルは、ファイルの特徴の残りの部分を記述します。 .Pp ネイティブアーキテクチャの ELF バイナリファイルを処理するアプリケーションは、 そのソースコードに .Pa elf.h をインクルードするだけですみます。 これらのアプリケーションは、総称名 .Dq Elf_xxx による全タイプと構造体への参照を含む必要があり、 .Dq ELF_xxx によるマクロへの参照を含む必要があるでしょう。 このようにして記述されたアプリケーションは、 どのようなアーキテクチャであっても、 ホストが 32 ビットなのか、あるいは 64 ビットなのか ということを気にしないで、コンパイル可能です。 .Pp 未知のアーキテクチャの ELF ファイルを処理する必要があるアプリケーションは、 .Pa elf.h ではなく、 .Pa sys/elf32.h と .Pa sys/elf64.h の両方をインクルードする必要があります。 さらに、全てのタイプと構造体は、 .Dq Elf32_xxx か .Dq Elf64_xxx によって区別する必要があります。 マクロは、 .Dq ELF32_xxx または .Dq ELF64_xxx によって区別する必要があります。 .Pp システムのアーキテクチャがたとえ何であっても、常に .Pa sys/elf_generic.h だけでなく、 .Pa sys/elf_common.h もインクルードします。 .Pp これらのヘッダファイルでは、 上で言及したヘッダを C 構造体として記述し、 これに加えて動的セクションと 再配置セクションとシンボルテーブルのための構造体を含んでいます。 .Pp 以下のタイプが、32 ビットアーキテクチャのために使われています: .Bd -literal -offset indent Elf32_Addr 符号無しプログラムアドレス Elf32_Half 符号無しハーフワードフィールド Elf32_Off 符号無しファイルオフセット Elf32_Sword 符号付き大整数 Elf32_Word フィールドまたは符号無し大整数 Elf32_Size 符号無しオブジェクトサイズ .Ed .Pp 64 ビットアーキテクチャ用に以下のタイプが用意されています: .Bd -literal -offset indent Elf64_Addr 符号無しプログラムアドレス Elf64_Half 符号無しハーフワードフィールド Elf64_Off 符号無しファイルオフセット Elf64_Sword 符号付き大整数 Elf64_Word フィールドまたは符号無し大整数 Elf64_Size 符号無しオブジェクトサイズ Elf64_Quarter 符号無しクォータワードフィールド .Ed .Pp ELF ファイルフォーマットが定義する全てのデータ構造は、 関連するクラスのために .Dq 自然な サイズと境界調整のガイドラインに従っています。 -必要ならば、データ構造は、4 バイトオブジェクトが +必要ならば、データ構造は、4 バイトオブジェクトが 4 バイト境界となることを保証するために、 構造体のサイズを強制的に 4 の倍数にするとかいった手段で、 明示的なパディングを含めます。 .Pp ELF ヘッダは、Elf32_Ehdr 型または Elf64_Ehdr 型によって記述されています: .Bd -literal -offset indent typedef struct { unsigned char e_ident[EI_NIDENT]; Elf32_Half e_type; Elf32_Half e_machine; Elf32_Word e_version; Elf32_Addr e_entry; Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32_Word e_flags; Elf32_Half e_ehsize; Elf32_Half e_phentsize; Elf32_Half e_phnum; Elf32_Half e_shentsize; Elf32_Half e_shnum; Elf32_Half e_shstrndx; } Elf32_Ehdr; .Ed .Pp .Bd -literal -offset indent typedef struct { unsigned char e_ident[EI_NIDENT]; Elf64_Quarter e_type; Elf64_Quarter e_machine; Elf64_Half e_version; Elf64_Addr e_entry; Elf64_Off e_phoff; Elf64_Off e_shoff; Elf64_Half e_flags; Elf64_Quarter e_ehsize; Elf64_Quarter e_phentsize; Elf64_Quarter e_phnum; Elf64_Quarter e_shentsize; Elf64_Quarter e_shnum; Elf64_Quarter e_shstrndx; } Elf64_Ehdr; .Ed .Pp フィールドは、以下の意味を持っています: .Pp .Bl -tag -width "e_phentsize" -compact -offset indent .It Dv e_ident このバイト配列はファイルをどのように解釈すべきかを指定します。 これは、プロセッサまたはファイルの残りの内容から独立しています。 この配列中の全要素は、 .Sy EI_ で開始するマクロにより名付けられ、また先頭に .Sy ELF がついた値を持ち得ます。 以下のマクロが定義されています: .Pp .Bl -tag -width "EI_ABIVERSION" -compact .It Dv EI_MAG0 マジック番号の第 1 のバイト。 .Sy ELFMAG0 であることが必要です。 .It Dv EI_MAG1 マジック番号の第 2 のバイト。 .Sy ELFMAG1 であることが必要です。 .It Dv EI_MAG2 マジック番号の第 3 のバイト。 .Sy ELFMAG2 であることが必要です。 .It Dv EI_MAG3 マジック番号の第 4 のバイト。 .Sy ELFMAG3 であることが必要です。 .It Dv EI_CLASS 第 5 のバイトは、当該のバイナリファイルのアーキテクチャを識別します: .Pp .Bl -tag -width "ELFCLASSNONE" -compact .It Dv ELFCLASSNONE このクラスは、不当です。 .It Dv ELFCLASS32 これは、32 ビットアーキテクチャを定義します。 ファイル空間と仮想アドレス空間が 4 ギガバイトまでにおさまる マシンに対応します。 .It Dv ELFCLASS64 これは、64 ビットアーキテクチャを定義します。 .El .It Dv EI_DATA 第 6 のバイトは、 ファイルのプロセッサ固有データのエンコーディングを指定します。 現在、次のエンコーディングがサポートされています: .Pp .Bl -tag -width "ELFDATA2LSB" -compact .It Dv ELFDATANONE 未知のデータフォーマット。 .It Dv ELFDATA2LSB 2 の補数、リトルエンディアン。 .It Dv ELFDATA2MSB 2 の補数、ビッグエンディアン。 .El .It Dv EI_VERSION ELF 仕様書のバージョンナンバ: .Pp .Bl -tag -width "EV_CURRENT" -compact .It Dv EV_NONE 不当なバージョン。 .It Dv EV_CURRENT 現在のバージョン。 .El .It Dv EI_OSABI このバイトは、オブジェクトの対象である、 オペレーティングシステムと ABI を識別します。 他の ELF 構造中のフィールドには、 プラットフォーム依存の意味のものがあります。 そのようなフィールドの解釈は、このバイトの値で決定されます。 次の値が現在定義されています: .Pp .Bl -tag -width "ELFOSABI_STANDALONE" -compact .It Dv ELFOSABI_SYSV UNIX System V ABI。 .It Dv ELFOSABI_HPUX HP-UX オペレーティングシステム ABI。 .It Dv ELFOSABI_NETBSD NetBSD オペレーティングシステム ABI。 .It Dv ELFOSABI_LINUX GNU/Linux オペレーティングシステム ABI。 .It Dv ELFOSABI_HURD GNU/Hurd オペレーティングシステム ABI。 .It Dv ELFOSABI_86OPEN 86Open Common IA32 ABI。 .It Dv ELFOSABI_SOLARIS Solaris オペレーティングシステム ABI。 .It Dv ELFOSABI_MONTEREY Monterey プロジェクト ABI。 .It Dv ELFOSABI_IRIX IRIX オペレーティングシステム ABI。 .It Dv ELFOSABI_FREEBSD FreeBSD オペレーティングシステム ABI。 .It Dv ELFOSABI_TRU64 TRU64 UNIX オペレーティングシステム ABI。 .It Dv ELFOSABI_ARM ARM アーキテクチャ ABI。 .It Dv ELFOSABI_STANDALONE Standalone (組み込み) ABI。 .El .It Dv EI_ABIVERSION このバイトは、オブジェクトの対象である ABI のバージョンを識別します。 このフィールドは、同じ ABI でも、 互換性の無いもの同士を区別するために使用されます。 バージョン番号の解釈は、EI_OSABI フィールドで識別される ABI に依存します。 この仕様に準拠するアプリケーションは、値 0 を使用します。 .It Dv EI_PAD パディングの始め。 これらのバイトは、予約されており、0 にセットされます。 ここを読むプログラムは、これを無視する必要があります。 将来、現在使っていないバイトに意味が与えられた時には、 EI_PAD の値は変わります。 .It Dv EI_BRAND アーキテクチャ識別子の始め。 .It Dv EI_NIDENTT e_ident 配列の大きさ。 .El .Pp .It Dv e_type 構造体のこのメンバは、オブジェクトファイルタイプを識別します: .Pp .Bl -tag -width "ET_NONE" -compact .It Dv ET_NONE 未知のタイプ。 .It Dv ET_REL 再配置可能なファイル。 .It Dv ET_EXEC 実行可能ファイル。 .It Dv ET_DYN 共有オブジェクト。 .It Dv ET_CORE コアファイル。 .El .Pp .It Dv e_machine このメンバは、個々のファイルに必要なアーキテクチャを指定します: .Pp .Bl -tag -width "EM_MIPS_RS4_BE" -compact .It Dv EM_NONE 未知のマシン。 .It Dv EM_M32 AT&T WE 32100 .It Dv EM_SPARC Sun Microsystems SPARC. .It Dv EM_386 Intel 80386. .It Dv EM_68K Motorola 68000 .It Dv EM_88K Motorola 88000 .It Dv EM_486 Intel 80486 .It Dv EM_860 Intel 80860 .It Dv EM_MIPS MIPS RS3000 (ビッグエンディアンのみ) .It Dv EM_MIPS_RS4_BE MIPS RS4000 (ビッグエンディアンのみ) .It Dv EM_SPARC64 SPARC v9 64-bit 非公式 .It Dv EM_PARISC HPPA .It Dv EM_PPC PowerPC .It Dv EM_ALPHA Compaq [DEC] Alpha .El .Pp .It Dv e_version このメンバは、ファイルバージョンを識別します: .Pp .Bl -tag -width "EV_CURRENT" -compact .It Dv EV_NONE 不当なバージョン。 .It Dv EV_CURRENT 現在のバージョン。 .El .It Dv e_entry このメンバは、システムが最初に制御を移す、 つまりプロセスを開始する仮想アドレスを示します。 ファイルにエントリポイントがないならば、このメンバは 0 になります。 .It Dv e_phoff このメンバは、 プログラムヘッダテーブルのバイト単位のファイルオフセットを持ちます。 .It Dv e_shoff このメンバは、 セクションヘッダテーブルのバイト単位のファイルオフセットを持ちます。 ファイルにセクションヘッダテーブルがないならば、このメンバは 0 になります。 .It Dv e_flags このメンバは、ファイルに関連する、プロセッサに固有なフラグを持ちます。 フラグ名は、EF_`machine_flag' という形式になります。 現在、定義されたフラグはありません。 .It Dv e_ehsize このメンバは、ELF ヘッダのバイト単位の大きさを持ちます。 .It Dv e_phentsize このメンバは、 ファイルのプログラムヘッダテーブルにあるエントリ 1 個分のサイズを持ちます。 全てのエントリは、同じ大きさです。 .It Dv e_phnum このメンバは、プログラムヘッダテーブル中のエントリの個数を持ちます。 つまり、 .Sy e_phentsize と .Sy e_phnum の積は、テーブルのバイト単位の大きさを与えます。 ファイルにプログラムヘッダがないならば、 .Sy e_phnum の値は 0 になります。 .It Dv e_shentsize このメンバは、セクションヘッダのバイト単位の大きさを持ちます。 セクションヘッダは、 セクションヘッダテーブルの中の 1 つのエントリです; 全てのエントリは、同じ大きさです。 .It Dv e_shnum このメンバは、セクションヘッダテーブル中のエントリの個数を持ちます。 つまり、 .Sy e_shentsize と .Sy e_shnum の積は、セクションヘッダテーブルのバイト単位の大きさを与えます。 ファイルにセクションヘッダテーブルがないならば、 .Sy e_shnum -の値は 0 になります。 +の値は 0 になります。 .It Dv e_shstrndx このメンバは、 セクションヘッダテーブルの、 セクション名文字列テーブルに結びつけられたエントリへの インデックスを持ちます。 ファイルにセクション名文字列テーブルがないならば、 このメンバは値 .Sy SHN_UNDEF を持ちます。 .Pp .Bl -tag -width "SHN_LORESERVE" -compact .It Dv SHN_UNDEF この値は、未定義か、存在しないか、無関係であるか、 意味がないセクション参照を示します。 例えば、セクション番号 .Sy SHN_UNDEF からの相対で .Dq 定義 されるシンボルは、未定義シンボルです。 .\" For example, symbols defined relative to section number SHN_ABS .\" have absolute values and are not affected by relocation. .\" と同じ形式の文章。 .It Dv SHN_LORESERVE この値は、予約のインデックスの範囲の下限を指定します。 .It Dv SHN_LOPROC この値から .Sy SHN_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_HIPROC この値から .Sy SHN_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_ABS この値は、対応する参照のために絶対的な値を指定します。 例えば、 -.Sy SHN_ABS +.Sy SHN_ABS からの相対で定義されるシンボルは、絶対的な値を持ち、 再配置による影響を受けません。 .It Dv SHN_COMMON このセクションからの相対で定義されるシンボルは、共通シンボルであり、 Fortran の COMMON や領域が確保されていない C の 外部変数が該当します。 .It Dv SHN_HIRESERVE この値は、予約インデックス範囲の上限を指定します。 この範囲は、 .Sy SHN_LORESERVE と .Sy SHN_HIRESERVE の間であり、両端を含みます。 これらの値は、セクションヘッダテーブルを参照しません。 セクションヘッダテーブルは予約のインデックスのためにエントリを .Em 含みません。 .El .El .Pp 実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 構造体の配列です。 各構造体は、 プログラム実行にシステムが必要とする、セグメント等の情報を記述します。 オブジェクトファイルの .Em セグメント は、1 つ以上の .Em セクション を含みます。 プログラムヘッダは、 実行可能ファイルと共有オブジェクトファイルだけで意味があります。 ファイルは、ELF ヘッダの .Sy e_phentsize と .Sy e_phnum メンバでそれ自身のプログラムヘッダサイズを指定します。 ELF 実行形式のヘッダと同様に、 プログラムヘッダもアーキテクチャに従い異なるバージョンを持ちます: .Pp .Bd -literal -offset indent typedef struct { Elf32_Word p_type; Elf32_Off p_offset; Elf32_Addr p_vaddr; Elf32_Addr p_paddr; Elf32_Size p_filesz; Elf32_Size p_memsz; Elf32_Word p_flags; Elf32_Size p_align; } Elf32_Phdr; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half p_type; Elf64_Half p_flags; Elf64_Off p_offset; Elf64_Addr p_vaddr; Elf64_Addr p_paddr; Elf64_Size p_filesz; Elf64_Size p_memsz; Elf64_Size p_align; } Elf64_Phdr; .Ed .Pp 32 ビットと 64 ビットのプログラムヘッダの間の主な差は、 構造体中の .Sy p_flags メンバの位置だけです。 .Pp .Bl -tag -width "p_offset" -compact -offset indent .It Dv p_type 構造体 Phdr のこのメンバは、この配列要素が記述しているセグメントの種類を示し、 どのように配列要素を解釈すべきかを示します。 .Bl -tag -width "PT_DYNAMIC" -compact .Pp .It Dv PT_NULL この配列要素は使っていません。また、他のメンバの値は未定義です。 これにより、プログラムヘッダ中に無視されるエントリを持てます。 .It Dv PT_LOAD この配列要素は、ロード可能なセグメントを指定します。 これは .Sy p_filesz と .Sy p_memsz で記述されます。 ファイルからのバイトは、メモリセグメントの先頭にマップされます。 セグメントのメモリサイズ .Pq Sy p_memsz がファイルサイズ .Pq Sy p_filesz より大きいならば、 .Dq 余分な バイトは、値 0 を持って、 セグメントの初期化された領域に続くものと定義されます。 ファイルサイズは、メモリサイズを越えてはなりません。 プログラムヘッダテーブルの中のロード可能な セグメントエントリは、昇順で現れます。 そして、 .Sy p_vaddr メンバでソートされます。 .It Dv PT_DYNAMIC この配列要素は、動的リンク情報を指定します。 .It Dv PT_INTERP この配列要素は、 インタープリタとして起動するナル文字で終わるパス名の場所と大きさを指定します。 このセグメントタイプは、実行可能ファイルのみで意味があります (本セグメントタイプは、共有オブジェクト中にあるかもしれません)。 本セグメントは、ファイル中で複数個存在してはなりません。 存在する場合、 全ロード可能セグメントエントリに先行する必要があります。 .It Dv PT_NOTE この配列要素は、補助情報のために場所と大きさを指定します。 .It Dv PT_SHLIB このセグメントタイプは、 予約されており、明記されていないセマンティクスを持ちます。 このタイプの配列要素を含むプログラムは、ABI に従いません。 .It Dv PT_PHDR この配列要素が存在する場合、 ファイル中とメモリイメージ中における、 プログラムヘッダテーブル自身の位置と大きさを指定します。 本セグメントタイプは、ファイル中で複数個存在してはなりません。 さらに、 プログラムヘッダテーブルがプログラムのメモリイメージに含まれる場合のみ、 存在が許されます。 存在する場合、 全ロード可能セグメントエントリに先行する必要があります。 .It Dv PT_LOPROC この値から .Sy PT_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv PT_HIPROC この値から .Sy PT_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .El .Pp .It Dv p_offset このメンバは、セグメントの最初のバイトへの、 ファイル先頭からのオフセットを持ちます。 .It Dv p_vaddr このメンバは、 セグメントの最初のバイトがメモリで存在する仮想アドレスを持ちます。 .It Dv p_paddr 物理アドレッシングのシステム上では、 このメンバは、セグメントの物理アドレスのために予約されています。 BSD では、本メンバは使されず、0 である必要があります。 .It Dv p_filesz このメンバは、セグメントのファイルイメージのバイト数を持ちます。 0 であるかもしれません。 .It Dv p_memsz このメンバは、セグメントのメモリイメージのバイト数を持ちます。 0 であるかもしれません。 .It Dv p_flags このメンバは、セグメントに関したフラグを持ちます。 .Pp .Bl -tag -width "PF_X" -compact .It Dv PF_X 実行可能セグメント。 .It Dv PF_W 書き込み可能なセグメント。 .It Dv PF_R 読み取り可能なセグメント。 .El .Pp テキストセグメントは、一般にフラグ .Sy PF_X と .Sy PF_R を持ちます。 データセグメントは、一般に -.Sy PF_X , +.Sy PF_X , .Sy PF_W と .Sy PF_R を持ちます。 .It Dv p_align このメンバは、メモリ中およびファイル中でセグメントが整列すべき値を持ちます。 ロード可能なプロセスは、 .Sy p_vaddr と .Sy p_offset をページサイズで割った余りに適合する値を持つ必要があります。 0 と 1 の値は、境界調整が不要であることを意味します。 そうでない場合、 .Sy p_align は、正 (2 の整数乗) である必要があります。そして、 .Sy p_vaddr は .Sy p_offset を -.Sy p_align +.Sy p_align で割った余りと等しい必要があります。 .El .Pp ファイルのセクションヘッダテーブルは、 全てのファイルのセクションの位置決定を可能とします。 セクションヘッダテーブルは、Elf32_Shdr または Elf64_Shdr 構造体の配列です。 ELF ヘッダの .Sy e_shoff メンバは、 セクションヘッダテーブルの、ファイル先頭からのバイトオフセットを与えます。 .Sy e_shnum は、セクションヘッダテーブルのエントリ数を持ちます。 .Sy e_shentsize は、各エントリの大きさをバイトで持ちます。 .Pp セクションヘッダテーブルインデックスは、この配列の添字です。 セクションヘッダテーブルインデックスには、予約のものがあります。 オブジェクトファイルには、次の特別なインデックスにはセクションがありません: .Pp .Bl -tag -width "SHN_LORESERVE" -compact .It Dv SHN_UNDEF この値は、未定義か、存在しないか、無関係であるか、 意味がないセクション参照を示します。 .It Dv SHN_LORESERVE この値は、予約のインデックスの範囲の下限を指定します。 .It Dv SHN_LOPROC この値から .Sy SHN_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_HIPROC この値から .Sy SHN_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_ABS この値は、対応する参照が絶対値であることを指定します。 例えば、セクション番号 -.Sy SHN_ABS +.Sy SHN_ABS からの相対で定義されてるシンボルは、絶対的な数値を持ち、 再配置によって影響を受けません。 .It Dv SHN_COMMON このセクションからの相対で定義されるシンボルは、共通シンボルであり、 Fortran の COMMON や領域が確保されていない C の外部変数が該当します。 .It Dv SHN_HIRESERVE この値は、予約インデックス範囲の上限を指定します。 この範囲は、 .Sy SHN_LORESERVE と .Sy SHN_HIRESERVE の間であり、両端を含みます。 セクションヘッダテーブルは、予約のインデックスのためにエントリを含みません。 .El .Pp セクションヘッダは、以下の構造体を持ちます: .Bd -literal -offset indent typedef struct { Elf32_Word sh_name; Elf32_Word sh_type; Elf32_Word sh_flags; Elf32_Addr sh_addr; Elf32_Off sh_offset; Elf32_Size sh_size; Elf32_Word sh_link; Elf32_Word sh_info; Elf32_Size sh_addralign; Elf32_Size sh_entsize; } Elf32_Shdr; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half sh_name; Elf64_Half sh_type; Elf64_Size sh_flags; Elf64_Addr sh_addr; Elf64_Off sh_offset; Elf64_Size sh_size; Elf64_Half sh_link; Elf64_Half sh_info; Elf64_Size sh_addralign; Elf64_Size sh_entsize; } Elf64_Shdr; .Ed .Pp .Bl -tag -width "sh_addralign" -compact .It Dv sh_name このメンバは、セクションの名前を指定します。 その値は、セクションヘッダ文字列テーブルセクションへの インデックスであり、ナル文字で終わる文字列の場所を与えます。 .It Dv sh_type このメンバは、セクションの内容とセマンティクスを分類します。 .Pp .Bl -tag -width "SHT_PROGBITS" -compact .It Dv SHT_NULL この値は、セクションヘッダが不活性であることを示します。 関連づけられたセクションを持ちません。 セクションヘッダの他のメンバは、未定義値を持ちます。 .It Dv SHT_PROGBITS このセクションは、プログラムによって定義される情報を持ちます。 フォーマットと意味は、プログラムだけによってのみ決定されます。 .It Dv SHT_SYMTAB このセクションは、シンボルテーブルを持ちます。 一般的に、 .Sy SHT_SYMTAB はリンクエディットのためのシンボルを提供します。 これはまた、動的リンクにも使用可能です。 これは完全なシンボルテーブルであるため、 動的リンクのためには不必要な多くのシンボルを含む場合があります。 オブジェクトファイルは、 .Sy SHN_DYNSYM セクションも含むことができます。 .It Dv SHT_STRTAB このセクションは、文字列テーブルを持ちます。 オブジェクトファイルは、複数の文字列テーブルセクションを持ち得ます。 .It Dv SHT_RELA このセクションは、明示的な加数を持つ、再配置エントリを持ちます。 例えば、オブジェクトファイルの 32 ビットクラスのタイプ .Sy Elf32_Rela が該当します。 オブジェクトは、複数の再配置セクションを持ち得ます。 .It Dv SHT_HASH このセクションは、シンボルハッシュテーブルを持ちます。 動的リンクに関連する全オブジェクトは、 シンボルハッシュテーブルを含む必要があります。 オブジェクトファイルは、単一のハッシュテーブルのみを持ち得ます。 .It Dv SHT_DYNAMIC このセクションは、動的リンクのために情報を持ちます。 オブジェクトファイルは、単一の動的セクションのみを持ち得ます。 .It Dv SHT_NOTE このセクションは、いくばくかの方法でファイルに印をする情報を持ちます。 .It Dv SHT_NOBITS このタイプのセクションは、ファイル中の空間を占有しませんが、 .Sy SHN_PROGBITS に似ています。 このセクションはバイトを含みませんが、 .Sy sh_offset メンバは概念上のファイルオフセットを含みます。 .It Dv SHT_REL このセクションは、明示的な加数無しの再配置オフセットを持ちます。 例えば、オブジェクトファイルの 32 ビットクラスのタイプ .Sy Elf32_Rel が該当します。 オブジェクトファイルは、複数の再配置セクションを持ち得ます。 .It Dv SHT_SHLIB このセクションは、予約されており、明記されていないセマンティクスを持ちます。 .It Dv SHT_DYNSYM このセクションは、動的リンクシンボルの最小のセットを持ちます。 オブジェクトファイルは、 .Sy SHN_SYMTAB セクションも含むことができます。 .It Dv SHT_LOPROC この値から .Sy SHT_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHT_HIPROC この値から .Sy SHT_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHT_LOUSER この値は、アプリケーションプログラムのために予約されている インデックス範囲の下限を指定します。 .It Dv SHT_HIUSER この値は、アプリケーションプログラムのために予約されている インデックス範囲の上限を指定します。 .Sy SHT_LOUSER と .Sy SHT_HIUSER の間のセクションタイプは、 アプリケーションによって使用可能であり、 現在または将来のシステム定義セクションタイプと衝突しません。 .El .Pp .It Dv sh_flags セクションは、雑多な属性を記述する 1 ビットフラグをサポートします。 フラグビットが .Sy sh_flags でセットされるならば、そのセクションの属性は .Dq オン になります。 そうでなければ、属性は .Dq オフ であるか、あてはまりません。 未定義属性は、0 にセットされます。 .Pp .Bl -tag -width "SHF_EXECINSTR" -compact .It Dv SHF_WRITE セクションは、プロセス実行の間、書き込み可能であるべきデータを含みます。 .It Dv SHF_ALLOC セクションは、プロセス実行の間、メモリを占有します。 制御セクションには、 オブジェクトファイルのメモリイメージで存在しないものがあります。 そのようなセクションでは、この属性はオフです。 .It Dv SHF_EXECINSTR セクションは、実行可能な機械語命令を含みます。 .It Dv SHF_MASKPROC このマスクで含まれる全てのビットは、 プロセッサ固有のセマンティクスのために確保されます。 .El .Pp .It Dv sh_addr セクションがプロセスのメモリイメージに現れる場合、 このメンバは、セクションの最初のバイトが存在するアドレスを持ちます。 そうでない場合、このメンバは 0 を含みます。 .It Dv sh_offset このメンバ値は、 このセクションの、ファイル先頭からのバイトオフセットを与えます。 1 つのセクションタイプ、すなわち .Sy SHT_NOBITS は、ファイル中の空間を占有せず、 その .Sy sh_offset メンバは、ファイル中の概念上の位置を指定します。 .It Dv sh_size このメンバは、セクションのバイトでの大きさを持ちます。 セクションタイプが .Sy SHT_NOBITS でない限り、セクションはファイル中の .Sy sh_size バイトを占有します。 タイプ .Sy SHT_NOBITS のセクションは 0 以外の大きさを持ち得ますが、 ファイル中の空間を占有しません。 .It Dv sh_link このメンバは、 セクションヘッダテーブルインデックスリンクを持ちます。 この解釈は、セクションタイプ依存です。 .It Dv sh_info このメンバは、 追加情報を持ちます。 この解釈は、セクションタイプ依存です。 .It Dv sh_addralign 若干のセクションには、アドレス境界の制約があります。 セクションがダブルワードを持つならば、 システムはダブルワード境界を セクション全体に保証する必要があります。 .Sy sh_addr の値は、 .Sy sh_addralign で割った値が 0 となることが必要です。 '\" ここよくわからん。 0 と正の 2 の羃乗だけが許されます。0 または 1 の値は、 セクションには境界の制約がないことを意味します。 .It Dv sh_entsize 若干のセクションは、 固定長エントリのテーブルを持ちます。 例えばシンボルテーブルがこれに該当します。 そのようなセクションのために、 このメンバは、各エントリのバイトでの大きさを与えます。 セクションが固定サイズのエントリのテーブルを持たないならば、 このメンバは 0 を含みます。 .El .Pp 様々なセクションが、プログラムと制御情報を持ちます: .Bl -tag -width ".shstrtab" -compact .It .bss このセクションは初期化されないデータを持ち、 プログラムのメモリイメージになります。 定義では、 プログラム開始時にシステムがデータを 0 初期化します。 このセクションは、タイプ .Sy SHT_NOBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .comment このセクションは、バージョン制御情報を持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .data このセクションは初期化されたデータを持ち、 プログラムのメモリイメージになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .data1 このセクションは初期化されたデータを持ち、 プログラムのメモリイメージになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .debug このセクションは、シンボリックデバッギングのための情報を持ちます。 内容は、明記されていません。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .dynamic このセクションは、動的リンク情報を持ちます。 セクションの属性は、 .Sy SHF_ALLOC ビットを含みます。 .Sy SHF_WRITE ビットがセットされるか否かは、プロセッサ依存です。 このセクションは、タイプ .Sy SHT_DYNAMIC です。 上の属性を見てください。 .It .dynstr このセクションは、動的リンクのために必要とされる文字列を持ちます。 そして一般には、名前を表現する文字列であり、 シンボルテーブルエントリと結び付けられています。 このセクションは、タイプ .Sy SHT_STRTAB です。 使われる属性タイプは、 .Sy SHF_ALLOC です。 .It .dynsym このセクションは、動的リンクシンボルテーブルを持ちます。 このセクションは、タイプ .Sy SHT_DYNSYM です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .fini このセクションは、プロセス終了コードの実行可能命令を持ちます。 プログラムの正常終了時に、 システムはこのセクションのコードを実行します。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .It .got このセクションは、グローバルオフセットテーブルを持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性は、プロセッサ依存です。 .It .hash このセクションは、シンボルハッシュテーブルを持ちます。 このセクションは、タイプ .Sy SHT_HASH です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .init このセクションは、プロセス初期化コードの実行可能命令を持ちます。 プログラム実行開始時に、 メインプログラムエントリポイントを呼び出す前に、 システムはこのセクションのコードを実行します。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .It .interp このセクションは、プログラムインタプリタのパス名を持ちます。 ファイルがこのセクションを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_PROGBITS です。 .It .line このセクションはシンボリックデバッギングのために行番号情報を持ちます。 これは、プログラムソースとマシンコードの間の関係を記述します。 内容は、明記されていません。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .note このセクションは、下で記述される .Dq Note Section フォーマットで、情報を持ちます。 このセクションは、タイプ .Sy SHT_NOTE です。 属性タイプは使われません。 .It .plt このセクションは、プロシージャリンケージテーブルを持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性はプロセッサ依存です。 .It .relNAME このセクションは、下記のように再配置情報を持ちます。 ファイルが再配置を含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 規約により、再配置されるセクションから .Dq NAME が与えられます。 .Sy .text のための再配置セクションは、通常名前 .Sy .rel.text を持ちます。 このセクションは、タイプ .Sy SHT_REL です。 .It .relaNAME このセクションは、下記のように再配置情報を持ちます。 ファイルが再配置を含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 規約により、再配置されるセクションから .Dq NAME が与えられます。 .Sy .text のための再配置セクションは、通常名前 .Sy .rela.text を持ちます。 このセクションは、タイプ .Sy SHT_RELA です。 .It .rodata このセクションは読み取り専用データを持ち、 典型的にはプロセスイメージの書き込み不可セグメントになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .rodata1 このセクションは読み取り専用データを持ち、 典型的にはプロセスイメージの書き込み不可セグメントになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .shstrtab このセクションはセクション名を持ちます。 このセクションは、タイプ .Sy SHT_STRTAB です。 属性タイプは使われません。 .It .strtab このセクションは文字列を持ちます。 一般的には名前を表示する文字列であり、 シンボルテーブルエントリと結び付けられています。 ファイルがシンボル文字列テーブルを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_STRTAB です。 .It .symtab このセクションは、シンボルテーブルを持ちます。 ファイルがシンボルテーブルを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_SYMTAB です。 .It .text このセクションは、プログラムの .Dq テキスト 、すなわち実行可能命令を持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .El .Pp 文字列テーブルセクションは、ナル文字で終わる文字シーケンス群を持ちます。 これらは、一般に文字列と呼ばれます。 オブジェクトファイルは、 シンボルとセクション名を表現するためにこれらの文字列を使います。 文字列テーブルセクションのインデックスとして、文字列を参照します。 最初のバイト (インデックス 0) は、 単一のナル文字を持つと定義されます。 同様に、文字列テーブルの最終バイトはナル文字であると定義されので、 文字列全体がナル終端されていることを保証します。 -.Pp +.Pp オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照の位置決定に必要な情報を保持します。 シンボルテーブルインデックスは、この配列の添字です。 .Pp .Bd -literal -offset indent typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Size st_size; unsigned char st_info; unsigned char st_other; Elf32_Half st_shndx; } Elf32_Sym; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half st_name; unsigned char st_info; unsigned char st_other; Elf64_Quarter st_shndx; Elf64_Addr st_value; Elf64_Size st_size; } Elf64_Sym; .Ed .Pp .Bl -tag -width "st_value" -compact .It Dv st_name このメンバは、オブジェクトファイルの シンボル文字列テーブルへのインデックスを持ちます。 シンボル文字列テーブルは、シンボル名の文字表現を持ちます。 値が 0 以外であるならば、 それはシンボル名を与える文字列テーブルインデックスを示します。 そうでない場合、シンボルテーブルには名前がありません。 .It Dv st_value このメンバは、関連したシンボルの値を与えます。 .It Dv st_size 多くのシンボルは、関連した大きさを持ちます。 シンボルには大きさが無いか未知である場合、このメンバは 0 です。 .It Dv st_info このメンバは、シンボルのタイプと束縛属性を指定します: .Pp .Bl -tag -width "STT_SECTION" -compact .It Dv STT_NOTYPE シンボルのタイプは、定義されません。 .It Dv STT_OBJECT シンボルは、データオブジェクトと結び付けられています。 .It Dv STT_FUNC シンボルは、関数または他の実行可能コードと結び付けられています。 .It Dv STT_SECTION シンボルは、セクションと結び付けられています。 このタイプのシンボルテーブルエントリは、 主に再配置のために存在して、通常 .Sy STB_LOCAL 束縛を持ちます。 .It Dv STT_FILE 規約により、シンボルの名前は、 オブジェクトファイルと関連するソースファイルの名前を与えます。 存在する場合、ファイルシンボルは .Sy STB_LOCAL 束縛を持ち、そのセクションインデックスは .Sy SHN_ABS であり、 それはファイルの他の .Sy STB_LOCAL シンボルに先行します。 .It Dv STT_LOPROC この値から .Sy STT_HIPROC 以下は、プロセッサに固有のセマンティクスのために予約されています。 .It Dv STT_HIPROC この値から .Sy STT_LOPROC 以上は、プロセッサに固有のセマンティクスのために予約されています。 .El .Pp .Bl -tag -width "STB_GLOBAL" -compact .It Dv STB_LOCAL ローカルなシンボルは、 それらの定義を含んでいるオブジェクトファイルの外側には、見えません。 同じ名前のローカルなシンボルは、 お互いのじゃまをすることなく複数ファイルで存在し得ます。 .It Dv STB_GLOBAL グローバルシンボルは、結合されている全てのオブジェクトファイルから見えます。 あるファイルによるグローバルシンボルの定義は、 別ファイルの同じシンボルの未定義参照を満足させます。 .It Dv STB_WEAK 弱いシンボルはグローバルシンボルに似ています。 しかし、彼らの定義は低い優先順位を持ちます。 .It Dv STB_LOPROC この値から .Sy STB_HIPROC 以下は、プロセッサに固有のセマンティクスのために予約されています。 .It Dv STB_HIPROC この値から .Sy STB_LOPROC 以上は、プロセッサに固有のセマンティクスのために予約されています。 .Pp 束縛とタイプフィールドのパックおよびアンパック用のマクロがあります: .Pp .Bl -tag -width "ELF32_ST_INFO(bind, type)" -compact .It Xo .Fn ELF32_ST_BIND info .Xc または .Fn ELF64_ST_BIND info は、束縛を st_info 値から引出します。 .It Xo .Fn ELF64_ST_TYPE info .Xc または .Fn ELF32_ST_TYPE info は、タイプを st_info 値から引出します。 .It Xo .Fn ELF32_ST_INFO bind type .Xc または .Fn ELF64_ST_INFO bind type は、束縛とタイプを st_info 値へ変換します。 .El .El .Pp .It Dv st_other このメンバは、現在 0 を持ち、定義された意味を持ちません。 .It Dv st_shndx あらゆるシンボルテーブルエントリは、 なんらかの動作に関して .Dq 定義されています 。 このメンバは、関連するセクションヘッダテーブルインデックスを持ちます。 .El .Pp 再配置は、シンボル参照とシンボル定義を接続する処理です。 再配置可能なファイルは、それらのセクション内容の 修正方法を記述する情報を持つ必要があります。 このようにして、実行可能ファイルと共有オブジェクトファイルが、 プロセスのプログラムイメージのための正しい情報を持てます。 再配置エントリは、これらのデータです。 .Pp 加数を必要としない再配置構造体: .Pp .Bd -literal -offset indent typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; } Elf32_Rel; .Ed .Bd -literal -offset indent typedef struct { Elf64_Addr r_offset; Elf64_Size r_info; } Elf64_Rel; .Ed .Pp 加数を必要とする再配置構造体: .Pp .Bd -literal -offset indent typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; Elf32_Sword r_addend; } Elf32_Rela; .Ed .Bd -literal -offset indent typedef struct { Elf64_Addr r_offset; Elf64_Size r_info; Elf64_Off r_addend; } Elf64_Rela; .Ed .Pp .Bl -tag -width "r_offset" -compact .It Dv r_offset このメンバは、再配置動作を適用する場所を与えます。 再配置可能なファイルでは、 値は、再配置によって影響を受ける記憶単位の セクション先頭からのバイトオフセットです。 実行可能ファイルまたは共用オブジェクトでは、 値は、再配置によって影響を受ける記憶単位の仮想アドレスです。 .It Dv r_info このメンバは、 再配置されるシンボルテーブルインデックスと、 使用する再配置のタイプを与えます。 再配置タイプは、プロセッサ依存です。 テキストが再配置エントリの再配置タイプまたは シンボルテーブルインデックスを参照するとき、 エントリの .Sy r_info メンバに対し、それぞれ .Sy ELF_[32|64]_R_TYPE または .Sy ELF[32|64]_R_SYM を適用する結果を意味しています。 .It Dv r_addend このメンバは、定数の加数を指定します。 これは、再配置可能なフィールドに 格納される値を計算するために使用されます。 .El .Sh 関連項目 .Xr as 1 , .Xr gdb 1 , .Xr ld 1 , .Xr objdump 1 , .Xr execve 2 , .Xr core 5 .Rs .%A Hewlett Packard .%B Elf-64 Object File Format .Re .Rs .%A Santa Cruz Operation .%B System V Application Binary Interface .Re .Rs .%A Unix System Laboratories .%T Object Files .%B "Executable and Linking Format (ELF)" .Re .Sh 歴史 ELF ヘッダファイルは、 .Fx 2.2.6 で登場しました。 ELF 自身は、最初に .At V で登場しました。 ELF フォーマットは、標準として採用されています。 .Sh 作者 このマニュアルページは、BSDi の BSD/OS .Xr elf 5 のマニュアルページに触発されて、 -.An Jeroen Ruigrok van der Werven +.An Jeroen Ruigrok van der Werven .Aq asmodai@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man5/fbtab.5 b/ja_JP.eucJP/man/man5/fbtab.5 index 2217ae5471..0027afe884 100644 --- a/ja_JP.eucJP/man/man5/fbtab.5 +++ b/ja_JP.eucJP/man/man5/fbtab.5 @@ -1,49 +1,49 @@ .\" -.\" %FreeBSD: src/share/man/man5/fbtab.5,v 1.6.2.2 2000/12/14 12:14:31 ru Exp % +.\" %FreeBSD: src/share/man/man5/fbtab.5,v 1.6.2.3 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/fbtab.5,v 1.9 2001/05/14 01:09:28 horikawa Exp $ .\" .\" WORD: permission パーミッション .\" WORD: device デバイス(/dev 下のデバイスファイル関連のもの) .\" WORD: comment コメント .\" WORD: whitespace 空白 .\" WORD: ownership 所有権(ファイルの) .\" .Dd August 22, 1994 .Dt FBTAB 5 .Os FreeBSD 2.0 .Sh 名称 .Nm fbtab .Nd ログイン時にデバイスの保護状態を変更する .Sh 解説 .Nm ファイルには、 単一デバイス・複数デバイスのリスト・それらのパーミッション の 3 つを指定する行が複数個格納されます。 コメントは # から開始し、行末まで続きます。 .Pp 空行もしくはコメントのみの行は無視されます。 .Pp 他の行は空白で区切られる次の 3 フィールドからなります: ログインデバイス (/dev/ttyv0)・8 進数でのパーミッション値 (0600)・ そして ":" で区切ったデバイスリスト (/dev/console) です。 デバイス名は全て絶対パスで記述します。 \&"/*" で終るパスは "." と ".." 以外の全ディレクトリエントリを参照します。 .Pp tty 引数 (相対パス) がログインデバイス名 (絶対パス) にマッチする場合、 \&":" 区切りでリストされるデバイスのパーミッションが 第 2 フィールドで指定される値に設定され、 所有者が UID と GID 引数の値に設定されます。 .Sh 関連ファイル .Bl -tag -width /etc/fbtab -compact .It Pa /etc/fbtab .Nm ファイルは .Pa /etc にあります。 .El .Sh 関連項目 .Xr login 1 , .Xr getty 8 .Sh 作者 .An Guido van Rooij diff --git a/ja_JP.eucJP/man/man5/fdesc.5 b/ja_JP.eucJP/man/man5/fdesc.5 index 06bee83497..ad47975cef 100644 --- a/ja_JP.eucJP/man/man5/fdesc.5 +++ b/ja_JP.eucJP/man/man5/fdesc.5 @@ -1,153 +1,153 @@ .\" Copyright (c) 1996 .\" Mike Pritchard . All rights reserved. .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Jan-Simon Pendry. .\" .\" 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/man5/fdesc.5,v 1.6.2.1 2000/12/08 14:59:15 ru Exp % +.\" %FreeBSD: src/share/man/man5/fdesc.5,v 1.6.2.2 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/fdesc.5,v 1.9 2001/05/14 01:09:28 horikawa Exp $ .\" WORD: file descriptor ファイル記述子 .\" WORD: augment (union マウントによる)重ね合わせ .\" .Dd December 14, 1996 .Dt FDESC 5 .Os BSD 4.4 .Sh 名称 .Nm fdesc .Nd ファイル記述子ファイルシステム .Sh 書式 fdesc /dev fdesc rw 0 0 .Sh 解説 ファイル記述子ファイルシステム、別名 .Nm は、プロセス毎のファイル記述子の名前空間をグローバルなファイルシステムの 名前空間からアクセスする機能を提供します。 通常のマウントポイントは .Pa /dev であり、 .Pa /dev の既存のエントリを置き換えるのではなく重ね合わせるために、 ファイルシステムを union マウントする必要があります。 .Pp マウントポイントの内容は .Pa fd , .Pa stderr , .Pa stdin , -.Pa stdout +.Pa stdout および .Pa tty です。 .Pp .Pa fd はディレクトリで、その中身は、番号で表したファイルのリストとして見えます。 これらのファイルは、ディレクトリを読むプロセスが現在オープンしている ファイルに対応しています。 .Pa /dev/fd/0 から .Pa /dev/fd/# までのファイルは記述子への参照であり、 ファイルシステムを通じてアクセスすることができます。 ファイル記述子がオープンされていて、ファイルをオープンしたときのモードが 既存の記述子のモードのサブセットである場合は、システムコール呼び出し .Bd -literal -offset indent fd = open("/dev/fd/0", mode); .Ed .Pp と、システムコール呼び出し .Bd -literal -offset indent fd = fcntl(0, F_DUPFD, 0); .Ed .Pp は等価です。 .Pp ファイル .Pa /dev/stdin , .Pa /dev/stdout および .Pa /dev/stderr は .Pa /dev/fd サブディレクトリの対応するエントリへのシンボリックリンクとなります。 これらをオープンするのは、以下のシステムコール呼び出しと等価です。 .Bd -literal -offset indent fd = fcntl(STDIN_FILENO, F_DUPFD, 0); fd = fcntl(STDOUT_FILENO, F_DUPFD, 0); fd = fcntl(STDERR_FILENO, F_DUPFD, 0); .Ed .Pp .Xr open 2 呼び出し時のフラグは -.Dv O_RDONLY , +.Dv O_RDONLY , .Dv O_WRONLY および .Dv O_RDWR 以外は無視されます。 .Pp .Pa /dev/tty エントリはカレントプロセスの制御端末への間接参照です。 これは見かけ上は名前つきパイプ (FIFO) ですが、本物の制御端末デバイスと 全く同じ振舞いをします。 .Sh 関連ファイル .Bl -tag -width /dev/stderr -compact .It Pa /dev/fd/# .It Pa /dev/stdin .It Pa /dev/stdout .It Pa /dev/stderr .It Pa /dev/tty .El .Sh 関連項目 .Xr tty 4 , .Xr mount_devfs 8 , .Xr mount_fdesc 8 .Sh 歴史 -.Nm +.Nm ファイルシステムは .Bx 4.4 で最初に登場しました。 .Nm マニュアルページは .Fx 2.2 で最初に登場しました。 .Sh 作者 .An -nosplit .Nm マニュアルページは .An Mike Pritchard Aq mpp@FreeBSD.org によって書かれたもので、 .An Jan-Simon Pendry による .Xr mount_fdesc 8 マニュアルページに基づいています。 diff --git a/ja_JP.eucJP/man/man5/forward.5 b/ja_JP.eucJP/man/man5/forward.5 index 382089fe06..e50396248c 100644 --- a/ja_JP.eucJP/man/man5/forward.5 +++ b/ja_JP.eucJP/man/man5/forward.5 @@ -1,99 +1,100 @@ .\" Copyright (c) 1996 .\" Mike Pritchard . 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 Mike Pritchard and .\" contributors. .\" 4. Neither the name of the author 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 AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/forward.5,v 1.4.2.2 2001/03/06 19:08:18 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man5/forward.5,v 1.4.2.3 2001/07/21 09:16:52 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/forward.5,v 1.9 2001/05/14 01:09:28 horikawa Exp $ .\" .\" WORD: quote クォート(単一引用符または二重引用符文字のこと) .\" .Dd July 2, 1996 .Dt FORWARD 5 .Os .Sh 名称 .Nm forward .Nd メールの転送指示 .Sh 解説 .Nm .forward ファイルは、ユーザのメールの転送先の メールアドレスもしくはプログラムのリストを格納します。 このファイルが存在しない場合には、メール転送は行なわれません。 行頭に標準のシェルパイプシンボル (|) を付けることにより、 メールはプログラムの標準入力として転送されます。 引数をコマンドに渡す場合には、行全体をクォートで括る必要があります。 セキュリティ上の理由で、 .Nm .forward ファイルはメール送付先のユーザもしくは root が所有者である必要があり、 ユーザのシェルが .Pa /etc/shells にリストされている必要があります。 .Pp 例えば、 .Nm .forward ファイルが以下の行を含む場合: .Bd -literal -offset indent nobody@FreeBSD.org "|/usr/bin/vacation nobody" .Ed .Pp メールは .Aq nobody@FreeBSD.org に転送され、 単一引数 .Ar nobody を伴なってプログラム .Pa /usr/bin/vacation に転送されます。 .Pp ローカルユーザのアドレスの前にバックスラッシュ文字が付いている場合、 メールは直接そのユーザのメールスプールファイルに配送され、 更なる転送処理は回避されます。 .Pp 例えば、ユーザ chris の .Nm .forward ファイルに次の行を含む場合: .Bd -literal -offset indent chris@otherhost \echris .Ed .Pp メールの一方のコピーは .Ar chris@otherhost に転送され、 もう一方のコピーはローカルユーザ chris へのメールとして記録されます。 .Sh 関連ファイル .Bl -tag -width $HOME/.forward -compact .It Pa $HOME/.forward ユーザによる転送指示 .El .Sh 関連項目 .Xr aliases 5 , .Xr mailaddr 7 , .Xr sendmail 8 diff --git a/ja_JP.eucJP/man/man5/fs.5 b/ja_JP.eucJP/man/man5/fs.5 index b4d2c97217..f7f8cddf75 100644 --- a/ja_JP.eucJP/man/man5/fs.5 +++ b/ja_JP.eucJP/man/man5/fs.5 @@ -1,371 +1,371 @@ .\" 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. .\" .\" @(#)fs.5 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/fs.5,v 1.10.2.1 2001/03/06 19:08:18 ru Exp % +.\" %FreeBSD: src/share/man/man5/fs.5,v 1.10.2.2 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/fs.5,v 1.9 2001/05/14 01:09:28 horikawa Exp $ .\" .Dd April 19, 1994 .Dt FS 5 .Os BSD 4.2 .Sh 名称 .Nm fs , .Nm inode .Nd ファイルシステムボリュームのフォーマット .Sh 書式 .Fd #include .Fd #include .Pp .Fd #include .Fd #include .Fd #include .Fd #include .Sh 解説 ファイル .Aq Pa fs.h と .Aq Pa inode.h は、ランダムアクセスデバイス (ディスク) 上のファイルシステムオブジェクト の基本フォーマットを作成、管理する際に使われるいくつかの構造体、 定義済み変数、マクロを宣言します。 .Pp ファイルシステムはブロックサイズとブロック数から構成されており、 これらはファイルシステムのパラメータになります。 .Dv BBLOCK から始まり 大きさ .Dv BBSIZE だけ続くセクタは、 ディスクラベルといくつかの一次、二次ハードウェアブートストラッププログラム のために使われます。 .Pp 実際のファイルシステムは、 .Dv SBLOCK セクタから始まり、そこには 大きさが .Dv SBSIZE である .Em スーパブロック があります。 ファイル .Aq Pa ufs/ffs/fs.h にある以下の構造体は、スーパブロックを記述しています。 .Bd -literal /* * FFS ファイルシステムのスーパブロック */ struct fs { int32_t fs_firstfield; /* 内部スーパブロック用に使われる、歴史的な int32_t fs_unused_1; /* ファイルシステムのリンク済みリスト */ ufs_daddr_t fs_sblkno; /* ファイルシステム内のスーパブロックのアドレス */ ufs_daddr_t fs_cblkno; /* ファイルシステム内のシリンダブロックのオフセット */ ufs_daddr_t fs_iblkno; /* ファイルシステム内の inode ブロックのオフセット */ ufs_daddr_t fs_dblkno; /* cg 後の最初のデータのオフセット */ int32_t fs_cgoffset; /* シリンダ内のシリンダグループオフセット */ int32_t fs_cgmask; /* mod fs_ntrak の計算に使われる */ time_t fs_time; /* 最後に書き込まれた時刻 */ int32_t fs_size; /* fs 内のブロック数 */ int32_t fs_dsize; /* fs 内のデータブロック数 */ int32_t fs_ncg; /* シリンダグループの数 */ int32_t fs_bsize; /* fs 内の基本ブロックサイズ */ int32_t fs_fsize; /* fs 内のフラグメントブロックサイズ */ int32_t fs_frag; /* fs の 1 ブロック中のフラグメント数 */ /* 以下はコンフィギュレーションパラメータ */ int32_t fs_minfree; /* フリーブロックの最小パーセンテージ */ int32_t fs_rotdelay; /* 最適な次ブロックのための ms 数 */ int32_t fs_rps; /* 1 秒あたりのディスク回転 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */ int32_t fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */ int32_t fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */ int32_t fs_fshift; /* ``numfrags'' フラグメント数の計算 */ /* 以下はコンフィギュレーションパラメータ */ int32_t fs_maxcontig; /* 連続したブロックの最大数 */ int32_t fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_fragshift; /* フラグメントシフトするブロック */ int32_t fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */ int32_t fs_sbsize; /* スーパブロックの実際の大きさ */ int32_t fs_csmask; /* csum ブロックオフセット */ int32_t fs_csshift; /* csum ブロック数 */ int32_t fs_nindir; /* NINDIR の値 */ int32_t fs_inopb; /* INOPB の値 */ int32_t fs_nspf; /* NSPF の値 */ /* 別のコンフィギュレーションパラメータ */ int32_t fs_optim; /* 最適化の選択、以下を参照 */ /* これらのフィールドはハードウェアから引き出される */ int32_t fs_npsect; /* 予備を含むトラックあたりのセクタ数 */ int32_t fs_interleave; /* ハードウェアセクタインタリーブ */ int32_t fs_trackskew; /* トラックあたりのセクタ 0 ゆがみ */ /* fs_id は未使用の fs_headswitch と fs_trkseek のフィールドの空間を保持 */ int32_t fs_id[2]; /* ユニークなファイルシステム ID */ /* シリンダグループの数とサイズにより決められるサイズ */ ufs_daddr_t fs_csaddr; /* シリンダグループ総括領域のブロックアドレス */ int32_t fs_cssize; /* シリンダグループ総括領域のサイズ */ int32_t fs_cgsize; /* シリンダグループサイズ */ /* これらのフィールドはハードウェアから引き出される */ int32_t fs_ntrak; /* シリンダあたりのトラック数 */ int32_t fs_nsect; /* トラックあたりのセクタ数 */ int32_t fs_spc; /* シリンダあたりのセクタ数 */ /* これはディスクドライバパーティション作成時のもの */ int32_t fs_ncyl; /* ファイルシステムのシリンダ数 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_cpg; /* グループあたりのシリンダ数 */ int32_t fs_ipg; /* グループあたりの inode 数 */ int32_t fs_fpg; /* グループあたりのブロック数 * fs_frag */ /* このデータはクラッシュ後に再計算されなければならない */ struct csum fs_cstotal;/* シリンダ総括情報 */ /* 以下のフィールドはマウント時にクリアされる */ int8_t fs_fmod; /* スーパブロック変更フラグ */ int8_t fs_clean; /* ファイルシステムがクリーンであるフラグ */ int8_t fs_ronly; /* 読み込み専用でマウントされたフラグ */ int8_t fs_flags; /* 現在未使用のフラグ */ int8_t fs_fsmnt[MAXMNTLEN]; /* マウントされている名前 */ /* これらのフィールドは現在のブロックの配置情報を保持する */ int32_t fs_cgrotor; /* 最後に検索された cg */ struct csum *fs_csp[MAXCSBUFS]; /* fs_cs 情報バッファのリスト */ int32_t *fs_maxcluster;/* 各シリンダグループの最大クラスタ */ int32_t fs_cpc; /* postbl 内のサイクルあたりのシリンダ */ int16_t fs_opostbl[16][8]; /* 旧回転ブロックリストヘッド */ int32_t fs_sparecon[50]; /* 将来のために予約された定数 */ int32_t fs_contigsumsize; /* クラスタ総括配列の大きさ */ int32_t fs_maxsymlinklen; /* 内部シンボリックリンクの最大長 */ int32_t fs_inodefmt; /* ディスク上の inode のフォーマット */ u_int64_t fs_maxfilesize;/* 最大表示可能ファイルサイズ */ int64_t fs_qbmask; /* ~fs_bmask - 64 ビットサイズで使う */ int64_t fs_qfmask; /* ~fs_fmask - 64 ビットサイズで使う */ int32_t fs_state; /* fs_clean フィールドが有効であることを示す */ int32_t fs_postblformat;/* 位置レイアウトテーブルのフォーマット */ int32_t fs_nrpos; /* 回転位置の数 */ int32_t fs_postbloff; /* (u_int16) 回転ブロックリストヘッド */ int32_t fs_rotbloff; /* (u_int8) 各回転毎のブロック */ int32_t fs_magic; /* マジックナンバ */ u_int8_t fs_space[1]; /* 各回転毎のブロックのリスト */ /* 実際はもっと長い */ }; /* * ファイルシステム識別 */ #define FS_MAGIC 0x011954 /* fast ファイルシステムのマジックナンバ */ #define FS_OKAY 0x7c269d38 /* スーパブロックチェックサム */ #define FS_42INODEFMT -1 /* 4.2BSD inode フォーマット */ #define FS_44INODEFMT 2 /* 4.4BSD inode フォーット */ /* * 最適化のための選択 */ #define FS_OPTTIME 0 /* 最小アロケーション時間 */ #define FS_OPTSPACE 1 /* 最小ディスクフラグメンテーション */ /* * 回転レイアウトテーブルフォーマットタイプ */ #define FS_42POSTBLFMT -1 /* 4.2BSD 回転テーブルフォーマット */ #define FS_DYNAMICPOSTBLFMT 1 /* 動的回転テーブルフォーマット */ .Ed .Pp 各ディスクドライブはいくつかのファイルシステムを含んでいます。 1 つのファイルシステムは、いくつかのシリンダグループから成ります。 各シリンダグループには inode とデータがあります。 .Pp ファイルシステムは、シリンダグループを順番に記述するスーパブロックに よって記述されています。 スーパブロックは重要なデータであり、壊滅的な損失から守るために 各シリンダグループに複製されています。 これはファイルシステム作成時に行なわれ、重要なスーパブロックデータは 変更されないので、特に惨事がふりかからなければ、複製が参照される 必要はありません。 .Pp inode に保存されたアドレスによって、`ブロック' のフラグメントの 位置を決めることができます。 ファイルシステムブロックのほとんどは .Dv MAXBSIZE ですが、2, 4, 8 個に分けることが自由にでき、 それぞれを位置指定できます。 これらの断片は .Dv DEV_BSIZE または .Dv DEV_BSIZE 単位の倍数であれば良いのです。 .Pp 大きなファイルは、非常に大きなデータブロックからなります。 ディスクスペースの過度の浪費を避けるために、小さなファイルの 最後のデータブロックは、 大きなブロックのフラグメントが必要な数だけ配置されます。 ファイルシステムフォーマットは、そのようなフラグメント (大きなブロックを 分割した一片) の 1 つへのポインタだけを保持します。 そのようなフラグメントの大きさは、 inode にある情報から決定することができ、 .Fn blksize fs ip lbn マクロが使っています。 .Pp ファイルシステムは、提供可能な空きをフラグメントレベルで記録します。 つまり、ブロックの空きを決定するために、フラグメントを並べて調べます。 .Pp root inode は、ファイルシステムのおおもとです。 inode 0 は、通常の目的では使われず、歴史的に バッドブロックは inode 1 にリンクされます。 したがって root inode は、2 です (inode 1 は、もはやこの目的では使われませんが、 多くのダンプテープがこの仮定をしているので、それについては変更できません)。 .Pp .Fa fs_minfree 要素は、空いているファイルシステムブロックの最低許容割合を与えます。 空きリストがこのレベル以下になった場合、スーパユーザ だけがブロックの確保を続けることができます。 .Fa fs_minfree 要素は、空きブロックの予備が必要ないと思われたら 0 にセットしても かまいませんが、ファイルシステムが 90% 以上詰まった状態で動いているときには、 かなり性能が低下するでしょう。 そのためデフォルトの .Fa fs_minfree の値は 10% になっています。 .Pp 経験上、ブロックフラグメンテーションと 90% 使用中のディスク全体の利用 の兼ね合いが最も良いのは、フラグメンテーション 8 のときです。 そのためデフォルトのフラグメントサイズはブロックサイズの 8 倍になっています。 .Pp 要素 .Fa fs_optim はファイルシステムがブロックを確保するのに要する時間を最小に しようとするか、それともディスク上の領域のフラグメンテーションを最小に しようとするかを指定します。 fs_minfree (上記参照) の値が 10% より小さい場合は、ファイルシステム は空間の最適化をデフォルトとし、 完全な大きさのブロックがなくならないようにします。 minfree の値が 10% と等しいかそれ以上の場合には、フラグメンテーション が問題とはなりにくく、ファイルシステムは時間の最適化をデフォルトに します。 .Pp .Em シリンダグループに関連した制限 : 連続したブロックを最小の回転遅れで配置することができるよう、 各シリンダは異なる回転位置での利用可能なブロック数を保持し続けます。 デフォルトでは回転位置を 8 分割で表し、このときの総括情報の分解能は 典型的な 3600 rpm のドライブで 2ms になります。 .Pp 要素 .Fa fs_rotdelay は、同一シリンダ上で別のディスク転送を開始する 最小ミリ秒数を与えます。 これは、あるファイル中のディスクブロックの周回の中での最適な配置を 決定するのに使われます。 デフォルトの .Fa fs_rotdelay の値は 2ms です。 .Pp 各ファイルシステムは、静的に割り当てられた数の inode を持っています。 inode は、ディスク空間あたり .Dv NBPI バイト確保されます。 inode を配置する戦略は、極端に保守的です。 .Pp .Dv MINBSIZE が許される最小のブロックサイズです。 .Dv MINBSIZE が 4096 では、2 段までの(ブロック)間接参照を使って 2^32 の大きさのファイルを作ることができます。 .Dv MINBSIZE は、シリンダグループブロックを保持するのに十分な大きさでなければ なりません。 したがって .Pq Fa 構造体 cg への変更は大きさを .Dv MINBSIZE 以内にしておかなければなりません。 スーパブロックは決して .Dv SBSIZE の大きさ以上ではないということに注意して下さい。 .Pp ファイルシステムがマウントされているパス名は、 .Fa fs_fsmnt に保持されます。 .Dv MAXMNTLEN は、この名前のためにスーパブロックに割り当てられた領域の量を定義します。 ファイルシステム毎の総括情報の量の上限は、 .Dv MAXCSBUFS により定義されています。 4096 バイトブロックサイズの場合では、これは現在最大 200 万シリンダ分 用意されています。 .Pp それぞれのシリンダグループ情報は、先頭のシリンダグループ データブロックから確保されたブロックに要約されます。 これらのブロックはスーパブロックに加えて .Fa fs_csaddr ( .Fa fs_cssize の大きさ) から読み込まれます。 .Pp .Sy 注意: .Fn sizeof "struct csum" は .Fn fs_cs マクロを動かすために 2 のべき乗でなければなりません。 .Pp .Em "ファイルシステムのスーパブロック" : 周回レイアウトテーブルの大きさは、スーパブロックが .Dv SBSIZE の大きさを持つことにより制限されています。 これらのテーブルの大きさは、ファイルシステムのブロックサイズに .Em 逆比例 します。 セクタサイズが 2 のべき乗でないときには、周回パターンを .Pq Fa fs_cpc だけ繰り返すまでに含まれるシリンダ数が増加するので、 同様にテーブルの大きさも増加します。 周回レイアウトテーブルの大きさは、 .Pq Fa struct fs に残っているバイト数から割り出されます。 .Pp シリンダグループあたりのデータブロック数は、シリンダグループが たかだか 1 ブロックであるので、制限されています。 inode と空きブロックテーブルは、単一ブロックから シリンダグループ構造体 .Pq Fa struct cg のための領域を除いた残りにぴったり合っていなければなりません。 .Pp .Em Inode : inode は、 .Tn UNIX ファイルシステム内のすべてのファイルに関する動作の中心です。 各アクティブなファイル、カレントディレクトリ、マウントされたファイル、 テキストファイル、root には、それぞれユニークな inode が割り当てられます。 inode はそのデバイス / i 番号によって `名前付け' されています。 詳しくはインクルードファイル .Aq Pa ufs/ufs/inode.h を参照して下さい。 .Sh 歴史 filsys と名付けられたスーパブロック構造は .At v6 から登場しました。このマニュアルで記述されているファイルシステムは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/fstab.5 b/ja_JP.eucJP/man/man5/fstab.5 index e720b31edf..da707a4ce0 100644 --- a/ja_JP.eucJP/man/man5/fstab.5 +++ b/ja_JP.eucJP/man/man5/fstab.5 @@ -1,250 +1,250 @@ .\" Copyright (c) 1980, 1989, 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. .\" .\" @(#)fstab.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/fstab.5,v 1.11.2.3 2000/12/29 10:18:04 ru Exp % +.\" %FreeBSD: src/share/man/man5/fstab.5,v 1.11.2.4 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/fstab.5,v 1.9 2001/05/14 01:09:28 horikawa Exp $ .\" .Dd June 5, 1993 .Dt FSTAB 5 .Os BSD 4 .Sh 名称 .Nm fstab .Nd ファイルシステムに関する静的情報 .Sh 書式 .Fd #include .Sh 解説 .Nm ファイルは、さまざまなファイルシステムについて記述した情報を格納します。 .Nm はプログラムによって読み出されるだけで、書き込みはされません。 このファイルを適切に作成、保守するのはシステム管理者の責務です。 各ファイルシステムは個別の行に記述されます。 各々の行のフィールドはタブまたはスペースによって区切られます。 .Xr fsck 8 , .Xr mount 8 , .Xr umount 8 が .Nm を通じて必要な処理を連続して繰り返すため、 .Nm のレコードの順序は重要な意味を持ちます。 .Pp 第 1 フィールド .Pq Fa fs_spec はマウントされるブロック型スペシャルデバイス、またはリモートのファイル システムを表します。 .Em ufs 形式のファイルシステムでは、特殊ファイル名はブロック型特殊ファイル名であり、 キャラクタ型特殊ファイル名ではありません。 プログラムがキャラクタ型特殊ファイル名を必要とする場合、そのプログラム が特殊ファイル名の中の最後の ``/'' の後ろに ``r'' を追加することで キャラクタ特殊ファイル名を作成する必要があります。 .Pp 第 2 フィールド .Pq Fa fs_file はファイルシステムのマウントポイントを表します。 スワップパーティションでは、このフィールドには ``none'' と記述すべきです。 .Pp 第 3 フィールド .Pq Fa fs_vfstype はファイルシステムの形式を表します。 システムはさまざまなファイルシステム形式をサポートできます。 ルート、 /usr および /tmp のファイルシステムだけはカーネルに静的に組み 込まれている必要があります。 他のすべてのファイルシステムはマウント時に自動的にロードされます (例外 : UFS 系 - FFS, MFS, LFS は現在のところデマンドロードは できません)。 いまだに他のファイルシステムも同様に静的に組み込むのを好む人もいるようです。 .Bl -tag -width indent -offset indent .It Em ufs ローカルの .Tn UNIX ファイルシステム .It Em mfs ローカルのメモリベース .Tn UNIX ファイルシステム .It Em nfs Sun Microsystems 互換 ``Network File System'' .It Em swap スワッピングに使用されるディスクパーティション .It Em msdos DOS 互換ファイルシステム .It Em cd9660 ( ISO 9660 による) CD-ROM ファイルシステム .\" おそらく、例えばRock Ridge extension形式なども処理される? .It Em procfs プロセスデータへのアクセスのためのファイルシステム .It Em kernfs カーネルパラメータへのアクセスのためのファイルシステム .El .Pp 第 4 フィールド .Pq Fa fs_mntops は、ファイルシステムに関連するマウントオプションを表します。 これはコンマで区切られたオプションのリストとして記述されます。 これは少なくともマウントの形式 (以下の .Fa fs_type 参照) を含み、加えてファイルシステム形式に特有のいくつかの追加の オプションを含みます。 指定可能なオプションフラグに関しては、 .Xr mount 8 ページおよび .Xr mount_nfs 8 等のファイルシステム固有のページの、オプションフラグ .Pq Fl o を参照してください。 .Pp ``userquota'' および ``groupquota'' オプションの双方、またはいずれかが 指定されている場合、ファイルシステムは自動的に .Xr quotacheck 8 コマンドによって処理され、ユーザおよびグループクォータが .Xr quotaon 8 で有効にされます。 デフォルトでは、ファイルシステムのクォータは関連するファイルシステムの ルートに置かれた .Pa quota.user および .Pa quota.group というファイルで管理されます。 これらのデフォルトは、クォータオプションの直後に等号とデフォルトに代わる 絶対パス名を置くことで変更することができます。 従って、 .Pa /tmp のユーザクォータファイルを .Pa /var/quotas/tmp.user に置く場合、そのファイルの場所は以下のように指定されます。 .Bd -literal -offset indent userquota=/var/quotas/tmp.user .Ed .Pp ``noauto'' オプションが指定されている場合、ファイルシステムはシステム 起動時に自動的にマウントされません。 .Pp マウント形式は .Fa fs_mntops フィールドから取り出され、 .Fa fs_type フィールドに個別に保存されます ( .Fa fs_mntops フィールドからは削除されません)。 .Fa fs_type が ``rw'' または ``ro'' ならば、 .Fa fs_file フィールドで指定されたファイルシステムは、読み書き可能、または読み出し 専用で指定の特殊ファイルに正常にマウントされます。 .Fa fs_type が ``sw'' ならば、特殊ファイルはシステムのリブート処理の最後に .Xr swapon 8 コマンドによってスワップ領域の一部として使用されます。 .Fa fs_spec と .Fa fs_type 以外のフィールドは使用されません。 .Fa fs_type が ``xx'' と指定されている場合、このエントリは無視されます。 これは、現在使用されていないディスクパーティションを表すのに便利です。 .Pp 第 5 フィールド .Pq Fa fs_freq は、どのファイルシステムがダンプされる必要があるか決定するために .Xr dump 8 コマンドによって使用されます。 第5フィールドが与えられていない場合は 0 が返され、 .Nm dump コマンドはそのファイルシステムをダンプする必要がないと見なします。 .Pp 第 6 フィールド .Pq Fa fs_passno は、リブート時にファイルシステムのチェックが行われる順序を決定するために .Xr fsck 8 プログラムによって使用されます。 ルートファイルシステムは .Fa fs_passno に 1、他のファイルシステムは .Fa fs_passno に 2 が指定されているべきです。 1つのドライブ内のファイルシステムは逐次的にチェックされますが、 異なるドライブ上のファイルシステムは、ハードウェアの並列性を利用して 同時にチェックされます。 第6フィールドが与えられていないか 0 の場合、0 が返され、 .Xr fsck 8 コマンドはそのファイルシステムをチェックする必要がないと見なします。 .Bd -literal #define FSTAB_RW "rw" /* 読み書き可能デバイス */ #define FSTAB_RQ "rq" /* クォータ付き読み書き可能デバイス */ #define FSTAB_RO "ro" /* 読み出し専用デバイス */ #define FSTAB_SW "sw" /* スワップデバイス */ #define FSTAB_XX "xx" /* 完全に無視 */ struct fstab { char *fs_spec; /* ブロック型スペシャルデバイス名 */ char *fs_file; /* ファイルシステムのパスのプレフィックス */ char *fs_vfstype; /* ufs,nfs などのファイルシステム形式 */ char *fs_mntops; /* -o に準拠したマウントオプション */ char *fs_type; /* fs_mntops から FSTAB_* のコピー */ int fs_freq; /* ダンプ周期の日数 */ int fs_passno; /* 並列 fsck のパス番号 */ }; .Ed .Pp .Pa fstab のレコードを適切に読み出すには、 .Xr getfsent 3 , .Xr getfsspec 3 , .Xr getfstype 3 , .Xr getfsfile 3 ルーチンを使用します。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab .Nm ファイルは .Pa /etc に存在します。 .El .Sh 関連項目 .Xr getfsent 3 , .Xr getvfsbyname 3 , .Xr dump 8 , .Xr fsck 8 , .Xr mount 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr swapon 8 , .Xr umount 8 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/groff_font.5 b/ja_JP.eucJP/man/man5/groff_font.5 index 0673e78cc2..c9173049d0 100644 --- a/ja_JP.eucJP/man/man5/groff_font.5 +++ b/ja_JP.eucJP/man/man5/groff_font.5 @@ -1,423 +1,423 @@ -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_font.5,v 1.8 2001/05/14 01:09:28 horikawa Exp $ .ig \"-*- nroff -*- Copyright (C) 1989-1995, 2001 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_font.5,v 1.7 2001/04/30 03:48:35 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_font.5,v 1.8 2001/05/14 01:09:28 horikawa Exp $ .\" .\" FreeBSD jpman project 訳語表 .\" WORD: machine unit マシン単位 .\" WORD: scaled point スケールドポイント (troff.1 の記述にあわせた) .\" WORD: font position フォント位置 (troff.1 の記述にあわせた) .\" WORD: mount マウント -.\" -.TH GROFF_FONT 5 "26 April 2001" "Groff Version 1.17" +.\" +.TH GROFF_FONT 5 "27 April 2001" "Groff Version 1.17" .SH 名称 groff_font \- groff のデバイスとフォントを記述するファイルの書式 .SH 解説 groff のフォントの書式は ditroff のフォントの書式に対し、 ほぼスーパセットになっています。 ditroff のフォントの書式とは異なり、 関連したバイナリ書式はありません。 .I name というデバイス用のフォントファイルは .BI dev name というディレクトリに納められます。 ファイルには 2 つの種類があります: それは .B DESC と呼ばれるデバイス記述ファイルと、各フォント .I F ごとに存在する .IR F と呼ばれるフォントファイルです。 これらはテキストファイルであり、関連したバイナリ書式の ファイルはありません。 .SS DESC ファイルの書式 DESC ファイルは以下の形式の行を含むことができます: .TP .BI res\ n 1 インチあたりのマシン単位は .I n です。 .TP .BI hor\ n 水平解像度は .I n マシン単位です。 .TP .BI vert\ n 垂直解像度は .I n マシン単位です。 .TP .BI sizescale\ n ポイント数への倍率を指定します。デフォルトの値は 1 です。1 .I スケールドポイント は、1 .RI ポイント/ n と等しくなります。 .B unitwidth コマンドと .B sizes コマンドへの引数はスケールドポイントで指定されます。 .TP .BI unitwidth\ n ポイントサイズが -.I n +.I n スケールドポイントのフォントに対して、 フォントファイル毎の数量をマシン単位で与えます。 .TP .BI prepro\ program .I program をプリプロセッサとして呼び出します。 .TP .BI postpro\ program .I program をポストプロセッサとして使用します。 .TP .B tcommand ポストプロセッサが .B t と .B u の出力コマンドを扱えることを表します。 .TP .BI sizes\ s1\ s2\|.\|.\|.\|sn\ 0 デバイスが .IR s1 , .IR s2 ,\|.\|.\|.\| sn スケールドポイントのフォントを持つことを表します。 大きさのリストは .BR 0 で終らなければなりません。 各 .BI s i は大きさの範囲 .IR m \- n でも指定できます。 リストは複数行にわたることも可能です。 .TP .BI styles\ S1\ S2\|.\|.\|.\|Sm 先頭 .I m 個のフォント位置が、スタイル .IR S1\|.\|.\|.\|Sm に関連づけられます。 .TP .BI fonts\ n\ F1\ F2\ F3\|.\|.\|.\|Fn フォント .I F1\|.\|.\|.\|Fn がフォント位置 .IR m +1,\|.\|.\|., m + n にマウントされます( .I m はスタイル数)。 このコマンドは複数行にわたることができます。 .B 0 というフォント名を指定すると、 対応するフォント位置にはフォントはマウントされません。 .TP .BI family\ fam デフォルトのフォントファミリは .IR fam です。 .TP .B use_charnames_in_special このコマンドは、スペシャルコマンドにおいては、 指定した文字を troff がエンコードすべきであることを指定します。 .TP .B pass_filenames troff がドライバに対して、処理すべきソースファイル名を伝えるリクエストです。 これは、次に示す別の tcommand にて実現されます: .B F .IR filename 。 .TP .B charset この行とファイル内の以下に続く行はすべて無視されます。 これは下位互換性のために許されています。 .TP .BI print\ program .I program を、印刷用のスプーラプログラムとして使用します。 これが存在しない場合、 .B \-l と .B \-L の .B groff オプションが無視されます。 .LP res, unitwidth, fonts, sizes の行は必須です。 他のコマンドは .B troff には無視されますが、デバイスに関する任意の情報を DESC ファイルに 入れておくためにポストプロセッサにより使われるかもしれません。 .LP 次に示すのは廃れたキーワードであり、 .B groff が認識するものの完全に無視するもののリストです: .BR spare1 , .BR spare2 , .BR biggestfont 。 .SS フォントファイルの書式 フォントファイルには 2 つのセクションがあります。 最初のセクションは空白で区切られた単語が並んだ一連の行からなります。 行の最初の単語はキーで、以降の単語はそのキーに対する値となります。 .TP .BI name\ F フォントの名前は .IR F です。 .TP .BI spacewidth\ n 空白の通常の幅は .IR n です。 .TP .BI slant\ n フォントの文字が .I n 度傾斜していることを表します (正の値は進行方向を意味します)。 .TP .BI ligatures\ lig1\ lig2\|.\|.\|.\|lign\ \fR[ 0 \fR] 文字 .IR lig1 , .IR lig2 ,\|.\|.\|., lign は合字 (リガチャ; ligature) です。合字には .BR ff , .BR fi , .BR fl , .BR ffi , .BR ffl が使用可能です。 下位互換性のために、合字のリストは .BR 0 で終ってもかまいません。 合字のリストは複数行にわたってはいけません。 .TP .B special フォントは .IR スペシャル です。これは現在のフォントに存在しない文字が要求された場合、 マウントされた全てのスペシャルフォントが検索されることを示しています。 .LP 他のコマンドは .B troff には無視されますが、フォントに関する任意の情報をフォントファイルに 入れておくためにポストプロセッサにより使われるかも知れません。 .LP 最初のセクションには .B # 文字ではじまるコメントを、行末まで入れることができます。 .LP 次のセクションには 1 つか 2 つのサブセクションが含まれます。 サブセクション .I charset は必須で、サブセクション .I kernpairs はオプションです。 これらのサブセクションは任意の順番で書くことができます。 各サブセクションは、サブセクション名のみからなる行から始まります。 .LP 単語 .B charset で charset サブセクションを開始します。 .B charset 行には一連の行が続きます。 各行は 1 文字の情報を与えます。 行は空白かタブにより区切られたいくつかのフィールドから成ります。 書式は .IP .I -.I name metrics type code +.I name metrics type code .RI [ entity_name ] .RB [ -- .IR comment ] .LP で、 .I name は文字を識別します: .I name が単一の文字 .I c ならば、それは groff の入力文字 .I c を表します。 .BI \e c という形式で c が単一の文字なら、groff の入力文字 .BI \e c を表します。それ以外は groff の入力文字 .BI \e[ name ] を表します (2 文字の .I xx だとすると、 .BI \e( xx として入力されます)。 groff は 8 ビット文字に対応していますが、いくつかのユーティリティでは 8 ビット文字を扱うのが困難です。 このような理由から、文字コードが .I n である単一の文字と等価な .BI char n という表記法が存在します。 例えば、 .B char163 は ISO Latin-1 で英国ポンド記号を表す文字コード 163 の文字と等価です。 .B \-\-\- という name は特別で、その文字に名前が無いことを示します。 そのような文字は .BR troff 中でエスケープシーケンス .B \eN によってのみ使われます。 .LP .I type フィールドは文字の種類を示します: .TP 1 は descender (ベースラインより下にはみ出した部分) を持つ 文字であることを表します。例えば p があてはまります。 .TP 2 は ascender (x の高さより上に出る部分) を持つ文字であることを表します。 例えば b があてはまります。 .TP 3 は ascender と descender の両方を持つ文字であることを表します。 例えば ( があてはまります。 .LP .I code フィールドはポストプロセッサが文字を印字するために使うコードを示します。 .B \eN というエスケープシーケンスを用いたこのコードを使って、groff に文字を 入力することもできます。 code はどんな整数でもかまいません。 .B 0 から始まると、8 進数として扱われ、 .B 0x や .B 0X で始まると 16 進数として扱われます。 .LP .I entity_name フィールドは、グリフを識別する ASCII 文字列を与えます。 このグリフは、後処理を行うプログラムが文字の印刷に使用します。 このフィールドは省略可能であり、 html ドライバが文字集合をエンコード可能とするために導入されました。 例えば、文字 `\e[Po]' は、html 4.0 では `£' と表現されます。 .LP 行の code フィールド以降と、`-\&-' の後ろは、すべて無視されます。 .LP .I metrics フィールドの形式はこのようになります: .IP .IR width [\fB, height [\fB, depth [\fB, italic_correction [\fB, \ left_italic_correction [\fB, subscript_correction ]]]]] .LP サブフィールド間には空白を入れてはいけません。 サブフィールドが存在しない場合は 0 として扱われます。 サブフィールドは全て 10 進数の整数で指定されます。 対応するバイナリフォーマットが存在しないので、 ditroff のようにこれらの値を .B char 型変数の範囲に合わせるという必要はありません。 サブフィールド .I width では文字の幅を指定します。 サブフィールド .I height では文字の高さを指定します (上が正)。 文字がベースラインよりも上にいかない場合、負の高さを持つとするのではなく 高さが 0 であるとします。 サブフィールド .I depth では文字の深さを指定します。これはベースラインから文字の一番下までの 長さです (下が正)。 文字がベースラインより下に出ていない場合、負の深さを持つとするのではなく 深さが 0 であるとします。 サブフィールド .I italic_correction では直後にローマンフォントの文字が続く時に、文字の後に加えられる空白の 量を指定します。 サブフィールド .I left_italic_correction では直前にローマンフォントの文字がある時に、文字の前に加えられる空白の 量を指定します。 サブフィールド .I subscript_correction では添字 (subscript) を加える際に文字の後に加えられる空白の量を 指定します。 これはイタリック補正 (上記の italic_correction) よりは少なくなければ なりません。 .LP charset セクション内では、以下のような書式の行も可能です .IP .I name \fB" .LP これは .I name が前の行で言及した文字の別名であることを表します。 .LP kernpairs セクションは .B kernpairs という単語から始まります。このセクションは以下のような書式の 行からなります: .IP .I c1 c2 n .LP 文字 .I c1 が文字 .I c2 の次に現れる時には、それらの間の空白に .IR n を加えることを意味します。 kernpairs セクションのほとんどのエントリは .IR n に負の値を持つことになります。 .SH 関連ファイル .Tp \w'/usr/share/groff_font/devname/DESC'u+3n .BI /usr/share/groff_font/dev name /DESC デバイス .IR name 用のデバイス記述ファイル .TP .BI /usr/share/groff_font/dev name / F デバイス .IR name のフォント .I F 用のフォントファイル .SH 関連項目 .BR groff_out (5), .BR troff (1). diff --git a/ja_JP.eucJP/man/man5/groff_out.5 b/ja_JP.eucJP/man/man5/groff_out.5 index 80bef13b87..d1a04069d9 100644 --- a/ja_JP.eucJP/man/man5/groff_out.5 +++ b/ja_JP.eucJP/man/man5/groff_out.5 @@ -1,248 +1,248 @@ '\" e .\" The above line should force the use of eqn as a preprocessor -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_out.5,v 1.11 2001/05/14 01:09:28 horikawa Exp $ .ig Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. %FreeBSD: src/contrib/groff/man/groff_out.man,v 1.3.2.2 2001/04/26 17:34:26 ru Exp % .. .\" This man page must be preprocessed with eqn. .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_out.5,v 1.10 2001/04/30 03:48:35 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_out.5,v 1.11 2001/05/14 01:09:28 horikawa Exp $ .\" .\" FreeBSD jpman project 訳語表 .\" WORD: scaled point スケールドポイント (troff.1, groff_font.5 参照) .\" WORD: special character 特殊文字 (troff.1 参照) .\" WORD: special font スペシャルフォント (troff.1 参照) .\" WORD: machine unit マシン単位 (pic.1, groff_font.5 参照) .\" WORD: print 印字 .ie \n(.g .ds ic \/ .el .ds ic \^ -.TH GROFF_OUT 5 "26 April 2001" "Groff Version 1.17" +.TH GROFF_OUT 5 "27 April 2001" "Groff Version 1.17" .SH 名称 groff_out \- groff の中間出力フォーマット .SH 解説 このマニュアルページは、GNU troff の出力フォーマットについて記述します。 GNU troff が使用する出力フォーマットは、 UNIX のデバイス非依存 troff が使用するものと似ています。 ここでは両者の差のみを記述します。 .LP .B s コマンドへの引数はスケールドポイントです (これは .IR ポイント/ n を意味します。 .I n は DESC ファイル中の .B sizescale コマンドへの引数です)。 .B x\ Height コマンドへの引数もまたスケールドポイントです。 .LP 最初の 3 つの出力コマンドは次のようになっていなければなりません: .IP .BI x\ T\ device .br .BI x\ res\ n\ h\ v .br .B x init .LP DESC ファイル中に .B tcommand 行が存在する場合には、troff は以下の 2 つのコマンドを使用します。 .TP .BI t xxx .I xxx は、任意の文字のシーケンスであり、空白または改行を終端とします; 最初の文字を現在位置で印字し、 現在の水平位置を最初の文字の幅だけ増加させます。 続けて、同じ処理を各文字に対して実行します。 文字の幅は、フォントファイルにおいて与えられたものを 現在のポイントサイズに応じて適切にスケーリングしてから、 水平解像度の倍数となるように丸めます。 特殊文字はこのコマンドでは印字できません。 .TP .BI u n\ xxx .B t コマンドと同様ですが、各文字の印字後に現在の水平位置に加えられるものが、 文字幅と .IR n の和である点が違います。 .LP 単一文字は 8 ビット目がセットされていてもかまわないことに注意してください。 これはフォント名や特殊文字名にもあてはまります。 .LP 文字名やフォント名は任意の長さが許されます; ドライバはこれらの長さが 2 文字のみであると仮定してはなりません。 .LP 文字を印字する時、その文字は常に現在のフォント中に存在します。 デバイス非依存 troff とは異なり、 ドライバがスペシャルフォントから文字を探す必要はありません。 .LP .B x デバイス制御コマンドが、拡張されました。 .TP \fBx u \fIn\fR .I n が\~1 の場合、空白の下線付けを開始します。 .I n が\~0 の場合、空白の下線付けを停止します。 これは、nroff モードの .B cu リクエストで必要であり、他の場合には無視されます。 .LP .B D 描画コマンドは拡張されています。 .B \-n オプション指定時には、GNU pic はこれらの拡張を使用しません。 .TP \fBDf \fIn\fR\*(ic\en オブジェクトの塗り潰しに使用する陰影を .IR n に設定します; ここで .I n は 0 から 1000 の範囲の整数である必要があり、0 は白の塗り潰しを、 1000 は黒の塗り潰しを、 そしてそれらの間の値は中間の陰影を意味します。 この設定は、円の塗り潰し、楕円の塗り潰し、多角形の塗り潰しにのみ適用されます。 デフォルトでは 1000 が使用されます。 塗り潰しオブジェクトが色を持つ場合、 その色でそのオブジェクトの下の全てのものを完全に隠します。 1000 より大きい値や 0 より小さい値も使用される可能性があります: これらの値を指定すると、 現在線やテキストで使用している陰影で塗り潰すことを意味します。 通常はこれは黒ですが、 ドライバによってはこれを変更する手段を提供するものがあります。 .TP \fBDC \fId\fR\*(ic\en 現在位置を最左端とする、半径 .I d の塗り潰された円を描画します。 .TP \fBDE \fIdx dy\fR\*(ic\en 現在位置を最左端とする、水平半径 .I dx 垂直半径 .I dy の塗り潰された楕円を描画します。 .EQ delim $$ .EN .TP \fBDp\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en $i = 1 ,..., n+1$ に対し、 .I i 番目の頂点を現在位置 $+ sum from j=1 to i-1 ( dx sub j , dy sub j )$ とする多角形を描画します。 今のところ、GNU pic のみがこのコマンドを使用し、三角形と矩形を生成します。 .TP \fBDP\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en .B Dp と同様ですが、多角形の外形のみの描画でなく、塗り潰しも行います。 .TP \fBDt \fIn\fR\*(ic\en 現在の線の太さを .I n マシン単位に設定します。 伝統的に UNIX troff ドライバは、 現在のポイントサイズに比例する線の太さを使用します; .B Dt コマンドが指定されない場合や、 .B Dt コマンドに負の .IR n が指定された場合は、ドライバはこの方法を使用する必要があります。 .I n に 0 を指定すると、利用可能な最小の線の太さを選択します。 .LP これらのコマンドを実行した後、 現在位置をどのように変更するのかという問題が生じます。 GNU pic が生成するコードはこの問題に依存しませんので、 これはたいして重要ではありません。 .IP \fB\eD\(fm\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\(fm .LP の形式、ただし .I c は .BR c , .BR e , .BR l , .BR a , .BR ~ のいずれでもない描画コマンドが与えられた時、 UNIX troff は各 $x sub i$ を水平の単位で扱い、$y sub i$ を垂直の単位で扱い、 描画されるオブジェクトの幅は $sum from i=1 to n x sub i$ であり、 高さは $sum from i=1 to n y sub i$ であると仮定します。 (高さに関する仮定は、このような .B D コマンドを \ew エスケープシーケンス中で使用した後、 .B st レジスタおよび .B sb レジスタを検査することにより確認できます。) この規則は全てのオリジナルの描画コマンドにあてはまりますが、 .B De は例外です。 .BR Df , .B Dt コマンドや、影響は少ないですが .B DE コマンドにおいて、たとえ醜い結果となったとしても、 GNU troff もまた互換性のためにこの規則に従います。 それゆえ、 .IP \fBD\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\en .LP の形式の .B D コマンドを実行した後は、現在位置は $( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$ だけ増えます。 .LP .B x\ X コマンドへの引数に改行を含めることを許すという、 継続に関する取り決めがあります: .B x\ X コマンドへの引数を出力する時、GNU troff は 引数中の .B + 文字付きの改行を辿ります (通常は改行で引数全体が終端されます); それゆえ、 .B x\ X コマンドを含む行の次行が .B + で開始する場合には、 .B x\ X コマンドを含む行の終端となっている改行は .B x\ X コマンドへの引数の一部として扱い、 .B + を無視し、行の .B + に続く部分を .B x\ X コマンドに続く行の部分として扱います。 .SH "関連項目" .BR groff_font (5) .\" .\" Local Variables: .\" mode: nroff .\" End: diff --git a/ja_JP.eucJP/man/man5/groff_tmac.5 b/ja_JP.eucJP/man/man5/groff_tmac.5 index 783770dd2f..2c2a081f02 100644 --- a/ja_JP.eucJP/man/man5/groff_tmac.5 +++ b/ja_JP.eucJP/man/man5/groff_tmac.5 @@ -1,487 +1,487 @@ .\" -*- nroff -*- -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_tmac.5,v 1.3 2001/05/14 01:09:28 horikawa Exp $ .ig / groff_tmac.5 This file is part of groff, the GNU roff type-setting system. Copyright (C) 2000 Free Software Foundation, Inc. written by Bernd Warken Last update: 17 May 2000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being this .ig-section and AUTHOR, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the Free Documentation License is included as a file called FDL in the main directory of the groff source package. ./ . .\" -------------------------------------------------------------------- .\" Setup .\" -------------------------------------------------------------------- . .if n \{\ . mso tty-char.tmac . ftr CR R . ftr CI I . ftr CB B .\} . .\" text lines in macro definitions or bracketed sections \{...\} .de text . if 1 \&\\$*\& .. . .de BIR . ie (\\n[.$] < 3) \ . BI \\$@ . el \{\ . ds @tmp@ \fB\\$1\fP\fI\\$2\fP . shift 2 . text \\*[@tmp@]\fR\\$*\fP . rm @tmp@ . \} .. . .de 'char . ds @tmp@ `\f(CB\\$1\fP' . shift . text \\*[@tmp@]\\$* . rm @tmp@ .. . .de option . ds @tmp@ \f(CB\\$1\fP . shift 1 . text \\*[@tmp@]\\$* . rm @tmp@ .. . .als shellcommand option . .de argument . ds @tmp@ \f(CI\\$1\fP . shift 1 . text \\*[@tmp@]\\$* . rm @tmp@ .. . .de request . ds @tmp@ \f(CB\\$1\fP . shift 1 . text \\*[@tmp@]\\$* . rm @tmp@ .. -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_tmac.5,v 1.2 2001/04/30 03:48:35 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/groff_tmac.5,v 1.3 2001/05/14 01:09:28 horikawa Exp $ .\" WORD: typesetting system 清書システム .\" WORD: naming 名称付け .\" WORD: inclusion 取り込み .\" WORD: convention 約束事 .\" WORD: delayed command 遅延コマンド .\" WORD: Filesystem Hierarchy Standard ファイルシステム階層標準 .\" -------------------------------------------------------------------- .\" Title .\"-------------------------------------------------------------------- -.TH GROFF_TMAC 5 "26 April 2001" "Groff Version 1.17" +.TH GROFF_TMAC 5 "27 April 2001" "Groff Version 1.17" .SH 名称 groff_tmac \- roff 清書システム内にあるマクロファイル .\" -------------------------------------------------------------------- .SH 解説 .\" -------------------------------------------------------------------- .BR roff (7) 清書システムは、特殊な用途のドキュメントに適した マクロパッケージを提供しています。それぞれのマクロパッケージは、 そのパッケージの .BR "tmac ファイル" と呼ばれるファイル中にマクロおよび定義を格納しています。 tmac という名前は、 .RB ` T roff .BR MAC ros' を縮めたものです。 .LP tmac ファイルは、普通の roff ソースドキュメントです。ただし、 通常このファイルには定義および設定コマンドしか含まれておらず、 テキストは入っていません。tmac ファイルはすべて .B tmac ディレクトリという 1 つあるいは少数のディレクトリ内に 保管されています。 .\" -------------------------------------------------------------------- .SH 名称付け .\"-------------------------------------------------------------------- 古くからある roff システムには、奇妙な名称付けの体系が ありました。 マクロパッケージの名称が .'char m で始まっている場合には、この文字は省略されました。例えば、 マニュアルページ用のマクロパッケージ .I man は .I an と呼ばれ、そのパッケージのマクロファイルは .IR tmac.an と呼ばれました (現在のバージョンの groff では、このファイルは代りに .I an.tmac と呼ばれることに注意してください)。 .LP 似たような理由で、名称が .'char m で始まらないマクロパッケージは、 .'char m をつけて表されることがよくありました。例えば、 .I tmac.doc に対応するパッケージは、 .I mdoc と呼ばれました。なぜなら、このパッケージをアクティブに するためのコマンドラインは、次のように表されるからです。 .RS .LP .BIR "troff\ \-m" doc .RE .LP 現在の .BR groff(1) のバージョンでは、パッケージ名に .'char m が付こうが付くまいが、この悩ましいマクロパッケージの名称付け体系を どちらも提供しています。ですので、 .IR groff では、 .I man マクロパッケージは、次のいずれでも指定可能です。 .RS .LP .BIR "groff\ \-m\ " man .br .BIR "groff\ \-m" an .br .BIR "groff\ \-m" man .br .BIR "groff\ \-m " an .RE .LP システムでどのマクロパッケージが利用可能であるかを判別するのに 最も簡単な方法は、 .I tmac ディレクトリ群の中身を調べることです。 例えば、 .BI tmac. anything または .IB anything .tmac と呼ばれるファイルは、 .IR anything という名前のマクロパッケージを決定しています。 .LP .IR groff では、マクロパッケージの大部分は、 古くからあるパッケージに対して .'char m を先頭に付けた .BR groff_ (7) という名前のマニュアルページで説明がされています。 .\" -------------------------------------------------------------------- .SH 取り込み .\"-------------------------------------------------------------------- ドキュメント中でマクロパッケージを使うための方法はいくつかあります。 実行時に、groff のオプション .option \-m \ \c .argument name を用いてマクロファイル .IB name .tmac 内の定義を .BR 名称付け のセクションで述べたように利用可能にします。 このファイルが見付からない場合、 .BI tmac. name が探されます。 .LP groff リクエスト .request .so あるいは .request .mso を用いてマクロファイルをドキュメントに取り込むことも可能です。 .request .so については、マクロファイルのフルパスでのファイル名を指定しなくては いけません \(em そのマクロファイルが保存されているディレクトリを 含む必要があります。 マクロファイルが tmac ディレクトリ群のどれか 1 つに格納されている場合、 代わりに .request .mso を使用するほうが便利です。なぜなら、このリクエストは tmac パスを 探索してファイル名を見つけるからです。 更に、インクルードされるファイルの名前が .IB name .tmac という書式の場合でこれが見付からない場合、 .request .mso は代りに .BI tmac. name をオープンしようとします。また、この逆も行います。 .LP .request .so および .request .mso リクエストを解決するために、roff プリプロセッサ .shellcommand soelim が呼ばれなくてはならないことに注意してください。 ただし、インクルードされるファイルが前処理が必要な場合に限ります。 これは、コマンドライン上でパイプラインから直接呼ぶか、または .shellcommand groff の .option \-s オプションを使うかすればできます。 .LP .BR 約束事 のセクションで述べているように、 プリプロセッサワード中に文字 .'char s を入れても良いです。 .LP 例えば、マクロファイルが .I /usr/share/tmac/macros.tmac に保存されており、 .IR docu.roff という名前のドキュメントで使用されているとします。 .LP 実行時において、このドキュメントに対するフォーマッタ呼び出しは 次のように行います。 .RS .LP .ft CR .shellcommand "groff\ \-m" .argument macros .argument docu.roff .ft P .RE .LP ドキュメント内に直接マクロファイルを取り込むには、 .RS .ft CR \&\.mso macros.tmac .ft P .RE あるいは .RS .ft CR \&\.so /usr/share/tmac/macros.tmac .ft P .RE を使用します。 .LP どちらの場合でも、フォーマッタは .ft CR .RS groff\ \-s docu.roff .RE .ft P を使用して呼び出されます。 . .\" -------------------------------------------------------------------- .SH 約束事 .\" -------------------------------------------------------------------- .LP 最近の roff 清書システムの多くでサポートされている約束事があります。 次に述べられているような .B プリプロセッサワード がそれです。 .LP ドキュメントの 1 行目がコメントである場合、 最初の単語 (コメント文字および空白の後) は .B プリプロセッサ .BR ワード で構成されます。 これはつまり、このワードの文字が、ドキュメントを整形する際に 起動しなくてはならないプリプロセッサコマンドの省略形であると 解釈されるということです。 ほとんどの場合、プリプロセッサのオプションに対応した文字だけが 認識されます。それは、 .'char e , .'char G , .'char g , .'char p , .'char R , -.'char s , +.'char s , .'char t です ( .BR roff (7) を参照)。 .LP さらに、ユーザへの良き忘備録として書いておきますが、 フォーマッタによっては ( .BR man (1) プログラムのように) プリプロセッサワードで指定されたプリプロセッサを 自動的に起動させることまでもできるものがあります。ただし、このことを あてにしてはいけません。 .\" -------------------------------------------------------------------- .SH "マクロファイルを記述する" .\"-------------------------------------------------------------------- マクロファイルを記述するのは簡単です。マクロ、文字列、レジスタなどの セットを設計してください。そしてそれを 1 つのファイルに 保存してください。 記述したマクロを使用するドキュメントは、 .B 取り込み セクションで述べたように .request .so リクエストを使ってマクロを取り込みます。 .LP tmac の機能を使用するには、マクロファイル .IB whatever .tmac (または .BI tmac. whatever\c ) を呼び出し、tmac パスのどれかのディレクトリにファイルを置きます。 .BR 関連ファイル セクションを参照してください。 そうすると、ドキュメントは .B 取り込み セクションで述べたように .request .mso リクエストあるいは .shellcommand "groff\ \-m" オプションを使ってマクロファイルを取り込むことができます。 .LP もしあなたが書いたマクロが一般用途に使えるかもしれないものなら、 groff メンテナに連絡を取って、そのマクロが groff の .I contrib ソースディレクトリに含まれるようにしてください。 .LP マクロを書く際には、いくつか一般的なガイドラインがあれば役に立つ でしょう。 .IP \(bu 2m 機能のあるバックスラッシュはすべて 2 重にします。 .'char \e -> .'char \e\e .IP \(bu 2m 印字可能なバックスラッシュはすべて .'char \ee というように書かなくてはなりません。 .IP \(bu 2m ドットはすべてエスケープしてください。 .'char . -> .'char \e. .IP \(bu 2m テキスト部分には、印字できない文字 .'char \e& を広く使用するようにしてください。特に、 .'char \e の前や行頭で使用してください。ただし、遅延コマンドの前では 使用しないでください。 .IP \(bu 2m 文字 .'char @ を一時的な変数名に使用してください。 .IP \(bu 2m あなたが書いたマクロをテキストおよびグラフィックデバイスに対して テストしてください。例えば、 .I latin1 と .IR ps がそうです。 .\" -------------------------------------------------------------------- .SH 関連ファイル .\" -------------------------------------------------------------------- tmac メカニズムを使用したいマクロ名はすべて、 .IB name .tmac または .BI tmac. name の書式に従って名付けられなければなりません。 .LP マクロファイルは、 .B tmac .BR ディレクトリ群 に保存されています。このディレクトリ群すべてが .B tmac .BR パス を構成しています。 .LP マクロファイルを検索するパスの要素は (順番に) 次の通りです: .IP \(bu 4 troff に対応する groff の .B \-M コマンドラインオプションで指定されるディレクトリ command line option .IP \(bu 4 .B GROFF_TMAC_PATH 環境変数で与えられるディレクトリ .IP \(bu 4 現在のディレクトリ ( .B \-U コマンドラインスイッチを使用して、安全ではないモードである場合のみ) .IP \(bu 4 ホームディレクトリ .IP \(bu 4 サイト固有の (プラットフォーム非依存の) ディレクトリ、 プラットフォーム固有ディレクトリ、 そしてメイン tmac ディレクトリ: .IP "" 6 /usr/share/tmac .br /usr/share/tmac .br /usr/share/tmac .\" -------------------------------------------------------------------- .SH 環境変数 .\" -------------------------------------------------------------------- .TP .B GROFF_TMAC_PATH コロン区切りの追加の tmac ディレクトリリストであり、 このリストからマクロファイルを探します。 詳細については、前の節を参照してください。 .\" -------------------------------------------------------------------- .SH バグ .\" -------------------------------------------------------------------- groff ドキュメントは、現在発展中です。一時的に他のドキュメントとの間で 小さな食い違いができてしまう可能性があります。 .\" -------------------------------------------------------------------- .SH 作者 .\"-------------------------------------------------------------------- このドキュメントは groff、すなわち GNU roff 配布物の一部です。 このドキュメントは Bernd Warken が書きました。 .LP このドキュメントは FDL (GNU Free Documentation License) バージョン 1.1 以降の条項のもとで配布されています。お使いのシステムには FDL のコピーがあるはずです。また、 .RS .LP .IR .RE からオンラインでも入手可能です。 .\" -------------------------------------------------------------------- .SH "関連項目" .\" -------------------------------------------------------------------- groff システムの詳細すべてについて信頼できる情報源は、groff の .BR info (1) ファイルです。 .LP groff の概要については、 .BR roff (7) および groff ソースパッケージ中の .I README ファイルを参照してください。 .LP groff tmac マクロパッケージは、 .BR groff_man (7), .BR groff_mwww (7), .BR groff_mdoc (7), .BR groff_mdoc.samples (7), .BR groff_me (7), .BR groff_mm (7), .BR groff_mmroff (7), .BR groff_ms (7) です。 .LP groff の言語については .BR groff (7) で、フォーマッタについては .BR groff (1), .BR troff (1) で説明されています。 .LP ファイルシステム階層標準 (FHS) は .BR http://www.pathname.com/fhs/ で入手可能です。 diff --git a/ja_JP.eucJP/man/man5/group.5 b/ja_JP.eucJP/man/man5/group.5 index 45bd585ace..2cd6a013c0 100644 --- a/ja_JP.eucJP/man/man5/group.5 +++ b/ja_JP.eucJP/man/man5/group.5 @@ -1,167 +1,168 @@ .\" Copyright (c) 1980, 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. .\" .\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/group.5,v 1.15.2.2 2000/12/29 10:18:04 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man5/group.5,v 1.15.2.3 2001/07/21 09:16:52 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/group.5,v 1.10 2001/05/14 01:09:28 horikawa Exp $ .\" .Dd September 29, 1994 .Dt GROUP 5 .Os .Sh 名称 .Nm group .Nd グループ許可ファイルのフォーマット .Sh 解説 .Aq Pa /etc/group ファイルは改行で区切られた .Tn ASCII レコードから成ります。1 レコードが 1 グループに対応し、コロン .Ql \&: で区切られた 4 つの欄から成ります。 これらの欄の意味は以下のとおりです: .Bl -tag -width password -offset indent -compact .It group そのグループの名前。 .It passwd グループの .Em 暗号化された パスワード。 .It gid そのグループの 10 進数 ID。 .It member グループメンバ。 .El .Pp 最初の非空白文字がポンドサイン (#) である行はコメントであり、無視されます。 空白・タブ・改行のみからなる行は空行であり、これも無視されます。 .Pp .Ar group 欄は、そのグループのメンバであるユーザにファイルアクセスを許可するために 用いる、グループの名前です。 .Ar gid 欄はそのグループ名に結び付けられた番号です。両者はファイルアクセスを制御 しますので、システム (またしばしば複数システムの 1 グループ) 中で一意的で ある必要があります。 .Ar passwd 欄はなくてもいい .Em 暗号化された パスワードです。この欄はめったに用いられるこ とはなく、通常ブランクにしておくよりもむしろアスタリスクが置かれます。 .Ar member 欄は .Ar group の権利を許可されたユーザの名前を含んでいます。メンバ名は空白や改行なし にコンマで区切られます。ユーザの .Pa /etc/passwd エントリ中にグループが指定されていれば自動的にそのグループに入ることに なりますので、 .Pa /etc/group ファイル中にそのユーザを追加する必要はありません。 .\" .Pp .\" When the system reads the file .\" .Pa /etc/group .\" the fields are read into the structure .\" .Fa group .\" declared in .\" .Aq Pa grp.h : .\" .Bd -literal -offset indent .\" struct group { .\" char *gr_name; /* group name */ .\" char *gr_passwd; /* group password */ .\" int gr_gid; /* group id */ .\" char **gr_mem; /* group members */ .\" }; .\" .Ed .Sh YP/NIS との相互作用 .Pa /etc/group ファイルは YP/NIS グループデータベースを有効にするように作成可能です。 C ライブラリ内部としては、 .Ar name 欄が 1 つのプラス符号 (`+') に続く 1 つのグループ名から成るエントリは、 その名前のグループに対する YP/NIS グループエントリで置き換えられます。 .Ar name 欄が引き続いてグループ名を持たない 1 つのプラス符号から成るエントリは、 YP/NIS の .Dq Li group.byname マップ全体で置き換えられます。 .Pp 何らかの理由で YP/NIS グループデータベースが有効になった場合、 少数のグループのみが有効であるときですら、全ての逆検索 (すなわち .Fn getgrgid ) ではデータベース全体を利用することになるでしょう。それ故、 .Fn getgrgid が返すグループ名が正しい前方マッピングを持つことは保証できません。 .Sh 制限 様々な制限事項が該当する機能のところで説明されています。 .Sx 関連項目 の節を参照してください。 .Pp 古い実装においては、 1 つのグループは 200 以上のメンバを持つことはできず、 .Pa /etc/group の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。 この制限は .Fx 3.0 でなくなりました。 静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、 互換モードにおける非 .Fx のバイナリには、まだこの制限があるかもしれません。 .Sh 関連ファイル .Bl -tag -width /etc/group -compact .It Pa /etc/group .El .Sh 関連項目 .Xr passwd 1 , .Xr setgroups 2 , .Xr crypt 3 , .Xr getgrent 3 , .Xr initgroups 3 , .Xr yp 4 , .Xr passwd 5 .Sh バグ .Xr passwd 1 コマンドは .Nm パスワードを変更しません。 .Sh 歴史 .Nm ファイルフォーマットは .At v6 で現われました。 YP/NIS の機能は .Tn SunOS を手本に作られ、 .Fx 1.1 で初めて現われました。 コメントサポートは .Fx 3.0 で最初に現われました。 diff --git a/ja_JP.eucJP/man/man5/hosts.5 b/ja_JP.eucJP/man/man5/hosts.5 index 8f15bbfdd8..891961a946 100644 --- a/ja_JP.eucJP/man/man5/hosts.5 +++ b/ja_JP.eucJP/man/man5/hosts.5 @@ -1,102 +1,102 @@ .\" 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. .\" .\" @(#)hosts.5 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/share/man/man5/hosts.5,v 1.5.2.1 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/hosts.5,v 1.5.2.2 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/hosts.5,v 1.7 2001/05/14 01:09:28 horikawa Exp $ .Dd December 11, 1993 .Dt HOSTS 5 .Os BSD 4.2 .Sh 名称 .Nm hosts .Nd ホスト名データベース .Sh 解説 .Nm ファイルはネットワーク上の既知のホストに関する情報を保持します。 各ホストに対して、1つの行に以下の情報を与えます。 .Bd -unfilled -offset indent インターネットアドレス 正式なホスト名 別名 .Ed .Pp 各項目は任意の数の空白やタブ文字で区切られます。 ``#'' はコメントの開始を表し、これ以降の行末までの文字はこの ファイルを検索するルーチンによって解釈されません。 .Pp ネームサーバ .Xr named 8 使用時には、このファイルはネームサーバが動作していない時の予備として 機能します。 ネームサーバのために、ごく少数のアドレスがこのファイルに含まれて いなければなりません。 これらはブート時に .Xr ifconfig 8 が必要とするローカルインタフェースのアドレス、およびローカルネットワーク 上の少数のマシンを含みます。 .Pp このファイルは Network Information Control Center .Pq Tn NIC で保守された正式なホストデータベースから作成されますが、非公式な別名や 未知のホストに関しては、ローカルでの変更を最新に保つ必要があります。 .Tn NIC で保守されたデータベースは不完全なので、 .Tn DARPA インターネット上のサイトではネームサーバの使用が推奨されます。 .Pp ネットワークアドレスは、インターネットアドレス操作ライブラリ .Xr inet 3 の .Xr inet_addr 3 ルーチンを用いた伝統的な ``.'' (ドット) 表記で指定されます。 ホスト名は、フィールド区切り文字、改行、およびコメント文字 以外のあらゆる印字可能文字を含むことができます。 .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .Nm ファイルは .Pa /etc に存在します。 .El .Sh 関連項目 .Xr gethostbyname 3 , .Xr ifconfig 8 , .Xr named 8 .Rs .%T "Name Server Operations Guide for BIND" .Re .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/hosts.equiv.5 b/ja_JP.eucJP/man/man5/hosts.equiv.5 index ff7d26861b..bcc51aaec3 100644 --- a/ja_JP.eucJP/man/man5/hosts.equiv.5 +++ b/ja_JP.eucJP/man/man5/hosts.equiv.5 @@ -1,143 +1,143 @@ .\" 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/man5/hosts.equiv.5,v 1.10.2.2 2000/12/29 10:18:04 ru Exp % +.\" %FreeBSD: src/share/man/man5/hosts.equiv.5,v 1.10.2.3 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/hosts.equiv.5,v 1.9 2001/05/14 01:09:29 horikawa Exp $ .Dd February 11, 1996 .Dt HOSTS.EQUIV 5 .Os FreeBSD .Sh 名称 .Nm hosts.equiv , .Nm .rhosts .Nd 信頼できるリモートホスト名、およびユーザのデータベース .Sh 解説 .Nm および .Nm .rhosts ファイルは、ネットワーク上の信頼できるホストとユーザに関する情報を格納 します。 各ホストに対して、1つの行に以下の情報を与えます。 .Pp 単純に .Bd -unfilled -offset indent hostname [username] .Ed .Pp あるいは、より冗長に以下のようにします。 .Bd -unfilled -offset indent [+-][hostname|@netgroup] [[+-][username|@netgroup]] .Ed .Pp .Dq @ は netgroup というグループによってホスト、またはユーザを表します。 単独の .Dq + は全てのホスト、またはユーザと一致します。前に .Dq - を伴うホスト名は、一致する全てのホストとそのホスト上の全ての ユーザを拒否します。 前に .Dq - を伴うユーザ名は、指定されたホスト上の一致したユーザ全てを拒否します。 .Pp 各項目は任意の数の空白やタブ文字で区切られます。 .Dq # はコメントの開始を表し、これ以降の行末までの文字はこのファイルを 検索するルーチンによって解釈されません。 .Pp ホスト名は、インターネットアドレス操作ライブラリ .Xr inet 3 の .Xr inet_addr 3 ルーチンを用いた伝統的な .Dq .\& (ドット) 表記で指定されます。 ホスト名は、フィールド区切り文字、改行、およびコメント文字 以外のあらゆる印字可能文字を含むことができます。 .Pp セキュリティ上の理由から、ユーザの .Nm .rhosts が通常ファイルでないか、所有者がそのユーザでないか、あるいはその ユーザ以外のユーザが書き込み可能な場合、そのファイルは無視されます。 .Sh 使用例 .Pp .Dl bar.com foo .Pp ホスト .Dq bar.com のユーザ .Dq foo を信頼します。 .Pp -.Dl +@allclient +.Dl +@allclient .Pp ネットグループ .Dq allclient の全てのホストを信頼します。 .Pp .Dl +@allclient -@dau .Pp ネットグループ .Dq allclient の全てのホストとそのユーザを信頼しますが、 ネットグループ .Dq dau のユーザは例外です。 .Sh 関連ファイル .Bl -tag -width /etc/hosts.equivxxx -compact .It Pa /etc/hosts.equiv .Nm ファイルは .Pa /etc に存在します。 .It Pa $HOME/.rhosts .Nm .rhosts ファイルは .Pa $HOME に存在します。 .El .Sh 関連項目 .Xr rcp 1 , .Xr rlogin 1 , .Xr rsh 1 , .Xr gethostbyname 3 , .Xr inet 3 , .Xr innetgr 3 , .Xr ruserok 3 , .Xr yp 4 , .Xr ifconfig 8 , .Xr named 8 .Sh バグ このマニュアルページは不完全です。 より詳細については、 .Pa lib/libc/net/rcmd.c のソースか、 SunOS のマニュアルページを参照してください。 diff --git a/ja_JP.eucJP/man/man5/kernfs.5 b/ja_JP.eucJP/man/man5/kernfs.5 index 38365b0941..c3e6419d86 100644 --- a/ja_JP.eucJP/man/man5/kernfs.5 +++ b/ja_JP.eucJP/man/man5/kernfs.5 @@ -1,139 +1,139 @@ .\" Copyright (c) 1996 .\" Mike Pritchard . 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 Mike Pritchard. .\" 4. Neither the name of author 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 AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/kernfs.5,v 1.8.2.1 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/kernfs.5,v 1.8.2.2 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/kernfs.5,v 1.8 2001/05/14 01:09:29 horikawa Exp $ .\"WORD: machine independent 機種に依存しない .\"WORD: decimal ASCII ASCII 表記の 10 進数 .\"WORD: mount point マウントポイント .\" .Dd December 14, 1996 .Dt KERNFS 5 .Os BSD 4.4 .Sh 名称 .Nm kernfs .Nd カーネルファイルシステム .Sh 書式 .Bd -literal kern /kern kernfs rw 0 0 .Ed .Sh 解説 カーネルファイルシステム .Nm は、現在実行中のカーネルに関する情報へのアクセス手段を提供するものです。 -これは通常 +これは通常 .Pa /kern にマウントされます。 このファイルシステムは読み取り可能な数個の通常ファイルを含んでおり、 これらのファイルの一部には書き込むこともできます。 ファイルの内容は文字列と ASCII 表記の 10 進整数からなり、 機種に依存しない書式になっています。 数値が返されるときは、後ろに改行文字が付け加えられます。 .Pp マウントポイントには以下のファイルが含まれます。 .Bl -tag -width copyright .It Pa bootfile 現在のカーネルが起動したパス。 .It Pa boottime システムが最後に起動した時間 (ASCII 表記の 10 進数)。 .It Pa copyright カーネルの著作権標示。 .It Pa hostname 現在のホスト名。後ろに改行がつきます。 このファイルに書き込むことにより、現在のホスト名を変更することが できます。 ホスト名に後続する改行文字は書き込み時には取り除かれます。 .It Pa hz システムクロックの周波数 (ASCII 表記の 10 進数)。 .It Pa loadavg 過去 1 分間、5 分間および 15 分間のロードアベレージで、カーネル固定小数点 フォーマットで表されます。最後の整数は固定小数のスケーリングファクタ です。全ての数値は ASCII 10 進数で表されます。 .It Pa pagesize マシンのページサイズ (ASCII 10進数)。 .It Pa physmem マシンの物理メモリのページ数 (ASCII 表記の 10 進数)。 .It Pa root システムのルートディレクトリ。chroot した環境では、 .Xr mount_kernfs 8 を、新しい .Pa /kern マウントポイントを生成するために用いることができます。 .Pa /kern/root はカレントプロセスのルートではなく、システム全体のルートを示すことに なる予定です。現在はまだ利用できません。 .It Pa rootdev ルートデバイス。現在はまだ利用できません。 .It Pa rrootdev raw ルートデバイス。現在はまだ利用できません。 .It Pa time システムクロックの秒数およびマイクロ秒数 (ASCII 表記の 10 進数)。 .It Pa version カーネルのバージョン文字列。 .Pa /etc/motd のヘッドラインは .Dq Ic "sed 1q /kern/version" を実行することによって生成することができます。 .El .Pp .Nm によって得られる情報のほとんどは .Xr sysctl 8 からも入手可能です。 .Sh 関連ファイル .Bl -tag -width /kern/XXXXXXX .It Pa /kern .Nm のための通常のマウントポイント。 .El .Sh 関連項目 .Xr sysctl 3 , .Xr mount_kernfs 8 , .Xr sysctl 8 .Sh 歴史 -.Nm +.Nm ファイルシステムは .Bx 4.4 で最初に登場しました。 .Nm マニュアルページは .Fx 2.2 で最初に登場しました。 .Sh 作者 .An -nosplit .Nm マニュアルページは .An Mike Pritchard Aq mpp@FreeBSD.org によって書かれたもので、 .An Jan-Simon Pendry による .Xr mount_kernfs 8 マニュアルページに基づいています。 diff --git a/ja_JP.eucJP/man/man5/link.5 b/ja_JP.eucJP/man/man5/link.5 index 069430bf0d..2faa2fc226 100644 --- a/ja_JP.eucJP/man/man5/link.5 +++ b/ja_JP.eucJP/man/man5/link.5 @@ -1,617 +1,618 @@ .\" Copyright (c) 1993 Paul Kranenburg .\" 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 Paul Kranenburg. .\" 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/man5/link.5,v 1.14.2.3 2001/03/06 19:08:18 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man5/link.5,v 1.14.2.5 2001/07/21 09:16:52 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/link.5,v 1.10 2001/05/14 01:09:29 horikawa Exp $ .\" .Dd October 23, 1993 .Dt LINK 5 .Os .Sh 名称 .Nm link .Nd ダイナミックローダとリンクエディタインタフェース .Sh 書式 .Fd #include .Fd #include .Fd #include .Sh 解説 インクルードファイル .Aq Pa link.h では、ダイナミックにリンクされたプログラムやライブラリに含まれる 数種の構造体が宣言されています。 その構造体は、リンクエディタとローダ機構のいくつかの構成要素間の インタフェースを定義します。 バイナリ中でのこれらの構造体のレイアウトは 多くの点で a.out 形式に類似しており、 シンボル定義 (付随する文字列テーブルを含む) や外部エンティティへの参照を 解決するのに必要なリロケーションレコードといった、 よく似た機能を提供します。 それに加え、ダイナミックロードとリンク処理に固有のいくつかのデータ構造も 記録しています。このようなデータ構造としては、 リンクエディット処理を完結するのに必要な他のオブジェクトへの参照や、 異なるプロセス間でコードページの共有を進めるための .Em 位置独立コード (Position Independent Code 略して PIC) を機能させるための 間接テーブルがあります。 ここで述べるデータ構造全体を .Em ランタイムリロケーションセクション (RRS) と呼び、ダイナミックにリンクされるプログラムや共有オブジェクトの 標準テキスト及びデータセグメントに埋め込まれます。 これは、既存の .Xr a.out 5 形式には RRS のための場所が他にないからです。 .Pp あるプログラムを実行可能とする処理が、 システムリソースの使用を最適化しつつ正しく完了するよう、 複数のユーティリティが協調して働きます。 コンパイラは PIC コードを出力し、 それから .Xr ld 1 によって共有ライブラリが作られます。 コンパイラはまた、初期化される各データアイテムのサイズ情報を アセンブラディレクティブ .size を用いて記録します。 PIC コードは、ある間接テーブルを通じてデータ変数にアクセスする点で 従来のコードと異なっています。 この表はグローバルオフセットテーブルと呼ばれ、 慣習によって、予約名 .Dv _GLOBAL_OFFSET_TABLE_ によってアクセス可能です。 ここで用いられるメカニズムの詳細は機種依存ですが、通常は そのマシンのレジスタ 1 本がこの用途に予約されます。 このような仕組みの背景にある合理性は、 実際のロードアドレスとは独立したコードを生成することです。 実行時には、アドレス空間において様々な共有オブジェクトがロードされるアドレス に応じて、グローバルオフセットテーブルに含まれる値のみ変更すればよいのです。 .Pp 同様に、大域的に定義された関数の呼び出しは、 コアイメージのデータセグメント中に置かれている プロシージャリンケージテーブル (PLT) を通じて間接的に行われます。 これもまた、実行時にテキストセグメントを修正せずに済ませるためのものです。 .Pp リンクエディタがグローバルオフセットテーブルとプロシージャリンケージテーブルを 配置するのは、 複数の PIC オブジェクトファイルを結合して プロセスのアドレス空間にマップするのに適した 1 つのイメージにする時です。 リンクエディタはまた、実行時のリンクエディタが必要とする全てのシンボルを集め、 それらをイメージのテキストとデータのビット列と共にストアします。 もう 1 つの予約シンボル .Em _DYNAMIC は、実行時のリンク構造が存在することを示すのに用いられます。 _DYNAMIC が 0 にリロケートされる場合は、実行時リンクエディタを起動する 必要はありません。 もし _DYNAMIC が非 0 なら、_DYNAMIC は、必要なリロケーション情報と シンボル情報の位置を引き出すことができるデータ構造を指しています。 これは特に、スタートアップモジュール .Em crt0 で利用されます。 慣習として、_DYNAMIC 構造体は、 それが属するイメージのデータセグメントの最初に置かれます。 .Pp .Sh データ構造 ダイナミックリンクと実行時リロケーションをサポートするデータ構造は、 それらの処理の適用対象イメージのテキスト及びデータセグメントの 両方の中にあります。 テキストセグメントにはシンボル記述や名前といった読み取り専用データが含まれ、 他方データセグメントにはリロケーション処理で更新する必要のあるテーブル類が 含まれます。 .Pp シンボル _DYNAMIC は .Fa _dynamic 構造体を参照します: .Bd -literal -offset indent struct _dynamic { int d_version; struct so_debug *d_debug; union { struct section_dispatch_table *d_sdt; } d_un; struct ld_entry *d_entry; }; .Ed .Bl -tag -width d_version .It Fa d_version このフィールドは異なったバージョンのダイナミックリンク実装用に 提供されています。 .Xr ld 1 及び .Xr ld.so 1 が理解する現在のバージョン番号は、 .Tn SunOS 4.x リリースで用いられている .Em LD_VERSION_SUN (3) と、 .Fx 1.1 以来使用されている .Em LD_VERSION_BSD (8) です。 .It Fa d_un .Em d_version に応じたデータ構造を参照します。 .It Fa so_debug このフィールドは、 共有オブジェクトのシンボルテーブルをアクセスするためのフックを デバッガに提供します。 この共有オブジェクトは、 実行時リンクエディタの処理の結果ロードされたものです。 .El .Pp .Fa section_dispatch_table 構造体がメインとなる .Dq ディスパッチャ テーブルであり、 イメージ内で様々なシンボル情報やリロケーション情報が置かれるセグメントへの オフセットを保持します。 .Bd -literal -offset indent struct section_dispatch_table { struct so_map *sdt_loaded; long sdt_sods; long sdt_filler1; long sdt_got; long sdt_plt; long sdt_rel; long sdt_hash; long sdt_nzlist; long sdt_filler2; long sdt_buckets; long sdt_strings; long sdt_str_sz; long sdt_text_sz; long sdt_plt_sz; }; .Ed .Pp .Bl -tag -width sdt_filler1 .It Fa sdt_loaded ロードされた最初のリンクマップ (後述) へのポインタ。 このフィールドは .Nm ld.so によって設定されます。 .It Fa sdt_sods .Em この オブジェクトが必要とする共有オブジェクトデスクリプタの (リンク) リストの先頭。 .It Fa sdt_filler1 使用しないで下さい (SunOS では ライブラリの検索ルールを指定するのに使用されていました)。 .It Fa sdt_got このイメージ中でのグローバルオフセットテーブルの位置。 .It Fa sdt_plt このイメージ中でのプロシージャリンケージテーブルの位置。 .It Fa sdt_rel 実行時のリロケーションを指定する .Fa relocation_info 構造体 .Po .Xr a.out 5 参照 .Pc の配列の位置。 .It Fa sdt_hash このオブジェクトのシンボルテーブルでシンボル検索を高速化するための ハッシュテーブルの位置。 .It Fa sdt_nzlist シンボルテーブルの位置。 .It Fa sdt_filler2 現在使用されていません。 .It Fa sdt_buckets .Fa sdt_hash 中のバケット数。 .It Fa sdt_strings .Fa sdt_nzlist に対応するシンボル文字列テーブルの位置。 .It Fa sdt_str_sz 文字列テーブルのサイズ。 .It Fa sdt_text_sz このオブジェクトのテキストセグメントのサイズ。 .It Fa sdt_plt_sz プロシージャリンケージテーブルのサイズ。 .El .Pp .Fa sod 構造体は、それを含むオブジェクトのリンクエディット処理を完了するのに 必要な共有オブジェクトを記述します。 そのようなオブジェクトのリスト .Po .Fa sod_next で連結されます .Pc は section_dispatch_table 構造体の .Fa sdt_sods によって指し示されます。 .Bd -literal -offset indent struct sod { long sod_name; u_int sod_library : 1, sod_reserved : 31; short sod_major; short sod_minor; long sod_next; }; .Ed .Pp .Bl -tag -width sod_library .It Fa sod_name このリンクオブジェクトを記述する文字列の、 テキストセグメントにおけるオフセット。 .It Fa sod_library もし設定されていれば、 .Fa sod_name は .Nm ld.so が検索することになるライブラリを指定します。 そのパス名は、あるディレクトリ群 .Po .Xr ldconfig 8 参照 .Pc で .Em lib\&\&.so.n.m. にマッチする共有オブジェクトを検索することで得られます。 もし設定されていなければ、 .Fa sod_name は希望する共有オブジェクトに対するフルパス名を指し示す必要があります。 .It Fa sod_major ロードすべき共有オブジェクトのメジャーバージョン番号を指定します。 .It Fa sod_minor ロードすべき共有オブジェクトの希望するマイナーバージョン番号を指定します。 .El .Pp プロセスのアドレス空間にロードされる共有オブジェクト全てを追跡するために、 実行時リンクエディタは .Em リンクマップ と呼ばれる構造体のリストを管理しています。 これらの構造体は実行時にのみ用いられ、 実行可能ファイルや共有ライブラリのテキストあるいはデータセグメントには ありません。 .Bd -literal -offset indent struct so_map { caddr_t som_addr; char *som_path; struct so_map *som_next; struct sod *som_sod; caddr_t som_sodbase; u_int som_write : 1; struct _dynamic *som_dynamic; caddr_t som_spd; }; .Ed .Bl -tag -width som_dynamic .It Fa som_addr このリンクマップに対応する共有オブジェクトがロードされるアドレス。 .It Fa som_path ロードされるオブジェクトのフルパス名。 .It Fa som_next 次のリンクマップへのポインタ。 .It Fa som_sod この共有オブジェクトのロードをつかさどる .Fa sod 構造体。 .It Fa som_sodbase 将来のバージョンにおいては、実行時リンカに渡されます。 .It Fa som_write このオブジェクトのテキストセグメント (の一部分) が現在書き込み可能である 場合にセットされます。 .It Fa som_dynamic このオブジェクトの .Fa _dynamic 構造体へのポインタ。 .It Fa som_spd 実行時リンクエディタが管理するプライベートデータと連結するためのフック。 .El .Pp サイズ付きシンボル記述。 これは単に .Fa nlist 構造体にフィールド .Pq Fa nz_size を 1 つ追加したものです。 共有オブジェクトのデータセグメントにあるアイテムの サイズ情報を伝達するのに用いられます。 この構造体の配列は共有オブジェクトのテキストセグメントに存在し、 そのアドレスは .Fa section_dispatch_table の .Fa sdt_nzlist フィールドで指定されます。 .Bd -literal -offset indent struct nzlist { struct nlist nlist; u_long nz_size; #define nz_un nlist.n_un #define nz_strx nlist.n_un.n_strx #define nz_name nlist.n_un.n_name #define nz_type nlist.n_type #define nz_value nlist.n_value #define nz_desc nlist.n_desc #define nz_other nlist.n_other }; .Ed .Bl -tag -width nz_size .It Fa nlist .Po .Xr nlist 3 参照 .Pc 。 .It Fa nz_size このシンボルで表現されるデータのサイズ。 .El .Pp 実行時のリンクエディットで行われるシンボル検索を高速化するため、 共有オブジェクトのテキストセグメントにハッシュテーブルが含まれています。 .Fa section_dispatch_table の .Fa sdt_hash フィールドは .Fa rrs_hash 構造体を指し示します: .Bd -literal -offset indent struct rrs_hash { int rh_symbolnum; /* シンボル番号 */ int rh_next; /* 次のハッシュエントリ */ }; .Ed .Pp .Bl -tag -width rh_symbolnum .It Fa rh_symbolnum 共有オブジェクトのシンボルテーブル ( .Fa ld_symbols で与えられます) での当該シンボルのインデックス。 .It Fa rh_next 衝突が起きたとき、このフィールドはこのハッシュテーブルのバケットにおける 次のエントリのオフセットを保持します。 最終バケット要素の場合は 0 となります。 .El .Fa rt_symbol 構造体は、 実行時にアロケートされるコモン(commons)と 共有オブジェクトからコピーされるデータアイテムを 追跡するのに用いられます。 これらのアイテムはリンクリストで管理され、デバッガでの利用のために .Fa so_debug 構造体 (後述) 中の .Fa dd_cc フィールドによって公開されます。 .Bd -literal -offset indent struct rt_symbol { struct nzlist *rt_sp; struct rt_symbol *rt_next; struct rt_symbol *rt_link; caddr_t rt_srcaddr; struct so_map *rt_smp; }; .Ed .Pp .Bl -tag -width rt_scraddr .It Fa rt_sp シンボル記述。 .It Fa rt_next 次の rt_symbol の仮想アドレス。 .It Fa rt_link ハッシュバケットにおける次の要素。 .Nm ld.so の内部で用いられます。 .It Fa rt_srcaddr 共有オブジェクト中での初期化済データのソース位置。 .It Fa rt_smp この実行時シンボルが記述するデータの元のソースとなる共有オブジェクト。 .El .Pp .Fa so_debug 構造体は、 実行時リンクエディットの結果、当該プロセスのアドレス空間にロードされた あらゆる共有オブジェクトの情報を得るために、 デバッガによって利用されます。 実行時リンクエディタはプロセスの初期化処理の一部として実行されるため、 共有オブジェクトからシンボルにアクセスしようとするデバッガは、 crt0 からリンクエディタが呼ばれた後でのみそれが可能となります。 ダイナミックリンクされているバイナリは .Fa so_debug 構造体を持っています。この構造体の場所は .Fa _dynamic 中の .Fa d_debug フィールドで指示されます。 .Bd -literal -offset indent struct so_debug { int dd_version; int dd_in_debugger; int dd_sym_loaded; char *dd_bpt_addr; int dd_bpt_shadow; struct rt_symbol *dd_cc; }; .Ed .Pp .Bl -tag -width dd_in_debugger .It Fa dd_version このインタフェースのバージョン番号。 .It Fa dd_in_debugger 当該プログラムがデバッガの制御下にあることを実行時リンカに知らせるために デバッガによってセットされます。 .It Fa dd_sym_loaded 共有オブジェクトをロードすることで実行時リンカがシンボルを追加した場合、 実行時リンカによってセットされます。 .It Fa dd_bpt_addr デバッガに制御を移すために実行時リンカによってセットされる ブレークポイントアドレス。 このアドレスは、_main 呼び出しの前に、スタートアップモジュール .Em crt0.o によってある適切な場所に決定されます。 .It Fa dd_bpt_shadow アドレス .Fa dd_bpt_addr にあった元の機械命令を保持します。 デバッガは、プログラム実行を再開する前にこの機械命令を元に戻すことに なっています。 .It Fa dd_cc デバッガが必要とする可能性のある、実行時にアロケートしたシンボルの リンクリストへのポインタ。 .El .Pp .Em ld_entry 構造体は .Nm ld.so 中のサービスルーチン一式を定義します。 .\" See .\" .Xr libdl.a .\" for more information. .Bd -literal -offset indent struct ld_entry { void *(*dlopen)(char *, int); int (*dlclose)(void *); void *(*dlsym)(void *, char *); char *(*dlerror)(void); }; .Ed .Pp .Fa crt_ldso 構造体は、crt0 中のスタートアップコードと .Nm ld.so との間のインタフェースを定義します。 .Bd -literal -offset indent struct crt_ldso { int crt_ba; int crt_dzfd; int crt_ldfd; struct _dynamic *crt_dp; char **crt_ep; caddr_t crt_bp; char *crt_prog; char *crt_ldso; struct ld_entry *crt_ldentry; }; #define CRT_VERSION_SUN 1 #define CRT_VERSION_BSD_2 2 #define CRT_VERSION_BSD_3 3 #define CRT_VERSION_BSD_4 4 .Ed .Bl -tag -width crt_dzfd .It Fa crt_ba crt0 によって .Nm ld.so がロードされた仮想アドレス。 .It Fa crt_dzfd SunOS では、このフィールドは .Dq Pa /dev/zero へのオープンされたファイル記述子を保持し、 0 クリアされたデマンドページを得ます。 .Fx ではこのフィールドは -1 を保持します。 .It Fa crt_ldfd .Nm ld.so をロードするために crt0 が用いる、オープンされたファイル記述子 を保持します。 .It Fa crt_dp main の .Fa _dynamic 構造体へのポインタ。 .It Fa crt_ep 環境文字列へのポインタ。 .It Fa crt_bp メインプログラムがデバッガで実行される場合、 実行時リンカがブレークポイントを置くアドレス。 .Fa so_debug を参照してください。 .It Fa crt_prog crt0 で決定されるメインプログラムの名前 (CRT_VERSION_BSD3 のみ)。 .It Fa crt_ldso crt0 でマップされる実行時リンカのパス (CRT_VERSION_BSD4 のみ)。 .El .Pp .Fa hints_header 構造体及び .Fa hints_bucket 構造体は、通常 .Dq Pa /var/run/ld.so.hints に置かれるライブラリヒントのレイアウトを定義します。 ライブラリヒントは、ファイルシステム中で共有オブジェクトイメージの在処を すばやく見つけるために .Nm ld.so によって利用されます。 ヒントファイルの構成は .Dq a.out とそれほど異なりません。つまりヒントファイルは、 固定長ハッシュバケットのオフセットとサイズを決定するためのヘッダと、 共通の文字列プールを持っています。 .Bd -literal -offset indent struct hints_header { long hh_magic; #define HH_MAGIC 011421044151 long hh_version; #define LD_HINTS_VERSION_1 1 long hh_hashtab; long hh_nbucket; long hh_strtab; long hh_strtab_sz; long hh_ehints; }; .Ed .Bl -tag -width hh_strtab_sz .It Fa hh_magic ヒントファイルのマジックナンバ。 .It Fa hh_version インタフェースのバージョン番号。 .It Fa hh_hashtab ハッシュテーブルのオフセット。 .It Fa hh_strtab 文字列テーブルのオフセット。 .It Fa hh_strtab_sz 文字列テーブルのサイズ。 .It Fa hh_ehints ヒントファイルで利用可能な最大オフセット。 .El .Pp .Bd -literal -offset indent /* * ヒントファイルのハッシュテーブル要素 */ struct hints_bucket { int hi_namex; int hi_pathx; int hi_dewey[MAXDEWEY]; int hi_ndewey; #define hi_major hi_dewey[0] #define hi_minor hi_dewey[1] int hi_next; }; .Ed .Bl -tag -width hi_ndewey .It Fa hi_namex ライブラリを指定する文字列のインデックス。 .It Fa hi_pathx ライブラリのフルパス名を表す文字列のインデックス。 .It Fa hi_dewey 共通ライブラリのバージョン番号。 .It Fa hi_ndewey .Fa hi_dewey 中の有効エントリ数。 .It Fa hi_next ハッシュ衝突の際の次のバケット。 .El .Sh 警告 現在のところ、共有ライブラリ生成をサポートしているのは (GNU) C コンパイラ のみです。他のプログラミング言語では利用できません。 diff --git a/ja_JP.eucJP/man/man5/linprocfs.5 b/ja_JP.eucJP/man/man5/linprocfs.5 index 71bac64350..939ab8570b 100644 --- a/ja_JP.eucJP/man/man5/linprocfs.5 +++ b/ja_JP.eucJP/man/man5/linprocfs.5 @@ -1,96 +1,96 @@ -.\" %FreeBSD: src/share/man/man5/linprocfs.5,v 1.1.2.3 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/linprocfs.5,v 1.1.2.4 2001/07/21 09:16:52 schweikh Exp % .\" Written by Garrett Wollman .\" This file is in the public domain. .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/linprocfs.5,v 1.3 2001/05/14 01:09:29 horikawa Exp $ .Dd August 10, 1994 .Dt LINPROCFS 5 .Os BSD 4.4 .Sh 名称 .Nm linprocfs .Nd Linux プロセスファイルシステム .Sh 書式 .Bd -literal linproc /compat/linux/proc linprocfs rw 0 0 .Ed .Sh 解説 Linux プロセスファイルシステム、すなわち .Nm は、Linux のプロセスファイルシステムのサブセットをエミュレートします。 いくつかの Linux バイナリが完全動作するために必要です。 .Pp .Nm はプロセス空間の 2 つのレベルのビューを提供します。 高いレベルでは、プロセスは、先頭に 0 の付かない 10 進数のプロセス ID に従って名前付けされます。 また、調査要求を行っているプロセスを常に参照する、 .Pa self と呼ばれる特別なノードも存在します。 .Pp 各ノードは以下の項目を含むディレクトリです: .Pp 各ディレクトリはいくつかのファイルを含んでいます: .Bl -tag -width status .It Pa exe プロセステキストが読まれた vnode への参照。 これはプロセスのシンボルテーブルへのアクセスを得るか、または プロセスのもう 1 つのコピーを始めるために使われます。 .It Pa mem プロセスの完全な仮想メモリイメージ。 プロセス中に存在するアドレスのみにアクセス可能です。 このファイルへ読み書きするとプロセスを修正します。 テキストセグメントへの書き込みは、そのプロセスのみに留まります。 .El .Pp 各ノードはプロセスのユーザによって所有され、 ユーザのプライマリグループに属します。 .Pa mem ノードは例外で、 .Li kmem グループに属します。 .Sh 関連ファイル .Bl -tag -width /compat/linux/proc/self/XXXXXXX -compact .It Pa /compat/linux/proc .Nm の標準マウントポイント。 .It Pa /compat/linux/proc/cpuinfo 人間が判読しやすい形式の、CPU のベンダとモデルに関する情報。 .It Pa /compat/linux/proc/meminfo 人間が判読しやすい形式の、システムのメモリ情報。 .It Pa /compat/linux/proc/pid プロセス .Pa pid のプロセス情報を含んだディレクトリ。 .It Pa /compat/linux/proc/self カレントプロセスのプロセス情報を含んだディレクトリ .It Pa /compat/linux/proc/self/exe 実行形式イメージ .It Pa /compat/linux/proc/self/mem プロセスの完全な仮想アドレス空間 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr procfs 5 , .Xr mount_linprocfs 8 .Sh 作者 .An -nosplit .Nm は、 .An Pierre Beyssac によって .Nm procfs から作られました。 このマニュアルページは、 .An Garrett Wollman が書いた .Xr procfs 5 マニュアルページに基づいて、 .ie t .An Dag-Erling Sm\(/orgrav .el An Dag-Erling Smorgrav が書きました。 .Sh 歴史 .Nm は .Fx 4.0 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man5/make.conf.5 b/ja_JP.eucJP/man/man5/make.conf.5 index ccf367e517..867461cfaf 100644 --- a/ja_JP.eucJP/man/man5/make.conf.5 +++ b/ja_JP.eucJP/man/man5/make.conf.5 @@ -1,769 +1,769 @@ .\" Copyright (c) 2000 .\" Mike W. Meyer .\" .\" 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 ``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/man5/make.conf.5,v 1.12.2.4 2001/07/09 13:49:55 ru Exp % +.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.12.2.5 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/make.conf.5,v 1.6 2001/07/12 00:16:02 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/make.conf.5,v 1.7 2001/07/22 23:09:21 horikawa Exp $ .\" .Dd November 3, 2000 .Dt MAKE.CONF 5 .Os .Sh 名称 .Nm make.conf .Nd システムビルド情報 .Sh 解説 .Nm ファイルには .Fx のソースや ports アプリケーションの制御に関する設定が含まれています。 通常 .Nm ファイルは、システム管理者が、 これらの値をデフォルトから変更したい場合に作成します。 .Pp .Nm の用途は、コマンド実行やコンパイル動作を直接行うことではなく、 .Pa /usr/src , .Pa /usr/ports , .Pa /usr/doc などにある様々な makefile にインクルードされることです。 そのような makefile では、 内部の動作が .Nm の与える条件によって変化するようになっているのです。 .Pp .Pa /etc/make.conf ファイルはそれぞれ適切な .Pa Makefile からインクルードされます。 各々の Makefile の中では、 利用可能なすべてのオプションに対し、デフォルトの設定が与えられています。 .Pa /etc/make.conf で指定する必要があるオプションは、 システム管理者がデフォルトから変更したいと思ったものだけです。 .Pp ビルドの手続きは、大きく 4 つの領域に分けられます。 world、カーネル、ドキュメント、ports です。 .Nm で設定された変数はこれらの領域の 1 つ、2 つ、 あるいは全てに適用されます。 変数は、特定のビルドに対して .Xr make 1 の .Fl D オプションを用いて指定することもできます。 .Pp 以下のリストでは、それぞれ指定したビルドの途中で用いることのできる 各変数の名前と簡単な説明を記述します。 .Vt bool と指定されている変数では、その値は意味を持ちません。 変数が設定されていれば (たとえ値が .Dq Li FALSE や .Dq Li NO でも)、変数が設定されているものとして扱われます。 .Pp 次のリストは、すべてのビルド (あるいはビルド以外の目的で使われる .Pa Makefile ) で用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va CFLAGS .Qt Vt str C のコードをコンパイルするときのコンパイラの設定を制御します。 .Op Fl O を越えた最適化レベル .Pq Op Fl O2 , No ...\& はサポートされていません。 .Va BDECFLAGS は、 .An "Bruce Evans" Aq bde@FreeBSD.org が開発や変更のテスト用に勧めている .Xr gcc 1 設定です。 これは以下のように使用可能です。 .Pp .Bd -literal -offset indent CXFLAGS+=${BDECFLAGS} .Ed .It Va CVS_UPDATE .Qt Vt bool .Dq Li "make update" で ports を更新するときに .Xr cvs 1 を用いる場合、設定します。 .It Va CXXFLAGS .Qt Vt str C++ のコードをコンパイルするときのコンパイラの設定を制御します。 .Va CXXFLAGS は最初は .Va CFLAGS の値に設定されます。この .Va CXXFLAGS の値に追加を行いたい場合は、 .Dq Li = ではなく .Dq Li += を用いてください。 .It Va INSTALL .Qt Vt str デフォルトのインストールコマンドです。 インストールを行う前に比較を行いたい場合は、次の例を用いてください。 .Bd -literal -offset indent INSTALL="install -C" .Ed .It Va LOCAL_DIRS .Qt Vt str この変数には .Pa /usr/src で make を行うときに入るべきディレクトリをすべてリストします。 .It Va MTREE_FOLLOWS_SYMLINKS .Qt Vt str .Xr mtree 8 にシンボリックリンクを追跡させたい場合は、 これを .Dq Fl L に設定します。 .It Va NO_DOCUPDATE .Qt Vt bool .Dq Li "make update" で doc ツリーを更新させない場合これを設定します。 .It Va NO_PORTSUPDATE .Qt Vt bool .Dq Li "make update" で ports ツリーを更新させない場合これを設定します。 .It Va SUP_UPDATE .Qt Vt bool .Dq Li "make update" による ports の更新に .Xr cvsup 1 を使う場合これを設定します。 .It Va SUP .Qt Vt str .Dq Li "make update" で用いられる .Xr cvsup 1 コマンドの置き場所です。 .It Va SUPFLAGS .Qt Vt str .Dq Li "make update" を行うとき .Xr sup 1 に与えるフラグ。デフォルトは .Op Fl g L Ar 2 です。 .It Va SUPHOST .Qt Vt str .Dq Li "make update" を行うときに用いる sup サーバのホスト名です。 .It Va SUPFILE .Qt Vt str .Dq Li "make update" を行うとき、最初に用いる .Ar supfile です。デフォルトは -.Pa /usr/share/examples/cvsup/standard\-supfile +.Pa /usr/share/examples/cvsup/standard\-supfile です。 .It Va SUPFILE1 .Qt Vt str .Dq Li "make update" を行うとき、二番目に用いる .Ar supfile です。デフォルトは -.Pa /usr/share/examples/cvsup/secure\-supfile +.Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va SUPFILE2 .Qt Vt str .Dq Li "make update" を行うとき、三番目に用いる .Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va PORTSSUPFILE .Qt Vt str .Dq Li "make update" を行うときの ports 用の .Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/ports\-supfile です。 .It Va DOCSUPFILE .Qt Vt str .Dq Li "make update" を行うときのドキュメント用の -.Ar supfile +.Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/doc\-supfile です。 .El .Pp 次のリストは、カーネルのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va BOOT_COMCONSOLE_PORT .Qt Vt str ブートブロックが、 キーボード/ビデオカードの代わりに シリアルコンソールを用いるよう設定された場合に、 コンソールとして用いるポートアドレスです。 .It Va BOOT_COMCONSOLE_SPEED .Qt Vt int ブートブロックが、 キーボード/ビデオカードの代わりに シリアルコンソールを用いるよう設定された場合に、 コンソールで用いるボーレートです。 .It Va BOOTWAIT .Qt Vt int カーネルがデフォルトカーネルのブートを開始する前に、 コンソールのキーが押されるのを待つ時間を制御します。 値はだいたいミリ秒単位となります。 ディスクからブートする前のキー入力の認識は BIOS が行うので、 これが 0 に設定されていた場合でも、 ユーザの選択したブートパラメータを与えることは可能です。 .It Va COPTFLAGS .Qt Vt str カーネルをコンパイルするときのコンパイラの設定を制御します。 .Op Fl O を越えた最適化レベル .Pq Op Fl O2 , No ...\& はサポートされていません。 .It Va KERNEL .Qt Vt str .Dq Li "${MAKE} buildkernel" によるビルドと .Dq Li "${MAKE} installkernel" . によるインストールとで、 どのカーネル設定を用いるかを制御します。例えば .Bd -literal -offset indent KERNEL=MINE DEBUG GENERIC OTHERMACHINE .Ed .Pp とすると、 .Pa MINE , DEBUG , GENERIC , OTHERMACHINE といった各設定ファイルに対応するカーネルをビルドし、 .Pa MIME に対応するカーネルをインストールします。 デフォルトは .Pa GENERIC です。 .It Va NO_KERNELCONFIG .Qt Vt bool .Dq Li "${MAKE} buildkernel" の際に .Xr config 8 を実行しない場合には、これを設定します。 .It Va NO_KERNELDEPEND .Qt Vt bool .Dq Li "${MAKE} buildkernel" の際に .Dq Li "${MAKE} depend" を実行しない場合には、これを設定します。 .It Va NO_MODULES .Qt Vt bool カーネルといっしょにモジュールをビルドしない場合に設定します。 .El .Pp 次のリストは、world のビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va COMPAT1X .Qt Vt bool .Fx 1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT20 .Qt Vt bool .Fx 2.0 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT21 .Qt Vt bool .Fx 2.1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT22 .Qt Vt bool .Fx 2.2 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT3X .Qt Vt bool .Fx 3 互換ライブラリをインストールする場合に設定します。 .It Va ENABLE_SUIDPERL .Qt Vt bool suid .Xr perl 1 バイナリのインストールを行う場合に設定します。 .It Va FETCH_CMD .Qt Vt str ファイルの取得に用いるコマンドです。 通常は .Xr fetch 1 です。 .It Va MAKE_IDEA .Qt Vt bool IDEA 暗号化コードをビルドする場合に設定します。 このコードは米国やヨーロッパの多くの国々で特許が取得されています。 合法的に IDEA を使えるかどうか決めるのは .Em あなたの責任 です。 .It Va MAKE_KERBEROS4 .Qt Vt bool KerverosIV (KTH eBones) をビルドする場合に設定します。 .It Va MAKE_KERBEROS5 .Qt Vt bool Kerveros5 (KTH Heimdal) をビルドする場合に設定します。 .Em 注意! これはまだ実験的なコードです。 安定している Kerberos5 が必要ならば、 ports を用いてください。 .It Va MODULES_WITH_WORLD .Qt Vt bool カーネルと同時にではなく、 システムと同時にモジュールをビルドする場合に設定します。 .It Va NO_CVS .Qt Vt bool CVS をビルドしない場合に設定します。 .It Va NO_BIND .Qt Vt bool BIND をビルドしない場合に設定します。 .It Va NO_FORTRAN .Qt Vt bool .Xr g77 1 と関連ライブラリをビルドしない場合に設定します。 .It Va NO_I4B .Pq Vt bool isdn4bsd パッケージをビルドしない場合に設定します。 .It Va NO_LPR .Qt Vt bool .Xr lpr 1 と関連プログラムをビルドしない場合に設定します。 .It Va NO_MAILWRAPPER .Qt Vt bool MTA セレクタである .Xr mailwrapper 8 をビルドしない場合に設定します。 .It Va NO_MAKEDEV .Qt Vt bool インストールの際に .Pa /dev で .Dq Li "MAKEDEV all" を実行しない場合に設定します。 .It Va NO_OBJC .Qt Vt bool Objective C のサポートをビルドしない場合に設定します。 .It Va NO_OPENSSH .Qt Vt bool OpenSSH をビルドしない場合に設定します。 .It Va NO_OPENSSL .Qt Vt bool OpenSSL をビルドしない場合に設定します (同時に .Va NO_OPENSSH も設定されたことになります)。 .It Va NO_SENDMAIL .Qt Vt bool .Xr sendmail 8 と関連プログラムをビルドしない場合に設定します。 .It Va NO_SHAREDOCS .Qt Vt bool .Bx 4.4 の古い文書をビルドしない場合に設定します。 .It Va NO_TCSH .Qt Vt bool .Pa /bin/csh (これは .Xr tcsh 1 です) をビルド・インストールしない場合に設定します。 .It Va NO_X .Qt Vt bool X\-Windows のサポート (例えば .Xr doscmd 1 など) をコンパイルしない場合に設定します。 .It Va NOCLEAN .Qt Vt bool .Dq Li "make buildworld" の途中で clean を行わない場合に設定します。 何をやっているかわからない人は設定すべきではありません。 .It Va NOCLEANDIR .Qt Vt bool .Dq Li "${MAKE} cleandir" の代わりに .Dq Li "${MAKE} clean" を実行する場合に設定します。 .It Va NOCRYPT .Qt Vt bool crypto コードを一切ビルドしない場合に設定します。 .It Va NOGAMES .Qt Vt bool ゲームをビルドしない場合に設定します。 .It Va NOINFO .Qt Vt bool .Xr info 5 各ファイルを作成・インストールしない場合に設定します。 .It Va NOLIBC_R .Qt Vt bool .Nm libc_r .Pf ( Nm libc のリエントラント版) をビルドしない場合に設定します。 .It Va NOMANCOMPRESS .Qt Vt bool man ページのインストールの際に圧縮を行わない場合に設定します。 .It Va NOPERL .Qt Vt bool .Xr perl 1 をビルドしない場合に設定します。 .It Va NOPROFILE .Qt Vt bool profile 版ライブラリをコンパイルしない場合に設定します。 .It Va NOSECURE .Qt Vt bool .Pa secure サブディレクトリで crypto コードをビルドしない場合に設定します。 .It Va NOSHARE .Qt Vt bool .Pa share サブディレクトリをビルドしない場合に設定します。 .It Va NOUUCP .Qt Vt bool .Xr uucp 1 と関連プログラムをビルドしない場合に設定します。 .It Va PERL_THREADED .Qt Vt bool .Xr perl 1 をスレッドサポート機能込みでビルド・インストールする場合に設定します。 .It Va PPP_NOSUID .Qt Vt bool .Xr ppp 8 を suid root プログラムとしてはインストールしない場合に設定します。 .It Va SENDMAIL_MC .Qt Vt str インストール時に用いるデフォルトの m4 設定ファイルです。 この値には .mc ファイルのフルパスを与えます。例えば .Pa /etc/mail/myconfig.mc 。 make install すると、既存の .Pa /etc/mail/sendmail.cf を上書きしてしまうので、注意して使ってください。 .Va SENDMAIL_CF はもう推奨されなくなりました。 .It Va SENDMAIL_ADDITIONAL_MC .Qt Vt str ビルド時に .cf ファイルに変換される追加分の .mc ファイル (複数指定可) です。 値には、これらの .mc ファイルへのフルパスを与えます。 例えば .Pa /etc/mail/foo.mc .Pa /etc/mail/bar.mc など。 .It Va SENDMAIL_CFLAGS .Qt Vt str .Xr sendmail 8 をビルドするときにコンパイルコマンドに渡すフラグです。 .Va SENDMAIL_* 各フラグを用いれば、 SASL サポートをその設定と共に指定できます。 例えば次のようにします。 .Bd -literal -offset indent SENDMAIL_CFLAGS=-I/usr/local/include -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl .Ed .It Va SENDMAIL_LDFLAGS .Qt Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドに渡すフラグです。 .It Va SENDMAIL_LDADD .Qt Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドの末尾に追加するフラグです。 .It Va SENDMAIL_DPADD .Qt Vt str この変数の説明は与えられていません。 .El .Pp 次のリストは、ドキュメントのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va DISTDIR .Qt Vt str distfiles が保存されている場所です。 通常これは .Va PORTSDIR の .Pa distfiles です。 .It Va DOC_LANG .Qt Vt str ビルド・インストール対象の言語とエンコーディングのリストです。 .It Va PRINTERDEVICE .Qt Vt str システム文書のデフォルトのフォーマットです。 プリンタに依存します。 簡単なプリンタなら .Dq Li ascii に、PostScript プリンタや グラフィックスプリンタ + ghostscript フィルタなら .Dq Li ps に設定できます。 .El .Pp 次のリストは、ports のビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va FORCE_PKG_RESIDENT .Qt Vt bool -既存の package +既存の package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) の登録情報を上書きする場合に設定します。 .It Va HAVE_MOTIF .Qt Vt bool システムに Motif がある場合に設定します。 .It Va KRB5_HOME .Qt Vt str MIT Kerberos5 の port を .Pa /usr/local 以外にインストールしたい場合に設定します。 .\"translator: "ports" で固有単語とみなすべき? .It Va LOCALBASE .Qt Vt str X 以外の ports をインストールする際のベースディレクトリを与えます。 これは .Pa /usr/ports でビルドを行う際に .Va PREFIX にデフォルト値として与えられます。 .It Va MASTER_SITE_AFTERSTEP .Qt Vt str AfterStep の ports のマスタサイトを変更します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_BACKUP .Qt Vt str .Pa Makefile にリストされている場所が使えない場合、 ports が distfile をチェックしに行く場所を制御します。 パスの最後の部分は .Dq Li /${DIST_SUBDIR}/ でなければなりません。 .It Va MASTER_SITE_COMP_SOURCES .Qt Vt str .Pa comp.sources ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_GNOME .Qt Vt str GNOME ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_GNU .Qt Vt str GNU ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_KDE .Qt Vt str KDE ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_FREEBSD .Qt Vt bool 設定されていると、すべてのファイルをマスタの .Fx サイトから取得します。 .It Va MASTER_SITE_MOZILLA .Qt Vt str Mozilla ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_OVERRIDE .Qt Vt str 設定されていると、ports の .Pa Makefile にリストされているサイトよりも先に、このサイトをチェックしに行きます。 次のようにすればバックアップサイトを先にチェックさせることができます。 .Bd -literal -offset indent MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP} .Ed .It Va MASTER_SITE_PERL_CPAN .Qt Vt str Perl ports のマスタサイトの場所を制御します。 パスの最後の部分は .\".Bd -literal -offset indent .\" /%SUBDIR%/ .\".Ed .Dq Li /%SUBDIR%/ でなければなりません。 .\"translator: ここの .Bd .Ed はコメントアウトしました。 .It Va MASTER_SORT_REGEX .Qt Vt str ミラーセットのソート順を制御する場合に設定します。 .Pa .jp ドメインのミラーを優先的に用いたければ、以下のような設定をします。 .Bd -literal -offset indent MASTER_SORT_REGEX?= ^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.jp/ ://[^/]*\.jp\. .Ed .Pp 他の国別 TLD ドメインのユーザは、 .Dq Li jp を適切なドメインに変更してください。 .It Va MASTER_SITE_RINGSERVER .Qt Vt str Ringserver ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_RUBY .Qt Vt str Ruby ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_SUNSITE .Qt Vt str Sunsite ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_TCLTK .Qt Vt str Tcl/Tk ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_TEX_CTAN .Qt Vt str TeX ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_WINDOWMAKER .Qt Vt str WindowMaker ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XCONTRIB .Qt Vt str X contrib の ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XEMACS .Qt Vt str Xemacs ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XFREE .Qt Vt str XFree ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MOTIFLIB .Qt Vt str .Pa libXm.a と .Pa libXm.so の場所です。 .It Va MOTIF_STATIC .Qt Vt bool Motif を用いる ports を、Motif の共有ライブラリを持たない システム上でも実行させたい場合に設定します。 .It Va NOCLEANDEPENDS .Qt Vt bool .Dq Li "make clean" によって clean される他の ports から依存されている ports を clean したくない場合に設定します。 .It Va NOPORTDOCS .Qt Vt bool ports と同時に追加ドキュメントをインストールしない場合に設定します。 .It Va PACKAGES .Qt Vt str package ターゲットのみに用いられます。 package ツリーのディレクトリです。 .It Va PATCH_SITES .Qt Vt str パッチファイルの配布をしている一次サイトの場所です。 .It Va PORTSDIR .Qt Vt str ports ツリーの場所です。 .It Va USA_RESIDENT .Qt Vt bool 米国居住者は設定してください。 設定すると、米国輸出規制に従う必要がある ports が、 この規制に従うようになります。 .It Va WITHOUT_X11 .Pq Vt bool 設定すると、X11 サポート有り無しの両方で構築可能な ports を、 デフォルトで X11 サポート無しで構築するようにします。 .It Va WRKDIRPREFIX .Qt Vt str ports をビルドする際に用いる一時ファイルを作成する場所です。 .It Va X11BASE .Qt Vt str X11 ディストリビューションを .Pa /usr/X11R6 以外の場所にインストールしたい場合、その場所を設定します。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/make.conf -compact .It Pa /etc/defaults/make.conf .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .It Pa /usr/ports/Mk/bsd.port.mk .It Pa /usr/ports/Mk/bsd.sites.mk .El .Sh 関連項目 .Xr gcc 1 , .Xr install 1 , .Xr lpd 8 , .Xr make 1 , .Xr ports 7 , .Xr sendmail 8 .Sh 歴史 .Nm ファイルは .Fx 4.0 以前のいつかに登場しました。 .Sh 作者 このマニュアルページは .An "Mike W. Meyer" Aq mwm@mired.org が書きました。 .Sh バグ このマニュアルページは現在の .Nm で利用できるオプションに比べると、 古くなることが時々あるかもしれません。 現在利用できる最新のオプションについては、 .Pa /etc/defaults/make.conf ファイルを調べてください。 diff --git a/ja_JP.eucJP/man/man5/motd.5 b/ja_JP.eucJP/man/man5/motd.5 index 3d1be09876..98cc709c68 100644 --- a/ja_JP.eucJP/man/man5/motd.5 +++ b/ja_JP.eucJP/man/man5/motd.5 @@ -1,45 +1,45 @@ .\" %NetBSD: motd.5,v 1.2 1994/12/28 18:58:53 glass Exp % .\" .\" This file is in the public domain. -.\" %FreeBSD: src/share/man/man5/motd.5,v 1.4 1999/08/28 00:20:47 peter Exp % +.\" %FreeBSD: src/share/man/man5/motd.5,v 1.4.2.1 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/motd.5,v 1.4 2001/05/14 01:09:30 horikawa Exp $ .Dd February 13, 1997 .Dt MOTD 5 .Os .Sh 名称 .Nm motd .Nd 今日のメッセージを含むファイル .Sh 解説 通常、ユーザがログインした後のシェル実行前に、 .Xr login 1 は .Pa /etc/motd ファイルを表示します。 このファイルは、一般的にはシステムに関する重要なアナウンスのために使用します。 システム起動時に、カーネルバージョン文字列を含む行が このファイルの前に付きます。 .Pp 個々のユーザはこのファイルの表示を抑制することができます。 そのためには、 .Dq Pa .hushlogin という名前のファイルをホームディレクトリに置くか、 .Xr login.conf 5 で制御します。 .Sh 関連ファイル .Bl -tag -width $HOME/.hushlogin -compact .It Pa /etc/motd 今日のメッセージ。 .It Pa $HOME/.hushlogin .Pa /etc/motd の出力を抑制。 .El .Sh 使用例 .Bd -literal FreeBSD 2.1.6.1-RELEASE (GENERIC) #0: Sun Dec 29 03:08:31 PST 1996 /home is full. Please cleanup your directories. .Ed .Sh 関連項目 .Xr login 1 , .Xr login.conf 5 diff --git a/ja_JP.eucJP/man/man5/networks.5 b/ja_JP.eucJP/man/man5/networks.5 index 831028f9fc..6847836788 100644 --- a/ja_JP.eucJP/man/man5/networks.5 +++ b/ja_JP.eucJP/man/man5/networks.5 @@ -1,90 +1,90 @@ .\" 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. .\" .\" @(#)networks.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/networks.5,v 1.5.2.1 2000/12/08 14:59:16 ru Exp % +.\" %FreeBSD: src/share/man/man5/networks.5,v 1.5.2.2 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/networks.5,v 1.7 2001/05/14 01:09:30 horikawa Exp $ .\" .Dd June 5, 1993 .Dt NETWORKS 5 .Os BSD 4.2 .Sh 名称 .Nm networks .Nd ネットワーク名のデータベース .Sh 解説 .Nm ファイルは、 .Tn DARPA インターネットを含む既知のネットワークの情報を保持します。 各ネットワーク毎に、以下の情報を表す 1 行が存在します。 .Bd -unfilled -offset indent 公式ネットワーク名 ネットワーク番号 別名 .Ed .Pp 各項目は任意個の空白文字やタブ文字で分けられます。 ``#'' はコメント開始を表し、 行末までの文字はファイルを検索するルーチンに解釈されません。 このファイルは通常 -Network Information Control Center +Network Information Control Center .Pq Tn NIC が管理する公式ネットワークデータベースから生成しますが、 非公式な別名や未知のネットワークに関する情報を最新とするために、 ローカルでの変更が必要になるかもしれません。 .Pp ネットワーク番号は、 インターネットアドレス操作ライブラリ .Xr inet 3 の .Xr inet_network 3 ルーチンが使用する、伝統的な ``.'' (ドット) 表記で指定します。 ネットワーク名は、フィールド区切り文字・改行文字・コメント文字以外の、 任意の表示可能文字からなります。 .Sh 関連ファイル .Bl -tag -width /etc/networks -compact .It Pa /etc/networks .Nm は .Pa /etc にあります。 .El .Sh 関連項目 .Xr getnetent 3 .Sh バグ 静的ファイルの代わりに、ネームサーバを使用すべきです。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.2 に登場しました。 diff --git a/ja_JP.eucJP/man/man5/passwd.5 b/ja_JP.eucJP/man/man5/passwd.5 index cc7936bc3b..0452e0a219 100644 --- a/ja_JP.eucJP/man/man5/passwd.5 +++ b/ja_JP.eucJP/man/man5/passwd.5 @@ -1,765 +1,765 @@ .\" Copyright (c) 1988, 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. .\" .\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/passwd.5,v 1.26.2.3 2001/03/06 19:08:18 ru Exp % +.\" %FreeBSD: src/share/man/man5/passwd.5,v 1.26.2.4 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/passwd.5,v 1.16 2001/05/14 01:09:30 horikawa Exp $ .\" .\" WORD: NIS/YP INTERACTION NIS/YP との相互作用 [yppasswd.1] .\" WORD: accounting アカウンティング (パスワード期限等の意味) .\" WORD: epoch 基準時点 .Dd September 29, 1994 .Dt PASSWD 5 .Os .Sh 名称 .Nm passwd .Nd パスワードファイルのフォーマット .Sh 解説 .Nm ファイルは改行で区切られたレコードから成ります。 ユーザごとに 1 レコードが対応し、 コロン .Pq Ql \&: で区切られた 10 個の欄が含まれます。 これらの欄は以下の通りです: .Pp .Bl -tag -width password -offset indent .It name ユーザのログイン名。 .It password ユーザの .Em 暗号化された パスワード。 .It uid ユーザのid。 .It gid ユーザのログイングループ id。 .It class ユーザのログインクラス。 .It change パスワードの変更時間。 .It expire アカウントの有効期限。 .It gecos ユーザについての一般的な情報。 .It home_dir ユーザのホームディレクトリ。 .It shell ユーザのログインシェル。 .El .Pp 最初の空白文字でない文字がポンド記号 (#) であるような行は注釈であり、無視 されます。スペース、タブ、改行だけからなる空行もまた無視されます。 .Pp .Ar name 欄はコンピュータアカウントにアクセスするのに用いられるログインであり、 .Ar uid 欄はそれに結び付けられた数字です。これらはファイルアクセスを制御するので、 両方共そのシステム (またしばしば複数のシステムにわたる 1 つのグループ) の中 で一意であるべきです。 .Pp 同じログイン名や同じ UID のエントリを複数持つことは可能で すが、普通それは誤りです。これらのファイルを取り扱うルーチンはしばしばそ の複数エントリの 1 つだけを返しますし、 そしてそれはランダムな選択によるものです。 .Pp ログイン名は決してハイフン .Pq Ql \&- で始めてはいけません。また、メーラを混乱させる傾向にあるので、大文字やドット .Pq Ql \&. も絶対に名前の一部にしないことを強く推奨します。 .Pp password 欄はパスワードの .Em 暗号化された 形です。 .Ar password 欄が空ならば、そのマシンへアクセスするのに何のパスワードも必要としないで しょう。これはほとんど恒常的に誤りです。これらのファイルは暗号化された ユーザパスワードを含んでいるので、 適当な権利無しにはいかなる人によっても可読であっ てはいけません。管理上のアカウントは 1 個のアスタリスク .Ql \&* を含むパスワード欄を有しており、これは通常のログインを許しません。 .Pp group 欄はユーザがログインした上で位置付けられるグループです。このシステムは マルチグループ( .Xr groups 1 参照) をサポートしますが、この欄はユーザの 1 次グループを指名します。 2 次グループのメンバは .Pa /etc/group の中で選ばれます。 .Pp .Ar class 欄はユーザのログインクラスに対するキーです。ログインクラスは .Xr login.conf 5 の中で定義されます。 .Xr login.conf 5 は、ユーザの属性、アカウンティング、リソース、環境設定に関する .Xr termcap 5 形式のデータベースです。 .Pp .Ar change 欄は .Dv GMT における基準時点からの秒数を表したものであり、 この時までにアカウントに対するパスワードを変更する必要があります。 パスワードエージング機能をなくすには、 この欄を空欄にしておくか 0 をセットしておけば良いです。 .Pp .Ar expire 欄は .Dv GMT における基準時点からの秒数を表したものであり、 その時にアカウントが消滅します。 アカウント再設定機能をなくすには、 この欄を空にセットしておくか 0 をセットしておけば良いです。 .Pp .Ar gecos 欄はコンマ .Pq Ql \&, で区切られた以下のような副欄を通常含んでいます: .Pp .Bl -bullet -compact -offset indent .It ユーザのフルネーム .It ユーザの職場の位置 .It ユーザの職場の電話番号 .It ユーザの自宅の電話番号 .El .Pp この情報は フィンガープログラム .Xr finger 1 によって利用され、最初の欄はシステムのメーラ によって使われます。fullname 欄内にアンパサンド文字 .Pq Ql \&& が現われると、この欄を使うプログラムはそれをそのアカウントのログイン名の 大文字版に置き換えます。 .Pp ユーザのホームディレクトリは、ユーザがログインして位置付けられる完全な .Tn UNIX パス名です。 .Pp shell 欄はユーザの好むインタプリタです。 .Ar shell 欄になにも無ければ Bourne シェル .Pq Pa /bin/sh が仮定されます。セキュリティ上の理由により、シェルがシステムへのアクセス を許さないスクリプト (例えば .Xr nologin 8 スクリプト) に設定されている場合、いかなる環境変数も渡されないように配慮さ れるべきです。 .Xr sh 1 については、これは .Fl p フラグを指定することで可能です。これが他のシェルでどのように行なわれるか は、特定のシェルの文書を調べてください。 .Sh YP/NIS との相互作用 .Ss NIS パスワードデータへのアクセスを可能にする システム管理者は .Pa /etc/master.passwd ファイルに特別なレコードを付け加えることによって、パスワード情報について NIS/YP を用いるように .Tn FreeBSD を設定できます。ハッシュされたパスワードデータベースおよび .Pa /etc/passwd ファイル ( .Pa /etc/passwd は絶対に手動で編集してはいけません) に変更が適切にマージされるように、 エントリは .Xr vipw 8 で付加するべきです。別の方法としては、なんらかの方法で .Pa /etc/master.passwd を修正した後、 .Xr pwd_mkdb 8 を用いてパスワードデータベースを手動で更新することができます。 .Pp NIS を活性化するための最も簡単な方法は、名前欄にプラス符号 .Pq Ql \&+ だけを持つ、 以下のような空のレコードを付け加えることです。 .Bd -literal -offset indent +::::::::: .Ed .Ql \&+ は、 .Tn FreeBSD の標準 C ライブラリの .Xr getpwent 3 ルーチンに対し、 検索において NIS パスワードマップを使用開始するよう指示します。 .Pp 上記のエントリは .Em ワイルドカード エントリとして知られていることに注意してください。なぜなら、それはすべての ユーザと一致し (他に情報を持たない .Ql \&+ は、全員に一致します)、 全 NIS パスワードデータを無変更にて引き出すことを許します。 一方、 NIS エントリで .Ql \&+ の次にユーザ名やネットグループ名を指定することによって、 どのようなデータが NIS パスワードマップから展開されるのか、 およびそれがどのように解釈されるのかについて、 管理者が影響を与えることができます。 この特徴を示す、少数のレコード例を挙げます (1 つの .Pa master.passwd ファイル中には複数の NIS エントリを持つことが可能であることに注意): .Bd -literal -offset indent -mitnick::::::::: +@staff::::::::: +@permitted-users::::::::: +dennis::::::::: +ken:::::::::/bin/csh +@rejected-users::32767:32767::::::/bin/false .Ed 特定のユーザ名は明示的にリストされますが、ネットグループは .Ql \&@ を前に付けて表されます。 上の例では、 .Dq staff および .Dq permitted-users ネットグループ のユーザは、NIS から読まれ無変更で使用されるパスワード情報を持ちます。 言い換えれば、それらのユーザはそのマシンに通常のアクセスを許される ということです。ユーザ .Dq ken および .Dq dennis は、 ネットグループを通じてではなく明示的に名前が指定されており、 NIS から読まれるパスワード情報を持ちます。 .Em 例外 は、ユーザ .Dq ken のシェルが .Pa /bin/csh に再マップされることです。 これは、NIS パスワードマップで指定されたシェルの値が、ローカル .Pa master.passwd ファイルの特別な NIS エントリで指定された値によって上書きされることを意味します。 ユーザ .Dq ken は csh シェルを割り当てておいても良いかも知れません。 なぜなら、 政治的あるいは技術的な理由でクライアントマシンにインストールされていない 別のシェルを、彼の NIS パスワードエントリに指定されているかもしれないためです。 他方、 .Dq rejected-users ネットグループのユーザは、その UID、 GID、シェルが不正な値で上書きされているのでログインできなくなります。 .Pp ユーザ .Dq mitnick は、そのエントリが .Ql \&+ ではなく .Ql \&- で指定されているので、 完全に無視されることになります。 マイナスエントリは、 ある NIS エントリを完全に遮断するために用いることができます。 このような方法でパスワードデータが除外されたユーザは、 システムから全く認識されません。(マイナスエントリで指定された 上書き情報は無視されます。 なぜなら、システムが最初に認識しないことにしたユーザの上書き情報を処理 することは無駄だからです。) 一般にマイナスエントリは、 ある権限のあるネットグループのメンバとなってアクセスを許されるかもしれない ユーザを特別に除外するために使用します。 例えば .Dq mitnick が .Dq permitted-users ネットグループのメンバであり、 いかなる理由があってもそのネットグループ内に留まることを許す必要がある場合 (おそらくそのドメイン内の他のマシンにアクセスすることを保証するため)、 管理者はマイナスエントリを使用することにより、 特定のシステムへのアクセスを拒否し続けるこ とができます。また、アクセスを許されたユーザおよびその残りを削除したよう なよくありそうな混み入ったユーザのリストを生成するよりは、むしろアクセスを 許されないユーザを明示的にリストする方が容易なことが多いです。 .Pp プラスおよびマイナスエントリは、先行一致優先で最初から最後の順で評価されま す。これはシステムが特定のユーザに一致する最初のエントリだけを使用する ことを意味します。 同じ例を使用すると、 .Dq staff ネットグループと .Dq rejected-users ネットグループの両方のメンバとなっているようなユーザ .Dq foo は、 上の例では .Dq rejected-users のエントリの前に .Dq staff のエントリがありますので、 システムに許可されます。もし順序が逆なら、今度はユーザ .Dq foo は .Dq rejected-users として認識され、アクセスは拒否されます。 .Pp 最後に、 .Pa /etc/master.passwd ファイルの NIS アクセスエントリで指定されたユーザまたはネットグループ のどれとも一致しない NIS パスワードデータベースレコードは、(マイナスエントリ を使って指定したすべてのユーザと共に) すべて無視されます。先に示した例 ではリストの最後にワイルドカードエントリが無いので、 .Dq ken と .Dq dennis と .Dq staff ネットグループと .Dq permitted-users ネットグループとを除くすべてのユーザを、 システムは権限があるユーザとして認識しないでしょう。 .Dq rejected-users ネットグループは認識されますが、 全メンバのシェルは再マップされますので、 アクセスは拒否されるでしょう。他のすべての NIS パスワードレコードは無視され るでしょう。 管理者は以下のようなワイルドカードエントリをリストの最後に 付けても良いでしょう。 .Bd -literal -offset indent +:::::::::/sbin/nologin .Ed このエントリは他のすべてのエントリと一致しないすべてのユーザを一挙にとらえる 働きをします。 必ずしもログインアクセスを許可せずに、 特定の NIS ドメイン内の全ユーザをシステムが認識可能であることが望ましいときには、 このテクニックが有効なことがあります。 ログインシェルとシェルスクリプトを使用するときのセキュリティに関する事柄 について、シェル欄の記述を参照してください。 .Pp この .Pa 上書き 機能の主な用途は、 管理者が NIS クライアント上でアクセス制限を強化可能とすることです。 単に特定のネットグループに対してユーザを追加したり削除したりするだけで、 そのユーザにあるマシン群へのアクセスを許可し、 かつ他のマシン群へのアクセスを拒否することができます。 ネットグループデータベースもまた NIS 経由でアクセスできるので、 1 個所すなわち NIS マスタサーバからアクセス制限を管理できます。 一旦ホストのアクセスリストが .Pa /etc/master.passwd に設定されると、新にネットグループが作られない限りそれは再度変更する必要 はありません。 .Sh 注 .Ss NIS 経由のシャドウパスワード .Tn FreeBSD はシャドウパスワード法を採用しており、 ユーザの暗号化されたパスワードはスーパユーザだけが読み書き可能な .Pa /etc/master.passwd および .Pa /etc/spwd.db にのみに記憶されます。 暗号化されたパスワードをパスワード推測プログラムに通すことにより、 ユーザが他のユーザアカウントに対して不正アクセスすることを防ぐためです。 NIS にはパスワード隠蔽のための標準的な方法がありません。 これは、 パスワードデータをすべて NIS パスワードマップに置き換えることは、 .Tn FreeBSD のパスワード隠蔽システムのセキュリティを無効にしてしまうことを意味します。 .Pp .Tn FreeBSD にはこの問題を回避するのに役立つ少数の特別な特徴が備わっています。 .Tn FreeBSD NIS クライアントと .Tn FreeBSD NIS サーバとの間でパスワード隠蔽を実装することは可能です。 .Xr getpwent 3 ルーチンは .Pa /etc/master.passwd と同じデータを含む .Pa master.passwd.byname と .Pa master.passwd.byuid マップを検索します。マップが存在すれば .Tn FreeBSD は標準の .Pa passwd.byname および .Pa passwd.byuid マップの代りにそれらをユーザ認証に利用しようとします。 .Tn FreeBSD の .Xr ypserv 8 はまたクライアントの要求をチェックして、 クライアントの要求が特権ポートから来たことを確認します。 スーパユーザのみが特権ポートにアクセスすることが許されるので、 要求しているユーザがスーパユーザであるか否か判断可能です。 .Pa master.passwd マップにアクセスする権限の無いユーザからのすべての要求は拒否されるでしょう。 すべてのユーザ認証プログラムはスーパユーザの権限で実行されるので、 ユーザの暗号化されたパスワードデータへの必要なアクセスを持ちますが、 通常ユーザはパスワード情報を含まない標準 .Pa passwd マップへのアクセスのみ許されます。 .Pp この特徴は .Tn FreeBSD 以外のシステムがある環境では利用できないことに注意してください。 また、ネットワーク に無制限にアクセスできる真に限定されたユーザは依然 .Pa master.passwd マップを危うくすることにも注意してください。 .Ss NIS の上書きに伴なう UID および GID の再マップ .Tn SunOS や Sun の NIS コードを利用しているオペレーティングシステムとは異なり、 .Tn FreeBSD ではユーザが NIS .Pa passwd エントリ中の .Pa すべて の欄を上書きすることを許しています。例えば以下のような .Pa /etc/master.passwd エントリを考えてみましょう。 .Bd -literal -offset indent +@foo-users:???:666:666:0:0:0:Bogus user:/home/bogus:/bin/bogus .Ed このエントリにより、`foo-users' ネットグループ中のすべてのユーザは、 UID、GID、パスワードを含めて .Pa すべて のパスワード情報を上書きされます。この結果、彼等のパスワードは不正な 値に再マップされるので、すべての `foo-users' はシステムから締め出さ れることになるでしょう。 .Pp 以下のように NIS ワイルドカードエントリを使う習慣のある人が多いので、 このことは覚えておくべき重要なことです。 .Bd -literal -offset indent +:*:0:0::: .Ed これはしばしば新米の .Tn FreeBSD 管理者が以下のように .Pa master.passwd ファイルの NIS エントリを選んでしまうことにつながります。 .Bd -literal -offset indent +:*:0:0:::::: .Ed 更に悪く、以下のようにしてしまうこともあります。 .Bd -literal -offset indent +::0:0:::::: .Ed .Pa master.passwd .Sy ファイルには「絶対に」このようなエントリは入れないでください!! 最初のものは、 すべてのパスワードを .Ql \&* に再マップし (これは誰もログインできなくします)、 すべての UID および GID を 0 に再マップする (これは皆をスーパユーザにします) ことを .Tn FreeBSD に指示します。 2 番目のものは全 UID および GID をちょうど 0 にマップします が、これは すべてのユーザが root になってしまう ことを意味します! .Pp .Ss NIS 上書き評価の互換性 Sun が最初に .Xr getpwent 3 ルーチンに NIS サポートを追加したとき、 .Tn SunOS のパスワードファイル .Pa /etc/passwd はプレーン .Tn ASCII フォーマットであるということが考慮されていました。 .Tn SunOS のドキュメントによれば、パスワードファイルに .Ql \&+ エントリを付け加えると、 パスワードファイル中の .Ql \&+ エントリがある位置に NIS パスワードデータベースの内容が .Dq 挿入 されます。例えば 管理者が .Pa /etc/passwd の中央に .Ql \&+:::::: エントリを置いた場合、 NIS パスワードマップの全体の内容が パスワードファイルの中央にコピーされたかのように現われるでしょう。 管理者が .Ql \&+:::::: エントリを .Pa /etc/passwd の中央と最後の両方に置けば NIS パスワードマップは 2 度現われることになるでしょう。 すなわち 1 度目はそのファイルの中央に現れ、もう 1 度は最後に現れます (単純なワイルドカードの代りに上書きエントリを用いることで、 他の組み合わせが可能です)。 .Pp これに対し .Fx では単一の .Tn ASCII パスワードファイルを持つというわけではありません。 .Tn FreeBSD ではハッシュ化されたパスワードデータベースを持ちます。このデータベースで は最初や中央や最後を容易に定義できませんので、 .Tn SunOS に 100% 互換の手法を設計することは非常に困難です。例えば .Tn FreeBSD の .Fn getpwnam 関数と .Fn getpwuid 関数は、線形検索ではなくハッシュデータベースに直接問い合わせするように設計さ れています。パスワードデータベースが大きいシステムでは、 このアプローチの方が高速です。 しかしデータベースへ直接問い合わせを利用するとき、 システムは元のパスワードファイルの順序を知り得ませんし気にしませんので、 .Tn SunOS が使用するものと同じ上書き論理は容易に適用できません。 .Pp 代りに .Tn FreeBSD ではすべての NIS 上書きエントリを一緒のグループにまとめ、それらから 1 つ のフィルタを作ります。各 NIS パスワードエントリはちょうど 1 回上書きフィルタ に対して比較され、それに応じて取り扱われます。フィルタがエントリを変更せ ずに通すことを許すならエントリは変更されないものとして取り扱われ、フィルタ が欄の再マップを要求するなら欄は再マップされ、フィルタが明白な除外を要求 するなら(すなわちエントリが .Ql \&- 上書きと一致するなら) エントリは無視され、 エントリがフィルタ指定のどれとも一致しないならエントリは捨てられます。 .Pp また、NIS の .Ql \&+ および .Ql \&- エントリ自身は、 .Pa /etc/master.passwd の中で指定された順序で取り扱われることに再度注意してください。 それ以外の方法で取り扱うと、予測不可能な振舞いとなってしまうからです。 .Pp 結局のところ、データベースのパラダイムを保ちつつ .Tn FreeBSD では .Tn SunOS と非常によく似た動作を行いますが、 .Xr getpwent 3 関数は .Tn SunOS のものとはいくぶん異なった振舞いをします。主な違いは以下の通りです。 .Bl -bullet -offset indent .It NIS パスワードマップの各々のレコードは、ローカルパスワード空間のパスワードに 1 度だけマップすることができます。 .It NIS の .Ql \&+ および .Ql \&- のエントリの位置は、 NIS パスワードレコードがパスワード空間にマップされる場所に 必ずしも影響を与えません。 .El .Pp あらゆる .Tn FreeBSD の構成のうち 99% においては NIS クライアントの振舞いは .Tn SunOS や他の同種のシステムのそれと区別できないものとなるでしょう。それでもこれ らのアーキテクチャ的な違いを知っておくことは必要です。 .Pp .Ss NIS 上書きに関しネットグループの代りにグループを用いる .Tn FreeBSD はネットグループではなくユーザグループに基づいた上書き照合を行なう能力 を提供します。例えば NIS エントリが以下のように指定されたとき、 .Bd -literal -offset indent +@operator::::::::: .Ed システムはまず .Ql operator と呼ばれるネットグループに対してユーザを 照合しようとします。 .Ql operator ネットグループが存在しないとき、 システムは代りに通常の .Ql operator グループに対して照合しようとします。 .Ss FreeBSD の古いバージョンからの動作の変遷 .Tn FreeBSD の NIS/YP の取り扱いについてはいくつかのバグフィックスと改善がありました。 そのいくつかは動作上の変化をもたらしました。動作上の変化は一般に良い方向 にありますが、ユーザおよびシステム管理者がそれらについて知っておくことは 重要です。 .Bl -enum -offset indent .It 2.0.5 以前のバージョンでは、逆方向検索 (つまり .Fn getpwuid を用いる) には上書きは適用されませんでした。つまり、 .Fn getpwuid は .Fn getpwnam が認識しないログイン名を返すことがありました。 これは現在では .Pa /etc/master.passwd で指定された上書きをすべての .Xr getpwent 3 関数に適用することで解決されました。 .It .Fx 2.0.5 以前では、ネットグループの上書きは全く動作しませんでした。 これは主に .Tn FreeBSD が NIS を通してネットグループを読むことをサポートしなかったことが原因です。 これもまた修正され、 .Tn SunOS や同種の NIS を使用可能なシステムと全く同様に、 ネットグループを指定可能となりました。 .It .Tn FreeBSD は現在 NIS サーバの能力を持っており、標準第 6 版形式の .Pa passwd マップに加え .Pa master.passwd NIS マップの使用もサポートしています。このことは、NIS サーバとして .Tn FreeBSD システムを利用するなら、変更情報、有効期限の情報、クラス情報を指定可能であ るということを意味しています。 .El .Sh 関連ファイル .Bl -tag -width /etc/master.passwd -compact .It Pa /etc/passwd パスワードを除いた .Tn ASCII パスワードファイル .It Pa /etc/pwd.db パスワードを除いた -.Xr db 3 +.Xr db 3 形式のパスワードデータベース .It Pa /etc/master.passwd パスワードの入った .Tn ASCII パスワードファイル .It Pa /etc/spwd.db パスワードの入った .Xr db 3 形式のパスワードデータベース .El .Sh 関連項目 .Xr chpass 1 , .Xr login 1 , .Xr passwd 1 , .Xr getpwent 3 , .Xr login_getclass 3 , .Xr yp 4 , .Xr login.conf 5 , .Xr adduser 8 , .Xr pw 8 , .Xr pwd_mkdb 8 , .Xr vipw 8 .Sh バグ ユーザ情報は他のどこか に入れるべき (そして結局は入れることになる) でしょう。 .Pp YP/NIS パスワードデータベースでは、 普通のユーザには暗号化されたパスワードが見えてしまいます。したがって .Pa master.passwd マップのシャドウパスワードおよび .Tn FreeBSD の .Xr ypserv 8 サーバを利用しないと、 簡単にパスワードクラッキングを許してしまうことになります。 .Pp .Pa master.passwd タイプのマップの使用をサポートする .Tn FreeBSD の .Xr ypserv 8 を使用しないと、 YP/NIS パスワードデータベースは 古いスタイル (第 6 版) のフォーマットになります。これは、 .Tn FreeBSD システムを標準 NIS サーバのクライアントとして利用するとき、 ユーザのログインクラスやパスワード期限等の 現在のフォーマットにある欄の値については サイトワイドな値が利用できなくなることを意味します。 .Sh 互換性 パスワードファイル形式は .Bx 4.3 以降で変更されました。以下の awk スクリプトは、古いスタイルの パスワードファイルを新しいスタイルのパスワードファイルに 変換するのに利用できます。 .Dq class , .Dq change , .Dq expire 欄が追加されましたが、デフォルトでは無効になっています。 これらの欄を設定するには .Xr vipw 8 もしくは .Xr pw 8 を使用してください。 .Bd -literal -offset indent BEGIN { FS = ":"} { print $1 ":" $2 ":" $3 ":" $4 "::0:0:" $5 ":" $6 ":" $7 } .Ed .Sh 歴史 .Nm ファイルは .At v6 で現われました。YP/NIS の機能は .Tn SunOS を雛型として .Fx 1.1 で初めて現われました。上書き機能は .Fx 2.0 において新しく組み込まれました。上書き機能はネットグループを適切に サポートするために .Fx 2.0.5 で更新されました。注釈のサポートは .Fx 3.0 で初めてサポートされました。 diff --git a/ja_JP.eucJP/man/man5/periodic.conf.5 b/ja_JP.eucJP/man/man5/periodic.conf.5 index 0de325c546..7dd3cfc2b5 100644 --- a/ja_JP.eucJP/man/man5/periodic.conf.5 +++ b/ja_JP.eucJP/man/man5/periodic.conf.5 @@ -1,594 +1,594 @@ .\"- .\" Copyright (c) 2000 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.8.2.13 2001/06/13 19:36:50 brian Exp % +.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.8.2.14 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/periodic.conf.5,v 1.8 2001/05/26 02:41:02 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/periodic.conf.5,v 1.9 2001/07/12 00:16:02 horikawa Exp $ .Dd June 22, 2000 .Dt PERIODIC.CONF 5 .Os FreeBSD .Sh 名称 .Nm periodic.conf .Nd 定期実行ジョブの設定情報 .Sh 解説 .Nm ファイルには、日次/週次/月次のシステムメンテナンスジョブを どのように実行するかが記述されています。 このファイルは .Pa /etc/defaults にあり、 .Pa /etc の下にある同名のファイルは部分的に優先されます。 そしてさらに .Pa /etc/periodic.conf.local が優先されます。 .Pp .Nm は実際にはそれぞれの定期実行スクリプトからシェルスクリプトとして 取り込まれ、単にデフォルトの設定変数を提供することを意図しています。 .Pp 以下の変数は .Xr periodic 8 自身によって使用されます: .Bl -tag -offset 4n -width 2n .It Ar local_periodic (文字列) 定期実行スクリプトを検索するディレクトリのリスト。 このリストは .Xr periodic 8 の引数が絶対パスのディレクトリ名でなかった場合にのみ使用され、常に .Pa /etc/periodic が前置きされます。 .It Ar dir Ns No _output (パスまたはリスト) .Ar dir ディレクトリから起動されるスクリプトの出力をどうするか記述します。 この変数に絶対パスが指定された場合、出力はそのファイルに行われます。 絶対パスではなかった場合は、一つ以上のスペースで区切られた 複数のメールアドレスと解釈され、それらのユーザにメールで送られます。 この変数が設定されてない場合や変数が空であった場合は、 標準出力に出力されます。 .Pp それほど気にかけていないマシンでは .Ar $daily_output 、 .Ar $weekly_output そして .Ar $monthly_output はそれぞれ .Dq /var/log/daily.log , .Dq /var/log/weekly.log そして .Dq /var/log/monthly.log にしておくといいでしょう。すると .Xr newsyslog 8 が、(もしファイルがあれば) これらのファイルを適切な時に切替えます。 .It Ar dir Ns No _show_success .It Ar dir Ns No _show_info .It Ar dir Ns No _show_badconfig (ブール値) これらの変数は 起動されたスクリプトの戻り値に従って、 .Xr periodic 8 が出力を抑制するかどうかを制御します (ここで .Ar dir はそれぞれのスクリプトが置かれてるディレクトリ名です)。 もしスクリプトの戻り値が .Sq 0 で、 .Ar dir Ns No _show_success が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 1 で、 .Ar dir Ns No _show_info が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 2 で、 .Ar dir Ns No _show_badconfig が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしこれらの変数が .Dq YES にも .Dq NO にも設定されていなかった場合は、それぞれのデフォルト値は .Dq YES , .Dq YES そして .Dq NO です。 .Pp スクリプトの戻り値がどのように解釈されるかは .Xr periodic 8 のマニュアルページを参照して下さい。 .El .Pp 以下の変数は .Pa /etc/periodic/daily にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Ar daily_clean_disks_enable (ブール値) .Ar daily_clean_disks_files にマッチしたファイルを毎日削除したい場合 .Dq YES にします。 .It Ar daily_clean_disks_files (文字列) マッチさせるファイル名のリストを設定します。 ワイルドカードも使用できます。 .It Ar daily_clean_disks_days (整数) .Ar daily_clean_disks_enable が .Dq YES の場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Ar daily_clean_disks_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_tmps_enable (ブール値) 毎日一時ディレクトリをきれいにしたい場合 .Dq YES に設定します。 .It Ar daily_clean_tmps_dirs (文字列) .Ar daily_clean_tmps_enable が .Dq YES に設定されていた場合にきれいにするディレクトリ名のリストを指定します。 .It Ar daily_clean_tmps_days (整数) .Ar daily_clean_tmps_enable が設定されていた場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Ar daily_clean_tmps_ignore (文字列) .Ar daily_clean_tmps_enable が .Dq YES に設定されていた場合に削除させたくないファイルのリストを設定します。 ワイルドカードも使用可能です。 .It Ar daily_clean_tmps_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_preserve_enable (ブール値) .Pa /var/preserve から古いファイルを削除したい場合 .Dq YES に設定します。 .It Ar daily_clean_preserve_days (整数) 何日間ファイルに修正がなかったら削除するかを この変数に設定します。 .It Ar daily_clean_preserve_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_msgs_enable (ブール値) 古いシステムメッセージを削除する場合 .Dq YES に設定します。 .It Ar daily_clean_msgs_days (整数) 何日間ファイルに修正がなかったら削除するかを設定します。 この変数が空白だった場合、 .Xr msgs 1 のデフォルト値が使われます。 .It Ar daily_clean_rwho_enable (ブール値) .Pa /var/who の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Ar daily_clean_rwho_days (整数) 何日間ファイルに修正がなかったら削除するかを設定します。 .It Ar daily_clean_rwho_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_clean_hoststat_enable (ブール値) .Pa /var/spool/.hoststat の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Ar daily_clean_hoststat_days (整数) 何日間ファイルに修正がなかったら削除するかを設定します。 .It Ar daily_clean_hoststat_verbose (ブール値) 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_backup_passwd_enable (ブール値) .Pa /etc/master.passwd ファイルと .Pa /etc/group ファイルのバックアップをとりリポートを出力させたい場合 .Dq YES に設定します。 リポートは、両ファイルに対する修正点と .Pa group ファイルに .Xr chkgrp 8 をかけた結果を出力します。 .It Ar daily_backup_aliases_enable (ブール値) .Pa /etc/mail/aliases ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_backup_distfile_enable (ブール値) .Pa /etc/Distfile ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar daily_calendar_enable (ブール値) 毎日 .Ic calendar -a を行いたい場合 .Dq YES に設定します。 .It Ar daily_accounting_enable (ブール値) 毎日アカウンティングファイルを 切り替えたい場合 .Dq YES にします。 .Xr rc.conf 5 の中の .Ar accounting_enable が有効になっていない場合は切り替える必要はありません。 .It Ar daily_accounting_compress (ブール値) 日々のアカウンティングファイルを .Xr gzip 1 を使用して圧縮したい場合 .Dq YES に設定します。 .It Ar daily_accounting_save (数値) .Ar daily_accounting_enable が設定されている場合、 保存すべき日々のアカウンティングファイル数を指定します。 デフォルトは .Dq 3 です。 .It Ar daily_accounting_flags (文字列) .Ar daily_accounting_enable が .Dq YES に設定されていた場合に ( .Fl s に加えて) .Xr sa 1 ユーティリティに渡すフラグを指定します。 デフォルトは .Fl q です。 .It Ar daily_distfile_enable (ブール値) 毎日 .Xr rdist 1 を実行したい場合 .Dq YES に設定します。その場合 .Pa /etc/Distfile も存在していなければなりません。 .It Pa daily_news_expire_enable (ブール値) .Pa /etc/news.expire を実行したい場合 .Dq YES に設定します。 .It Pa daily_uuclean_enable (ブール値) .Ic uustat -a を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_disks_enable (ブール値) .Po .Ar daily_status_disks_df_flags を引数に指定して .Pc .Xr df 1 を実行し、また .Ic dump -W を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_disks_df_flags (文字列) .Ar daily_status_disks_enable が .Dq YES の場合、 .Xr df 1 ユーティリティに渡す引数を設定します。 .It Ar daily_status_uucp_enable (ブール値) -.\" 原文の /etc/uuclean.daily は誤りと思われる [man-jp-reviewer 3018], +.\" 原文の /etc/uuclean.daily は誤りと思われる [man-jp-reviewer 3018], .\" docs/2267 .Ic uustat -a を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_network_enable (ブール値) .Ic netstat -i を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_network_usedns (ブール値) .Xr netstat 1 を実行する時、(DNS を参照するための) .Fl n オプションをつけずに実行したい場合 .Dq YES に設定します。 .It Ar daily_status_rwho_enable (ブール値) .Xr uptime 1 を実行したい場合 (もしくは .Pa /etc/rc.conf の中で .Ar rwhod_enable を .Dq YES に設定していて .Xr ruptime 1 を実行したい場合) .Dq YES に設定します。 .It Ar daily_status_mailq_enable (ブール値) .Xr mailq 1 を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_mailq_shorten (ブール値) .Ar daily_status_mailq_enable を .Dq YES に設定していて .Nm mailq の出力を短くしたい場合 .Dq YES に設定します。 .It Ar daily_status_security_enable (ブール値) .Pa /etc/security を実行したい場合 .Dq YES に設定します。 .It Ar daily_status_security_inline (ブール値) .Pa /etc/security .\" inline -> その場 をその場で実行したい場合 .Dq YES に設定します。 デフォルトでは、 .Ar $daily_status_security_output の値に従い、出力をメールするかログします。 .It Ar daily_status_security_output (文字列) .Ar $daily_status_security_inline が .Dq NO である場合の、 .Pa /etc/security の送信先です。 この変数は、前述の .Ar *_output 変数と同様に振舞います。 すなわち、1 個以上の email アドレスか、1 個の絶対パス指定のファイル名です。 .It Ar daily_status_security_noamd (ブール値) 前日のファイルシステムのマウント状況と比較する時に .Xr amd 8 によるマウントを無視したい場合 .Dq YES に設定します。 .It Ar daily_status_security_nomfs (ブール値) 前日のファイルシステムのマウント状況と比較する時に .Xr mfs 8 によるマウントを無視したい場合 .Dq YES に設定します。 .It Ar daily_status_mail_rejects_enable (ブール値) .Pa /var/log/maillog に記録された 前日分のメール拒否を要約したい場合 .Dq YES に設定します。 .It Ar daily_status_named_enable (ブール値) 前日文の拒否されたゾーン転送 (AXFR と IXFR) を要約したい場合 .Dq YES に設定します。 .It Ar daily_status_named_logs (数値) 前日文の拒否されたゾーン転送のチェック対象となる、 ログファイル数を設定します。 .It Ar daily_status_named_usedns (ブール値) DNS の逆引き検索を有効にしたい場合 .Dq YES に設定します。 .It Ar daily_status_mail_rejects_logs (整数) 前日分のメール拒否をチェックするべき maillog ファイルの数を設定します。 .It Ar daily_local (文字列) 他のすべての日次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/weekly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Ar weekly_clean_kvmdb_enable (ブール値) 古い .Pa /var/db/kvm_*.db ファイルを削除したい場合 .Dq YES に設定します。 現在のカーネルが使っている kvm ファイルは削除されません。 .It Ar weekly_clean_kvmdb_days (整数) 何日間ファイルにアクセスがなかったら 削除するかをこの変数に設定する必要があります。 .It Ar weekly_clean_kvmdb_verbose (ブール値) 削除したファイル名を週次の出力で報告させたい場合 .Dq YES に設定します。 .It Ar weekly_uucp_enable (ブール値) .Pa /usr/libexec/uucp/clean.weekly を実行したい場合 .Dq YES に設定します。 .It Ar weekly_locate_enable (ブール値) .Pa /usr/libexec/locate.updatedb を実行したい場合 .Dq YES に設定します。このスクリプトは .An nobody ユーザとして .Ic nice -5 を使用して実行され、 .Xr locate 1 コマンドによって使われるテーブルを生成します。 .It Ar weekly_whatis_enable (ブール値) .Pa /usr/libexec/makewhatis.local を実行したい場合 .Dq YES に設定します。このスクリプトは .Xr apropos 1 コマンドによって使われるデータベースを再生成します。 .It Ar weekly_catman_enable (ブール値) .Pa /usr/libexec/catman.local を実行したい場合 .Dq YES に設定します。 このスクリプトはすべての古くなったマニュアルページを処理して、 ディスク容量を消費する代わりに .Xr man 1 コマンドを速くします。 .It Ar weekly_noid_enable (ブール値) システム上でみなしごになったファイルを 探したい場合 .Dq YES に設定します。 みなしごになったファイルとは、 無効なユーザやグループのものとなっているファイルです。 .It Ar weekly_noid_dirs (文字列) みなしごになったファイルを探したいディレクトリのリストを 指定します。これは通常 .Pa / に設定されます。 .It Ar weekly_status_pkg_enable (ブール値) インストールされているパッケージの中で 古くなったものを .Xr pkg_version 1 を使用して一覧にしたい場合 .Dq YES に設定します。 .It Ar weekly_local (文字列) 他のすべての週次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/monthly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Ar monthly_accounting_enable (ブール値) .Xr ac 8 コマンドによってログインのアカウンティング処理を行いたい場合 .Dq YES に設定します。 .It Ar monthly_local (文字列) 他のすべての月次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/periodic.conf .It Pa /etc/defaults/periodic.conf デフォルト設定ファイルです。 このファイルはすべてのデフォルトの変数と設定値が記述されています。 .It Pa /etc/periodic.conf 通常、システム特有の変数を優先させるためのファイルです。 .It Pa /etc/periodic.conf.local さらに追加して優先させるためのファイルで、 .Pa /etc/periodic.conf を共有していたり、配布していたりする場合に役立ちます。 .El .Sh 関連項目 .Xr apropos 1 , .Xr calendar 1 , .Xr df 1 , .Xr gzip 1 , .Xr locate 1 , .Xr man 1 , .Xr msgs 1 , .Xr netstat 1 , .Xr nice 1 , .Xr pkg_version 1 , .Xr rdist 1 , .Xr rc.conf 5 , .Xr ac 8 , .Xr chkgrp 8 , .Xr dump 8 , .Xr mfs 8 , .Xr newsyslog 8 , .Xr periodic 8 .Sh 歴史 .Nm ファイルは .Fx 4.1 で登場しました。 .Sh 作者 .An Brian Somers Aq brian@Awfulhak.org diff --git a/ja_JP.eucJP/man/man5/procfs.5 b/ja_JP.eucJP/man/man5/procfs.5 index 9ec624f830..5f099c686a 100644 --- a/ja_JP.eucJP/man/man5/procfs.5 +++ b/ja_JP.eucJP/man/man5/procfs.5 @@ -1,238 +1,239 @@ -.\" %FreeBSD: src/share/man/man5/procfs.5,v 1.14.2.3 2001/03/06 19:08:18 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man5/procfs.5,v 1.14.2.4 2001/07/21 09:16:52 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/procfs.5,v 1.9 2001/05/14 01:09:31 horikawa Exp $ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" .Dd August 10, 1994 .Dt PROCFS 5 .Os BSD 4.4 .Sh 名称 .Nm procfs .Nd プロセスファイルシステム .Sh 書式 .Bd -literal proc /proc procfs rw 0 0 .Ed .Sh 解説 プロセスファイルシステム、すなわち .Nm はファイルシステム中でシステムプロセステーブルの閲覧を可能にします。 .Nm -は通常 -.Pa /proc +は通常 +.Pa /proc にマウントされ、 .Xr ps 1 や .Xr w 1 といったプログラムの完全な動作に必要なものです。 .Pp .Nm は以前の .Fx 1.1 .Nm での実装とは異なり、 プロセス空間に 2 つのレベルの視点を提供します。 高いレベルでは、プロセスはそれ自身が、10 進数による先頭に 0 の付かない 自分のプロセス ID によって、名前付けされます。また .Pa curproc と呼ばれる調査要求を行なったプロセスを参照する特別なノードが存在します。 .Pp それぞれのノードは以下の項目を含むディレクトリです: .Pp それぞれのディレクトリは数個のファイルを含んでいます: .Bl -tag -width status .It Pa ctl 多様な制御操作をサポートする書き込みのみのファイル。 制御コマンドは .Pa ctl ファイルに文字列として書き込まれます。 制御コマンドは: .Bl -tag -width detach -compact .It attach 対象プロセスを停止し、 送信プロセスに対してデバッグ制御プロセスとなるよう手配する。 .It detach 対象プロセスの実行を継続し、デバッグプロセスの制御下から離します (送信プロセスである必要はありません)。 .It run シグナルが届くか、ブレークポイントに達するか、または対象プロセスが 終了するまで対象プロセスを継続して動作させます。 .It step シグナルを届けずに対象プロセスをシングルステップさせます。 .It wait 対象プロセスがデバッグに適した平衡状態になるまで待ちます。 対象プロセスは他のどのコマンドが許可されるよりも前に この状態になる必要があります。 .El .Pp 文字列は、 .Dv SIG 接頭辞なしの小文字のシグナル名でも構いません。 この場合、指定したシグナルがプロセスに届けられます。 .Pf ( Xr (sigaction 2 参照)。 .It Pa dbregs .Pa 中の .Dv "struct dbregs" で定義されるデバッグレジスタ。現在 .Pa dbregs は i386 アーキテクチャでのみ実装されています。 .It Pa etype .Pa file 項目によって参照される実行形式のタイプ。 .It Pa file プロセステキストが読まれる vnode への参照。 これはプロセスのシンボルテーブルへのアクセスを得る、 またはプロセスのもう 1 つのコピーを始めるために使われます。 .It Pa fpregs .Pa 中の .Dv "struct fpregs" で定義される浮動小数点レジスタ。 .Pa fpregs は、汎用レジスタセットと浮動小数点レジスタセットが明確に区別されたマシンにのみ 実装されています。 .It Pa map プロセスの仮想メモリのマップ。 .It Pa mem プロセスの完全な仮想メモリイメージ。 プロセス中に存在するアドレスのみがアクセスできます。 このファイルに対する読み書きはプロセスを修正します。 テキストセグメントに対する書き込みはそのプロセスのみに留まります。 .It Pa note プロセスへシグナルを送るために使われます。実装されていません。 .It Pa notepg プロセスグループへシグナルを送るために使われます。実装されていません。 .It Pa regs プロセスのレジスタセットへの読み書き手段を提供します。 このファイルは .Pa 中で定義されている .Dv "struct regs" バイナリデータ構造体を含んでいます。 .Pa regs はプロセスが停止しているときのみ書き込みできます。 .It Pa rlimit これは、プロセスの現在および最大の制限を含む、読み取り専用ファイルです。 各行の書式は .Ar rlimit current max であり、-1 は無限を意味します。 .It Pa status プロセスの状態。 このファイルは読み込みのみで、空白で分けられた以下の多数のフィールドを 含んだ 1 行を返します: .Pp .Bl -bullet -compact .It コマンド名 .It プロセス ID .It 親プロセス ID .It プロセスグループ ID .It セッション ID .It 制御端末の .Ar major , Ns Ar minor 、またはもし制御端末がない場合には .Dv -1,-1 。 .It プロセスフラグのリスト: .Dv ctty 制御端末がある、 .Dv sldr プロセスがセッションリーダである、 .Dv noflags 他の 2 つのフラグがセットされていない。 .It コンマで区切った秒とマイクロ秒によるプロセス開始時刻 .It コンマで区切った秒とマイクロ秒によるユーザ時間 .It コンマで区切った秒とマイクロ秒によるシステム時間 .It ウェイトチャンネルメッセージ .It 実効ユーザ ID と全てコンマで区切られた グループリスト(最初の項目は実効グループ ID) から成っている プロセスクリデンシャル .El .El .Pp 対象がデバッガによって fork/exec される通常のデバッギング環境では、 デバッガが fork し、子は自分自身で止まる(例えば自分で与えた .Dv SIGSTOP ) べきです。 親は適切な .Pa ctl ファイルを通じて .Dv wait そして .Dv attach コマンドを発行するべきです。 子プロセスは exec 呼び出しが終わった直後に .Dv SIGTRAP を受け取ります .Pf ( Xr execve 2 参照)。 .Pp それぞれのノードはプロセスのユーザに所持され、 ユーザのプライマリグループに属します。 .Pa mem ノードは例外的に .Li kmem グループに属します。 .Sh 関連ファイル .Bl -tag -width /proc/curproc/XXXXXXX -compact .It Pa /proc .Nm の通常のマウントポイント。 .It Pa /proc/pid プロセス .Pa pid のプロセス情報を含んだディレクトリ .It Pa /proc/curproc カレントプロセスのプロセス情報を含んだディレクトリ .It Pa /proc/curproc/cmdline プロセスの実行形式名 .It Pa /proc/curproc/ctl プロセスへの制御メッセージを送るために使われます .It Pa /proc/curproc/etype 実行形式タイプ .It Pa /proc/curproc/file 実行形式イメージ .It Pa /proc/curproc/fpregs プロセス浮動小数点レジスタセット .It Pa /proc/curproc/map プロセスの仮想メモリマップ .It Pa /proc/curproc/mem プロセスの完全な仮想アドレス空間 .It Pa /proc/curproc/note プロセスへのシグナル送信に使われます .It Pa /proc/curproc/notepg プロセスグループへのシグナル送信に使われます .It Pa /proc/curproc/regs プロセスのレジスタセット .It Pa /proc/curproc/rlimit プロセスの現在および最大の rlimit .It Pa /proc/curproc/status プロセスの現在の状態 .El .Sh 関連項目 .Xr mount 2 , .Xr sigaction 2 , .Xr unmount 2 , .Xr mount_procfs 8 .Sh 作者 .An -nosplit このマニュアルページは .An Jan-Simon Pendry によって提供された記述に基づいて .An Garrett Wollman によって書かれ、 後に .An Mike Pritchard によって手直しされました。 diff --git a/ja_JP.eucJP/man/man5/remote.5 b/ja_JP.eucJP/man/man5/remote.5 index 29a881a87e..9298456f5b 100644 --- a/ja_JP.eucJP/man/man5/remote.5 +++ b/ja_JP.eucJP/man/man5/remote.5 @@ -1,193 +1,194 @@ .\" 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. .\" .\" @(#)remote.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/remote.5,v 1.5.2.2 2001/04/26 02:34:04 dd Exp % -.\" $FreeBSD:$ +.\" %FreeBSD: src/share/man/man5/remote.5,v 1.5.2.3 2001/07/21 09:16:52 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/remote.5,v 1.9 2001/04/30 03:48:35 horikawa Exp $ .\" .Dd June 5, 1993 .Dt REMOTE 5 .Os BSD 4.2 .Sh 名称 .Nm remote .Nd リモートホスト記述ファイル .Sh 解説 .Xr tip 1 によって知られるシステムとその属性は、 .Xr termcap 5 ファイルのような構造の .Tn ASCII ファイルに記録されます。 ファイルの各行は、1 つの .Em システム についての記述を提供します。 フィールドはコロン (``:'') で分けられています。 \e 文字の直後に改行がある行末は、次の行へ継続されます。 .Pp 最初のエントリはホストシステムの (複数の) 名称です。 システムの名称が 1 つ以上ある場合、名称は縦棒で区切られます。 システムの名称の後に記述フィールドが続きます。 `=' 記号が続くフィールド名は、文字列型を示します。 `#' 記号が続くフィールド名は、数値を示します。 .Pp ``tip*'' と ``cu*'' という名前が付いたエントリは、 .Xr tip 1 や、以下で述べるように -.Nm tip +.Nm tip に対するインタフェース .Xr cu 1 でデフォルトのエントリとして使われます。 .Nm tip が電話番号だけをつけて呼び出された時、 ``tip300'' の形式のエントリを探 します。 ここで、 300 は接続が張られたボーレートです。 .Nm cu インタフェースが使われた時は、 ``cu300'' という形式のエントリが使わ れます。 .Sh ケーパビリティ -ケーパビリティは、文字列 (str) ・数値 (num) ・ブーリアンフラグ (bool) +ケーパビリティは、文字列 (str) ・数値 (num) ・ブーリアンフラグ (bool) のいずれかです。文字列ケーパビリティは -.Em capability Ns Ar = Ns Em value +.Em capability Ns Ar = Ns Em value のように指定されます。例えば、 ``dv=/dev/harris'' のように指定します。 数値ケーパビリティは -.Em capability Ns Ar # Ns Em value +.Em capability Ns Ar # Ns Em value のように指定されます。例えば、 ``xa#99'' のように指定します。 ブーリアンケーパビリティは単にケーパビリティを記述するだけで 指定されます。 .Bl -tag -width indent .It Cm \&at (str) 自動呼び出しユニットの形式です。 .It Cm \&br (num) リモートホストと接続を確立するために使われるボーレート。 これは、10 進の数値です。デフォルトのボーレートは 300 ボーです。 .It Cm \&cm (str) リモートホストに送られる初期接続メッセージです。 例えば、ホストにポート選択器を通して到達する場合、 ここにはホストに切り替えるために必要とされる適切なシーケンスが設定されて いるべきです。 .It Cm \&cu (str) 電話の呼び出しが行われる場合の呼び出しユニットです。 デフォルトは、 `dv' フィールドと同じです。 .It Cm \&di (str) ユーザによって切断が要求されている時にホストに送られる 切断メッセージです。 .It Cm \&du (bool) このホストはダイヤルアップ線上にあることを示します。 .It Cm \&dv (str) 接続を確立するためにオープンする (複数の) .Tn UNIX デバイスです。このファイルが端末線を参照している場合、 .Xr tip 1 は、1 度に 1 ユーザだけがポートにアクセスすることを保証するために、 デバイスを排他的にオープンします。 .It Cm \&el (str) 行末 (end-of-line) を示す文字です。 デフォルトでは -.Dv NULL +.Dv NULL 文字です。`el' 中の 1 文字もしくは復帰文字 (carriage return) の後の `~' エスケープは .Nm tip だけで認識されます。 .It Cm \&fs (str) 転送のためのフレームサイズです。 デフォルトフレームサイズは -.Dv BUFSIZ +.Dv BUFSIZ と同じです。 .It Cm \&hd (bool) ホストが半 2 重通信を使い、ローカルエコーが行われることを示します。 .It Cm \&ie (str) 入力のファイル終了 (end-of-file) マークです。 デフォルトは -.Dv NULL +.Dv NULL です。 .It Cm \&oe (str) 出力のファイル終了 (end-of-file) 文字列です。 デフォルトは -.Dv NULL +.Dv NULL です。 .Nm tip がファイルを転送している時、この文字列はファイル終了時に送られます。 .It Cm \&pa (str) データをホストに送っている時に使われるパリティの形式です。 これは ``even'', ``odd'', ``none'', ``zero'' (いつでも 8 ビット目を 0 に設定する), ``one'' (いつでも 8 ビット目を 1 に設定する)のいずれかです。 デフォルトではイーブンパリティです。 .It Cm \&pn (str) ホストに対する (複数の) 電話番号です。 電話番号フィールドが @ 符号を含んでいる場合、 .Nm tip は電話番号の一覧を .Pa /etc/phones ファイルから検索します ( -.Xr phones 5 +.Xr phones 5 参照)。 .It Cm \&tc (str) ケーパビリティのリストが、名前で与えられた記述に継続されることを示し ます。これは主に共通のケーパビリティ情報を共有するために使われます。 .El .Pp ここで、ケーパビリティの継続機能の利用をしめす短い例をお見せしましょう: .Bd -literal UNIX-1200:\e :dv=/dev/cau0:el=^D^U^C^S^Q^O@:du:at=ventel:ie=#$%:oe=^D:br#1200: arpavax|ax:\e :pn=7654321%:tc=UNIX-1200 .Ed .Sh 関連ファイル .Bl -tag -width /etc/remote -compact .It Pa /etc/remote -.Pa /etc +.Pa /etc に置かれた .Nm リモート ホスト記述ファイル。 .El .Sh 関連項目 .Xr tip 1 , .Xr phones 5 .Sh 歴史 .Nm ファイル書式は -.Bx 4.2 +.Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/services.5 b/ja_JP.eucJP/man/man5/services.5 index d74d2c9769..fec2b502d8 100644 --- a/ja_JP.eucJP/man/man5/services.5 +++ b/ja_JP.eucJP/man/man5/services.5 @@ -1,87 +1,88 @@ .\" 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. .\" .\" @(#)services.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/services.5,v 1.5.2.2 2001/03/06 19:08:18 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man5/services.5,v 1.5.2.3 2001/07/21 09:16:52 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/services.5,v 1.8 2001/05/14 01:09:31 horikawa Exp $ .\" .Dd June 5, 1993 .Dt SERVICES 5 .Os BSD 4.2 .Sh 名称 .Nm services .Nd サービス名のデータベース .Sh 解説 .Nm ファイルには インターネットで利用可能な既知のサービスの情報が格納されます。 各サービス毎に、以下の情報を表す 1 行が存在します。 .Bd -unfilled -offset indent 公式なサービス名 ポート番号 プロトコル名 別名 .Ed .Pp 項目は任意個の空白文字やタブ文字で分けられます。 ポート番号およびプロトコル名は単一の .Em 項目 とみなされ、 ``/'' を 1 つ使用してポートとプロトコルを分けます (例 ``512/tcp'')。 ``#'' はコメント開始を表し、 行末までの文字はファイルを検索するルーチンに解釈されません。 .Pp サービス名は、フィールド区切り文字・改行文字・コメント文字以外の、 任意の表示可能文字からなります。 .Sh NIS との相互作用 NIS の .Pa services.byname マップへのアクセスを有効にするには、単一の ``+'' のみからなる行を .Pa /etc/services ファイルに追加します。 こうすると、NIS のサービスマップの内容が ``+'' のある位置に挿入されます。 .Sh 関連ファイル .Bl -tag -width /etc/services -compact .It Pa /etc/services .Nm ファイルは .Pa /etc にあります。 .El .Sh 関連項目 .Xr getservent 3 .Sh バグ 静的ファイルの代わりに、ネームサーバを使用すべきです。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.2 に登場しました。 diff --git a/ja_JP.eucJP/man/man5/stab.5 b/ja_JP.eucJP/man/man5/stab.5 index 9c2784d845..6128fb5bae 100644 --- a/ja_JP.eucJP/man/man5/stab.5 +++ b/ja_JP.eucJP/man/man5/stab.5 @@ -1,225 +1,226 @@ .\" Copyright (c) 1980, 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. .\" .\" @(#)stab.5 8.1 (Berkeley) 6/5/93 .\" %FreeBSD: src/share/man/man5/stab.5,v 1.4.2.1 2000/12/08 14:59:16 ru Exp % -.\" $FreeBSD$ +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/stab.5,v 1.8 2001/05/14 01:09:31 horikawa Exp $ .\" WORD: symbol table シンボルテーブル .\" WORD: directive ディレクティブ(命令、指令の類) .\" .Dd June 5, 1993 .Dt STAB 5 .Os BSD 4 .Sh 名称 .Nm stab .Nd シンボルテーブルの型 .Sh 書式 .Fd #include .Sh 解説 .Aq Pa stab.h ファイルは a.out ファイルで使われる、シンボルテーブルのいくつかの .Fa n_type フィールド値の定義します。 これらは、恒久的なシンボル形式であり (つまり、ローカルなラベルなどではない)、古いデバッガである .Em sdb や Berkeley パスカルコンパイラ -.Xr pc 1 +.Xr pc 1 で使われます。 .\" (訳注) BerkeleyパスカルコンパイラはFreeBSDディストリビューション .\" に含まれない。 .\" 1998/05/05 Takeshi MUTOH シンボルテーブルエントリは .Pa .stabs アセンブラディレクティブによって生成することができます。 ここでは、ダブルクオートで区切られた名前、シンボルの型、シンボルに ついての char 1 つと short 1 つ分の情報、 そして (通常はアドレスを示す) unsigned long の整数を指定できます。 アドレスフィールドに明示的なラベルを生成するのを避けるため、 .Pa .stabd ディレクティブを使い、現在の場所を指すようにすることができます。 もし名前が必要ない場合、 .Pa .stabn ディレクティブを使うことで、シンボルテーブルエントリを生成することができます。 ローダは、 .Pa .stab ディレクティブによって生成されたシンボルテーブルのエントリ順を変えないこと を保証します。 -.Xr a.out 5 +.Xr a.out 5 に記述されているように、シンボルテーブルの要素は以下の構造を持ちます。 .Bd -literal /* * シンボルテーブルエントリの書式 */ struct nlist { union { char *n_name; /* コア内部 (in-core) で使用 */ long n_strx; /* ファイル文字列表へのインデックス */ } n_un; unsigned char n_type; /* 型のフラグ */ char n_other; /* 使用されていない */ short n_desc; /* 以下の struct desc 参照 */ unsigned n_value; /* アドレスまたはオフセットまたは行 */ }; .Ed .Pp .Fa n_type フィールドの下位ビットは、シンボルをたかだか 1 つのセグメントに置くため に使用します。どのセグメントに置くかは -.Aq Pa a.out.h +.Aq Pa a.out.h 内で定義されている以下のマスクに基づきます。 これらのセグメントビットを設定しないようにすることで、シンボルをどの セグメントにも属さないようにすることができます。 .Bd -literal /* * n_type の単純な値 */ #define N_UNDF 0x0 /* 定義されていない */ #define N_ABS 0x2 /* 絶対指定 */ #define N_TEXT 0x4 /* テキスト */ #define N_DATA 0x6 /* データ */ #define N_BSS 0x8 /* bss */ #define N_EXT 01 /* 外部参照を表すビット(or して使う) */ .Ed .Pp シンボルの .Fa n_value フィールドは、リンカ .Xr ld 1 によって、正しいセグメント内のアドレスに再配置されます。 どのセグメントにも入っていないシンボルの .Fa n_value フィールドは、リンカによって変更されません。 さらに、 .Fa n_type フィールドで、以下のビットのいずれもセットされていない場合は、 リンカは自分が持っている規則にしたがって、 いくつかのシンボルを破棄します。 .Bd -literal /* * その他の永続的なシンボルテーブルエントリでは、N_STAB のいくつかのビットが * セットされています。これらは、 内に記述があります。 */ #define N_STAB 0xe0 /* もしこれらのビットのいずれかがセットされていれば破棄されません */ .Ed .Pp これで、112 (7 \(** 16) 個までのシンボルを、さまざまなセグメントで分けて 定義できるようになります。 これらのいくつかについては既に述べられています。 古いシンボリックデバッガ -.Em sdb +.Em sdb は、以下の n_type 値を使います。 .Bd -literal #define N_GSYM 0x20 /* グローバルシンボル : name,,0,type,0 */ #define N_FNAME 0x22 /* 手続き名 (f77 kludge): name,,0 */ #define N_FUN 0x24 /* 手続き: name,,0,linenumber,address */ #define N_STSYM 0x26 /* 静的シンボル: name,,0,type,address */ #define N_LCSYM 0x28 /* .lcomm シンボルl: name,,0,type,address */ #define N_RSYM 0x40 /* レジスタシンボル: name,,0,type,register */ #define N_SLINE 0x44 /* ソース行: 0,,0,linenumber,address */ #define N_SSYM 0x60 /* structure elt: name,,0,type,struct_offset */ #define N_SO 0x64 /* ソースファイル名: name,,0,0,address */ #define N_LSYM 0x80 /* ローカルシンボル: name,,0,type,offset */ #define N_SOL 0x84 /* #includeされたファイル名: name,,0,0,address */ #define N_PSYM 0xa0 /* パラメータ: name,,0,type,offset */ #define N_ENTRY 0xa4 /* 別のエントリ: name,linenumber,address */ #define N_LBRAC 0xc0 /* 左かっこ: 0,,0,nesting level,address */ #define N_RBRAC 0xe0 /* 右かっこ: 0,,0,nesting level,address */ #define N_BCOMM 0xe2 /* 共通の開始符号: name,, */ #define N_ECOMM 0xe4 /* 共通の終了符号: name,, */ #define N_ECOML 0xe8 /* (ローカル名の)共通の終了符号: ,,address */ #define N_LENG 0xfe /* 長さ情報を持った2番目の stab エントリ */ .Ed .Pp ここで、コメントには 与えられた .Fa n_type の .Fa n_name , .Fa n_other , .Fa n_desc , .Fa n_value フィールド と .Pa .stab .Fa s の典型的な利用法が書かれています。 .Em sdb は、ポータブル C コンパイラ -.Xr cc 1 +.Xr cc 1 によって使われる形式の型の指定子を持っている .Fa n_desc フィールドを使います。これらの型の値のフォーマットの詳細はヘッダファイル .Pa pcc.h を参照して下さい。 .Pp Berkeley パスカルコンパイラ -.Xr pc 1 +.Xr pc 1 は、以下の .Fa n_type 値をつかいます: .Bd -literal #define N_PC 0x30 /* グローバルなパスカルシンボル: name,,0,subtype,line */ .Ed .Pp と、以下のサブ型を使い、別々のコンパイルファイルにまたがる型チェックを 行います。 .Bd -unfilled -offset indent 1 ソースファイル名 2 インクルードされたファイル名 3 グローバルなラベル 4 グローバルな定数 5 グローバルな型 6 グローバルな変数 7 グローバルな関数 8 グローバルな手続き 9 外部関数 10 外部手続き 11 ライブラリ変数 12 ライブラリルーチン .Ed .Sh 関連項目 .Xr as 1 , .Xr ld 1 , .Xr a.out 5 .Sh バグ .Pp もっと基本的な形式が必要でしょう。 .Sh 歴史 .Nm ファイルは -.Bx 4.0 +.Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/sysctl.conf.5 b/ja_JP.eucJP/man/man5/sysctl.conf.5 index 7cfba43ea1..73a203e964 100644 --- a/ja_JP.eucJP/man/man5/sysctl.conf.5 +++ b/ja_JP.eucJP/man/man5/sysctl.conf.5 @@ -1,79 +1,79 @@ .\" Copyright (c) 1999 Chris Costello .\" All rights reserved. -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.\" -.\" %FreeBSD: src/share/man/man5/sysctl.conf.5,v 1.3.4.3 2000/12/29 10:18:05 ru Exp % -.\" -.\" $FreeBSD$ +.\" +.\" %FreeBSD: src/share/man/man5/sysctl.conf.5,v 1.3.4.4 2001/07/21 09:16:52 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/sysctl.conf.5,v 1.7 2001/05/14 01:09:31 horikawa Exp $ .Dd December 30, 1999 .Dt SYSCTL.CONF 5 .Os FreeBSD .Sh 名称 .Nm sysctl.conf .Nd カーネルの状態のデフォルト .Sh 解説 .Pa /etc/sysctl.conf ファイルは、カーネルのデフォルト設定のために、 システムがマルチユーザモードになるときに読み込まれます。 .Pa /etc/sysctl.conf は .Dq "sysctl -w" コマンドの書式であり、すなわち次のようなものです。 .Bd -literal -offset indent sysctl_mib=value .Ed .Pp コメントは、行頭に .Dq # を付けることで記述します。 コメントは行末にも付けられます。 後述の .Sx 使用例 を見てください。 .Sh 関連ファイル .Bl -tag -width /etc/sysctl.conf -compact .It Pa /etc/sysctl.conf .Xr sysctl 8 の初期設定。 .El .Sh 使用例 致命的なシグナルにより終了したプログラムのロギングを無効にし、 Linux プログラムに対して .Fx 3.4-STABLE で実行していると通知するには、 次のような設定を使用します: .Bd -literal -offset indent # Configure logging and Linux execution. kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11) compat.linux.osname=FreeBSD compat.linux.osrelease=3.4-STABLE .Ed .Sh 関連項目 .Xr rc.conf 5 , .Xr rc 8 , .Xr sysctl 8 .Sh 歴史 .Nm ファイルは .Fx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/utmp.5 b/ja_JP.eucJP/man/man5/utmp.5 index 139fa4a6aa..388a9f4701 100644 --- a/ja_JP.eucJP/man/man5/utmp.5 +++ b/ja_JP.eucJP/man/man5/utmp.5 @@ -1,219 +1,219 @@ .\" Copyright (c) 1980, 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. .\" .\" @(#)utmp.5 8.2 (Berkeley) 3/17/94 -.\" %FreeBSD: src/share/man/man5/utmp.5,v 1.9.2.3 2001/03/06 19:08:18 ru Exp % +.\" %FreeBSD: src/share/man/man5/utmp.5,v 1.9.2.4 2001/07/21 09:16:52 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/utmp.5,v 1.9 2001/05/14 01:09:32 horikawa Exp $ .Dd March 17, 1994 .Dt UTMP 5 .Os BSD 4 .Sh 名称 .Nm utmp , .Nm wtmp , .Nm lastlog .Nd ログイン記録 .Sh 書式 .Fd #include .Fd #include .Sh 解説 .Aq Pa utmp.h ファイルは、 .Nm ファイルでの現在のユーザについての情報や -.Nm wtmp +.Nm wtmp ファイル中でのログインやログアウトの情報、 -.Nm lastlog +.Nm lastlog ファイル中での最終ログイン情報の記録のために使われる構造体を 宣言しています。 時刻の変更やシャットダウンおよびリブートのタイムスタンプは、同じように .Nm wtmp ファイルに記録されます。 .Pp これらのファイルは、忙しいシステムでは急速に大きくなりますので、 毎日もしくは毎週ローテションすることを推奨します。 もし、これらのファイルのどれかが存在しない場合、そのファイルは作成されません。 これらのファイルは、手動で作成されなければならず、 -.Xr newsyslog 8 +.Xr newsyslog 8 によって管理されます。 .Bd -literal -offset indent #define _PATH_UTMP "/var/run/utmp" #define _PATH_WTMP "/var/log/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" #define UT_NAMESIZE 16 #define UT_LINESIZE 8 #define UT_HOSTSIZE 16 struct lastlog { time_t ll_time; char ll_line[UT_LINESIZE]; char ll_host[UT_HOSTSIZE]; }; struct utmp { char ut_line[UT_LINESIZE]; char ut_name[UT_NAMESIZE]; char ut_host[UT_HOSTSIZE]; time_t ut_time; }; .Ed .Pp ユーザがログインするたびに、 .Xr login 1 プログラムは .Nm lastlog ファイル中のユーザの .Tn UID を検索します。 もし見つかった場合、ユーザが最後にログインした時刻のタイムスタンプ、 端末線、ホスト名が標準出力に書き出されます ( ログインが .Em メッセージを表示しない ように設定されていない場合。 -.Xr login 1 +.Xr login 1 を参照 )。 .Nm login プログラムは、その後 -.Nm lastlog +.Nm lastlog ファイルに新しいログイン時刻を記録します。 .Pp 新しい .Fa lastlog への記録が書き出された後で、 .\" the .\" .Xr libutil 3 .\" routine .Nm ファイルがオープンされ、ユーザに対する .Fa utmp 記録が挿入されます。 この記録は、ユーザがログアウトして削除される時まで保持されます。 .Nm ファイルは、 .Xr rwho 1 , .Xr users 1 , .Xr w 1 , -.Xr who 1 +.Xr who 1 プログラムで使われます。 .Pp 次に、 .Xr login プログラムは -.Nm wtmp +.Nm wtmp ファイルをオープンし、ユーザの .Fa utmp 記録を追加します。 同じ .Fa utmp 記録が更新されたタイムスタンプ付きで、ユーザがログアウトした時に、 ファイルに追加されます ( .Xr init 8 参照)。 .Nm wtmp ファイルは、 .Xr last 1 と -.Xr ac 8 +.Xr ac 8 プログラムで使われます。 .Pp 時刻変更やシャットダウン・リブートの際には、 以下の項目が .Nm wtmp ファイルに記録されます。 .Pp .Bl -tag -width shutdownxx -compact .It Li reboot .It Li shutdown システムのリブートやシャットダウンが開始された。 -.Fa ut_line +.Fa ut_line フィールドに .Ql \&~ と言う文字が、 -.Fa ut_name +.Fa ut_name フィールド中に .Li reboot もしくは .Li shutdown が記録されます ( .Xr shutdown 8 と .Xr reboot 8 参照)。 .Pp .It Li date システム時刻が手動もしくは自動で更新された ( .Xr date 1 参照)。 コマンド名 .Xr date がフィールド -.Fa ut_name +.Fa ut_name に記録されます。 -.Fa ut_line +.Fa ut_line フィールド中の .Ql \&| 文字は、変更前の時刻を示し、 .Ql \&{ 文字は新しい時刻を示しています。 .El .Sh 関連ファイル .Bl -tag -width /var/log/lastlog -compact .It Pa /var/run/utmp .Nm ファイル。 .It Pa /var/log/wtmp .Nm wtmp ファイル。 .It Pa /var/log/lastlog .Nm lastlog ファイル。 .El .Sh 関連項目 .Xr last 1 , .Xr login 1 , .Xr w 1 , .Xr who 1 , .Xr ac 8 , .Xr init 8 .Sh 歴史 A .Nm と .Nm wtmp ファイル書式は .At v6 から登場しました。 .Nm lastlog ファイル書式は -.Bx 3.0 +.Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man6/intro.6 b/ja_JP.eucJP/man/man6/intro.6 index 3f7c30f0de..5d1c2eeff3 100644 --- a/ja_JP.eucJP/man/man6/intro.6 +++ b/ja_JP.eucJP/man/man6/intro.6 @@ -1,68 +1,69 @@ .\" 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/man6/intro.6,v 1.4.2.2 2000/12/14 12:14:31 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man6/intro.6,v 1.4.2.3 2001/07/21 09:16:53 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man6/intro.6,v 1.6 2001/05/14 01:09:39 horikawa Exp $ .\" .Dd February 16, 1997 .Dt INTRO 6 .Os FreeBSD .Sh 名称 .Nm intro .Nd "ゲームの手引" .Sh 解説 この節にはゲームについての情報があります。 ゲームをインストールすると、 .Pa /usr/games に置かれます。 全ゲームに関する簡単な説明は以下のコマンドで得られます: .Bd -literal -offset indent $ apropos '(6)' .Ed .Sh 関連項目 .Xr intro 1 , .Xr dm 8 .Pp .%T "UNIX User's Manual Supplementary Documents" のチュートリアル。 .Sh 関連ファイル .Bl -tag -width /usr/share/doc/usd/31.trek -compact .It Pa /usr/games ゲーム置場 .It Pa /usr/share/doc/usd ゲームのチュートリアル .El .Sh 歴史 この節のマニュアルページ .Nm は .Fx 2.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man7/ascii.7 b/ja_JP.eucJP/man/man7/ascii.7 index b0b6694530..582f751cb1 100644 --- a/ja_JP.eucJP/man/man7/ascii.7 +++ b/ja_JP.eucJP/man/man7/ascii.7 @@ -1,116 +1,116 @@ .\" Copyright (c) 1989, 1990, 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. .\" .\" @(#)ascii.7 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man7/ascii.7,v 1.3.2.1 2000/12/08 14:59:18 ru Exp % +.\" %FreeBSD: src/share/man/man7/ascii.7,v 1.3.2.2 2001/07/21 09:16:53 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/ascii.7,v 1.5 2001/05/14 01:09:41 horikawa Exp $ .Dd June 5, 1993 .Dt ASCII 7 .Os .Sh 名称 .Nm ascii .Nd 8 進値、16 進値および 10 進値による .Tn ASCII 文字セット .Sh 解説 .Nm 8 進値 セット: .Bd -literal -offset left 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel 010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si 020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb -030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us -040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' -050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 / -060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 -070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? -100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G -110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O -120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W -130 X 131 Y 132 Z 133 [ 134 \e\ 135 ] 136 ^ 137 _ -140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g -150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o -160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w +030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us +040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' +050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 / +060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 +070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? +100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G +110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O +120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W +130 X 131 Y 132 Z 133 [ 134 \e\ 135 ] 136 ^ 137 _ +140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g +150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o +160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w 170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 del .Ed .Pp .Nm 16 進値 セット: .Bd -literal -offset left 00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel -08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si +08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si 10 dle 11 dc1 12 dc2 13 dc3 14 dc4 15 nak 16 syn 17 etb -18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us -20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' -28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f / -30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 7 -38 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ? -40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G -48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O -50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W -58 X 59 Y 5a Z 5b [ 5c \e\ 5d ] 5e ^ 5f _ -60 \` 61 a 62 b 63 c 64 d 65 e 66 f 67 g -68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o -70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w +18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us +20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' +28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f / +30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 7 +38 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ? +40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G +48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O +50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W +58 X 59 Y 5a Z 5b [ 5c \e\ 5d ] 5e ^ 5f _ +60 \` 61 a 62 b 63 c 64 d 65 e 66 f 67 g +68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o +70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w 78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f del .Ed .Pp .Nm 10 進値 セット: .Bd -literal -offset left 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel - 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si + 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb - 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us - 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' - 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / - 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 - 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? - 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G - 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O - 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W - 88 X 89 Y 90 Z 91 [ 92 \e\ 93 ] 94 ^ 95 _ - 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g -104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o -112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w + 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us + 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' + 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / + 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 + 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? + 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G + 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O + 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W + 88 X 89 Y 90 Z 91 [ 92 \e\ 93 ] 94 ^ 95 _ + 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g +104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o +112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del .Ed .Sh 関連ファイル .Bl -tag -width /usr/share/misc/ascii -compact .It Pa /usr/share/misc/ascii .El .Sh 歴史 .Nm マニュアルページは .At v7 から登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man7/clocks.7 b/ja_JP.eucJP/man/man7/clocks.7 index 89521bfac8..47cbfa1769 100644 --- a/ja_JP.eucJP/man/man7/clocks.7 +++ b/ja_JP.eucJP/man/man7/clocks.7 @@ -1,162 +1,163 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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/man7/clocks.7,v 1.9.2.2 2001/03/06 19:08:19 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man7/clocks.7,v 1.9.2.3 2001/07/21 09:16:53 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/clocks.7,v 1.6 2001/05/14 01:09:42 horikawa Exp $ .\" " .Dd April 1, 1996 .Os .Dt CLOCKS 7 .Sh 名称 .Nm clocks .Nd いろいろなシステムタイマ .Sh 書式 .Fd #include .Sh 解説 .Ql HZ (ヘルツ) は BSD におけるアプリケーションインタフェースの一部ではありません。 .Pp 周波数の異なるいろいろな実体をもつクロックおよび仮想的 (計時用) なクロック があります。 .Bl -bullet -offset XXX .It スケジューリングクロック。周波数 100 となるはずの実クロックです。 アプリケーションからは参照できません。 .It 統計クロック。周波数 128 となるはずの実クロックです。 アプリケーションから直接参照することはできません。 .It .Xr clock 3 によって報告されるクロック。 周波数が通常 128 の仮想クロックです。実際の周波数は .Dv CLOCKS_PER_SEC マクロによって与えられます。 .Dv CLOCKS_PER_SEC は浮動小数点値であるかもしれないことに注意してください。 .Fn clock は .Fx での新しいプログラムには使用しないでください。 これは .Xr getrusage 2 に比較して機能的に劣っていますが、ANSI に適合するために 提供されています。 .Fn getrusage をコールし、情報と結果を受け渡すことによって実装されています。 .It .Xr times 3 によって報告されるクロック。 周波数が通常 128 の仮想クロックです。実際の周波数は .Dv CLK_TCK マクロ (これは反対されています。使用しないでください。) と .Fn sysconf _SC_CLK_TCK と .Xr sysctl 3 によって与えられます。 この周波数は .Dv CLOCKS_PER_SEC とは異なりうることに注意してください。 .Xr times 3 は .Fx での新しいプログラムには使用しないでください。 これは .Fn getrusage と組み合わせた .Xr gettimeofday 2 に比較して機能的に劣っていますが、POSIX に適合するために 提供されています。 .Fn gettimeofday と .Fn getrusage をコールし、情報と結果を受け渡すことによって実装されています。 .It プロファイリングクロック。1024 の周波数をもつ実クロックです。 これは主に .Xr moncontrol 3 と .Xr kgmon 8 と .Xr gprof 1 で使用されます。 アプリケーションはこの実際の周波数を決定するためには .Xr sysctl 3 を使うか、プロファイリングデータファイルのヘッダを読んで 調べなければなりません。 .It mc14618a のクロック。32768 の公称周波数をもつ実クロックです。 分周されて統計クロックおよびプロファイリングクロックに使われます。 このクロックはアプリケーションからは参照できません。 .It マイクロ秒クロック。1000000 の周波数をもつ仮想クロックです。 これは BSD ではほとんどの時間計測に使用され、アプリケーションに対して .Xr getrusage 2 や .Xr gettimeofday 2 や .Xr select 2 や .Xr getitimer 2 などでエクスポートされています。これが通常 BSD のアプリケーションで 使用されるべきクロックです。 .It i8254 クロック。1193182 の公称周波数をもつ実クロック/タイマです。 分周されてスケジューリングクロックに使われます。 アプリケーションからは参照できません。 .It 第 5 世代以降の x86 システムでの、TSC クロック (64 ビットレジスタ)。 CPU の 1 秒あたりのサイクル数に等しい周波数の、実クロックです。 -周波数は、sysctl +周波数は、sysctl .Sy machdep.tsc_freq を使用して得られます。 これはスケジューリングクロックの値の間に挿入するために使用されます。 純粋にマシン依存な方法でのみ、アプリケーションから参照可能です。 です。 .El .Pp まとめ: もし .Ql HZ (ヘルツ) が 1000000 でなければ、アプリケーションはおそらく間違った クロックを使用することになるでしょう。 .Sh 関連項目 .Xr gprof 1 , .Xr getitimer 2 , .Xr getrusage 2 , .Xr gettimeofday 2 , .Xr select 2 , .Xr clock 3 , .Xr moncontrol 3 , .Xr times 3 .Sh 作者 .An -nosplit この man ページは .An Bruce Evans によって投稿された説明にもとづいて、 .ie t J\(:org Wunsch .el Joerg Wunsch によって書かれました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man7/environ.7 b/ja_JP.eucJP/man/man7/environ.7 index c551ee4823..5e3e9d7c2d 100644 --- a/ja_JP.eucJP/man/man7/environ.7 +++ b/ja_JP.eucJP/man/man7/environ.7 @@ -1,209 +1,209 @@ .\" Copyright (c) 1983, 1990, 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. .\" .\" @(#)environ.7 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man7/environ.7,v 1.13.2.2 2001/03/06 19:08:19 ru Exp % +.\" %FreeBSD: src/share/man/man7/environ.7,v 1.13.2.3 2001/07/21 09:16:53 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/environ.7,v 1.8 2001/05/14 01:09:42 horikawa Exp $ .Dd April 19, 1994 .Dt ENVIRON 7 .Os BSD 4.2 .Sh 名称 .Nm environ .Nd ユーザ環境 .Sh 書式 .Ar extern char **environ ; .Sh 解説 .Ar 環境 と呼ばれる文字列の配列は、 プロセス開始時に .Xr execve 2 を呼び出すことによって利用可能になります。 習慣によって、これらの文字列は .Dq Ar name=value という形を取ります。 以下の名前は多くのコマンドによって利用されます: .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE いくつかのコマンド (最もよく知られている物としては .Xr df 1 , .Xr du 1 , .Xr ls 1 ) で用いられるブロック単位のサイズ。 -.Ev BLOCKSIZE +.Ev BLOCKSIZE には、数字を指定することによってバイト単位の値を、 数字の後に ``K'' か ``k'' を指定することによってキロバイト単位の値を、 数字の後に ``M'' か ``m'' を指定することによってメガバイト単位の値を、 数字の後に ``G'' か ``g'' を指定することによってギガバイト単位の値を、 指定することができます。 512 バイトより小さい値や 1 ギガバイトより大きい値を指定しても無視されます。 .It Ev EDITOR デフォルトのエディタの名前。 .It Ev EXINIT .Xr ex 1 , .Xr vi 1 が参照する、スタートアップ時のコマンドリスト。 .It Ev HOME .Xr login 1 によって、パスワードファイル .Xr passwd 5 を元にセットされるユーザのログインディレクトリ。 .It Ev LANG .Xr setlocale 3 を使用する全てのプログラムを、この変数に指定されたロケールを使うように 設定します。 .It Ev MAIL ユーザのメールボックスの場所です。 .Xr mail 1 , -.Xr sh 1 , +.Xr sh 1 , その他多くのメールクライアントが、デフォルトの /var/mail の 代わりに用います。 .It Ev PAGER デフォルトのページャプログラム。 .Xr mail 1 , .Xr man 1 , .Xr ftp 1 などが、使用中のディスプレイよりも長い情報を表示するときに、 この変数で指定されたプログラムを使用します。 .It Ev PATH コロンで区切られたディレクトリの列です。 .Xr csh 1 , .Xr sh 1 , .Xr system 3 , .Xr execvp 3 などが、実行ファイルを探すときに検索します。 -.Ev PATH +.Ev PATH の初期値は、 .Xr login 1 によって、``/usr/bin:/bin'' にセットされます。 .It Ev PRINTER .Xr lpr 1 , .Xr lpq 1 , .Xr lprm 1 によって用いられるデフォルトのプリンタの名前。 .It Ev PWD カレントディレクトリのパス名。 .It Ev SHELL ユーザのログインシェルのフルパス名。 .It Ev TERM 出力を準備する必要のある端末の種類。 この情報は .Xr nroff 1 や .Xr plot 1 などの、端末の特殊な機能を駆使するコマンドによって用いられます。 端末タイプのリストは、 .Pa /usr/share/misc/termcap .Pq Xr termcap 5 を参照してください。 .It Ev TERMCAP .Ev TERM で指定した端末の機能を記述する文字列、あるいは、文字列が `/' で 始まる場合、termcap ファイルの名前。 下記の .Ev TERMPATH , .Xr termcap 5 を参照してください。 .It Ev TERMPATH コロンあるいはスペースで区切られた、termcap のパス名の列で、 端末の機能記述を知るために、列挙された順番で検索されます。 .Ev TERMPATH を指定していない場合は、 .Ev TERMPATH を .Dq Pa $HOME/.termcap:/etc/termcap に指定している時と同じ結果になります。 .Ev TERMCAP がフルパス名を含んでいる場合は、 .Ev TERMPATH は無視されます。 .It Ev TMPDIR テンポラリファイルを置くための場所。ほとんどのアプリケーションは .Dq /tmp か .Dq /var/tmp を用います。この変数を指定すれば、他のディレクトリを使うようになるでしょう。 .It Ev TZ 日付を表示する時に使われるタイムゾーン。 通常のフォーマットは、 .Dq Pa /usr/share/zoneinfo からの相対パス名です。 例えば、コマンド .Dq env TZ=America/Los_Angeles date は、カリフォルニアの現在時刻を表示します。 より詳しい情報は、 .Xr tzset 3 を参照してください。 .It Ev USER ユーザのログイン名。 .El .Pp これ以外の名前も、 .Xr sh 1 においては .Xr export コマンドと .Ar name=value 引数によって、 .Xr csh 1 を使用している時には .Xr setenv コマンドによって環境に付け加えることができます。 .Pa .profile ファイルでしばしばエキスポートされる、 .Ev MAIL , .Ev PS1 , .Ev PS2 , .Ev IFS などのいくつかの .Xr sh 1 の変数を変更するのは、自分が何をしているのか十分に理解していない場合には 賢明ではありません。 .Sh 関連項目 .Xr cd 1 , .Xr csh 1 , .Xr ex 1 , .Xr login 1 , .Xr sh 1 , .Xr execve 2 , .Xr execle 3 , .Xr getenv 3 , .Xr setenv 3 , .Xr setlocale 3 , .Xr system 3 , .Xr termcap 3 , .Xr termcap 5 .Sh 歴史 .Nm マニュアルページは .Bx 4.2 から登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man7/groff.7 b/ja_JP.eucJP/man/man7/groff.7 index 393c314ad4..74d531bfd7 100644 --- a/ja_JP.eucJP/man/man7/groff.7 +++ b/ja_JP.eucJP/man/man7/groff.7 @@ -1,2986 +1,2986 @@ .\" st -*- nroff -*- -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff.7,v 1.5 2001/05/14 01:09:42 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff.7,v 1.6 2001/07/04 05:31:26 horikawa Exp $ .ig groff.7 This file is part of groff, the GNU roff type-setting system. Copyright (C) 2000 Free Software Foundation, Inc. written by Bernd Warken Last update: 17 May 2000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being this .ig-section and AUTHOR, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the Free Documentation License is included as a file called FDL in the main directory of the groff source package. .\"WORD: diversion ディバージョン[groff.7] .\"WORD: divert 転換する(出力データを別の場所に貯め込むこと)[groff.7] .\"WORD: line adjustment 行の位置揃え[groff.7] .\"WORD: roff formatting system roff 清書システム[groff.7] .\"WORD: control line 制御行[groff.7] .\"WORD: formatting element 整形要素[groff.7] .\"WORD: in-line 行埋め込み式の[groff.7] .\"WORD: scale indicator 単位指定子[groff.7] .\"WORD: trap トラップ[groff.7] .\"WORD: no-break control character 非改行制御文字[groff.7] .\"WORD: center センタリングする(動詞)[groff.7] .\"WORD: special 特別フォント[groff.7] .\"WORD: leader リーダ(目次などで項目とページ番号の間に引く線)[groff.7] .\"WORD: intra-line skip 行間スキップ(行と行の間に入れる空き)[groff.7] .\"WORD: fill 行詰め(する)[groff.7] .\"WORD: built-in condition 組み込み条件式[groff.7] .\"WORD: baseline 基準線(文字位置の基準となる水平線)[groff.7] .. . .\" -------------------------------------------------------------------- .\" Setup .\" -------------------------------------------------------------------- . .if n \{\ . mso tmac.tty-char . ftr CR R . ftr CI I . ftr CB B .\} . .if '\*[.T]'dvi' \{\ . ftr CB CW .\} . .\" a comment macro which does nothing .de c .. . .\" a tab string .ds t "\t . .eo . .c text lines in macro definitions or bracketed sections \{...\} .de text . if 1 \&\$*\& .. . .de option . ds @tmp@ \f(CB\$1\fP . shift 1 . text \*[@tmp@]\$* . rm @tmp@ .. . .als shellcommand option . .c --------- characters --------- . .de character . ds @tmp@ \f(CB\$1\fP . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .de 'char . ds @tmp@ \(oq\f(CB\$1\fP\(cq . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .de ''char . ds @tmp@ \(lq\f(CB\$1\fP\(rq . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .c --------- requests --------- . .c request synopsis .de REQ . ds @tmp@ \&\$1 . shift 1 . IP "\f(CB\&\*[@tmp@] \fP\f(CI\&\$*\fP" 10n . rm @tmp@ .. . .de request . ds @tmp@ \f(CB\$1\fP . shift 1 . text \*[@tmp@]\$* . rm @tmp@ .. . .c --------- macro or function arguments --------- . .de argument . ds @tmp@ \f(CI\$1\fP . shift 1 . while (\n[.$] >= 2) \{\ . as @tmp@ \/\f(CR\$1\fP\f(CI\,\$2\fP . shift 2 . \} . if \n[.$] .as @tmp@ \/\f(CR\$1\fP . text \*[@tmp@] . rm @tmp@ .. . .c argument followed by a numerical expression .de argterm . ds @tmp@ \f(CI\$1\fP\|\f(CR\$2\fP . shift 2 . text \*[@tmp@]\$* . rm @tmp@ .. . .c --------- numerical elements --------- . .de number . ds @tmp@ \f(CR\$1\fP . shift 1 . text \*[@tmp@]\$* . rm @tmp@ .. . .de prefixednumber . ds @tmp@ \&\$1\ \f(CR\$2\fP . shift 2 . text \*[@tmp@]\$* . rm @tmp@ .. . .als scaleindicator request . .de scalednumber . ds @tmp@ \f(CR\$1\fP\f(CB\$2\fP . shift 2 . text \*[@tmp@]\$* . rm @tmp@ .. . .de operator . ds @tmp@ \(oq\f(CB\$1\fP\(cq . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .c --------- escape sequences --------- . .de esc[arg] . ds @tmp@ \f(CB\(rs\$1[\fP\f(CI\$2\fP\f(CB]\fP . shift 2 . text \*[@tmp@]\$* . rm @tmp@ .. . .de esc(arg . ds @tmp@ \f(CB\(rs\$1(\fP\f(CI\$2\fP . shift 2 . text \*[@tmp@]\$* . rm @tmp@ .. . .de escarg . ds @tmp@ \f(CB\(rs\$1\fP\f(CI\$2\fP . shift 2 . text \*[@tmp@]\$* . rm @tmp@ .. . .de esc[] . ds @tmp@ \f(CB\(rs[\fP\f(CI\$1\fP\f(CB]\fP . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .de esc( . ds @tmp@ \f(CB\(rs(\fP\f(CI\$1\fP . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .de esc . ds @tmp@ \f(CB\(rs\$1\fP . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .de (esc . ds @tmp@ \f(CB\(rs(\$1\fP . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .de [esc] . ds @tmp@ \f(CB\(rs[\$1]\fP . shift . text \*[@tmp@]\$* . rm @tmp@ .. . .c escape sequence synopsis .de ESC . ds @tmp@ \&\$1 . shift 1 . IP "\f(CB\(rs\&\*[@tmp@]\fP\f(CI\&\$*\fP" . rm @tmp@ .. . .c synopsis for escape sequences with a long name .de ESC[] . ds @arg1@ \&\$1 . ds @arg2@ \&\$2 . shift 2 . IP "\f(CB\(rs\&\*[@arg1@][\fP\f(CI\&\*[@arg2@]\fP\f(CB]\&\$*\fP" . rm @arg1@ . rm @arg2@ .. . .c synopsis escape sequence with quoted argument . de ESCq . ds @tmp@ \&\$1 . shift 1 . IP "\f(CB\(rs\&\*[@tmp@]\(cq\fP\f(CI\h'-0.2m'\$*\/\fP\f(CB\(cq\fP" . rm @tmp@ .. . .c synopsis for 2-escapes (special characters) .de ESc . ds @tmp@ \$1 . TP 14n . text \f(CB\(rs(\&\*[@tmp@]\ \ \ \fP\fR\(\*[@tmp@]\fP . shift 1 . text \$*. . rm @tmp@ .. . .c --------- registers --------- . .c synopsis for registers .de REG . TP 10n . text \&\f(CR\(rsn[\fP\f(CB\$1\fP\f(CR]\fP . shift 1 .if \n[.$] \&\$* .. . .als register request . .c --------- warnings --------- . .als warning request . .c description of warnings .de Warning . ne (2v + 1) . TP 12n . text \f(CB\$1\fP . text \f(CI\$2\fP . br .. . .ec . .\" WORD: first measure 最初のステップ (音楽用語では第一小節) .\" -------------------------------------------------------------------- .\" Title .\" -------------------------------------------------------------------- . -.TH GROFF 7 "7 December 2000" "Groff Version 1.16.1" +.TH GROFF 7 "27 April 2001" "Groff Version 1.17" .SH 名称 groff \- GNU roff 言語の簡易リファレンス . .\" -------------------------------------------------------------------- .SH 解説 .\" -------------------------------------------------------------------- .I groff とは、 .I GNU roff を表しており、roff 清書システムをフリーで実装したものです。 groff システムの概観ならびに背景については .BR roff (7) を参照してください。 .LP このドキュメントでは、groff 内で使用される、あらかじめ定義された roff 言語要素を簡潔に説明しているだけです。 古くからある機能と groff 拡張機能についての両方とも 扱っています。 .LP 歴史的に、 .I roff 言語 は .IR troff と呼ばれています。 .I groff は、古くからあるシステムと互換性を持ちつつ、独自の拡張機能も 提供しています。そのため GNU 版では、 .IR roff , .IR troff , .I groff 言語 という術語は同義として使うこともできるでしょう。 しかし、 .I troff は、どちらかと言えば古くからの機能に対して適用されるという 傾向があり、それに対して、 .I groff は GNU 拡張に重きを置いています。そして、 .I roff は、この言語の一般的な術語になっています。 .LP このファイルは、 .I groff .BR info (1) ファイルにある完全なドキュメントの簡易版に過ぎません。 info ファイルの方がより詳細で実情に近く、正確な情報を含んでいます。 .LP groff ドキュメントを書くために使う一般的な文法は比較的 やさしいのですが、 roff 言語の拡張機能を書くのは少々骨が折れるかもしれません。 .LP roff 言語は、行指向の言語です。 行には、制御行とテキスト行の 2 種類しかありません。 制御行は制御文字で始まります。制御文字は、デフォルトではピリオド .''char . あるいはシングルクォート .''char ' です。そのほかの文字で始まる行はすべてテキスト行です。 .LP .B 制御行 は、コマンドを表し、オプションで引数を取ることもあります。 制御行は、次のような文法になります。 先頭の制御文字の後には、コマンド名を続けることができます。 引数は、もしあれば、コマンド名や他の引数と空白で分けられます。 例えば、次のようにします。 .RS .LP \&\.command_name arg1 arg2 .RE .LP インデント用に、先頭の制御文字とコマンド名との間にはスペースや タブ文字をいくつ入れても良いですが、制御文字は行の先頭になくては なりません。 .LP .B テキスト行 は、表示される部分のことです。 テキスト行はエスケープシーケンスで変更することができます。 エスケープシーケンスは先頭にバックスラッシュ .'char \(rs を置くことで認識されます。 これらは、行や単語の一部に含まれ、整形要素となったり 関数となったりします。 シングルクォート .''char ' で区切られた引数を取るものもあります。 また、開き括弧 .'char ( で始めたり、角括弧 .'char [ と -.'char ] +.'char ] で括ったりする符号化で長さが決まるシーケンスもあります。 .LP roff 言語は、マクロなど、言語拡張機能を書くための柔軟な手段を 提供しています。 マクロ定義を解釈する際に、roff システムは .BR "コピーモード" と呼ばれる特別なモードに入ります。 .LP コピーモードの振る舞いはとても扱いにくいものでもありますが、 確実に安全に使えるようにするルールがいくつかあります。 .IP 1. 表示可能なバックスラッシュは .esc e と記述しなくてはなりません。 もっと正確に言えば、 .esc e は現在のエスケープ文字を表します。 バックスラッシュのグリフを得るには .esc (rs を使用してください。 .IP 2. バックスラッシュはすべて 2 重にしてください。 .IP 3. テキスト行はすべて、スペースをとらない特殊文字 .esc & で始めてください。 .LP このやり方は、一番効率の良いコードが生成できる というわけではありませんが、最初の一歩としては使えるはずです。 さらに良いやり方については groff info ファイルおよび .BR groff_tmac (5) を参照してください。 .LP roff ソースファイルを読むのはこれよりは簡単です。 すべてのマクロ定義部分で 2 重になっているバックスラッシュを 1 つに置き換えればよいだけです。 . .\" -------------------------------------------------------------------- .SH "groff 要素" .\"-------------------------------------------------------------------- roff 言語の要素は、テキストファイルに整形用情報を 付加するものです。基本的な要素は、あらかじめ定義されたコマンド および変数であり、 この要素のおかげで roff は本格的なプログラミング言語に なっているのです。 .LP roff コマンドには 2 種類あります。コマンドは 引数を取ることもあります。 .B リクエスト は、ドット .'char . あるいは -.''char ' +.''char ' で始まる行に書かれるものです。これに対して .B エスケープシーケンス は、 バックスラッシュ .'char \(rs で始まる、行埋め込み式の関数や単語中の整形要素です。 .LP ユーザは独自の整形コマンドを .request .de リクエストを使って定義することができます。これらのコマンドは .BR マクロ と呼ばれていますが、実際にはリクエストとまったく同様に使われます。 マクロパッケージは groff 言語で書かれた定義済みのマクロセットです。 ユーザが独自にエスケープシーケンスを作成できる場合というのは 非常に限られており、特殊文字のみマップすることができます。 .LP groff 言語は、インタフェースによってさまざまな種類の変数を 提供しています。定義済みの変数もありますが、 ユーザも同様に自分で変数を定義できます。 .LP .B 文字列 変数は文字列を格納します。 この変数は .request .ds リクエストで設定され、値は .esc * エスケープシーケンスを使って取り出します。 .LP .B レジスタ 変数は数値、スケールファクタつき数字、場合によっては文字列に似た オブジェクトを格納できます。 .request .nr リクエストで設定され、値は .esc n エスケープシーケンスを使って取り出します。 .LP .B 環境 変数は、行の長さやフォントサイズなどのような グローバルな整形パラメータをユーザが後で再利用するために 一時的に格納できるようにする変数です。 .request .ev リクエストによってできます。 .LP .B フォント は、名前もしくは内部番号のどちらかで判別されます。 現在のフォントは .request .ft リクエストもしくは .esc f エスケープシーケンスで選択されます。 デバイスごとに特殊なフォントがありますが、次のフォントはすべての デバイスで利用可能です。 .B R は標準フォント、ローマン体です。 .B B はその .B ボールド体 です。 .I イタリック体 フォントは .B I と呼ばれておりどこででも利用可能ですが、テキストデバイスでは ローマン体フォントに下線がついたものとして表示されます。 グラフィカルの出力デバイスに対しては、次のフォントの固定幅の 修飾文字が存在します。 .BR CR , .BR CI , および .BR CB です。 テキストデバイスでは、いずれにしても文字はすべて固定幅です。 .LP さらに、roff の拡張要素がいくつかあります。 .B ディバージョン は後で利用できるように情報をマクロに格納します。 .B トラップ はページの先頭から何行目とか、ディバージョンや入力において 何行目というような位置条件です。 アクションの中には、条件が揃ったときに自動的に起動するように 指示できるものがあります。 .LP これより詳細な情報については、groff info ファイルに示されています。 . .\" -------------------------------------------------------------------- .SH "制御文字" .\" -------------------------------------------------------------------- ある条件下で特別な制御タスクをもつ文字が いくつかあります。 .TP .character . ドットは、行の先頭あるいは .request .if , .request .ie , .request .el , および .request .while リクエスト中の条件の後にある場合のみ特別です。 その位置では、リクエスト (あるいはマクロ) を導入する制御文字になります。 .esc . エスケープを使うと、この特別な動作を遅らせることができます。 .request .cc リクエストを使うことで、この制御文字を別の文字に設定して、 ドット .'char . を特殊文字でなくすることができます。 .IP "" 他の位置にドットがあるときは、ただのドット文字以上の意味はありません。 テキスト段落の中では、文はそれぞれ新しい行で始めるほうが有利です。 .TP .character ' シングルクォートには 2 つの制御機能があります。行の先頭および 条件リクエスト内では、シングルクォートは非ブレーク制御文字に なります。これは、ドットのようにリクエストを導入しますが、 リクエストが行を折り返さないような追加のプロパティをつけるものです。 .request .c2 リクエストを用いると、非ブレーク制御文字を別の文字に設定する ことができます。 .IP "" 2 つめのタスクとして、シングルクォートは、 いくつかの関数エスケープシーケンスの中で 引数の区切り文字としてよく使用されます (引数に含まれない文字のペアなら どれでも良いのですが)。 その他の場所にあれば、シングルクォート文字あるいはアポストロフィ文字 になります。 groff は、表示用の表記として エスケープシーケンス .esc (cq を提供しています。 .TP .character \(dq ダブルクォートはリクエストおよびマクロ中の引数を括るときに使用されます。 エスケープされたダブルクォート .esc \(dq はコメントの開始になります。 それ以外は、ダブルクォートには特別な機能はありません。 groff は、表示用の表記として エスケープシーケンス .esc (dq を提供しています。 .TP .character \(rs バックスラッシュは、通常エスケープシーケンスの開始を意味しています (この文字は、 .request ec リクエストによって変更できます)。 表示用のエスケープ文字は、エスケープシーケンス .esc e で、バックスラッシュのグリフは .esc (rs で得られます。 .TP .character ( 開き括弧は、エスケープシーケンス内で、ちょうど 2 文字でできた エスケープ名あるいは引数を導入したときのみ特別な意味を持ちます。 groff では、この動作は \f(CB[]\fP の組で置き換えることができます。 .TP .character [ 開き角括弧は、groff のエスケープシーケンス内でのみ特別な意味を持ちます。 これは、長いエスケープシーケンス名やエスケープシーケンスの引数を 導入するときに使用します。 それ以外の場合は、例えばマクロ呼び出しなどでも特別な意味はありません。 .TP .character ] 閉じ角括弧は、groff のエスケープシーケンス内でのみ特別な意味を持ちます。 これは、長いエスケープシーケンス名やエスケープシーケンスの引数を 終わらせます。 それ以外の場合は、特別な意味はありません。 .TP \f(CIspace\fP 空白文字は、機能的な働きしか持たない文字です。これは、 リクエストやマクロの引数の区切り文字、 およびテキスト行における単語の区切り文字です。 また、空白文字は groff の単語間の水平方向の空白計算に作用します。 定義された空白幅を得たい場合は、 .'char "\(rs\ " (エスケープ文字とそれに続いた空白文字)、 .esc | , .esc ^ , あるいは .esc h のようなエスケープシーケンスを使う必要があります。 .IP \f(CInewline\fP テキストの段落においては、改行は空白文字とほぼ同じような作用をします。 連結された行は、エスケープした改行で指定できます。 つまり、行の最後の文字に .'char \(rs を指定するのです。 .IP \f(CItab\fP テキスト中にタブ文字があれば、インタプリタは次の定義済みのタブ位置へ 水平方向にインデントを作ります。 タブ位置の調整には洗練されたインタフェースが存在します。 . .\" -------------------------------------------------------------------- .SH "数式" .\" -------------------------------------------------------------------- .B 数値 は、符号つき整数、符号なし整数、浮動小数点実数のいずれか、およびそれに 単位指定子を付加したものです。 .B 単位指定子 は、計測単位を表す 1 文字の略語です。 単位指定子が後についた数字は、サイズに関する値を意味しています。 デフォルトでは、数値は単位指定を持ちません。つまり、 単なる数字にすぎません。 .LP roff 言語では、次の単位指定子を定義しています。 .LP .na .nh .TS center, tab(@); LfCB Lw(4i). c@センチメートル i@インチ P@パイカ\ \(eq\ 1/6\ インチ p@ポイント\ \(eq\ 1/72\ インチ m@T{ em\ \(eq\ \fRポイント値でのフォントサイズ (文字 `\f(CRm\fR' の幅) T} M@\f(CRem\fR の 100 倍 n@en\ \(eq\ em/2 u@\fR実際の出力デバイスでの基本単位 v@\fR基本単位での行送り幅 z@T{ スケールされたポイント数\ \(eq\ 1 ポイントの 1/\f(CIsizescale\fR 倍 (フォントの \fIDESC\fP ファイルで定義) T} .TE .LP .ad .hy .B 数式 は、先で定義された数値と算術演算子 .operator + , .operator \- , .operator * , .operator / , .operator % .RI ( 剰余 ), 比較演算子 .operator == ( -.operator = +.operator = と同じ), .operator <= , .operator >= , .operator < , .operator > , 論理演算子 .operator & .RI ( 論理積 ), .operator : .RI ( 論理和 ), .operator ! .RI ( 否定 ), および括弧 .operator ( と -.operator ) +.operator ) との組み合わせです。 .LP さらに、 .I groff は、数式に対して次の演算子を追加しました。 .LP .na .nh .TS center, tab(@); LfCB Lw(4i). e1\f(CB>?\fPe2@\f(CIe1\fP と \f(CIe2\fP の最大値 e1\f(CB 「特別フォント」 . .REQ .ft 直前のフォントに戻します。 リクエスト .request \(rsfP と同じです。 . .REQ .ft font フォント名または番号 .argument font に変更します。 エスケープシーケンス .esc[arg] f font と同じです。 . .REQ .ftr font1 font2 フォント .argument font1 をフォント .argument font2 に変換します。 . .REQ .hc 追加ハイフネーション指定文字を削除します。 . .REQ .hc c 追加ハイフネーション指定文字として\ \c .argument c を設定します。 . .REQ .hcode c1 code1 c2 code2 ... 文字 .argument c1 のハイフネーションコードを .argument code1 に、文字 .argument c2 のコードを .argument code2 のように設定します。 . .REQ .hla lang 現在のハイフネーション言語を .argument lang に設定します。 . .REQ .hlm n ハイフンされた行の最大連続数を .argument n に設定します。 . .REQ .hpf file ハイフネーションのパターンをファイル .argument file から読み込みます。 . .REQ .hw words 例外的なハイフネーションをする単語のリストを .argument words で指定します。 . .REQ .hy N ハイフネーションモードを .argument N に変更します。 . .REQ .hym n ハイフネーションのマージンを .argument n に設定します (デフォルトの単位指定子は\ \c -.scaleindicator m +.scaleindicator m です)。 . .REQ .hys n ハイフネーションのスペースを .argument n に設定します。 . .REQ .ie cond anything 条件式 .argument cond が真ならば .argument anything を処理します。偽の場合はリクエスト .request .el へ移動します。 . .REQ .if cond anything 条件式 .argument cond が真ならば .argument anything を処理します。偽の場合は何もしません。 . .REQ .ig リクエスト .request .. が呼ばれるまでテキストを無視します。 . .REQ .ig end リクエスト .request .end が呼ばれるまでテキストを無視します。 . .REQ .in インデント量を直前の値に戻します。 . .REQ .in \(+-N 引き数 .argument \(+-N に従ってインデント量を変更します (デフォルトの単位指定子は\ \c .scaleindicator m です)。 . .REQ .it N trap 入力行のカウントトラップを位置 .argument N に設定します。 . .REQ .kern pairwise kerning を有効にします。 . .REQ .kern n .argument n が 0 ならば pairwise kerning を無効にします。0 でなければ 有効にします。 . .REQ .lc リーダ繰り返し文字の定義を削除します。 . .REQ .lc c リーダ繰り返し文字を\ \c .argument c に設定します。 . .REQ .length register anything 文字列 .argument anything の文字列長をレジスタ .argument register に書き込みます。 . .REQ .lf N file 入力する行数を .argument N に、ファイル名を .argument file に設定します。 . .REQ .lg N 引数 .argument N が 0 より大きければリガチャ (合字) モードにします。 . .REQ .ll 行幅を直前の値に戻します。 . .REQ .ll \(+-N 行幅を引数 .argument \(+-N に従って設定します (デフォルトの設定は .scalednumber 6.5 i で、単位指定子は -.scaleindicator m +.scaleindicator m です)。 . .REQ .ls 追加の行間スキップ量を直前の値に戻します。 . .REQ .ls N 追加の行間スキップ量を .argument N に設定します。 つまり、テキストの出力行それぞれの後に .argument N -1 行の空白行を挿入します。 . .REQ .lt \(+-N タイトルの長さです (デフォルトの単位指定子は\ \c .scaleindicator m です)。 . .REQ .mc マージンの文字を無効にします。 . .REQ .mc c それぞれのテキスト行の後と右側マージンの間に文字 .argument c を出力します。 . .REQ .mc c N マージン文字を .argument c に、右側マージンからの距離を .argument N に設定します (デフォルトの単位指定子は\ \c .scaleindicator m です)。 . .REQ .mk register 現在の垂直位置を .argument register にマークします。 . .REQ .mso file リクエスト .so と同じですが、tmac ディレクトリにある .I file も検索されます。 . .REQ .na 出力行の位置揃えを行いません。 . .REQ .ne 1 行分の行送りが必要です。 . .REQ .ne N .argument N 行分の行送りが必要です (デフォルトの単位指定子は\ \c .scaleindicator v です)。 . .REQ .nf 出力行に行詰めや位置揃えを行いません。 . .REQ .nh ハイフネーションをしません。 . .REQ .nm 行番号モードを無効にします。 . .REQ .nm \(+-N M S I 行番号モードの、行番号、行番号出力間隔、空白、インデントを 設定します。 . .REQ .nn 次の行に行番号をつけません。 . .REQ .nn N 次の .argument N 行に行番号をつけません。 . .REQ .nr register \(+-N M レジスタの値を、インクリメント値 .argument M で .argument \(+-N に設定・変更します。 . .REQ .nroff 組み込み条件式 .B n を真に、 .B t を偽にします。 . .REQ .ns 空白なしモードにします。 . .REQ .nx filename 次のファイルを表します。 . .REQ .open stream filename ファイル .register filename を書き込みモードでオープンし、名前 .register stream を持つストリームに関連づけます。 . .REQ .opena stream filename リクエスト .request .open と同じですが、追加モードでファイルをオープンします。 . .REQ .os リクエスト .request .sv で指定された行送り量を出力します。 . .REQ .pc ページ番号文字を .'char % に戻します。 . .REQ .pc c ページ番号文字を設定します。 . .REQ .pi program プログラム .argument program に出力をパイプします (nroff のみ)。 . .REQ .pl ページ長をデフォルトの .scalednumber 11 i に設定します。 現在のページ長はレジスタ .register .p に格納されています。 . .REQ .pl \(+-N ページ長を .argument \(+-N に変更します (デフォルトの単位指定子は\ \c .scaleindicator v です)。 . .REQ .pm マクロ名とサイズを出力します (サイズは 1 ブロック 128 バイトの ブロック数です)。 . .REQ ".pm t" マクロ全体のサイズだけを出力します (サイズは 1 ブロック 128 バイトの ブロック数です)。 . .REQ .pn \(+-N 次のページ番号を .argument N に設定します。 . .REQ .pnr 現在定義されている数値レジスタの名前と内容を標準エラー出力に 出力します。 . .REQ .po ページオフセットを直前の値に戻します。現在のページオフセットはレジスタ .register .o に格納されています。 . .REQ .po \(+-N ページオフセットを .argument N に設定します。 . .REQ .ps ポイントサイズを直前の値に戻します。 . .REQ .ps \(+-N ポイントサイズを指定します。エスケープシーケンス .esc[arg] s \(+-N と同じです。 . .REQ .psbb filename PostScript 画像 .argument filename のための矩形領域を取得します。 . .REQ .pso command リクエスト .request .so と同様ですが、 .argument command の標準出力から入力します。 . .REQ .ptr すべてのトラップの名前と位置を標準エラー出力に出力します (入力行のトラップとディバージョンのトラップは含まれません)。 . .REQ .rchar c1 c2... 文字定義 .argument c1 , .argument c2 , .argument ... を削除します。 . .REQ .rd prompt 挿入を読み込みます。 . .REQ .rj n 次の .argument n 行の入力行を右寄せします。 . .REQ .rm name .argument name で指定されたリクエスト、マクロ、文字列を削除します。 . .REQ .rn old new .argument old で指定されたリクエスト、マクロ、文字列の名前を .argument new に変更します。 . .REQ .rnn reg1 reg2 レジスタ名 .argument reg1 を .argument reg2 に変更します。 . .REQ .rr register レジスタ .argument register を削除します。 . .REQ .rs 空白をもとに戻します。つまり空白なしモードを無効にします。 . .REQ .rt \(+-N マークしておいた垂直位置まで戻します (上方向のみ)。 (デフォルトの単位指定子は\ \c .scaleindicator v です)。 . .REQ .shc ソフトハイフン文字を .esc (hy に戻します。 . .REQ .shc c ソフトハイフン文字を .argument c に設定します。 . .REQ .shift n マクロにおいて、引き数を位置 .argument n にシフトします。 . .REQ .so filename ソースファイルをインクルードします。 . .REQ .sp 1 行スキップします。 . .REQ .sp N .argument N の行送りを挿入します。 .argument N の符号によって上下方向が決まります (デフォルトの単位指定子は .scaleindicator v です)。 . .REQ .special s1 s2 ... フォント .argument s1 , .argument s2 , などを特別とします。現在のフォントにない文字をこれらから検索します。 . .REQ .ss N 空白文字のサイズを .argument N /12 に設定します。単位は現在のフォントの空白幅です。 . .REQ .ss N M 空白文字のサイズを .argument N /12 に、文の空白サイズを .argument M /12 に設定します。単位は現在のフォントの空白幅 (\f(CR\(eq1/3 em\fP) です。 . .REQ .sty n style 位置 .argument n のフォントをスタイル .argument style に関連づけます。 . .REQ .substring register n1 n2 レジスタ .argument register の文字列の中の部分文字列 .argument n1 を .argument n2 に置き換えます。 . .REQ .sv 行送り量を .scalednumber 1 v に設定します。 . .REQ .sv N リクエスト .request os で出力される空白行の送り量を .argument N に設定します。 . .REQ .sy command-line プログラム .argument command-line を実行します。 . .REQ ".ta T" N タブ位置を .argument N の倍数に設定します (デフォルトの単位指定子は\ \c .scaleindicator m です)。 . .REQ .ta n1 n2 ... nn \f(CBT\fP r1 r2 ... rn 位置 .argument n1 , .argument n2 , \&... , .argument nn のタブ位置をそれぞれ .argument nn + r1 , .argument nn + r2 , \&... .argument nn + rn に、さらにそれ以降を .argument nn + rn + r1 , .argument nn + rn + r2 , \&... .argument nn + rn + rn のように設定します。 . .\".REQ .tar .\"Restore internally saved tab positions. .\". .\".REQ .tas .\"Save tab positions internally. . .REQ .tc タブ繰り返し文字を削除します。 . .REQ .tc c タブ繰り返し文字を\ \c .argument c に設定します。 . .REQ .ti \(+-N 次の行を一時的にインデントします (デフォルトの単位指定子は\ \c .scaleindicator m です)。 . .REQ .tkf font s1 n1 s2 n2 フォント .argument font のトラックカーニングを有効にします。 . .REQ .tl \f(CB'\fPleft\f(CB'\fPcenter\f(CB'\fPright\f(CB'\fP 3 つの部位をもつタイトルです。 . .REQ .trf filename ファイル .argument filename の内容をそのまま出力します。 . .REQ .tm anything .argument anything を端末 (UNIX の標準的なメッセージ出力先) に出力します。 .\" 「ターミナル」 => 「端末」 . .REQ .tr abcd.... 出力で .argument a を .argument b に、 .argument c を .argument d のように変換します。 . .REQ .trnt abcd.... リクエスト .request .tr と同じですが、 .esc ! によってディバージョンへと出力されるテキストは変換されません。 . .REQ .troff 組み込み条件式 .B t を真に、 .B n を偽に設定します。 . .REQ .uf font アンダーラインフォントセットを .argument font に設定します (リクエスト .request .ul で切り替わります)。 . .REQ .ul N 入力行を .argument N 行、アンダーライン付きにします (troff では イタリック体になります)。 . .REQ .vpt n .argument n が 0 でなければ垂直位置のトラップを有効にします。 0 ならば無効にします。 . .REQ .vs 行送り幅を直前の値に戻します。 . .REQ .vs N 行送りの基準線間隔を .argument N に設定します。 デフォルト値は .scalednumber 12 p です。 . .REQ .warn n 警告コードを .argument n に設定します。 . .REQ .wh N trap 位置によるトラップを設定します。負の値の場合はページ末尾からになります。 . .REQ .while cond anything 条件式 .argument cond が真ならば .argument anything を入力として受理します。 . .REQ .write stream anything ストリーム .argument stream へ .argument anything を書き込みます。 . .PD .LP これらの基本的な groff リクエストの他にも、 マクロの呼び出しがあります。 これらはマクロパッケージ (概要は .BR roff (7) を参照) やプリプロセッサに由来するものです。 .LP プリプロセッサマクロを認識するのは容易です。 これらは独特のマクロの対で括られています。 .LP .TS box, center, tab (@); c | c | c CfCB | CfCB | CfCB. プリプロセッサ@開始マクロ@終了マクロ = eqn@.PS@.PE grap@.G1@.G2 grn@.GS@.GE pic@.PS@.PE refer@.R1@.R2 soelim@\fIなし@\fIなし tbl@.TS@.TE .TE .LP . .\" -------------------------------------------------------------------- .SH "エスケープシーケンス" .\" -------------------------------------------------------------------- . エスケープシーケンスは、行中の要素であり、通常は バックスラッシュ .'char \(rs とそれに続けてエスケープ名をつける形で導入されます。場合によっては 必要な引数をつけることもあります。 入力処理は、エスケープ文字あるいはその引数の直後から再開されます。 引数には区切り文字がはさまっているわけではありません。 そのため、エスケープ名や引数の終わりを決定する方法が必要です。 .LP これは、名前 (エスケープ名、および変数名からなる引数) を 角括弧 .esc[] name で囲い、定数引数 (数式および文字) を アポストロフィ (ASCII 0x27) で .IR \(cqconstant\(cq のように囲うことによって実現します。 .LP エスケープ名には短い名前の省略形があります。 2 文字のエスケープ名は開き括弧で .esc( xy のように指定され、閉じ括弧は必要ありません。 そして、特殊文字である .'char [ と .'char ( 以外の 1 文字の名前はすべて .esc \fP\f(CIc のようにマーカなしで指定することができます。 .LP 長さ .number 1 の定数の引数もアポストロフィのマーカを省略できますが、 2 文字の名前のときには省略できません。 .LP 1 文字のエスケープシーケンスは主に行中での 関数とシステムに関連したタスク用に使われるのに対して、 .esc( "" が続いた 2 文字の名前は roff システムで定義済みの特殊文字用に 使われます。 2 文字より多い文字を持った名前 .esc[] name は、ほとんどユーザ定義の文字を表しています ( リクエスト .request .char を参照してください)。 . .\" -------------------------------------------------------------------- .SS "1 文字のエスケープシーケンス" .\" -------------------------------------------------------------------- . .PD 0 . .\" --------- comments --------- . .ESC \(dq コメントの開始です。 行末までのものすべてが無視されます。 . .ESC # 次の改行文字までのものすべてが無視されます。 これは、コピーモードで解釈されます。 .esc \(dq と似ていますが、終端となる改行を無視する点が異なります。 . .\" --------- strings --------- . .ESC * s 1 文字の名前 -.argument s +.argument s を持った文字列変数に格納される文字列です。 . .ESC *( st 2 文字の名前 .argument st を持った文字列変数に格納される文字列です。 . .ESC[] * stringvar 任意の長さの名前 .argument stringvar を持った文字列変数に格納される文字列です。 . .\" --------- macro arguments --------- . .ESC $0 現在のマクロが呼び出されている名前。 リクエスト .request .als は、1 つのマクロに複数の名前をつけることができます。 . .ESC $ x -.argument x +.argument x 番目のマクロの引数。ここで、 .argument x は、1 から 9 までの数値です。 . .ESC $( xy 2 桁の番号 -.argument xy +.argument xy 番目のマクロの引数。 . .ESC[] $ nexp -.argument nexp +.argument nexp 番目のマクロの引数。ここで、 .argument nexp は 1 以上の整数に評価される数値表現です。 . .ESC $* マクロにおいて、引数すべてを空白文字区切りで連結したもの。 . .ESC $@ マクロにおいて、引数すべてをそれぞれダブルクォートで囲い、 空白文字で区切って連結したもの。 . .\" --------- escaped characters --------- . .ESC \(rs バックスラッシュ 1 個に縮退します。コピーモードで エスケープ文字として解釈されるのを遅らせるときに便利です。 表示可能なバックスラッシュには、 .esc e を使用してください。 . .ESC \(cq -揚音アクセント符号 \(aa 。 +揚音アクセント符号 \(aa 。 .esc( aa と同じです。 エスケープなし: アポストロフィ、右クォーテーション記号、シングルクォート (ASCII 0x27)。 . .ESC ` 抑音アクセント符号 \(ga 。 .esc( ga と同じです。 エスケープなし: 左クォート、バッククォート (ASCII 0x60)。 . .ESC \- 現在のフォントでの \- 符号。 . .ESC . 解釈されないドット (ピリオド)。行頭にあってもそうなります。 . .ESC % デフォルトでのオプションのハイフン文字。 . .ESC ! 透過行指定子。 . .ESC ? anything\fB?\fP ディバージョンにおいて、そのまま .argument anything を組み込みます。コピーモードで .argument anything は読み込まれます。 エスケープシーケンス .esc ! および .esc ? も参照してください。 . . .\" --------- spacing --------- . .ESC \& space 連結されない空白の大きさを持った空白文字 (改行もされません)。 . .ESC 0 数字の幅。 . .ESC | 1/6\ em の狭い空白文字。nroff では幅 0 です。 . .ESC ^ 1/12\ em やや狭い空白文字。nroff では幅 0 です。 . .ESC & 表示されない、幅 0 の文字。 . .ESC ) .esc & と同様ですが、文の終わりを認識する目的で、 cflags リクエストを 用いて透過になるように宣言された文字のように振る舞うという 点で異なります。 . .ESC / 次の文字がローマン体であるときには、それの前の文字の幅を増やして 次の文字との間の余白が修正されるようにします。 . .ESC , 前の文字がローマン体であるときには、次の文字の余白を変更して 前の文字との間の余白が修正されるようにします。 . .ESC ~ 改行されない空白。行を調整するとき、通常の単語間の空白のように 引き延ばされます。 . .ESC \& newline 無視される改行。行を連続させるときのためです。 . .\" --------- structuring --------- . .ESC { 条件入力の開始。 . .ESC } 条件入力の終了。 . .\" --------- longer escape names --------- . .ESC ( st 2 文字の名前を持った特殊文字。 セクション .BR "特殊文字" を参照してください。 .ESC[] \& name 任意の長さの名前 .argument name を持った文字 . .\" --------- alphabetical escapes --------- . .ESC a 解釈されないリーダ文字。 . .ESCq A anything .argument anything が文字列、マクロ、ディバージョン、レジスタ、環境、あるいは フォント名として受け付けられるものの場合、 .number 1 です。そうでない場合 .number 0 になります。 . .ESCq b abc... 角括弧を作る関数。 . .ESC c テキスト処理を中断します。 . .ESCq C char .argument char と呼ばれる文字。 .esc[] char と同じですが、他の roff バージョンと互換性があります。 . .ESC d 垂直単位で 1/2 em だけ前方 (下) に移動します (nroff では 1/2 行です)。 . .ESCq D charseq .argument charseq 中の文字で定義されたグラフィカルな要素を描きます。 詳細は groff info ファイルを参照してください。 . .ESC e 現在のエスケープ文字の表示できるバージョン。 . .ESC E エスケープ文字と等価ですが、コピーモードでは評価されません。 . .ESC f F 1 文字の名前もしくは 1 個の数字 .argument F を持つフォントに変更します。 . .ESC f( fo 2 文字の名前もしくは 2 個の数字 .argument fo を持つフォントに変更します。 . .ESC[] f font 任意の長さの名前もしくは数式 .argument font で表されるフォントに変更します。 . .ESC[] g reg リクエスト .request .af に適した、名前 .argument reg を持ったレジスタのフォーマットを返します。 別の形式として .esc(arg g xy および .escarg g x があります。 . .ESCq h N 局所的な水平移動。右側へ .argument N だけ移動します (負の値のときは左側へ移動します)。 . .ESCq H N 現在のフォントの高さを -.argument N +.argument N に設定します。 . .ESC[] k reg 任意の長さの名前 .argument reg を持つレジスタ中の水平入力位置をマークします。 別の形式では .esc(arg k xy と -.escarg k x +.escarg k x です。 . .ESCq l Nc 水平線描画関数 (文字 -.argument c +.argument c を用いることも可能です)。 . .ESCq L Nc 垂直描画関数 (文字 .argument c を用いることも可能です)。 . .ESC n r 1 文字の名前 -.argument r +.argument r を持つレジスタ変数に格納されている数値。 . .ESC n( re 2 文字の名前 -.argument re +.argument re を持つレジスタ変数に格納されている数値。 . .ESC[] n reg 任意の長さの名前 -.argument reg +.argument reg を持つレジスタ変数に格納されている数値。 . .ESCq N n 現在のフォントで、コード .argument n で指定された文字を出力します。特殊フォントは検索されません。 リクエスト .request .char を用いて文字にフォントを追加するときに便利です。 . .ESCq o abc... 文字 .argument a , .argument b , .argument c , などを 2 度打ちします。 . .ESC p 改行のあと出力行を展開します。 . .ESC r 垂直方向に 1\ em 逆戻りします (nroff では 1 行逆戻りします)。 . .ESCq R name \(+-n リクエスト .request .nr .argument name -.argument \(+-n +.argument \(+-n と同じです。 . .ESC[] s \(+-N ポイントサイズを .I N スケールポイントに設定します。別の書式として .BI \(rss \(+- [ N ]\c , .BI \(rss' \(+-N '\c , .BI \(rss \(+- ' N '\c , .esc(arg s \(+-xy , .BI \(rss \(+- ( xy\c , -.escarg s \(+-x +.escarg s \(+-x が使えることに注意してください。 これは、リクエスト .request .ps と同じです。 . .ESCq S N 出力を .argument N 度傾けます。 . .ESC t 解釈されない水平タブ。 . .ESC u 垂直方向に 1/2 em 逆戻りします (nroff では 1/2 行逆戻りします)。 . .ESCq v N 局所的な垂直移動。 .argument N だけ下がります (負の値のときは上がります)。 . .ESC[] V env 環境変数 .argument env の内容。別の書式では、 .esc(arg V xy と .escarg V x が使えます。 . .ESCq w string 文字列 -.argument string +.argument string の幅。 . .ESCq x N さらに行送りする関数 (負の値なら前へ、正の値なら後ろへ 行送りします)。 . .ESCq X string .argument string をデバイス制御関数として出力します。 . .ESC[] Y name 文字列変数あるいはマクロ .argument name をデバイス制御関数として解釈しないように出力します。 別の書式では、 .esc(arg Y xy と .escarg Y x になります。 . .ESC z c 幅 0 (空白なし) で .argument c を出力します。 . .ESCq Z anything .argument anything を出力し、水平・垂直位置を元に戻します。 .argument anything にはタブや先頭文字は含まれません。 .PD .LP エスケープシーケンス .esc e , .esc . , .esc \(dq , .esc $ , .esc * , .esc a , .esc n , .esc t , .esc g , および .escarg \& newline はコピーモードで解釈されます。 .LP .esc ( あるいは .esc [ で始まるエスケープシーケンスは 1 文字のエスケープシーケンスを 表してはいませんが、2 つ以上の文字を持ったエスケープ名の 開始を示します。 .LP バックスラッシュの後に定義済みのエスケープシーケンスを 形成しない文字が続く場合は、バックスラッシュは黙って無視され、 文字そのものがマップされます。 . .\" -------------------------------------------------------------------- .SS "特殊文字" .\"-------------------------------------------------------------------- よく使われる特殊文字は文字 .argument x と .argument y を用いた .(esc \fP\f(CIxy の形式のエスケープシーケンスであらかじめ定義されています。 特殊文字の中には通常のフォントに含まれているものも一部ありますが、 ほとんどは特殊フォントでしか利用できません。 最も重要なグリフを抜き出したものを次に示します。完全なリストは、 .BR groff_char (7) にあります。 .RS .LP .PD 0 . .ESc bu 中黒 .ESc co 著作権記号 .ESc ct セント記号 (通貨) .ESc dd 2 重ダガー .ESc de 度記号 .ESc dg ダガー .ESc em 全角ダッシュ .ESc hy ハイフン .ESc rg 登録記号 .ESc sc セクション記号 .ESc ul アンダーライン文字 .ESc == 等号 .ESc >= 以上 .ESc <= 以下 .ESc != 不等号 .ESc -> 右矢印 .ESc <- 左矢印 .ESc +- プラスマイナス記号 .PD .RE . .\" -------------------------------------------------------------------- .SH レジスタ .\" -------------------------------------------------------------------- レジスタは値を格納する変数です。 groff では、ほとんどのレジスタは数値を格納しますが (前述セクション .B 数式 を参照してください)、なかには文字列値を保持できるものもあります。 .LP 各レジスタには名前が与えられています。 任意のレジスタを定義でき、リクエスト .request .nr .argument register で定義・設定できます。 .LP レジスタに格納された値は、エスケープシーケンス .esc n を用いて取り出すことができます。 .LP 最も有用なのは、定義済みのレジスタです。 次からは、レジスタのことを話しているのだということを明確にするため、 .argument name という表記を用いて .register name レジスタのことを示します。 .esc en[] 修飾はレジスタ名の一部ではないことを気にとめておいてください。 . .\" -------------------------------------------------------------------- .SS "読み込み専用レジスタ" .\"-------------------------------------------------------------------- 次のレジスタは、ユーザが書き換えられない定義済みの値を持った レジスタです (通常、ドットで始まるレジスタは読み込み専用です)。 ほとんどは、現在の設定についての情報を提供したり、リクエスト呼び出し からの結果を保存したりするものです。 .LP .PD 0 .REG .$ 現在のマクロの引数の個数 .REG .A オプション .B \-A が使用されているときに .B troff に .number 1 を設定します。 .BR ntoff では常に .number 1 です。 .REG .H 基本単位で表した、利用可能な水平方向の解像度 .REG .T オプション .B \-T が使用されているとき .number 1 が設定されています。 .REG .V 基本単位で表した、利用可能な垂直方向の解像度。 .REG . 最後に .escarg x 'N' を用いて指定した行送り幅。 .REG .C 互換モードが有効になっている場合は 1 で、そうでない場合 0 です。 .REG .c 現在の入力行番号 .REG .cdp 現在の環境に追加された最後の文字の深さ。 最後の文字が基準線から下に突き出ている場合に正になります。 .REG .ce リクエスト .request .ce で設定された中央寄せされる行の残数。 .REG .cht 現在の環境に追加された最後の文字の高さ。 基準線よりも上に文字が突き出ている場合に正になります。 .REG .csk 現在の環境に追加された最後の文字の傾き。 文字の傾きとは、文字の上についたアクセント記号が文字の中央からどれだけ 右に離れて置かれるかということです。 .\"the right of the center of a character...? .\"この訳が正しいと思います。 .REG .d 現在のディバージョンでの垂直方向の位置です。レジスタ .register nl と同じです。 .REG .ev 現在の環境の名前もしくは番号です (文字列の値です)。 .REG .f 現在のフォント番号です。 .REG .fam 現在のフォントファミリです (文字列の値です)。 .REG .fp 次に空いているフォント位置番号。 .REG .g GNU troff では常に 1 です。 マクロ中で groff で動作しているかどうかをテストする場合、 このレジスタを使用する必要があります。 .REG .h 現在のページあるいはディバージョンでのテキスト基準線の 最高点です。 .REG .hla リクエスト .B .hla で設定された現在のハイフネーション言語。 .REG .hlc 直前で連続したハイフネーション行数。 .REG .hlm 連続したハイフネーション行数の許される最大値。これは、 リクエスト .request .hlm で設定されます。 .REG .hy 現在のハイフネーションフラグ ( リクエスト .request .hy で設定されます)。 .REG .hym 現在のハイフネーションのマージン ( リクエスト .request .hym で設定されます)。 .REG .hys 現在のハイフネーション間隔 ( リクエスト .request .hys で設定されます)。 .REG .i 現在のインデント。 .REG .in 現在の出力行に対して適用されるインデント。 .REG .kern pairwise kerning が有効になっている場合 .number 1 で、無効になっていれば .number 0 です。 .REG .l 現在行の長さです。 .REG .lg 現在の合字モード ( リクエスト .request .lg で設定されます)。 .REG .ll 現在の出力行に対して適用される行の長さ。 .REG .lt タイトルの長さ ( リクエスト .request .lt で設定されます)。 .REG .n 直前の出力行でのテキスト部分の長さ。 .REG .ne トラップを生起させる原因となった最後のリクエスト .request .ne が必要とした空白の量。 このレジスタは、 .register .trunc と一緒に使用すると便利です。 .REG .o 現在のページのオフセット。 .REG .p 現在のページの長さ。 .REG .pn 次ページの番号。これは、 リクエスト .request .pn で定義された値もしくは現在ページに 1 を足した番号の いずれかです。 .REG .ps スケールポイントで表した現在のポイントサイズ。 .REG .psr 最後に要求された、スケールポイントで表した ポイントサイズ。 .REG .rj リクエスト .request rj によって設定された右寄せされる行の数。 .REG .s 10 進小数での現在のポイントサイズ。 .REG .sr 10 進小数での最後に要求されたポイントサイズ (文字列値)。 .REG .t 次のトラップまでの距離。 .REG .tabs 現在のタブ設定の文字列表現。 リクエスト .request .ta に対する引数として使用するのに適しています。 .REG .trunc 最近の垂直位置トラップによって切り詰められた垂直スペースの量。 リクエスト .request .ne によるトラップが引き起こされた場合は、そのリクエストによって生じた 垂直移動量をさらにマイナスした値になります。 別の言い方をすれば、トラップが発生した時点での、 トラップが起きなかった場合の垂直位置と現在の垂直位置との差を 表しています。 リクエスト .register .ne と一緒に使用すると便利です。 .REG .ss リクエスト .request .ss の第 1 引数によって設定されたパラメータの値。 .REG .sss リクエスト .request .ss の第 2 引数によって設定されたパラメータの値。 .REG .u 行連結モードのときは 1 で、そうでなければ 0 です。 .REG .v 現在の垂直方向の行送り量。 .REG .vpt 垂直位置トラップが有効なら .number 1 で、無効なら .number 0 です。 .REG .w 直前の文字の幅。 .REG .warn 現在有効になっている警告の番号コードの和。 .REG .x メジャーバージョン番号。 .REG .y マイナバージョン番号。 .REG .Y groff のリビジョン番号。 .REG .z 現在のディバージョン名。 .REG llx 与えられた PostScript 画像 ( -.request .psbb +.request .psbb で設定されます) の左下 x 座標 (PostScript 単位)。 .REG lly 与えられた PostScript 画像 ( .request .psbb で設定されます) の左下 y 座標 (PostScript 単位)。 -.REG rsb +.REG rsb .register sb と同様ですが、文字の高さおよび深さを勘定に含めています。 .REG rst .register st と同様ですが、文字の高さおよび深さを勘定に含めています。 .REG sb 文字列の、基準線の下側の深さ (幅関数 .esc w で生成されます)。 .REG skw .esc w 引数の最後の文字の中央からの右スキップ幅。 .REG ssc 添字の直前にある文字に追加すべき水平方向の空白量 (幅関数 .esc w -で生成されます) +で生成されます) (負の値になる可能性もあります)。 .REG st 文字列の、基準線の上の高さ (幅関数 .esc w で生成されます)。 .REG urx 与えられた PostScript 画像 ( -.request .psbb +.request .psbb で設定されます) の右上 x 座標 (PostScript 単位)。 .REG ury 与えられた PostScript 画像 ( -.request .psbb +.request .psbb で設定されます) の右上 y 座標 (PostScript 単位)。 .PD . .\" -------------------------------------------------------------------- .SS "書き込み可能なレジスタ" .\"-------------------------------------------------------------------- 次のレジスタは、ユーザによって読み書き可能です。 定義済みのデフォルト値を持っていますが、ドキュメントを カスタマイズするために変更できます。 .LP .PD 0 .REG % 現在のページ番号。 .REG c. 現在の入力行番号。 .REG ct 文字の種類 (幅関数 -.esc w +.esc w で指定されます)。 .REG dl 最後に行われたディバージョンの最大幅。 .REG dw 現在の曜日 (1-7)。 .REG dy 現在の日 (1-31)。 .REG hp 現在の入力行における水平位置。 .REG ln 出力行番号。 .REG mo 現在の月 (1-12)。 .REG nl 最後に表示されたテキストのベースラインの垂直方向の位置。 .REG slimit 0 よりも大きければ、入力スタック上のオブジェクトの最大数。 0 以下であれば、制限はありません。つまり、仮想メモリを使い果たすまで 再帰呼び出しし続けることができます。 .REG systat 最後の .request .sy リクエストによって実行された .I system() 関数の戻り値。 .REG year 現在の年 (2000 年問題対応です)。 .REG yr 現在の年から 1900 を引いたものです。2000 年問題対応にするには レジスタ .register year を代わりに使用してください。 .PD . .\" -------------------------------------------------------------------- .SH 警告 .\" -------------------------------------------------------------------- groff が生成する警告は各々名前およびコード番号で識別されます。 コードは 2 の累乗になっていて、1 つの整数の上にビットエンコード できるようになっています。名前も警告のグループを参照するのに 使用できます。 .LP 警告と関連のある名前は、 .option \-w および .option \-W オプションで使用されます。 コード番号は リクエスト .request .warn および .esc[arg] n warn レジスタで使用されます。 .LP .PD 0 .Warning all group .warning di , .warning mac および .warning reg を除いたすべての警告です。 伝統的なマクロパッケージでの警告をすべて網羅しています。 .Warning break 4 行連結モード時に、1 行の長さよりも短くなるように 行を分割できませんでした。デフォルトでは有効です。 .Warning char 1 存在しない文字です。デフォルトでは有効です。 .Warning delim 8 閉じ区切り記号がないか、もしくは対応が取れません。 .Warning di 256 現在ディバージョンが存在しないのに 引数なしで .request .di あるいは .request .da を使っています。 .Warning el 16 対応するリクエスト .request .ie が存在しないのに .request .el リクエストを使っています。 .Warning escape 32768 認識されないエスケープシーケンスです。そのためエスケープ文字は 無視されます。 .Warning font 131072 存在しないフォントです。デフォルトでは有効です。 .Warning ig 262144 リクエスト .request \.ig を使って無視されているテキスト中で不正なエスケープがあります。 無視されるテキストの外側でこの警告が発生する場合、 エラーとなる状態です。 .Warning mac 512 定義されていない文字列、マクロ、およびディバージョンが使われました。 自動的に空文字として扱われます。通常は、名前ごとに 1 つしか 警告は出ません。 .Warning missing 8192 オプションではない引数が指定されていないリクエストです。 .Warning input 16384 不正な入力文字です。 .Warning number 2 不正な数式です。デフォルトでは有効です。 .Warning range 64 引数が範囲外です。 .Warning reg 1024 定義されていない番号レジスタを使っています。自動的に 値 0 をもつレジスタとして扱われます。通常は、 名前ごとに 1 つしか警告は出ません。 .Warning right-brace 4096 数字を指定すべき場所で .esc } が使われました。 .Warning scale 32 意味のない単位指定子です。 .Warning space 65536 リクエストあるいはマクロとその引数との間に空白がありません。 そのため、自動的にマクロは定義されません。 デフォルトでは有効です。 この警告は互換モードでは絶対に発生しません。 .Warning syntax 128 数式中の構文が曖昧です。 .Warning tab 2048 タブ文字の使い方が適切ではありません (クォートされていない マクロ引数中や数字を指定すべきところにタブ文字がある)。 .Warning w group すべての警告です。 .PD .LP .TS tab(@), box, expand; c c c | c c c | c c c R RI CB | R RI CB | R RI CB. Bit@Code@警告@Bit@Code@警告@Bit@Code@警告 _ 0@1@char@8@256@di@16@65536@space 1@2@number@9@512@mac@17@131072@font 2@4@break@10@1024@reg@18@262144@ig 3@8@delim@11@2048@tab 4@16@el@12@4096@right-brace 5@32@scale@13@8192@missing 6@64@range@14@16384@input 7@128@syntax@15@32768@escape .TE .LP . .\" -------------------------------------------------------------------- .SH 互換性 .\" -------------------------------------------------------------------- .I groff は、古典的な .I troff 用に書かれた roff コードや他の roff 実装用の roff コードを同じ方法で 処理できるようにする .B 互換モード を提供します。 .LP 互換モードはコマンドラインオプション .option \-C を用いて有効にでき、 .request .cp で有効にしたり無効にしたりできます。番号レジスタ .esc(arg n .C は、互換モードが有効であるとき .number 1 で、無効であるとき .number 0 です。 .LP 長い名前に対する GNU の考え方によってある種の非互換性が 生まれてしまうのでこれが必要になりました。 .I 古典的な troff は、 .IP .B \&.dsabcd .LP を .BR cd という中身を持った文字列 .B ab を定義しているものとして解釈します。 .I groff は、通常これを .request dsabcd という名前のマクロ呼び出しとして解釈します。 .LP さらに、 .I 古典的な troff では .esc *[ または .esc n[ を .register [ と呼ばれる文字列レジスタあるいは番号レジスタへのリファレンスとして 解釈します。 しかし、 .I GNU 独自の .IR モード では通常これを長い名前の始まりとして解釈してしまいます。 .LP .I 互換性 .IR モードでは、 groff はこれらを古典的な方法で解釈するようになりますが、長い名前は 認識されません。 .LP これに対して、 .I GNU 独自モード での groff は、文字列やマクロ、変換、番号レジスタ、フォントあるいは 環境名にエスケープシーケンス .esc e , .esc | , .esc ^ , .esc & , .esc } , .esc { , .esc "\ " (スペース), .esc ' , .esc ` , .esc - , .esc _ , .esc ! , .esc % , .esc c を使うことはできません。これに対して .I 古典的な troff ではこれらのエスケープシーケンスを使えます。 エスケープシーケンス .esc A は、名前の中でこれらのエスケープシーケンスを使わないようにするとき 役に立ちます。 .LP 小数のポイントサイズは、顕著な非互換性を生み出します。 .I 古典的な .IR troff では、 .request .ps リクエストは単位指定子を無視しますので、 .RS .LP .B .ps\ 10u .RE .LP とするとポイントサイズを 10 ポイントに設定します。 これに対して groff 独自のモードでは、ポイントサイズは スケールポイントで 10 ポイントに設定します。 .LP .I groff モードでは、整形されていない入力と整形された出力文字との間に 基本的な違いがあります。 出力文字がどのように出力されるかに影響を与えるものは、すべて その文字と一緒に格納されます。一度出力文字が作られれば、 その後でどのようなリクエストが実行されても出力文字は影響を受けません。 .request .bd , .request .cs , .request .tkf , .request .tr , .request .fp のいずれのリクエストでも同様です。 .LP 通常、出力文字は、入力文字を現在の出力行に追加する直前に 作られます。 マクロ、ディバージョン、文字列は、実はすべて 同じオブジェクトタイプです。 これらは、どのような組み合わせでも入力文字のリスト ならびに出力文字のリストを持っています。 .LP マクロを処理する目的では、出力文字は入力文字と同じような 振る舞いはしません。出力文字は、自分の構築元となった 入力文字ならば持っていたであろう特別な属性を一切 引き継ぎません。 次の例は、これらのことをもっと明解に示しています。 .LP .RS .nf .ft B \&.di x \(rs\(rs\(rs\(rs \&.br \&.di \&.x .ft .fi .RE .LP .I GNU モード では、これは -.esc \(rs +.esc \(rs として表示されます。 つまり、入力されたバックスラッシュの対 .'char \(rs\(rs はそれぞれ 1 つのバックスラッシュ .'char \(rs に変換されます。 そして、結果として出力されるバックスラッシュは、 再度読み込まれるときにはエスケープ文字としては解釈されません。 .LP .I 古典的な troff では、こうしたバックスラッシュは再度読み込まれるときには エスケープ文字として解釈されるので、最終的には 1 つのバックスラッシュ -.'char \(rs +.'char \(rs として出力されるでしょう。 .LP 出力可能な .'char \(rs を得る正しい方法は エスケープシーケンス .esc e を使うことでしょう。 これは、ディバージョン内で使用されているかどうかに関わらず、 現在のエスケープ文字を常に 1 つだけ出力します。 さらにこれは GNU モードでも互換モードでも動作します。 .LP ディバージョン内に、再度読み込まれたときに解釈したい エスケープシーケンスを格納するには、伝統的な 透過出力ファシリティ .esc ! あるいは新しいエスケープシーケンス .esc ? のどちらかが使用できます。 . .\" -------------------------------------------------------------------- .SH バグ .\" -------------------------------------------------------------------- 現在、groff システムのドキュメントは変更・刷新途上にあります。 それぞれのマニュアルには小さな不一致がある可能性があります。 .LP .B 警告 セクションは .BR troff (1) に属しています。 . .\" -------------------------------------------------------------------- .SH 作者 .\"-------------------------------------------------------------------- このドキュメントは groff、すなわち GNU roff 配布物の一部です。 Bernd Warken が書きました。 .LP このドキュメントは、FDL (GNU Free Documentation License) バージョン 1.1 以降の条項のもとに配布されています。 システムに FDL のコピーがあるはずですし、オンライン .RS .LP .I http://www.gnu.org/copyleft/fdl.html .RE .LP でも入手できます。 .LP もともと、groff 言語拡張については .BR troff (1) マニュアルページで管理されていました。 このドキュメントは groff 言語拡張の不可欠な部分を含んではいますが、 詳しい説明については、groff info ファイルの中にあります。 . .\" -------------------------------------------------------------------- .SH "関連項目" .\"-------------------------------------------------------------------- groff 言語の主な情報源は .B groff .BR info (1) ファイルです。 .LP roff および groff システムを調べたり、さらなるドキュメントへの ポインタを得るには、 .BR roff (7) を参照してください。 .LP フォーマッタプログラムについては .BR groff (1) および .BR troff (1) で説明されており、 前もって定義されているグリフ名のすべては .BR groff_char (7) で説明されています。 .LP 古くからある .I troff のドキュメントはオンライン .RS .LP .I http://cm.bell-labs.com/cm/cs/cstr.html .RE および .RS .I http://www.kohala.com/start/troff/ .RE にあります。 diff --git a/ja_JP.eucJP/man/man7/groff_char.7 b/ja_JP.eucJP/man/man7/groff_char.7 index 40d7f43304..e64f5b18ac 100644 --- a/ja_JP.eucJP/man/man7/groff_char.7 +++ b/ja_JP.eucJP/man/man7/groff_char.7 @@ -1,583 +1,583 @@ -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_char.7,v 1.7 2001/05/14 01:09:42 horikawa Exp $ .ig \"-*- nroff -*- Copyright (C) 1989-2000 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_char.7,v 1.6 2001/04/30 03:48:36 horikawa Exp $ -.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_char.7,v 1.7 2001/05/14 01:09:42 horikawa Exp $ +.\" .\" groff_char.7 の表記を尊重しました。 .\" JIS X 0212 の附属書 3 表 3「0208とJISX0221との対応表」を、 .\" 文字の名前の参考としてではなく、英単語と日本語の単語の対応の .\" 参考としました。 .\" Kazuo Horikawa 1998/12/06 .\" .\" For best results, print this with groff. .ds aq \(aq .ie !\n(.g .if '\(aq'' .ds aq \' .el \{\ . tr \(aq\(aq . if !c\(aq .ds aq \' .\} .if !\n(.g .ig .\" .Ac accented-char accent char .de Ac .char \\$1 \\$3\ \k[acc]\ \h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\ \v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\ \\$2\ \v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\ \h'|\\\\n[acc]u' .hcode \\$1\\$3 .. .Ac \(vc \(ah c .Ac \(vC \(ah C -.TH GROFF_CHAR 7 "26 April 2001" "Groff Version 1.17" +.TH GROFF_CHAR 7 "27 April 2001" "Groff Version 1.17" .SH 名称 groff_char \- groff の文字名 .SH 解説 このマニュアルページは標準的な .B groff への入力文字を列挙しています。 このマニュアルページを印刷 (表示) するのに用いられるデバイスで 利用可能な文字のみが表示されます .ie \n(.g (現在使用されているデバイスは `\*(.T' です) 。 .I "Input code" 欄は単一の文字で入力することのできる文字において用いられ、 その文字の ISO Latin-1 コードが書かれています。 .I "PostScript name\" 欄には出力文字の一般的な PostScript 名が示されます。 .LP ISO Latin-1 のブレイク無しスペース (8 進数で 0240) は .BR \e (スペース) と等価です。 他の ISO Latin-1 の文字はすべて、次の例外を除いてそのまま表示されます: .B \` -は ` +は ` として表示され、 .B \*(aq -は ' +は ' として表示されます。対応する ISO Latin-1 文字は -.B \e` +.B \e` と -.BR \e(aq +.BR \e(aq で得られます。 ISO Latin-1 の `ハイフン、負符号' (コード 45) はハイフンとして 表示されます; 負符号は -.BR \e- +.BR \e- で得られます。 ISO Latin-1 の `チルド' (コード 126) は ~ として表示されます; より大きいグリフは -.BR \e(ti +.BR \e(ti で得られます。 -ISO Latin-1 の `サーカムフレクスアクセント' (コード 94) +ISO Latin-1 の `サーカムフレクスアクセント' (コード 94) は ^ として表示されます; より大きいグリフは -.BR \e(ha +.BR \e(ha で得られます。 .sp 'nf .nr Sp 3n .ta \w'\fIOutput'u+\n(Spu +\w'\fIInput'u+\n(Spu +\w'\fIInput'u+\n(Spu \ +\w'periodcentered'u+\n(Spu .de C0 .C \\$1 "" \\$1 \\$2 "\\$3" .. .de C1 .C \e\\$1 "" \\\\\\$1 \\$2 "\\$3" .. .de C2 .C \e(\\$1 "" \\(\\$1 \\$2 "\\$3" .. .if !\n(.g .ig .de CD .C \[char\\$1] \\$1 \[char\\$1] \\$2 "\\$3" .. .do fspecial CR R .\" input-name decimal-code output-name ps-name description .if !\n(.g .ig .de C .if c\\$3 \{\ .ft CR .tr `\`'\*(aq .in 0 .di CH \&\\$1 .br .di .in .ft .ds CH \\*(CH\ .tr ``'' \&\\$3\t\\*(CH\t\\$2\t\\$4\t\\$5 .\} .. .if \n(.g .ig .de C .if !'\\$3'' \{\ .ft B .tr `\`'\*(aq .in 0 .di CH \&\\$1 .br .di .in .ft .ds CH \\*(CH\ .tr ``'' \&\\$3\t\\*(CH\t\\$2\t\\$4\t\\$5 .\} .. .if !\n[cR] .wh \n(nlu+\n(.tu-\n(.Vu Fo .de Fo 'bp .He .. .de He .ft I Output Input Input PostScript Notes name code name .ft .LP 'nf .. .He .CD 33 exclam .CD 34 quotedbl .CD 35 numbersign .CD 36 dollar .CD 37 percent .CD 38 ampersand .CD 39 quoteright .CD 40 parenleft .CD 41 parenright .CD 42 asterisk .CD 43 plus .CD 44 comma .CD 45 hyphen .CD 46 period .CD 47 slash .CD 58 colon .CD 59 semicolon .CD 60 less .CD 61 equal .CD 62 greater .CD 63 question .CD 64 at .CD 91 bracketleft .CD 92 backslash .CD 93 bracketright .CD 94 circumflex "サーカムフレクスアクセント" .CD 95 underscore .CD 96 quoteleft .CD 123 braceleft .CD 124 bar .CD 125 braceright .CD 126 tilde "チルドアクセント" .CD 161 exclamdown .CD 162 cent .CD 163 sterling .CD 164 currency .CD 165 yen .CD 166 brokenbar .CD 167 section .CD 168 dieresis .CD 169 copyright .CD 170 ordfeminine .CD 171 guillemotleft .CD 172 logicalnot .CD 173 hyphen .CD 174 registered .CD 175 macron .CD 176 degree .CD 177 plusminus .CD 178 twosuperior .CD 179 threesuperior .CD 180 acute "アキュートアクセント" .CD 181 mu .CD 182 paragraph .CD 183 periodcentered .CD 184 cedilla .CD 185 onesuperior .CD 186 ordmasculine .CD 187 guillemotright .CD 188 onequarter .CD 189 onehalf .CD 190 threequarters .CD 191 questiondown .CD 192 Agrave .CD 193 Aacute .CD 194 Acircumflex .CD 195 Atilde .CD 196 Adieresis .CD 197 Aring .CD 198 AE .CD 199 Ccedilla .CD 200 Egrave .CD 201 Eacute .CD 202 Ecircumflex .CD 203 Edieresis .CD 204 Igrave .CD 205 Iacute .CD 206 Icircumflex .CD 207 Idieresis .CD 208 Eth .CD 209 Ntilde .CD 210 Ograve .CD 211 Oacute .CD 212 Ocircumflex .CD 213 Otilde .CD 214 Odieresis .CD 215 multiply .CD 216 Oslash .CD 217 Ugrave .CD 218 Uacute .CD 219 Ucircumflex .CD 220 Udieresis .CD 221 Yacute .CD 222 Thorn .CD 223 germandbls .CD 224 agrave .CD 225 aacute .CD 226 acircumflex .CD 227 atilde .CD 228 adieresis .CD 229 aring .CD 230 ae .CD 231 ccedilla .CD 232 egrave .CD 233 eacute .CD 234 ecircumflex .CD 235 edieresis .CD 236 igrave .CD 237 iacute .CD 238 icircumflex .CD 239 idieresis .CD 240 eth .CD 241 ntilde .CD 242 ograve .CD 243 oacute .CD 244 ocircumflex .CD 245 otilde .CD 246 odieresis .CD 247 divide .CD 248 oslash .CD 249 ugrave .CD 250 uacute .CD 251 ucircumflex .CD 252 udieresis .CD 253 yacute .CD 254 thorn .CD 255 ydieresis .C2 -D Eth "アイスランド語の大文字 eth" .C2 Sd eth "アイスランド語の小文字 eth" .C2 TP Thorn "アイスランド語の大文字 thorn" .C2 Tp thorn "アイスランド語の小文字 thorn" .C2 AE AE .C2 ae ae .C2 OE OE .C2 oe oe .C2 IJ IJ "オランダ語の IJ リゲチャ" .C2 ij ij "オランダ語の ij リゲチャ" .C2 ss germandbls .C2 'A Aacute .C2 'C Cacute .C2 'E Eacute .C2 'I Iacute .C2 'O Oacute .C2 'U Uacute .C2 'Y Yacute .C2 'a aacute .C2 'c cacute .C2 'e eacute .C2 'i iacute .C2 'o oacute .C2 'u uacute .C2 'y yacute .C2 :A Adieresis .C2 :E Edieresis .C2 :I Idieresis .C2 :O Odieresis .C2 :U Udieresis .C2 :Y Ydieresis .C2 :a adieresis .C2 :e edieresis .C2 :i idieresis .C2 :o odieresis .C2 :u udieresis .C2 :y ydieresis .C2 ^A Acircumflex .C2 ^E Ecircumflex .C2 ^I Icircumflex .C2 ^O Ocircumflex .C2 ^U Ucircumflex .C2 ^a acircumflex .C2 ^e ecircumflex .C2 ^i icircumflex .C2 ^o ocircumflex .C2 ^u ucircumflex .C2 `A Agrave .C2 `E Egrave .C2 `I Igrave .C2 `O Ograve .C2 `U Ugrave .C2 `a agrave .C2 `e egrave .C2 `i igrave .C2 `o ograve .C2 `u ugrave .C2 ~A Atilde .C2 ~N Ntilde .C2 ~O Otilde .C2 ~a atilde .C2 ~n ntilde .C2 ~o otilde .C2 vS Scaron .C2 vs scaron .C2 vZ Zcaron .C2 vz zcaron .C2 ,C Ccedilla .C2 ,c ccedilla .C2 /L Lslash "ポーランド語のスラッシュ付き L" .C2 /l lslash "ポーランド語のスラッシュ付き l" .C2 /O Oslash .C2 /o oslash .C2 oA Aring .C2 oa aring .C2 a" hungarumlaut "ハンガリー語のウムラウト" .C2 a- macron "マクロン、バーアクセント" .C2 a. dotaccent "ドットアクセント" .C2 a^ circumflex "サーカムフレクスアクセント" .C2 aa acute "アキュートアクセント" .C2 ga grave "グレーブアクセント" .C2 ab breve "ブリーブアクセント" .C2 ac cedilla "セディラアクセント" .C2 ad dieresis "ウムラウト、ダイエレシス" .C2 ah caron "h\('a\(vcek アクセント" .C2 ao ring "リングもしくはサークルアクセント" .C2 a~ tilde "チルドアクセント" .C2 ho ogonek "フックもしくはオゴネクアクセント" .C2 .i dotlessi "点のない i" .C2 .j dotlessj "点のない j" .C2 Cs currency "スカンジナビアの通貨記号" .C2 Do dollar .C2 Po sterling .C2 Ye yen .C2 Fn florin .C2 ct cent .C2 Fo guillemotleft .C2 Fc guillemotright .C2 fo guilsinglleft .C2 fc guilsinglright .C2 r! exclamdown .C2 r? questiondown .C2 ff ff "ff のリゲチャ" .C2 fi fi "fi のリゲチャ" .C2 fl fl "fl のリゲチャ" .C2 Fi ffi "ffi のリゲチャ" .C2 Fl ffl "ffl のリゲチャ" .C2 OK \& "チェックマーク、照合のしるし" .C2 Of ordfeminine .C2 Om ordmasculine .C2 pc periodcentered .C2 S1 onesuperior .C2 S2 twosuperior .C2 S3 threesuperior .C2 <- arrowleft .C2 -> arrowright .C2 <> arrowboth "左右向き矢印" .C2 da arrowdown .C2 ua arrowup .C2 va \& "上下向き矢印" .C2 lA arrowdblleft .C2 rA arrowdblright .C2 hA arrowdblboth "左右向き二重矢印" .C2 dA arrowdbldown .C2 uA arrowdblup .C2 vA \& "上下向き二重矢印" .C2 ba bar .C2 bb brokenbar .C2 br br "従来の troff で利用された箱罫線" .C2 ru ru "ベースラインの罫線" .C2 ul ul "従来の troff で利用された下線" .C2 bv bv "縦棒" .C2 bs bell .C2 ci circle .C2 bu bullet .C2 co copyright .C2 rg registered .C2 tm trademark .C2 dd daggerdbl "ダブルダガーサイン" .C2 dg dagger .C2 ps paragraph .C2 sc section .C2 de degree .C2 em emdash "全角 (M の幅の) ダッシュ" .C2 en endash "半角 (n の幅の) ダッシュ" .C2 %0 perthousand "千分の一記号、パーミル" .C2 12 onehalf .C2 14 onequarter .C2 34 threequarters .C2 f/ fraction "除算の棒" .C2 fm minute "フィート記号、プライム" .C2 sd second .C2 ha asciicircum "\s-2ASCII\s+2 サーカムフレクス、ハット、キャレット" .C2 ti asciitilde "\s-2ASCII\s0 チルド、大きいチルド" .C2 hy hyphen .C2 lB bracketleft .C2 rB bracketright .C2 lC braceleft .C2 rC braceright .C2 la angleleft "始め山括弧" .C2 ra angleright "終り山括弧" .C2 lh handleft .C2 rh handright .C2 Bq quotedblbase "低い二重コンマ引用符" .C2 bq quotesinglbase "低い一重コンマ引用符" .C2 lq quotedblleft .C2 rq quotedblright .C2 oq quoteleft "一重開き引用符" .C2 cq quoteright "一重閉じ引用符 (ASCII 39)" .C2 aq quotesingle "アポストロフィ引用符" .C2 dq quotedbl "二重引用符 (ASCII 34)" .C2 or bar .C2 at at .C1 - minus "現在のフォントの負符号" .C2 sh numbersign .C2 sl slash .C2 rs backslash .C2 sq square .C2 3d therefore .C2 tf therefore .C2 *A Alpha .C2 *B Beta .C2 *C Xi .C2 *D Delta .C2 *E Epsilon .C2 *F Phi .C2 *G Gamma .C2 *H Theta .C2 *I Iota .C2 *K Kappa .C2 *L Lambda .C2 *M Mu .C2 *N Nu .C2 *O Omicron .C2 *P Pi .C2 *Q Psi .C2 *R Rho .C2 *S Sigma .C2 *T Tau .C2 *U Upsilon .C2 *W Omega .C2 *X Chi .C2 *Y Eta .C2 *Z Zeta .C2 *a alpha .C2 *b beta .C2 *c xi .C2 *d delta .C2 *e epsilon .C2 *f phi .C2 +f phi1 "ファイ変形" .C2 *g gamma .C2 *h theta .C2 +h theta1 "シータ変形" .C2 *i iota .C2 *k kappa .C2 *l lambda .C2 *m mu .C2 *n nu .C2 *o omicron .C2 *p pi .C2 +p omega1 "パイ変形、オメガ風" .C2 *q psi .C2 *r rho .C2 *s sigma .C2 *t tau .C2 *u upsilon .C2 *w omega .C2 *x chi .C2 *y eta .C2 *z zeta .C2 ts sigma1 "語尾小文字σ" .C2 ~~ approxequal .C2 ~= approxequal .C2 != notequal .C2 ** asteriskmath .C2 -+ minusplus .C2 +- plusminus .C2 <= lessequal .C2 == equivalence .C2 =~ congruent .C2 >= greaterequal .C2 AN logicaland .C2 OR logicalor .C2 no logicalnot .C2 te existential "存在する、存在限定子" .C2 fa universal "すべての、普通限定子" .C2 Ah aleph .C2 Im Ifraktur "フラクトゥール(ドイツ字体) I, 虚数" .C2 Re Rfraktur "フラクトゥール(ドイツ字体) R, 実数" .C2 if infinity .C2 md dotmath .C2 mo element .C2 mu multiply .C2 nb notsubset .C2 nc notpropersuperset .C2 ne notequivalence .C2 nm notelement .C2 pl plusmath "特殊フォントの正符号" .C2 eq equalmath "特殊フォントの等号" .C2 pt proportional .C2 pp perpendicular .C2 sb propersubset .C2 sp propersuperset .C2 ib reflexsubset .C2 ip reflexsuperset .C2 ap similar .C2 is integral .C2 sr radical "square root" .C2 rn \& overline .C2 pd partialdiff "偏微分記号" .C2 c* circlemultiply "円の中に積の記号" .C2 c+ circleplus "円の中に正符号" .C2 ca intersection "共通集合、キャップ" .C2 cu union "合併集合、カップ" .C2 di divide "除算記号" .C2 -h hbar .C2 gr gradient .C2 es emptyset .C2 CL club "クラブスート" .C2 SP spade "スペードスート" .C2 HE heart "ハートスート" .C2 DI diamond "ダイヤスート" .C2 CR carriagereturn "改行の記号" .C2 st suchthat .C2 /_ angle .C2 << \& "非常に小さい" .C2 >> \& "非常に大きい" .C2 wp weierstrass "ヴァイヤーシュトラースの p" .C2 lz lozenge .C2 an arrowhorizex "水平な矢印の延長" .ch Fo .SH "関連項目" .BR groff (1) .br .IR "An extension to the troff character set for Europe" , E.G. Keizer, K.J. Simonsen, J. Akkerhuis, EUUG Newsletter, Volume 9, No. 2, Summer 1989 diff --git a/ja_JP.eucJP/man/man7/groff_man.7 b/ja_JP.eucJP/man/man7/groff_man.7 index 573ac9fcc8..e5009c9b91 100644 --- a/ja_JP.eucJP/man/man7/groff_man.7 +++ b/ja_JP.eucJP/man/man7/groff_man.7 @@ -1,502 +1,502 @@ -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_man.7,v 1.3 2001/05/14 01:09:42 horikawa Exp $ .ig \"-*- nroff -*- Copyright (C) 1999-2000 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_man.7,v 1.2 2001/04/30 03:48:36 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_man.7,v 1.3 2001/05/14 01:09:42 horikawa Exp $ .\" WORD: hanging indentation ぶら下げインデント .\" WORD: designator 指示子 .de TQ .br .ns .TP \\$1 .. -.TH GROFF_MAN 7 "26 April 2001" "Groff Version 1.17" +.TH GROFF_MAN 7 "27 April 2001" "Groff Version 1.17" . .SH 名称 . groff_man \- マニュアルページ生成サポート用 groff `man' マクロ . .SH 書式 . .B groff .B \-man [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .br .B groff .B \-m\ man [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] . .SH 解説 . .I groff でマニュアルページを生成するのに使用される .B man マクロは、James Clark が書きました。 このドキュメントは、パッケージ中の各マクロの使い方を、短くまとめたものです。 . .SH オプション . .B man マクロは、次のようなコマンドラインオプションを理解します (レジスタをいくつか定義します)。 .TP .B \-rcR=1 本オプション (nroff モードではデフォルト) は、 複数ページの代りに、長い単一ページを出力します。 無効にするには、 .B \-rcR=0 としてください。 .TP .B \-rC1 コマンドラインに複数のマニュアルページを与えた場合、 それぞれのページ番号が\ 1 から始まるのではなく、連続した番号に なります。 .TP .B \-rD1 両面印字にします。 偶数ページと奇数ページのフッタは、異なった整形が成されます。 .TP .BI \-rP nnn ページの数え始めを\ 1 ではなく .I nnn からにします。 .TP .BI \-rS xx ベースドキュメントフォントサイズを 10\ ポイントではなく .I xx ポイントにします .RI ( xx には 10, 11, 12 のいずれかが使用できます)。 .TP .BI \-rX nnn ページ\ \c .IR nnn の後のページを .IR nnn a, .IR nnn b, .IR nnn c などというように数えます。例えば、`\-rX2' というオプションの場合、 ページを 1, 2, 2a, 2b, 2c というように割り振ります。 . .SH 使用法 . このセクションは、マニュアルページ用に使用可能なマクロについて 述べています。さらにカスタマイズしたい場合は、 .B man.local ファイル中に追加のマクロおよびリクエストを置いてください。 このファイルは .B man の直後にロードされます。 .TP .BI .TH " title section " [ extra1 "] [" extra2 "] [" extra3 ] このマニュアルページのタイトルを .I title に、セクションを .IR section に設定します。セクションは、 1 から\ 8 までの値をとらなくてはなりません。 .I section 値には、後ろに文字列を置くこともできます。例えば、 `.pm' とすると、マニュアルページの特定のサブセクションを 示します。 .I title と .I section は、ともにヘッダ行の左端と右端に置かれます (括弧でくくられた .I section が .IR title の直後に付きます)。 .I extra1 は、フッタ行の中央に置かれます。 .I extra2 は、フッタ行の左に置かれます (両面印字がアクティブになっている場合、偶数ページには 左に、奇数ページには右に、置かれます)。 .I extra3 はヘッダ行の中央に置かれます。 .IP HTML 出力用には、ヘッダおよびフッタは完全に取り除かれます。 .IP さらに、このマクロは改ページします。新しい行番号は、再度\ 1 に なります (コマンドラインで `-rC1' オプションが指定されている場合を 除きます)。この機能は、複数のマニュアルページを整形する 場合のためだけにあります。マニュアルページが 1 つの場合、 .B TH は、ファイルの先頭において、まさに 1 つだけ存在すべきです。 .TP .BI ".SH [" "text for a heading" ] 番号づけをしないセクション用の見出しを設定します。 これは左詰めになります。 .B SH に続いたテキスト ( .BR SH に引数がない場合は次の行のテキスト) は、行末までのものがすべてボールド体で、 そしてベースドキュメントサイズよりも 1 だけ大きなフォントサイズで 表示されます 。 さらに、テキストの左側の余白はデフォルト値に戻されます。 .TP .BI ".SS [" "text for a heading" ] 番号づけしないセクションの 2 番目の見出しを設定します。 .B SS に続いたテキスト ( .BR SS に引数がない場合は次の行のテキスト) は、行末までのものがすべてボールド体で、 そしてベースドキュメントサイズと同じ大きさのフォントで表示されます。 さらに、テキストの左側の余白はデフォルト値に戻されます。 .TP .BI ".TP [" nnn ] インデントされた、ラベルつきの段落を設定します。 インデント幅は、引数が与えられていれば .I nnn に設定されます (省略されていれば、デフォルトの単位は `n' です)。引数が与えられていなければ、インデント幅は デフォルト値に設定されます。 このマクロの後に続いたテキストの 1 行目は、 左詰めに表示する文字列として解釈され、 ラベルとして使用するのに適切なものとなります。 これは段落の一部であるとは解釈はされませんので、 引き続く入力行のテキストで 1 行目を満たそうとはしません。 それでも、ラベルがインデント幅ほど広がっていない場合には、 同じ行から段落が始まり (ただし、インデントはされます)、次の 行へと続いていきます。 ラベルがインデント幅よりも広い場合は、段落の説明部分は ラベルの次の行から始まり、すべてインデントされます。 ラベルのフォントの形もサイズもデフォルト値には設定されない ことに注意してください。これに対して、残りのテキストは デフォルトのフォント設定になります。 .B TP マクロは、あなたが今ちょうど読んでいるこの解説に使用されている マクロです。 .TP .B .LP .TQ .B .PP .TQ .B .P これらのマクロは、共通の別名です。 これらのうちのどれを使用しても現在の位置で行を打ち切ります。 そして、その後に .B PD マクロで指定した量だけ垂直方向にスペースを置きます。 -フォントのサイズおよび形はデフォルト値に戻されます +フォントのサイズおよび形はデフォルト値に戻されます (10pt ローマン体)。 最後に、現在の左側の余白の量を復元します。 .TP .BI ".IP [" designator "] [" nnn ] インデントされた段落を設定します。その際、 .I designator を段落の始まりに印をつけるためのタグとして使用します。 インデント幅は、引数が与えられている場合は .I nnn に設定されます (デフォルトの単位は `n' です)。 引数が与えられていない場合は、デフォルトのインデント幅が 使用されます。 この段落 (ただし、指示子 (designator) を含まず) の フォントサイズおよびフェースはデフォルト値に戻されます。 特定のインデントをするが指示子をつけない段落を開始するには、 第 2 引数に `""' (ダブルクォート 2 つ) を使用してください。 .IP 例えば次の段落は、`.IP\ \\(bu\ 4' を用いて、すべて 指示子として中点をつけて設定されます: .RS .IP \(bu 4 .B IP は、リストを整形するために .B man で使用される 3 つのマクロのうちの 1 つです。 .IP \(bu 4 .B HP は、また別のマクロです。 このマクロは、左側にぶら下げインデントされた段落を生成します。 .IP \(bu 4 .B TP は、また別のマクロです。 このマクロは、インデントされないラベルを生成し、その後に インデントされた段落が続きます。 .RE .TP .BI ".HP [" nnn ] 左側にぶら下げインデントされた段落を設定します。 引数が与えられている場合、インデント幅は .I nnn に設定されます (デフォルトの単位は `n' です)。 引数が与えられていない場合、デフォルトのインデント幅が 使用されます。 フォントサイズおよびフェースはデフォルト値に戻されます。 次の段落は、インデント幅を\ 4 に設定されているときの このマクロの効果を示したものです: .RS .HP 4 この段落は、 .B HP マクロを実行したあとの段落です。 見ての通り、このマクロは、最初の行を除いた行すべてが インデントされた段落を生成しています。 .RE .TP .BI ".RS [" nnn ] このマクロは、値が与えられていれば (デフォルト単位は `n' です) その値だけ左側の余白を右に移動します。 値が与えられていなければ、デフォルトのインデント幅が 使用されます。 .B RS マクロの呼び出しは入れ子にできます。 .TP .BI ".RE [" nnn ] このマクロは、左側の余白を .IR nnn レベルまで戻します。引数が与えられていなければ、 このマクロはレベルを 1 つだけ戻します。 第 1 レベル (すなわち、まだ .B RS を呼び出していない) は番号\ 1 を持っており、 .B RS マクロを呼び出すごとにレベルが\ 1 ずつ増加します。 .PP まとめると、次のマクロは、垂直方向にスペースを入れた 行の折り返しを行います (スペースの量は .B PD -マクロを使用すると変更できます): +マクロを使用すると変更できます): .BR SH , .BR SS , .BR TP , .B LP .RB ( PP , .BR P ), .BR IP , .BR HP 。 マクロ .B RS および .B RE も行を折り返しますが、垂直方向にスペースを入れません。 . .SH "フォントを設定するためのマクロ" . 標準フォントはローマン体です。そして、デフォルトのテキストサイズは 10\ ポイントです。 .TP .BI ".SM [" text ] 同じ行にあるテキストあるいは次の行にあるテキストが、 デフォルトのフォントよりも 1 ポイントだけ小さいフォントで 表示されるようになります。 .TP .BI ".SB [" text ] 同じ行にあるテキストあるいは次の行にあるテキストが、 ボールド体のフォントで、そしてデフォルトのフォントよりも 1 ポイントだけ小さいフォントで表示されるようになります。 .TP .BI ".BI " text 同じ行にあるテキストが、ボールド体とイタリック体を 交互に使って表示されるようになります。 テキストはマクロ呼び出しと同じ行にあることが必要です。 したがって、 .RS .IP \&.BI this "word and" that .PP という行は、`this' と `that' がボールド体で表示され、 それに対して `word and' の部分はイタリック体で 表示されます。 .RE .TP .BI ".IB " text テキストが、イタリック体とボールド体を交互に使って 表示されるようになります。テキストはマクロ呼び出しと 同じ行にあることが必要です。 .TP .BI ".RI " text マクロ呼び出しと同じ行にあるテキストが、ローマン体と イタリック体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。 .TP .BI ".IR " text マクロ呼び出しと同じ行にあるテキストが、イタリック体と ローマン体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。 .TP .BI ".BR " text マクロ呼び出しと同じ行にあるテキストが、ボールド体と ローマン体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。 .TP .BI ".RB " text マクロ呼び出しと同じ行にあるテキストが、ローマン体と ボールド体を交互に使って表示されるようになります。 テキストは、マクロ呼び出しと同じ行にあることが必要です。 .TP .BI ".R [" text ] .I text がローマン体フォントで表示されるようになります。 マクロが呼び出された行にテキストがない場合は、次の行の テキストがローマン体で表示されます。 これが、他のマクロを処理し終わったときに返されるテキストの デフォルトのフォントです。 .TP .BI ".B [" text ] .I text がボールド体で表示されるようになります。 マクロが呼び出された行にテキストがない場合は、次の行の テキストがボールド体で表示されます。 .TP .BI ".I [" text ] .I text がイタリック体で表示されるようになります。 マクロが呼び出された行にテキストがない場合は、次の行の テキストがイタリック体で表示されます。 . .SH "その他" . .B grohtml を除いた出力デバイス用のインデント幅はすべて 7.2n です。 grohtml の場合はインデントを無視します。 .TP .B .DT 0.5 インチごとにタブを設定します。 このマクロは常に .B TH リクエスト中で呼ばれるため、タブ位置が変更された場合に限って 呼び出すことには意味があります。 .TP .BI ".PD [" nnn ] 新しい段落 (セクション) の前のスペースを調整します。 オプションの引数は、スペースの量を与えます (デフォルトの単位は `v')。 パラメータ無しの場合、この値はデフォルト値に戻されます (tty デバイスでは 1 行で、それ以外では 0.4v)。 このリクエストは、 .BR SH , .BR SS , .BR TP , .B LP (それぞれ \& .B PP および .BR P ), .BR IP , .BR HP マクロに影響を与えます。 .PP 次の文字列が定義されています: .TP .B \e*S デフォルトのフォントサイズに戻します。 .TP .B \e*R 「登録」マークです。 .TP .B \e*(Tm 「商標」マークです。 .TP .B \e*(lq .TQ .B \e*(rq 左および右クォートです。 これは、それぞれ `\e(lq' と `\e(rq' と同じです。 .PP .B tbl あるいは .B eqn のようなプリプロセッサが必要な場合、マニュアルページの 1 行目を次のように見えるようにする例になります: .PP .RS .BI .\e"\ word .RE .PP ダブルクォートの後には空白文字 1 つが入ることに注意してください。 .I word は、必要なプリプロセッサを表す文字で成り立っています。 `e' は .BR eqn を表し、 `r' は -.BR refer +.BR refer を、そして `t' は .BR tbl を表します。 最近の .B man プログラムの実装では、この 1 行目を読んで自動的に正しい プリプロセッサを呼び出します。 . .SH 関連ファイル .TP .B man.tmac .TQ .B an.tmac これらは、 .BR andoc.tmac を呼び出すラッパファイルです。 .TP .B andoc.tmac このファイルは、 .B man マクロまたは .B mdoc パッケージのいずれを使用すべきかを判定します。 .TP .B an-old.tmac 全 .B man マクロが、このファイルに含まれます。 .TP .B man.local ローカルの修正とカスタマイズは、このファイルに入れます。 . .SH "関連項目" . .B man マクロは、 -.I groff +.I groff リクエストの集まりでできていますので、原理的には、 必要がある場合には自己流の .I groff リクエストを作って .B man の機能を追加することができます。 これらのリクエストの完全なリストは WWW ページ .PP .ce 1 http://www.cs.pdx.edu/~trent/gnu/groff/groff_toc.html から入手できます。 .PP .BR tbl (1), .BR eqn (1), .BR refer (1), .BR man (1) . .SH 作者 . このマニュアルページは、本来 Debian GNU/Linux システム用に Susan G. Kleinmann が書いたものです。 それを Werner Lemberg が修正し、更新しました。 それが今では GNU troff 配布物の一部になっています。 diff --git a/ja_JP.eucJP/man/man7/groff_me.7 b/ja_JP.eucJP/man/man7/groff_me.7 index 9e6939c3d4..d91406e2fd 100644 --- a/ja_JP.eucJP/man/man7/groff_me.7 +++ b/ja_JP.eucJP/man/man7/groff_me.7 @@ -1,280 +1,280 @@ .\" Copyright (c) 1980 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms are permitted .\" provided that the above copyright notice and this paragraph are .\" duplicated in all such forms and that any documentation, .\" advertising materials, and other materials related to such .\" distribution and use acknowledge that the software was developed .\" by the University of California, Berkeley. The name of the .\" University may not be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" @(#)me.7 6.4 (Berkeley) 4/13/90 .\" .\" Modified for groff by jjc@jclark.com .\" -.\" $FreeBSD:$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_me.7,v 1.7 2001/04/30 03:48:36 horikawa Exp $ .\" .hc % -.TH GROFF_ME 7 "26 April 2001" "Groff Version 1.17" +.TH GROFF_ME 7 "27 April 2001" "Groff Version 1.17" .UC 3 .SH 名称 groff_me \- 論文を整形するための troff マクロ .SH 書式 .B "groff \-me" [ options ] file ... .br .B "troff \-me" [ options ] file ... .SH 解説 本マニュアルページは、 groff 文書整形システムの一部である GNU バージョン \-me マクロを解説します。 本バージョンは、GNU troff でも Unix troff でも使用可能です。 この .I troff マクロ定義パッケージは、 様々な書式の技術論文に対して、よくある形式の文書の整形機能を提供します。 .PP マクロリクエストの定義については後述します。 多くの .I troff リクエストは、本パッケージと組み合わせて使用すると危険ですが、 次のリクエストは、最初に .pp を使った後であれば問題なく使用する ことができます。 .nf .IP .ta \w'.sz +n 'u \&.bp 新しいページを開始する \&.br 出力行をここで分割する \&.sp n n 個の空白行を挿入する \&.ls n (行間) n=1 シングルスペース, n=2 ダブルスペース \&.na 右端を揃えない \&.ce n 次の n 行を中央揃えにする \&.ul n 次の n 行に下線を引く .fi .PP .I pic, .I eqn, .I refer, .I tbl といったプリプロセッサの出力を、入力として受け付けます。 .SH 関連ファイル /usr/share/tmac/me.tmac (e.tmac へのラッパファイル) .br /usr/share/tmac/e.tmac .SH 関連項目 .BR groff (1), .BR troff (1) .br \-me Reference Manual, Eric P. Allman .br Writing Papers with Groff Using \-me .tr &. .SH リクエスト 本リストは不完全です。 興味があるものの詳細については .I "The \-me Reference Manual" を参照してください。 .PP .ta \w'.eh \'x\'y\'z\' 'u +\w'初期値 'u +\w'行分割 'u .br .di x \ka .br .di .na .in \nau .ti 0 リクエスト 初期値 行分割 説明 .br .in \nau .ti 0 \&.(c - yes 中央揃えブロックの開始。 .ti 0 \&.(d - no 遅延テキストの開始。 .ti 0 \&.(f - no 脚注の開始。 .ti 0 \&.(l - yes リストの開始。 .ti 0 \&.(q - yes 大きな引用の開始。 .ti 0 \&.(x \fIx\fR - no .I x 番の索引項目の開始。 .ad .ti 0 \&.(z - no フローティングキープの開始。 .ti 0 \&.)c - yes 中央揃えブロックの終了。 .ti 0 \&.)d - yes 遅延テキストの終了。 .ti 0 \&.)f - yes 脚注の終了。 .ti 0 \&.)l - yes リストの終了。 .ti 0 \&.)q - yes 大きな引用の終了。 .ti 0 \&.)x - yes 索引項目の終了。 .ti 0 \&.)z - yes フローティングキープの終了。 .ti 0 \&.++ \fIm H\fR - no 論文の節の定義。 .I m は論文の部分を定義します。 .B C (章)、 .B A (付録)、 .B P (序文、例えば、アブストラクト、目次など)、 .B B (参考文献)、 .B RC (各章において 1 ページ目から開始する章)、 .B RA (1 ページ目から開始する付録) のいずれかです。 .ti 0 \&.+c \fIT\fR - yes 章 (または付録等 .++ で設定したもの) の開始。 .I T は章のタイトルです。 .ti 0 \&.1c 1 yes 新しいページを 1 コラムで整形。 .ti 0 \&.2c 1 yes 2 コラムで整形。 .ti 0 \&.EN - yes .I eqn や .I neqn が生成した式の後の空白。 .ti 0 \&.EQ \fIx y\fR - yes 式の前に置くことにより、 行を分割して空白を加えます。式番号は .IR y です。 省略可能な引数 \fIx\fR は、 .I I の場合式のインデント (デフォルト) を、 .I L の場合式の左揃えを、 .I C の場合式の中央揃えを、それぞれ意味します。 .ti 0 \&.GE - yes \fIgremlin\fP ピクチャの終了。 .ti 0 \&.GS - yes \fIgremlin\fP ピクチャの開始。 .ti 0 \&.PE - yes \fIpic\fP ピクチャの終了。 .ti 0 \&.PS - yes \fIpic\fP ピクチャの開始。 .ti 0 \&.TE - yes 表の終了。 .ti 0 \&.TH - yes 表の先頭部分の終了。 .ti 0 \&.TS \fIx\fR - yes 表の開始; \fIx\fR が .I H の場合、表の先頭部分を繰り返し使用します。 .ti 0 \&.b \fIx\fR no no .I x をボールドで表示します; 引数が無い場合にはボールドに移行します。 .ti 0 \&.ba \fI+n\fR 0 yes ベースインデントを .I n だけ増加させます。 このインデントは (段落のような) 通常のテキストのインデントをセットするために使用されます。 .ti 0 \&.bc no yes 新しいコラムの開始。 .ti 0 \&.bi \fIx\fR no no .I x をボールドイタリックで表示 (フィルしない場合のみ)。 .ti 0 \&.bu - yes 小球 (bullet) が付いた段落の開始。 .ti 0 \&.bx \fIx\fR no no \fIx\fR を箱の中に表示 (フィルしない場合のみ)。 .ti 0 \&.ef \fI\'x\'y\'z\'\fR \'\'\'\' no 偶数フッタを x y z にします。 .ti 0 \&.eh \fI\'x\'y\'z\'\fR \'\'\'\' no 偶数ヘッダを x y z にします。 .ti 0 \&.fo \fI\'x\'y\'z\'\fR \'\'\'\' no フッタを x y z にします。 .ti 0 \&.hx - no 次のページのヘッダとフッタを抑制します。 .ti 0 \&.he \fI\'x\'y\'z\'\fR \'\'\'\' no ヘッダを x y z にします。 .ti 0 \&.hl - yes 水平線の描画。 .ti 0 \&.i \fIx\fR no no .I x をイタリックにします。 .I x が無い場合、後続のテキストをイタリックにします。 .ti 0 \&.ip \fIx y\fR no yes ハンギングタグ .IR x を伴う、インデントされた段落を開始します。 インデントは半角 (n の幅) .I y 個分です (デフォルトは 5)。 .ti 0 \&.lp yes yes 左揃えしたブロックの段落の開始。 .ti 0 \&.np 1 yes 数字の付いた段落の開始。 .ti 0 \&.of \fI\'x\'y\'z\'\fR \'\'\'\' no 奇数フッタを x y z にします。 .ti 0 \&.oh \fI\'x\'y\'z\'\fR \'\'\'\' no 奇数ヘッダを x y z にします。 .ti 0 \&.pd - yes 遅延テキストの表示。 .ti 0 \&.pp no yes 段落の開始。 最初の行はインデントされます。 .ti 0 \&.r yes no 後続のテキストをローマンにします。 .ti 0 \&.re - no タブをデフォルト値にリセットします。 .ti 0 \&.sh \fIn x\fR - yes 節の見出しが続きます。 フォントは自動的にボールドになります。 .I n は節のレベルであり、 .I x は節のタイトルです。 .ti 0 \&.sk no no 次のページを空白のままとします。 次の 1 ページのみに有効です。 .ti 0 \&.sm \fIx\fR - no .I x をより小さなポイントサイズでセットします。 .ti 0 \&.sz \fI+n\fR 10p no ポイントサイズを .I n ポイントだけ増加させます。 .ti 0 \&.tp no yes タイトルページの開始。 .ti 0 \&.u \fIx\fR - no 引数に下線を引きます (\fItroff\fR においても)。 (フィルしない場合のみ)。 .ti 0 \&.uh - yes .sh に似ていますが、番号を付けません。 .ti 0 \&.xp \fIx\fR - no .I x 番の索引項目の表示。 .SH 日本語訳 堀川和雄 diff --git a/ja_JP.eucJP/man/man7/groff_ms.7 b/ja_JP.eucJP/man/man7/groff_ms.7 index 68956241be..d8a9b81fb8 100644 --- a/ja_JP.eucJP/man/man7/groff_ms.7 +++ b/ja_JP.eucJP/man/man7/groff_ms.7 @@ -1,266 +1,265 @@ -.\" $FreeBSD$ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_ms.7,v 1.8 2001/04/30 03:48:36 horikawa Exp $ -.TH GROFF_MS 7 "26 April 2001" "Groff Version 1.17" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/groff_ms.7,v 1.9 2001/05/14 01:09:42 horikawa Exp $ +.TH GROFF_MS 7 "27 April 2001" "Groff Version 1.17" .SH 名称 groff_ms \- groff ms マクロ .SH 書式 .B groff .B \-ms [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .br .B groff .B \-m\ ms [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .SH 解説 このマニュアルページは GNU バージョンの ms マクロの解説をします。 このマクロは、groff 文書整形システムの一部分です。 この groff ms マクロは、4.3 .SM BSD Unix ms マクロの文書化された機能と互換であるように設計されています。 しかし、次のような制限があります: .IP \(bu groff ms の内部は Unix ms の内部とは同じではありません。 したがって、Unix ms の実装の細部に依存する書式については、 機能しないとしてももっともでしょう。 .IP \(bu タイプライタ様のデバイスには、サポートはありません。 .IP \(bu バークレイ方言、特に、 .B TM や .B CT マクロは、実装されていません。 .IP \(bu groff ms では、 .\" ページ間の カットマーク .\" (.CM マクロ etc.) は提供しません。 .IP \(bu 重複した行送りは許されません (代わりに、大きな垂直行送りを使用して下さい)。 .IP \(bu groff ms は、互換モードでは機能しません (例えば、 .B \-C オプションなど)。 .IP \(bu エラー処理の方針については、groff ms は、沈黙したままエラーを無視 したりせず、エラーを検出してレポートします。 .LP groff ms マクロは、GNU troff の多くの機能を利用しています。 したがって、これは他のいかなる troff によっても使用できません。 .LP ベル研の方言は、 .SM BSD ms マクロにも groff ms マクロのいずれにも実装されていません。 .LP ある Unix ms の文書には、数値レジスタの .B CW と .B GW とが、それぞれカラム幅とガター幅 .\" (マルチカラム間の幅) を制御する為に 使用できると述べられています。 しかし、ここでは事実はそうではありません。 これらの数値レジスタは、groff ms では使用できません。 .LP リセットを引き起こすマクロはインデントを設定します。 インデントを変更するマクロはインデントを増減するのではなく、 むしろインデントを絶対的に設定します。 このことによって、独自のマクロを追加定義している文書に 問題が生じるかも知れません。 これを解決するには、 .B in リクエストを用いずに、代わりに .B RS や .B RE マクロを用いて下さい。 .LP 数値レジスタの .B GS は、groff ms マクロによって 1 に設定されます。 しかし、この数値レジスタは Unix ms マクロでは使用されていません。 このレジスタの目的は、 Unix ms か groff ms かのどちらによってフォーマットされているのかを確定する 必要のある文書によって利用されることです。 .LP 脚注はキープやディスプレイの中で安全に使用できるように実装されています。 自動的に番号を割り振る脚注をフローティングキープの中で使うことは、推奨 できません。 .B \e** と 対応する .BR .FS との間にもう一つの .B \e** があるようにすると安全です。 その際には、次のようなことだけが要求されています。 つまり、各 .B .FS は対応する .B \e** の後に出現することと、 対応する .B \e** の置かれる順番と同じ順番で .B .FS が出現することです。 .LP 文字列の .B \e*{ や .B \e*} は、上付き文字を開始したり終了したりするのに使うことができます。 .LP いくつかの Unix V10 ms の機能が実装されています。 .BR B , .BR I や .B BI マクロでは、第 3 番目の引数がオプションとして指定できます。 この引数は、現在のフォントで最初の引数の直前に印字されます。 .B B と同じようなマクロ .B CW があります。 これは、定幅フォントにします。 .LP 次の文字列は、groff ms マクロを英語以外の言語に適合させるために 再定義することができます。 .LP .nf .ta \w'REFERENCES'u+2n 文字列 デフォルト値 .sp .3v REFERENCES References ABSTRACT ABSTRACT TOC Table of Contents MONTH1 January MONTH2 February MONTH3 March MONTH4 April MONTH5 May MONTH6 June MONTH7 July MONTH8 August MONTH9 September MONTH10 October MONTH11 November MONTH12 December .fi .LP フォントファミリは、リセットで文字列 .BR FAM から取られて置き直されます。 初期化時にこの文字列が未定義であった場合は、現在のフォントファミリが 設定されます。 脚注のポイントサイズ、垂直行送り幅、そして段落間の行送り幅は、 数値レジスタの .BR FPS , .BR FVS , や .B FPD から取り出されます。 初期化時に、これらは、それぞれ .BR \en(PS-2 , .BR \en[FPS]+2 , および .B \en(PD/2 に等しく設定されます。 しかし、これらのレジスタのいずれかでも初期化前に定義されていれば、 そのレジスタは、これらの値に設定されません。 ( .B .hy リクエストによって設定される)ハイフネーションフラグは、 .B HY レジスタから取られて設定されます。 これが初期化時に定義されていない場合には、 .B HY レジスタは 14 に設定されます。 .LP 右詰めのディスプレイは .B ".DS R" および .BR .RD を用いて利用可能です。 .LP 次のような慣行がマクロ、文字列そして数値レジスタの名前に行なわれています。 groff ms マクロを使用する文書に利用出来る外部名は大文字と数字だけから なります。 内部的には、マクロはモジュールに分割されます。 ある一つのモジュールの中だけで使用される名前は、 .IB mudule * name\fR という形をしています。 定義されているモジュールの外部で使用される名前は、 .IB module @ name\fR という形をしています。 ある特別の環境に関わる名前は、 .IB environment : name\fR という形をしています。 これらの名前は、 .B par モジュールの中でのみ使われ、 .I name には、モジュールは接頭辞としてつきません。 組み合わされた名前で配列を実装するのに使われるものは、 .IB array ! index\fR という形をしています。 以上より groff ms では以下の名前を予約しています: .IP \(bu .BR * を含んでいる名前。 .IP \(bu .BR @ を含んでいる名前。 .IP \(bu .BR : を含んでいる名前。 .IP \(bu 大文字と数字だけを含んでいる名前。 .SH 関連ファイル .BR /usr/share/tmac/ms.tmac ( .B s.tmac へのラッパファイル) .br .B /usr/share/tmac/s.tmac .SH 関連項目 .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR ms (7) .\" Translated by Tetsuro FURUYA on Nov 24, 1998. diff --git a/ja_JP.eucJP/man/man7/hier.7 b/ja_JP.eucJP/man/man7/hier.7 index fa49c1a930..dad36676e1 100644 --- a/ja_JP.eucJP/man/man7/hier.7 +++ b/ja_JP.eucJP/man/man7/hier.7 @@ -1,753 +1,753 @@ .\" Copyright (c) 1990, 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. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man7/hier.7,v 1.29.2.7 2001/05/23 17:42:02 ru Exp % +.\" %FreeBSD: src/share/man/man7/hier.7,v 1.29.2.8 2001/07/21 09:16:53 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/hier.7,v 1.14 2001/05/14 01:09:42 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/hier.7,v 1.15 2001/06/25 02:02:59 horikawa Exp $ .Dd June 5, 1993 .Dt HIER 7 .Os .Sh 名称 .Nm hier .Nd ファイルシステムのレイアウト .Sh 解説 ファイルシステムの階層構成についての概略です。 .Bl -tag -width "/stand/" .It Pa / ファイルシステムのルートディレクトリ。 .It Pa /bin/ ユーザ用ユーティリティの基本的なもの。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /boot/ オペレーティングシステムのブートストラップ中に使用される プログラムと設定ファイル。 .Pp .Bl -tag -width defaults/ -compact .It Pa defaults/ デフォルトのブートストラップ用設定ファイル。 .Xr loader.conf 5 参照。 .El .It Pa /dev/ ブロックデバイスおよびキャラクタデバイスファイル。 .Pp .Bl -tag -width MAKEDEV -compact .It Pa MAKEDEV デバイスファイル作成用スクリプト。 .Xr MAKEDEV 8 参照。 -.It Pa fd/ +.It Pa fd/ ファイル記述子ファイル。 .Xr \&fd 4 参照。 .El .It Pa /etc/ システムの設定ファイル、およびスクリプト。 .Pp .Bl -tag -width "disklabels/" -compact .It Pa defaults/ デフォルトのシステム設定ファイル。 .Xr rc 8 参照。 .It Pa gnats/ gnats 設定ファイル。 .Xr send-pr 1 参照。 .It Pa isdn/ isdn4bsd の設定ファイル。 .Xr isdnd 8 参照。 -.It Pa kerberosIV/ +.It Pa kerberosIV/ kerberos バージョン IV の設定ファイル。 .Xr kerberos 1 参照。 .It Pa localtime ローカルタイムゾーン情報。 .Xr ctime 3 参照。 .It Pa mail/ スパムフィルタの情報。 -.It Pa mtree/ +.It Pa mtree/ mtree 設定ファイル。 .Xr mtree 8 参照。 -.It Pa namedb/ +.It Pa namedb/ named 設定ファイル。 .Xr named 8 参照。 .It Pa periodic/ .Xr cron 8 により、毎日/毎週/毎月実行されるスクリプト。 .Xr periodic 8 参照。 .It Pa ppp/ -.Xr ppp 8 +.Xr ppp 8 ppp 設定ファイル。 .Xr ppp 8 参照。 .It Pa ssl/ OpenSSL 設定ファイル。 .It Pa uucp/ uucp 設定ファイル。 .Xr uucp 1 参照。 .El .It Pa /kernel カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa /modules/ ロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .It Pa /mnt/ 通常、システム管理者が一時的なマウントポイントとして使用する 空のディレクトリ。 .It Pa /proc/ プロセスファイルシステム。 .Xr procfs 5 , .Xr mount_procfs 8 参照。 .It Pa /root/ root のホームディレクトリ。 .It Pa /sbin/ システムプログラム、および基本的な管理者用ユーティリティ。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /stand/ スタンドアロン環境で使用されるプログラム。 -.It Pa /tmp/ +.It Pa /tmp/ テンポラリファイル。 .It Pa /usr/ ユーザ用ユーティリティ、およびアプリケーションの大部分を含む。 .Pp .Bl -tag -width "libdata/" -compact .It Pa bin/ 一般的なユーティリティ、プログラミングツール、アプリケーション。 .It Pa games/ 有用でちょっとふざけたプログラム。 .It Pa include/ 標準 C 言語インクルードファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Pa arpa/ インターネットサービスプロトコルのための C 言語インクルードファイル。 .It Pa cam/ Common Access Methods Layer 用 C インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It scsi/ CAM 上の SCSI デバイス。 .El .It Pa dev/ 様々な .Fx デバイスのプログラミング用の C インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa ppbus/ パラレルポートバス。 .Xr ppbus 4 参照。 .It usb/ USB サブシステム。 .El .It Pa fs/ .Bl -tag -width "kerberosIV/" -compact .It Pa smbfs/ SMB/CIFS ファイルシステム。 .El .It Pa g++/ GNU C++ 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa std/ GNU C++ 言語 libstdc++ インクルードファイル。 .El .It Pa isc/ ISC ユーティリティライブラリ libisc インクルードファイル。 .It Pa isofs/ .Bl -tag -width "kerberosIV/" -compact .It Pa cd9660/ iso9660 形式ファイルシステム。 .El .It Pa kerberosIV/ kerberos 認証パッケージ用 C 言語インクルードファイル。 .Xr kerberos 1 参照。 .It Pa machine/ マシン固有機能の C 言語インクルードファイル。 .It Pa msdosfs/ MS-DOS ファイルシステム。 .It Pa net/ その他のネットワーク機能用 C 言語インクルードファイル。 .It Pa netatalk/ Appletalk プロトコル。 .It Pa netatm/ ATM のインクルードファイル。 .Xr atm 8 参照。 .It Pa netinet/ インターネット標準プロトコル用 C 言語インクルードファイル。 .Xr inet 4 参照。 .It Pa netinet6/ インターネットプロトコルバージョン 6 用の C インクルードファイル。 .Xr inet6 4 参照。 .It Pa netipx/ IPX/SPX プロトコルスタック。 .It Pa netkey/ カーネルの鍵管理サービス。 .It Pa netns/ Xerox 社の NS プロトコル。 .It Pa netsmb/ SMB/CIFS リクエスタ。 .It Pa netnatm/ NATM インクルードファイル。 .Xr natm 4 参照。 .It Pa nfs/ NFS (Network File System) 用 C 言語インクルードファイル。 .It Pa objc/ Objective C のインクルードファイル。 .It Pa posix4/ POSIX リアルタイム拡張のインクルードファイル。 .Xr p1003_1b 9 参照。 .It Pa openssl/ OpenSSL (Cryptography/SSL ツールキットの) ヘッダ。 .It Pa pccard/ PC-CARD コントローラ。 .It Pa protocols/ Berkeley サービスプロトコル用 C 言語インクルードファイル。 .It Pa readline/ ユーザからの一行入力機能 (編集機能付き)。 .Xr readline 3 参照。 .It Pa rpc/ リモート手続き呼び出し。 .Xr rpc 3 参照。 .It Pa rpcsvc/ RPC サービス構造の定義。 .Xr rpc 3 参照。 .It Pa security/ PAM。 .Xr pam 8 参照。 .It Pa ss/ MIT SIPB .Sq サブシステム ライブラリ。Kerberos IV の一部。 .It Pa sys/ システム用 C 言語インクルードファイル (カーネルデータ構造)。 .\" .It Pa tcl/ .\" Tcl 言語。 .\" .Xr Tcl n .\" 参照。 .\" .Bl -tag -width "kerberosIV/" -compact .\" .It Pa generic/ .\" ??? .\" .It Pa unix/ .\" ??? .\" .El .It Pa ufs/ UFS (U-word File System) 用 C 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa ffs/ Fast filesystem。 .It Pa mfs/ メモリファイルシステム。 .Xr mount_mfs 8 参照。 .It Pa ufs/ UFS ファイルシステム。 .El .It Pa vm/ 仮想記憶。 .Xr vmstat 8 参照。 .El .Pp .It Pa lib/ アーカイブライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out アーカイブライブラリ。 .It Pa compat/ 互換性維持用の共有ライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 後方互換ライブラリ。 .El .El .Pp .It Pa libdata/ その他のユーティリティデータファイル。 .Bl -tag -width Fl -compact .It Pa doscmd/ doscmd が使用するファイル (ドライバ、フォント等)。 .Xr doscmd 1 参照。 .Bl -tag -width 6n -compact .It Pa fonts/ doscmd が使用するフォント。 .El .It Pa gcc/ ??? .It Pa ldscripts/ リンカスクリプト。 .Xr ld 1 参照。 .It Pa lint/ さまざまな lint 用ライブラリ (事前に構築されている)。 .Xr lint 1 参照。 .It Pa msdosfs/ 文字集合変換表。 .It Pa perl/ .Bl -tag -width Fl -compact .It Pa 5.00503/ Perl バージョン 5.00503 のための Perl モジュール。 .Xr perl 1 参照。 .El .It Pa stallion/ ダウンロードファームウェアのイメージが保持されている。 .El .Pp .It Pa libexec/ システムデーモンおよびシステムユーティリティ。 (他のプログラムから実行されるもの)。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 実行形式を操作するユーティリティ。 .It Pa elf/ ELF 実行形式を操作するユーティリティ。 .It Pa lpr/ LP プリントシステムのユーティリティとフィルタ。 .Xr lpr 1 参照。 .It Pa sm.bin/ sendmail 用制限付きシェル。 .Xr smrsh 8 参照。 .It Pa uucp/ uucp ユーティリティ。 .Xr uucp 1 参照。 .El .Pp .It Pa local/ ローカルの実行可能ファイル、ライブラリなど。 .Fx ports フレームワークのデフォルトのインストール先としても使用されます。 local/以下では、 .Xr hier 7 で /usr に関して 記述された一般的な配置が使用されます。 例外は、man ディレクトリ (local/share/ の下ではなく local/ の直下に存在)、 ports のドキュメント (share/doc// に置かれます)、 /usr/local/etc (/etc の模倣) です。 .It Pa obj/ アーキテクチャ依存のターゲットツリー。 /usr/src ツリーを構築することで作成される。 .It Pa ports/ .Fx ports コレクション (オプション扱い)。 .It Pa sbin/ (ユーザによって実行される) システムデーモン、およびシステムユーティリティ。 .It Pa share/ アーキテクチャに依存しないファイル。 .Pp .Bl -tag -width "calendar/" -compact .It Pa calendar/ 事前に組み立てられた calendar ファイルいろいろ。 .Xr calendar 1 参照。 .It Pa dict/ 単語リスト。 .Xr look 1 参照。 .Pp .Bl -tag -width Fl -compact .It Pa words 一般の単語 .It Pa web2 Webster's 2nd International からの単語 .It Pa papers/ リファレンスデータベース。 .Xr refer 1 参照。 .It Pa special/ 特殊な語のリスト。 .Xr spell 1 参照。 .El .Pp .It Pa doc/ その他の文書。 ( .Tn USENIX association から入手できる) .Bx マニュアルのほとんどのソース。 .Bl -tag -width Fl -compact .It Pa FAQ/ しばしば行なわれる質問とその答え (Frequently Asked Questions)。 .It Pa IPv6/ IPv6 の実装に関する注。 .It Pa bind/ BIND (Berkeley Internet Name Domain) に属する文書。 .It Pa es/ /usr/share/doc 中の文書のスペイン語への翻訳。 .It Pa handbook/ .Fx ハンドブック .It Pa ja/ /usr/share/doc 中の文書の日本語への翻訳。 .It Pa ncurses/ ncurses に属する HTML 文書。 .Xr ncurses 3X 参照 .It Pa ntp/ Network Time Protocol に属する HTML 文書。 .It Pa papers/ UNIX 関連の論文 .It Pa psd/ UNIX プログラマ用補助文書 .It Pa ru/ /usr/share/doc 中の文書のロシア語への翻訳。 .It Pa smm/ UNIX システム管理者用マニュアル .It Pa tutorials/ .Fx チュートリアル。 .It Pa usd/ UNIX ユーザ用補助文書 .It Pa zh/ /usr/share/doc 中の文書の中国語への翻訳。 .El .Pp .It Pa examples/ 一般ユーザやプログラマ向けのさまざまな用例。 .It Pa games/ 各種のゲームで使用される ASCII テキストファイル。 .It Pa groff_font/ デバイス名ごとに用意されたデバイス記述ファイル。 .It Pa info/ GNU Info ハイパーテキストシステム。 .It Pa isdn/ ISDN。 .It Pa libg++/ libg++ genclass のプロトタイプ/テンプレートクラスファイル。 .It Pa locale/ ローカル化関係のファイル。 .Xr setlocale 3 参照。 .It Pa man/ マニュアルページ。 .It Pa me/ me マクロパッケージで使用するマクロ。 .Xr me 7 参照。 .It Pa misc/ その他システム全体の ASCII テキストファイル。 .Bl -tag -width Fl -compact .It Pa fonts/ ??? .It Pa pcvtfonts/ pcvt フォント。 .Xr pcvt 4 参照。 .It Pa termcap 端末の特性を記述するデータベース。 .Xr termcap 5 参照。 .El .It Pa mk/ make 用テンプレート。 .Xr make 1 参照。 .It Pa nls/ 各国語サポート (National Lanuguage Support) ファイル。 .Xr mklocale 1 参照。 .It Pa pcvt/ pcvt の文書とその他の例。 .Xr pcvt 4 参照。 .It Pa perl/ perl ライブラリファイル。 .Xr perl 1 参照。 -.It Pa sendmail/ +.It Pa sendmail/ sendmail の設定ファイル。 .Xr sendmail 8 参照。 .It Pa skel/ 新しいアカウントのための . (ドット) ファイルの例。 .It Pa syscons/ syscons が使用するファイル。 .Xr syscons 4 参照。 .Bl -tag -width "scrnmaps/xx" -compact .It Pa fonts/ コンソールフォント。 .Xr vidcontrol 1 と .Xr vidfont 1 参照。 .It Pa keymaps/ コンソールキーボードマップ。 .Xr kbdcontrol 1 と .Xr kbdmap 1 参照。 .It Pa scrnmaps/ コンソールスクリーンマップ。 .El .It Pa tabset/ 各種端末用タブ記述ファイル。termcap ファイルの中で使用される。 .Xr termcap 5 参照。 .It Pa tmac/ テキスト処理マクロ。 .Xr nroff 1 および .Xr troff 1 参照。 .It Pa vi/ .Xr vi 1 のローカライズサポートとユーティリティ。 .It Pa zoneinfo/ タイムゾーン設定情報。 .Xr tzfile 5 参照。 .El .It Pa src/ BSD とサードバーティとローカルのソースファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Pa bin/ /bin 内のファイルのソース。 .It Pa contrib/ 寄贈されたソフトウェアのソース。 .It Pa crypto/ 寄贈された暗号化ソフトウェアのソース。 .It Pa etc/ /etc 内のファイルのソース。 .It Pa games/ /usr/games 内のファイルのソース。 .It Pa gnu/ GNU Public Licence で保護されたユーティリティ。 .It Pa include/ /usr/include 内のファイルのソース。 .It Pa kerberosIV/ Kerberos version IV のソース。 .It Pa lib/ /usr/lib 内のファイルのソース。 .It Pa libexec/ /usr/libexec 内のファイルのソース。 .It Pa release/ .Fx のリリースを生成するために必要なファイル。 .It Pa sbin/ /sbin 内のファイルのソース。 .It Pa secure/ /usr/src/crypto 中のファイル用のビルドディレクトリ。 .It Pa share/ /usr/share 内のファイルのソース。 .It Pa sys/ カーネルのソースファイル。 .It Pa tools/ .Fx のメンテナンスとテストに使用するツール。 .It Pa usr.bin/ /usr/bin 内のファイルのソース。 .It Pa usr.sbin/ /usr/sbin 内のファイルのソース。 .El .Pp .It Pa X11R6/ X11R6 配布パッケージの実行可能形式ファイル、ライブラリなど (オプション扱い)。 .Bl -tag -width "include/" -compact .It Pa bin/ X11R6 のバイナリ (サーバ、ユーティリティ、ローカルな packages/ports)。 .It Pa etc/ X11R6 の設定ファイルとスクリプト。 .It Pa include/ X11R6 のインクルードファイル。 .It Pa lib/ X11R6 のライブラリ。 .It Pa man/ X11R6 のマニュアルファイル。 .It Pa share/ アーキテクチャ独立なファイル。 .El .El .It Pa /var/ さまざまな用途のログファイル、一時ファイル、遷移的ファイル、 スプールファイル。 .Pp .Bl -tag -width "preserve/" -compact -.It Pa account/ +.It Pa account/ システムアカウンティングファイル。 .Pp .Bl -tag -width Fl -compact .It Pa acct 実行アカウントファイル。 .Xr acct 5 参照。 .El .Pp .It Pa at/ 指定した時間に動くコマンドのスケジュールファイル。 .Xr \&at 1 参照。 .Bl -tag -width "preserve/" -compact .It Pa jobs/ ジョブファイルを含むディレクトリ。 .It Pa spool/ 出力スプールファイルを含むディレクトリ。 .El .Pp .It Pa backups/ さまざまなバックアップファイル。 .It Pa crash/ カーネルクラッシュダンプを保存するデフォルトのディレクトリ。 .Xr crash 8 と .Xr savecore 8 参照。 .It Pa cron/ cron が使用するファイル。 .Xr cron 8 参照。 .Bl -tag -width "preserve/" -compact .It Pa tabs/ crontab ファイル。 .Xr crontab 5 参照。 .El .Pp -.It Pa db/ +.It Pa db/ システム固有のさまざまなデータベースファイル。自動生成される。 -.It Pa games/ +.It Pa games/ さまざまなゲームのステータスおよびスコアファイル。 -.It Pa log/ +.It Pa log/ さまざまなシステムログファイル。 .Pp .Bl -tag -width Fl -compact .It Pa wtmp login/logout ログ。 .Xr wtmp 5 参照。 .El .Pp -.It Pa mail/ +.It Pa mail/ ユーザのメールボックスファイル。 .It Pa preserve/ エディタの不慮の死の際に保存されるファイルを一時的に安置するディレクトリ。 -.Xr \&ex 1 +.Xr \&ex 1 参照。 .It Pa msgs/ システムメッセージのデータベース。 .Xr msgs 1 参照。 -.It Pa quotas/ +.It Pa quotas/ ファイルシステムのクォータ情報のファイル。 .It Pa run/ ブートされてからのシステムについての各種情報を記述した システム情報ファイル。 .Pp .Bl -tag -width Fl -compact .It Pa utmp 現在のユーザについてのデータベース。 .Xr utmp 5 参照。 .El .Pp -.It Pa rwho/ +.It Pa rwho/ rwho データファイル。 .Xr rwhod 8 , .Xr rwho 1 , .Xr ruptime 1 参照。 -.It Pa spool/ +.It Pa spool/ さまざまなプリンタ、メールシステムのスプールディレクトリ。 .Pp .Bl -tag -width Fl -compact -.It Pa ftp/ +.It Pa ftp/ 一般に ~ftp となる部分。anonymous ftp のルートディレクトリ。 -.It Pa mqueue/ +.It Pa mqueue/ 配送されていないメールのキュー。 .Xr sendmail 8 参照。 .It Pa output/ ラインプリンタ用スプールディレクトリ。 -.It Pa secretmail/ +.It Pa secretmail/ 機密メール用スプールディレクトリ。 .Xr xget 1 参照。 -.It Pa uucp/ +.It Pa uucp/ uucp スプールディレクトリ。 .It Pa uucppublic/ 一般に ~uucp となる部分。共用 uucp テンポラリディレクトリ。 .El .Pp -.It Pa tmp/ +.It Pa tmp/ システムがリブートするまでの間保持されるテンポラリファイル。 .Bl -tag -width Fl -compact .It Pa vi.recover/ vi のリカバリファイルを格納しておくディレクトリ。 .El .It Pa yp NIS マップ。 .El .El .Sh 関連項目 .Xr apropos 1 , .Xr find 1 , .Xr finger 1 , .Xr grep 1 , .Xr ls 1 , .Xr whatis 1 , .Xr whereis 1 , .Xr which 1 , .Xr fsck 8 .Sh 歴史 .Nm マニュアルページは .At v7 で登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 98-12-26 diff --git a/ja_JP.eucJP/man/man7/ports.7 b/ja_JP.eucJP/man/man7/ports.7 index 4818f38200..74e4a7eaa5 100644 --- a/ja_JP.eucJP/man/man7/ports.7 +++ b/ja_JP.eucJP/man/man7/ports.7 @@ -1,393 +1,393 @@ .\" .\" Copyright (c) 1997 David E. O'Brien .\" .\" 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/man7/ports.7,v 1.17.2.4 2001/05/02 02:05:24 dd Exp % +.\" %FreeBSD: src/share/man/man7/ports.7,v 1.17.2.5 2001/07/21 09:16:53 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/ports.7,v 1.14 2001/05/14 01:09:42 horikawa Exp $ .Dd January 25, 1998 .Dt PORTS 7 .Os FreeBSD .Sh 名称 .Nm ports .Nd 寄贈されたアプリケーション .Sh 解説 .Fx .Nm ports コレクション によって、ユーザや管理者は簡単にアプリケーションをインストールする ことができます。 .Em port はそれぞれ、オリジナルのソースコードを BSD 上でコンパイルして実行 させるために必要なパッチのすべてを含んでいます。アプリケーションの コンパイルは、 port のディレクトリで .Ic make build と入力するだけで簡単にできます。 port の .Ql Pa Makefile は、ローカルディスクからもしくは ftp を使って、自動的にアプリケーションの ソースコードを取得 .Pq fetch して、自分のシステムでそれを展開して、 パッチを当て、コンパイルします。すべてが順調に進んだ場合、 .Ic make install を実行することにより、アプリケーションがインストールされます。 .Pp インストールされたシステムよりも新しい ports を、 .Fx リポジトリからダウンロードして使用できます。 ただし、最初に適切な「アップグレードキット」を http://www.FreeBSD.org/ports/ から取得してインストールすることが重要です! 新しい ports をダウンロードするときには、 .Xr portcheckout 1 スクリプト (もちろんこれも port です!) が役立つでしょう。 .Pp port の利用に関してさらに情報が必要ならば、 .Nm ports コレクション (The Ports Collection) (原文: file:/usr/share/doc/handbook/ports.html または、 http://www.FreeBSD.org/handbook/ports.html。 和文: file:/usr/share/doc/ja/handbook/ports.html または、 http://www.FreeBSD.org/ja/handbook/ports.html) ) に目を通して下さい。 port を新規に作成するための情報については、 .Nm 自分で port を作る (Porting applications) (原文: file:/usr/share/doc/handbook/porting.html または、 http://www.FreeBSD.org/handbook/porting.html、 和文: file:/usr/share/doc/ja/handbook/porting.html または http://www.FreeBSD.org/ja/handbook/porting.html) に目を通して下さい。 どちらも .Fx ハンドブックの一部です。 .Pp .Sh ターゲット .Pp ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。 これにより、例えば、biology の port すべてをインストールすることが できます。再帰的に make を行なうターゲットは、 -.Ar build , checksum , clean , configure , +.Ar build , checksum , clean , configure , .Ar depends , extract , fetch , install , .Ar package です。 .Pp 次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に 実行されます。すなわち、 .Ar build は、 .Pq 必要があれば、 .Ar install によって実行されます。以下のターゲットそれぞれについて、同様のルールが .Ar fetch まで順次適用されます。 通常は、ターゲットとして、 .Ar install を指定するだけでよいはずです。 .Bl -tag -width configure .It Ar fetch MASTER_SITES と PATCH_SITES でリストされたサイトから、 この port を構築するために必要なファイルすべてを取得 .Pq fetch します。 .Ev FETCH_CMD と .Ev MASTER_SITE_OVERRIDE とを参照して下さい。 .It Ar checksum 取得した distfile のチェックサムが port で動作確認されたものと 一致するかどうかを検証します。 .Ev NO_CHECKSUM を定義することで、このステップを飛ばすことができます。 .It Ar depends 現在の port と依存関係にある port をインストール .Pq もしくは、必要がある場合のみコンパイル します。ターゲット .Ar extract もしくは .Ar fetch により呼び出された場合、 .Ar fetch-depends , .Ar build-depends などとしてひとつずつ実行されます。 .Ev NO_DEPENDS を定義することで、このステップを飛ばすことができます。 .It Ar extract distfile を作業用ディレクトリに展開します。 .It Ar patch port に必要なパッチすべてを適用します。 .It Ar configure port を構成 (configure) します。port によっては、この段階で質問して くるものもあります。 .Ev INTERACTIVE と .Ev BATCH を参照して下さい。 .It Ar build port を構築します。これはターゲット .Ar all を呼び出すことと同じです。 .It Ar install port をインストールし、この port をインストールしたことを package (訳注: .Fx の package system におけるパッケージを指す場合にこう表記します) システムに登録します。このターゲットは、実際に必要なこと すべてを行なってくれます。 .El .Pp 次のターゲットは、通常のインストールプロセスでは実行されません。 .Bl -tag -width fetch-list .It Ar fetch-list この port を構築するために取得が必要なファイルのリストを表示します。 .It Ar pretty-print-run-depends-list pretty-print-build-depends-list コンパイル依存 port リストと実行依存 port リストを表示します。 また、これらの依存 port リストが依存する port についても表示します。 .It Ar clean 展開されたソースコードを削除します。 .Ev NOCLEANDEPENDS を定義しておかない限り、削除は依存関係にある port に再帰的に適用されます。 .It Ar distclean その port の distfile を削除し、 .Ar clean ターゲットを実行します。 .Ev NOCLEANDEPENDS を定義しておかない限り、 .Sq clean の部分は依存関係にある port に再帰的に適用されます。しかし、 .Sq distclean の部分は決して再帰的に適用されません .Pq この挙動はひょっとするとバグかもしれません 。 .It Ar reinstall .Ar deinstall を使用すべきところでうっかり .Xr pkg_delete 1 を使ってしまった場合、このターゲットを使って port を復活させて下さい。 .It Ar deinstall .Xr pkg_delete 1 と同様に、インストールした port をシステムから削除します。 .It Ar package この port のバイナリ package を作成します。まだインストールされて いなかった場合、その port をインストールします。 package は\ .tgz ファイルであり、その port を他のマシンに .Xr pkg_add 1 を使ってインストールする際に使用することができます。 .Ev PACKAGES で指定されたディレクトリが存在しなければ、package はカレントディレクトリに 置かれます。 .Ev PKGREPOSITORY と .Ev PKGFILE とを参照して下さい。 .It Ar readmes その port の .Pa README.html ファイルを生成します。 これは、あなたのシステム上の全 port をウェブでブラウズできるようにするために、 .Pa /usr/ports から使用可能です。 .It Ar search .Pa INDEX ファイルを、 .Ar key (port の名前、コメント、依存を調べます) または .Ar name (port の名前のみを調べます) ターゲットのいずれかで指定されたパターンで 検索します。 例えば、次のように入力します: .Pp .Dl cd /usr/ports && make search name=query .Pp すると、全 ports のうち名前が .Ql query に適合するものが探されます。 結果には、適合する ports のパス、コメント、メンテナ、構築依存、実行依存が 含まれます。 .It Ar index .Pa /usr/ports/INDEX を作成します。 これは、 .Ar pretty-print-* および .Ar search のターゲットで使用されます。 CVS リポジトリのマスタ INDEX ファイルは定期的に更新されますが、 .Ar index ターゲットを実行することで、 INDEX ファイルが ports ツリに対して最新であることを保証します。 .El .Sh 環境変数 これら環境変数のすべてを変更することができます。 .Bl -tag -width MASTER_SITES .It Ev PORTSDIR port ツリーの場所を指定します。これは .Fx -と +と .Ox では .Pa /usr/ports で、 .Nx では .Pa /usr/pkgsrc です。 .It Ev WRKDIRPREFIX 一時ファイルを作成する場所です。 .Ev PORTSDIR が読み込み専用の場合 (おそらく cdrom をマウントした場合) 有用です。 .It Ev DISTDIR distfile を探す場所であり、取得した distfile を置く場所です。通常は .Ev PORTSDIR の下の .Pa distfiles/ です。 .It Ev PACKAGES ターゲット .Ar package でのみ使用されます。 package ツリーのベースディレクトリです。通常は、 .Ev PORTSDIR の下の .Pa packages/ です。 このディレクトリが存在する場合、package ツリーが (部分的に) 構築されます。 このディレクトリは存在する必要はありません。存在しない場合、package は カレントディレクトリに置かれます。もしくは、以下のいずれか一方を定義 することができます。 .Bl -tag -width PKGREPOSITORY .It Ev PKGREPOSITORY package を置くディレクトリ。 .It Ev PKGFILE その package のフルパス。 .El .It Ev PREFIX 一般に、成果物をどこにインストールするかを指定します .Po 通常は .Pa /usr/local か、 .Pa /usr/X11R6 です .Pc 。 .It Ev MASTER_SITES ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev PATCH_SITES ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev MASTER_SITE_FREEBSD これが設定されている場合、すべてのファイルを .Fx のマスタサイトに 取りに行きます。 .It Ev MASTER_SITE_OVERRIDE すべてのファイルとパッチについて、まずこのサイトに行って取得を試みます。 .It Ev NOCLEANDEPENDS これが定義されている場合、依存関係にある port に対して .Sq clean を再帰的に適用しません。 .It Ev FETCH_CMD ファイルを取得する際に使用するコマンドです。通常は .Xr fetch 1 です。 .It Ev FORCE_PKG_REGISTER これが設定されている場合、既にシステムに存在する package 登録情報を 上書きします。 .It Ev MOTIFLIB libXm.{a,so} の位置を指定します。 .It Ev INTERACTIVE これが設定されている場合、ユーザ入力が必要な port にのみ動作します。 .It Ev BATCH これが設定されている場合、100% 自動的にインストールできる port にのみ 動作します。 .El .Sh 関連ファイル .Bl -tag -width /usr/ports/xxxx -compact .It Pa /usr/ports デフォルトの port ディレクトリ .Po .Fx と .Ox .Pc 。 .It Pa /usr/pkgsrc デフォルトの port ディレクトリ .Po .Nx .Pc 。 .It Pa /usr/ports/Mk/bsd.port.mk .\"kuma: big Kahuna というのはモアイのような巨大石のものらしい。 .\"kuma: だれか教えて?! ご本尊様であらしゃいます。 .El .Sh 関連項目 .Xr make 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr pkg_version 1 .Pp 次に示すものは ports コレクションの一部です: .Pp .Xr pib 1 , .Xr portcheckout 1 , .Xr portlint 1 .Pp .Fx ハンドブック .Pp http://www.FreeBSD.org/ports .Pq port すべてが検索可能なインデックス .Sh 作者 .An -nosplit このマニュアルページは、もともとは .An David O'Brien によるものです。 ports コレクションは .An Satoshi Asami と恐るべき port チームによって維持管理されています。 .Sh 歴史 .Nm ports コレクション は、 .Fx 1.0 で登場しました。 その後、 .Nx と .Ox にも広まりました。 .Sh バグ port に関する文書が 4 か所に分散されてしまっています。 .Pa /usr/ports/Mk/bsd.port.mk , ハンドブックの .Dq port コレクション のセクションと、 .Dq 既存のソフトウェアを port にする のセクション、 .Xr ports 7 の 4 つです。 .Pp このマニュアルページは長過ぎです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26 diff --git a/ja_JP.eucJP/man/man7/roff.7 b/ja_JP.eucJP/man/man7/roff.7 index 46a8f2a454..62d3a28f56 100644 --- a/ja_JP.eucJP/man/man7/roff.7 +++ b/ja_JP.eucJP/man/man7/roff.7 @@ -1,561 +1,560 @@ -.\" t -*- nroff -*- -.\" $FreeBSD$ +.\" t -*- nroff -*- .ig roff.7 This file is part of groff, the GNU roff type-setting system. Copyright (C) 2000 Free Software Foundation, Inc. written by Bernd Warken Last update: 17 May 2000 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being this .ig-section and AUTHOR, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the Free Documentation License is included as a file called FDL in the main directory of the groff source package. .. -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/roff.7,v 1.2 2001/04/30 03:48:36 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/roff.7,v 1.3 2001/05/14 01:09:43 horikawa Exp $ .\" WORD: gremlin picture gremlin 図 . .\" -------------------------------------------------------------------- .\" Setup .\" -------------------------------------------------------------------- . .if n \{\ . mso tty-char.tmac . ftr CR R . ftr CI I . ftr CB B .\} . .\" text lines in macro definitions or bracketed sections \{...\} .de text . if 1 \&\\$*\& .. . .de option . ds @tmp@ \f(CB\\$1\fP . shift 1 . text \\*[@tmp@]\\$* . rm @tmp@ .. . .de 'char . ds @tmp@ `\f(CB\\$1\fP' . shift . text \\*[@tmp@]\\$* . rm @tmp@ .. . .de esc . ds @tmp@ \f(CB\e\\$1\fP . shift . text \\*[@tmp@]\\$* . rm @tmp@ .. . .de argname . ds @tmp@ \f(CI\\$1\fP . shift 1 . text \\*[@tmp@]\\$* . rm @tmp@ .. . .de prefixednumber . ds @tmp@ \&\\$1\ \f(CR\\$2\fP . shift 2 . text \\*[@tmp@]\\$* . rm @tmp@ .. . .de TQ .br .ns .TP \\$1 .. . .\" -------------------------------------------------------------------- .\" Title .\" -------------------------------------------------------------------- -.TH ROFF 7 "26 April 2001" "Groff Version 1.17" +.TH ROFF 7 "27 April 2001" "Groff Version 1.17" .SH 名称 roff \- roff 清書システムの調査 .\" -------------------------------------------------------------------- .SH 解説 .\" -------------------------------------------------------------------- .I roff とは清書プログラム群の一般名称です。 .IR troff , .IR nroff , .IR groff などの名前で知られています。 .LP roff 清書システムは、整形用言語、マクロパッケージ、 プリプロセッサ、出力デバイス用ポストプロセッサ、 ユーザ用フロントエンドプログラム、そして変換ツールから 構成されています。 .LP 今日、最も一般的な roff システムはフリーソフトウェアでの 実装である .I groff (`GNU\ roff') です。groff より前の実装は「古典」 (1973 年まで遡ります) と呼ぶことにします。 .LP .I groff は、古典である祖先のシステムと下位互換性がありますが、数多くの 拡張がされており、今もなお進化し続けています。 ほとんどすべての計算機システムで利用できるため、今日では事実上の roff 標準となっています。 .LP その古さにもかかわらず、roff は今日でも広く使用されています。 例えば、UNIX システムのマニュアルページ .RI ( man ページ ) は roff で書かれています。 テキストデバイスに対する roff 出力は、いまだに並ぶもののないほど優れて います。グラフィカルな出力も他のフリーの清書プログラムと同等の品質を 持っていますし、ものによっては商用システムのものよりも優れているときも あります。 .LP このドキュメントでは概要のみを示し、詳細なドキュメントについては ポインタを示します。 このドキュメントは維持されておらず、時代遅れになっている可能性が あります。正確なドキュメントが必要なら groff info ファイルを 参照してください。これには詳細で現実に即した正確なリファレンス情報が 含まれています。 .\" -------------------------------------------------------------------- .SH "整形用言語" .\"-------------------------------------------------------------------- .I roff システム用の言語を指す 3 つの用語があります。 .I troff 言語 は、 .I roff の古典的な部分に重点を置くときに使われます。 .I groff 言語 は GNU 拡張を含んでおり、それに対して .I roff 言語 は一般的な用語です。 .LP .I groff 言語 のすべての部分について記述されたドキュメントの一次情報源は groff info ファイルです。 .BR groff (7) マニュアルページでは、定義済みの言語要素すべてについて 簡潔な説明をしています。 .LP roff を使用したドキュメントは、普通のテキストファイルを整形用 要素で修飾したものです。 マクロパッケージの 1 つを使って高品質のドキュメントを書くのは とても簡単なことです。 マクロパッケージは高水準プログラミング言語のようなものであり、 それに対して素の roff 言語は C やアセンブラのような低水準言語に たとえられます。 .LP roff 言語は低水準のリクエスト、マクロ定義、エスケープシーケンス、 文字列変数、数値レジスタまたはサイズレジスタ、そして C のような 制御構造を提供する完全なプログラミング言語です。 .ig / In the 1980s, it was even possible to write the common utilities for system administration by only using troff. There were contests on writing the most unreadable program fake by exclusively using troff. Because of security impacts, these dangerous features were removed in .IR groff . ./ .LP この言語の要素についていくらか説明が必要でしょう。 リクエストは、C, C++ のようなプログラミング言語によって定義された 基本的な整形用コマンドです。それに対して、マクロは roff 言語で 記述された整形用コマンドです。 ドキュメントの著者は、リクエストとマクロを使う際の違いに 気づくことはないでしょう。どちらもドット .'char . 始まりの単独行で記述されます。 ただし、望むならば、ユーザは独自のマクロを定義できます。 .LP エスケープシーケンスはインライン要素で、バックスラッシュ .'char \e で始まります。これらはさまざまな機能を実装するのに 使われます。それには、 .esc ( を用いた非 ASCII 文字の挿入、 .esc * を用いた文字列の内容の挿入、 .esc n を用いたレジスタ変数の挿入、 .esc f を用いたフォントの変更、 .esc \(dq を用いた文中のコメント、 .esc \e のような特殊な制御文字のエスケープ、 その他多くの機能が含まれます。 .\" -------------------------------------------------------------------- .SH フォーマッタ .\"-------------------------------------------------------------------- フォーマッタは groff ドキュメントを解析し、それを特殊なデバイスに合った 形式に変換するためのフロントエンドプログラムです。 古典的な .I roff にはフォーマッタが 2 つあります。 .B nroff がテキストデバイス用で、 .B troff がグラフィカルデバイス用です。 .LP これらのプログラムは .I groff 実装でもまだ存在しますが、通常は .BR groff と呼ばれるプログラムを通してアクセスされます。 これによって、古くからの機能を 1 つのプログラムに結合し、拡張 できるのです。 groff には多くのコマンドラインオプションがあります。その大部分が .BR troff からもらい受けたものです。 このオプションの密林から逃れるべく、ユーザフレンドリなユーティリティ .B grog (`groff guess' からとられた名前です) が作成されました。 これは、どの引数を使うべきかを、ドキュメントから推測して、適切な コマンドラインを表示します。 完璧なものではありませんが、取り掛かりには良いでしょう。 .\" -------------------------------------------------------------------- .SH プリプロセッサ .\"-------------------------------------------------------------------- groff でもまだ利用可能な古典的プリプロセッサです。 .RS .LP .PD 0 .TP .I eqn 数式を埋め込むためのものです。 .TP .I grap グラフィカル要素を構成するためのものです (このプリプロセッサは groff と一緒にはついてきません。追加パッケージです)。 .TP .I grn gremlin 図を埋め込むためのものです。 .TP .I pic 図を作成するためのものです。 .TP .I refer 参考文献の参照用です。 .TP .I soelim 他の roff ファイルを埋め込むためのものです。 .TP .I tbl 長方形のテーブル用です。 .PD .RE .LP これらのプリプロセッサはそれぞれ独自の言語を定義しており、 プリプロセッサに通されると、roff コードに変換されます。 ですので、これらの言語で書かれた部分は roff ドキュメントに 埋め込んであっても良いのです。 こうした拡張ドキュメントは、実際のフォーマッタにかけられる前に、 対応する 1 つ以上のプリプロセッサに通されます。 .LP プリプロセッサプログラムは、プリプロセッサ用に 限定されているドキュメントの部分を抽出し、変換します。 プリプロセッサは、 それらのプログラム名を使った UNIX パイプラインで呼び出すことも、 もしくは groff オプションで自動的に呼び出すこともできます。 .LP .TS center, box, tab (@); C | C CfCB | CfCB. プリプロセッサ@groff オプション = eqn@\-e grap@\-G grn@\-g pic@\-p refer@\-R tbl@\-r soelim@\-s .TE .LP . .\" -------------------------------------------------------------------- .SH "マクロパッケージ" .\" -------------------------------------------------------------------- マクロパッケージは、ある特殊な種類のドキュメントを簡便な方法で フォーマットするのに適したマクロの集合です。 マクロパッケージによって、roff の使い勝手が格段に良くなります。 パッケージのマクロ定義は、 .IB name .tmac (または .BI tmac. name\c ) と呼ばれるファイルに保管されています。ここで、 .I name はこのパッケージに対する roff 内部での名称です。 すべての tmac ファイルは、 1 つあるいは少数のディレクトリ中の標準の場所に保管されています。 .LP ドキュメントが使用するマクロパッケージは、 フォーマッタのコマンドラインオプション .option \-m で指定し、例えば .option "troff\ \-m" .argname name や .option "groff\ \-m" .argname name とします。 マクロパッケージの命名およびその置き場所についての一般的な詳細は .BR groff_tmac (5) にあります。 .LP 古くからある有名なマクロパッケージは .IR man , .IR mandoc , .I mdoc がマニュアルページ用、そして .IR me , .IR ms , .I mm が書籍、記事、そして手紙用です。 これらのコレクションのほかにも、groff はさまざまな用途の 新しいマクロパッケージを提供しており、その数は増加しています。 例えば、他のファイル形式を統合したり変換したりするものです。 .\" -------------------------------------------------------------------- .SH "ファイル名の拡張子" .\" -------------------------------------------------------------------- マニュアルページ (man ページ) はファイル名の拡張子として セクション番号をとります。例えば、このドキュメントのファイル名は .IR roff.7 です。つまり、このドキュメントはマニュアルページの .prefixednumber section 7 に保存されているということです。 .LP 古典的なマクロパッケージは、パッケージ名を拡張子にとります。 例えば、 .I me マクロパッケージを使ったドキュメントは .IB file. me となり、 .IR mm マクロパッケージに対しては .IB file. mm 、 .IR ms マクロパッケージに対しては .IB file. ms 、 .I pic ファイルに対しては .IB file. pic といった具合です。 .ig .LP But there is no general naming scheme for roff documents, though .IB file. roff or .IB file. rof seems to be a good choice. .LP File name extensions can be very handy in conjunction with the .BR less (1) pager. It provides the possibility to feed all input into a command-line pipe that is specified in the shell environment variable .B LESSOPEN This process is not well documented, so here an example .B LESSOPEN='|lesspipe %s' where .B lesspipe is either a system supplied command or a shell script of your own. .. .\" -------------------------------------------------------------------- .SH 編集方法 .\" -------------------------------------------------------------------- ほとんどのテキストエディタは roff を使ったドキュメントの編集を サポートしています。特に使い勝手が良いのが、Emacs エディタ とその仲間での .B nroff-mode です。 .\" -------------------------------------------------------------------- .SH 環境変数 .\" -------------------------------------------------------------------- .TP .SM .B GROFF_TMAC_PATH コロン区切りの検索ディレクトリリストです。 .BR groff_tmac (5) を参照してください。 .TP .SM .B GROFF_TYPESETTER デフォルトのデバイスです。 .TP .SM .B GROFF_FONT_PATH .BI dev name コロン区切りの検索ディレクトリリストです。 .B troff は、 .option \-F コマンドオプションで与えられたディレクトリを先に検索します。 次に、 .BR GROFF_FONT_PATH を探します。 最後に、標準ディレクトリ .RB ( /usr/share/groff_font ) を探します。 .\" -------------------------------------------------------------------- .SH 関連ファイル .\"-------------------------------------------------------------------- デフォルトでは、 .I groff は全データファイルを .I /usr/share/groff_font のサブディレクトリと .I /usr/share/tmac へインストールされます (例外はシステム固有のマクロパッケージへのラッパファイルであり、これらは .IR /usr/share/tmac にインストールされます)。 この場所は、システムによっては異なるかもしれません。 以降、前者を .IR として、後者を .IR として表現します。 .LP .TP .IB /troffrc troff 用の初期化ファイル .TP .IB / name .tmac .TQ .IB /tmac. name マクロファイル .TP .IB /dev name /DESC .IR name デバイス記述ファイル .TP .IB /dev name / F .IR name デバイスの .I F フォント用のフォントファイル .LP 最後に、ローカルのマクロディレクトリ .I /usr/share/tmac は、サイト固有のマクロとパッケージ用に提供されます。 デフォルトでは、メインのマクロディレクトリの前にここが検索されます。 .\" -------------------------------------------------------------------- .SH バグ .\" -------------------------------------------------------------------- groff ドキュメントは現在も発展途上です。 ドキュメント間で一時的に小さな食い違いが生じる可能性があります。 .\" -------------------------------------------------------------------- .SH 作者 .\" -------------------------------------------------------------------- このドキュメントは groff すなわち GNU roff 配布物の一部です。 Bernd Warken が書きました。 .LP このドキュメントは FDL (GNU Free Documentation License) バージョン 1.1 以降の条項のもとに配布されています。FDL のコピーをシステム上に 持っているはずです。また、これはオンライン .RS .LP .IR .RE でも入手可能です。 .\" -------------------------------------------------------------------- .SH "関連項目" .\" -------------------------------------------------------------------- 主な情報源は、 .I groff .BR info (1) ファイルです。 .LP 定義済みの .I groff 言語要素についても .BR groff (7) マニュアルページに記載があります。 .LP フォーマッタおよびそのラッパについては .BR groff (1), .BR grog (1), .BR nroff (1), .BR troff (1) に記載があります。 .LP 出力デバイス用のポストプロセッサについては .BR grodvi (1), .BR grohtml (1), .BR grolbp (1), .BR grolj4 (1), .BR grops (1), .BR grotty (1) に記載があります。 .LP 標準プリプロセッサについては .BR eqn (1), .BR grn (1), .BR grap (1), .BR pic (1), .BR refer (1), .BR soelim (1), .BR tbl (1) に記載があります。 .LP マクロパッケージについてのマニュアルページには .BR groff_tmac (5), .BR groff_man (7), .BR groff_markup (7), .BR groff_mdoc (7), .BR groff_mdoc.samples (7), .BR groff_me (7), .BR groff_mm (7), .BR groff_mmroff (7), .BR groff_ms (7) が含まれています。 .LP 次のようなユーティリティが利用できます: .BR addftinfo (1), .BR afmtodif (1), .BR hpftodit (1), .BR indxbib (1), .BR lookbib (1), .BR pfbtops (1), .BR tfmtodit (1), .BR gxditview (1) です。 .LP .I roff システムの GNU 実装についての詳細は .BR groff_char (7), .BR groff_font (7), .BR groff_out (7) および groff ソース配布物のメインディレクトリ内の .I README ファイルを参照してください。 .I groff 開発グループとの連絡の取り方や参加の仕方についての 詳細も載っています。 .LP 古典的な .troff ドキュメントは今でもオンラインで入手可能です。 特に有益なのが、かのフリーである UNIX 7 用のベル研オリジナルの 会報です。これは .I http://cm.bell-labs.com/cm/cs/cstr.html にあります。そして、故 Richard S. Stevens のコレクションが .IR http://www.kohala.com/start/troff/ にあります。 diff --git a/ja_JP.eucJP/man/man7/security.7 b/ja_JP.eucJP/man/man7/security.7 index 355eb0fd04..b1430dc16a 100644 --- a/ja_JP.eucJP/man/man7/security.7 +++ b/ja_JP.eucJP/man/man7/security.7 @@ -1,784 +1,784 @@ .\" Copyright (c) 1998, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %FreeBSD: src/share/man/man7/security.7,v 1.13.2.4 2001/07/19 06:07:28 dd Exp % +.\" %FreeBSD: src/share/man/man7/security.7,v 1.13.2.5 2001/07/21 09:16:53 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/security.7,v 1.14 2001/05/14 01:09:43 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/security.7,v 1.15 2001/07/22 23:09:21 horikawa Exp $ .Dd September 18, 1999 .Dt SECURITY 7 .Os FreeBSD .Sh 名称 .Nm security .Nd FreeBSD におけるセキュリティ入門 .Sh 解説 .Pp セキュリティは、システム管理者とともに始まり、システム管理者と ともに終る機能です。 .Bx マルチユーザシステムは、昔ながらのセキュリティをいくらかは備えて いますが、さらなるセキュリティ機構を組み込んで維持していくことで、ユーザを .Sq 正直に し続ける仕事は、システム管理者の最も大きな責務の一つでしょう。マシンは、 管理者が設定しただけのセキュリティしか示しません。セキュリティに関する 問題は、むしろ、便利さを求める人間との競合問題です。一般に、 .Ux システムは莫大な数のプロセスを同時に実行させることができ、 それも、サーバとして動作するものが多いのです。つまり、外部の何者かが 接続してきて、サーバプロセスと会話することができるということなのです。 昨日まで使われていたミニコンピュータやメインフレームは、今日では デスクトップコンピュータが取って代わり、しかも、それらはネットワークで結ばれて インターネットと接続されるようになりました。これにより、セキュリティは 昔と比べてはるかに大きな問題となっています。 .Pp セキュリティは、タマネギの階層のようなアプローチを通すと最もよく実装できます。 手短に言って、やりたいことは、便利さを損ねない程度にできるだけ多くの 階層を作り、システムに侵入されていないかを注意深く監視することです。 セキュリティの階層を作りすぎたくはありません。作りすぎると、侵入の 検出が妨げられることになるでしょう。どんなセキュリティ機構でも、 侵入の検出をすることが唯一とても重要なことなのですから。 例えば、システムの各バイナリに .Pa schg フラグ .Po .Xr chflags 1 参照 .Pc を設定するのは大して意味がありません。フラグを設定すると、一時的には バイナリを保護することができますが、侵入してきたクラッカーが、 マシンのセキュリティ機構がクラッカーの侵入を全く検知できなくなるような 変更ではあるが、管理者が容易に検出できるような変更をできなくしてしまう からです。 .Pp システムセキュリティには、さまざまな形での攻撃に対処することも ついて回ります。攻撃には、root を破ろうとはしないが、システムを クラッシュさせたり、さもなければ、システムを使用不能にしたり しようとするものも含まれています。 セキュリティに関する問題は、いくつかのカテゴリに分類することができます。 .Bl -enum -offset indent .It サービス不能攻撃 .It ユーザアカウントにかかる危険 .It アクセス可能なサーバを経由した root 権限にかかる危険 .It ユーザアカウントを通した root 権限にかかる危険 .It 裏口の作成 .El .Pp サービス不能攻撃とは、マシンから必要な資源を奪う行為です。 サービス不能攻撃は、普通は、そのマシンで実行されるサーバや ネットワークスタックを圧倒して、マシンをクラッシュさせたり、 さもなければマシンを使えなくしたりするような力任せの方法です。 サービス不能攻撃のいくつかは、 ネットワークスタックのバグを利用して、パケット一つでマシンを クラッシュさせようとします。後者は、 カーネルにバグ修正を施すことによってのみ修正することができます。 サーバプロセスに対する攻撃は、オプションを適切に指定して、 不利な状況にあるシステムにおいて、サーバプロセスが引き起こす負荷に限界を設けることで 修正することができます。これらに比べると、ネットワークへの力任せの攻撃への 対応はずっと難しくなります。たとえば、偽造パケットによる攻撃 .Pq spoof-packet attack は、インターネットからシステムを切り離す以外の方法で防ぐことは ほとんど不可能です。 それによって、マシンを落としてしまうことはできないかもしれませんが、 インターネット回線をいっぱいにしてしまうことはできます。 .Pp ユーザアカウントを危険に晒してしまう問題は、サービス不能攻撃よりもずっとよくある -問題です。このご時勢でも、自分たちのマシンで標準の telnetd, rlogind, rshd, ftpd +問題です。このご時勢でも、自分たちのマシンで標準の telnetd, rlogind, rshd, ftpd サーバを実行させているシステム管理者は多いのです。これらの サーバは、デフォルトでは、暗号化されたコネクション上で動作していません。 その結果、抱えているユーザ数が標準くらいであれば、リモートログイン .Po そのシステムにログインするには最も普通で便利な方法です .Pc しているユーザのうち一人以上は、パスワードを覗き見られて しまうでしょう。 システム管理者が注意深い人ならば、たとえログインが成功していたとしても、 リモートアクセスログを解析して、疑わしいソースアドレスを探すものです。 .Pp ひとたび攻撃者がユーザアカウントへのアクセス権を入手すると、攻撃者が root の権限を破る可能性があることを仮定するべきです。しかし、 セキュリティを十分維持し、手入れの行き届いたシステムにおいては、 あるユーザアカウントへのアクセスが可能となっても、攻撃者に必ずしも root へのアクセス権を与えるとは限らないのが現実です。この違いは重要です。 というのは、root へのアクセス権がなければ、一般的に、攻撃者は自分の 侵入の痕跡を隠蔽することができませんし、そのユーザのファイルを引っかき回したり、 マシンをクラッシュさせたりできるのがせいぜいです。 ユーザアカウントが危険に晒されるということは、たいへんよく起こることです。 なぜなら、ユーザは、システム管理者ほどには前もって注意を払わない 傾向があるからです。 .Pp システム管理者は、あるマシン上で root の権限を破る方法は、潜在的に 何通りもあるのだということを 心しておかねばなりません。攻撃者が root のパスワードを知ってしまうかも しれません。攻撃者が root の権限で実行されるサーバのバグを見つけ、 ネットワークからそのサーバへ接続して root の権限を破ることができるかも しれません。ひとたびユーザアカウントを破ると、ユーザアカウントから root の権限を破ることが可能であるというバグを持つ suid-root プログラムの 存在を、攻撃者は知っているかもしれません。 あるマシン上で、攻撃者が root の権限を破る方法を知ったとすると、 攻撃者は、裏口を作る必要などないかもしれません。 発見され、ふさがれた root の穴の多くには、クラッカーが侵入した跡を消そうとして たくさん仕事した結果が含まれています。 そのためにこそ、多くのクラッカーは裏口を作るのです。この裏口は、クラッカーの 検出をするのに便利なやり方です。クラッカーに裏口を作らせないようにする ということは、セキュリティにとっては実際には良くないことかもしれません。 なぜなら、そうすることで、クラッカーが最初に侵入してくるために発見した セキュリティホールがふさがるわけではないからです。 .Pp セキュリティを改善する方法は、常に、 .Sq タマネギの皮剥き のように 複数の層のアプローチで実装されるべきです。これらは次のように分類できます。 .Bl -enum -offset indent .It root とスタッフのアカウントの安全性を高める。 .It root の安全性を高める - root 権限のサーバと suid/sgid バイナリ。 .It ユーザアカウントの安全性を高める。 .It パスワードファイルの安全性を高める。 .It カーネルのコア、raw デバイス、ファイルシステムの安全性を高める。 .It システムに対して行なった、不適切な変更をすばやく検出する。 .It 偏執狂的方法。 .El .Sh root アカウントとスタッフアカウントの安全性を高める .Pp root のアカウントの安全性を確保しないうちからスタッフのアカウントの安全性を うんぬんしてもしかたがありません。ほとんどのシステムでは、root アカウントに 割り当てたパスワードが 1 つあります。まず最初にすべきことは、 このパスワードは .Sq いつでも 危険に晒されていると仮定することです。 ここでは、root のパスワードを消すべきだと言っているのではありません。 パスワードは、マシンにコンソールからアクセスするのには、ほとんどいつでも 必要なものです。ここで言いたいのは、コンソール以外からは、おそらくは、 .Xr su 1 -コマンドを用いてすらパスワードを使えるようにするべきではないということです。 -例えば、pty が、 +コマンドを用いてすらパスワードを使えるようにするべきではないということです。 +例えば、pty が、 .Sq Pa /etc/ttys ファイルで安全でないものと指定されているのかを確認してください。 そうすることで、telnet や rlogin 越しに root でログインできないようになります。 sshd のような、別のログインサービスを使っている場合でも同様に、 直接 root へログインすることを許していないかどうか確認してください。 アクセスする手段、例えば ftp のようなサービスが、たびたびクラックの手に落ちる ことを考えてみてください。root に直接ログインできるのは、システムコンソール を通したときのみにすべきです。 .Pp システム管理者として、自分は root になれるようにしておかねばならないの はもちろんですから、穴をいくつか空けておきます。しかし、それらの穴を 動作させるには、さらに追加のパスワード認証が必要であるようにして おきます。root でアクセス可能とする方法の一つとして、 適切なスタッフアカウントを .Pq Pa /etc/group の wheel グループに加えることがあります。 wheel グループに置かれたスタッフメンバには、 .Sq su を使って root になることが許されます。パスワードエントリにおいて、 最小限のメンバを wheel グループを置くことで、スタッフメンバに wheel のアクセス権を与えてはいけません。スタッフメンバのアカウントは .Sq staff に置くべきです。そして .Sq Pa /etc/group ファイルを通して wheel グループに加えるべきです。 実際に root アクセスの必要な staff メンバのみ wheel グループに置くように すべきです。kerberos のような認証方法を使用する場合、root アカウントで .Sq Pa .k5login ファイルを使って、誰も wheel グループに置く必要なく root に .Xr ksu 1 を許すようにすることもできます。 このやり方はよりよい解決策なのかもしれません。なぜなら、wheel のメカニズム -では、侵入者がパスワードファイルを手に入れ、staff アカウントのいずれか +では、侵入者がパスワードファイルを手に入れ、staff アカウントのいずれか 1 つを破ることができると、root を破ることがまだできてしまうからです。 wheel のメカニズムを用いる方が、何もしないよりは良いのですが、必ずしも 最も安全な選択肢とは限りません。 .Pp root アカウントの安全性を高める間接的な方法として、別のログインアクセス の方法を用いて、スタッフのアカウントの暗号化パスワードを\ * にして おくことで、スタッフのアカウントの安全性を高めるものがあります。この方法 だと、侵入者がパスワードファイルを盗むことができるかもしれませんが、 スタッフアカウントを破ることはできないでしょう。また、たとえ root が暗号化 パスワードをパスワードファイルに付けていたとしても、間接的には root アカウントも破ることができないでしょう。 スタッフメンバがスタッフアカウントでログインする際には、 .Xr kerberos 1 や .Xr ssh 1 のような、公開鍵 / 秘密鍵の鍵の組を使う 安全性の高いログインの仕組みを使います。kerberos のような仕掛けを使う場合、 一般に、kerberos サーバを実行するマシンと自分のデスクトップ ワークステーションとの安全性を確保しなければなりません。ssh で 公開鍵 / 秘密鍵の組を使う場合、一般に、ログイン元マシン .Pq 通常は自分のワークステーション の安全性を確保しなければなりません。ここで、 .Xr ssh-keygen 1 で公開鍵 / 秘密鍵の組を生成する際、鍵の組をパスワードで防御することにより、 鍵の組への防御層を追加することもできます。スタッフアカウントの パスワードを\ * で外すことができると、管理者自身が設定 した安全性の高い方法でしかスタッフメンバがログインできないことも保証 できます。こうして、多くの侵入者が使う重大なセキュリティの穴 .Pq 安全性の低い無関係なマシンからネットワークを覗き見る方法 を塞ぐようなセッションを提供する、安全性の高い暗号化されたコ ネクションを使うことを、スタッフメンバ全員に強制することができ るのです。 .Pp より間接的なセキュリティの仕組みでは、制限の強いサーバから制限の弱い サーバへログインすることを前提としています。例えば、メインマシンで、 様々な種類のサーバを実行させている場合、ワークステーションではそれらの サーバを実行させてはなりません。ワークステーションを十分に 安全にしておくためには、実行するサーバの数を、一つもサーバ が実行されていないというくらいにまでできる限り減らすべきです。 また、パスワードで保護されたスクリーンセーバを走らせておくべきです。 ワークステーションへの物理的アクセスが与えられたとすると、もちろん 言うまでもなく、攻撃者は管理者が設定したいかなる種類のセキュリティ をもうち破ることができるのです。これは、管理者として必ず考えておか ねばならない問題ですが、システム破りの大多数は、ネットワーク経由で リモートから、ワークステーションやサーバへの物理的アクセス手段を持 たない人々によって行われるという事実もまた、念頭に置いておく必要 があります。 .Pp kerberos のような方法を使うことで、スタッフアカウントのパスワードの変更 もしくは停止を一箇所で行なうことと、スタッフメンバがアカウントを持つ すべてのマシンに即時にその効果を及ぼすことが可能となります。スタッフメンバの アカウントが危険に晒されたときに、すべてのマシンでスタッフメンバのパスワードを 即座に変更する能力を過小評価してはいけません。パスワードが分散されている状況では、 N 台のマシンでパスワードを変更すると、てんやわんやの事態を招く可能性が あります。kerberos を使用すると、パスワードの再発行に制限 .Pq re-passwording restriction を課することもできます。この機能を使うことにより、 ある kerberos チケットをしばらく経つとタイムアウトにすることが できるだけでなく、一定期間 .Pq 例えば、1 ヶ月に 1 回 経つと、ユーザに新しいパスワードを選ぶように要求することもできます。 .Sh root の安全性を高める - root 権限のサーバと suid/sgid バイナリ .Pp 用心深いシステム管理者は、自分に必要なサーバプロセスだけを過不足なく 実行させるものです。第三者製のサーバは、よくバグを持っていがちだと -いうことに注意して下さい。例えば、古いバージョンの imapd や popper +いうことに注意して下さい。例えば、古いバージョンの imapd や popper を実行させておくのは、全世界に共通の root の切符を与えてい るようなものです。 自分で注意深くチェックしていないサーバは、決して実行してはいけません。 root で実行させる必要のあるサーバはほとんどありません。例えば、ntalk, comsat, finger デーモンを、特別の「砂場 .Pq sandbox 」ユーザで実行させることができます。 .\"kuma hellofalot of trouble って何や? .\" hell of a lot of trouble みたいですね。;-) (金ん田 '99.02.11) 管理者が膨大な数の問題に直面していないのなら、この「砂場」は完璧では ありませんが、セキュリティに関するタマネギ的アプローチはここでも 成り立ちます。砂場で実行されているサーバプロセスを経由して侵入を 果たすことができたとしても、攻撃者はさらに砂場から外に脱出しなければ なりません。攻撃者が通過せねばならない層の数が増えれば増えるほど、 それだけ攻撃者が侵入に成功する確率が減ります。root の抜け穴は 歴史的に、基本システムサーバも含め、 root 権限で実行されるほとんどすべてのサーバプロセスで発見されています。 ユーザが sshd 経由でのみログインし、 telnetd, rshd, rlogind 経由でログインすること が決してないマシンを稼働させているのであれば、それらのサービスを停止させて下さい。 .Pp .Fx では、今では ntalkd, comsat, finger は砂場で実行させることが デフォルトになっています。次に砂場で実行させるべきプログラムの候補として、 .Xr named 8 があります。デフォルトの rc.conf ファイルには、named を砂場で実行する ために必要な引数がコメントアウトされた形式で含まれています。新しい システムをインストールしているか、それとも既存のシステムを アップグレードして使っているかに依存しますが、砂場として使用する 特別のユーザアカウントがインストールされていないかもしれません。 用心深いシステム管理者であれば、できるだけいつでも研究を怠らず、 サーバに砂場を仕込むものでしょう。 .Pp 通常、砂場で実行しないサーバが他にいくつかあります。sendmail, popper, imapd, ftpd などです。これらのうちいくつかのサーバには代わりとなるも のがありますが、 代わりのものをインストールするには、それだけ多くの仕事が必要になるので、 結局これらを喜んで入れてしまいます .Pq 便利さという要素がまたも勝利を収めるわけです 。 これらのサーバは、root 権限で実行せねばならいかもしれません。また、 これらのサーバ経由で生じる侵入 を検出するためには、他の仕組みに頼らなくてはならないかもしれません。 .Pp システムの root 権限の潜在的な穴で他に大きなものとして、システムに インストールされた suid-root/sgid バイナリがあります。 これらのバイナリは、rloginのように、 .Pa /bin , .Pa /sbin , .Pa /usr/bin , .Pa /usr/sbin に存在するものがほとんどです。 100% 安全なものは存在しないとはいえ、システムデフォルトの siud/sgid バイナリは比較的安全といえます。それでもなお、root の穴が これらのバイナリにときおり発見されています。1998 年に Xlib で見つかった root の穴は、xterm .Pq 普通、suid 設定されています を攻撃可能にしていました。 安全である方がよいので、用心深いシステム管理者は残念に思いながらも、 スタッフのみが実行する必要がある suid バイナリは、スタッフのみが アクセス可能な特別なグループに含めるように制限を加え、 誰も使わない suid バイナリは .Pq chmod 000 を実行して 片付けてしまうでしょう。 ディスプレイを持たないサーバは、一般的に xterm のバイナリを必要としません。 sgid バイナリもほとんど同様の危険な存在になり得ます。 侵入者が kmem に sgid されたバイナリを破ることができた場合、 その侵入者は .Pa /dev/kmem を読み出すことができるようになります。 つまり、暗号化されたパスワードファイルを読み出すことができる ようになるので、パスワードを持つどのアカウントをも、 .Pq 潜在的な 危険に晒すことになります。 代わりに、kmem グループを破った侵入者が pty を通して送られたキーストロークを -監視できます。キーストロークには、安全な方法でログインするユーザが使っている +監視できます。キーストロークには、安全な方法でログインするユーザが使っている pty も含まれます。tty グループを破った侵入者は、ほぼ任意のユーザの tty へ 書き込みができます。ユーザが端末プログラムやキーボードをシミュレーション する機能を持ったエミュレータを使っている場合、侵入者は潜在的に、 結局そのユーザとして実行されるコマンドをユーザの端末にエコーさせる データストリームを生成できる可能性があります。 .Sh ユーザアカウントの安全性を高める .Pp ユーザアカウントは、普通、安全性を高めることが最も困難です。 スタッフに対して、アテナイのドラコのような厳格なアクセス制限を課し、 スタッフのパスワードを\ * で外すことができるとはいえ、管理者が持ちうる 一般ユーザすべてのアカウントに対して同じことはできないかもしれません。 管理者が十分に統率をとることができるなら、管理者は勝利し、ユーザの アカウントの安全を適切に確保できるかもしれません。それが できないならば、よりいっそう気を配って一般ユーザのアカウントを -監視するよりほかありません。一般ユーザアカウントに対し +監視するよりほかありません。一般ユーザアカウントに対し ssh や kerberos を利用することには、システム管理がさらに増えたり テクニカルサポートが必要になるなどの問題があります。 それでも、暗号化パスワードファイルと比較するとはるかに良い解です。 .Sh パスワードファイルの安全性を高める .Pp できるだけ多くのパスワードを\ * で外し、それらのアカウントのアクセスには ssh や kerberos を使うようにすることが、唯一の確実な方法です。たとえ暗号化 -パスワードファイル +パスワードファイル .Pq Pa /etc/spwd.db が root でのみ読み出し可能だとしても、 侵入者がそのファイルの読み出しアクセス権限を得ることは可能かもしれません。 たとえ root の書き込み権限が得られないにしてもです。 .Pp セキュリティスクリプトは常にパスワードファイルの変更をチェックし、報告 するようにすべきです .Po 後述の「ファイルの完全性のチェック」を参照して下さい .Pc 。 .Sh カーネルのコア、raw デバイス、ファイルシステムの安全性を高める .Pp root の権限を破ると、攻撃者は何でもできますが、 もっと簡便なこともいくつかあります。例えば、最近のカーネルは、 組み込みのパケット覗き見デバイス .Pq packet sniffing device ドライバを備えているものがほとんどです。 .Fx では .Sq bpf デバイスと呼ばれています。侵入者は普通、危険に晒された マシンでパケット覗き見プログラムを実行させようと試みます。侵入者に わざわざそういう機能を提供する必要はないので、ほとんどのシステムで bpf デバイスを組み込むべきではありません。 .Pp bpf デバイスを外し、モジュールローダを無効にしても、 .Pa /dev/mem と .Pa /dev/kmem という悩みの種がまだ残っています。この問題に関しては、侵入者は raw デバイスに書き込むこともできます。 また、 .Xr kldload 8 という、別のカーネル機能があります。 やる気まんまんの侵入者は、KLD モジュールを使って 自分独自の bpf もしくはその他覗き見デバイスを動作中のカーネルに インストールすることができます。 この問題を避けるため、システム管理者は カーネルをより高い安全レベル .Pq securelevel 、少なくとも安全レベル 1 で実行させる必要があります。 sysctl を使って kern.securelevel 変数に安全レベルを設定することが できます。ひとたび安全レベルに 1 を設定すると、 raw デバイスに対する書き込みアクセスは拒否され、例えば .Sq schg のような 特別な chflags フラグが効果を発揮します。これに加えて、 起動時において重要なバイナリ・ディレクトリ・スクリプトファイルなど、 安全レベルが設定されるまでの間に実行されるものすべてに対しても .Sq schg フラグを確実に on にしておく必要があります。この設定をやり過ぎても 構いませんが、より高い安全レベルで動作している場合、システムの アップグレードがはるかに困難になります。システムをより高い安全レベルで 実行させるようにするが、お天道さまの下にあるすべてのシステムファイルと ディレクトリに schg フラグを設定しないという妥協をする方法もあります。 もう一つの可能性としては、単純に / および /usr を読み込み専用でマウント することです。ここで特筆すべきことは、システムを守ろうとしてアテナイのドラコ のように厳しくしすぎると、侵入を検出するという非常に重要なことが できなくなってしまうということです。 .Sh ファイルの完全性のチェック: バイナリ、設定ファイルなど .Pp ことこの問題に至ると、システム管理者にできることは、 便利さという要素がその醜い頭を上げない程度に、 コアシステムの設定 / 制御ファイルを防御することだけです。 例えば、/ および /usr にある大部分のファイルに schg ビットを 設定するために chflags を使用するのは、おそらく逆効果でしょう。 なぜなら、そうすることでファイルは保護できますが、侵入を検出 する窓を閉ざしてしまうことにもなるからです。 セキュリティのタマネギの最後の層はおそらく最も重要なもの、すなわち検出です。 セキュリティの残りのものは、突然の侵入を検出できなければ、全然有用では ありません( あるいは、もっと悪ければ、間違った安全性に対する感覚を 植え付けてしまいます )。 タマネギの仕事の半分は、均衡状態にあるとき、攻撃中に検出側に攻撃者を 捕まえるきっかけを与えるため、攻撃者を食い止めるのではなく 侵入を遅らせることなのです。 .Pp 侵入を検出する最も良い方法は、変更されていたり、消えていたり、入れた覚えが ないのに入っているファイルを探すことです。 -変更されたファイルを探すのに最も良い方法は、もう一つの +変更されたファイルを探すのに最も良い方法は、もう一つの ( しばしば中央に集められた ) アクセスが制限されたシステムから行なうものです。 さらに安全でアクセス制限されたシステム上でセキュリティ用スクリプトを書けば、 スクリプトは潜在的なクラッカー達からはほぼ見えなくなります。 これは重要なことです。 最大限に優位に立つために、一般的にビジネスで使う他のマシンへの重要な アクセスは、アクセスの制限されたマシンにやらせなくてはいけません。 -普通は、他のマシンからアクセス制限されたマシンへ読み込み専用で -NFS エクスポートしたり、アクセス制限されたマシンから他のマシンへ +普通は、他のマシンからアクセス制限されたマシンへ読み込み専用で +NFS エクスポートしたり、アクセス制限されたマシンから他のマシンへ ssh を行なうために、ssh 鍵のペアを作ったりすることで行います。 ネットワークのトラフィックを別にして、NFS は最も可視性のない方法です。 事実上検出されない各クライアント上のファイルシステムを監視できるようになります。 アクセス制限されたサーバがスイッチを通してクライアントに接続する場合、 たいてい NFS がより良い選択肢です。アクセス制限されたサーバがハブを通したり、 いくつかのルーティング層を通したりしてクライアントに接続する場合、 NFS はあまりにも危険な方法かもしれず ( ネットワークの面で ) 、ssh の方が 認証の道筋は跡となって残りますが、それでもより良い方法かもしれません。 .Pp アクセス制限されたマシンに、少なくとも監視することを前提とした クライアントシステムへの読み込みアクセスをひとたび与えると、 実際に監視するためのスクリプトを書かなくてはいけません。 NFS マウントをすれば、 .Xr find 1 や .Xr md5 1 などの単純なシステムユーティリティでスクリプトを書くことができます。 少なくとも 1 日 1 回、クライアントのファイルを直接 md5 にかけ、 さらにもっと頻繁に .Pa /etc および .Pa /usr/local/etc にあるようなコントロール用ファイルを試験するのが一番です。 -試験ファイルは、アクセス制限されたマシンが適性であると知っている、基となる +試験ファイルは、アクセス制限されたマシンが適性であると知っている、基となる md5 情報と比べて違いが見つかった場合、システム管理者に調べて欲しいと 訴えるようにするべきです。 優れたセキュリティ用スクリプトは、 .Pa / および .Pa /usr などのシステムパーティション上で不適当に suid されたバイナリや、 新たに作成されたファイルや削除されたファイルもチェックするのでしょう。 .Pp NFS ではなく、ssh を使用する場合は、セキュリティ用スクリプトを書くのはずっと 難しいことです。スクリプトをクライアントから見えるようにし、 動かすためには、クライアントに対して .Pa scp を必ず行わなくてはいけません。 そして、安全のため、スクリプトが使うバイナリ ( find など ) を scp する必要も あります。クライアントの ssh デーモンはすでに危険に晒されているかもしれません。 以上のことから、安全でないリンク上の場合は ssh は必要かもしれませんが、 ssh を扱うのはとても大変なことです。 .Pp 優れたセキュリティ用スクリプトは、ユーザやスタッフメンバの アクセス設定ファイルもチェックするものです。 .Pa .rhosts , .Pa .shosts , -.Pa .ssh/authorized_keys +.Pa .ssh/authorized_keys などがそれですが、MD5 のチェックの範囲外になってしまうかもしれません。 .Pp ユーザ用のディスク容量が非常に大きい場合は、パーティション上の各ファイルを 見て回るのに大変な時間がかかるかもしれません。この場合は、マウントフラグを 設定して、このパーティションに suid されたバイナリやデバイスを置けないように するのが良い考えです。 .Sq nodev および .Sq nosuid オプション .Po .Xr mount 8 参照 .Pc が調べたいものでしょう。私なら、ともかくも週に 1 度はファイルシステムを スキャンするでしょう。なぜなら、この層での目的は、侵入が意味があるかどうかに 関わらず、侵入を検出することだからです。 .Pp プロセスアカウンティング .Po .Xr accton 8 参照 .Pc は、比較的オーバヘッドの低いオペレーティングシステムの機能で、 マシンに侵入されてしまった後の評価の仕組みとして使用することをお勧め します。 侵入を受けた後でも当該ファイルが無傷である場合に、 侵入者が実際にどのようにしてシステムに侵入したかを 追跡するのに特に有益です。 .Pp 最後に、セキュリティスクリプトはログファイルを処理するようにし、 ログファイル自体もできるだけ安全性の高い方法で .Sq リモート syslog は極めて有益になり得ます 生成するようにすべきです。侵入者は自分の侵入の痕跡を覆い隠そう としますし、また、ログファイルはシステム管理者が最初の侵入の時 刻と方法を追跡してゆくために極めて重要です。 ログファイルを永久に残しておくための 1 つの方法は、システムコンソールを シリアルポートにつないで走らせ、コンソールを監視している安全なマシンを通して 絶えず情報を集めることです。 .Sh 偏執狂的方法 .Pp 多少偏執狂的になっても決して悪いことにはなりません。原則的に、 システム管理者は、便利さに影響を与えない範囲でいくつでもセキュリティ 機能を追加することができます。また、いくらか考慮した結果、便利さに 影響を与えるセキュリティ機能を追加することもできます。 もっと重要なことには、セキュリティ管理者とは少し喧嘩になる はずなのですが、もしあなたが、このマニュアルページに書かれている 勧告をそのまま使用したりした場合は、 予想されるクラッカーはやはりこのマニュアルを読んでいるわけですから、 防御策を渡してしまうことになります。 .Sh サービス不能攻撃 (D.O.S. attack) についての特記事項 .Pp このセクションではサービス不能攻撃を扱います。サービス不能攻撃は、普通は、 パケット攻撃です。ネットワークを飽和させる最先端の偽造パケット .Pq spoofed packet 攻撃に対してシステム管理者が打てる手はそれほど多く ありませんが、一般的に、その種の攻撃によってサーバがダウン しないことを確実にすることで、被害をある限度に食い止める ことはできます。 .Bl -enum -offset indent .It サーバの fork の制限 .It -踏み台攻撃の制限 +踏み台攻撃の制限 .Pq ICMP 応答攻撃、ping broadcast など .It カーネルの経路情報のキャッシュ .El .Pp 普通に見られるサービス不能攻撃に、fork するサーバプロセスに対する ものがあります。これは、サーバにプロセス・ファイル記述子・メモリを 食い尽くさせて、マシンを殺そうとするものです。 inetd .Po .Xr inetd 8 参照 .Pc には、この種の攻撃を制限するオプションがいくつかあります。マシンが ダウンすることを防止することは可能ですが、この種の攻撃によりサービスが 崩壊することを防止することは一般的に言ってできないことに注意する必要が あります。inetd のマニュアルページを注意深く読んで下さい。特に、 .Fl c , .Fl C , .Fl R オプションに注意して下さい。IP 偽造攻撃 .Pq spoofed-IP attack -は inetd の +は inetd の .Fl C オプションの裏をかけるので、一般にオプションを 組み合わせて使用するべきであることに注意して下さい。スタンドアロンサーバ の中には、自分自身で fork を制限するパラメータを持っているものがあります。 .Pp sendmail には、 .Fl OMaxDaemonChildren オプションがあります。負荷には遅れがあるので、 sendmail の負荷に限界を設けるオプションを使うよりも、 このオプションを使う方がまともに動作する可能性ははるかに高いです。 sendmail の実行を開始する際に、 .Cm MaxDaemonChildren パラメータを設定するべきです。その値は、 通常見込まれる負荷を扱える程度に十分高いが、 それだけの数の sendmail を操作しようとすると マシンが卒倒してしまうほどには高くないような値に設定するべきです。 -sendmail をキュー処理モード +sendmail をキュー処理モード .Pq Fl ODeliveryMode=queued で実行することや、 sendmail デーモン .Pq Cm sendmail -bd をキュー処理用プロセス .Pq Cm sendmail -q15m と別に実行することも、用心深いことと言えます。それでもなおリアルタイムでの 配送を望むのであれば、 .Fl q1m のようにすることで、キュー処理をはるかに短い時間間隔で 行うことができます。いずれにしても、 .Cm MaxDaemonChildren オプションに 合理的な値を確実に指定して、sendmail がなだれをうって失敗することが ないようにして下さい。 .Pp syslogd は直接攻撃される可能性があるので、可能ならばいつでも .Fl s オプションを用いることを強く推奨します。これができないなら、 .Fl a オプションを使って下さい。 .Pp tcpwrapper の逆 identd などの接続返し .Pq connect-back を行うサービスに ついては十分注意を払うようにするべきです。これらは直接攻撃を受ける可能性が あります。こういう事情があるので、tcpwrapper の逆 ident 機能を使おうとは 思わないのが一般的です。 .Pp 境界ルータのところでファイアウォールを設けて、外部からのアクセスに対して 内部サービスを防御するという考えは実によいものです。この考えは、LAN の外部 -からの飽和攻撃を防ぐことにあり、root ネットワークベースの root +からの飽和攻撃を防ぐことにあり、root ネットワークベースの root 権限への攻撃から内部サービスを防御することには、あまり考慮を払って いません。ファイアウォールは常に排他的に設定して下さい。つまり、 「ポート A, B, C, D と M から Z まで .Eo * 以外 .Ec * のすべてに防火壁を設ける」というふうにです。 このようにすることで、named .Pq ゾーンのプライマリである場合 , ntalkd, sendmail など、インターネットにアクセスを提供するサービス として特に指定するもの以外の、小さい番号のポートすべてをファイアウォールで 防御することができます。ファイアウォールをこの他のやり方、つまり 包含的もしくは受容的なファイアウォールとして設定しようとする場合、 .Sq close することを忘れてしまうサービスがいくつか出てきたり、新しい内部サービスを 追加したのにファイアウォールの更新を忘れたりする可能性がよく出てきます。 ファイアウォール上の大きい番号のポートを開けておいて、小さい番号のポートを 危険に晒すことなく受容的な動作を許すことができます。 .Fx では、net.inet.ip.portrange への sysctl .Pq sysctl -a \&| fgrep portrange をいろいろ使用することで、 動的バインドに使用されるポート番号の範囲を制御できることを記憶にとどめて おいて下さい。これによりファイアウォールの設定の複雑性を緩和できます。 私は、ファイアウォールに通常のfirst/last の範囲として、 4000 から 5000 を、 高位ポートの範囲として、49152 から 65535 を使用しています。そして、 .Po いくつかのインターネットアクセス可能なポートを ブロックから除外するのはもちろんですが .Pc 4000 より下のすべてをブロックしています。 .Pp また別のありふれたサービス不能攻撃として、踏み台攻撃 .Pq springboard attack と呼ばれるものがあります。これは、サーバが自分自身、ローカルネットワーク、 そして他のマシンを過負荷に追い込むような応答を生成させる方法でサーバを 攻撃します。この種の攻撃の中で最もありふれたものは、ICMP PING BROADCAST 攻撃があります。攻撃者は、実際に攻撃したいマシンのアドレスをソース アドレスに設定した ping パケットを偽造して、対象の LAN の ブロードキャストアドレスに向けてパケットを送信します。境界にあるルータが ブロードキャストアドレスに対する ping パケットを握り潰すように設定されていない 場合、LANは、詐称されたソースアドレスに向けて応答パケットを生成するはめになり、犠牲となるマシンが飽和するところまで行ってしまいます。攻撃者が同じトリックを 異なるネットワーク上のいくつものブロードキャスト アドレスに対して同時に使用した場合、とくにひどいことになります。 これまでに、120 メガビット以上のブロードキャスト攻撃が観測されています。 2 番目の踏み台攻撃は、ICMP エラー報告の仕掛けを狙うものです。ICMP エラー 応答を生成するパケットを生成することにより、攻撃者はサーバの 受信ネットワークを飽和させることができ、同時に、サーバが送信 ネットワークを ICMP 応答で飽和させるようにすることができます。 mbuf を消費し尽くさせることにより、この種の攻撃でサーバを クラッシュさせることも可能です。サーバの ICMP 応答生成が速過ぎて、 ICMP 応答の送信が追い付かない場合、とくにひどいことになります。 .Fx カーネルには、この種の攻撃の効果を抑制する ICMP_BANDLIM と 呼ばれる新しいコンパイルオプションがあります。 3つめの主要なクラスに属す踏み台攻撃は、udp echo サービスのような、 ある種の内部 inetd サービスに関連するものです。攻撃者は、単に ソースアドレスがサーバ A の echo ポートであり、ディスティネーション アドレスがサーバ B の echo ポートであるかのように UDP パケットを 偽造します。ここでサーバ A, B はともに自分の LAN に接続されています。 この 2 つのサーバは、この一つのパケットを両者の間で互いに相手に対して 打ち返しあいます。このようにしてパケットをいくつか注入するだけで、 攻撃者は両方のサーバと LAN を過負荷状態にすることができます。 同様の問題が内部 chargen ポートにも存在します。有能なシステム管理者は この手の inetd 内部テストサービスのすべてを無効にしておくものです。 .Pp 偽造パケット攻撃は、カーネルの経路情報キャッシュに過負荷を生じさせるために 用いられることもあります。net.inet.ip.rtexpire, rtminexpire, rtmaxcache の sysctl パラメータを参照して下さい。でたらめなソース IP を用いた この偽造パケット攻撃により、カーネルは、一時的なキャッシュ経路を 経路情報テーブルに生成します。これは .Sq netstat -rna \&| fgrep W3 で見ることができます。これらの経路は、普通は 1600 秒程度でタイムアウトに なります。カーネルがキャッシュ経路テーブルが大きくなり過ぎたことを 検知すると、カーネルは動的に rtexpire を減らしますが、rtminexpire より 小さくなるようには決して減らしません。ここに問題が 2 つあります。 (1) 負荷の軽いサーバが突然攻撃された場合、カーネルが十分素早く反応 できないこと。(2) カーネルが攻撃に耐え生き延びられるほど十分 rtminexpire が低く設定されていないこと。の2つです。 自分のサーバが T3 もしくはそれより 良質の回線でインターネットに接続されている場合、 .Xr sysctl 8 を用いて rtexpire と rtminexpire とを手動で上書きしておくことが思慮深いこと といえます。 .Pq 自分のマシンをクラッシュさせたくないのであれば :-) どちらか一方でも 0 に は決してしないで下さい。両パラメータを 2 秒に設定すれば、 攻撃から経路情報テーブルを守るには十分でしょう。 .Sh kerberos および ssh を用いたアクセスの問題 .Pp もしあなたが、kerberos および ssh を使用したいのだとしたら、両者に関して 言っておく必要のある問題がいくつかあります。 kerberos V は大変優れた認証プロトコルですが、kerberos 処理された telnet や rlogin は、バイナリストリームを扱うのに不向きになってしまうようなバグがあります。 さらに、デフォルトでは、kerberos は .Fl x オプションを使わない限りセッションを暗号化してくれません。 ssh では、デフォルトですべてを暗号化してくれます。 .Pp ssh はあらゆる場面でとても良く働いてくれます。ただし、 暗号鍵を送ってしまう場合を除けばです。これはつまり、暗号鍵を持った安全な ワークステーションがあって、この暗号鍵で残りのシステムとアクセスできる ようになっている場合では、安全でないマシンへ ssh を行なう時に暗号鍵が 見えてしまうということです。実際の鍵そのものが見えてしまうわけでは ありませんが、ssh は、login を持続させるために配送用ポートを作ります。 クラッカーが安全でないマシンの root を破ると、クラッカーは、 このポートを使って暗号鍵を取得し、暗号鍵でロックの外れる他のマシンへの アクセスを得ます。 .Pp staff のログインには、kerberos を組み合せた ssh を使用することを勧めます。 ssh は、kerberos と一緒にコンパイルできます。こうすると、見えて しまうかもしれない ssh 鍵をあまりあてにしないで良いようになります。 また、それと同時に、kerberos 経由でパスワードを保護することもできます。 ssh 鍵は、安全なマシンからの自動化されたタスク (kerberos では不向きな -ものなど ) 用のみに使用するべきです。また、ssh の設定で +ものなど ) 用のみに使用するべきです。また、ssh の設定で ssh 鍵を送らないようにするか、あるいは、 .Pa authorized_keys ファイル中で .Pa "from=IP/DOMAIN" オプションを使用して、特定のマシンからログインしてきたもののみに 有効になる鍵を ssh が生成できるようにすることも勧めます。 .Sh 関連項目 .Pp .Xr chflags 1 , .Xr find 1 , .Xr kerberos 1 , .Xr md5 1 , .Xr netstat 1 , .Xr ssh 1 , .Xr openssl 1 , .Xr xdm 1 , .Xr group 5 , .Xr ttys 5 , .Xr accton 8 , .Xr init 8 , .Xr sshd 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr vipw 8 .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に現れたのは、 .Fx 3.1 で 1998 年 12 月のことです。 .\" translated by Norihiro Kumagai, 98-12-29 diff --git a/ja_JP.eucJP/man/man8/crash.8 b/ja_JP.eucJP/man/man8/crash.8 index 079a82f288..c22274a0ab 100644 --- a/ja_JP.eucJP/man/man8/crash.8 +++ b/ja_JP.eucJP/man/man8/crash.8 @@ -1,231 +1,232 @@ .\" FreeBSD version Copyright (c) 1996 .\" Mike Pritchard . All rights reserved. .\" .\" Adapted from share/man/man8/man8.hp300/crash.8 .\" .\" Copyright (c) 1990, 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/man8/crash.8,v 1.9.2.2 2000/12/29 10:18:06 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man8/crash.8,v 1.9.2.3 2001/07/21 09:16:54 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/crash.8,v 1.8 2001/05/14 01:09:46 horikawa Exp $ .\" .Dd February 2, 1996 .Dt CRASH 8 .Os FreeBSD .Sh 名称 .Nm crash .Nd .Fx システム障害 .Sh 解説 このセクションではシステムクラッシュについて少し説明し、 クラッシュダンプの解析方法についても (かなり簡潔ですが) 述べます。 .Pp システムが自らクラッシュする際には、 .Bd -ragged -offset indent panic: なぜ死んだのか .Ed .Pp という形式でコンソールにメッセージを表示し、 もしダンプが有効になっていれば ( .Xr dumpon 8 参照) 大容量記憶装置にダンプをとり、 そして .Xr reboot 8 に述べられているように自動リブート手順を開始します。 ハードウェアあるいはソフトウェアの障害によって ファイルシステムの状態に予期せぬ矛盾点が見つかった場合を除き、 システムはマルチユーザモードでのオペレーションを再開します。 .Pp システムは数多くの内部一貫性チェックを行っています。 それらのチェックのうちひとつに引っかかると、 どのチェックに引っかかったかを示す簡潔なメッセージを表示して パニックします。 多くの場合、このメッセージはエラーを検知したルーチン名、 あるいは見つかった一貫性エラーを記述する 2 語のフレーズです。 ほとんどのパニックメッセージを完全に理解するには、 システムのソースコードを熟読する必要があります。 .Pp システム障害に共通するほとんどの原因はハードウェア障害であり、 それは様々なところに現れます。 ここでは発生する可能性の高いメッセージと、 原因に関する手掛かりを示します。 ハードウェアあるいはソフトウェアが予期せぬかたちで そのようなメッセージを出力する可能性については、全く述べていません。 .Pp .Bl -tag -width Ds -compact .It Sy "cannot mount root" このパニックメッセージは、ブートストラップ処理中に ルートファイルシステムをマウントできなかった場合に表示されます。 ルートファイルシステムが壊れているか、 システムが誤ったデバイスをルートファイルシステムとして使おうとしています。 通常、システムバイナリの別のコピーか 別のルートファイルシステムを用いてシステムを立ち上げ、調査します。 よく行われるのは、システムをインストールしたブートフロッピでブートし、 次に "fixit" フロッピを使用することです。 .Pp .It Sy "init: not found" これはパニックメッセージではなく、リブートしても無駄でしょう。 ブートストラップ処理の最後の段階で、 システムが初期化プロセス .Xr init 8 の場所を探してそれを実行するのに失敗したのです。 ルートファイルシステムが不正あるいは壊れている、 .Pa /sbin/init が実行不能モードあるいはタイプになっている、 もしくは .Pa /sbin/init 自体がなくなっています。 .Pp .Pp .It Sy "ffs_realloccg: bad optim" .It Sy "ffs_valloc: dup alloc" .It Sy "ffs_alloccgblk: cyl groups corrupted" .It Sy "ffs_alloccg: map corrupted" .It Sy "blkfree: freeing free block" .It Sy "blkfree: freeing free frag" .It Sy "ifree: freeing free inode" これらのパニックメッセージはファイルシステム内に矛盾点が見つかったときに 出力されるものです。 通常、この問題の原因は、 クラッシュ後の破損したファイルシステムの修復失敗、 ハードウェア障害、 あるいは通常発生しない他の条件にあります。 ファイルシステムのチェックを行えば、通常、問題は解決します。 .Pp .It Sy "timeout table full" 実はこれはパニックではありませんが、 関係するデータ構造の拡張を行う前に、 エントリが不足するためにクラッシュしたのです。 この現象が発生したら、timeout table を大きくして下さい。 .Pp .\" .It Sy "trap type %d, code = %x, v = %x" .\" An unexpected trap has occurred within the system; the trap types are: .\" .Bl -column xxxx -offset indent .\" 0 bus error .\" 1 address error .\" 2 illegal instruction .\" 3 divide by zero .\" .No 4\t Em chk No instruction .\" .No 5\t Em trapv No instruction .\" 6 privileged instruction .\" 7 trace trap .\" 8 MMU fault .\" 9 simulated software interrupt .\" 10 format error .\" 11 FP coprocessor fault .\" 12 coprocessor fault .\" 13 simulated AST .\" .El .\" .Pp .\" The favorite trap type in system crashes is trap type 8, .\" indicating a wild reference. .\" ``code'' (hex) is the concatenation of the .\" MMU .\" status register .\" (see ) .\" in the high 16 bits and the 68020 special status word .\" (see the 68020 manual, page 6-17) .\" in the low 16. .\" ``v'' (hex) is the virtual address which caused the fault. .\" Additionally, the kernel will dump about a screenful of semi-useful .\" information. .\" ``pid'' (decimal) is the process id of the process running at the .\" time of the exception. .\" Note that if we panic in an interrupt routine, .\" this process may not be related to the panic. .\" ``ps'' (hex) is the 68020 processor status register ``ps''. .\" ``pc'' (hex) is the value of the program counter saved .\" on the hardware exception frame. .\" It may .\" .Em not .\" be the PC of the instruction causing the fault. .\" ``sfc'' and ``dfc'' (hex) are the 68020 source/destination function codes. .\" They should always be one. .\" ``p0'' and ``p1'' are the .\" VAX-like .\" region registers. .\" They are of the form: .\" .Pp .\" .Bd -ragged -offset indent .\" '@' .\" .Ed .\" .Pp .\" where both are in hex. .\" Following these values are a dump of the processor registers (hex). .\" Finally, is a dump of the stack (user/kernel) at the time of the offense. .\" .Pp .It Sy "init died (signal #, exit #)" システム初期化プロセスが、示されたとおりのシグナルおよび終了コードで 終了してしまいました。 これは良くない知らせです。もう誰もログインできません。 リブートするしか手はなく、従ってシステムはただちにリブートします。 .El .Pp 以上が遭遇する可能性のあるパニックの種類一覧です。 .Pp クラッシュダンプを取るようにシステムが設定されている場合 ( .Xr dumpon 8 参照)、 システムがクラッシュすると ダンプデバイス (通常は 1 つめのスワップ領域と同じ) の終わりに メモリイメージを書き込みます (少なくとも書き込もうとします)。 システムがリブートした後、プログラム .Xr savecore 8 が起動し、後の解析のために、 このコアイメージと現在のシステムのコピーを特定ディレクトリに保存します。 詳細は .Xr savecore 8 を参照して下さい。 .Pp ダンプを解析するには、システムのロードイメージとコアダンプに対して .Xr gdb 1 を .Fl k オプション付きで起動します。 コアイメージがパニックによって生成されたものならば、 そのパニックメッセージが表示されます。 より詳しい情報は、 .Fx ハンドブック .Pq Pa http://www.FreeBSD.org の カーネルデバッギングの章を参照して下さい。 .Sh 関連項目 .Xr gdb 1 , .Xr dumpon 8 , .Xr reboot 8 , .Xr savecore 8 .Sh 歴史 .Nm マニュアルページは .Fx 2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/rc.8 b/ja_JP.eucJP/man/man8/rc.8 index a422270dc3..82899d500c 100644 --- a/ja_JP.eucJP/man/man8/rc.8 +++ b/ja_JP.eucJP/man/man8/rc.8 @@ -1,247 +1,248 @@ .\" Copyright (c) 1980, 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. .\" .\" @(#)rc.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/share/man/man8/rc.8,v 1.9.2.3 2000/12/08 14:59:19 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man8/rc.8,v 1.9.2.4 2001/07/21 09:16:54 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/rc.8,v 1.12 2001/05/14 01:09:57 horikawa Exp $ .\" .Dd December 11, 1993 .Dt RC 8 .Os BSD 4 .Sh 名称 .Nm rc .Nd 自動リブート処理とデーモン起動のためのコマンドスクリプト .Sh 書式 .Nm .Nm rc.conf .Nm rc.conf.local .Nm rc.d .Nm rc.serial .Nm rc.pccard .Nm rc.network .Nm rc.firewall .Nm rc.atm .Nm rc. .Nm rc.local .Nm rc.shutdown .Sh 解説 .Nm は自動リブート処理を制御するコマンドスクリプト (他のスクリプトを呼びます) で、 .Nm rc.local は特定サイトに特化したコマンドを記述するスクリプトです。 今日では、 典型的には /usr/local/etc/rc.d の機構が rc.local の代りに使用されます。 しかしながら、 rc.local を使用したいのであれば /etc/rc は未だこれをサポートしています。 この場合、rc.local が /etc/rc.conf を読み取るようにしてから、 あなたのシステム特有の更なるカスタムスタートアップコードを rc.local に追加してください。 .Nm rc.conf は rc ファイル群から参照されるグローバルなシステム構成情報を持ち、 .Nm rc.conf.local はローカルなシステム構成情報を持ちます。 .Xr rc.conf 5 を参照してください。 .Pp .Nm rc.d ディレクトリは、ブート時に自動的に実行されるスクリプトを保持します。 指定されたディレクトリは、 .Nm rc.local の実行直後に処理されます (処理対象ディレクトリの指定方法の詳細は後述します)。 各ディレクトリ内のスクリプトには、次の重要事項が適用されます: .Pp .Bl -bullet -compact .It スクリプトは、 .Xr basename 1 がシェルグロブパターン .Pa *.sh にマッチし、実行可能である場合のみ、実行されます。 このディレクトリ中の他のファイルやディレクトリは、黙って無視されます。 .It スクリプトを実行するとき、文字列 .Dq start が、最初かつ唯一の引数として渡されます。 すべての .Nm rc.d スクリプトは、この引数を適切に扱えるものであると期待されます。 .It 各ディレクトリ内のスクリプトは、辞書順に処理されます。 特定の順序が必要な場合には、 既存のファイル名の前に番号を付けると良いかもしれません。 例えば、 .Pa 100.foo は .Pa 200.bar の前に実行されますが、番号を前に付けないと逆の順番になります。 .El .Pp 典型的な各スクリプトの出力は、1 個の空白文字の後に、 起動されたソフトウェアパッケージ名が続き、 最後には改行文字は .Em 付きません ( .Sx 使用例 の節を見てください)。 .Pp 複数の .Nm rc.d ディレクトリから、システム起動スクリプトを実行可能です。 デフォルトの位置は .Pa /usr/local/etc/rc.d と .Pa /usr/X11R6/etc/rc.d ですが、 .Va local_startup .Xr rc.conf 5 変数で変更可能です。 .Pp .Nm rc.shutdown は、システムシャットダウンにおいて実行されることが必要なコマンドを持つ コマンドスクリプトです。 .Pp 自動リブート処理の進行中、 .Nm は .Em autoboot を引数として起動されます。 .Nm はその最初の部分で .Xr fsck 8 を .Fl p オプション付きで実行し、 前回のシステムシャットダウンによる些細なディスク不整合を全て「修繕」し、 ハードウェアあるいはソフトウェアの障害から生じた 重大なディスク不整合を調べます。 この自動チェックと修繕がうまくいくと、 .Nm の第二部が開始します。 .Pp .Nm の第二部は 自動リブート処理が成功した後および シングルユーザモードのシェルが終了して .Nm が起動された場合( .Xr init 8 参照)に実行されます。 この第二部はシステムの全てのデーモンを起動し、 エディタファイルを保存し、 一時ディレクトリ .Pa /tmp をクリアします。 .Pp .Nm rc.serial は、シリアルデバイスの特殊な構成があればそれを設定するために使用します。 .Pp .Nm rc.pccard は PC カードを有効にするために使用します。 .Pp .Nm rc.network はネットワークを起動するために使用します。 ネットワークの起動は 3 パスで行われます。 最初のパスは、ホスト名とドメイン名を設定し、 ネットワークインタフェースを構成し、 IP ファイアウォール規則があれば有効にし、ルーティングを有効にします。 第 2 パスは、ほとんどのネットワーク関連デーモンの起動を行います。 第 3 パスは、NFS, amd, rwhod, Kerberos, マルチキャストルーティングデーモンの 起動を行います。 .Pp .Nm rc.firewall は、カーネルベースのファイアウォールサービスの規則の設定に使用されます。 .Pp .Bl -tag -width "fBfilename" -compact -offset indent .It open 全入力を許可します。 .It client このマシンのみを保護しようとします。 .It simple 全ネットワークを保護しようとします。 .It closed lo0 以外の全 IP サービスを無効にします。 .It UNKNOWN ファイアウォール規則のロードを無効にします。 .It filename 指定したファイル名の規則をロードします (フルパス指定が必要)。 .El .Pp .Nm rc.atm は ATM ネットワークインタフェースを設定するために使用されます。 インタフェースは 3 つのパスで設定されます。 第 1 のパスでは、インタフェースの初期設定をおこないます。 第 2 のパスでは、インタフェースの設定が終り、 PVC および永続的な ATMARP エントリを定義します。 第 3 のパスでは、任意の ATM デーモンを起動します。 .Pp .Nm rc. はアーキテクチャ依存のプログラムを起動します。 .Pp .Nm rc.local が起動されるのは、上記スクリプトの後ですが、残りの .Nm ファイルが完了する前です。 デフォルトインストールでは、 .Nm rc.local は存在しませんが、システム管理者がこのファイルを生成すれば、 その内容が実行されます。 .Pp 伝統に従い、スタートアップファイルは .Pa /etc ディレクトリに置かれます。 .Sh 使用例 ブート時にデーモンを起動する、 .Nm rc.d スクリプトの仮想的な例を示します。 .Bd -literal -offset indent #!/bin/sh - # # foobar パッケージの初期化/シャットダウンスクリプト case "$1" in start) /usr/local/sbin/foo -d && echo -n ' foo' ;; *) echo "unknown option: $1 - should be 'start'" >&2 ;; esac .Ed .Sh 関連項目 .Xr rc.conf 5 , .Xr init 8 , .Xr reboot 8 , .Xr savecore 8 .Sh 歴史 .Nm コマンドは .Bx 4.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 b/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9 index fd9b855f96..eea8b21837 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.2.1 2000/12/14 12:43:55 ru Exp % +.\" %FreeBSD: src/share/man/man9/BUS_PRINT_CHILD.9,v 1.6.2.2 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/BUS_PRINT_CHILD.9,v 1.4 2001/05/14 01:10:20 horikawa Exp $ .Dd June 16, 1998 .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 +.Xr driver 9 .Sh 戻り値 出力の文字数です。 .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 7da17250e8..250ef1877c 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.2.1 2000/12/14 12:43:55 ru Exp % +.\" %FreeBSD: src/share/man/man9/DEVICE_DETACH.9,v 1.3.2.2 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/DEVICE_DETACH.9,v 1.4 2001/05/14 01:10:21 horikawa Exp $ .Dd June 16, 1998 .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/KASSERT.9 b/ja_JP.eucJP/man/man9/KASSERT.9 index c320dcd796..41519bb9b9 100644 --- a/ja_JP.eucJP/man/man9/KASSERT.9 +++ b/ja_JP.eucJP/man/man9/KASSERT.9 @@ -1,74 +1,74 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Jonathan M. Bresler .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/KASSERT.9,v 1.1.2.3 2001/03/06 19:08:21 ru Exp % +.\" %FreeBSD: src/share/man/man9/KASSERT.9,v 1.1.2.4 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/KASSERT.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ .Dd January 14, 2000 .Os .Dt KASSERT 9 .Sh 名称 .Nm KASSERT .Nd カーネル数式検証マクロ .Sh 書式 .Cd options INVARIANTS .Fn KASSERT expression "const char *msg" .Sh 解説 "options INVARIANTS" オプション付きでコンパイルされたカーネル内では、 .Fn KASSERT マクロは与えられた数式 .Ar expression をテストし、それが偽である場合には .Fn panic システムコールを呼び出し、稼働中のシステムを停止させます。 .Pp "options INVARIANTS" オプションの無いカーネル内では、 .Fn KASSERT マクロは何もしない様に定義されます。 .Sh 使用例 カーネル関数 .Fn vput は、NULL ポインタを引数として呼び出されてはなりません。 .Bd -literal -offset indent void vput(vp) struct vnode *vp; { struct proc *p = curproc; KASSERT(vp != NULL, ("vput: null vp")); ... } .Ed .Sh 関連項目 .Xr config 8 , .Xr panic 9 .Sh 作者 このマニュアルページは .An Jonathan M. Bresler .Aq jmb@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/SPLASSERT.9 b/ja_JP.eucJP/man/man9/SPLASSERT.9 index 386a42d72e..eeb9a5463a 100644 --- a/ja_JP.eucJP/man/man9/SPLASSERT.9 +++ b/ja_JP.eucJP/man/man9/SPLASSERT.9 @@ -1,89 +1,90 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Jonathan M. Bresler .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/SPLASSERT.9,v 1.1.2.3 2001/03/06 19:08:21 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/share/man/man9/SPLASSERT.9,v 1.1.2.4 2001/07/21 09:16:54 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/SPLASSERT.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ .\" .\" .Dd January 14, 2000 .Os .Dt SPLASSERT 9 .Sh 名称 .Nm SPLASSERT .Nd カーネル spl レベル検証マクロ .Sh 書式 .Cd options INVARIANTS .Cd options INVARIANT_SUPPORT .Fn SPLASSERT "char *level" "char *msg" .Sh 解説 "options INVARIANTS" および "options INVARIANT_SUPPORT" の両方の オプション付きでコンパイルされたカーネル内では、 .Fn SPLASSERT マクロはカーネルの現在の spl レベルと .Fn SPLASSERT マクロの中で指定された spl レベル .Fa level とを比較します。 指定された .Fa level がアクティブでない場合には、 .Fn SPLASSERT は .Fa msg を引数として .Fn KASSERT マクロを呼び出し、稼働中のシステムを停止させます。 .Pp "options INVARIANTS" および "options INVARIANT_SUPPORT" の両方の オプションが無いカーネル内では、 .Fn SPLASSERT マクロは何もしない様に定義されます。 .Sh 使用例 カーネル関数 .Fn rtalloc は .Fn splnet 時に呼び出されなければなりません。 .Bd -literal -offset indent void rtalloc(ro) register struct route *ro; { SPLASSERT(net, "rtalloc()"); rtalloc_ign(ro, 0UL); } .Pp .Sh 関連項目 .Xr config 8 , .Xr KASSERT 9 , -.Xr panic 9 +.Xr panic 9 .Sh 作者 このマニュアルページは .An Jonathan M. Bresler .Aq jmb@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS.9 b/ja_JP.eucJP/man/man9/VFS.9 index 6e75e6401b..3513b12698 100644 --- a/ja_JP.eucJP/man/man9/VFS.9 +++ b/ja_JP.eucJP/man/man9/VFS.9 @@ -1,66 +1,66 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS.9,v 1.4.2.1 2001/03/06 19:08:21 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS.9,v 1.4.2.2 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VFS.9,v 1.4 2001/05/14 01:10:21 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VFS 9 .Sh 名称 .Nm VFS .Nd ファイルシステムへのカーネルインターフェイス .Sh 解説 ファイルシステムの設定や情報を、 設定したり問い合わせたりするために使用される呼び出しです。 .Pp ある VFS 操作を実装しないファイルシステムは、 空の関数の実装したり、 .Fa eopnotsupp にキャストしたりするよりも、 .Pa src/sys/kern/vfs_default.c にある適切な .Fa vfs_std 関数を使用するべきです。 .Sh 関連項目 .Xr vnode 9 , .Xr VFS_CHECKEXP 9 , .Xr VFS_FHTOVP 9 , .Xr VFS_INIT 9 , .Xr VFS_MOUNT 9 , .Xr VFS_QUOTACTL 9 , .Xr VFS_START 9 , .Xr VFS_STATFS 9 , .Xr VFS_SYNC 9 , .Xr VFS_UNMOUNT 9 , .Xr VFS_VGET 9 , .Xr VFS_VPTOFH 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 index a192a24882..93a424c2db 100644 --- a/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 +++ b/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9 @@ -1,90 +1,90 @@ .\" .\" Copyright (c) 1999 Alfred Perlstein .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following condition .\" is met: .\" Redistributions of source code must retain the above copyright .\" notice, this condition and the following disclaimer. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_CHECKEXP.9,v 1.2 1999/09/11 21:00:03 alfred Exp % +.\" %FreeBSD: src/share/man/man9/VFS_CHECKEXP.9,v 1.2.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VFS_CHECKEXP.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ .Dd September 10, 1999 .Os .Dt VFS_CHECKEXP 9 .Sh 名称 .Nm VFS_CHECKEXP .Nd vnode がクライアントにエクスポートされているかどうかをチェック .Sh 書式 .Fd #include .Fd #include .Ft int .Fn VFS_CHECKEXP "struct mount *mp" "struct mbuf *nam" "int *exflagsp" "struct ucred **credanonp" .Sh 解説 これは、クライアントにマウントポイントがエクスポート されているかどうかをチェックするために、NFS サーバが使用します。 .Pp 引数は以下の通りです。 .Bl -tag -width credanonp .It Ar mp チェック対象のマウントポイント。 .It Ar nam クライアントのネットワークアドレスを含む mbuf。 .It Ar exflagsp このクライアントに対する、エクスポートフラグの戻り値。 .It Ar credanonp このクライアントに対する、匿名の証明の戻り値。 .El .Pp ファイルシステムのマウント構造に対して呼び出して、 .Fa nam にアドレスが含まれるクライアントに対してそのファイルシステムが エクスポートされているかどうかを決定できます。 .Pp 一般的には、 クライアントがファイルシステムにアクセス可能かを確認するために、 .Xr VFS_FHTOVP 9 の前に呼び出されます。 .Pp ファイルシステムは、 クライアントがファイルシステムをアクセスできるかを実証するために、 -.Dv netexport +.Dv netexport 構造体の適切なアドレス、クライアントのアドレス、および .Fa nam を伴って、 .Xr vfs_export_lookup 9 を呼び出すべきです。 .Pp .Sh 戻り値 そのクライアントに対するエクスポートフラグと ( .Xr vfs_export_lookup 9 から返される) 匿名の証明が .Fa *exflagsp と .Fa *credanonp に返されるでしょう。 .Sh 関連項目 .Xr VFS 9 , .Xr VFS_FHTOVP 9 , .Xr VFS_VPTOFH 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Alfred Perlstein が書きました。 diff --git a/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 index e26eab73d7..103dcee369 100644 --- a/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 +++ b/ja_JP.eucJP/man/man9/VFS_FHTOVP.9 @@ -1,83 +1,83 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VFS_FHTOVP.9,v 1.6.2.1 2001/03/06 19:08:21 ru Exp % +.\" %FreeBSD: src/share/man/man9/VFS_FHTOVP.9,v 1.6.2.2 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VFS_FHTOVP.9,v 1.3 2001/05/14 04:06:10 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VFS_FHTOVP.9,v 1.4 2001/06/25 02:03:01 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VFS_FHTOVP 9 .Sh 名称 .Nm VFS_FHTOVP .Nd NFS ファイルハンドルから vnode への変換 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn VFS_FHTOVP "struct mount *mp" "struct fid *fhp" "struct vnode **vpp" .Sh 解説 これは NFS ファイルハンドルから vnode へ 変換するために NFS サーバによって使用されます。 .Pp 引数は以下の通りです。 .Bl -tag -width vpp .It Ar mp ファイルシステム。 .It Ar fhp 変換されるファイルハンドル。 .It Ar vpp 新しい、ロックされた vnode の戻り値。 .El .Pp ファイルハンドルの内容は、ファイルシステムによって定義されていて、 システムの他の部分によって検査されません。 ファイルが削除された時や新しいファイルのためにファイルシステムの資源が 再利用された時の通知と同じ程度に、ファイルシステムの中のファイルを 独自に識別するための十分な情報を含んでいるべきです。 例えば、UFS ファイルシステムは、ファイルハンドルの中に inode 番号 および inode 世代カウンタを格納します。 .Pp 一般的にはこの関数への呼び出し前は、そのファイルがクライアントにとって アクセス可能であるかどうかを検査するために .Xr VFS_CHECKEXP 9 呼び出しが行われます。 .Pp .Sh 戻り値 そのファイルのロックされた vnode が .Fa *vpp に返されます。 .Sh 関連項目 .Xr VFS 9 , .Xr VFS_VPTOFH 9 , .Xr VFS_CHECKEXP 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_ACCESS.9 b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 index 16d3e59e69..897bab9f28 100644 --- a/ja_JP.eucJP/man/man9/VOP_ACCESS.9 +++ b/ja_JP.eucJP/man/man9/VOP_ACCESS.9 @@ -1,150 +1,150 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.7.2.2 2001/03/06 19:08:22 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_ACCESS.9,v 1.7.2.3 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_ACCESS.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_ACCESS.9,v 1.3 2001/05/14 04:06:10 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VOP_ACCESS 9 .Sh 名称 .Nm VOP_ACCESS .Nd ファイルまたは UNIX ドメインソケットのアクセス許可の調査 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn VOP_ACCESS "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" .Sh 解説 このエントリポイントは、与えられた証明に対する、ファイルの アクセス許可を調査します。 .Pp 引数は以下の通りです。 .Bl -tag -width mode .It Ar vp 調査対象ファイルの vnode。 .It Ar mode 要求されたアクセスのタイプ。 .It Ar cred 調査対象のユーザ証明。 .It Ar p 調査しているプロセス。 .El .Pp .Fa mode は .Dv VREAD , .Dv VWRITE または .Dv VEXEC を含むマスクです。 .Sh ロック vnode は、入る時にロックされ、戻る時にもロックされ続けます。 .Sh 戻り値 ファイルが指定された方法でアクセス可能な場合には、0 が返されます。 そうでない場合には、適切なエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_access(struct vnode *vp, int mode, struct ucred *cred, struct proc *p) { int error; /* * ファイルがソケット、FIFO、またはファイルシステムに存在する * ブロック型または文字型デバイスでない場合には、読み込み専用 * ファイルシステムへの書き込みは認められません。 */ if (mode & VWRITE) { switch (vp->v_type) { case VDIR: case VLNK: case VREG: if (vp->v_mount->mnt_flag & MNT_RDONLY) return EROFS; break; } } /* 不変ビットが設定されていれば、誰も書き込めません。 */ if ((mode & VWRITE) && vp has immutable bit set) return EPERM; /* そうでなければ、uid が 0 ならば常に許可。 */ if (cred->cr_uid == 0) return 0; mask = 0; /* そうでなければ、所有者を調べます。 */ if (cred->cr_uid == owner of vp) { if (mode & VEXEC) mask |= S_IXUSR; if (mode & VREAD) mask |= S_IRUSR; if (mode & VWRITE) mask |= S_IWUSR; return (((mode of vp) & mask) == mask ? 0 : EACCES); } /* そうでなければ、グループを調べます。 */ for (i = 0, gp = cred->cr_groups; i < cred->cr_ngroups; i++, gp++) if (group of vp == *gp) { if (mode & VEXEC) mask |= S_IXGRP; if (mode & VREAD) mask |= S_IRGRP; if (mode & VWRITE) mask |= S_IWGRP; return (((mode of vp) & mask) == mask ? 0 : EACCES); } - + /* そうでなければ、その他を調べます。 */ if (mode & VEXEC) mask |= S_IXOTH; if (mode & VREAD) mask |= S_IROTH; if (mode & VWRITE) mask |= S_IWOTH; return (((mode of vp) & mask) == mask ? 0 : EACCES); } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM 不変ファイルを変更しようとしました。 .It Bq Er EACCES 許可されません。 .El .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_FSYNC.9 b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 index 26915bdfa2..a738d06189 100644 --- a/ja_JP.eucJP/man/man9/VOP_FSYNC.9 +++ b/ja_JP.eucJP/man/man9/VOP_FSYNC.9 @@ -1,141 +1,141 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_FSYNC.9,v 1.6 1999/08/28 00:21:12 peter Exp % +.\" %FreeBSD: src/share/man/man9/VOP_FSYNC.9,v 1.6.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_FSYNC.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VOP_FSYNC 9 .Sh 名称 .Nm VOP_FSYNC .Nd ファイルシステムバッファのファイルへの吐き出し .Sh 書式 .Fd #include .Fd #include .Ft int .Fn VOP_FSYNC "struct vnode *vp" "struct ucred *cred" "int waitfor" "struct proc *p" .Sh 解説 この呼び出しはファイルの全ての汚れたバッファを吐き出します。 .Xr sync 2 および .Xr fsync 2 システムコールを実装するために使用されます。 .Pp 引数は以下の通りです。 .Bl -tag -width waitfor .It Ar vp ファイルの vnode。 .It Ar cred 呼び出し側の証明。 .It Ar waitfor 入出力の完了を関数が待つべきかどうか。 .It Ar p 呼び出しているプロセス。 .El .Pp 引数 .Fa waitfor は .Dv MNT_WAIT または .Dv MNT_NOWAIT のどちらかで、関数が戻る前に書き込みの終了を待つべきかどうかを指定します。 .Sh ロック ファイルはエントリ時にロックされるべきです。 .Sh 戻り値 呼び出しが成功した場合には 0 が返され、 そうでない場合には適切なエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_fsync(struct vnode *vp, struct ucred *cred, int waitfor, struct proc *p) { struct buf *bp; struct buf *nbp; struct timeval tv; int s; loop: s = splbio(); for (bp = vp->v_dirtyblkhd.lh_first; bp; bp = nbp) { nbp = bp->b_vnbufs.le_next; /* * 既に書き込み中のバッファを無視します。 */ if (bp->b_flags & B_BUSY) continue; /* * バッファが汚れているか確認します。 */ if ((bp->b_flags & B_DELWRI) == 0) panic("vop_fsync: not dirty"); vfs_bio_awrite(bp); splx(s); goto loop; } splx(s); if (waitfor == MNT_WAIT) { s = splbio(); while (vp->v_numoutput) { vp->v_flag |= VBWAIT; tsleep((caddr_t)&vp->v_numoutput, PRIBIO + 1, "vopfsn"); } splx(s); #ifdef DIAGNOSTIC if (vp->v_dirtyblkhd.lh_first) { vprint("vop_fsync: dirty", vp); goto loop; } #endif } /* * ディスク上の vnode を書き出します。 */ tv = time; return VOP_UPDATE(vp, &tv, &tv, waitfor == MNT_WAIT); } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOSPC ファイルシステムが一杯です。 .It Bq Er EDQUOT クォータを超過しました。 .El .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETACL.9 b/ja_JP.eucJP/man/man9/VOP_GETACL.9 index dc4e151cbf..e9adf0789d 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETACL.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETACL.9 @@ -1,97 +1,97 @@ .\"- .\" Copyright (c) 1999 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETACL.9,v 1.1.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_GETACL.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ .Dd December 23, 1999 .Os .Dt VOP_GETACL 9 .Sh 名称 .Nm VOP_GETACL .Nd vnode のアクセス制御リストの取り出し .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn VOP_GETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" .Sh 解説 この vnode 呼び出しは、 ファイルまたはディレクトリからアクセス制御リスト (ACL) を 取り出すために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Ar vp ファイルまたはディレクトリの vnode。 .It Ar type 取り出す ACL の型。 .It Ar aclp ACL データを受け取る ACL 構造体へのポインタ。 .It Ar cred 要求の認証で使用されるユーザ証明。 .It Ar p ACL を要求しているプロセス。 .El .Pp .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL の取り出しを、 カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースはファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック この vnode メソッドの呼び出しのためにロックは不要で、 入る時に保持していた全てのロックは戻る時まで保持されます。 .Sh 戻り値 .Fa aclp ポインタが有効な ACL を指している場合には、0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された ACL 型はこの vnode には無効です。 .It Bq Er EACCES 許可されませんでした。 .It Bq Er ENOMEM 要求を処理するために利用可能なメモリが足りません。 .It Bq Er EOPNOTSUPP ファイルシステムは VOP_GETACL をサポートしていません。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_ACLCHECK 9 , .Xr VOP_SETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 index 88c5165e2e..f0f24d6f18 100644 --- a/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 +++ b/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9 @@ -1,98 +1,98 @@ .\"- .\" Copyright (c) 1999 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" %FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.1.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9,v 1.2 2001/05/14 01:10:21 horikawa Exp $ .Dd December 23, 1999 .Os .Dt VOP_GETEXTATTR 9 .Sh 名称 .Nm VOP_GETEXTATTR .Nd vnode からの名前付き拡張属性の取り出し .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn VOP_GETEXTATTR "struct vnode *vp" "char *name" "struct uio *uio" "struct ucred *cred" "struct proc *p" .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリから、 指定した名前付き拡張属性を取り出すために使用することができます。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Ar vp ファイルまたはディレクトリの vnode。 .It Ar name 属性名が入った null で終端された文字列へのポインタ。 .It Ar uio 読み込むまたは書き込むべきデータの位置。 .It Ar cred 要求の認証で使用するためのユーザ証明。 .It Ar p 拡張属性を要求しているプロセス。 .El .Pp .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない拡張属性の取り出しを カーネルが正当化することを認めるために使用可能です。 .Pp 拡張属性のセマンティクスはファイルシステムの呼び出しの実装によって 異なるでしょう。拡張属性のより多くの情報は .Xr extattr 9 を参照してください。 .Sh LOCKS この vnode メソッドを呼び出すためにはロックは不要であり、 入る時に保持していた全てのロックは戻り時まで保持されます。 .Sh 戻り値 成功時には 0 が返され、読み込んだデータを反映して uio 構造体が更新されます。 そうでなければ適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er ENOENT この vnode のための属性名が定義されていません。 .It Bq Er EACCES 許可されませんでした。 .It Bq Er ENXIO 指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 .It Bq Er ENOMEM 要求を実行するための十分なメモリがありません。 .It Bq Er EFAULT uio 構造体が無効なユーザ空間アドレスを参照しています。 .It Bq Er EINVAL .Fa name または .Fa uio 引数が無効です。 .It Bq Er EOPNOTSUPP ファイルシステムが VOP_GETEXTATTR をサポートしていません。 .El .Sh 関連項目 .Xr extattr 9 , .Xr vnode 9 , .Xr VOP_SETEXTATTR 9 diff --git a/ja_JP.eucJP/man/man9/VOP_LEASE.9 b/ja_JP.eucJP/man/man9/VOP_LEASE.9 index ea294f09c6..ef562dba55 100644 --- a/ja_JP.eucJP/man/man9/VOP_LEASE.9 +++ b/ja_JP.eucJP/man/man9/VOP_LEASE.9 @@ -1,62 +1,62 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_LEASE.9,v 1.2.2.2 2000/12/12 10:00:56 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LEASE.9,v 1.2.2.3 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_LEASE.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd September 24, 1999 .Os .Dt VOP_LEASE 9 .Sh 名称 .Nm VOP_LEASE .Nd ユーザ証明と操作のタイプの特有の組に対する vnode の正当性の確認 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn VOP_LEASE "struct vnode *vp" "struct proc *p" "struct ucred *cred" "int type" .Sh 解説 このエントリポイントは、現在実装されていません。 この着想は、ユーザ証明と操作の型の特有の組のための vnode を確認するための ものだと信じています。 サポートされている、2 つの操作の型は LEASE_READ および LEASE_WRITE です。 現在、関数は常に 0 を返します。 .Pp .Sh ロック 入る時、vnode は排他的にロックされていなければならず、 戻り時まで排他的にロックされ続けているべきです。 .Sh 戻り値 成功時には、0 が返されます。そうでない場合にも、うーん... 0 が返されます。 .\" .Sh エラー .Sh 関連項目 .Xr VOP_READ 9 , .Xr VOP_WRITE 9 .Sh 作者 このマニュアルページは .An Matt Dillon が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LINK.9 b/ja_JP.eucJP/man/man9/VOP_LINK.9 index c3ceb9e9a7..2038ac3c37 100644 --- a/ja_JP.eucJP/man/man9/VOP_LINK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LINK.9 @@ -1,138 +1,138 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_LINK.9,v 1.9.2.1 2000/12/29 10:18:07 ru Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LINK.9,v 1.9.2.2 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_LINK.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_LINK.9,v 1.3 2001/05/14 04:06:10 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VOP_LINK 9 .Sh 名称 .Nm VOP_LINK .Nd ファイルの新しい名前の作成 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn VOP_LINK "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Sh 解説 これは、既存のファイルに対し、 指定したディレクトリ中の新しい名前をリンクします。 .Pp 引数は以下の通りです。 .Bl -tag -width 8n .It Ar dvp ディレクトリの vnode。 .It Ar vp リンクされるファイルの vnode。 .It Ar cnp ファイルについてのパス名情報。 .El .Pp パス名情報は、戻り時に開放されなければなりません。 ディレクトリとファイルの vnode は戻り時に開放されるべきではありません。 .Sh ロック ディレクトリ .Fa dvp は、入る時にロックされていて、戻り時もロックされ続けているべきです。 ファイル .Fa vp は、入る時にロックされておらず、戻り時もそのままであるべきです。 VOP コードが .Fa vp をロックする場合には、戻る前に必ずロックを解除しなければなりません。 .Sh 戻り値 ファイルが成功裏にリンクされた場合には 0 が返され、 そうでない場合にはエラーが返されます。 .Sh 疑似コード .Bd -literal int vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) { int error = 0; if (vp->v_mount != dvp->v_mount) { VOP_ABORTOP(dvp, cnp); error = EXDEV; goto out2; } if (vp != dvp && (error = VOP_LOCK(vp))) { VOP_ABORTOP(dvp, cnp); goto out2; } /* * 今、vp をロックしたので、out2 の代わりに out1 を使用 * しなければなりません。 */ if (vp would have too many links) { VOP_ABORTOP(dvp, cnp); error = EMLINK; goto out1; } if (vp is immutable) { VOP_ABORTOP(dvp, cnp); error = EPERM; goto out1; } /* * vp のリンクカウントをインクリメントし、ディスクに書き戻します。 */ ...; if (!error) { /* * ディレクトリの新しい名前を追加します。 */ ...; } free(cnp->cn_pnbuf, M_NAMEI); out1: if (vp != dvp) VOP_UNLOCK(vp); out2: return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM ファィルが変更不可能です。 .El .Sh 関連項目 .Xr vnode 9 , .Xr vn_lock 9 .Sh 作者 このマニュアルページは .An Doug Rabson が初めて書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_LOCK.9 b/ja_JP.eucJP/man/man9/VOP_LOCK.9 index 590cfd1a7f..8ad21198f6 100644 --- a/ja_JP.eucJP/man/man9/VOP_LOCK.9 +++ b/ja_JP.eucJP/man/man9/VOP_LOCK.9 @@ -1,178 +1,178 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_LOCK.9,v 1.8 1999/12/23 17:28:46 bde Exp % +.\" %FreeBSD: src/share/man/man9/VOP_LOCK.9,v 1.8.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_LOCK.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VOP_LOCK 9 .Sh 名称 .Nm VOP_LOCK , .Nm VOP_UNLOCK , .Nm VOP_ISLOCKED , .Nm vn_lock .Nd vnode アクセスの直列化 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn VOP_LOCK "struct vnode *vp" "int flags" "struct proc *p" .Ft int .Fn VOP_UNLOCK "struct vnode *vp" "int flags" "struct proc *p" .Ft int .Fn VOP_ISLOCKED "struct vnode *vp" "struct proc *p" .Ft int .Fn vn_lock "struct vnode *vp" "int flags" "struct proc *p" .Sh 解説 .Pp これらの呼び出しは、 ファイルシステムへのアクセスを直列化するために使用されます。 例えば、同一ファイルに対する 2 つの書き込みが同時に発生することを 避けるために使用します。 .Pp 引数は以下の通りです。 .Bl -tag -width flags .It Ar vp ロックまたはロック解除される vnode。 .It Ar flags 以下のロック要求タイプのひとつ。 .Bl -column LK_EXCLUPGRADE -offset indent .It Dv LK_SHARED Ta 共有ロック .It Dv LK_EXCLUSIVE Ta 排他的ロック .It Dv LK_UPGRADE Ta 共有から排他的へのアップグレード .It Dv LK_EXCLUPGRADE Ta 最初の共有から排他的へのアップグレード .It Dv LK_DOWNGRADE Ta 排他的から共有へのダウングレード .It Dv LK_RELEASE Ta 全てのロックタイプの解除 .It Dv LK_DRAIN Ta ロック状態終了までの待機 .El .Pp ロックタイプは、以下のロックフラグと .Em OR されているかもしれません。 .Bl -column LK_CANRECURSE -offset indent .It Dv LK_NOWAIT Ta ロックを待つために sleep しない .It Dv LK_SLEEPFAIL Ta sleep して、失敗を返す .It Dv LK_CANRECURSE Ta 再帰的排他的ロックを認める .It Dv LK_REENABLE Ta ロック消失後再有効化されるべき .It Dv LK_NOPAUSE Ta 空回りしない .El .Pp ロックタイプは、以下の制御フラグと .Em OR されているかもしれません。 .Bl -column LK_INTERLOCK -offset indent .It Dv LK_INTERLOCK Ta 呼び出し側が既に簡易ロックを保持している時に指定 (VOP_LOCK はロックを取得した後で簡易ロックを解除します) .It Dv LK_RETRY Ta ロックされるまでリトライ .It Dv LK_NOOBJ Ta オブジェクトを作成しない .El .It Ar p ロックを使用するためのプロセスコンテクスト。 .El .Pp カーネルコードは vnode をロックするために .Fn VOP_LOCK を直接呼び出さずに、 .Fn vn_lock を使用するべきです。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーが返されます。 .Sh 疑似コード .Bd -literal struct vopnode { int von_flag; /* * 他のファイルシステム固有データ */ ...; }; #define VON_LOCKED 1 #define VON_WANTED 2 #define VTOVON(vp) ((struct vopnode *) (vp)->v_data) int vop_lock(struct vnode *vp) { struct vopnode* vop; start: while (vp->v_flag & VXLOCK) { vp->v_flag |= VXWANT; tsleep((caddr_t)vp, PINOD, "voplk1", 0); } if (vp->v_tag == VT_NON) return ENOENT; - + vop = VTOVON(vp); if (vop->von_flag & VON_LOCKED) { vop->von_flag |= VON_WANTED; tsleep((caddr_t) vop, PINOD, "voplk2", 0); goto start; } vop->von_flag |= VON_LOCKED; return 0; } int vop_unlock(struct vnode *vp) { struct vopnode *vop = VTOVON(vp); if ((vop->von_flag & VON_LOCKED) == 0) { panic("vop_unlock not locked"); } vop->von_flag &= ~VON_LOCKED; if (vop->von_flag & VON_WANTED) { vop->von_flag &= ~VON_WANTED; wakeup((caddr_t) vop); } return 0; } int vop_islocked(struct vnode *vp) { struct vopnode *vop = VTOVON(vp); if (vop->von_flag & VON_LOCKED) return 1; else return 0; } .Ed .Sh 関連項目 .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 index 9226c15a8c..222ad24c8e 100644 --- a/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 +++ b/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9 @@ -1,102 +1,102 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_OPENCLOSE.9,v 1.6 1999/09/24 10:42:45 dillon Exp % +.\" %FreeBSD: src/share/man/man9/VOP_OPENCLOSE.9,v 1.6.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_OPENCLOSE.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VOP_OPEN 9 .Sh 名称 .Nm VOP_OPEN , .Nm VOP_CLOSE .Nd ファイルのオープンまたはクローズ .Sh 書式 .Fd #include .Fd #include .Ft int .Fn VOP_OPEN "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" .Ft int .Fn VOP_CLOSE "struct vnode *vp" "int mode" "struct ucred *cred" "struct proc *p" .Sh 解説 .Xr VOP_OPEN 9 エントリポイントは、 ファイルがプロセスによってアクセスされる前に呼び出され、 .Xr VOP_CLOSE 9 エントリポイントは、 ファイルに対するプロセスの仕事の完了後に呼び出されます。 .Pp 引数は以下の通りです。 .Bl -tag -width mode .It Ar vp ファイルの vnode。 .It Ar mode 呼び出しプロセスによって要求されたアクセスモード。 .It Ar p ファイルにアクセスしているプロセス。 .El .Pp アクセスモードは、 .Dv FREAD , .Dv FWRITE , .Dv O_NONBLOCK , .Dv O_APPEND を含むフラグの組です。 .Sh ロック .Xr VOP_OPEN 9 は、入る時に .Fa vp がロックされていることを期待し、戻り時までロックされたままにします。 .Pp .Xr VOP_CLOSE 9 は、vnode に結びつけられた参照が少なくとも 1 個は存在することを期待し、 vnode がロックされているかどうかは気にしません。 ロックおよび参照状態は、戻る時に変更されずにそのままになります。 .Fa vn_close は、ロックされていない参照された vnode を期待し、 戻る前に参照を手繰ることに注意してください。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_open(struct vnode *vp, int mode, struct ucred *cred, struct proc *p) { /* * ほとんどのファイルシステムは、ここでは大したことはしません。 */ return 0; } .Ed .Sh 関連項目 .Xr vnode 9 , .Xr VOP_LOOKUP 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_RDWR.9 b/ja_JP.eucJP/man/man9/VOP_RDWR.9 index 2d47b7f6d6..fe451d198f 100644 --- a/ja_JP.eucJP/man/man9/VOP_RDWR.9 +++ b/ja_JP.eucJP/man/man9/VOP_RDWR.9 @@ -1,233 +1,233 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_RDWR.9,v 1.9 1999/12/13 02:28:53 alfred Exp % +.\" %FreeBSD: src/share/man/man9/VOP_RDWR.9,v 1.9.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_RDWR.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VOP_RDWR 9 .Sh 名称 .Nm VOP_READ , .Nm VOP_WRITE .Nd ファイルの読み込みまたは書き込み .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn VOP_READ "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Ft int .Fn VOP_WRITE "struct vnode *vp" "struct uio *uio" "int ioflag" "struct ucred *cred" .Sh 解説 これらのエントリポイントは、ファイルの内容を読み込みまたは書き込みます。 .Pp 引数は以下の通りです。 .Bl -tag -width ioflag .It Ar vp ファイルの vnode。 .It Ar uio 読み込みまたは書き込み対象のデータの位置。 .It Ar ioflag 様々なフラグ。 .It Ar cnp 呼び出し側の証明。 .El .Pp .Fa ioflag 引数は、ファイルシステムに対する命令およびヒントを与えるために使用されます。 読み込みを試みる時には、上位の 16 ビットは、 -ファイルシステムが試みるべき先読みのヒントを (ファイルシステムブロック単位で) +ファイルシステムが試みるべき先読みのヒントを (ファイルシステムブロック単位で) 提供するために使用されます。 下位の 16 ビットは、以下のフラグを含むことができるビットマスクです。 .Bl -tag -width IO_NODELOCKED .It Dv IO_UNIT 不可分に入出力を行ないます。 .It Dv IO_APPEND 末尾に追加書き込みを行ないます。 .It Dv IO_SYNC 同期的に入出力を行ないます。 .It Dv IO_NODELOCKED 下位層のノードは既にロックされています。 .It Dv IO_NDELAY ファイルテーブルに .Dv FNDELAY フラグを設定します。 .It Dv IO_VMIO 仮想メモリ入出力 (VMIO) 領域にデータが既にあります。 .El .Sh ロック 入る時に、ファイルはロックされているべきで、終了時までロックされ続けます。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_read(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; long size, xfersize, blkoffset; int error; size = block size of filesystem; for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) { bytesinfile = size of file - uio->uio_offset; if (bytesinfile <= 0) break; lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (bytesinfile < xfersize) xfersize = bytesinfile; error = bread(vp, lbn, size, NOCRED, &bp); if (error) { brelse(bp); bp = NULL; break; } /* * 入出力エラーが起こった時には 0 でない b_resid のみ * を得ます。これは上で break を引き起こすべきです。 * しかしながら、短い読み込みがエラーを起こさなかった * 場合には、間違ったまたは初期化されていないデータの * uiomove を行なわないことを保証したい。 */ size -= bp->b_resid; if (size < xfersize) { if (size == 0) break; xfersize = size; } error = uiomove((char *)bp->b_data + blkoffset, (int)xfersize, uio); if (error) break; bqrelse(bp); } if (bp != NULL) bqrelse(bp); return error; } int vop_write(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred) { struct buf *bp; off_t bytesinfile; daddr_t lbn, nextlbn; off_t osize; long size, resid, xfersize, blkoffset; int flags; int error; osize = size of file; size = block size of filesystem; resid = uio->uio_resid; if (ioflag & IO_SYNC) flags = B_SYNC; else flags = 0; for (error = 0; uio->uio_resid > 0;) { lbn = uio->uio_offset / size; blkoffset = uio->uio_offset - lbn * size; xfersize = size - blkoffset; if (uio->uio_resid < xfersize) xfersize = uio->uio_resid; if (uio->uio_offset + xfersize > size of file) vnode_pager_setsize(vp, uio->uio_offset + xfersize); if (size > xfersize) flags |= B_CLRBUF; else flags &= ~B_CLRBUF; error = find_block_in_file(vp, lbn, blkoffset + xfersize, cred, &bp, flags); if (error) break; if (uio->uio_offset + xfersize > size of file) set size of file to uio->uio_offset + xfersize; error = uiomove((char *)bp->b_data + blkoffset, (int) xfersize, uio); /* XXX ufs はここでエラーチェックをしていません。何故? */ if (ioflag & IO_VMIO) bp->b_flags |= B_RELBUF; /* ??? */ if (ioflag & IO_SYNC) bwrite(bp); else if (xfersize + blkoffset == size) bawrite(bp); else bdwrite(bp); if (error || xfersize == 0) break; } if (error) { if (ioflag & IO_UNIT) { VOP_TRUNCATE(vp, osize, ioflag & IO_SYNC, cred, uio->uio_procp); uio->uio_offset -= resid - uio->uio_resid; uio->uio_resid = resid; } } else if (resid > uio->uio_resid && (ioflag & IO_SYNC)) { struct timeval tv; error = VOP_UPDATE(vp, &tv, &tv, 1); /* XXX これは何をしているの? */ } return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er ENOSPC ファイルシステムが一杯です。 .El .Sh 関連項目 .Xr uiomove 9 , .Xr vnode 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_REMOVE.9 b/ja_JP.eucJP/man/man9/VOP_REMOVE.9 index 4c9d6f60f4..a60e6c1b15 100644 --- a/ja_JP.eucJP/man/man9/VOP_REMOVE.9 +++ b/ja_JP.eucJP/man/man9/VOP_REMOVE.9 @@ -1,109 +1,109 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1996 Doug Rabson .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_REMOVE.9,v 1.7 1999/09/24 07:07:02 dillon Exp % +.\" %FreeBSD: src/share/man/man9/VOP_REMOVE.9,v 1.7.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_REMOVE.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd July 24, 1996 .Os .Dt VOP_REMOVE 9 .Sh 名称 .Nm VOP_REMOVE , .Nm VOP_RMDIR .Nd ファイルまたはディレクトリの削除 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn VOP_REMOVE "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Ft int .Fn VOP_RMDIR "struct vnode *dvp" "struct vnode *vp" "struct componentname *cnp" .Sh 解説 これらのエントリポイントは、それぞれファイルとディレクトリを削除します。 .Pp 引数は以下の通りです。 .Bl -tag -width dvp .It Ar dvp ディレクトリの vnode。 .It Ar vp 削除対象ファイルの vnode。 .It Ar cnp ファイルのパス名情報。 .El .Sh ロック .Fa dvp および .Fa vp 共に、入る時にロックされているべきで、戻り時もロックされ続けています。 .Sh 戻り値 成功時には 0 が返され、そうでない場合にはエラーコードが返されます。 .Sh 疑似コード .Bd -literal int vop_remove(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) { int error = 0; if (vp is immutable) { error = EPERM; goto out; } /* * ディレクトリから cnp->cn_nameptr の名前を削除し、vp のリンク * カウントを更新します。 */ ...; /* * "." の削除を試みる場合は注意してください。XXX これはより * 上層で取り扱われるべきです。 */ if (dvp == vp) vrele(vp); else vput(vp); vput(dvp); return error; } .Ed .Sh エラー .Bl -tag -width Er .It Bq Er EPERM ファイルは変更不可能です。 .It Bq Er ENOTEMPTY 空ではないディレクトリを削除しようとしています。 .El .Sh 関連項目 .Xr vnode 9 , .Xr VOP_LOOKUP 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETACL.9 b/ja_JP.eucJP/man/man9/VOP_SETACL.9 index 8a79f22fd0..a0e20259da 100644 --- a/ja_JP.eucJP/man/man9/VOP_SETACL.9 +++ b/ja_JP.eucJP/man/man9/VOP_SETACL.9 @@ -1,104 +1,104 @@ .\"- .\" Copyright (c) 1999 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_SETACL.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" %FreeBSD: src/share/man/man9/VOP_SETACL.9,v 1.1.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_SETACL.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd December 23, 1999 .Os .Dt VOP_SETACL 9 .Sh 名称 .Nm VOP_SETACL .Nd vnode のアクセス制御リストの設定 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn VOP_SETACL "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p" .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリの アクセス制御リスト (ACL) を設定するために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Ar vp ファイルまたはディレクトリの vnode。 .It Ar type 設定される ACL の型。 .It Ar aclp ACL データの取り出し元の ACL 構造体へのポインタ。 .It Ar cred 要求の認証時に使用されるユーザ証明。 .It Ar p ACL を設定しているプロセス。 .El .Pp .Fa aclp ポインタは、NULL を指定可能であり、 指定した ACL が削除されるべきであることを示します。 .Pp .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 カーネルが正当化することを認めるために使用可能です。 この cred の設定は、アクティブプロセスに許されていない拡張属性の変更を カーネルが正当化することを認めるために使用可能です。 .Pp vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は .Xr acl 9 を参照してください。 .Sh ロック 入る時に vnode はロックされ、戻り時にもロックされ続けているべきです。 .Sh 戻り値 ACL が成功裏に設定された場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 渡された ACL 型はこの vnode には無効です。または、ACL データが無効です。 .It Bq Er EACCES 許可されませんでした。 .It Bq Er ENOMEM 要求を実行するための十分なメモリがありません。 .It Bq Er EOPNOTSUPP ファイルシステムが VOP_SETACL をサポートしていません。 .It Bq Er ENOSPC ファイルシステムの領域不足です。 .It Bq Er EROFS ファイルシステムが読み取り専用です。 .El .Sh 関連項目 .Xr acl 9 , .Xr vnode 9 , .Xr VOP_ACLCHECK 9 , .Xr VOP_GETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 index a979d46cb7..ef576385f4 100644 --- a/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 +++ b/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9 @@ -1,112 +1,112 @@ .\"- .\" Copyright (c) 1999 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/VOP_SETEXTATTR.9,v 1.1 2000/01/05 04:59:01 rwatson Exp % +.\" %FreeBSD: src/share/man/man9/VOP_SETEXTATTR.9,v 1.1.2.1 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/VOP_SETEXTATTR.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd December 23, 1999 .Os .Dt VOP_SETEXTATTR 9 .Sh 名称 .Nm VOP_SETEXTATTR .Nd vnode への名前つき拡張属性の設定 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn VOP_SETEXTATTR "struct vnode *vp" "char *name" "struct uio *uio" "struct ucred *cred" "struct proc *p" .Sh 解説 この vnode 呼び出しは、ファイルまたはディレクトリに対し、 特定の名前付き拡張属性を設定するために使用可能です。 .Pp 引数は以下の通りです。 .Bl -tag -width type .It Ar vp ファイルまたはディレクトリの vnode。 .It Ar name 属性の名前が入った、ヌル文字で終端された文字列へのポインタ。 .It Ar uio 読み込みまたは書き込みされるデータの位置。 .It Ar cred 要求の認証で使用するユーザ証明。 .It Ar p 拡張属性を設定しているプロセス。 .El .Pp uio 構造体は、 .Xr VOP_WRITE での同じ名前の引数と同様に使用されます。しかしながら、 拡張属性が厳密な "name=value" のセマンティクスを規定しているので、 0 でないオフセットは却下されるでしょう。 .Pp .Fa uio ポインタは、NULL であることが可能であり、 指定された拡張属性が削除されるべきであることを指示します。 .Pp .Fa cred .Fa cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない拡張属性の変更を、 カーネルが正当化することを認めるために使用可能です。 .Pp 拡張属性のセマンティクスは、 呼び出しを実装しているファイルシステムに依存して異なり得ます。 拡張属性についてのより多くの情報は .Xr extattr 9 を参照してください。 .Sh ロック vnode は、入る時にロックされ、戻り時にもロックされ続けているべきです。 .Sh 戻り値 拡張属性が成功裏に設定された場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EACCES 許可されませんでした。 .It Bq Er ENXIO 指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。 .It Bq Er ENOMEM 要求を実行するための十分なメモリがありません。 .It Bq Er EFAULT uio 構造体が無効なユーザ空間アドレスを参照しています。 .It Bq Er EINVAL 名前または uio 引数が無効です。 .It Bq Er EOPNOTSUPP ファイルシステムが VOP_GETEXTATTR をサポートしていません。 .It Bq Er ENOSPC ファイルシステムに空き領域がありません。 .It Bq Er EROFS ファイルシステムが読み取り専用です。 .El .Sh 関連項目 .Xr extattr 9 , .Xr vnode 9 , .Xr VOP_GETEXTATTR 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/acl.9 b/ja_JP.eucJP/man/man9/acl.9 index cb53bd016a..9421fee55d 100644 --- a/ja_JP.eucJP/man/man9/acl.9 +++ b/ja_JP.eucJP/man/man9/acl.9 @@ -1,121 +1,121 @@ .\"- .\" Copyright (c) 1999, 2000 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/acl.9,v 1.2.2.2 2000/12/29 10:18:07 ru Exp % +.\" %FreeBSD: src/share/man/man9/acl.9,v 1.2.2.3 2001/07/21 09:16:54 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/acl.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/acl.9,v 1.3 2001/05/14 04:06:10 horikawa Exp $ .Dd December 23, 1999 .Os .Dt ACL 9 .Sh 名称 .Nm acl .Nd 仮想ファイルシステムアクセス制御リスト .Sh 書式 .Fd #include .Fd #include .Fd #include .Pp .Bd -literal typedef int acl_type_t; typedef int acl_tag_t; typedef mode_t acl_perm_t; struct acl_entry { acl_tag_t ae_tag; uid_t ae_id; acl_perm_t ae_perm; }; typedef struct acl_entry *acl_entry_t; struct acl { int acl_cnt; struct acl_entry acl_entry[ACL_MAX_ENTRIES]; }; typedef struct acl *acl_t; /* * acl_entry_t の a_tag に有効な値 */ #define ACL_USER_OBJ 0x00000001 #define ACL_USER 0x00000002 #define ACL_GROUP_OBJ 0x00000004 #define ACL_GROUP 0x00000008 #define ACL_MASK 0x00000010 #define ACL_OTHER 0x00000020 #define ACL_OTHER_OBJ ACL_OTHER /* * a_type_t 引数に有効な値 */ #define ACL_TYPE_ACCESS 0x00000000 #define ACL_TYPE_DEFAULT 0x00000001 #define ACL_TYPE_AFS 0x00000002 #define ACL_TYPE_CODA 0x00000003 #define ACL_TYPE_NTFS 0x00000004 #define ACL_TYPE_NWFS 0x00000005 /* * a_perm フィールドに可能なフラグ */ #define ACL_PERM_EXEC 0x0001 #define ACL_PERM_WRITE 0x0002 #define ACL_PERM_READ 0x0004 #define ACL_PERM_NONE 0x0000 #define ACL_PERM_BITS (ACL_PERM_EXEC | ACL_PERM_WRITE | ACL_PERM_READ) #define ACL_POSIX1E_BITS (ACL_PERM_EXEC | ACL_PERM_WRITE | ACL_PERM_READ) .Ed .Sh 解説 アクセス制御リスト、すなわち ACL は、 ファイルおよびディレクトリを表現する vnode に対する権限を、 きめ細かく指定可能とします。 しかしながら、 異なる ACL のセマンティクスを持つファイルシステムが過多にあるため、 vnode インタフェースは ACL の文法のみを理解し、基礎をなすファイルシステムが 細部を実装することを当てにしています。 基礎をなすファイルシステムに依存して、個々のファイルまたはディレクトリは、 関連付けられる 0 個以上の ACL を持つことが可能です。 それぞれ ACL の名前は、適切な vnode ACL 呼び出し .Xr VOP_ACLCHECK 9 , .Xr VOP_GETACL 9 , .Xr VOP_SETACL 9 の .Fa type フィールドを使用して指定されます。 .Pp 現在は、個々の ACL はカーネル内で固定サイズの ACL 構造体によって表現されます。 ACL は、ACL エントリの固定サイズ配列で構成されます。 各 ACL エントリは、 パーミッションの組、主要な名前空間、主要な識別子から構成されます。 結びつけられた acl_cnt フィールドの値に依存して、 これらの 0 個以上のエントリが "定義" されることが出来ます。 .Sh 関連項目 .Xr VFS 9 , .Xr VOP_ACLCHECK 9 , .Xr VOP_GETACL 9 , .Xr VOP_SETACL 9 .Sh 作者 このマニュアルページは .An Robert Watson が書きました。 diff --git a/ja_JP.eucJP/man/man9/at_exit.9 b/ja_JP.eucJP/man/man9/at_exit.9 index e404a07a04..86fd29d1d9 100644 --- a/ja_JP.eucJP/man/man9/at_exit.9 +++ b/ja_JP.eucJP/man/man9/at_exit.9 @@ -1,77 +1,77 @@ .\" .\" Copyright (c) 1996 Julian Elischer .\" .\" 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/at_exit.9,v 1.10.2.3 2001/01/12 16:16:02 ru Exp % +.\" %FreeBSD: src/share/man/man9/at_exit.9,v 1.10.2.4 2001/07/21 09:16:54 schweikh Exp % .\" " -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/at_exit.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd August 15, 1996 .Os .Dt AT_EXIT 9 .Sh 名称 .Nm at_exit , .Nm rm_at_exit .Nd exit 時に実行される関数の問合せ .Sh 書式 .Fd #include .Fd #include .Ft typedef\ void ( exitlist_fn ) ( struct\ proc\ * ) ; .Pp .Ft int .Fn at_exit "exitlist_fn func" .Ft int .Fn rm_at_exit "exitlist_fn func" .Sh 解説 .Nm の仕組みは、あらゆるプロセスの exit 時に、 そのことがカーネルモジュールに通知されることを保証します。 関数 .Fa func は、exit しようとしているプロセスの proc 構造体へのポインタを引数として 呼び出されます。 .Pp 通知に対する必要条件が取り除かれた場合、 .Fn at_exit の呼び出しと正確に一致する引数 .Fa func を伴って関数 .Fn rm_at_exit を呼び出さなければなりません。 .Pp .Sh 戻り値 .Fa at_exit 関数は errno を返し、0 は成功を意味します。 .Fn rm_at_exit 関数は、削除された項目の個数 (0 または 1 であるべきです) を返します。 .Sh 関連項目 .Xr _exit 2 .Sh 歴史 .Fn at_exit 関数は .Fx 2.2 で登場しました。 .Sh 作者 この関数は .An Julian Elischer Aq julian@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/at_fork.9 b/ja_JP.eucJP/man/man9/at_fork.9 index 40b05b1d4b..486baef775 100644 --- a/ja_JP.eucJP/man/man9/at_fork.9 +++ b/ja_JP.eucJP/man/man9/at_fork.9 @@ -1,80 +1,80 @@ .\" .\" Copyright (c) 1996 Julian Elischer .\" .\" 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/at_fork.9,v 1.9.2.2 2001/01/12 16:16:02 ru Exp % +.\" %FreeBSD: src/share/man/man9/at_fork.9,v 1.9.2.3 2001/07/21 09:16:54 schweikh Exp % .\" " -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/at_fork.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd August 15, 1996 .Os .Dt AT_FORK 9 .Sh 名称 .Nm at_fork , .Nm rm_at_fork .Nd fork 時に実行される関数の問合せ .Sh 書式 .Fd #include .Fd #include .Ft "typedef void" ( *forklist_fn ) .Fa ( "struct proc*" , "struct proc*" , int ) ; .Pp .Ft int .Fn at_fork "forklist_fn func" .Ft int .Fn rm_at_fork "forklist_fn func" .Sh 解説 .Nm の仕組みは、あらゆるプロセスの fork 時に、 そのことがカーネルモジュールに通知されることを保証します。 関数 .Fa func は、fork しようとしているプロセスの proc 構造体へのポインタ、 子プロセスの構造体へのポインタおよび .Xr rfork 2 で使用される fork の型を示すフラグを引数として呼び出されます。 .Pp 通知に対する必要条件が取り除かれた場合、 .Fn at_fork の呼び出しと正確に一致引数 .Fa func をとって関数 .Fn rm_at_fork を呼び出さなければなりません。 .Pp .Sh 戻り値 .Fn at_fork は errno を返し、0 は成功を意味します。 .Fn rm_at_fork は関数は、削除された項目の個数 (0 または 1 であるべきです) を返します。 .Sh 関連項目 .Xr fork 2 .Sh 歴史 .Fn at_fork 関数は .Fx 2.2 で登場しました。 .Sh 作者 この関数は .An Julian Elischer Aq julian@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/bios.9 b/ja_JP.eucJP/man/man9/bios.9 index f0d805020c..4cfa6e3fdf 100644 --- a/ja_JP.eucJP/man/man9/bios.9 +++ b/ja_JP.eucJP/man/man9/bios.9 @@ -1,123 +1,123 @@ -.\" %FreeBSD: src/share/man/man9/bios.9,v 1.4.2.3 2001/01/12 16:16:02 ru Exp % +.\" %FreeBSD: src/share/man/man9/bios.9,v 1.4.2.4 2001/07/21 09:16:57 schweikh Exp % .\" .\" Copyright (c) 1997 Michael Smith .\" 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 ``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$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/bios.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ .Dd Aug 1, 1997 .Dt BIOS 9 .Os FreeBSD .Sh 名称 -.Nm bios_sigsearch , +.Nm bios_sigsearch , .Nm bios32_SDlookup , .Nm bios32 .Nd PC BIOS との相互作用 .Sh 書式 .Fd #include .Fd #include .Ft u_int32_t .Fn bios_sigsearch "u_int32_t start" "u_char *sig" "int siglen" "int paralen" "int sigofs" .Ft int .Fn bios32_SDlookup "struct bios32_SDentry *ent" .Ft void .Fn bios32 "caddr_t entry" "struct bios32_args *args" .Fn BIOS_PADDRTOVADDR "addr" .Fn BIOS_VADDRTOPADDR "addr" .Vt extern struct bios32_SDentry PCIbios ; .Vt extern struct SMBIOS_table SMBIOStable ; .Vt extern struct DMI_table DMItable ; .Sh 解説 これらの関数は、BIOS 関数と x86 PC アーキテクチャシステムで出会うデータを 取り扱うための、汎用インタフェースを提供します。 .Bl -tag -width 20n .It Fn bios_sigsearch サービスシグネチャの BIOS アドレス空間を検索します。 サービスシグネチャは、 大抵はアンダスコアで囲まれている大文字の ASCII 文字列です。 検索は、 .Fa start から、または .Fa start が 0 の場合には BIOS の最初から始まります。 .Fa siglen バイトの BIOS イメージと .Fa sig とが、現在位置から .Fa sigofs バイトのオフセットにおいて比較されます。 マッチしないことが分かると、現在位置が .Fa paralen バイト増加されて検索が繰り返されます。 シグネチャが見つかった場合には、その実効物理アドレスが返されます。 シグネチャが見つからなかった場合には、0 が返されます。 .It Fn BIOS_VADDRTOPADDR カーネル仮想アドレス .Fa addr に対応する実効物理アドレスを返します。 .It Fn BIOS_VADDRTOPADDR 実効物理アドレス .Fa addr に対応するカーネル仮想アドレスを返します。 .It SMBIOStable NULL でない場合は、システム起動時に システムマネージメント BIOS (System Management BIOS; SMBIOS) テーブル から読み込まれた情報を含んでいる .Ft struct SMBIOS_table 構造体を指します。 .It DMItable NULL でない場合は、システム起動時に デスクトップマネージメントインタフェース (Desktop Management Interface; DMI) パラメータテーブル から読み込まれた情報を含んでいる .Ft struct DMI_table 構造体を指します。 .El .Sh BIOS32 システム起動時に、BIOS32 サービスディレクトリ (PCI 仕様の一部) の ために BIOS がスキャンされ、ディレクトリの存在が記録されます。 これは後で、他のサービスの場所を特定するために使用できます。 .Bl -tag -width 20n .It Fn bios32_SDlookup 引数 .Fa ent の .Fa ident フィールドで渡される 4 バイトの識別子にマッチする BIOS32 サービス の場所を特定しようと試みます。 .It Fn bios32 bios32 関数を呼び出します。 これは関数が、カーネルセグメント内で動作できることを 仮定しています (通常の場合)。 エントリポイントの仮想アドレスは .Fa entry で与えられ、 関数へのレジスタ引数は .Fa args で与えられます。 .It PCIbios NULL でない場合は、システム起動時に見つかった PCI BIOS エントリポイントを記述する .Ft struct bios32_SDentry 構造体を指します。 .El diff --git a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 index 36bfa1719d..b7a8c61773 100644 --- a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 @@ -1,161 +1,161 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/bus_alloc_resource.9,v 1.2.2.4 2001/06/03 13:41:08 alex Exp % +.\" %FreeBSD: src/share/man/man9/bus_alloc_resource.9,v 1.2.2.5 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/bus_alloc_resource.9,v 1.3 2001/05/14 04:06:11 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/bus_alloc_resource.9,v 1.4 2001/07/12 00:16:04 horikawa Exp $ .Dd May 18, 2000 .Dt BUS_ALLOC_RESOURCE 9 .Os FreeBSD .Sh 名称 .Nm bus_alloc_resource .Nd バス上の資源の割り当て .Sh 書式 .Fd #include .Fd #include .Pp .Fd #include .Fd #include .Fd #include .Ft struct resource * .Fn bus_alloc_resource "device_t dev" "int type" "int *rid" "u_long start" "u_long end" "u_long count" "u_int flags" .Sh 解説 .Pp これは資源管理関数群への簡単なインタフェースです。 親のメソッドテーブルを通る間接的な方法を隠蔽します。 この関数は、一般的にアタッチ時に呼び出されるべきですが、 (競合状態の場合を除いて) 決してその前に呼び出してはなりません。 .Pp 引数は以下の通りです。 .Bl -item .It .Fa dev は、資源の所有を要求するデバイスです。 割り当て前は、資源は親のバスによって所有されています。 .It .Fa type は、割り当てたい資源の型です。 以下の内の 1 つです。 .Bl -tag -width SYS_RES_MEMORY .It Dv SYS_RES_IRQ IRQ 用。 .It Dv SYS_RES_DRQ ISA DMA ライン用。 .It Dv SYS_RES_IOPORT 入出力ポート用。 .It Dv SYS_RES_MEMORY 入出力メモリ用。 .El .It .Fa rid は、割り当てている資源を識別する、バス固有のハンドルを指します。 ISA では、PnP の仕組みまたは hints の仕組みを通して、デバイスのために セットアップされている資源の配列へのインデックスです。 PCCARD では、この文章を書いている現時点では同様ですが、 将来の newcard では変わるかもしれません。 PCI では、pci コンフィグ空間において、 資源を記述するワードへのオフセットになっています。 バスのメソッドは、引数として与えられている RID を無制限に変更します。 以前に与えた時の値に依存してはなりません。 .It .Fa start および .Fa end は資源の開始/終了アドレスです。 start に .Dv 0 の値を end に .Dv ~0 の値を指定した場合には、バスのためのデフォルト値が計算されます。 .It .Fa count は資源の大きさで、例えば、入出力ポートの大きさです (これは大抵、PCI 上では .Dv 1 で、ISA および PCCARD 上ではデバイス依存です)。 .Fa start および .Fa end にデフォルト値を指定した場合、 .Fa count がデフォルト値よりも小さいならばデフォルト値が使用され、 .Fa count がデフォルト値以上ならば count が使用されます。 .It .Fa flags は資源のためのフラグを設定します。 以下のフラグを 1 つ以上設定できます。 .Bl -tag -width RF_SHAREABLE .It Dv RF_ALLOCATED 資源は既に予約されています。 資源は引続き .Xr rman_activate_resource 9 で活性化される必要があります。 .It Dv RF_ACTIVE 不可分に、資源を活性化します。 .It Dv RF_SHAREABLE 資源は同時共有を許可します。 その資源が共有不可であることを知らない場合、常に設定されるべきです。 バスが共有をサポートしていない場合、 このフラグを取り除くのはバスのコードの仕事です。この例として、 pccard/cardbus ではデバイスを共有できるかできないかは、バスに依存します。 .It Dv RF_TIMESHARE 資源は時分割共有を許可します。 .El .El .Sh 戻り値 成功時には .Va struct resource 構造体へのポインタが返され、そうでない場合にはヌルポインタが返されます。 .Sh 使用例 これはあるサンプルのコードです。 .Va portid および .Va irqid の値はこれらの呼び出しの後で、デバイスの softc の中に保存されるはずです。 .Bd -literal struct resource *portres, irqres; int portid, irqid; portid = 0; irqid = 0; - portres = bus_alloc_resource(dev, SYS_RES_IOPORT, &portid, + portres = bus_alloc_resource(dev, SYS_RES_IOPORT, &portid, 0ul, ~0ul, 32, RF_ACTIVE); - irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &irqid, + irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &irqid, 0ul, ~0ul, 1, RF_ACTIVE | RF_SHAREABLE); .Ed .Sh 関連項目 .Xr driver 9 , .Xr device 9 , .Xr bus_release_resource 9 .Sh 作者 このマニュアルページは .An Alexander Langer Aq alex@big.endian.de が書き、部分的に .An Warner Losh Aq imp@FreeBSD.ORG が書きました。 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 322fc8168a..0825a37f48 100644 --- a/ja_JP.eucJP/man/man9/bus_generic_print_child.9 +++ b/ja_JP.eucJP/man/man9/bus_generic_print_child.9 @@ -1,71 +1,71 @@ .\" -*- 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.2.1 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/bus_generic_print_child.9,v 1.3 2001/05/14 01:10:22 horikawa 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" という名前であるならば、 +与えられた '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_release_resource.9 b/ja_JP.eucJP/man/man9/bus_release_resource.9 index 0d7a09c82a..3fe0c45612 100644 --- a/ja_JP.eucJP/man/man9/bus_release_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_release_resource.9 @@ -1,110 +1,110 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/bus_release_resource.9,v 1.2.2.2 2001/06/03 13:41:08 alex Exp % +.\" %FreeBSD: src/share/man/man9/bus_release_resource.9,v 1.2.2.3 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/bus_release_resource.9,v 1.2 2001/05/14 01:10:22 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/bus_release_resource.9,v 1.3 2001/07/12 00:16:04 horikawa Exp $ .Dd May 18, 2000 .Dt BUS_RELEASE_RESOURCE 9 .Os FreeBSD .Sh 名称 .Nm bus_release_resource .Nd バス上の資源の開放 .Sh 書式 .Fd #include .Fd #include .Pp .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn bus_release_resource "device_t dev" "int type" "int rid" "struct resource *r" .Sh 解説 .Xr bus_alloc_resource 9 によって割り当てられた資源を開放します。 その資源は開放時に使用中であってはなりません。 すなわち、適切な関数 (IRQ のための .Xr bus_teardown_intr 9 など) を事前に呼び出してください。 .Bl -item .It .Fa dev は、資源を所有しているデバイスです。 .It .Fa type は、開放される資源の型です。 以前に割り当てた時と同一の型でなければなりません。 有効な型については .Xr bus_alloc_resource 9 を参照してください。 .It .Fa rid は、資源の資源識別子です。 .Fa rid は .Xr bus_alloc_resource 9 によって返された識別子と同一でなければなりません。 .It .Fa r は .Va struct resource 構造体へのポインタで、すなわち .Xr bus_alloc_resource 9 によって返された資源そのものです。 .El .Sh 戻り値 デバイス .Fa dev が親を持たない場合には .Er EINVAL が返され、そうでない場合には .Dv 0 が返されます。 資源を開放できない場合には、カーネルはパニックするでしょう。 .Sh 使用例 .Bd -literal /* IRQ の不活性化 */ - bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid); + bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid); /* IRQ 資源の開放 */ bus_release_resource(dev, SYS_RES_IRQ, foosoftc->irqid, foosoftc->irqres); /* 入出力ポートの資源の開放 */ bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid, foosoftc->portres); .Ed .Sh 関連項目 .Xr driver 9 , .Xr device 9 , .Xr bus_alloc_resource 9 .Sh 作者 このマニュアルページは .An Alexander Langer Aq alex@big.endian.de が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_add_driver.9 b/ja_JP.eucJP/man/man9/devclass_add_driver.9 index 23d7975875..9b732a25ff 100644 --- a/ja_JP.eucJP/man/man9/devclass_add_driver.9 +++ b/ja_JP.eucJP/man/man9/devclass_add_driver.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/devclass_add_driver.9,v 1.3 1999/08/28 00:21:21 peter Exp % +.\" %FreeBSD: src/share/man/man9/devclass_add_driver.9,v 1.3.2.1 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/devclass_add_driver.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ .Dd June 16, 1998 .Dt DEVCLASS_ADD_DRIVER 9 .Os FreeBSD .Sh 名称 .Nm devclass_add_driver , .Nm devclass_delete_driver , .Nm devclass_find_driver .Nd devclass の中のドライバの操作 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn devclass_add_driver "devclass_t dc" "driver_t *driver" .Ft int .Fn devclass_delete_driver "devclass_t dc" "driver_t *driver" .Ft driver_t * .Fn devclass_find_driver "devclass_t dc" "const char *name" .Sh 解説 .Pp これらの関数は、システムに新しいドライバを追加するため、 古いドライバを削除するため、 および存在しているドライバを探すため、使用可能です。 通常、ドライバはシステム初期化時に自動的に追加されます。 .Sh 関連項目 .Xr devclass 9 , .Xr driver 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/devclass_get_device.9 b/ja_JP.eucJP/man/man9/devclass_get_device.9 index 2c339cb384..0422a373d3 100644 --- a/ja_JP.eucJP/man/man9/devclass_get_device.9 +++ b/ja_JP.eucJP/man/man9/devclass_get_device.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/devclass_get_device.9,v 1.4 1999/08/28 00:21:21 peter Exp % +.\" %FreeBSD: src/share/man/man9/devclass_get_device.9,v 1.4.2.1 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/devclass_get_device.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ .Dd June 16, 1998 .Dt DEVCLASS_GET_DEVICE 9 .Os FreeBSD .Sh 名称 .Nm devclass_get_device .Nd ユニット番号からデバイスへの変換 .Sh 書式 .Fd #include .Fd #include .Ft device_t .Fn devclass_get_device "devclass_t dc" "int unit" .Sh 解説 .Pp この関数は、指定されたユニット番号のデバイスインスタンスを取り出し、 それを返します。 .Sh 戻り値 デバイスが存在する場合にはそのデバイスが返され、 そうでない場合には NULL が返されます。 .Sh 関連項目 .Xr devclass 9 , .Xr device 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/devfs_add_devswf.9 b/ja_JP.eucJP/man/man9/devfs_add_devswf.9 index f0b67a6765..04a56971cc 100644 --- a/ja_JP.eucJP/man/man9/devfs_add_devswf.9 +++ b/ja_JP.eucJP/man/man9/devfs_add_devswf.9 @@ -1,87 +1,87 @@ .\" .\" Copyright (c) 1995 Joerg Wunsch .\" .\" 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/devfs_add_devswf.9,v 1.9.2.3 2000/12/29 10:18:07 ru Exp % +.\" %FreeBSD: src/share/man/man9/devfs_add_devswf.9,v 1.9.2.4 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/devfs_add_devswf.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/devfs_add_devswf.9,v 1.3 2001/05/14 04:06:11 horikawa Exp $ .Dd December 31, 1995 .Os FreeBSD .Dt DEVFS_ADD_DEVSWF 9 .Sh 名称 .Nm devfs_add_devswf .Nd デバイスをデバイススイッチテーブルに結合 .Sh 書式 .Fd #include .Fd #include .Ft void * .Fn devfs_add_devswf "void *devsw" "int minor" "int chrblk" "uid_t uid" "gid_t gid" "int perms" "char *fmt" ... .Sh 解説 devfs にエントリを追加する呼び出しは .Nm です。 .Pp 引数は以下の通りです。 .Bl -tag -width 8n .It Ar devsw アクセスするべき devsw エントリの名前のアドレス。 .It Ar minor マイナ番号。 .It Ar chrblk デバイスが CHAR 型か BLK 型か。 .It Ar uid 所有者 UID。 .It Ar gid 所有者 GID。 .It Ar perms パーミッション (例えば rwxr--r-- = 0744)。 .It Ar fmt 名前を含む整形された文字列で、 もし当てはまるならば DEVFS の中のデバイスへのパス名。 .El .Sh 戻り値 トークンを返します。 このトークンは、同じデバイスに対して他の名前をリンクするため .Pq Xr devfs_link 9 を参照 または、そのデバイスを破棄するため .Pq Xr devfs_remove_dev 9 を参照 に使用可能です。 .Sh 関連項目 .Xr devfs_link 9 , .Xr devfs_remove_dev 9 .Sh 歴史 関数 .Nm は .Fx 2.2 で登場しました。 .Sh 作者 .An -nosplit このマニュアルページは .An Julian Elischer の解説の後に .An J\(:org Wunsch が書きました。 diff --git a/ja_JP.eucJP/man/man9/devfs_remove_dev.9 b/ja_JP.eucJP/man/man9/devfs_remove_dev.9 index 3d2509af80..e133aefa32 100644 --- a/ja_JP.eucJP/man/man9/devfs_remove_dev.9 +++ b/ja_JP.eucJP/man/man9/devfs_remove_dev.9 @@ -1,67 +1,67 @@ .\" .\" Copyright (c) 1997 Julian Elischer .\" .\" 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 may not claim other authorship to .\" the exclusion of the copyright holder. -.\" 3. Redistributors of binary releases must be willing if asked, to +.\" 3. Redistributors of binary releases must be willing if asked, to .\" admit the true authorship and source of this software. .\" .\" 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. .\" .\" -translation to english: .\" - You can't claim it's yours without admitting to the bits I wrote. .\" - You don't need to say anything in binary releases unless asked. -.\" %FreeBSD: src/share/man/man9/devfs_remove_dev.9,v 1.5.2.1 2000/05/09 14:12:53 sheldonh Exp % +.\" %FreeBSD: src/share/man/man9/devfs_remove_dev.9,v 1.5.2.2 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/devfs_remove_dev.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ .Dd December 25, 1997 .Os FreeBSD .Dt DEVFS_REMOVE_DEV 9 .Sh 名称 .Nm devfs_remove_dev .Nd devfs デバイスノードへの全ての参照の削除とそのノードの削除 .Sh 書式 .Fd #include .Fd #include -.Ft void +.Ft void .Fn devfs_remove_dev "void * token" .Sh 解説 関数 .Nm は以前の .Fn devfs_add_devswf または .Fn devfs_link の呼び出しでのトークンを引数としてとり、 そのデバイスの全ての痕跡をデバイスファイルシステムから削除します。 .Sh 関連項目 .Xr devfs_add_devswf 9 , .Xr devfs_link 9 .Sh 歴史 関数 .Nm は .Fx 2.2 で登場しました。 .Sh 作者 DEVFS は .An Julian Elischer が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_add_child.9 b/ja_JP.eucJP/man/man9/device_add_child.9 index dccd1a7f82..1763c386ff 100644 --- a/ja_JP.eucJP/man/man9/device_add_child.9 +++ b/ja_JP.eucJP/man/man9/device_add_child.9 @@ -1,100 +1,100 @@ .\" -*- 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_add_child.9,v 1.8.2.1 2000/05/09 14:12:53 sheldonh Exp % +.\" %FreeBSD: src/share/man/man9/device_add_child.9,v 1.8.2.2 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/device_add_child.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ .Dd June 16, 1998 .Dt DEVICE_ADD_CHILD 9 .Os FreeBSD .Sh 名称 .Nm device_add_child , .Nm device_add_child_ordered .Nd 存在しているデバイスの子として新しいデバイスを追加 .Sh 書式 .Fd #include .Fd #include .Ft device_t .Fn device_add_child "device_t dev" "const char *name" "int unit" .Ft device_t .Fn device_add_child_ordered "device_t dev" "int order" "const char *name" "int unit" .Sh 解説 .Pp .Fa dev の新しい子デバイスを追加します。 .Fa name および .Fa unit 引数はデバイスの名前とユニット番号を指定します。 名前が不明の場合には、呼び出し側は .Dv NULL を渡すべきです。 ユニット番号が不明の場合には、呼び出し側は .Dv -1 を渡すべきで、システムは次の使用可能なユニット番号を選択するでしょう。 .Pp デバイスの名前は、どのドライバがそのデバイスに適切であるかを 決定するために使用されます。 名前が指定されている場合には、その名前のドライバのみがプローブされます。 名前が与えられなかった場合には、 認識しているバスの全てのドライバがプローブされます。 .Pp これは、デバイスインスタンスを独自に識別することができるバス (PCI 等) が、 個々のドライバが個々のデバイスインスタンスに適合しているか チェック可能にします。 供給されたプローブヒントに依存して、 たった 1 つのドライバがデバイスをプローブ可能なバスでは、 ドライバの名前はデバイスの名前として指定されるべきです。 .Pp 通常、ユニット番号はシステムによって時動的に選択されますので、ユニット番号は .Dv -1 が与えられるべきです。 指定のユニット番号が希望された時に (例えば、ハードウェアの一部分を あらかじめ設定されたユニット番号に結びつけるため)、unit は渡されるべきです。 指定されたユニット番号が既に割り当てられていた場合には、新しいユニット番号が 割り当てられ、診断メッセージが表示されます。 .Pp 指定の順序でプローブされなければならないバス (例えば、ISA バス用の幾つかの デバイスは関連の無いドライバのプローブの試みの失敗に敏感で、それゆえ 最初にプローブされなければならない) にアタッチされたデバイスの場合には、 .Xr device_add_child_ordered 9 の .Fa order 引数が半順序を指定するために使用されるべきです。 新しいデバイスは、 既存のより大きい順序を持つすべてのデバイスの前に追加されます。 .Xr device_add_child 9 が使用された場合には、順序が 0 であるとして新しい子が追加されます。 .Sh 戻り値 成功時には新しいデバイスが、そうでなければ NULL が返されます。 .Sh 関連項目 .Xr device 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_get_state.9 b/ja_JP.eucJP/man/man9/device_get_state.9 index 73f6004eda..67f93c853e 100644 --- a/ja_JP.eucJP/man/man9/device_get_state.9 +++ b/ja_JP.eucJP/man/man9/device_get_state.9 @@ -1,96 +1,96 @@ .\" -*- 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_get_state.9,v 1.3.2.1 2001/01/16 10:41:23 ru Exp % +.\" %FreeBSD: src/share/man/man9/device_get_state.9,v 1.3.2.2 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/device_get_state.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/device_get_state.9,v 1.3 2001/05/14 04:06:11 horikawa Exp $ .Dd June 16, 1998 .Dt DEVICE_GET_STATE 9 .Os FreeBSD .Sh 名称 .Nm device_get_state , .Nm device_busy , .Nm device_unbusy , .Nm device_is_alive .Nd デバイス状態の操作 .Sh 書式 .Fd #include .Fd #include .Ft device_state_t .Fn device_get_state "device_t dev" .Ft void .Fn device_busy "device_t dev" .Ft void .Fn device_unbusy "device_t dev" .Ft int .Fn device_is_alive "device_t dev" .Sh 解説 .Pp デバイスの現在の状態は、 .Dv DS_NOTPRESENT , .Dv DS_ALIVE , .Dv DS_ATTACHED , .Dv DS_BUSY ( .Xr device 9 で説明されています) を返す .Xr device_get_state 9 の呼び出しによってアクセスされます。 デバイスがうまくプローブされたことを確認するには、単純に状態が .Dv DS_ALIVE 以上であるかどうかを返す .Xr device_is_alive 9 を呼び出します。 .Pp 個々のデバイスは、 .Xr device_busy 9 が呼び出された時にインクリメントされ、 .Xr device_unbusy 9 が呼び出された時にデクリメントされるビジーカウントを持っています。 どちらのルーチンもデバイスの状態が .Dv DS_ATTACHED より小さい場合にはエラーを返します。 .Pp デバイスが .Dv DS_ATTACHED 状態で .Xr device_busy 9 が呼び出された時には、デバイスは .Dv DS_BUSY 状態に遷移します。 .Xr device_unbusy 9 が呼び出されでデクリメントされた後にデバイスのビジーカウントが 0 ならば、 デバイスは .Dv DS_ATTACHED 状態に遷移します。 .Sh 関連項目 .Xr device 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/device_set_flags.9 b/ja_JP.eucJP/man/man9/device_set_flags.9 index 98d1379943..a95c5ea011 100644 --- a/ja_JP.eucJP/man/man9/device_set_flags.9 +++ b/ja_JP.eucJP/man/man9/device_set_flags.9 @@ -1,60 +1,60 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 1999 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_set_flags.9,v 1.1 1999/09/12 16:01:11 dfr Exp % +.\" %FreeBSD: src/share/man/man9/device_set_flags.9,v 1.1.2.2 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/device_get_flags.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/device_set_flags.9,v 1.1 2001/07/06 02:23:23 horikawa Exp $ .Dd September 6, 1999 .Dt DEVICE_GET_FLAGS 9 .Os FreeBSD .Sh 名称 .Nm device_set_flags , .Nm device_get_flags .Nd ドライバフラグの操作 .Sh 書式 .Fd #include .Fd #include .Ft void .Fn device_set_flags "device_t dev" "u_int32_t flags" .Ft u_int32_t .Fn device_get_flags "device_t dev" .Sh 解説 .Pp 個々のデバイスは、デバイスの振舞いを制御するために使用される ドライバ依存のフラグの組を、しばしばサポートしています。 これらのフラグは .Xr device_get_flags 9 の呼び出しによって読み込まれ、 .Xr device_set_flags 9 の呼び出しによって書き込まれます。 .Sh 関連項目 .Xr device 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/devtoname.9 b/ja_JP.eucJP/man/man9/devtoname.9 index 3ac72fc965..a390c4b460 100644 --- a/ja_JP.eucJP/man/man9/devtoname.9 +++ b/ja_JP.eucJP/man/man9/devtoname.9 @@ -1,57 +1,57 @@ .\" Copyright (c) 1999 Chris Costello .\" All rights reserved. -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.\" -.\" %FreeBSD: src/share/man/man9/devtoname.9,v 1.2.2.1 2000/04/19 02:34:20 chris Exp % -.\" -.\" $FreeBSD$ +.\" +.\" %FreeBSD: src/share/man/man9/devtoname.9,v 1.2.2.2 2001/07/21 09:16:57 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/devtoname.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ .Dd September 25, 1999 .Os .Dt DEVTONAME 9 .Sh 名称 .Nm devtoname .Nd dev_t データをデバイス名を示す文字列に変換 .Sh 書式 .Fd #include .Fd #include .Ft const char * .Fn devtoname "dev_t dev" .Sh 解説 .Fn devtoname 関数は、渡されたデバイスの名前へのポインタを返します。 名前は .Fn make_dev で設定されたものです。 .Va dev に関連付けられた名前が無い場合には、 .Dq # とそれに続く .Va dev に割り当てられている .Dq Va メジャー Ns / Ns Va マイナ番号 で構成される文字列へのポインタが返されます。 .Sh 歴史 .Fn devtoname インタフェースは .Fx 4.0 で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man9/driver.9 b/ja_JP.eucJP/man/man9/driver.9 index b1770b4af9..06f83f495b 100644 --- a/ja_JP.eucJP/man/man9/driver.9 +++ b/ja_JP.eucJP/man/man9/driver.9 @@ -1,110 +1,110 @@ .\" -*- 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/driver.9,v 1.3.2.1 2000/09/17 12:41:34 alex Exp % +.\" %FreeBSD: src/share/man/man9/driver.9,v 1.3.2.2 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/driver.9,v 1.2 2001/05/14 01:10:23 horikawa Exp $ .Dd June 16, 1998 .Dt DRIVER 9 .Os FreeBSD .Sh 名称 .Nm driver .Nd デバイスドライバを記述する構造体 .Sh 書式 .Bd -literal #include #include static int foo_probe(device_t); static int foo_attach(device_t); static int foo_detach(device_t); static int foo_frob(device_t, int, int); static int foo_twiddle(device_t, char *); static struct device_method foo_methods[] = { /* デバイスインタフェースからのメソッド */ DEVMETHOD(device_probe, foo_probe), DEVMETHOD(device_attach, foo_attach), DEVMETHOD(device_detach, foo_detach), /* bogo インタフェースからのメソッド */ DEVMETHOD(bogo_frob, foo_frob), DEVMETHOD(bogo_twiddle, foo_twiddle), /* メソッドリストの終端 */ { 0, 0 } }; static driver_t foo_driver { "foo", foo_methods, DRIVER_TYPE_MISC, sizeof(struct foo_softc), }; static devclass_t foo_devclass; DRIVER_MODULE(foo, bogo, foo_driver, foo_devclass, 0, 0); .Ed .Sh 解説 カーネルの中の個々のドライバは .Dv driver_t 構造体によって記述されます。 この構造体はデバイスの名称、メソッドのリストへのポインタ、 ドライバが実装したデバイスの種類の表示、 およびドライバがデバイスインスタンスに関連付けるために必要な私的データの大きさ を含んでいます。 各々のドライバは 1 つ以上の (インタフェースと呼ばれる) メソッドの組を 実装します。 上記の例のドライバは標準の "driver" インタフェースと 仮想的な "bogo" インタフェースを実装しています。 .Pp ドライバが ( .Dv DRIVER_MODULE マクロによって、 .Xr DRIVER_MODULE 9 を参照) システムに登録される時に、 その親のバスタイプの devclass の中に含まれている ドライバのリストに追加されます。 例えば、全ての PCI ドライバは "pci" と名付けられた devclass に含まれ、 全ての ISA ドライバは "isa" と名付けられた devclass に含まれます。 ドライバが親のバスのデバイスオブジェクトの中に保持されない理由は、 与えられたバスのタイプの複数のインスタンスを取り扱うためです。 .Dv DRIVER_MODULE マクロはそのドライバの名前の devclass も生成します。 最後の 2 つの引数として追加のモジュールイベントハンドラとその引数を 与えることによって、 オプションでドライバの追加の初期化コードを呼び出すことができます。 .Sh 関連項目 .Xr DRIVER_MODULE 9 , .Xr devclass 9 , .Xr device 9 .Sh 作者 このマニュアルページは .An Doug Rabson が書きました。 diff --git a/ja_JP.eucJP/man/man9/inittodr.9 b/ja_JP.eucJP/man/man9/inittodr.9 index d7f198c06f..40fb58bae4 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 % .\" .\" 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.2.1 2000/12/08 14:59:20 ru Exp % +.\" %FreeBSD: src/share/man/man9/inittodr.9,v 1.4.2.2 2001/07/21 09:16:57 schweikh 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 +.\" 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 .Fx の実装は、 バッテリバックアップクロックを使用できない場合は、 -.Fa base +.Fa base で与えられた時刻をもっとうまく検証するべきでしょう。 現在は無条件にシステムタイムをこの値に設定します。 diff --git a/ja_JP.eucJP/man/man9/intro.9 b/ja_JP.eucJP/man/man9/intro.9 index b9849e9279..05dc417f6d 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.2.3 2000/12/29 10:18:07 ru Exp % +.\" %FreeBSD: src/share/man/man9/intro.9,v 1.10.2.4 2001/07/21 09:16:57 schweikh Exp % .\" .Dd December 13, 1995 .Dt INTRO 9 .Os FreeBSD .Sh 名称 .Nm intro .Nd システムカーネルインターフェイスの紹介 .Sh 解説 このセクションはカーネル内のインターフェイスとサブルーチンについての 情報を含んでいます。 .Sh ANSI-C 等のプロトタイプ お願いします。 .Pp 我々は全てのコードが完全にプロトタイプされていることを望みます。 .Pp あなたのコードが .Nm cc -.Ar -Wall +.Ar -Wall とした時にきれいにコンパイルできれば、我々は嬉しく思います。 これは .Nm cc を黙らせることが問題ではなく、 苦情の原因事象を避けることが問題であるということを理解することが重要です。 遠慮なしに言うと、キャストや他の不明瞭化する手法で問題を隠すのではなく、 問題を解決してください。 .Sh インデントとスタイル それを信用するかどうかは別として、 インデントとスタイルについてのガイドが現に存在します。 けれども広くは適用されていません。 .Pp 人々がそれに注意を払い、少なくとも露骨に違反しないならば、 我々はそれを認めるでしょう。 .Pp 我々はあまりにもひどくない限り、あなたの独自のスタイルを気にしませんが、 必ず我々にも読めるようにしてください。 .Pp 更に情報を得るために .Xr style 9 を読む時間を取ってください。 .Sh 命名規則 幾つかの一般的な規則があります。 -.Bl -enum +.Bl -enum .It ある関数が DDB でのデバッグ支援を意図したものであるならば、 それは下記のように囲まれるべきです。 .Bd -literal -offset indent #ifdef DDB #endif /* DDB */ .Ed .Pp 加えて、関数の名前は、それがデバッガルーチンであることが明確にわかるように、 -.Li DDB_ +.Li DDB_ を接頭辞として始めるべきです。 .El .Sh シンボルのスコープ カーネル内のシンボルのスコープは注意深く考慮することが重要です。 何らかの理由でそう出来ない場合以外は、デフォルトでは全てを static にします。 .Pp この方針には幾つかの理由があります。 主な理由は、カーネルは単一の名前空間であることと、 ここでは名前空間の汚染もあまり名案ではないということです。 .Pp デバイスドライバと カーネルに新しい内部のインターフェイスを追加しないモジュールでは、 可能であるならば全てのソースコードが一つのファイルであるべきです。 それは全てのシンボルを static にできる方法であるからです。 .Pp 何らかの理由によりモジュールが複数のファイルに分割される場合には、 大きな境界線に沿ってそのモジュールを分割するよう努力して、 グローバルなシンボルの数を手引にして熟考してください。 少ない方が好ましいです。 .Sh 関連項目 .Xr style 9 .Sh 歴史 .Nm セクションのマニュアルページは .Fx 2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man9/kernacc.9 b/ja_JP.eucJP/man/man9/kernacc.9 index c97a373670..9fee6bdaeb 100644 --- a/ja_JP.eucJP/man/man9/kernacc.9 +++ b/ja_JP.eucJP/man/man9/kernacc.9 @@ -1,92 +1,92 @@ .\" %NetBSD: access.9,v 1.1 1996/06/16 10:38:35 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/kernacc.9,v 1.7 2000/03/03 14:05:06 sheldonh Exp % +.\" %FreeBSD: src/share/man/man9/kernacc.9,v 1.7.2.1 2001/07/21 09:16:57 schweikh Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/kernacc.9,v 1.2 2001/05/14 01:10:24 horikawa Exp $ .Dd June 16, 1996 .Dt KERNACC 9 .Os FreeBSD .Sh 名称 .Nm kernacc , .Nm useracc .Nd メモリ領域がアクセス可能か否かの調査 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn kernacc "caddr_t addr" "int len" "int rw" .Ft int .Fn useracc "caddr_t addr" "int len" "int rw" .Sh 解説 .Fn kernacc および .Fn useracc 関数は、 .Fa addr および .Fa len によって与えられる仮想アドレス範囲で、 .Fa rw で指定された操作のタイプが許可されるかどうかを調査します。 .Fa rw の指定可能な値は、 .Dv VM_PROT_READ , -.Dv VM_PROT_WRITE +.Dv VM_PROT_WRITE および .Dv VM_PROT_EXECUTE の論理合成値です。 .Fn kernacc はカーネルアドレス空間の中のアドレスを調べ、一方 .Fn useracc は .Fa addr をユーザ空間のアドレス表現とみなします。 この操作に使用されるプロセスコンテキストは大域変数 .Va curproc から得られます。 .Pp .Sh 戻り値 どちらの関数も、 .Fa rw によって指定されるタイプのアクセスが許可されている場合には、 ブール値 true を返します。 そうでない場合には、ブール値 false が返されます。 .Pp .Sh バグ .Fn useracc への引数として、プロセスへのポインタが渡されるべきです。 diff --git a/ja_JP.eucJP/man/man9/make_dev.9 b/ja_JP.eucJP/man/man9/make_dev.9 index 0d2e3ebf97..094e425755 100644 --- a/ja_JP.eucJP/man/man9/make_dev.9 +++ b/ja_JP.eucJP/man/man9/make_dev.9 @@ -1,97 +1,97 @@ .\" Copyright (c) 1999 Chris Costello .\" All rights reserved. -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.\" -.\" %FreeBSD: src/share/man/man9/make_dev.9,v 1.2 1999/12/23 17:16:31 bde Exp % -.\" -.\" $FreeBSD$ +.\" +.\" %FreeBSD: src/share/man/man9/make_dev.9,v 1.2.2.1 2001/07/21 09:16:57 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/make_dev.9,v 1.2 2001/05/14 01:10:24 horikawa Exp $ .Dd September 25, 1999 .Os .Dt MAKE_DEV 9 .Sh 名称 .Nm make_dev , .Nm destroy_dev .Nd 新しいデバイスのための dev_t および devfs 登録の作成と削除 .Sh 書式 .Fd #include .Fd #include .Ft dev_t .Fn make_dev "struct cdevsw *cdevsw" "int minor" "uid_t uid" "gid_t gid" "int perms" "char *fmt" ... .Ft void .Fn destroy_dev "dev_t dev" .Sh 解説 .Fn make_dev 関数は新しいデバイスのための .Fa dev_t 構造体を作成します。 DEVFS が利用可能な場合、 DEVFS にもまた新しいデバイスの存在が通知されます。 そのデバイスは .Va uid によって所有され、 .Va gid のグループに所有され、 .Va name で指定される名前を持ちます。 .Va perms に指定するファイルのパーミッションは .Aq Pa sys/stat.h で定義されています。 .Pp .Bd -literal -offset indent -compact #define S_IRWXU 0000700 /* 所有者の RWX マスク #define S_IRUSR 0000400 /* 所有者の R */ #define S_IWUSR 0000200 /* 所有者の W */ #define S_IXUSR 0000100 /* 所有者の X */ #define S_IRWXG 0000070 /* グループの RWX マスク */ #define S_IRGRP 0000040 /* グループの R */ #define S_IWGRP 0000020 /* グループの W */ #define S_IXGRP 0000010 /* グループの X */ #define S_IRWXO 0000007 /* その他の RWX マスク */ #define S_IROTH 0000004 /* その他の R */ #define S_IWOTH 0000002 /* その他の W */ #define S_IXOTH 0000001 /* その他の X */ #define S_ISUID 0004000 /* 実行時にユーザ ID を設定 */ #define S_ISGID 0002000 /* 実行時にグループ ID を設定 */ #define S_ISVTX 0001000 /* スティッキービット */ #ifndef _POSIX_SOURCE #define S_ISTXT 0001000 #endif .Ed .Pp .Fn destroy_dev 関数は、 .Fn make_dev から返された .Fa dev_t をとり、そのデバイスの登録を削除します。 .Sh 歴史 .Fn make_dev および .Fn destroy_dev 関数は .Fx 4.0 で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man9/malloc.9 b/ja_JP.eucJP/man/man9/malloc.9 index fa4e607c47..5b2b6977a2 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.2.2 2001/03/06 19:08:22 ru 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.2.3 2001/07/21 09:16:57 schweikh 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 +.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 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 8acdac62c9..97a57506b8 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 % .\" .\" 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.2.1 2001/03/06 19:08:22 ru Exp % +.\" %FreeBSD: src/share/man/man9/panic.9,v 1.4.2.2 2001/07/21 09:16:57 schweikh 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 +.Fa panicstr がこのメッセージのアドレスに設定されます。 .Pp もしカーネルデバッガが搭載されていれば、デバッガに制御を渡します。 さもなければ、オペレーティングシステムのコアダンプを 設定されているダンプデバイスに保存するように試みます。 .Pp もし .Fn panic が 2 度呼ばれた場合(たとえばディスク同期ルーチンから)には、 ディスクの同期無しでシステムはリブートされます。 .Sh 戻り値 .Fn panic 関数は戻りません。 diff --git a/ja_JP.eucJP/man/man9/spl.9 b/ja_JP.eucJP/man/man9/spl.9 index 10c6d06cb9..e29b6213e4 100644 --- a/ja_JP.eucJP/man/man9/spl.9 +++ b/ja_JP.eucJP/man/man9/spl.9 @@ -1,198 +1,198 @@ .\" .\" 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.2.2 2000/12/29 10:18:08 ru Exp % +.\" %FreeBSD: src/share/man/man9/spl.9,v 1.8.2.3 2001/07/21 09:16:57 schweikh 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 .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 までの全てをブロックします)いた事が知られています。 これは .Fx にはあてはまりません。 伝統的な名前 .Ql level はいまだに文字 .Ql l としてそれぞれの関数や変数の名前に反映されています。 しかし、実際にはもはやレベルではなく、 むしろ異なった(部分的に含まれた)関数群がシステムのある期間ブロックされます。 歴史的な番号による方法は単純で順番通りの 割り込み優先度レベルグループであるとみなす事ができます。 .Sh 作者 このマニュアルページは .An J\(:org Wunsch が書きました。 diff --git a/ja_JP.eucJP/man/man9/style.9 b/ja_JP.eucJP/man/man9/style.9 index e9a4754c4e..bcebfe80ff 100644 --- a/ja_JP.eucJP/man/man9/style.9 +++ b/ja_JP.eucJP/man/man9/style.9 @@ -1,606 +1,606 @@ -.\" Copyright (c) 1995 FreeBSD Inc. +.\" 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:$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/style.9,v 1.9 2001/07/12 00:16:04 horikawa Exp $ .\" .Dd December 14, 1995 .Dt STYLE 9 .Os FreeBSD .Sh 名称 .Nm style .Nd カーネルソースファイルのスタイルガイド .Sh 解説 このファイルは .Fx ソースツリーのカーネルソースに好ましいスタイルを明記しています。 これはユーザランドのコードスタイルの手引きでもあります。 .\" $ と FreeBSD を続けるとキーワード置換されるので、\& を挿入 -.\" 2001/05/23 horikawa@jp.FreeBSD.org +.\" 2001/05/23 horikawa@jp.FreeBSD.org .Bd -literal /* * FreeBSD のためのスタイルガイドです。 * CSRG の KNF (Kernel Normal Form, カーネル標準書式) に基づいています。 * * @(#)style 1.14 (Berkeley) 4/28/95 - * $\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.11 2001/07/01 23:45:53 dd Exp $ + * $\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.12 2001/07/21 09:16:58 schweikh Exp $ */ /* * とても重要な 1 行のコメントはこのようにします。 */ /* 殆どの 1 行のコメントはこのようにします。 */ /* * 複数行にわたるコメントはこのようにします。実際の文章を書きます。実際の * 段落に見えるように埋めていきます。 */ .Ed .Pp 著作権ヘッダの後には空行を 1 行入れ、ソースファイルには .Va rcsid を付けます。 バージョン管理システムの ID タグは、ファイル中に 1 個のみあるべきです (このファイルでは違いますが)。 C/C++ ソースファイル以外はこの例に従いますが、 C/C++ ソースファイルは以降の例に従います。 外部から入手したファイルの すべての VCS (バージョン管理システム) リビジョン識別子は、維持します。 これには、ファイルの来歴を示す複数の ID も含みます。 一般的に、`$' も含めて、ID はそのままとします。 ほとんどの非 FreeBSD の VCS ID は、 コメント中ではタブでインデントされているでしょう。 .Bd -literal #ifndef lint #if 0 static char sccsid[] = "@(#)style 1.14 (Berkeley) 4/28/95"; #endif static const char rcsid[] = - "$\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.11 2001/07/01 23:45:53 dd Exp $"; + "$\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.12 2001/07/21 09:16:58 schweikh Exp $"; #endif /* not lint */ .Ed .Pp この後に空行を 1 行付けます。 .Pp カーネルのインクルードファイル (すなわち、sys/*.h) が初めに来ます。 通常、 または のどちらかが必要ですが、 両方は必要ないでしょう。 をインクルードしており、 依存関係は問題ありません。 .Bd -literal #include /* 角括弧による非ローカルインクルード */ .Ed .Pp ネットワークプログラムである場合は、 次にネットワークインクルードファイルを置きます。 .Bd -literal #include #include #include #include #include .Ed .Pp それから空行を置き、/usr インクルードファイルを続けます。 /usr インクルードファイルはソートされているべきです。 .Bd -literal #include .Ed .Pp グローバルなパス名は /usr/include/paths.h で定義されています。 プログラムにローカルなパス名はローカルディレクトリの pathnames.h に入れます。 .Bd -literal #include .Ed .Pp それから、空行があって、ユーザインクルードファイルが来ます。 .Bd -literal #include "pathnames.h" /* " " によるローカルインクルード */ .Ed .Pp アプリケーションインタフェースを実装している場合を除き、 実装の名前空間で #define したり名前を定義したりしてはいけません。 .Pp .Dq Li 安全でない マクロ (副作用を持っているもの) の名前と、 明らかな定数のマクロの名前はすべて大文字です。 式のように展開されるマクロは、単一のトークンにするか外側に括弧をつけます。 .Ql #define とマクロ名の間にタブ文字を 1 個入れます。 マクロがある関数のインライン展開である場合は、 関数名は全て小文字で、マクロはすべて大文字の同じ名前を持ちます。 .\" XXX 上記は名前が同じマクロを #undef すれば関数を使える .\" という ANSI のスタイルと衝突します。 .\" これは MALLOC() については言えないし、インライン関数を使う時の .\" 一般的なやりかたではありません。 マクロが 1 行以上必要な場合は、ブレース .Po .Sq \&{ と .Sq \&} .Pc を使用します。 バックスラッシュは右揃えします。こうすると読みやすくなります。 マクロが複合文をカプセル化する場合には、それを .Dq Li do ループで囲みます。 これにより、 .Dq Li if 文で安全に使用できます。 最後の文の終端のセミコロンは、 マクロではなくマクロの実施時に付けられるべきです。 これにより、清書器やエディタで文法解析しやすくなります。 .Bd -literal #define MACRO(x, y) do { \e variable = (x) + (y); \e (y) += 2; \e } while(0) .Ed .Pp 列挙値は全て大文字を使用します。 .Bd -literal enum enumtype { ONE, TWO } et; .Ed .Pp 構造体の中で変数を宣言する時には、 使用順、サイズ順、アルファベット順にソートして宣言します。 最初の区分は通常適用しませんが、例外があります。 各宣言は、それぞれ独立した行にて行います。 最初の語の後にタブ文字を 1 個置きます、すなわち .Ql int^Ix; と .Ql struct^Ifoo *x; です。 .Pp 重要な構造体は、それが使用されるファイルの先頭で宣言されるか、 複数のソースファイルで使用される場合は別のヘッダファイルで宣言されるべきです。 構造体がヘッダファイルで宣言されている場合には、 それら構造体の使用は、宣言とは分けられるべきで、かつ "extern" であるべきです。 .Bd -literal struct foo { struct foo *next; /* 使用中の foo リスト */ struct mumble amumble; /* mumble のコメント */ int bar; }; struct foo *foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 可能な時には必ず、あなた自身でリストを操作するのではなく、 .Xr queue 3 マクロを使用してください。 従って、前の例をより良く書くと次のようになります。 .Bd -literal #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 または +標準 C または .Tn POSIX によって明示されたものを除いては、 .Dq Li \&_t で終る typedef を避けてください。 .Bd -literal /* 構造体名と 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 void function(int fd); .Ed .Pp ユーザランドのアプリケーションに対して見えるヘッダファイルの中では、 可視のプロトタイプは、 型を伴った保護された名前を使用するか、 型だけで名前を使用しないかのどちらかが必要です。 保護された名前の使用がより望ましいです。 例えば、このように使用します。 .Bd -literal void function(int); .Ed .Pp または .Bd -literal void function(int _fd); .Ed .Pp プロトタイプは関数名の行揃えを行なうために、タブの後に追加のスペース文字を 置いても構いません。 .Bd -literal 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 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 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 for (; cnt < 15; cnt++) { stmt1; stmt2; } .Ed .Pp インデントは 8 文字のタブです。 第 2 レベルのインデントは 4 文字のスペースです。 .Bd -literal 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 if (test) stmt; else if (bar) { stmt; stmt; } else stmt; .Ed .Pp 関数名の後はスペースを空けません。 コンマの後にはスペースを持ちます。 .Sq \&( または .Sq \&[ の後ろまたは .Sq \&] または .Sq \&) の前にはスペースを空けません。 .Bd -literal error = function(a1, a2); if (error != 0) exit(error); .Ed .Pp 単項演算子はスペースを要求しませんが、二項演算子は要求します。 優先順位が要求する場合または文が括弧なしでは混乱する場合以外は、 括弧は使用しません。 他人はあなたよりも混乱しやすいかもしれないということを覚えておいてください。 あなたは以下を理解できますか? .Bd -literal a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1; k = !(l & FLAGS); .Ed .Pp 成功時には 0 で、または .Xr sysexits 3 にあらかじめ定義してある値で exit するべきです。 .Bd -literal exit(EX_OK); /* * "Exit 0 on success." (成功時は 0 で終了) * の様に明白なコメントは避けてください */ } .Ed .Pp 関数の型は、関数自身に先行する行にあるべきです。 .Bd -literal static char * function(int a1, int a2, float fl, int a4) { .Ed .Pp 関数の中で変数を宣言する時には、サイズ順に、次にアルファベット順に ソートして宣言します。 1 行に複数の宣言は可能です。 行が溢れる場合は、型の予約語を再度使用します。 .Pp 宣言時に変数を初期化することによってコードを 不明瞭にしない様に注意してください。 この機能は良く考えて使用してください。 初期化に関数呼び出しを使用しないでください。 .Bd -literal 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 !(p = f()) .Ed .Pp ではなく、このように使います。 .Bd -literal (p = f()) == NULL .Ed .Pp 真理値ではない場合、テストには '!' を使用しないでください。 例えば、下記のように使います。 .Bd -literal if (*p == '\e0') .Ed .Pp 下記のようには使いません。 .Bd -literal if (!*p) .Ed .Pp void * を返すルーチンでは、 戻り値をどのポインタ型にもキャストしてはなりません。 .Pp .Xr err 3 または .Xr warn 3 を使用し、勝手に作らないでください。 .Bd -literal 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 static char * function(a1, a2, fl, a4) int a1, a2; /* int 型も宣言します、デフォルトにしないこと */ float fl; /* double と float の違いに気を付けてください */ int a4; /* 出てきた順に宣言します */ { .Ed .Pp あなたが明確に K&R との互換性を必要とする場合以外は、 ANSI の関数宣言を使用してください。 長いパラメータリストの折り返しには、 4 個の空白による通常のインデントを付けます。 .Pp 可変個数の引数はこのようにします。 .Bd -literal #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) の文はマニュアルページの書式の様であるべきです。 使用法の文は、次の構造であるべきです: .Pp .Bl -enum .It オペランドの無いオプションが、最初にアルファベット順に、 1 組の大括弧 .Po .Sq \&[ と .Sq \&] .Pc でくくられます。 .It オプションとそのオペランドがこれもアルファベット順に続き、 それぞれのオプションとその引数を 1 組の大括弧でくくります。 .It 必須の引数 .Pq もしあれば が続き、 コマンドラインで指定されるべき順で一覧されます。 .It 最後に、 すべての任意の引数が指定されるべき順で、 すべて大括弧の中に一覧されます。 .El .Pp 縦棒 .Pq Sq \&| は、二者択一のオプションまたは引数を分割し、 同時に使用するオプションと引数は、単一の大括弧でくくります。 .Pp .Bd -ragged -offset 4n "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 (void)fprintf(stderr, "usage: f [-ab]\en"); exit(EX_USAGE); } .Ed .Pp 新しい中心的なカーネルのコードは、適度にスタイルガイドに従うべきです。 サードパーティが保守するモジュールやデバイスドライバのためのガイドラインは より緩やかですが、最低限内部的には彼らの一貫したスタイルであるべきです。 .Pp ソースリポジトリの文体の変更 (空白文字の変更を含む) は困難で、 正当な理由なしには避けるべきです。 リポジトリの中のおおよそ .Xr style 9 に適合しているコードは、この適合から離れてはなりません。 .Pp 可能な時にはいつでも、 コードはコードチェッカ (例えば、 .Xr lint 1 または "gcc -Wall") を 通過し、発生する警告は最小限となるべきです。 .Sh 関連項目 .Xr indent 1 , .Xr lint 1 , .Xr err 3 , .Xr sysexits 3 , .Xr warn 3 .Sh 歴史 このページは -.Tn BSD +.Tn BSD 4.4-Lite2 release の src/admin/style/style ファイルに大きく基づいていて、 現在の実装と .Fx プロジェクトの要望を反映して、更新してあります。 diff --git a/ja_JP.eucJP/man/man9/uio.9 b/ja_JP.eucJP/man/man9/uio.9 index 7119c4ee1a..fa3d367000 100644 --- a/ja_JP.eucJP/man/man9/uio.9 +++ b/ja_JP.eucJP/man/man9/uio.9 @@ -1,176 +1,177 @@ .\" .\" 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.2.2 2001/05/16 02:05:57 dd Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/uio.9,v 1.4 2001/05/14 01:10:24 horikawa Exp $ +.\" %FreeBSD: src/share/man/man9/uio.9,v 1.5.2.3 2001/07/21 09:16:58 schweikh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/uio.9,v 1.5 2001/05/26 02:41:06 horikawa 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 作者 このマニュアルページは .An J\(:org Wunsch が書きました。