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