総合手引 | セクション 3 | English | オプション |
execfile は、検証されるカーネルの実行可能イメージです。 このファイルにはシンボルテーブルが含まれる必要があります。 この引数が NULL のとき、現在実行中のシステムと仮定して getbootfile(3) から決定されます。
corefile はカーネルメモリデバイスファイルで、/dev/mem か savecore(8) が生成するクラッシュダンプコアのいずれかです。 corefile が NULL のとき、<paths.h> が指示するデフォルト値 _PATH_MEM が使われます。
swapfile はスワップデバイスを指示します。 NULL のとき、<paths.h> の _PATH_DRUM が使われます。
flags 引数は、 open(2) 同様に読取り / 書込みアクセスフラグを示し、 コアファイルに限定して適用します。 O_RDONLY, O_WRONLY, O_RDWR だけが許可されます。
オープンルーチンは 2 個あり、 その違いはエラー機構だけです。 一方は SunOS kvm ライブラリと後方互換性があり、 他方は改善されたエラー報告フレームワークを提供します。
kvm_open() 関数は Sun kvm と互換のオープン呼び出しです。 ここでは、 errstr 引数はエラーの処理方法を示します。 NULL のとき、エラーは報告されず、 アプリケーションプログラムは kvm 呼び出しが失敗した原因は知らされません。 NULL でなければ、 perror(3) 同様に、 前に errstr が付加されたメッセージが stderr に印字されます。 通常、プログラム名が使われます。 少なくとも対応する kvm_close() 呼び出しまでは、この文字列は変わらないものと仮定されます。
kvm_openfiles() 関数は BSD 様式のエラー報告を行います。 ライブラリは、エラーメッセージを印字しません。 代わりに、アプリケーションが kvm_geterr() (kvm_geterr(3) 参照) を使用して、 一番最後の kvm library 呼び出しに該当するエラーメッセージを獲得します。 最後の kvm 呼び出しが正常であれば、結果は未定義となります。 kvm_geterr() は kvm 記述子を要求しますが、 オープンルーチンはオープン失敗のときには NULL を返しますので、オープンに失敗したときには、 kvm_geterr() を使ってエラーメッセージを獲得できません。 このような事情があるため、 kvm_openfiles() は任意のエラーメッセージを errbuf 引数中に置きます。 このバッファの大きさは _POSIX2_LINE_MAX 文字分必要です (<limits.h> より)。
kvm_close() 関数は正常終了時に 0 を返し、 異常終了時には -1 を返します。
KVM_OPEN (3) | April 19, 1994 |
総合手引 | セクション 3 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | The number of UNIX installations has grown to 10, with more expected. | ” |
— UNIX Programming Manual, 1972 |