xref: /minix/external/bsd/flex/dist/flexint.h (revision 0a6a1f1d)
1 /*	$NetBSD: flexint.h,v 1.2 2014/10/29 18:28:36 christos Exp $	*/
2 
3 /* flex integer type definitions */
4 
5 #ifndef FLEXINT_H
6 #define FLEXINT_H
7 
8 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
9 
10 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
11 
12 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
13  * if you want the limit (max/min) macros for int types.
14  */
15 #ifndef __STDC_LIMIT_MACROS
16 #define __STDC_LIMIT_MACROS 1
17 #endif
18 
19 #include <inttypes.h>
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;
26 #else
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;
33 
34 /* Limits of integral types. */
35 #ifndef INT8_MIN
36 #define INT8_MIN               (-128)
37 #endif
38 #ifndef INT16_MIN
39 #define INT16_MIN              (-32767-1)
40 #endif
41 #ifndef INT32_MIN
42 #define INT32_MIN              (-2147483647-1)
43 #endif
44 #ifndef INT8_MAX
45 #define INT8_MAX               (127)
46 #endif
47 #ifndef INT16_MAX
48 #define INT16_MAX              (32767)
49 #endif
50 #ifndef INT32_MAX
51 #define INT32_MAX              (2147483647)
52 #endif
53 #ifndef UINT8_MAX
54 #define UINT8_MAX              (255U)
55 #endif
56 #ifndef UINT16_MAX
57 #define UINT16_MAX             (65535U)
58 #endif
59 #ifndef UINT32_MAX
60 #define UINT32_MAX             (4294967295U)
61 #endif
62 
63 #endif /* ! C99 */
64 
65 #endif /* ! FLEXINT_H */
66