123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- extern "C" {
- typedef struct ap_expr_node ap_expr_t;
- typedef struct {
-
- ap_expr_t *root_node;
-
- const char *filename;
-
- unsigned int line_number;
-
- unsigned int flags;
-
- int module_index;
- } ap_expr_info_t;
- AP_DECLARE(int) ap_expr_exec(request_rec *r, const ap_expr_info_t *expr,
- const char **err);
- AP_DECLARE(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);
- typedef struct {
-
- request_rec *r;
-
- conn_rec *c;
-
- server_rec *s;
-
- apr_pool_t *p;
-
- const char **err;
-
- const ap_expr_info_t *info;
-
- ap_regmatch_t *re_pmatch;
-
- apr_size_t re_nmatch;
-
- const char **re_source;
-
- const char **vary_this;
-
- const char **result_string;
-
- void *data;
-
- int reclvl;
- } ap_expr_eval_ctx_t;
- AP_DECLARE(int) ap_expr_exec_ctx(ap_expr_eval_ctx_t *ctx);
- AP_DECLARE(const char *) ap_expr_str_exec(request_rec *r,
- const ap_expr_info_t *expr,
- const char **err);
- AP_DECLARE(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);
- 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 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 struct {
-
- int type;
-
- const char *name;
- int flags;
- apr_pool_t *pool;
- apr_pool_t *ptemp;
-
- const void **func;
-
- const void **data;
-
- const char **err;
-
- const char *arg;
- } ap_expr_lookup_parms;
- typedef int (ap_expr_lookup_fn_t)(ap_expr_lookup_parms *parms);
- AP_DECLARE_NONSTD(int) ap_expr_lookup_default(ap_expr_lookup_parms *parms);
- AP_DECLARE_HOOK(int, expr_lookup, (ap_expr_lookup_parms *parms))
- AP_DECLARE(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_DECLARE(ap_expr_info_t *) ap_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);
- ap_expr_parse_cmd_mi(cmd, expr, flags, err, lookup_fn, APLOG_MODULE_INDEX)
-
- void ap_expr_init(apr_pool_t *pool);
- }
|