1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
/*! \file exprtype.h
\brief description of EXPR variable type.
EXPR variable type is passed to and from user-supplied functions.
\author Igor Vlasenko <vlasenko@imath.kiev.ua>
\warning This header file should never be included directly.
Include <tmplpro.h> instead.
*/
#ifndef _EXPRTYPE_H
#define _EXPRTYPE_H 1
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
#else
# if HAVE_STDINT_H
# include <stdint.h>
# endif
#endif
#define EXPR_TYPE_INT 'i'
#define EXPR_TYPE_DBL 'd'
#define EXPR_TYPE_PSTR 'p'
/* NULL is for interface only, internally NULL pstring is used. */
#define EXPR_TYPE_NULL '\0'
/* UPSTR is for internal use only. it is never passed to user functions. */
#define EXPR_TYPE_UPSTR 'u'
#if defined INT64_MAX || defined int64_t
typedef int64_t EXPR_int64;
#elif defined SIZEOF_LONG_LONG && SIZEOF_LONG_LONG == 8
typedef long long int EXPR_int64;
#elif defined INT64_NAME
typedef INT64_NAME EXPR_int64;
#else
typedef long int EXPR_int64;
#endif
#if defined PRId64
# define EXPR_PRId64 PRId64
#elif defined SIZEOF_LONG_LONG && SIZEOF_LONG_LONG == 8
# define EXPR_PRId64 "lld"
#elif defined _MSC_VER
# define EXPR_PRId64 "I64d"
#else
# define EXPR_PRId64 "ld"
#endif
struct exprval;
#endif /* exprtype.h */
/*
* Local Variables:
* mode: c
* End:
*/
|