tail head cat sleep
QR code linking to this page

manページ  — SYSCONF

名称

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

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <unistd.h>

long
sysconf(int name);

解説

このインタフェースは、 IEEE Std 1003.1-88 ("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-88 ("POSIX.1") に準拠しています。

歴史

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

SYSCONF (3) April 19, 1994

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Ken Thompson was once asked by a reporter what he would have changed about Unix if he had it all to do over again. His answer: “I would spell creat with an ‘e.'”