Annotation of src/usr.bin/lex/flexint.h, Revision 1.1
1.1 ! tedu 1: /* $OpenBSD$ */
! 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 */