home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / sybase / starbuck / h.z / LIMITS.H < prev    next >
C/C++ Source or Header  |  1996-07-24  |  4KB  |  79 lines

  1. /*
  2.  *  limits.h    Machine and OS limits
  3.  *
  4.  *  Copyright by WATCOM International Corp. 1988-1996.  All rights reserved.
  5.  */
  6. #ifndef _LIMITS_H_INCLUDED
  7. #define _LIMITS_H_INCLUDED
  8.  
  9. #ifndef MB_CUR_MAX
  10.     #define MB_CUR_MAX    2
  11. #endif
  12. #ifndef MB_LEN_MAX
  13.     #define MB_LEN_MAX    2
  14. #endif
  15.  
  16. /*
  17.  *  ANSI required limits
  18.  */
  19. #define CHAR_BIT    8           /*  number of bits in a byte        */
  20. #ifdef __CHAR_SIGNED__
  21.  #define CHAR_MIN   (-128)      /*  minimum value of a char         */
  22.  #define CHAR_MAX   127         /*  maximum value of a char         */
  23. #else
  24.  #define CHAR_MIN   0           /*  minimum value of a char         */
  25.  #define CHAR_MAX   255         /*  maximum value of a char         */
  26. #endif
  27. #define SCHAR_MIN   (-128)      /*  minimum value of a signed char      */
  28. #define SCHAR_MAX   127         /*  maximum value of a signed char      */
  29. #define UCHAR_MAX   255U        /*  maximum value of an unsigned char   */
  30.  
  31. #define SHRT_MIN    (-32767-1)  /*  minimum value of a short int        */
  32. #define SHRT_MAX    32767       /*  maximum value of a short int        */
  33. #define USHRT_MAX   65535U      /*  maximum value of an unsigned short  */
  34. #define LONG_MAX    2147483647L      /* maximum value of a long int      */
  35. #define LONG_MIN    (-2147483647L-1) /* minimum value of a long int      */
  36. #define ULONG_MAX   4294967295UL     /* maximum value of an unsigned long*/
  37. #if defined(__386__) || defined(__AXP__) || defined(__PPC__)
  38.  #define INT_MIN    (-2147483647-1) /*  minimum value of an int         */
  39.  #define INT_MAX    2147483647      /*  maximum value of an int         */
  40.  #define UINT_MAX   4294967295U     /*  maximum value of an unsigned int*/
  41. #else
  42.  #define INT_MIN    (-32767-1)      /*  minimum value of an int         */
  43.  #define INT_MAX    32767           /*  maximum value of an int         */
  44.  #define UINT_MAX   65535U          /*  maximum value of an unsigned int*/
  45. #endif
  46. #ifdef __WATCOM_INT64__
  47.  #define LONGLONG_MIN    (-9223372036854775807I64-1)
  48.                                     /*  minimum value of an __int64         */
  49.  #define LONGLONG_MAX    9223372036854775807I64
  50.                                     /*  maximum value of an __int64         */
  51.  #define ULONGLONG_MAX   18446744073709551615UI64
  52.                                     /*  maximum value of an unsigned __int64*/
  53. #endif
  54.  
  55. #define _I8_MIN     SCHAR_MIN   /*  minimum value of a signed 8 bit type   */
  56. #define _I8_MAX     SCHAR_MAX   /*  maximum value of a signed 8 bit type   */
  57. #define _UI8_MAX    UCHAR_MAX   /*  maximum value of an unsigned 8 bit type*/
  58.  
  59. #define _I16_MIN    SHRT_MIN    /*  minimum value of a signed 16 bit type   */
  60. #define _I16_MAX    SHRT_MAX    /*  maximum value of a signed 16 bit type   */
  61. #define _UI16_MAX   USHRT_MAX   /*  maximum value of an unsigned 16 bit type*/
  62.  
  63. #define _I32_MIN    LONG_MIN    /*  minimum value of a signed 32 bit type   */
  64. #define _I32_MAX    LONG_MAX    /*  maximum value of a signed 32 bit type   */
  65. #define _UI32_MAX   ULONG_MAX   /*  maximum value of an unsigned 32 bit type*/
  66.  
  67. #ifdef __WATCOM_INT64__
  68.  #define _I64_MIN   LONGLONG_MIN  /* minimum value of a signed 64 bit type   */
  69.  #define _I64_MAX   LONGLONG_MAX  /* maximum value of a signed 64 bit type   */
  70.  #define _UI64_MAX  ULONGLONG_MAX /* maximum value of an unsigned 64 bit type*/
  71. #endif
  72.  
  73. #define TZNAME_MAX  128            /*    The maximum number of bytes        */
  74.                     /*    supported for the name of a time    */
  75.                     /*    zone (not of the TZ variable).        */
  76.  
  77.  
  78. #endif
  79.