CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
Loading...
Searching...
No Matches
limits.h
1// Copyright Microsoft and CHERIoT Contributors.
2// SPDX-License-Identifier: MIT
3
4#pragma once
5
6#define CHAR_BIT __CHAR_BIT__
7
8#define SCHAR_MAX __SCHAR_MAX__
9#define SCHAR_MIN (-SCHAR_MAX - 1)
10#define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
11
12#ifdef __CHAR_SIGNED__
13# define CHAR_MIN 0
14# define CHAR_MAX UCHAR_MAX
15#else
16# define CHAR_MIN SCHAR_MIN
17# define CHAR_MAX SCHAR_MAX
18#endif
19
20#define MB_LEN_MAX 1
21
22#define SHRT_MAX __SHRT_MAX__
23#define SHRT_MIN (-SHRT_MAX - 1)
24
25#define USHRT_MAX (SHRT_MAX * 2U + 1U)
26
27#define __UWIDTH_MAX_IMPL(x) __UINT##x##_MAX__
28#define __UWIDTH_MAX(x) __UWIDTH_MAX_IMPL(x)
29
30#define INT_MAX __INT_MAX__
31#define INT_MIN (-INT_MAX - 1)
32#define UINT_MAX __UWIDTH_MAX(__INT_WIDTH__)
33
34#define LONG_MAX __LONG_MAX__
35#define LONG_MIN (-LONG_MAX - 1)
36#define ULONG_MAX __UWIDTH_MAX(__LONG_WIDTH__)
37
38#define LLONG_MAX __LONG_LONG_MAX__
39#define LLONG_MIN (-LLONG_MAX - 1)
40#define ULLONG_MAX __UWIDTH_MAX(__LLONG_WIDTH__)