GETOBJFORMAT(3) FreeBSD ライブラリ関数マニュアル GETOBJFORMAT(3)
名称
getobjformat − 優先オブジェクトファイルフォーマットの取得 |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <objformat.h> int |
getobjformat(char *buf, size_t bufsize, int *argcp, char **argv); |
解説 |
getobjformat() はいくつかの情報源に問い合わせて、優先オブジェクトファイル フォーマットを決め、呼び出し元によって設定されたバッファにその名前をコ ピーします。 オブジェクトファイルフォーマットは、次のように決定されます。 argv が NULL でなく、 −aout または −elf のような明示的なコマンドライン引数が存在する場 合は、その引数がオブジェクトファイルフォーマットを決めます。 そうでない場合、環境に変数 OBJFORMAT が設定されていれば、その変数の値から オブジェクトファイルフォーマットがとられます。 そうでない場合、ファイル /etc/objformat の読み取りが可能で、 ‘OBJFORMAT=xxx’ という形式の行が含まれていれば、オブジェクトファイル フォーマットはそこからとられます。 そうでない場合、組み込みのシステムデフォルトのオブジェクトファイルフォー マットが返ります。 buf は、オブジェクトファイルフォーマットの名前がそこにコピーされる、ユー ザ指定のバッファを示します。 bufsize は、バッファの大きさをバイト数で与え ます。 buf に置かれる文字列は常にヌルで終わります。ヌルで終わるバッファ名 を保持するためにはバッファが小さすぎる場合、エラーになります。 argv は、オブジェクトフォーマットのオプションがスキャンされる、 NULL で終 わる引数ベクトルを示します。引数ベクトルがスキャンしない場合は、 argv を NULL にすることができます。 argcp が NULL でなければ、すべてのオブジェクトフォーマットオプションは引 数ベクトルから削除され、更新された引数カウントが、 argcp で参照される整数 に格納されます。 argcp が NULL ならば、引数ベクトルは変更されないでそのま ま残ります。 |
戻り値
成功した場合 getobjformat() は、終わりのヌルを含まないオブジェクトファイ ルフォーマット名の長さを返します。オブジェクトファイルフォーマットおよび 終わりのヌルを保持するためには、指定のバッファが小さすぎる場合、 getobjformat() は -1 を返します。その場合バッファおよび、呼び出し元によっ て指定された引数ベクトルの内容は不定です。 |
環境変数
OBJFORMAT
環境変数 OBJFORMAT が設定されると、デフォルトのオブジェクト ファイルフォーマットに優先します。 OBJFORMAT は /etc/objformat に優先します。 関連ファイル |
/etc/objformat
存在すればこれが、使用するオブジェクトファイルフォーマッ トを指定します。構文は ‘OBJFORMAT=xxx’ です。 関連項目 |
歴史
getobjformat() 関数は FreeBSD 3.0 ではじめて登場しました。 FreeBSD 10.0 September 7, 1998 FreeBSD 10.0 |