limits.h-data 6.2 KB

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