1macro-int-constant CHAR_BIT >= 8 2macro-int-constant SCHAR_MIN {promoted:signed char} <= -127 3macro-int-constant SCHAR_MAX {promoted:signed char} >= 127 4macro-int-constant UCHAR_MAX {promoted:unsigned char} >= 255 5#ifdef __CHAR_UNSIGNED__ 6macro-int-constant CHAR_MIN {promoted:char} == 0 7macro-int-constant CHAR_MAX {promoted:char} == UCHAR_MAX 8#else 9macro-int-constant CHAR_MIN {promoted:char} == SCHAR_MIN 10macro-int-constant CHAR_MAX {promoted:char} == SCHAR_MAX 11#endif 12macro-int-constant MB_LEN_MAX >= 1 13macro-int-constant SHRT_MIN {promoted:short int} <= -32767 14macro-int-constant SHRT_MAX {promoted:short int} >= 32767 15macro-int-constant USHRT_MAX {promoted:unsigned short int} >= 65535 16// The ranges for int and unsigned int are from POSIX. 17macro-int-constant INT_MAX {int} >= 2147483647 18macro-int-constant INT_MIN {int} <= -2147483647 19macro-int-constant UINT_MAX {unsigned int} >= 4294967295U 20macro-int-constant LONG_MAX {long int} >= 2147483647L 21macro-int-constant LONG_MIN {long int} <= -2147483647L 22macro-int-constant ULONG_MAX {unsigned long int} >= 4294967295UL 23#if defined ISO99 || defined ISO11 || defined XOPEN2K8 || defined POSIX2008 24macro-int-constant LLONG_MIN {long long int} <= -9223372036854775807ll 25macro-int-constant LLONG_MAX {long long int} >= 9223372036854775807ll 26macro-int-constant ULLONG_MAX {unsigned long long int} >= 18446744073709551615ull 27#endif 28 29#if !defined ISO && !defined ISO99 && !defined ISO11 30// if these values exist, we should check the minimal value 31allow AIO_LISTIO_MAX 32allow AIO_MAX 33allow AIO_PRIO_DELTA_MAX 34allow ARG_MAX 35#if !defined POSIX && !defined XPG4 36allow ATEXIT_MAX 37#endif 38allow CHILD_MAX 39allow DELAYTIMER_MAX 40#if !defined POSIX && !defined POSIX2008 && !defined XPG4 41allow IOV_MAX 42#endif 43allow LOGIN_NAME_MAX 44allow MQ_OPEN_MAX 45allow MQ_PRIO_MAX 46allow OPEN_MAX 47allow PAGESIZE 48#if !defined POSIX && !defined POSIX2008 49allow PAGE_SIZE 50#endif 51allow PTHREAD_DESTRUCTOR_ITERATIONS 52allow PTHREAD_KEYS_MAX 53allow PTHREAD_STACK_MIN 54allow PTHREAD_THREADS_MAX 55allow RTSIG_MAX 56allow SEM_NSEMS_MAX 57allow SEM_VALUE_MAX 58allow SIGQUEUE_MAX 59#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 60allow SS_REPL_MAX 61#endif 62allow STREAM_MAX 63#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 64allow SYMLOOP_MAX 65#endif 66allow TIMER_MAX 67allow TTY_NAME_MAX 68allow TZNAME_MAX 69 70#if !defined POSIX && !defined XPG4 && !defined XPG42 71allow FILESIZEBITS 72#endif 73allow LINK_MAX 74allow MAX_CANON 75allow MAX_INPUT 76allow NAME_MAX 77allow PATH_MAX 78allow PIPE_BUF 79#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 80allow POSIX_ALLOC_SIZE_MIN 81allow POSIX_REC_INCR_XFER_SIZE 82allow POSIX_REC_MAX_XFER_SIZE 83allow POSIX_REC_XFER_ALIGN 84allow SYMLINK_MAX 85#endif 86 87macro-constant BC_BASE_MAX >= _POSIX2_BC_BASE_MAX 88macro-constant BC_DIM_MAX >= _POSIX2_BC_DIM_MAX 89macro-constant BC_SCALE_MAX >= _POSIX2_BC_SCALE_MAX 90macro-constant BC_STRING_MAX >= _POSIX2_BC_STRING_MAX 91#if !defined POSIX && !defined XPG4 && !defined XPG42 92macro CHARCLASS_NAME_MAX 93#endif 94macro-constant COLL_WEIGHTS_MAX >= _POSIX2_COLL_WEIGHTS_MAX 95macro-constant EXPR_NEST_MAX >= _POSIX2_EXPR_NEST_MAX 96macro-constant LINE_MAX >= _POSIX2_LINE_MAX 97constant NGROUPS_MAX >= 8 98macro-constant RE_DUP_MAX >= _POSIX2_RE_DUP_MAX 99 100constant _POSIX_CLOCKRES_MIN == 20000000 101 102constant _POSIX_AIO_LISTIO_MAX == 2 103constant _POSIX_AIO_MAX == 1 104constant _POSIX_ARG_MAX == 4096 105#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 106constant _POSIX_CHILD_MAX == 25 107#else 108constant _POSIX_CHILD_MAX == 6 109#endif 110constant _POSIX_DELAYTIMER_MAX == 32 111constant _POSIX_LINK_MAX == 8 112constant _POSIX_LOGIN_NAME_MAX == 9 113constant _POSIX_MAX_CANON == 255 114constant _POSIX_MAX_INPUT == 255 115constant _POSIX_MQ_OPEN_MAX == 8 116constant _POSIX_MQ_PRIO_MAX == 32 117constant _POSIX_NAME_MAX == 14 118#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 119constant _POSIX_NGROUPS_MAX == 8 120#else 121constant _POSIX_NGROUPS_MAX == 0 122#endif 123#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 124constant _POSIX_OPEN_MAX == 20 125#else 126constant _POSIX_OPEN_MAX == 16 127#endif 128// Value was 255, corrected to 256 following an interpretation request. 129constant _POSIX_PATH_MAX == 256 130constant _POSIX_PIPE_BUF == 512 131constant _POSIX_RTSIG_MAX == 8 132constant _POSIX_SEM_NSEMS_MAX == 256 133constant _POSIX_SEM_VALUE_MAX == 32767 134constant _POSIX_SIGQUEUE_MAX == 32 135constant _POSIX_SSIZE_MAX == 32767 136constant _POSIX_STREAM_MAX == 8 137#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 138optional-constant _POSIX_SS_REPL_MAX == 4 139optional-constant _POSIX_SYMLINK_MAX == 255 140optional-constant _POSIX_SYMLOOP_MAX == 8 141#endif 142constant _POSIX_THREAD_DESTRUCTOR_ITERATIONS == 4 143constant _POSIX_THREAD_KEYS_MAX == 128 144constant _POSIX_THREAD_THREADS_MAX == 64 145constant _POSIX_TIMER_MAX == 32 146constant _POSIX_TTY_NAME_MAX == 9 147#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 148constant _POSIX_TZNAME_MAX == 6 149#else 150constant _POSIX_TZNAME_MAX == 3 151#endif 152macro-constant _POSIX2_BC_BASE_MAX == 99 153macro-constant _POSIX2_BC_DIM_MAX == 2048 154macro-constant _POSIX2_BC_SCALE_MAX == 99 155macro-constant _POSIX2_BC_STRING_MAX == 1000 156#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 157constant _POSIX2_CHARCLASS_NAME_MAX == 14 158#endif 159macro-constant _POSIX2_COLL_WEIGHTS_MAX == 2 160macro-constant _POSIX2_EXPR_NEST_MAX == 32 161macro-constant _POSIX2_LINE_MAX == 2048 162macro-constant _POSIX2_RE_DUP_MAX == 255 163#if !defined POSIX && !defined POSIX2008 && !defined XPG4 164optional-constant _XOPEN_IOV_MAX == 16 165#endif 166 167#if !defined POSIX && !defined POSIX2008 168constant WORD_BIT >= 16 169constant LONG_BIT >= 32 170#endif 171constant SSIZE_MAX 172 173#if !defined POSIX 174optional-constant CHARCLASS_NAME_MAX >= 14 175#endif 176#if !defined POSIX 177optional-constant NL_ARGMAX >= 9 178# if !defined POSIX2008 179optional-constant NL_LANGMAX >= 14 180# endif 181optional-constant NL_MSGMAX >= 32767 182# if !defined XOPEN2K8 && !defined POSIX2008 183optional-constant NL_NMAX 184# endif 185optional-constant NL_SETMAX >= 255 186optional-constant NL_TEXTMAX 187# if !defined POSIX2008 188optional-constant NZERO >= 20 189# endif 190#endif 191#if defined XPG4 || defined XPG42 || defined UNIX98 192optional-constant TMP_MAX >= 10000 193#endif 194 195allow *_MAX 196#if !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98 197allow *_MIN 198#endif 199allow *_t 200#endif 201