diff --git a/ja_JP.eucJP/man/man2/Makefile b/ja_JP.eucJP/man/man2/Makefile index 8d2bc24261..1a3914517c 100644 --- a/ja_JP.eucJP/man/man2/Makefile +++ b/ja_JP.eucJP/man/man2/Makefile @@ -1,204 +1,205 @@ # $FreeBSD$ MAN2 = _exit.2\ accept.2\ access.2\ acct.2\ adjtime.2\ aio_waitcomplete.2\ aio_cancel.2\ aio_error.2\ aio_read.2\ aio_return.2\ aio_suspend.2\ aio_write.2\ bind.2\ brk.2\ chdir.2\ chflags.2\ chmod.2\ chown.2\ chroot.2\ clock_gettime.2\ close.2\ connect.2\ creat.2\ dup.2\ execve.2\ fcntl.2\ fhopen.2\ flock.2\ fork.2\ fsync.2\ getdirentries.2\ getdtablesize.2\ getfh.2\ getfsstat.2\ getgid.2\ getgroups.2\ getitimer.2\ getlogin.2\ getpeername.2\ getpgrp.2\ getpid.2\ getpriority.2\ getrlimit.2\ getrusage.2\ getsid.2\ getsockname.2\ getsockopt.2\ gettimeofday.2\ getuid.2\ i386_get_ioperm.2\ i386_get_ldt.2\ i386_vm86.2\ intro.2\ ioctl.2\ issetugid.2\ jail.2\ kill.2\ killpg.2\ kldfind.2\ kldfirstmod.2\ kldload.2\ kldnext.2\ kldstat.2\ kldsym.2\ kldunload.2\ kqueue.2\ ktrace.2\ link.2\ listen.2\ lseek.2\ madvise.2\ mincore.2\ minherit.2\ mkdir.2\ mkfifo.2\ mknod.2\ mlock.2\ mmap.2\ modfind.2\ modnext.2\ modstat.2\ mount.2\ mprotect.2\ msync.2\ munmap.2\ nanosleep.2\ nfssvc.2\ open.2\ pathconf.2\ pipe.2\ poll.2\ profil.2\ ptrace.2\ quotactl.2\ read.2\ readlink.2\ reboot.2\ recv.2\ rename.2\ revoke.2\ rfork.2\ rmdir.2\ rtprio.2\ sched_get_priority_max.2\ sched_setparam.2\ sched_setscheduler.2\ sched_yield.2\ select.2\ semctl.2\ semget.2\ semop.2\ send.2\ sendfile.2\ setgroups.2\ setpgid.2\ setregid.2\ setresuid.2\ setreuid.2\ setsid.2\ setuid.2\ shmat.2\ shmctl.2\ shmget.2\ shutdown.2\ sigaction.2\ sigaltstack.2\ sigpause.2\ sigpending.2\ sigprocmask.2\ sigreturn.2\ sigsetmask.2\ sigstack.2\ sigsuspend.2\ sigvec.2\ socket.2\ socketpair.2\ stat.2\ statfs.2\ swapon.2\ symlink.2\ sync.2\ sysarch.2\ syscall.2\ truncate.2\ umask.2\ undelete.2\ unlink.2\ utimes.2\ vfork.2\ wait.2\ write.2\ MLINKS+=i386_get_ioperm.2 i386_set_ioperm.2 MLINKS+=i386_get_ldt.2 i386_set_ldt.2 MLINKS+=access.2 eaccess.2 MLINKS+=brk.2 sbrk.2 MLINKS+=chdir.2 fchdir.2 MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2 MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2 MLINKS+=chown.2 fchown.2 chown.2 lchown.2 MLINKS+=clock_gettime.2 clock_getres.2 clock_gettime.2 clock_settime.2 MLINKS+=dup.2 dup2.2 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2 MLINKS+=getdirentries.2 getdents.2 MLINKS+=getgid.2 getegid.2 MLINKS+=getitimer.2 setitimer.2 MLINKS+=getlogin.2 getlogin_r.3 MLINKS+=getlogin.2 setlogin.2 MLINKS+=getpgrp.2 getpgid.2 MLINKS+=getpid.2 getppid.2 MLINKS+=getpriority.2 setpriority.2 MLINKS+=getrlimit.2 setrlimit.2 MLINKS+=getsockopt.2 setsockopt.2 MLINKS+=gettimeofday.2 settimeofday.2 MLINKS+=getuid.2 geteuid.2 MLINKS+=intro.2 errno.2 +MLINKS+=jail.2 jail_attach.2 MLINKS+=kqueue.2 kevent.2 MLINKS+=mlock.2 munlock.2 MLINKS+=modnext.2 modfnext.2 MLINKS+=mount.2 unmount.2 MLINKS+=pathconf.2 fpathconf.2 MLINKS+=read.2 pread.2 read.2 readv.2 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 MLINKS+=send.2 sendmsg.2 send.2 sendto.2 MLINKS+=setpgid.2 setpgrp.2 MLINKS+=setresuid.2 setresgid.2 setresuid.2 getresuid.2 setresuid.2 getresgid.2 MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2 MLINKS+=shmat.2 shmdt.2 MLINKS+=sigsetmask.2 sigblock.2 MLINKS+=sigsetmask.2 sigmask.2 MLINKS+=stat.2 fstat.2 stat.2 lstat.2 MLINKS+=statfs.2 fstatfs.2 MLINKS+=syscall.2 __syscall.2 MLINKS+=truncate.2 ftruncate.2 MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2 MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2 MLINKS+=write.2 pwrite.2 write.2 writev.2 MLINKS+=sched_get_priority_max.2 sched_get_priority_min.2 \ sched_get_priority_max.2 sched_rr_get_interval.2 MLINKS+=sched_setparam.2 sched_getparam.2 MLINKS+=sched_setscheduler.2 sched_getscheduler.2 .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man2/connect.2 b/ja_JP.eucJP/man/man2/connect.2 index 5b53b14d35..5de094d26e 100644 --- a/ja_JP.eucJP/man/man2/connect.2 +++ b/ja_JP.eucJP/man/man2/connect.2 @@ -1,144 +1,146 @@ .\" Copyright (c) 1983, 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. .\" .\" @(#)connect.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/connect.2,v 1.22 2002/12/19 09:40:24 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/connect.2,v 1.23 2003/04/01 20:25:46 ceri Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt CONNECT 2 .Os .Sh 名称 .Nm connect .Nd ソケット上で接続を開始する .Sh ライブラリ .Lb libc .Sh 書式 .In sys/types.h .In sys/socket.h .Ft int .Fn connect "int s" "const struct sockaddr *name" "socklen_t namelen" .Sh 解説 .Fa s 引数はソケットです。 このタイプが .Dv SOCK_DGRAM の場合、この呼び出しはソケットが結び付けられる 通信相手を指定します。 このアドレスは送信データグラムの送信先であり、 受信データグラムの送信元となる唯一のアドレスです。 ソケットのタイプが .Dv SOCK_STREAM の場合、この呼び出しは通信相手のソケットに接続を確立 しようとします。 通信相手のソケットは .Fa name で指定されます。 .Fa name はソケット通信空間内のアドレスです。 各通信空間は .Fa name 引数を独自の方法で解釈します。 一般に、ストリームソケットが正常に .Fn connect できるのは 1 回だけです。 データグラムソケットは .Fn connect を複数回使用してその結び付けを変更できます。 データグラムソケットは、NULL アドレスのような無効なアドレスに 接続することによって結び付けを解除できます。 .Sh 戻り値 .Rv -std connect .Sh エラー .Fn connect システムコールは次の場合に失敗します: .Bl -tag -width Er .It Bq Er EBADF .Fa s 引数が有効な記述子でありません。 .It Bq Er ENOTSOCK .Fa s 引数がソケットではなくファイルの記述子です。 .It Bq Er EADDRNOTAVAIL 指定のアドレスがこのマシンでは利用できません。 .It Bq Er EAFNOSUPPORT 指定のアドレスファミリ内のアドレスがこのソケットでは使用できません。 .It Bq Er EISCONN ソケットは既に接続されています。 .It Bq Er ETIMEDOUT 接続を確立することなく、タイムアウトしました。 .It Bq Er ECONNREFUSED 接続が強制的に拒絶されました。 .It Bq Er ENETUNREACH このホストからそのネットワークに到達できません。 +.It Bq Er EHOSTUNREACH +このホストからそのリモートホストに到達できません。 .It Bq Er EADDRINUSE アドレスが既に使用中です。 .It Bq Er EFAULT .Fa name 引数はプロセスアドレス空間の外側の領域を指定しています。 .It Bq Er EINPROGRESS 非ブロッキングのソケットで、接続がすぐには確立できませんでした。 ソケットへの書込みを .Xr select 2 で待つことによって、接続完了を待つことができます。 .It Bq Er EALREADY 非ブロッキングのソケットで、以前の接続の試みがまだ完了していません。 .El .Pp 以降のエラーは、UNIX ドメインの接続名に固有です。 これらのエラーは、UNIX IPC ドメインの将来の バージョンには適用されない可能性があります。 .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定のソケットが存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er EACCES 指定のソケットへの書込みアクセスが拒絶されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .El .Sh 関連項目 .Xr accept 2 , .Xr getpeername 2 , .Xr getsockname 2 , .Xr select 2 , .Xr socket 2 .Sh 歴史 .Fn connect システムコールは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/jail.2 b/ja_JP.eucJP/man/man2/jail.2 index 9b539c3f8b..bde1f2cb20 100644 --- a/ja_JP.eucJP/man/man2/jail.2 +++ b/ja_JP.eucJP/man/man2/jail.2 @@ -1,106 +1,130 @@ .\" .\"---------------------------------------------------------------------------- .\""THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\"can do whatever you want with this stuff. If we meet some day, and you think .\"this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\"---------------------------------------------------------------------------- -.\"%FreeBSD: src/lib/libc/sys/jail.2,v 1.22 2002/12/18 09:22:30 ru Exp % + .\"%FreeBSD: src/lib/libc/sys/jail.2,v 1.23 2003/04/09 02:55:17 mike Exp % .\" .\" $FreeBSD$ -.Dd April 28, 1999 +.Dd April 8, 2003 .Dt JAIL 2 .Os .Sh 名称 .Nm jail .Nd 現在のプロセスとその将来の子孫を閉じ込める .Sh ライブラリ .Lb libc .Sh 書式 -.In sys/types.h +.In sys/param.h .In sys/jail.h .Ft int .Fn jail "struct jail *jail" +.Ft int +.Fn jail_attach "int jid" .Sh 解説 .Fn jail システムコールは牢屋をつくり、現在のプロセスをその中に閉じ込めます。 .Pp 引数は牢屋を記述する構造体へのポインタです。 .Bd -literal -offset indent struct jail { u_int32_t version; char *path; char *hostname; u_int32_t ip_number; }; .Ed .Pp .Dq Li version には使用する API のバージョンを定義します。 今のところ 0 に設定します。 .Pp .Dq Li path ポインタには牢屋のルートになるディレクトリを設定します。 .Pp .Dq Li hostname ポインタには牢屋のホスト名を設定します。 これは牢屋の中から変更できます。 .Pp .Dq Li ip_number は牢屋に割り当てる IP 番号を設定します。 +.Pp +.Fn jail_attach +システムコールは、 +.Va jid +によって識別される既存の jail を現在のプロセスにアタッチします。 +.Sh 戻り値 +成功の場合には、 +.Fn jail +は jail 識別子 (JID) と呼ばれる負ではない整数を返します。 +失敗の場合には -1 を返し、そのエラーを示すために +.Va errno +を設定します。 +.Pp +成功の場合には、 +.Fn jail_attach +は 0 を返します。 +失敗の場合には -1 を返し、そのエラーを示すために +.Va errno +を設定します。 .Sh 牢屋? プロセスは一度牢屋に入れられると、それ自身とその子孫は牢屋から 逃れることはできません。 -既存の牢屋にプロセスを追加することはできません。 .Pp 牢屋の中では "スーパユーザ" の概念はとても弱まっています。 一般に全体が牢屋の中にあるわけではないものを牢屋の中から台無しにすることは できないと考えられます。 例えば .Dq Li path の下のディレクトリツリーは .Dq Li "rm -rf /*" も含めて、root が普通にできるように操作できますが、 デバイス型特殊ノードは共有されたリソース (カーネルの中のデバイスドライバ) を 参照するので、新しく作ることはできません。 .Pp IP 活動はすべて指定された IP 番号に制限されます。 指定された IP 番号はネットワークインタフェースのうちの 1 つの別名で あるべきです。 .Pp .Dq Li /proc//status を調べることで閉じ込められたプロセスを識別することができます。 行末のフィールドが、閉じ込められていないプロセスではハイフン 1 つ、 閉じ込められたプロセスでは現在牢屋に設定されているホスト名になります。 .Sh エラー .Fn jail システムコールは次の場合に失敗します: .Bl -tag -width Er .It Bq Er EINVAL 引数のバージョン番号が正しくありません。 .El .Pp さらに .Fn jail は内部で .Xr chroot 2 を呼ぶので、全く同じ理由で失敗する可能性があります。 詳しくは .Xr chroot 2 のマニュアルページを参照して下さい。 .Sh 関連項目 .Xr chdir 2 , .Xr chroot 2 .Sh 歴史 .Fn jail システムコールは .Fx 4.0 で登場しました。 +.Fn jail_attach +システムコールは +.Fx 5.1 +で登場しました。 .Sh 作者 jail の機能は .An Poul-Henning Kamp によって R&D Associates .Dq Li http://www.rndassociates.com/ のために書かれ、 .Fx に寄贈されました。 diff --git a/ja_JP.eucJP/man/man2/madvise.2 b/ja_JP.eucJP/man/man2/madvise.2 index ed32abcd99..170ace022e 100644 --- a/ja_JP.eucJP/man/man2/madvise.2 +++ b/ja_JP.eucJP/man/man2/madvise.2 @@ -1,151 +1,160 @@ .\" Copyright (c) 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. .\" .\" @(#)madvise.2 8.1 (Berkeley) 6/9/93 -.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.28 2003/01/06 23:20:55 trhodes Exp % +.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.29 2003/03/31 21:09:56 wes Exp % .\" .\" WORD: revert 書き戻す(dirty なページをファイルシステムに書き込む)[madvise.2] .\" WORD: physically backing store 物理的バッキングストア .\" (仮想記憶の裏にあるディスク領域、swap やファイルシステム?!) .\" .\" $FreeBSD$ .Dd July 19, 1996 .Dt MADVISE 2 .Os .Sh 名称 .Nm madvise .Nd メモリの使用法について助言を与える .Sh ライブラリ .Lb libc .Sh 書式 .In sys/mman.h .Ft int .Fn madvise "void *addr" "size_t len" "int behav" .Sh 解説 .Fn madvise システムコールによって、自身のメモリ利用の習性の知識があるプロセスは、それを システムに説明できます。 .Pp 知られた習性は以下のとおりです: .Bl -tag -width MADV_SEQUENTIAL .It Dv MADV_NORMAL デフォルトのページング動作に戻るようにシステムに指示します。 .It Dv MADV_RANDOM ページがランダムにアクセスされ、プリフェッチが有利ではないと考えられるという ヒントです。 .It Dv MADV_SEQUENTIAL 指定のページがフォルトで読み取られたとき、そのページの直前のページの 優先順位を VM システムが下げるようにします。 .It Dv MADV_WILLNEED 指定の仮想アドレス範囲内にあるページが一時的に高い優先順位を持つようにし、 それらがメモリ内にある場合、解放される可能性を減少させます。 さらに既にメモリ内にあるページはただちにプロセスにマップされ、 それによってプロセス全体にわたるフォルトによる読取りによる 不要なオーバヘッドを除去します。 これは、フォルトによるページのバッキングストアからの 読取りを生じさせるのではなく、 メモリ内に既にあるページを呼び出し側のプロセスに素早くマップさせます。 .It Dv MADV_DONTNEED VM システムに、指定の範囲内のページのメモリ内優先順位の減少を許可します。 今後、このアドレス範囲への参照はページフォルトを発生させるでしょう。 .It Dv MADV_FREE VM システムにページを解放する自由を与え、指定ページ範囲内の情報がもはや 重要でないことをシステムに通知します。 これは、アドレス空間を有効にしたままで .Xr malloc 3 がアドレス空間内の任意の位置のページを解放できるようにする効率的な方法です。 ページが次に参照される時には、そのページは要求時 0 クリアの対象に なっている可能性もありますし、または .Dv MADV_FREE 呼び出しの前にそこにあったデータが残っているかもしれません。 ページが再び修正されるまで、そのアドレス空間範囲に対する参照だけでは、 VM システムはバッキングストアから情報をページに読み取る動作を行わなくなります。 .\" 訳追加 .It Dv MADV_NOSYNC このマップに関連づけられているデータを 物理的バッキングストアにフラッシュしないようにシステムに要求します。 通常、これにより、ファイルシステムアップデートデーモンが VM システムが汚したページを特に理由もないのに 物理ディスクに書き込む不要な動作を防止します。 VM とファイルシステムの一貫性は常に維持されることに注意してください。 この機能は、マップされたデータが必要なときだけ、 (通常、システムページャにより) フラッシュされることを 保証しているに過ぎません。 .Pp この機能を使用する典型的な場合とは、 ファイルを裏に持つ共有メモリ領域をプロセス (IPC) 間通信で使いたいとき、 特に、その領域に格納されるデータを物理的ディスクに書き込む必要がない場合です。 この機能は、SysV 共有メモリ呼び出しで得られる mmap 性能と 同等の性能を与えてくれますし、かつ、SysV 共有メモリ呼び出しを使うより、 きめ細かい制御が可能でより制約が少ない方法でもあります。 しかしこの機能は UNIX プラットホーム間で移植性がないことに注意してください (いくつかのプラットホームではデフォルトで正しく振る舞うかも知れませんが)。 詳しい情報に関しては、 .Xr mmap 2 の MAP_NOSYNC セクションを参照してください。 .It Dv MADV_AUTOSYNC 将来、アドレス範囲内のページが汚された場合のために MADV_NOSYNC の効果を元に戻します。 既に汚されているページについての効果は不定です。 書き戻しするかもしれませんし、しないかもしれません。 書き戻しを確実に行うには、 .Xr msync 2 または .Xr fsync 2 システムコールを使用します。 .It Dv MADV_NOCORE 領域は、コアファイルに含まれません。 .It Dv MADV_CORE コアファイルの領域を含みます。 +.It Dv MADV_PROTECT +スワップ空間を使い果たした時に、 +このプロセスは終了させられるべきではないことを、VM システムに通知します。 +プロセスはスーパユーザの特権を持っていなければなりません。 +これは、システムが適切に機能するために実行され続けなければならない +プロセス群で、思慮分別を持って使用されるべきです。 .El .Sh 戻り値 .Rv -std madvise .Sh エラー .Fn madvise システムコールは次の場合に失敗します: .Bl -tag -width Er .It Bq Er EINVAL .Fa addr 引数と .Fa len 引数で指定された仮想アドレス範囲が有効ではありません。 +.It Bq Er EPERM +.Dv MADV_PROTECT +が指定され、プロセスがスーパユーザの特権を持っていません。 .El .Sh 関連項目 .Xr mincore 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munmap 2 .Sh 歴史 .Fn madvise システムコールは .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 index 21bcb15381..8a052edc69 100644 --- a/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 +++ b/ja_JP.eucJP/man/man9/BUS_SETUP_INTR.9 @@ -1,105 +1,115 @@ .\" Copyright (c) 2000 Jeroen Ruigrok van der Werven .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.11 2002/01/09 11:43:45 mpp Exp % +.\" %FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.12 2003/03/29 05:11:14 imp Exp % .\" .\" $FreeBSD$ -.Dd April 2, 2000 +.Dd March 28, 2003 .Dt BUS_SETUP_INTR 9 .Os .Sh 名称 .Nm BUS_SETUP_INTR , .Nm bus_setup_intr , .Nm BUS_TEARDOWN_INTR , .Nm bus_teardown_intr .Nd 割り込みハンドラの作成と接続および破壊 .Sh 書式 .In sys/param.h .In sys/bus.h .Ft int .Fn BUS_SETUP_INTR "device_t dev" "device_t child" "struct resource *irq" "int flags" "driver_intr_t *intr" "void *arg" "void **cookiep" .Ft int .Fn bus_setup_intr "device_t dev" "struct resource *r" "int flags" "driver_intr_t handler" "void *arg" "void **cookiep" .Ft int .Fn BUS_TEARDOWN_INTR "device_t dev" "device_t child" "struct resource *irq" "void *cookiep" .Ft int .Fn bus_teardown_intr "device_t dev" "struct resource *r" "void *cookiep" .Sh 解説 メソッド .Nm は、資源マネージャの .Xr BUS_ALLOC_RESOURCE 9 メソッドによって以前に割り当てられた割り込みに対し、 割り込みハンドラを生成してアタッチします。 .Fa flags は .Aq Pa sys/bus.h で見つかり、割り込みの大まかな種類を与えます。また、 .Fa flags はデバイスドライバの特性についての信頼できる情報を、割り込みハンドラに伝えます。 .Dv INTR_FAST はそのハンドラが時間にクリティカルな関数のための ハンドラであることを意味します。 これらのハンドラのスピードアップのために特別な注意がはらわれます。 これの利用は .Dv INTR_EXCL を暗に含みます。 .Dv INTR_EXCL はそのハンドラをこの割り込みのための排他的なハンドラとして記録します。 .Dv INTR_MPSAFE はその割り込みハンドラはプリエンプティブな環境で適切に 振舞う (``SMP セーフ'') こと、および ``ジャイアントロック'' mutex によって 保護される必要がないことを、スケジューラに通知します。 .Dv INTR_ENTROPY はその割り込みがエントロピの良い供給源であるとして記録します。 これは、エントロピデバイス .Pa /dev/tandom によって使用されることができます。 ハンドラ .Fa intr は唯一の引数 .Fa arg の値を伴なって呼び出されます。 .Pp +.Fa cookiep +引数は、 +割り込みの確立が成功した場合に、 +.Nm +が書込む親のバスが使用するクッキーである void * 型へのポインタです。 +ドライバ作成者は、このクッキーが 0 ではないことを仮定することが出来ます。 +nexus ドライバは失敗時に +.Fa cookiep +に 0 を書込みます。 +.Pp 割り込みハンドラは、 .Fn BUS_TEARDOWN_INTR によってデタッチされます。 正しい割り込みハンドラを破棄するために、クッキーが .Fn BUS_TEARDOWN_INTR に渡される必要があります。 .Sh 戻り値 成功時には 0 が返され、それ以外の場合は適切なエラーが返されます。 .Sh 関連項目 .Xr random 4 , .Xr device 9 , .Xr driver 9 .Sh 作者 .An -nosplit このマニュアルページは、 .An Doug Rabson .Aq dfr@FreeBSD.org が書いた BUS_CREATE_INTR および BUS_CONNECT_INTR のマニュアルページを基に、 .An Jeroen Ruigrok van der Werven .Aq asmodai@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 index 9a985dc1de..92c04d3544 100644 --- a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 @@ -1,160 +1,168 @@ .\" -*- 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.12 2001/10/01 16:09:24 ru Exp % +.\" %FreeBSD: src/share/man/man9/bus_alloc_resource.9,v 1.13 2003/03/29 05:09:15 imp Exp % .\" .\" $FreeBSD$ .Dd May 18, 2000 .Dt BUS_ALLOC_RESOURCE 9 .Os .Sh 名称 .Nm bus_alloc_resource .Nd バス上の資源の割り当て .Sh 書式 .In sys/param.h .In sys/bus.h .Pp .In machine/bus.h .In sys/rman.h .In machine/resource.h .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 引数は以下の通りです。 .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 に +.Fa start +に .Dv 0 -の値を end に +を、 +.Fa end +に .Dv ~0 -の値を指定した場合には、バスのためのデフォルト値が計算されます。 +を、 +.Fa count +に +.Dv 1 +を指定した場合には、バスのためのデフォルト値が計算されます。 .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 +.Xr bus_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, 0ul, ~0ul, 32, RF_ACTIVE); irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &irqid, 0ul, ~0ul, 1, RF_ACTIVE | RF_SHAREABLE); .Ed .Sh 関連項目 +.Xr bus_activate_resource 9 , .Xr bus_release_resource 9 , .Xr device 9 , .Xr driver 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/malloc.9 b/ja_JP.eucJP/man/man9/malloc.9 index 64633d55e2..e2078f14c0 100644 --- a/ja_JP.eucJP/man/man9/malloc.9 +++ b/ja_JP.eucJP/man/man9/malloc.9 @@ -1,302 +1,300 @@ .\" 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.29 2003/02/05 14:00:46 charnier +.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.32 2003/04/10 10:18:56 harti Exp % .\" $FreeBSD$ .\" -.Dd June 16, 1996 +.Dd April 9, 2003 .Dt MALLOC 9 .Os .Sh 名称 .Nm malloc , .Nm MALLOC , .Nm free , -.Nm FREE +.Nm FREE , +.Nm realloc , +.Nm reallocf , +.Nm MALLOC_DEFINE , +.Nm MALLOC_DECLARE .Nd カーネルメモリマネージメントルーチン .Sh 書式 .In sys/types.h .In sys/malloc.h .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" .Ft void * .Fn realloc "void *addr" "unsigned long size" "struct malloc_type *type" "int flags" .Ft void * .Fn reallocf "void *addr" "unsigned long size" "struct malloc_type *type" "int flags" +.Fn MALLOC_DECLARE "type" +.In sys/param.h +.In sys/malloc.h +.In sys/kernel.h +.Fn MALLOC_DEFINE "type" "shortdesc" "longdesc" .Sh 解説 .Fn malloc 関数はカーネルアドレス空間の初期化されていないメモリを .Fa size で指定された大きさの 1 つのオブジェクトとして割り当てます。 .Pp .Fn free 関数は .Fn malloc で先に割り当てられていた .Fa addr のアドレスのメモリを再使用するために解放します。 メモリは 0 にクリアされません。 .Fa addr が .Dv NULL の場合、 .Fn free は何もしません。 .Pp .Fn realloc 関数は、以前に割り当てられて .Fa addr で参照されるメモリの大きさを .Fa size バイトに変更します。 メモリの内容は、新サイズと旧サイズの小さい方までは、無変更となります。 戻り値は .Fa addr と違うかもしれないことに注意してください。 要求されたメモリが割り当て不能の場合、 .Dv NULL が返され、 .Fa addr で参照されるメモリは正当で無変更のままとなります。 .Fa addr が .Dv NULL の場合、 .Fn realloc 関数は指定された大きさの .Fn malloc と同等に振舞います。 .Pp .Fn reallocf 関数は .Fn realloc とまったく同じですが、 要求されたメモリを割り当て不能の場合に 渡されたポインタのメモリを解放する点が違います。 .Pp マクロ版の .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 indent .It Dv M_ZERO 割り当てられたメモリが全て 0 で満たされるようにします。 .It Dv M_NOWAIT リソースの不足のため直ちに要求を満たすことができない場合は、 .Fn malloc , .Fn realloc , および .Fn reallocf が .Dv NULL を返すようにします。 -通常は、 -他のプロセスによるリソースの解放を待つためにスリープ状態にされます。 -このフラグがセットされていれば、 -.Fn malloc -はブロックせずに -.Dv NULL -を返します。 -.Dv M_NOWAIT -が 0 に定義されているということは、ブロッキング操作がデフォルトであることを -意味することに注意してください。 -また、割り込みコンテキストでの動作時には +割り込みコンテキストでの動作時には .Dv M_NOWAIT -が必要であることにも注意してください。 -.Pp -プログラマは、 -.Fn malloc -フラグ -.Dv M_NOWAIT -と -.Xr mbuf 9 -の割り当てフラグ -.Dv M_DONTWAIT -を、混乱しないようにするべきです。 -後者は -.Fn malloc -にとって有効ではない引数です。 +が要求されることに注意してください。 .It Dv M_WAITOK はリソースを待つことが OK であることを示します。 -これは都合の悪いことに 0 として定義されていますので、 -この値を直接比較すること、またはフラグとして AND をとろうとすることを -決して行なわないように注意が払われるべきです。 -デフォルトの操作はメモリ割り当てが成功するまでブロックされます。 -.Dv M_NOWAIT +この要求がすぐに満たされることが出来ない場合には、現在のプロセスは、 +他のプロセスのよってリソースが開放されることを待つために、 +スリープ状態に置かれます。 +.Dv M_WAITOK が指定されると .Fn malloc , .Fn realloc , .Fn reallocf -関数は単に +関数は .Dv NULL -を返すことが出来ます。 +を返すことが出来ません。 .It Dv M_USE_RESERVE 要求されたメモリを獲得するために、 システムがリザーブ領域を使ってよいことを示します。 このオプションは以前は M_KERNEL と呼ばれていましたが、 より明示的に改名されました。 このオプションは軽視されていて、カーネルから徐々に削除されています。 そのため、新たなプログラミングでは使用されない様にするべきです。 .El .Pp +厳密に +.Dv M_WAITOK +または +.Dv M_NOWAIT +のどちらかが指定されなければなりません。 +.Pp 引数 .Fa type はメモリの利用方法の統計をとるためと、 簡単なサニティチェックのために使われています。 この統計は .Sq vmstat -m で調べることが出来ます。 .Pp .Fa type は .Fn MALLOC_DECLARE と .Fn MALLOC_DEFINE マクロを通じて -.Va malloc_type_t +.Va struct 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 +.Fn MALLOC_DEFINE +を使用するためには、 +.Aq sys/param.h +.Aq ( sys/types.h +の代わりに) および +.Aq sys/kernel.h +をインクルードしなければなりません。 .Sh 戻り値 .Fn malloc , .Fn realloc , .Fn reallocf 関数はすべてのタイプのオブジェクトの格納に適切なように整列された カーネル仮想アドレスを返すか、 または要求が満足できず (すなわち .Dv M_NOWAIT がセットされていることを意味します) に .Dv NULL を返します。 .Sh 実装に関する注 1 ページまでの要求に対し、 メモリアロケータは、2 の累乗の大きさの量を割り当てます。 より大きな要求に対しては、1 個以上のページが割り当てられます。 この動作に依存してはなりませんが、 この情報がメモリ使用効率の最適化に有用かもしれません。 .Pp -以上に記載された malloc のフラグは、望まれていない結果を引き起こすため、 +プログラマは malloc フラグの +.Dv M_NOWAIT +および +.Dv M_WAITOK +と、 .Xr mbuf 9 -のルーチンと一緒に使用されるべき -.Em ではありません 。 +フラグの +.Dv M_DONTWAIT +および +.Dv M_TRYWAIT +を混乱しないように注意するべきです。 +.Sh ロックすることの考慮 +.Fn malloc , +.Fn realloc +および +.Fn reallocf +は高速割り込みハンドラから呼び出されることは出来ません。 +スレッド化された割り込みから呼び出される時には、 +.Ar flag +は +.Dv M_NOWAIT +を含んでいなければなりません。 +.Pp +ジャイアントロックではなく mutex が保持されている間は、 +.Fn malloc , +.Fn realloc +および +.Fn reallocf +は +.Dv M_WAITOK +付きで呼び出されてはなりません。 +.Fn free +が呼び出される時には、ジャイアントロックが保持されていても +保持されていなくても構いません。 .Pp .Xr vnode 9 インタロックを保持している時の .Fn malloc -または +.Dv ( M_NOWAIT +付であっても) または .Fn free への全ての呼出しは、VM オブジェクトと vnode の相互獲得のために、 LOR (ロック順序の逆転) を引き起こします。 .Sh 関連項目 .Xr vmstat 8 , .Xr vnode 9 .Sh 診断 -.Dv DIAGNOSTIC +.Dv INVARIANTS コンフィギュレーションオプションを付けてコンパイルされたカーネルは、 割り当てられた領域以外への書き込みや .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