File: exprtype.h

package info (click to toggle)
libhtml-template-pro-perl 0.9524-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,512 kB
  • sloc: ansic: 1,841; perl: 1,474; yacc: 404; pascal: 118; makefile: 6
file content (62 lines) | stat: -rw-r--r-- 1,364 bytes parent folder | download | duplicates (5)
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:
 */