****limits.h - implementation dependent values
**Copyright(c) Microsoft Corporation. All rights reserved.**Purpose:* Contains defines for a number of implementation dependent values
* which are commonly used in C programs.*[ANSI]**[Public]*****/#if_MSC_VER >1000#pragmaonce#endif#include<crtdefs.h>#ifndef_INC_LIMITS#define_INC_LIMITS#defineCHAR_BIT8/* number of bits in a char */#defineSCHAR_MIN(-128)/* minimum signed char value */#defineSCHAR_MAX127/* maximum signed char value */#defineUCHAR_MAX0xff/* maximum unsigned char value */#ifndef_CHAR_UNSIGNED#defineCHAR_MINSCHAR_MIN /* mimimum char value */#defineCHAR_MAXSCHAR_MAX /* maximum char value */#else#defineCHAR_MIN0#defineCHAR_MAXUCHAR_MAX#endif/* _CHAR_UNSIGNED */#defineMB_LEN_MAX5/* max. # bytes in multibyte char */#defineSHRT_MIN(-32768)/* minimum (signed) short value */#defineSHRT_MAX32767/* maximum (signed) short value */#defineUSHRT_MAX0xffff/* maximum unsigned short value */#defineINT_MIN(-2147483647-1)/* minimum (signed) int value */#defineINT_MAX2147483647/* maximum (signed) int value */#defineUINT_MAX0xffffffff/* maximum unsigned int value */#defineLONG_MIN(-2147483647L-1)/* minimum (signed) long value */#defineLONG_MAX2147483647L/* maximum (signed) long value */#defineULONG_MAX0xffffffffUL/* maximum unsigned long value */#defineLLONG_MAX9223372036854775807i64 /* maximum signed long long int value */#defineLLONG_MIN(-9223372036854775807i64 -1)/* minimum signed long long int value */#defineULLONG_MAX0xffffffffffffffffui64 /* maximum unsigned long long int value */#define_I8_MIN(-127i8 -1)/* minimum signed 8 bit value */#define_I8_MAX127i8 /* maximum signed 8 bit value */#define_UI8_MAX0xffui8 /* maximum unsigned 8 bit value */#define_I16_MIN(-32767i16 -1)/* minimum signed 16 bit value */#define_I16_MAX32767i16 /* maximum signed 16 bit value */#define_UI16_MAX0xffffui16 /* maximum unsigned 16 bit value */#define_I32_MIN(-2147483647i32 -1)/* minimum signed 32 bit value */#define_I32_MAX2147483647i32 /* maximum signed 32 bit value */#define_UI32_MAX0xffffffffui32 /* maximum unsigned 32 bit value *//* minimum signed 64 bit value */#define_I64_MIN(-9223372036854775807i64 -1)/* maximum signed 64 bit value */#define_I64_MAX9223372036854775807i64/* maximum unsigned 64 bit value */#define_UI64_MAX0xffffffffffffffffui64#if_INTEGRAL_MAX_BITS >=128/* minimum signed 128 bit value */#define_I128_MIN(-170141183460469231731687303715884105727i128 -1)/* maximum signed 128 bit value */#define_I128_MAX170141183460469231731687303715884105727i128/* maximum unsigned 128 bit value */#define_UI128_MAX0xffffffffffffffffffffffffffffffffui128#endif#ifndefSIZE_MAX#ifdef_WIN64#defineSIZE_MAX_UI64_MAX#else#defineSIZE_MAXUINT_MAX#endif#endif#if__STDC_WANT_SECURE_LIB__/* While waiting to the C standard committee to finalize the decision on RSIZE_MAX and rsize_t,
* we define RSIZE_MAX as SIZE_MAX
*/#ifndefRSIZE_MAX#defineRSIZE_MAXSIZE_MAX#endif#endif#ifdef_POSIX_#define_POSIX_ARG_MAX4096#define_POSIX_CHILD_MAX6#define_POSIX_LINK_MAX8#define_POSIX_MAX_CANON255#define_POSIX_MAX_INPUT255#define_POSIX_NAME_MAX14#define_POSIX_NGROUPS_MAX0#define_POSIX_OPEN_MAX16#define_POSIX_PATH_MAX255#define_POSIX_PIPE_BUF512#define_POSIX_SSIZE_MAX32767#define_POSIX_STREAM_MAX8#define_POSIX_TZNAME_MAX3#defineARG_MAX14500/* 16k heap, minus overhead */#defineLINK_MAX1024#defineMAX_CANON_POSIX_MAX_CANON#defineMAX_INPUT_POSIX_MAX_INPUT#defineNAME_MAX255#defineNGROUPS_MAX16#defineOPEN_MAX32#definePATH_MAX512#definePIPE_BUF_POSIX_PIPE_BUF#defineSSIZE_MAX_POSIX_SSIZE_MAX#defineSTREAM_MAX20#defineTZNAME_MAX10#endif/* POSIX */#endif/* _INC_LIMITS */