スポンサーリンク

SYSCONF(3) FreeBSD ライブラリ関数マニュアル SYSCONF(3)

名称

sysconf − コンフィギュレーション可能なシステム変数を取得

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <unistd.h>

long

sysconf(int name);

解説

このインタフェースは、 IEEE Std 1003.1-1988 (‘‘POSIX.1’’) により定義され たものです。 sysctl(3) を使えば、さらに一層完全なインタフェースを使用する ことができます。

sysconf() 関数は、コンフィギュレーション可能なシステムの制限 (system limit) またはオプション変数の現在の値を、アプリケーションが調べるための方 法を提供します。引数 name は、照会するシステム変数を指定します。それぞれ の名前の値に対応するシンボリック定数は、インクルードファイル ⟨unistd.h⟩ の中にあります。

使用できる値は次の通りです:

       _SC_ARG_MAX

execve(2) の引数の最大バイト数。

_SC_CHILD_MAX
1 ユーザ ID あたりの同時プロセスの最大数。

_SC_CLK_TCK
1 秒あたりの tick 数で表した統計クロック (statistics clock) の頻 度。

_SC_NGROUPS_Max
追加可能なグループの最大数。

_SC_OPEN_MAX
1 ユーザ ID 当たりのオープン可能なファイルの最大数。

_SC_STREAM_MAX
1 つのプロセスが一度にオープンできるストリームの最大数の最小値。

_SC_TZNAME_MAX
時間帯 (timezone) の名前としてサポートされるタイプの最大数の最小 値。

_SC_JOB_CONTROL
このシステムでジョブ制御が利用できるなら 1 を返し、利用できない場 合は −1 を返します。

_SC_SAVED_IDS
保存された set-group および保存された set-user ID が利用できる場 合は 1 を返し、そうでない場合は −1 を返します。

_SC_VERSION
システムが準拠しようと試みる IEEE Std 1003.1 (‘‘POSIX.1’’) のバー ジョン。

_SC_BC_BASE_MAX
bc(1) ユーティリティにおける ibase/obase の最大値。

_SC_BC_DIM_MAX
bc(1) ユーティリティにおける最大配列サイズ。

_SC_BC_SCALE_MAX
bc(1) ユーティリティにおける最大スケール値。

_SC_BC_STRING_MAX
bc(1) ユーティリティにおける最大ストリング長。

_SC_COLL_WEIGHTS_MAX
ロケール定義ファイルにおける LC_COLLATE 順序キーボードのエントリ に割り当てることができる重みの最大数。

_SC_EXPR_NEST_MAX
expr(1) ユーティリティでの括弧でネストできる式の最大数。

_SC_LINE_MAX
テキスト処理ユーティリティの入力ラインのバイトで表した最大長さ。

_SC_RE_DUP_MAX
インターバル表記を使うときに許される正規表現の繰り返し発生回数の 最大数。

_SC_2_VERSION
システムが準拠することを試みる IEEE Std 1003.2 (‘‘POSIX.2’’) の バージョン。

_SC_2_C_BIND
システムの C 言語開発ファシリティで C 言語構築オプション (C-Language Bindings Option) がサポートされていれば 1 を返し、サ ポートされていなければ −1 を返します。

_SC_2_C_DEV
C 言語開発ユーティリティオプション (C-Language Development Utilities Option) がサポートされていれば 1 を返し、サポートされて いなければ−1 を返します。

_SC_2_CHAR_TERM
IEEE Std 1003.2 (‘‘POSIX.2’’) に記述されている全操作が可能な端末 タイプが、最低 1 つサポートされていれば 1 を返し、そうでなければ −1 を返します。

_SC_2_FORT_DEV
FORTRAN 開発ユーティリティオプション (FORTRAN Development Utilities Option) がサポートされていれば 1 を返し、サポートされて いなければ −1 を返します。

_SC_2_FORT_RUN
FORTRAN ランタイムユーティリティオプション (FORTRAN Runtime Utilities Option) がサポートされていれば 1 を返し、サポートされて いなければ −1 を返します。

_SC_2_LOCALEDEF
ロケールの作成がサポートしていれば 1 を返し、サポートされていなけ れば −1 を返します。

_SC_2_SW_DEV
ソフトウェア開発ユーティリティオプション (Software Development Utilities Option) がサポートされていれば 1 を返し、サポートされて いなければ −1 を返します。

_SC_2_UPE
ユーザポータビリティユーティリティオプション (User Portability Utilities Option) がサポートされていれば 1 を返し、サポートされて いなければ −1 を返します。

戻り値

sysconf() の呼び出しが成功しなかったときは −1 が返され、 errno が適切な値 に設定されます。そうでないときは、変数がサポートされていない機能に関連づ けられていると −1 が返され、 errno は修正されません。それ以外の場合は、現 在の変数値が返されます。

エラー

sysconf() 関数が失敗して、ライブラリ関数 sysctl(3) について記されているエ ラーのいずれかに対応した errno が設定されることがあります。さらに、次のよ うなエラーが報告されることがあります。

       [EINVAL]

name 引数の値が無効です。

関連項目

sysctl(3)

バグ

_SC_STREAM_MAX の値は最大値の最小値であり、 ANSI C の FOPEN_MAX と同じで あることが要求されているので、戻り値は極めて小さい誤解を招くような値にな ります。

規格

sysconf() の返す値が、呼び出したプロセスが生存している間に変化する可能性 があることを除いては、この関数は IEEE Std 1003.1-1988 (‘‘POSIX.1’’) に準 拠しています。

歴史

sysconf() 関数は、最初 4.4BSD に現れました。

FreeBSD 10.0 April 19, 1994 FreeBSD 10.0

スポンサーリンク