1 #ifndef _MOD_SSI_EXPR_H_
2 #define _MOD_SSI_EXPR_H_
3 
4 #include "buffer.h"
5 
6 typedef struct {
7 	enum { SSI_TYPE_UNSET, SSI_TYPE_BOOL, SSI_TYPE_STRING } type;
8 
9 	buffer *str;
10 	int     bo;
11 } ssi_val_t;
12 
13 typedef struct {
14 	int     ok;
15 
16 	ssi_val_t val;
17 
18 	void   *srv;
19 } ssi_ctx_t;
20 
21 typedef enum { SSI_COND_UNSET, SSI_COND_LE, SSI_COND_GE, SSI_COND_EQ, SSI_COND_NE, SSI_COND_LT, SSI_COND_GT } ssi_expr_cond;
22 
23 void *ssiexprparserAlloc(void *(*mallocProc)(size_t));
24 void ssiexprparserFree(void *p, void (*freeProc)(void*));
25 void ssiexprparser(void *yyp, int yymajor, buffer *yyminor, ssi_ctx_t *ctx);
26 
27 int ssi_val_tobool(ssi_val_t *B);
28 ssi_val_t *ssi_val_init();
29 void ssi_val_free(ssi_val_t *s);
30 
31 #endif
32