sysconf サブルーチン

目的

指定されたシステムしきい値またはオプションの現行値を決定します。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <unistd.h>
long int sysconf ( Name)
int Name;

説明

sysconf サブルーチンは、特定のシステム・パラメーターの現行値、構成可能なシステム制限、またはオプション・フィーチャーがサポートされているかどうかを判別します。 Name パラメーターは、照会するシステム変数を表します。

パラメーター

項目 説明
name どのシステム変数設定を戻すかを指定します。 Name パラメーターの有効な値は、 limits.htime.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.htime.h、または unistd.h ファイルによってアプリケーションに対して記述された対応する値よりも制限的にすることはできません。 戻り値は、呼び出しプロセスの存続期間中は変更されません。 sysconfサブルーチンが失敗した場合、-1が返される。

エラー・コード

Nameパラメータが無効な場合、-1が返され、エラーを示すerrnoグローバル変数が設定される。 Nameパラメータが有効であるが、システムでサポートされていない変数である場合、-1が返され、errnoグローバル変数にEINVALが設定される。 システム変数_SC_AIX_MP_CAPABLEが非 root ユーザーによってアクセスされた場合、-1が返され、グローバル変数errnoがエラーを示します

ファイル

項目 説明
/usr/include/limits.h システム定義の制限が含まれます。