doc/ja_JP.eucJP/man/man3/sysconf.3
Kazuo Horikawa cb5d1a9147 Replace jpman project specific RCS keyword with $FreeBSD.
jpman project specific RCS keyword (jpman %Id) is obsolete,
after manual entries are stored in freefall CVS repository.
This old Id is useless and more worse it confuses users and bug reporters.
So, this old Id is removed.

Submitted by:jpman project <man-jp@jp.FreeBSD.org>
2001-05-14 01:10:24 +00:00

192 lines
6.4 KiB
Groff

.\" Copyright (c) 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.
.\"
.\" @(#)sysconf.3 8.3 (Berkeley) 4/19/94
.\"
.\" $FreeBSD$
.Dd April 19, 1994
.Dt SYSCONF 3
.Os BSD 4
.Sh 名称
.Nm sysconf
.Nd コンフィグレーション可能なシステム変数を取得
.Sh 書式
.Fd #include <unistd.h>
.Ft long
.Fn sysconf "int name"
.Sh 解説
このインタフェースは、
.St -p1003.1-88
により定義されたものです。
.Xr sysctl 3
を使えば、さらに一層完全なインタフェースを使用することができます。
.Pp
.Fn sysconf
関数は、
コンフィグレーション可能なシステムの制限 (system limit)
またはオプション変数の現在の値を、
アプリケーションが調べるための方法を提供します。
引数
.Fa name
は、照会するシステム変数を指定します。
それぞれの名前の値に対応するシンボリック定数は、
インクルードファイル
.Li <unistd.h>
の中にあります。
.Pp
使用できる値は次の通りです:
.Pp
.Bl -tag -width "123456"
.Pp
.It Li _SC_ARG_MAX
.Xr execve 2
の引数の最大バイト数。
.It Li _SC_CHILD_MAX
1 ユーザー ID あたりの同時プロセスの最大数。
.It Li _SC_CLK_TCK
1 秒あたりの tick 数で表した統計クロック (statistics clock) の頻度。
.It Li _SC_NGROUPS_Max
追加可能なグループの最大数。
.It Li _SC_OPEN_MAX
1 ユーザー ID 当たりのオープン可能なファイルの最大数。
.It Li _SC_STREAM_MAX
1 つのプロセスが一度にオープンできるストリームの最大数の最小値。
.It Li _SC_TZNAME_MAX
時間帯 (timezone) の名前としてサポートされるタイプの最大数の最小値。
.It Li _SC_JOB_CONTROL
このシステムでジョブ制御が利用できるなら 1 を返し、
利用できない場合は \-1 を返します。
.It Li _SC_SAVED_IDS
保存された set-group および保存された set-user ID が
利用できる場合は 1 を返し、そうでない場合は \-1 を返します。
.It Li _SC_VERSION
システムが準拠しようと試みる ISO/IEC 9945 (POSIX 1003.1) のバージョン。
.It Li _SC_BC_BASE_MAX
.Xr bc 1
ユーティリティにおける ibase/obase の最大値。
.It Li _SC_BC_DIM_MAX
.Xr bc 1
ユーティリティにおける最大配列サイズ。
.It Li _SC_BC_SCALE_MAX
.Xr bc 1
ユーティリティにおける最大スケール値。
.It Li _SC_BC_STRING_MAX
.Xr bc 1
ユーティリティにおける最大ストリング長。
.It Li _SC_COLL_WEIGHTS_MAX
ロケール定義ファイルにおける LC_COLLATE 順序キーボードのエントリに
割り当てることができる重みの最大数。
.It Li _SC_EXPR_NEST_MAX
.Xr expr 1
ユーティリティでの括弧でネストできる式の最大数。
.It Li _SC_LINE_MAX
テキスト処理ユーティリティの入力ラインのバイトで表した最大長さ。
.It Li _SC_RE_DUP_MAX
インターバル表記を使うときに許される正規表現の繰り返し発生回数の最大数。
.It Li _SC_2_VERSION
システムが準拠することを試みる POSIX 1003.2 のバージョン。
.It Li _SC_2_C_BIND
システムの C 言語開発ファシリティで
C 言語構築オプション (C-Language Bindings Option) が
サポートされていれば 1 を返し、
サポートされていなければ \-1 を返します。
.It Li _SC_2_C_DEV
C 言語開発ユーティリティオプション
(C-Language Development Utilities Option) が
サポートされていれば 1 を返し、
サポートされていなければ\-1 を返します。
.It Li _SC_2_CHAR_TERM
POSIX 1003.2 に記述されている全操作が可能な端末タイプが、
最低 1 つサポートされていれば 1 を返し、
そうでなければ \-1 を返します。
.It Li _SC_2_FORT_DEV
FORTRAN 開発ユーティリティオプション
(FORTRAN Development Utilities Option) が
サポートされていれば 1 を返し、
サポートされていなければ \-1 を返します。
.It Li _SC_2_FORT_RUN
FORTRAN ランタイムユーティリティオプション
(FORTRAN Runtime Utilities Option) が
サポートされていれば 1 を返し、
サポートされていなければ \-1 を返します。
.It Li _SC_2_LOCALEDEF
ロケールの作成がサポートしていれば 1 を返し、
サポートされていなければ \-1 を返します。
.It Li _SC_2_SW_DEV
ソフトウェア開発ユーティリティオプション
(Software Development Utilities Option) が
サポートされていれば 1 を返し、
サポートされていなければ \-1 を返します。
.It Li _SC_2_UPE
ユーザーポータビリティユーティリティオプション
(User Portability Utilities Option) が
サポートされていれば 1 を返し、
サポートされていなければ \-1 を返します。
.El
.Sh 戻り値
.Fn sysconf
の呼び出しが成功しなかったときは \-1 が返され、
.Va errno
が適切な値に設定されます。
そうでないときは、
変数がサポートされていない機能に関連づけられていると \-1 が返され、
.Va errno
は修正されません。
それ以外の場合は、現在の変数値が返されます。
.Sh エラー
.Fn sysconf
関数が失敗して、ライブラリ関数
.Xr sysctl 3
について記されているエラーのいずれかに対応した
.Va errno
が設定されることがあります。
さらに、次のようなエラーが報告されることがあります。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa name
引数の値が無効です。
.Sh 参照
.Xr sysctl 3
.Sh バグ
_SC_STREAM_MAX の値は最大値の最小値であり、
ANSI C の FOPEN_MAX と同じであることが要求されているので、
戻り値は極めて小さい誤解を招くような値になります。
.Sh 規格
.Fn sysconf
の返す値が、呼び出したプロセスが生存している間に変化する
可能性があることを除いては、この関数は
.St -p1003.1-88
に準拠しています。
.Sh 歴史
.Fn sysconf
関数は、最初
.Bx 4.4
に現れました。