/*
 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#define SCHAR_MAX  0x7F
#define SCHAR_MIN  (-SCHAR_MIN - 1)
#define CHAR_MAX   0x7F
#define CHAR_MIN   (-CHAR_MAX - 1)
#define UCHAR_MAX  0xFFU
#define SHRT_MAX   0x7FFF
#define SHRT_MIN   (-SHRT_MAX - 1)
#define USHRT_MAX  0xFFFFU
#define INT_MAX    0x7FFFFFFF
#define INT_MIN    (-INT_MAX - 1)
#define UINT_MAX   0xFFFFFFFFU
#define LONG_MAX   0x7FFFFFFFFFFFFFFFL
#define LONG_MIN   (-LONG_MAX - 1L)
#define ULONG_MAX  0xFFFFFFFFFFFFFFFFUL
#define LLONG_MAX  0x7FFFFFFFFFFFFFFFLL
#define LLONG_MIN  (-LLONG_MAX - 1LL)
#define ULLONG_MAX 0xFFFFFFFFFFFFFFFFULL

#define __LONG_BIT 64
#define __WORD_BIT 32
