Annotation of src/usr.bin/lex/flexint.h, Revision 1.2
1.2 ! deraadt 1: /* $OpenBSD: flexint.h,v 1.1 2015/11/19 19:43:40 tedu Exp $ */
1.1 tedu 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,
1.2 ! deraadt 13: * if you want the limit (max/min) macros for int types.
1.1 tedu 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;
1.2 ! deraadt 30: typedef unsigned char flex_uint8_t;
1.1 tedu 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 */