/* Copyright 1996 Acorn Computers Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#pragma force_top_level
#pragma include_only_once

/* limits.h: ISO 'C' (9899:1999) library header, section 5.2.4.2.1 */
/* Copyright (C) Codemist Ltd., 1988 */
/* Copyright (C) Acorn Computers Ltd. 1991, 1992 */
/* version 3.00 */

#ifndef __limits_h
#define __limits_h

#define CHAR_BIT 8
    /* max number of bits for smallest object that is not a bit-field (byte) */
#define SCHAR_MIN (-128)
    /* mimimum value for an object of type signed char */
#define SCHAR_MAX 127
    /* maximum value for an object of type signed char */
#define UCHAR_MAX 255
    /* maximum value for an object of type unsigned char */
#define CHAR_MIN 0
    /* minimum value for an object of type char */
#define CHAR_MAX 255
    /* maximum value for an object of type char */
#define MB_LEN_MAX 1
    /* maximum number of bytes in a multibyte character, */
    /* for any supported locale */

#define SHRT_MIN  (-0x8000)
    /* minimum value for an object of type short int */
#define SHRT_MAX  0x7fff
    /* maximum value for an object of type short int */
#define USHRT_MAX 65535
    /* maximum value for an object of type unsigned short int */
#define INT_MIN   (~0x7fffffff)  /* -2147483648 and 0x80000000 are unsigned */
    /* minimum value for an object of type int */
#define INT_MAX   0x7fffffff
    /* maximum value for an object of type int */
#define UINT_MAX  0xffffffff
    /* maximum value for an object of type unsigned int */
#define LONG_MIN  (~0x7fffffffL)
    /* minimum value for an object of type long int */
#define LONG_MAX  0x7fffffffL
    /* maximum value for an object of type long int */
#define ULONG_MAX 0xffffffffL
    /* maximum value for an object of type unsigned long int */
#ifdef __STDC_VERSION__
#if __STDC_VERSION__ >= 199901
#define LLONG_MIN (~0x7fffffffffffffffLL)
    /* minimum value for an object of type long long int */
#define LLONG_MAX 0x7fffffffffffffffLL
    /* maximum value for an object of type long long int */
#define ULLONG_MAX 0xffffffffffffffffLL
    /* maximum value for an object of type unsigned long long int */
#endif
#endif

#endif

/* end of limits.h */