sysconf サブルーチン
目的
指定されたシステムしきい値またはオプションの現行値を決定します。
ライブラリー
標準 C ライブラリー (libc.a)
構文
#include <unistd.h> long int sysconf ( Name)
int Name;
int Name;
説明
sysconf サブルーチンは、特定のシステム・パラメーターの現行値、構成可能なシステム制限、またはオプション・フィーチャーがサポートされているかどうかを判別します。 Name パラメーターは、照会するシステム変数を表します。
パラメーター
| 項目 | 説明 |
|---|---|
| name | どのシステム変数設定を戻すかを指定します。 Name パラメーターの有効な値は、 limits.h、 time.h、および unistd.h ファイルに定義されており、以下で説明します。 |
| 項目 | 説明 |
|---|---|
| _SC_AIO_LISTIO_MAX | リストの入出力呼び出しに指定できる入出力操作の最大数。 |
| _SC_AIO_MAX (_SC_AIO_MAX) | 未処理の非同期入出力操作の最大数。 |
| _SC_AIX_ENHANCED_AFFINITY | ENHANCED_AFFINITY サービスを有効にするかどうかを決定します。 |
| _SC_ASYNCHRONOUS_IO | 実装では、非同期入出力オプションがサポートされます。 |
| _SC_ARG_MAX | 環境データを含む exec 関数の 1 つの引数の最大バイト長を指定します。 |
| SC_BC_BASE_MAX | ../b_commands/bc.html によって許可される ibase および obase 変数の最大数を指定します。 |
| _SC_BC_DIM_MAX | bc コマンドによって配列内で許可されるエレメントの最大数を指定します。 |
| _SC_BC_SCALE_MAX | bc コマンドで許可される最大 scale 変数を指定します。 |
| _SC_BC_STRING_MAX | bc コマンドで許可されるストリング定数の最大長を指定します。 |
| _SC_CHILD_MAX | 実ユーザー ID ごとの同時プロセスの数を指定します。 |
| _SC_CLK_TCK | time.h ファイルの CLK_TCK で定義されているクロック・ティック増分を示します。 |
| _SC_COLL_WEIGHTS_MAX | ロケール定義ファイルの LC_COLLATE キーワードの項目に割り当てることができる重みの最大数を指定します。 |
| _SC_DELAYTIMER_MAX | タイマー満了オーバーランの最大数。 |
| SC_EXPR_NEST_MAX | expr コマンドによって括弧内にネストできる式の最大数を指定します。 |
| _SC_JOB_CONTROL | このシンボルが定義されている場合は、ジョブ制御がサポートされます。 |
| _SC_IOV_MAX | 1 つのプロセスが readv および writev サブルーチンで使用できる iovec 構造体の最大数を指定します。 |
| _SC_LARGE_PAGESIZE | ラージ・ページのサイズ (バイト単位)。 |
| _SC_LINE_MAX (_SC_LINE_MAX) | コマンドが処理テキスト・ファイルとして記述されている場合に、コマンドの入力行 (標準入力または別のファイル) の最大バイト長を指定します。 この長さには、後続の改行文字を入れる余地が含まれます。 |
| _SC_LOGIN_NAME_MAX | ログイン名の最大長。 |
| _SC_MQ_OPEN_MAX | オープン・メッセージ・キュー記述子の最大数。 |
| _SC_MQ_PRIO_MAX | メッセージ優先順位の最大数。 |
| _SC_MEMLOCK (_SC_MEMLOCK) | 実装では、プロセス・メモリー・ロック・オプションがサポートされます。 |
| SC_MEMLOCK_RANGE | 実装では、範囲メモリー・ロック・オプションがサポートされます。 |
| _SC_MEMORY_PROTECTION | 実装では、メモリー保護オプションがサポートされます。 |
| _SC_MESSAGE_PASSING | 実装では、メッセージ・パッシング・オプションがサポートされます。 |
| _SC_NGROUPS_MAX | プロセスごとの同時補足グループ ID の最大数を指定します。 |
| _SC_OPEN_MAX | 1 つのプロセスが一度に開くことができるファイルの最大数を指定します。 |
| _SC_PASS_MAX | パスワード内の有効文字の最大数 (終了ヌル文字を含まない) を指定します。 |
| _SC_PASS_MAX | パスワードの有効バイトの最大数。 |
| _SC_PAGESIZE | _SC_PAGE_SIZE と同等です。 |
| _SC_PAGE_SIZE | ページのサイズ (バイト単位)。 |
| _SC_PRIORITIZED_IO | 実装では、優先順位付けされた入出力オプションがサポートされます。 |
| _SC_PRIORITY_SCHEDULING | 実装では、プロセス・スケジューリング・オプションがサポートされます。 |
| _SC_RE_DUP_MAX | ¥ { mを使用するときに許可される正規表現の繰り返しの最大回数を指定します。 n \} 間隔表記。 |
| _SC_RTSIG_MAX | アプリケーションで使用するために予約されているリアルタイム・シグナルの最大数。 |
| 項目 | 説明 |
|---|---|
| _SC_REALTIME_SIGNALS | 実装では、Realtime Signals Extension オプションがサポートされます。 |
| _SC_SAVED_IDS | このシンボルが定義されている場合、各プロセスには保管されたセット・ユーザー ID とセット・グループ ID があります。 |
| SC_SEM_NSEMS_MAX | プロセスごとのセマフォーの最大数。 |
| _SC_SEM_VALUE_MAX | セマフォーが持つことができる最大値。 |
| SC_SEMAPHORES (_SC_SEMAPHORES) | 実装では、セマフォー・オプションがサポートされます。 |
| _SC_SHARED_MEMORY_OBJECTS | 実装では、共有メモリー・オブジェクト・オプションがサポートされます。 |
| _SC_SIGQUEUE_MAX | 任意の時点でプロセスが送信し、保留にすることができるシグナルの最大数。 |
| _SC_STREAM_MAX | 1 つのプロセスが同時に開くことができるストリームの最大数を指定します。 |
| _SC_SYNCHRONIZED_IO | 実装では、「同期化された入出力」オプションがサポートされます。 |
| _SC_TIMER_MAX | プロセスごとのタイマーの最大数。 |
| 「_SC_TIMERS」 | 実装では、Timers オプションがサポートされます。 |
| _SC_TZNAME_MAX | ( TZ 値ではなく) タイム・ゾーンの名前に対してサポートされる最大バイト数を指定します。 |
| _SC_VERSION | IEEE 標準ボードによって標準が承認された 4 桁の年と 2 桁の月を示すために、 POSIX 標準のバージョン番号または改訂番号が実装されていることを示します。 この値は現在、長整数 198808 です。 |
| _SC_XBS5_ILP32_OFF32 | インプリメンテーションは、32 ビット int 型、long 型、pointer 型、および off_t 型の C 言語コンパイル環境を提供します。 |
| _SC_XBS5_ILP32_OFFBIG | インプリメンテーションは、32 ビット int 型、long 型、ポインター型、および少なくとも 64 ビットを使用する off_t 型の C 言語コンパイル環境を提供します。 |
| _SC_XBS5_LP64_OFF64 | インプリメンテーションは、32 ビット int 型、64 ビット long 型、ポインター型、および off_t 型の C 言語コンパイル環境を提供します。 |
| _SC_XBS5_LPBIG_OFFBIG | インプリメンテーションは、少なくとも 32 ビットを使用する int 型と、少なくとも 64 ビットを使用する long 型、pointer 型、および off_t 型の C 言語コンパイル環境を提供します。 |
| _SC_XOPEN_CRYPT | システムが X/Open 暗号化フィーチャー・グループをサポートすることを示します。 |
| _SC_XOPEN_LEGACY | この実装では、レガシー・フィーチャー・グループがサポートされます。 |
| SC_XOPEN_REALTIME (_SC_XOPEN_REALTIME) | インプリメンテーションは、X/Open リアルタイム・フィーチャー・グループをサポートします。 |
| _SC_XOPEN_REALTIME_THREADS | インプリメンテーションは、X/Open リアルタイム・スレッド・フィーチャー・グループをサポートします。 |
| _SC_XOPEN_ENH_I18N | システムが X/Open 拡張国際化対応機能グループをサポートすることを示します。 |
| SC_XOPEN_SHM (_SC_XOPEN_SHM) | システムが X/Open 共用メモリー・フィーチャー・グループをサポートすることを示します。 |
| _SC_XOPEN_VERSION | X/Open 標準のバージョン番号または改訂番号が実装されていることを示します。 |
| _SC_XOPEN_XCU_VERSION | XCU 仕様の現行バージョンを記述する値を指定します。 |
| _SC_ATEXIT_MAX | atexit サブルーチン用のレジスター関数の最大数を指定します。 |
| _SC_PAGE_SIZE | メモリーのページ・サイズの細分度を指定します。 |
| SC_AES_OS_VERSION | OSF AES バージョンを示します。 |
| _SC_2_VERSION | POSIX.2の現行バージョンを記述する値を指定します。 |
| _SC_2_C_BIND | システムが C 言語バインディング・オプションをサポートすることを示します。 |
| _SC_2_C_CHAR_TERM | システムが少なくとも 1 つの端末タイプをサポートすることを示します。 |
| _SC_2_C_DEV | システムが C 言語開発ユーティリティー・オプションをサポートすることを示します。 |
| _SC_2_C_VERSION | C 言語バインディングを持つ POSIX.2 の現行バージョンを記述する値を指定します。 |
| _SC_2_FORT_DEV | システムが FORTRAN 開発ユーティリティー・オプションをサポートすることを示します。 |
| _SC_2_FORT_RUN | システムが FORTRAN 開発ユーティリティー・オプションをサポートすることを示します。 |
| _SC_2_LOCALEDEF | システムがロケールの作成をサポートすることを示します。 |
| _SC_2_SW_DEV | システムがソフトウェア開発ユーティリティー・オプションをサポートすることを示します。 |
| _SC_2_UPE | システムがユーザー移植性ユーティリティー・オプションをサポートすることを示します。 |
| _SC_NPROCESSORS_CONF | 構成されたプロセッサーの数。 |
| SC_NPROCESSORS_ONLN | オンラインのプロセッサーの数。 |
| _SC_THREAD_DATAKEYS_MAX | 1 つのプロセスで定義できるデータ・キーの最大数。 |
| 項目 | 説明 |
|---|---|
| _SC_THREAD_DESTRUCTOR_ITERATIONS | スレッドのスレッド固有データを破棄するために行われる最大試行回数。 |
| _SC_THREAD_KEYS_MAX | プロセスごとのデータ・キーの最大数。 |
| _SC_THREAD_STACK_MIN | スレッド・スタック・サイズの最小値。 |
| _SC_THREAD_THREADS_MAX | プロセス内のスレッドの最大数。 |
| _SC_REENTRANT_FUNCTIONS | システムは再入可能関数をサポートします (再入可能関数は、マルチスレッド・アプリケーションで使用する必要があります)。 |
| _SC_THREADS | システムは POSIX スレッドをサポートします。 |
| _SC_THREAD_ATTR_STACKADDR (_SC_THREAD_ATTR_STACKADDR) | システムは、 POSIX スレッド (スレッドの stackaddr 属性) のスタック・アドレス・オプションをサポートします。 |
| _SC_THREAD_ATTR_STACKSIZE | システムは、 POSIX スレッド (スレッドのスタック・サイズ属性) のスタック・サイズ・オプションをサポートします。 |
| _SC_THREAD_PRIORITY_SCHEDULING | システムは、 POSIX スレッドの優先順位スケジューリングをサポートします。 |
| _SC_THREAD_PRIO_INHERIT | システムは、 POSIX スレッドの優先順位継承プロトコル (mutex の優先順位逆転プロトコル) をサポートします。 |
| _SC_THREAD_PRIO_PROTECT | システムは、 POSIX スレッドの優先順位上限プロトコル (mutex の優先順位逆転プロトコル) をサポートします。 |
| _SC_THREAD_PROCESS_SHARED | システムは、 POSIX スレッド (mutex および条件の pshared 属性) のプロセス共用オプションをサポートします。 |
| _SC_TTY_NAME_MAX | 端末装置名の最大長。 |
| _SC_SYNCHRONIZED_IO | 実装では、 「同期化された入出力」 オプションがサポートされます。 |
| _SC_FSYNC (_SC_FSYNC) | 実装では、 「ファイル同期」 オプションがサポートされます。 |
| _SC_MAPPED_FILES | 実装では、 「メモリー・マップ・ファイル」 オプションがサポートされます。 |
| _SC_LPAR_ENABLED | LPAR が使用可能かどうかを示します。 |
| _SC_AIX_KERNEL_BITMODE (_SC_AIX_KERNEL_BITMODE) | カーネルが 32 ビットか 64 ビットかを判別します。 |
| SC_AIX_REALMEM (_SC_AIX_REALMEM) | 実メモリーの量をキロバイト単位で決定します。 |
| _SC_AIX_HARDWARE_BITMODE | マシンが 32 ビットか 64 ビットかを判別します。 |
| SC_AIX_MP_CAPABLE (_SC_AIX_MP_CAPABLE) | ハードウェアが MP 対応かどうかを判別します。 注: _SC_AIX_MP_CAPABLE 変数は、root ユーザーのみが使用できます。
|
| SC_AIX_UKEYS (_SC_AIX_UKEYS) | 使用可能なユーザー・キーの数。 値 0 は、ユーザー・キーとそれらを管理するインターフェースが使用できないことを示します。 |
注: _SYNCHRONIZED_IO、 _SC_FSYNC、および SC_MAPPED_FILES コマンドは、オペレーティング・システムのバージョン 4.3 以降のリリースに適用されます。
システムによってサポートされる変数に戻される値は、呼び出しを行うプロセスの存続期間中は変更されません。
戻り値
sysconf サブルーチンが正常に終了すると、システム変数の現行値が戻されます。 戻り値は、コンパイル時に limits.h、 time.h、または unistd.h ファイルによってアプリケーションに対して記述された対応する値よりも制限的にすることはできません。 戻り値は、呼び出しプロセスの存続期間中は変更されません。 sysconfサブルーチンが失敗した場合、-1が返される。
エラー・コード
Nameパラメータが無効な場合、-1が返され、エラーを示すerrnoグローバル変数が設定される。 Nameパラメータが有効であるが、システムでサポートされていない変数である場合、-1が返され、errnoグローバル変数にEINVALが設定される。 システム変数_SC_AIX_MP_CAPABLEが非 root ユーザーによってアクセスされた場合、-1が返され、グローバル変数errnoがエラーを示します
ファイル
| 項目 | 説明 |
|---|---|
| /usr/include/limits.h | システム定義の制限が含まれます。 |