summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_application.h
diff options
context:
space:
mode:
authorAndrew Clayton <a.clayton@nginx.com>2023-08-08 23:41:52 +0100
committerAndrew Clayton <a.clayton@nginx.com>2023-08-16 16:28:38 +0100
commit0c444397366aa07e23573a03e733a0552187eac4 (patch)
treeb48bfb2bc6d4a7d543c745265045d4eba4e86f46 /src/nxt_application.h
parent52b334acd1a5678ee111d6db73dc02675c21a277 (diff)
downloadunit-0c444397366aa07e23573a03e733a0552187eac4.tar.gz
unit-0c444397366aa07e23573a03e733a0552187eac4.tar.bz2
Wasm: Add core configuration data structure.
This is required to actually _build_ the Wasm language module. The nxt_wasm_app_conf_t structure consists of the modules name, e.g wasm, then the three required function handlers followed by the five optional function handlers. See the next commit for details of these function handlers. We also need to include the u.wasm union entry that provides access to the above structure. The bulk of the configuration infrastructure will be added in a subsequent commit. Reviewed-by: Alejandro Colomar <alx@nginx.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to 'src/nxt_application.h')
-rw-r--r--src/nxt_application.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/nxt_application.h b/src/nxt_application.h
index 4efe3750..ff3ec562 100644
--- a/src/nxt_application.h
+++ b/src/nxt_application.h
@@ -87,6 +87,21 @@ typedef struct {
} nxt_java_app_conf_t;
+typedef struct {
+ const char *module;
+
+ const char *request_handler;
+ const char *malloc_handler;
+ const char *free_handler;
+
+ const char *module_init_handler;
+ const char *module_end_handler;
+ const char *request_init_handler;
+ const char *request_end_handler;
+ const char *response_end_handler;
+} nxt_wasm_app_conf_t;
+
+
struct nxt_common_app_conf_s {
nxt_str_t name;
nxt_str_t type;
@@ -115,6 +130,7 @@ struct nxt_common_app_conf_s {
nxt_perl_app_conf_t perl;
nxt_ruby_app_conf_t ruby;
nxt_java_app_conf_t java;
+ nxt_wasm_app_conf_t wasm;
} u;
nxt_conf_value_t *self;