#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
static ngx_int_t ngx_http_script_init_arrays(ngx_http_script_compile_t *sc);
static ngx_int_t ngx_http_script_done(ngx_http_script_compile_t *sc);
static ngx_int_t ngx_http_script_add_copy_code(ngx_http_script_compile_t *sc,
ngx_str_t *value, ngx_uint_t last);
static ngx_int_t ngx_http_script_add_var_code(ngx_http_script_compile_t *sc,
ngx_str_t *name);
static ngx_int_t ngx_http_script_add_args_code(ngx_http_script_compile_t *sc);
#if (NGX_PCRE)
static ngx_int_t ngx_http_script_add_capture_code(ngx_http_script_compile_t *sc,
ngx_uint_t n);
#endif
static ngx_int_t
ngx_http_script_add_full_name_code(ngx_http_script_compile_t *sc);
static size_t ngx_http_script_full_name_len_code(ngx_http_script_engine_t *e);
static void ngx_http_script_full_name_code(ngx_http_script_engine_t *e);
#define ngx_http_script_exit …
static uintptr_t ngx_http_script_exit_code = …;
void
ngx_http_script_flush_complex_value(ngx_http_request_t *r,
ngx_http_complex_value_t *val)
{ … }
ngx_int_t
ngx_http_complex_value(ngx_http_request_t *r, ngx_http_complex_value_t *val,
ngx_str_t *value)
{ … }
size_t
ngx_http_complex_value_size(ngx_http_request_t *r,
ngx_http_complex_value_t *val, size_t default_value)
{ … }
ngx_int_t
ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv)
{ … }
char *
ngx_http_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{ … }
char *
ngx_http_set_complex_value_zero_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf)
{ … }
char *
ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf)
{ … }
ngx_int_t
ngx_http_test_predicates(ngx_http_request_t *r, ngx_array_t *predicates)
{ … }
ngx_int_t
ngx_http_test_required_predicates(ngx_http_request_t *r,
ngx_array_t *predicates)
{ … }
char *
ngx_http_set_predicate_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{ … }
ngx_uint_t
ngx_http_script_variables_count(ngx_str_t *value)
{ … }
ngx_int_t
ngx_http_script_compile(ngx_http_script_compile_t *sc)
{ … }
u_char *
ngx_http_script_run(ngx_http_request_t *r, ngx_str_t *value,
void *code_lengths, size_t len, void *code_values)
{ … }
void
ngx_http_script_flush_no_cacheable_variables(ngx_http_request_t *r,
ngx_array_t *indices)
{ … }
static ngx_int_t
ngx_http_script_init_arrays(ngx_http_script_compile_t *sc)
{ … }
static ngx_int_t
ngx_http_script_done(ngx_http_script_compile_t *sc)
{ … }
void *
ngx_http_script_start_code(ngx_pool_t *pool, ngx_array_t **codes, size_t size)
{ … }
void *
ngx_http_script_add_code(ngx_array_t *codes, size_t size, void *code)
{ … }
static ngx_int_t
ngx_http_script_add_copy_code(ngx_http_script_compile_t *sc, ngx_str_t *value,
ngx_uint_t last)
{ … }
size_t
ngx_http_script_copy_len_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_copy_code(ngx_http_script_engine_t *e)
{ … }
static ngx_int_t
ngx_http_script_add_var_code(ngx_http_script_compile_t *sc, ngx_str_t *name)
{ … }
size_t
ngx_http_script_copy_var_len_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_copy_var_code(ngx_http_script_engine_t *e)
{ … }
static ngx_int_t
ngx_http_script_add_args_code(ngx_http_script_compile_t *sc)
{ … }
size_t
ngx_http_script_mark_args_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_start_args_code(ngx_http_script_engine_t *e)
{ … }
#if (NGX_PCRE)
void
ngx_http_script_regex_start_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_regex_end_code(ngx_http_script_engine_t *e)
{ … }
static ngx_int_t
ngx_http_script_add_capture_code(ngx_http_script_compile_t *sc, ngx_uint_t n)
{ … }
size_t
ngx_http_script_copy_capture_len_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_copy_capture_code(ngx_http_script_engine_t *e)
{ … }
#endif
static ngx_int_t
ngx_http_script_add_full_name_code(ngx_http_script_compile_t *sc)
{ … }
static size_t
ngx_http_script_full_name_len_code(ngx_http_script_engine_t *e)
{ … }
static void
ngx_http_script_full_name_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_return_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_break_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_if_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_equal_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_not_equal_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_file_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_complex_value_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_value_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_set_var_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_var_set_handler_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_var_code(ngx_http_script_engine_t *e)
{ … }
void
ngx_http_script_nop_code(ngx_http_script_engine_t *e)
{ … }