総合手引 | セクション 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.
“ | "I liken starting one's computing career with Unix, say as an undergraduate, to being born in East Africa. It is intolerably hot, your body is covered with lice and flies, you are malnourished and you suffer from numerous curable diseases. But, as far as young East Africans can tell, this is simply the natural condition and they live within it. By the time they find out differently, it is too late. They already think that the writing of shell scripts is a natural act." | ” |
— Ken Pier, Xerox PARC |