aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_js.h
diff options
context:
space:
mode:
Diffstat (limited to 'nginx/ngx_js.h')
-rw-r--r--nginx/ngx_js.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/nginx/ngx_js.h b/nginx/ngx_js.h
index 4ed00249..0febe836 100644
--- a/nginx/ngx_js.h
+++ b/nginx/ngx_js.h
@@ -14,6 +14,7 @@
#include <ngx_core.h>
#include <njs.h>
#include "ngx_js_fetch.h"
+#include "ngx_js_shared_dict.h"
#define NGX_JS_UNSET 0
@@ -43,6 +44,9 @@ typedef ngx_flag_t (*ngx_external_size_pt)(njs_vm_t *vm,
njs_external_ptr_t e);
typedef ngx_ssl_t *(*ngx_external_ssl_pt)(njs_vm_t *vm, njs_external_ptr_t e);
+
+typedef struct ngx_js_dict_s ngx_js_dict_t;
+
typedef struct {
ngx_str_t name;
ngx_str_t path;
@@ -51,6 +55,10 @@ typedef struct {
} ngx_js_named_path_t;
+#define NGX_JS_COMMON_MAIN_CONF \
+ ngx_js_dict_t *dicts \
+
+
#define _NGX_JS_COMMON_LOC_CONF \
njs_vm_t *vm; \
ngx_array_t *imports; \
@@ -81,6 +89,11 @@ typedef struct {
typedef struct {
+ NGX_JS_COMMON_MAIN_CONF;
+} ngx_js_main_conf_t;
+
+
+typedef struct {
NGX_JS_COMMON_LOC_CONF;
} ngx_js_loc_conf_t;
@@ -105,6 +118,9 @@ typedef struct {
((ngx_external_size_pt) njs_vm_meta(vm, 8))(vm, e)
#define ngx_external_max_response_buffer_size(vm, e) \
((ngx_external_size_pt) njs_vm_meta(vm, 9))(vm, e)
+#define NGX_JS_MAIN_CONF_INDEX 10
+#define ngx_main_conf(vm) \
+ ((ngx_js_main_conf_t *) njs_vm_meta(vm, NGX_JS_MAIN_CONF_INDEX))
#define ngx_js_prop(vm, type, value, start, len) \
@@ -134,6 +150,8 @@ ngx_int_t ngx_js_init_conf_vm(ngx_conf_t *cf, ngx_js_loc_conf_t *conf,
ngx_js_loc_conf_t *ngx_js_create_conf(ngx_conf_t *cf, size_t size);
char * ngx_js_merge_conf(ngx_conf_t *cf, void *parent, void *child,
ngx_int_t (*init_vm)(ngx_conf_t *cf, ngx_js_loc_conf_t *conf));
+char *ngx_js_shared_dict_zone(ngx_conf_t *cf, ngx_command_t *cmd, void *conf,
+ void *tag);
njs_int_t ngx_js_ext_string(njs_vm_t *vm, njs_object_prop_t *prop,
njs_value_t *value, njs_value_t *setval, njs_value_t *retval);