nxt_application.h (967:d693ed6d0209) nxt_application.h (977:4f9268f27b57)
1
2/*
3 * Copyright (C) Max Romanov
4 * Copyright (C) Valentin V. Bartenev
5 * Copyright (C) NGINX, Inc.
6 */
7
8#ifndef _NXT_APPLICATION_H_INCLUDED_

--- 6 unchanged lines hidden (view full) ---

15
16
17typedef enum {
18 NXT_APP_EXTERNAL,
19 NXT_APP_PYTHON,
20 NXT_APP_PHP,
21 NXT_APP_PERL,
22 NXT_APP_RUBY,
1
2/*
3 * Copyright (C) Max Romanov
4 * Copyright (C) Valentin V. Bartenev
5 * Copyright (C) NGINX, Inc.
6 */
7
8#ifndef _NXT_APPLICATION_H_INCLUDED_

--- 6 unchanged lines hidden (view full) ---

15
16
17typedef enum {
18 NXT_APP_EXTERNAL,
19 NXT_APP_PYTHON,
20 NXT_APP_PHP,
21 NXT_APP_PERL,
22 NXT_APP_RUBY,
23 NXT_APP_JAVA,
23
24 NXT_APP_UNKNOWN,
25} nxt_app_type_t;
26
27
28typedef struct nxt_app_module_s nxt_app_module_t;
29
30

--- 34 unchanged lines hidden (view full) ---

65} nxt_perl_app_conf_t;
66
67
68typedef struct {
69 nxt_str_t script;
70} nxt_ruby_app_conf_t;
71
72
24
25 NXT_APP_UNKNOWN,
26} nxt_app_type_t;
27
28
29typedef struct nxt_app_module_s nxt_app_module_t;
30
31

--- 34 unchanged lines hidden (view full) ---

66} nxt_perl_app_conf_t;
67
68
69typedef struct {
70 nxt_str_t script;
71} nxt_ruby_app_conf_t;
72
73
74typedef struct {
75 nxt_conf_value_t *classpath;
76 char *webapp;
77 nxt_conf_value_t *options;
78 char *unit_jars;
79} nxt_java_app_conf_t;
80
81
73struct nxt_common_app_conf_s {
74 nxt_str_t name;
75 nxt_str_t type;
76 nxt_str_t user;
77 nxt_str_t group;
78
79 char *working_directory;
80 nxt_conf_value_t *environment;
81
82 union {
83 nxt_external_app_conf_t external;
84 nxt_python_app_conf_t python;
85 nxt_php_app_conf_t php;
86 nxt_perl_app_conf_t perl;
87 nxt_ruby_app_conf_t ruby;
82struct nxt_common_app_conf_s {
83 nxt_str_t name;
84 nxt_str_t type;
85 nxt_str_t user;
86 nxt_str_t group;
87
88 char *working_directory;
89 nxt_conf_value_t *environment;
90
91 union {
92 nxt_external_app_conf_t external;
93 nxt_python_app_conf_t python;
94 nxt_php_app_conf_t php;
95 nxt_perl_app_conf_t perl;
96 nxt_ruby_app_conf_t ruby;
97 nxt_java_app_conf_t java;
88 } u;
89};
90
91
92typedef struct {
93 nxt_str_t method;
94 nxt_str_t target;
95 nxt_str_t version;

--- 51 unchanged lines hidden (view full) ---

147
148struct nxt_app_module_s {
149 size_t compat_length;
150 uint32_t *compat;
151
152 nxt_str_t type;
153 const char *version;
154
98 } u;
99};
100
101
102typedef struct {
103 nxt_str_t method;
104 nxt_str_t target;
105 nxt_str_t version;

--- 51 unchanged lines hidden (view full) ---

157
158struct nxt_app_module_s {
159 size_t compat_length;
160 uint32_t *compat;
161
162 nxt_str_t type;
163 const char *version;
164
165 nxt_int_t (*pre_init)(nxt_task_t *task,
166 nxt_common_app_conf_t *conf);
155 nxt_int_t (*init)(nxt_task_t *task,
156 nxt_common_app_conf_t *conf);
157};
158
159
160nxt_app_lang_module_t *nxt_app_lang_module(nxt_runtime_t *rt, nxt_str_t *name);
161nxt_app_type_t nxt_app_parse_type(u_char *p, size_t length);
162
163NXT_EXPORT extern nxt_str_t nxt_server;
164extern nxt_app_module_t nxt_external_module;
165
166NXT_EXPORT nxt_int_t nxt_unit_default_init(nxt_task_t *task,
167 nxt_unit_init_t *init);
168
169
170#endif /* _NXT_APPLICATION_H_INCLIDED_ */
167 nxt_int_t (*init)(nxt_task_t *task,
168 nxt_common_app_conf_t *conf);
169};
170
171
172nxt_app_lang_module_t *nxt_app_lang_module(nxt_runtime_t *rt, nxt_str_t *name);
173nxt_app_type_t nxt_app_parse_type(u_char *p, size_t length);
174
175NXT_EXPORT extern nxt_str_t nxt_server;
176extern nxt_app_module_t nxt_external_module;
177
178NXT_EXPORT nxt_int_t nxt_unit_default_init(nxt_task_t *task,
179 nxt_unit_init_t *init);
180
181
182#endif /* _NXT_APPLICATION_H_INCLIDED_ */