SYSCONF(3) | FreeBSD Library Functions Manual | SYSCONF(3) |
名称
sysconf — 設定可能なシステム変数を取得するライブラリ
Standard C Library (libc, -lc)解説
このインタフェースは、 IEEE Std 1003.1-1988 (“POSIX.1”) によって定義されています。はるかに完全なインタフェースは、 sysctl(3) を使用して利用可能です。sysconf() 関数は、設定可能なシステムの制限、またはオプション変数の現在の値を決定するためにアプリケーションのための方法を提供しています。 name 引数は、問い合わせされるシステム変数を指定します。各名前の値のためのシンボリック定数は、インクルードファイル < unistd.h> にあります。これらのパラメータへのアクセスを必要とするシェルプログラマは、 getconf(1) ユーティリティを使用するべきです。
利用可能な値は、次の通りです:
-
_SC_ARG_MAX
- execve(2) への引数の最大バイト。
-
_SC_CHILD_MAX
- ユーザ ID ごとの同時に存在するプロセスの最大数。
-
_SC_CLK_TCK
- 1 秒ごとの tick 単位の統計クロックの周波数。
-
_SC_IOV_MAX
- readv(2), writev(2), recvmsg(2) と sendmsg(2) によって使用される I/O ベクトルの要素の最大数。
-
_SC_NGROUPS_MAX
- 補足グループの最大数。
-
_SC_NPROCESSORS_CONF
- 設定されたプロセッサの数。
-
_SC_NPROCESSORS_ONLN
- 現在のオンラインのプロセッサの数。
-
_SC_OPEN_MAX
- システムが新しいファイル記述子に割り当てる最大値 + 1。
-
_SC_PAGESIZE
- バイト単位のシステムページのサイズ。
-
_SC_PAGE_SIZE
-
_SC_PAGESIZE
と同等です。 -
_SC_STREAM_MAX
- プロセスが一度にオープンされるストリームの最小の最大値。
-
_SC_TZNAME_MAX
- 時間帯 (タイムゾーン) の名前に対してサポートされるタイプの最小の最大値。
-
_SC_JOB_CONTROL
- ジョブ制御がこのシステムで利用可能であるなら、1 を返し、そうでなければ、-1 を返します。
-
_SC_SAVED_IDS
- 退避 set-group ID と退避 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 言語構築オプションをサポートしているなら、 1 を返し、そうでなければ、-1 を返します。
-
_SC_2_C_DEV
- システムが、C 言語開発ユーティリティオプションをサポートしているなら、 1 を返し、そうでなければ、-1 を返します。
-
_SC_2_CHAR_TERM
- システムが、 IEEE Std 1003.2 (“POSIX.2”) に記述されているすべての操作の能力がある、すくなくとも 1 つの端末タイプをサポートしているなら、1 を返し、そうでなければ、-1 を返します。
-
_SC_2_FORT_DEV
- システムが、FORTRAN 開発ユーティリティオプションをサポートしているなら、 1 を返し、そうでなければ、-1 を返します。
-
_SC_2_FORT_RUN
- システムが、FORTRAN ランタイムユーティリティオプションをサポートしているなら、 1 を返し、そうでなければ、-1 を返します。
-
_SC_2_LOCALEDEF
- システムが、ロケールの作成をサポートしているなら、1 を返し、そうでなければ、-1 を返します。
-
_SC_2_SW_DEV
- システムが、ソフトウェア開発ユーティリティオプションをサポートしているなら、 1 を返し、そうでなければ、-1 を返します。
-
_SC_2_UPE
- システムが、ユーザポータビリティユーティリティオプションをサポートしているなら、 1 を返し、そうでなければ、-1 を返します。
-
_SC_AIO_LISTIO_MAX
- サポートされている単一リスト I/O 呼び出しの I/O 操作の最大数。
-
_SC_AIO_MAX
- サポートされている顕著な非同期 I/O 操作の最大数。
-
_SC_AIO_PRIO_DELTA_MAX
- プロセスがそれ自体のスケジューリングの優先順位から非同期 I/P の優先順位を減少させることができる最大の量。
-
_SC_DELAYTIMER_MAX
- タイマ満了の超過の最大数。
-
_SC_MQ_OPEN_MAX
- オープンメッセージのキューの記述子プロセスの最大数は、保持されます。
-
_SC_RTSIG_MAX
- 使用されるアプリケーションのために予約されたリアルタイムシグナルの最大数。
-
_SC_SEM_NSEMS_MAX
- プロセスにあるセマフォの最大数。
-
_SC_SEM_VALUE_MAX
- セマフォにある最大値。
-
_SC_SIGQUEUE_MAX
- プロセスがいつでも (複数の) レシーバで送信され、保留中 (pending) となっているキューに入れられたシグナルの最大数。
-
_SC_TIMER_MAX
- サポートされているプロセス毎のタイマの最大数。
-
_SC_GETGR_R_SIZE_MAX
- グループエントリバッファのサイズのために推奨されている初期値。
-
_SC_GETPW_R_SIZE_MAX
- パスワードエントリバッファのサイズのために推奨されている初期値。
-
_SC_HOST_NAME_MAX
- gethostname() 関数からの返されるホスト名 (終端にヌル文字を含んでいない) の最大の長さ。
-
_SC_LOGIN_NAME_MAX
- ログイン名の最大の長さ。
-
_SC_THREAD_STACK_MIN
- スレッドのスタック記憶域のバイト単位の最小サイズ。
-
_SC_THREAD_THREADS_MAX
- プロセス毎に作成することができるスレッドの最大数。
-
_SC_TTY_NAME_MAX
- 端末デバイス名の最大の長さ。
-
_SC_SYMLOOP_MAX
- ループがないパス名の解決で実際にたどることができるシンボリックリンクの最大数。
-
_SC_ATEXIT_MAX
- atexit() に登録される関数の最大数。
-
_SC_XOPEN_VERSION
- このシステムが適合している X/Open Portability Guide のバージョンを示す 4 以上の整数値。
-
_SC_XOPEN_XCU_VERSION
- このシステムが適合している XCU Specification のバージョンを示す整数値。
これらの値も、存在していますが、標準ではありません:
-
_SC_CPUSET_SIZE
- カーネルの cpuset のサイズ。
-
_SC_PHYS_PAGES
-
物理的なメモリのページ数。この値の製品と
_SC_PAGESIZE
の値は、32 ビットのマシンでのいくつかの設定で long をオーバフローする可能性があることに注意してください。
戻り値
sysconf() への呼び出しが成功しないなら、-1 が返され、 errno は、適切な値に設定されます。そうでなければ、変数がサポートされていない機能に関連付けられるなら、-1 が返され、 errno は、修正されません。そうでなければ、現在の変数値が返されます。エラー
sysconf() 関数が失敗すれば、ライブラリ関数 sysctl(3) で明記されたエラーのいずれかが errno に設定されます。さらに、次のエラーが報告されます:- [ EINVAL]
- name 引数の値が無効です。
規格
sysconf() によって返される値が、呼び出しているプロセスの存続期間を切り替えるという事実を除いて、この関数は、 IEEE Std 1003.1-1988 (“POSIX.1”) に適合しています。歴史
sysconf() 関数は、 4.4BSD ではじめて登場しました。バグ
_SC_STREAM_MAX の値は、最小の最大値であり、ANSI C の FOPEN_MAX として同じであることが要求されているので、返り値は、とんでもなく小さく誤解を与える値です。April 26, 2013 | FreeBSD |