名称
limits ― インプリメンテーションに特有の定数
説明
次の記号は、 <limits.h> で定義されています。
これらは、このマニュアルの説明文中で使用されているものです。 HP-UX 値 欄は、すべての HP-UX システムで移植性のあるアプリケーションを
作成するために想定すべき値を示しています。
値の後の記号は、次に示す意味を持っています。
| + | | いくつかの HP-UX システムでは、ここで示される値よりも実際の限界値が大きいことがあります。 |
| - | | いくつかの HP-UX システムでは、ここで示される値よりも実際の限界値が小さいことがあります。 |
| = | | 実際の限界値は、ここで示される値と常に等しく、すべての
HP-UX システムで同じです。 |
| * | | この限界値の名前が定義されるのは、 コンパイル時に -D_XPG2 フラグを指定するか、ソースプログラムで <limits.h> がインクルードされる前に #define 指令のどちらか一方を用いることによって、
プリプロセッサマクロ _XPG2 が定義されているとき だけ です。 |
| # | | この限界値の定義値は、コンパイル時定数でないことがあります。
常にこの定義値は、実行時に整数式として計算されます。 |
これらの限界値の中には、システム構成によって違うものがあります。
その値は、 sysconf(2) を使って動的にに知ることができます。
また、ファイルシステムや、特殊ファイルに対応するデバイスに よって違うものがあります。
その値は pathconf(2) を使って知ることができます。 さらに、時代遅れのものもあります。
他の限界値に対して冗長であったり、移植可能なアプリケーションを 作成するのに役立ちません。
これらは、他のシステムからのアプリケーションの移植や、『 X/Open Portability Guide, Issue 2 』に従うアプリケーションをサポートしたり、以前の
HP-UX の旧製品との互換性を保つために提供されています。 新しいアプリケーションでは _XPG2 フラグを定義しないでください。
コンパイルの際に <limits.h> ファイルをインクルードして、
そのアプリケーションが、ある特定のシステムで動作できるかどうかを
調べるための適当な限界値を検査することができます。 さらに、そのシステムに適合するようにアプリケーションの挙動を変えて、
様々な範囲にわたる限界値の設定やシステムの移植性を向上することもできます。
| 定数 | 説明 | HP-UX 値 |
|---|
| ARG_MAX | 環境データを含む、 exec(2)への引き数の最大長
(バイト単位) | 5120 +* |
| CHAR_BIT | char のビット数 | 8 = |
| CHAR_MAX | char の最大整数値 | 127 = |
| CHAR_MIN | char の最小整数値 | -128 = |
| CHILD_MAX | ユーザー ID あたりの並行プロセス の最大個数 | 25 +-* |
| CLK_TCK | 1 秒間あたりのクロックチック数 | 50 +# |
| DBL_DIG | double の精度の桁数 | 15 + |
| DBL_MAX | double の最大正数値 | 1.7976931348623157e+308 + |
| DBL_MIN | double の最小正数値 | 4.94065645841246544e-324 - |
| FCHR_MAX | ファイルの最大オフセット (バイト単位) | INT_MAX +-* |
| FLT_DIG | float の精度の桁数 | 6 + |
| FLT_MAX | float の最大正数値 | 3.40282346638528860e+38 + |
| FLT_MIN | float の最小正数値 | 1.40129846432481707e-45 - |
| INT_MAX | int の最大 10 進値 | 2147483647 + |
| INT_MIN | int の最小 10 進値 | -2147483648 - |
| LINE_MAX | 1 行あたりの最大文字数 | 2048 = |
| LINK_MAX | 1 ファイルあたりの最大リンク数 | 32767 +* |
| LOCK_MAX | システムロック テーブルの最大エントリー数 | 32 +-* |
| LONG_BIT | long のビット数 | 32 + |
| LONG_MAX | long の最大 10 進値 | 2147483647 + |
| LONG_MIN | long の最小 10 進値 | -2147483648 - |
| MAX_CANON | ターミナル基準入力行に含まれる最大バイト数 | 512 +* |
| MAX_CHAR | ターミナル入力キューに含まれる最大バイト数 | MAX_INPUT =* |
| MAX_INPUT | ターミナル入力キューに含まれる最大バイト数 | 512 +* |
| NAME_MAX | 1 つのパス名構成要素の最大バイト数 | 14 +* |
| NL_ARGMAX | NLS printf(3S) 関数および scanf(3S)関数の呼出しの際の最大「桁」数 | 9 = |
| NL_MSGMAX | 1 つの NLS メッセージカタログに含まれる 最大メッセージ数 | 32767 + |
| NL_SETMAX | 1 つの NLS メッセージカタログに含まれる 最大セット数 | 255 + |
| NL_TEXTMAX | 1 つの NLS メッセージ文字列に含まれる 最大バイト数 | 8192 + |
| NGROUPS_MAX | プロセスあたりの最大補助グループ数 | 20 + |
| OPEN_MAX | 1 つのプロセスがオープンできる最大ファイル数 | 60 +* |
| PASS_MAX | 1 つのパスワードに含まれる最大文字数 | 8 + |
| PATH_MAX | null ターミネータを除く、 1 つのパス名に含まれる最大文字数 | 1023 +* |
| PID_MAX | 1 つのプロセス ID の最大値 | 30000 + |
| PIPE_BUF | 1 つのパイプへの書込み単位の最大バイト数 | 8192 +* |
| PIPE_MAX | 1 回の書込みで 1 つのパイプに書き込める最大バイト数 | INT_MAX + |
| PROC_MAX | システムの最大並行プロセス数 | 84 +-* |
| SCHAR_MAX | signed char の最大整数値 | 127 = |
| SCHAR_MIN | signed char の最小整数値 | -128 = |
| SHRT_MAX | short の最大 10 進値 | 32767 + |
| SHRT_MIN | short の最小 10 進値 | -32768 - |
| STD_BLK | 物理的 I/O ブロックに含まれるバイト数 | 512 + |
| SYSPID_MAX | システムプロセスの最大プロセス ID | 4 +-* |
| SYS_NMLN | uname(2) が返す文字列の長さ | 8 +* |
| SYS_OPEN | システムでオープンされるファイルの最大個数 | 120 +-* |
| TMP_MAX | tmpnam(3S) が生成するユニークな名前の 最大個数 | 17576 + |
| UCHAR_MAX | unsigned char の最大整数値 | 255 = |
| UID_MAX | ユーザー ID やグループ ID として 使用できない値の最小値 | 2147483647 + |
| UINT_MAX | unsigned int の最大 10 進値 | 4294967295 + |
| ULONG_MAX | unsigned long の最大 10 進値 | 4294967295 + |
| USHRT_MAX | unsigned short の最大 10 進値 | 65535 + |
| USI_MAX | unsigned int の最大 10 進値 | UINT_MAX =* |
| WORD_BIT | 1 つの「ワード」 (int)
中のビット数 | 32 + |
例
UID_MAX の HP-UX 値は 2147483647
+ で、これは、すべての HP-UX システムで、ユーザー ID やグループ
ID として使用できない値の最小値が少なくとも 2147483647 であることを意味します。
システムのなかには、2147483647 を超えるユーザー ID やグループ ID
をサポートできるものがあるかもしれませんが、その場合、 <limits.h> ファイルでは UID_MAX が、より大きい値に設定されます。
しかし、そのような大きな値を想定するアプリケーションは、 すべての
HP-UX に移植できる保証はありません。
参照
exec(2), fcntl(2), fork (2), getgroups(2), link(2), lockf(2),
open(2), pathconf(2), sysconf(2), uname(2), write(2), printf(3S),
scanf(3S), tmpnam(3S), passwd(4), values(5), termio(7)
標準準拠
<limits.h>: AES, SVID3, XPG2,
XPG3, XPG4, FIPS 151-2, POSIX.1, POSIX.2, ANSI C