doc/ja_JP.eucJP/man/man3/getobjformat.3
Kazuo Horikawa 996d2f02f9 Recent update of man3 entries
Submitted by:	Yuko Sasaki <yuko@veltec.co.jp>
2002-11-03 06:38:28 +00:00

138 lines
4 KiB
Groff

.\" Copyright (c) 1998 John D. Polstra
.\" 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/lib/libc/gen/getobjformat.3,v 1.3.2.5 2001/12/14 18:33:51 ru Exp %
.\"
.\" $FreeBSD$
.Dd September 7, 1998
.Dt GETOBJFORMAT 3
.Os
.Sh 名称
.Nm getobjformat
.Nd 優先オブジェクトファイルフォーマットの取得
.Sh ライブラリ
.Lb libc
.Sh 書式
.In objformat.h
.Ft int
.Fn getobjformat "char *buf" "size_t bufsize" "int *argcp" "char **argv"
.Sh 解説
.Fn getobjformat
はいくつかの情報源に問い合わせて、
優先オブジェクトファイルフォーマットを決め、呼び出し元によって設定された
バッファにその名前をコピーします。
.Pp
オブジェクトファイルフォーマットは、次のように決定されます。
.Va argv
.Dv NULL
でなく、
.Fl aout
または
.Fl elf
のような明示的なコマンドライン引数が存在する場合は、
その引数がオブジェクトファイルフォーマットを決めます。
.Pp
そうでない場合、環境に変数
.Ev OBJFORMAT
が設定されていれば、
その変数の値からオブジェクトファイルフォーマットがとられます。
.Pp
そうでない場合、ファイル
.Pa /etc/objformat
の読み取りが可能で、
.Ql OBJFORMAT=xxx
という形式の行が含まれていれば、オブジェクトファイルフォーマット
はそこからとられます。
.Pp
そうでない場合、
組み込みのシステムデフォルトのオブジェクトファイルフォーマットが返ります。
.Pp
.Va buf
は、オブジェクトファイルフォーマットの名前がそこにコピーされる、
ユーザ指定のバッファを示します。
.Va bufsize
は、バッファの大きさをバイト数で与えます。
.Va buf
に置かれる文字列は常にヌルで終わります。
ヌルで終わるバッファ名を保持するためにはバッファが小さすぎる場合、
エラーになります。
.Pp
.Va argv
は、オブジェクトフォーマットのオプションがスキャンされる、
.Dv NULL
で終わる引数ベクトルを示します。引数ベクトルがスキャンしない場合は、
.Va argv
.Dv NULL
にすることができます。
.Pp
.Va argcp
.Dv NULL
でなければ、すべてのオブジェクトフォーマットオプションは引数
ベクトルから削除され、更新された引数カウントが、
.Va argcp
で参照される整数に格納されます。
.Va argcp
.Dv NULL
ならば、引数ベクトルは変更されないでそのまま残ります。
.Sh 戻り値
成功した場合
.Fn getobjformat
は、終わりのヌルを含まない
オブジェクトファイルフォーマット名の長さを返します。
オブジェクトファイルフォーマットおよび終わりのヌルを保持するためには、
指定のバッファが小さすぎる場合、
.Fn getobjformat
は -1 を返します。
その場合
バッファおよび、呼び出し元によって指定された引数ベクトルの内容は不定です。
.Sh 環境変数
.Bl -tag -width OBJFORMAT
.It Ev OBJFORMAT
環境変数
.Ev OBJFORMAT
が設定されると、デフォルトのオブジェクトファイルフォーマットに優先します。
.Ev OBJFORMAT
.Pa /etc/objformat
に優先します。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/objformat -compact
.It Pa /etc/objformat
存在すればこれが、使用するオブジェクトファイルフォーマットを指定します。構文は
.Ql OBJFORMAT=xxx
です。
.El
.Sh 関連項目
.Xr objformat 1
.Pp
.Sh 歴史
.Fn getobjformat
関数は
.Fx 3.0
ではじめて登場しました。