@@ -80,9 +80,7 @@ typedef ngx_pool_t *(*ngx_external_pool_pt)(njs_external_ptr_t e);
80
80
typedef void (* ngx_js_event_finalize_pt )(njs_external_ptr_t e , ngx_int_t rc );
81
81
typedef ngx_resolver_t * (* ngx_external_resolver_pt )(njs_external_ptr_t e );
82
82
typedef ngx_msec_t (* ngx_external_timeout_pt )(njs_external_ptr_t e );
83
- typedef ngx_flag_t (* ngx_external_flag_pt )(njs_external_ptr_t e );
84
- typedef ngx_flag_t (* ngx_external_size_pt )(njs_external_ptr_t e );
85
- typedef ngx_ssl_t * (* ngx_external_ssl_pt )(njs_external_ptr_t e );
83
+ typedef ngx_js_loc_conf_t * (* ngx_js_external_loc_conf_pt )(njs_external_ptr_t e );
86
84
typedef ngx_js_ctx_t * (* ngx_js_external_ctx_pt )(njs_external_ptr_t e );
87
85
88
86
@@ -272,31 +270,35 @@ struct ngx_engine_s {
272
270
};
273
271
274
272
273
+ enum {
274
+ NGX_JS_EXTERNAL_CONNECTION = 0 ,
275
+ NGX_JS_EXTERNAL_POOL ,
276
+ NGX_JS_EXTERNAL_RESOLVER ,
277
+ NGX_JS_EXTERNAL_RESOLVER_TIMEOUT ,
278
+ NGX_JS_EXTERNAL_EVENT_FINALIZE ,
279
+ NGX_JS_EXTERNAL_LOC_CONF ,
280
+ NGX_JS_EXTERNAL_CTX ,
281
+ NGX_JS_EXTERNAL_MAIN_CONF ,
282
+ };
283
+
275
284
#define ngx_external_connection (vm , e ) \
276
- (*((ngx_connection_t **) ((u_char *) (e) + njs_vm_meta(vm, 0))))
285
+ (*((ngx_connection_t **) \
286
+ ((u_char *) (e) + njs_vm_meta(vm, NGX_JS_EXTERNAL_CONNECTION))))
277
287
#define ngx_external_pool (vm , e ) \
278
- ((ngx_external_pool_pt) njs_vm_meta(vm, 1 ))(e)
288
+ ((ngx_external_pool_pt) njs_vm_meta(vm, NGX_JS_EXTERNAL_POOL ))(e)
279
289
#define ngx_external_resolver (vm , e ) \
280
- ((ngx_external_resolver_pt) njs_vm_meta(vm, 2 ))(e)
290
+ ((ngx_external_resolver_pt) njs_vm_meta(vm, NGX_JS_EXTERNAL_RESOLVER ))(e)
281
291
#define ngx_external_resolver_timeout (vm , e ) \
282
- ((ngx_external_timeout_pt) njs_vm_meta(vm, 3))(e)
292
+ ((ngx_external_timeout_pt) \
293
+ njs_vm_meta(vm, NGX_JS_EXTERNAL_RESOLVER_TIMEOUT))(e)
283
294
#define ngx_external_event_finalize (vm ) \
284
- ((ngx_js_event_finalize_pt) njs_vm_meta(vm, 4))
285
- #define ngx_external_ssl (vm , e ) \
286
- ((ngx_external_ssl_pt) njs_vm_meta(vm, 5))(e)
287
- #define ngx_external_ssl_verify (vm , e ) \
288
- ((ngx_external_flag_pt) njs_vm_meta(vm, 6))(e)
289
- #define ngx_external_fetch_timeout (vm , e ) \
290
- ((ngx_external_timeout_pt) njs_vm_meta(vm, 7))(e)
291
- #define ngx_external_buffer_size (vm , e ) \
292
- ((ngx_external_size_pt) njs_vm_meta(vm, 8))(e)
293
- #define ngx_external_max_response_buffer_size (vm , e ) \
294
- ((ngx_external_size_pt) njs_vm_meta(vm, 9))(e)
295
- #define NGX_JS_MAIN_CONF_INDEX 10
296
- #define ngx_main_conf (vm ) \
297
- ((ngx_js_main_conf_t *) njs_vm_meta(vm, NGX_JS_MAIN_CONF_INDEX))
295
+ ((ngx_js_event_finalize_pt) njs_vm_meta(vm, NGX_JS_EXTERNAL_EVENT_FINALIZE))
296
+ #define ngx_external_loc_conf (vm , e ) \
297
+ ((ngx_js_external_loc_conf_pt) njs_vm_meta(vm, NGX_JS_EXTERNAL_LOC_CONF))(e)
298
298
#define ngx_external_ctx (vm , e ) \
299
- ((ngx_js_external_ctx_pt) njs_vm_meta(vm, 11))(e)
299
+ ((ngx_js_external_ctx_pt) njs_vm_meta(vm, NGX_JS_EXTERNAL_CTX))(e)
300
+ #define ngx_main_conf (vm ) \
301
+ ((ngx_js_main_conf_t *) njs_vm_meta(vm, NGX_JS_EXTERNAL_MAIN_CONF))
300
302
301
303
302
304
#define ngx_js_prop (vm , type , value , start , len ) \
@@ -367,29 +369,33 @@ JSValue ngx_qjs_ext_fetch(JSContext *cx, JSValueConst this_val, int argc,
367
369
#define ngx_qjs_meta (cx , i ) \
368
370
((uintptr_t *) JS_GetRuntimeOpaque(JS_GetRuntime(cx)))[i]
369
371
#define ngx_qjs_external_connection (cx , e ) \
370
- (*((ngx_connection_t **) ((u_char *) (e) + ngx_qjs_meta(cx, 0))))
372
+ (*((ngx_connection_t **) \
373
+ ((u_char *) (e) + ngx_qjs_meta(cx, NGX_JS_EXTERNAL_CONNECTION))))
371
374
#define ngx_qjs_external_pool (cx , e ) \
372
- ((ngx_external_pool_pt) ngx_qjs_meta(cx, 1 ))(e)
375
+ ((ngx_external_pool_pt) ngx_qjs_meta(cx, NGX_JS_EXTERNAL_POOL ))(e)
373
376
#define ngx_qjs_external_resolver (cx , e ) \
374
- ((ngx_external_resolver_pt) ngx_qjs_meta(cx, 2 ))(e)
377
+ ((ngx_external_resolver_pt) ngx_qjs_meta(cx, NGX_JS_EXTERNAL_RESOLVER ))(e)
375
378
#define ngx_qjs_external_resolver_timeout (cx , e ) \
376
- ((ngx_external_timeout_pt) ngx_qjs_meta(cx, 3))(e)
379
+ ((ngx_external_timeout_pt) \
380
+ ngx_qjs_meta(cx, NGX_JS_EXTERNAL_RESOLVER_TIMEOUT))(e)
377
381
#define ngx_qjs_external_event_finalize (cx ) \
378
- ((ngx_js_event_finalize_pt) ngx_qjs_meta(cx, 4))
382
+ ((ngx_js_event_finalize_pt) ngx_qjs_meta(cx, NGX_JS_EXTERNAL_EVENT_FINALIZE))
383
+ #define ngx_qjs_external_loc_conf (cx , e ) \
384
+ ((ngx_js_external_loc_conf_pt) ngx_qjs_meta(cx, NGX_JS_EXTERNAL_LOC_CONF))(e)
379
385
#define ngx_qjs_external_ssl (cx , e ) \
380
- ((ngx_external_ssl_pt) ngx_qjs_meta( cx, 5))(e )
386
+ (ngx_qjs_external_loc_conf( cx, e)->ssl )
381
387
#define ngx_qjs_external_ssl_verify (cx , e ) \
382
- ((ngx_external_flag_pt) ngx_qjs_meta( cx, 6))(e )
388
+ (ngx_qjs_external_loc_conf( cx, e)->ssl_verify )
383
389
#define ngx_qjs_external_fetch_timeout (cx , e ) \
384
- ((ngx_external_timeout_pt) ngx_qjs_meta( cx, 7))(e )
390
+ (ngx_qjs_external_loc_conf( cx, e)->timeout )
385
391
#define ngx_qjs_external_buffer_size (cx , e ) \
386
- ((ngx_external_size_pt) ngx_qjs_meta( cx, 8))(e )
392
+ (ngx_qjs_external_loc_conf( cx, e)->buffer_size )
387
393
#define ngx_qjs_external_max_response_buffer_size (cx , e ) \
388
- ((ngx_external_size_pt) ngx_qjs_meta(cx, 9))(e)
389
- #define ngx_qjs_main_conf (cx ) \
390
- ((ngx_js_main_conf_t *) ngx_qjs_meta(cx, NGX_JS_MAIN_CONF_INDEX))
394
+ (ngx_qjs_external_loc_conf(cx, e)->max_response_body_size)
391
395
#define ngx_qjs_external_ctx (cx , e ) \
392
- ((ngx_js_external_ctx_pt) ngx_qjs_meta(cx, 11))(e)
396
+ ((ngx_js_external_ctx_pt) ngx_qjs_meta(cx, NGX_JS_EXTERNAL_CTX))(e)
397
+ #define ngx_qjs_main_conf (cx ) \
398
+ ((ngx_js_main_conf_t *) ngx_qjs_meta(cx, NGX_JS_EXTERNAL_MAIN_CONF))
393
399
394
400
extern qjs_module_t qjs_webcrypto_module ;
395
401
extern qjs_module_t qjs_xml_module ;
0 commit comments