[BACK]Return to flexint.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / lex

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 */