Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ap_expr.h File Reference

Expression parser. More...

#include "httpd.h"
#include "http_config.h"
#include "ap_regex.h"
Include dependency graph for ap_expr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ap_expr_info_t
 
struct  ap_expr_eval_ctx_t
 
struct  ap_expr_lookup_parms
 

Macros

#define AP_EXPR_FLAG_SSL_EXPR_COMPAT   1
 
#define AP_EXPR_FLAG_DONT_VARY   2
 
#define AP_EXPR_FLAG_RESTRICTED   4
 
#define AP_EXPR_FLAG_STRING_RESULT   8
 
#define AP_EXPR_FUNC_VAR   0
 
#define AP_EXPR_FUNC_STRING   1
 
#define AP_EXPR_FUNC_LIST   2
 
#define AP_EXPR_FUNC_OP_UNARY   3
 
#define AP_EXPR_FUNC_OP_BINARY   4
 
#define ap_expr_parse_cmd(cmd, expr, flags, err, lookup_fn)   ap_expr_parse_cmd_mi(cmd, expr, flags, err, lookup_fn, APLOG_MODULE_INDEX)
 

Typedefs

typedef struct ap_expr_node ap_expr_t
 
typedef int ap_expr_op_unary_t (ap_expr_eval_ctx_t *ctx, const void *data, const char *arg)
 
typedef int ap_expr_op_binary_t (ap_expr_eval_ctx_t *ctx, const void *data, const char *arg1, const char *arg2)
 
typedef const char *( ap_expr_string_func_t )(ap_expr_eval_ctx_t *ctx, const void *data, const char *arg)
 
typedef const char *( ap_expr_string_list_func_t )(ap_expr_eval_ctx_t *ctx, const void *data, const apr_array_header_t *args)
 
typedef apr_array_header_t *( ap_expr_list_func_t )(ap_expr_eval_ctx_t *ctx, const void *data, const char *arg)
 
typedef const char *( ap_expr_var_func_t )(ap_expr_eval_ctx_t *ctx, const void *data)
 
typedef intap_expr_lookup_fn_t )(ap_expr_lookup_parms *parms)
 

Functions

int ap_expr_exec (request_rec *r, const ap_expr_info_t *expr, const char **err)
 
int ap_expr_exec_re (request_rec *r, const ap_expr_info_t *expr, apr_size_t nmatch, ap_regmatch_t *pmatch, const char **source, const char **err)
 
int ap_expr_exec_ctx (ap_expr_eval_ctx_t *ctx)
 
const char * ap_expr_str_exec (request_rec *r, const ap_expr_info_t *expr, const char **err)
 
const char * ap_expr_str_exec_re (request_rec *r, const ap_expr_info_t *expr, apr_size_t nmatch, ap_regmatch_t *pmatch, const char **source, const char **err)
 
int ap_expr_lookup_default (ap_expr_lookup_parms *parms)
 
int expr_lookup (ap_expr_lookup_parms *parms)
 
const char * ap_expr_parse (apr_pool_t *pool, apr_pool_t *ptemp, ap_expr_info_t *info, const char *expr, ap_expr_lookup_fn_t *lookup_fn)
 
ap_expr_info_tap_expr_parse_cmd_mi (const cmd_parms *cmd, const char *expr, unsigned int flags, const char **err, ap_expr_lookup_fn_t *lookup_fn, int module_index)
 
void ap_expr_init (apr_pool_t *pool)
 

Detailed Description

Expression parser.

Macro Definition Documentation

#define AP_EXPR_FUNC_LIST   2
#define AP_EXPR_FUNC_OP_BINARY   4
#define AP_EXPR_FUNC_OP_UNARY   3
#define AP_EXPR_FUNC_STRING   1
#define AP_EXPR_FUNC_VAR   0