home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / uccs / root.14 / udk / usr / include / limits.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-19  |  6.3 KB  |  210 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. #ifndef _LIMITS_H
  12. #define _LIMITS_H
  13. #ident    "@(#)sgs-head:i386/head/limits.h    1.64"
  14.  
  15. #define CHAR_BIT    8        /* max # of bits in a "char" */
  16. #define SCHAR_MIN    (-128)        /* min value of a "signed char" */
  17. #define SCHAR_MAX    127        /* max value of a "signed char" */
  18. #define UCHAR_MAX    255        /* max value of an "unsigned char" */
  19.  
  20. #define MB_LEN_MAX    6        /* covers full UTF-8 encodings */
  21.  
  22. #if defined(__USLC__) || defined(__cplusplus)
  23. #if '\377' < 0
  24. #define CHAR_MIN    SCHAR_MIN
  25. #define CHAR_MAX    SCHAR_MAX
  26. #else
  27. #define CHAR_MIN    0
  28. #define CHAR_MAX    255
  29. #endif
  30. #elif #machine(i386) || #machine(sparc)
  31. #define CHAR_MIN    SCHAR_MIN    /* min value of a "char" */
  32. #define CHAR_MAX    SCHAR_MAX    /* max value of a "char" */
  33. #else
  34. #define CHAR_MIN    0        /* min value of a "char" */
  35. #define CHAR_MAX    255        /* max value of a "char" */
  36. #endif
  37.  
  38. #define SHRT_MIN    (-32768)    /* min. "signed short" */
  39. #define SHRT_MAX    32767        /* max. "signed short" */
  40. #define USHRT_MAX    65535        /* max. "unsigned short" */
  41.  
  42. #define INT_MIN        (-INT_MAX-1)    /* min. "signed int" */
  43. #define INT_MAX        0x7fffffff    /* max. "signed int" */
  44. #define UINT_MAX    0xffffffff    /* max. "unsigned int" */
  45.  
  46. #define LONG_MIN    (-LONG_MAX-1)    /* min. "signed long" */
  47. #if #model(lp64)
  48. #define LONG_MAX    0x7fffffffffffffff /* max. "signed long" */
  49. #define ULONG_MAX    0xffffffffffffffff /* max. "unsigned long" */
  50. #else
  51. #define LONG_MAX    0x7fffffff    /* max. "signed long" */
  52. #define ULONG_MAX    0xffffffff     /* max. "unsigned long" */
  53. #endif
  54.  
  55. #if __STDC__ - 0 == 0 || defined(_XOPEN_SOURCE) \
  56.     || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
  57.  
  58. #define LLONG_MAX    0x7fffffffffffffff /* max. "signed long long" */
  59. #define ULLONG_MAX    0xffffffffffffffff /* max. "unsigned long long" */
  60.  
  61. #define    ARG_MAX        10240        /* max length of arguments to exec */
  62. #define    LINK_MAX    1000        /* max # of links to a single file */
  63.  
  64. #ifndef MAX_CANON
  65. #define MAX_CANON    256        /* max bytes in canonical line */
  66. #endif
  67.  
  68. #ifndef MAX_INPUT
  69. #define    MAX_INPUT    512        /* max size of a char input buffer */
  70. #endif
  71.  
  72. #ifndef NGROUPS_MAX
  73. #define NGROUPS_MAX    16        /* max number of groups for a user */
  74. #endif
  75.  
  76. #ifndef SSIZE_MAX
  77. #define SSIZE_MAX    INT_MAX        /* max value of an "ssize_t" */
  78. #endif
  79.  
  80. #ifndef PATH_MAX
  81. #define    PATH_MAX    1024        /* max characters in a path name */
  82. #endif
  83.  
  84. #ifndef PIPE_BUF
  85. #define    PIPE_BUF    5120        /* max bytes atomic in write to pipe */
  86. #endif
  87.  
  88. #ifndef TZNAME_MAX
  89. #define    TZNAME_MAX    8        /* max bytes for time zone name */
  90. #endif
  91.  
  92. #ifndef TMP_MAX
  93. #define TMP_MAX        17576        /* 26 * 26 * 26 */
  94. #endif
  95.  
  96. #define _POSIX_ARG_MAX        4096
  97. #define _POSIX_CHILD_MAX    6
  98. #define _POSIX_LINK_MAX        8
  99. #define _POSIX_MAX_CANON    255
  100. #define _POSIX_MAX_INPUT    255
  101. #define _POSIX_NAME_MAX        14
  102. #define _POSIX_NGROUPS_MAX    0
  103. #define _POSIX_OPEN_MAX        16
  104. #define _POSIX_PATH_MAX        255
  105. #define _POSIX_PIPE_BUF        512
  106. #define _POSIX_SSIZE_MAX    32767
  107. #define _POSIX_STREAM_MAX    8
  108. #define _POSIX_TZNAME_MAX    3
  109.  
  110. #define _POSIX2_BC_BASE_MAX        99
  111. #define _POSIX2_BC_DIM_MAX        2048
  112. #define _POSIX2_BC_SCALE_MAX        99
  113. #define _POSIX2_BC_STRING_MAX        1000
  114. #define _POSIX2_COLL_WEIGHTS_MAX    2
  115. #define _POSIX2_EXPR_NEST_MAX        32
  116. #define _POSIX2_LINE_MAX        2048
  117. #define _POSIX2_RE_DUP_MAX         255
  118.  
  119. #define BC_BASE_MAX        INT_MAX
  120. #define BC_DIM_MAX        _POSIX2_BC_DIM_MAX
  121. #define BC_SCALE_MAX        _POSIX2_BC_SCALE_MAX
  122. #define BC_STRING_MAX        _POSIX2_BC_STRING_MAX
  123. #define COLL_WEIGHTS_MAX    14
  124. #define EXPR_NEST_MAX        _POSIX2_EXPR_NEST_MAX
  125. #define LINE_MAX        _POSIX2_LINE_MAX
  126. #define RE_DUP_MAX        5100
  127.  
  128. #define _XOPEN_IOV_MAX        16
  129.  
  130. #define CHARCLASS_NAME_MAX    100
  131.  
  132. #define    PASS_MAX    80        /* max characters in a password */
  133. #define LOGNAME_MAX    32        /* max characters in a login name */
  134. #define    UID_MAX        60002        /* max value for a user or group ID */
  135. #define    USI_MAX        4294967295    /* max decimal value of an "unsigned" */
  136. #define    SYSPID_MAX    1        /* max pid of system processes */
  137. #define    PIPE_MAX    5120        /* max bytes written to a pipe */
  138.  
  139. #endif /*__STDC__ - 0 == 0 || ...*/
  140.  
  141. #if defined(_XOPEN_SOURCE) || (__STDC__ - 0 == 0 \
  142.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE))
  143.  
  144. #ifndef NL_MSGMAX
  145. #define    NL_MSGMAX    32767        /* max message number */
  146. #define    NL_ARGMAX    32767        /* max positional parameter index */
  147. #define    NL_LANGMAX    100        /* max bytes in a LANG name */
  148. #define    NL_NMAX        1        /* max bytes in N-to-1 mapping chars */
  149. #define    NL_SETMAX    1024        /* max set number */
  150. #define    NL_TEXTMAX    4096        /* max set number */
  151. #endif
  152.  
  153. #define    NZERO        20        /* default process priority */
  154. #define    WORD_BIT    32        /* # of bits in a "word" or "int" */
  155. #define    LONG_BIT    32        /* # of bits in a "long" */
  156.  
  157. #define    DBL_DIG        15        /* decimal digits of precision */
  158. #define    DBL_MAX        1.7976931348623157E+308    /* max value of a "double" */
  159. #define    FLT_DIG        6        /* decimal digits of precision */
  160. #define    FLT_MAX        3.40282347E+38F /* max value of a "float" */
  161.  
  162. #endif /*defined(_XOPEN_SOURCE) || ...*/
  163.  
  164. #if __STDC__ - 0 == 0 && !defined(_XOPEN_SOURCE) \
  165.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  166.  
  167. #define LLONG_MIN    (-LLONG_MAX-1)    /* min. "signed long long" */
  168.  
  169. #define    DBL_MIN        2.2250738585072014E-308    /* min value of a "double" */
  170. #define    FLT_MIN        1.17549435E-38F /* min value of a "float" */
  171.  
  172. #define    FCHR_MAX    1048576        /* max size of a file in bytes */
  173. #define    PID_MAX        30000        /* max value for a process ID */
  174. #define    CHILD_MAX    25        /* max # of processes per user id */
  175. #define    NAME_MAX    14        /* max # of characters in a file name */
  176.  
  177. #ifndef OPEN_MAX            /* max files a process can have open */
  178. #if #machine(i386)
  179. #define    OPEN_MAX    60
  180. #else
  181. #define    OPEN_MAX    20
  182. #endif
  183. #endif
  184.  
  185. #define    STD_BLK        1024        /* bytes in a physical I/O block */
  186.  
  187. #ifndef _STYPES
  188. #define SYS_NMLN    257        /* 4.0 size of utsname elements */
  189. #else
  190. #define SYS_NMLN    9        /* old size of utsname elements */
  191. #endif
  192.  
  193. #ifdef __cplusplus
  194. extern "C" {
  195. #endif
  196.  
  197. extern long    _sysconf(int);
  198.  
  199. #ifdef __cplusplus
  200. }
  201. #endif
  202.  
  203. #ifndef CLK_TCK
  204. #define CLK_TCK        _sysconf(3)    /* clocks/second (_SC_CLK_TCK is 3) */
  205. #endif
  206.  
  207. #endif /*__STDC__ - 0 == 0 && ...*/
  208.  
  209. #endif /*_LIMITS_H*/
  210.