Mercurial > hg > nginx
annotate src/core/ngx_module.h @ 6719:cebf5fed00bf
Modules compatibility: removed unneeded IPV6_V6ONLY checks.
The IPV6_V6ONLY macro is now checked only while parsing appropriate flag
and when using the macro.
The ipv6only field in listen structures is always initialized to 1,
even if not supported on a given platform. This is expected to prevent
a module compiled without IPV6_V6ONLY from accidentally creating dual
sockets if loaded into main binary with proper IPV6_V6ONLY support.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 03 Oct 2016 15:58:25 +0300 |
parents | bdf64ae3376b |
children | 9170240f1241 |
rev | line source |
---|---|
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 /* |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 * Copyright (C) Igor Sysoev |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 * Copyright (C) Maxim Dounin |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 * Copyright (C) Nginx, Inc. |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 */ |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 #ifndef _NGX_MODULE_H_INCLUDED_ |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 #define _NGX_MODULE_H_INCLUDED_ |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
12 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
13 #include <ngx_config.h> |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
14 #include <ngx_core.h> |
6383 | 15 #include <nginx.h> |
16 | |
17 | |
18 #define NGX_MODULE_UNSET_INDEX (ngx_uint_t) -1 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
19 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
20 |
6383 | 21 #define NGX_MODULE_SIGNATURE_0 \ |
22 ngx_value(NGX_PTR_SIZE) "," \ | |
23 ngx_value(NGX_SIG_ATOMIC_T_SIZE) "," \ | |
24 ngx_value(NGX_TIME_T_SIZE) "," | |
25 | |
26 #if (NGX_HAVE_KQUEUE) | |
27 #define NGX_MODULE_SIGNATURE_1 "1" | |
28 #else | |
29 #define NGX_MODULE_SIGNATURE_1 "0" | |
30 #endif | |
31 | |
32 #if (NGX_HAVE_IOCP) | |
33 #define NGX_MODULE_SIGNATURE_2 "1" | |
34 #else | |
35 #define NGX_MODULE_SIGNATURE_2 "0" | |
36 #endif | |
37 | |
38 #if (NGX_HAVE_FILE_AIO) | |
39 #define NGX_MODULE_SIGNATURE_3 "1" | |
40 #else | |
41 #define NGX_MODULE_SIGNATURE_3 "0" | |
42 #endif | |
43 | |
44 #if (NGX_HAVE_AIO_SENDFILE) | |
45 #define NGX_MODULE_SIGNATURE_4 "1" | |
46 #else | |
47 #define NGX_MODULE_SIGNATURE_4 "0" | |
48 #endif | |
49 | |
50 #if (NGX_HAVE_EVENTFD) | |
51 #define NGX_MODULE_SIGNATURE_5 "1" | |
52 #else | |
53 #define NGX_MODULE_SIGNATURE_5 "0" | |
54 #endif | |
55 | |
56 #if (NGX_HAVE_EPOLL) | |
57 #define NGX_MODULE_SIGNATURE_6 "1" | |
58 #else | |
59 #define NGX_MODULE_SIGNATURE_6 "0" | |
60 #endif | |
61 | |
62 #if (NGX_HAVE_KEEPALIVE_TUNABLE) | |
63 #define NGX_MODULE_SIGNATURE_7 "1" | |
64 #else | |
65 #define NGX_MODULE_SIGNATURE_7 "0" | |
66 #endif | |
67 | |
68 #if (NGX_HAVE_INET6) | |
69 #define NGX_MODULE_SIGNATURE_8 "1" | |
70 #else | |
71 #define NGX_MODULE_SIGNATURE_8 "0" | |
72 #endif | |
73 | |
74 #define NGX_MODULE_SIGNATURE_9 "1" | |
75 | |
76 #if (NGX_HAVE_REUSEPORT) | |
77 #define NGX_MODULE_SIGNATURE_10 "1" | |
78 #else | |
79 #define NGX_MODULE_SIGNATURE_10 "0" | |
80 #endif | |
81 | |
82 #if (NGX_HAVE_DEFERRED_ACCEPT && defined SO_ACCEPTFILTER) | |
83 #define NGX_MODULE_SIGNATURE_11 "1" | |
84 #else | |
85 #define NGX_MODULE_SIGNATURE_11 "0" | |
86 #endif | |
87 | |
88 #if (NGX_HAVE_DEFERRED_ACCEPT && defined TCP_DEFER_ACCEPT) | |
89 #define NGX_MODULE_SIGNATURE_12 "1" | |
90 #else | |
91 #define NGX_MODULE_SIGNATURE_12 "0" | |
92 #endif | |
93 | |
94 #if (NGX_HAVE_SETFIB) | |
95 #define NGX_MODULE_SIGNATURE_13 "1" | |
96 #else | |
97 #define NGX_MODULE_SIGNATURE_13 "0" | |
98 #endif | |
99 | |
100 #if (NGX_HAVE_TCP_FASTOPEN) | |
101 #define NGX_MODULE_SIGNATURE_14 "1" | |
102 #else | |
103 #define NGX_MODULE_SIGNATURE_14 "0" | |
104 #endif | |
105 | |
106 #if (NGX_HAVE_UNIX_DOMAIN) | |
107 #define NGX_MODULE_SIGNATURE_15 "1" | |
108 #else | |
109 #define NGX_MODULE_SIGNATURE_15 "0" | |
110 #endif | |
111 | |
112 #if (NGX_HAVE_VARIADIC_MACROS) | |
113 #define NGX_MODULE_SIGNATURE_16 "1" | |
114 #else | |
115 #define NGX_MODULE_SIGNATURE_16 "0" | |
116 #endif | |
117 | |
118 #define NGX_MODULE_SIGNATURE_17 "0" | |
119 #define NGX_MODULE_SIGNATURE_18 "0" | |
120 | |
121 #if (NGX_HAVE_OPENAT) | |
122 #define NGX_MODULE_SIGNATURE_19 "1" | |
123 #else | |
124 #define NGX_MODULE_SIGNATURE_19 "0" | |
125 #endif | |
126 | |
127 #if (NGX_HAVE_ATOMIC_OPS) | |
128 #define NGX_MODULE_SIGNATURE_20 "1" | |
129 #else | |
130 #define NGX_MODULE_SIGNATURE_20 "0" | |
131 #endif | |
132 | |
133 #if (NGX_HAVE_POSIX_SEM) | |
134 #define NGX_MODULE_SIGNATURE_21 "1" | |
135 #else | |
136 #define NGX_MODULE_SIGNATURE_21 "0" | |
137 #endif | |
138 | |
139 #if (NGX_THREADS) | |
140 #define NGX_MODULE_SIGNATURE_22 "1" | |
141 #else | |
142 #define NGX_MODULE_SIGNATURE_22 "0" | |
143 #endif | |
144 | |
145 #if (NGX_PCRE) | |
146 #define NGX_MODULE_SIGNATURE_23 "1" | |
147 #else | |
148 #define NGX_MODULE_SIGNATURE_23 "0" | |
149 #endif | |
150 | |
151 #if (NGX_HTTP_SSL) | |
152 #define NGX_MODULE_SIGNATURE_24 "1" | |
153 #else | |
154 #define NGX_MODULE_SIGNATURE_24 "0" | |
155 #endif | |
156 | |
157 #define NGX_MODULE_SIGNATURE_25 "1" | |
158 | |
159 #if (NGX_HTTP_GZIP) | |
160 #define NGX_MODULE_SIGNATURE_26 "1" | |
161 #else | |
162 #define NGX_MODULE_SIGNATURE_26 "0" | |
163 #endif | |
164 | |
165 #define NGX_MODULE_SIGNATURE_27 "1" | |
166 | |
167 #if (NGX_HTTP_X_FORWARDED_FOR) | |
168 #define NGX_MODULE_SIGNATURE_28 "1" | |
169 #else | |
170 #define NGX_MODULE_SIGNATURE_28 "0" | |
171 #endif | |
172 | |
173 #if (NGX_HTTP_REALIP) | |
174 #define NGX_MODULE_SIGNATURE_29 "1" | |
175 #else | |
176 #define NGX_MODULE_SIGNATURE_29 "0" | |
177 #endif | |
178 | |
179 #if (NGX_HTTP_HEADERS) | |
180 #define NGX_MODULE_SIGNATURE_30 "1" | |
181 #else | |
182 #define NGX_MODULE_SIGNATURE_30 "0" | |
183 #endif | |
184 | |
185 #if (NGX_HTTP_DAV) | |
186 #define NGX_MODULE_SIGNATURE_31 "1" | |
187 #else | |
188 #define NGX_MODULE_SIGNATURE_31 "0" | |
189 #endif | |
190 | |
191 #if (NGX_HTTP_CACHE) | |
192 #define NGX_MODULE_SIGNATURE_32 "1" | |
193 #else | |
194 #define NGX_MODULE_SIGNATURE_32 "0" | |
195 #endif | |
196 | |
197 #if (NGX_HTTP_UPSTREAM_ZONE) | |
198 #define NGX_MODULE_SIGNATURE_33 "1" | |
199 #else | |
200 #define NGX_MODULE_SIGNATURE_33 "0" | |
201 #endif | |
202 | |
6715
d200a0fd00b7
Introduced the NGX_COMPAT macro.
Ruslan Ermilov <ru@nginx.com>
parents:
6603
diff
changeset
|
203 #if (NGX_COMPAT) |
d200a0fd00b7
Introduced the NGX_COMPAT macro.
Ruslan Ermilov <ru@nginx.com>
parents:
6603
diff
changeset
|
204 #define NGX_MODULE_SIGNATURE_34 "1" |
d200a0fd00b7
Introduced the NGX_COMPAT macro.
Ruslan Ermilov <ru@nginx.com>
parents:
6603
diff
changeset
|
205 #else |
d200a0fd00b7
Introduced the NGX_COMPAT macro.
Ruslan Ermilov <ru@nginx.com>
parents:
6603
diff
changeset
|
206 #define NGX_MODULE_SIGNATURE_34 "0" |
d200a0fd00b7
Introduced the NGX_COMPAT macro.
Ruslan Ermilov <ru@nginx.com>
parents:
6603
diff
changeset
|
207 #endif |
d200a0fd00b7
Introduced the NGX_COMPAT macro.
Ruslan Ermilov <ru@nginx.com>
parents:
6603
diff
changeset
|
208 |
6383 | 209 #define NGX_MODULE_SIGNATURE \ |
210 NGX_MODULE_SIGNATURE_0 NGX_MODULE_SIGNATURE_1 NGX_MODULE_SIGNATURE_2 \ | |
211 NGX_MODULE_SIGNATURE_3 NGX_MODULE_SIGNATURE_4 NGX_MODULE_SIGNATURE_5 \ | |
212 NGX_MODULE_SIGNATURE_6 NGX_MODULE_SIGNATURE_7 NGX_MODULE_SIGNATURE_8 \ | |
213 NGX_MODULE_SIGNATURE_9 NGX_MODULE_SIGNATURE_10 NGX_MODULE_SIGNATURE_11 \ | |
214 NGX_MODULE_SIGNATURE_12 NGX_MODULE_SIGNATURE_13 NGX_MODULE_SIGNATURE_14 \ | |
215 NGX_MODULE_SIGNATURE_15 NGX_MODULE_SIGNATURE_16 NGX_MODULE_SIGNATURE_17 \ | |
216 NGX_MODULE_SIGNATURE_18 NGX_MODULE_SIGNATURE_19 NGX_MODULE_SIGNATURE_20 \ | |
217 NGX_MODULE_SIGNATURE_21 NGX_MODULE_SIGNATURE_22 NGX_MODULE_SIGNATURE_23 \ | |
218 NGX_MODULE_SIGNATURE_24 NGX_MODULE_SIGNATURE_25 NGX_MODULE_SIGNATURE_26 \ | |
219 NGX_MODULE_SIGNATURE_27 NGX_MODULE_SIGNATURE_28 NGX_MODULE_SIGNATURE_29 \ | |
220 NGX_MODULE_SIGNATURE_30 NGX_MODULE_SIGNATURE_31 NGX_MODULE_SIGNATURE_32 \ | |
6715
d200a0fd00b7
Introduced the NGX_COMPAT macro.
Ruslan Ermilov <ru@nginx.com>
parents:
6603
diff
changeset
|
221 NGX_MODULE_SIGNATURE_33 NGX_MODULE_SIGNATURE_34 |
6383 | 222 |
223 | |
224 #define NGX_MODULE_V1 \ | |
225 NGX_MODULE_UNSET_INDEX, NGX_MODULE_UNSET_INDEX, \ | |
226 NULL, 0, 0, nginx_version, NGX_MODULE_SIGNATURE | |
227 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
228 #define NGX_MODULE_V1_PADDING 0, 0, 0, 0, 0, 0, 0, 0 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
229 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
230 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
231 struct ngx_module_s { |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
232 ngx_uint_t ctx_index; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
233 ngx_uint_t index; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
234 |
6383 | 235 char *name; |
236 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
237 ngx_uint_t spare0; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
238 ngx_uint_t spare1; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
239 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
240 ngx_uint_t version; |
6390
ff1e625ae55b
Core: ngx_module_t compatibility with C++.
Piotr Sikora <piotrsikora@google.com>
parents:
6383
diff
changeset
|
241 const char *signature; |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
242 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
243 void *ctx; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
244 ngx_command_t *commands; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
245 ngx_uint_t type; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
246 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
247 ngx_int_t (*init_master)(ngx_log_t *log); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
248 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
249 ngx_int_t (*init_module)(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
250 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
251 ngx_int_t (*init_process)(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
252 ngx_int_t (*init_thread)(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
253 void (*exit_thread)(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
254 void (*exit_process)(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
255 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
256 void (*exit_master)(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
257 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
258 uintptr_t spare_hook0; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
259 uintptr_t spare_hook1; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
260 uintptr_t spare_hook2; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
261 uintptr_t spare_hook3; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
262 uintptr_t spare_hook4; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
263 uintptr_t spare_hook5; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
264 uintptr_t spare_hook6; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
265 uintptr_t spare_hook7; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
266 }; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
267 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
268 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
269 typedef struct { |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
270 ngx_str_t name; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
271 void *(*create_conf)(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
272 char *(*init_conf)(ngx_cycle_t *cycle, void *conf); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
273 } ngx_core_module_t; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
274 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
275 |
6429
3600bbfb43e3
Fixed compilation with -Wmissing-prototypes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
6390
diff
changeset
|
276 ngx_int_t ngx_preinit_modules(void); |
6383 | 277 ngx_int_t ngx_cycle_modules(ngx_cycle_t *cycle); |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
278 ngx_int_t ngx_init_modules(ngx_cycle_t *cycle); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
279 ngx_int_t ngx_count_modules(ngx_cycle_t *cycle, ngx_uint_t type); |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
280 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
281 |
6383 | 282 ngx_int_t ngx_add_module(ngx_conf_t *cf, ngx_str_t *file, |
283 ngx_module_t *module, char **order); | |
284 | |
285 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
286 extern ngx_module_t *ngx_modules[]; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
287 extern ngx_uint_t ngx_max_module; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
288 |
6383 | 289 extern char *ngx_module_names[]; |
290 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
291 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
292 #endif /* _NGX_MODULE_H_INCLUDED_ */ |