1 /* $NetBSD: flexint.h,v 1.2 2014/10/29 18:28:36 christos Exp $ */
3 /* flex integer type definitions */
8 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
10 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
12 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
13 * if you want the limit (max/min) macros for int types.
15 #ifndef __STDC_LIMIT_MACROS
16 #define __STDC_LIMIT_MACROS 1
20 typedef int8_t flex_int8_t
;
21 typedef uint8_t flex_uint8_t
;
22 typedef int16_t flex_int16_t
;
23 typedef uint16_t flex_uint16_t
;
24 typedef int32_t flex_int32_t
;
25 typedef uint32_t flex_uint32_t
;
27 typedef signed char flex_int8_t
;
28 typedef short int flex_int16_t
;
29 typedef int flex_int32_t
;
30 typedef unsigned char flex_uint8_t
;
31 typedef unsigned short int flex_uint16_t
;
32 typedef unsigned int flex_uint32_t
;
34 /* Limits of integral types. */
36 #define INT8_MIN (-128)
39 #define INT16_MIN (-32767-1)
42 #define INT32_MIN (-2147483647-1)
45 #define INT8_MAX (127)
48 #define INT16_MAX (32767)
51 #define INT32_MAX (2147483647)
54 #define UINT8_MAX (255U)
57 #define UINT16_MAX (65535U)
60 #define UINT32_MAX (4294967295U)
65 #endif /* ! FLEXINT_H */