Mercurial > hg > nginx
annotate src/core/ngx_module.h @ 6603:9eefb38f0005
Internal md5 and sha1 implementations are now always used.
This reduces the number of moving parts in ABI compatibility checks.
Additionally, it also allows to use OpenSSL in FIPS mode while still
using md5 for non-security tasks.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 30 Jun 2016 18:57:39 +0300 |
parents | 3600bbfb43e3 |
children | d200a0fd00b7 |
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 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) | |
75 #define NGX_MODULE_SIGNATURE_9 "1" | |
76 #else | |
77 #define NGX_MODULE_SIGNATURE_9 "0" | |
78 #endif | |
79 | |
80 #if (NGX_HAVE_REUSEPORT) | |
81 #define NGX_MODULE_SIGNATURE_10 "1" | |
82 #else | |
83 #define NGX_MODULE_SIGNATURE_10 "0" | |
84 #endif | |
85 | |
86 #if (NGX_HAVE_DEFERRED_ACCEPT && defined SO_ACCEPTFILTER) | |
87 #define NGX_MODULE_SIGNATURE_11 "1" | |
88 #else | |
89 #define NGX_MODULE_SIGNATURE_11 "0" | |
90 #endif | |
91 | |
92 #if (NGX_HAVE_DEFERRED_ACCEPT && defined TCP_DEFER_ACCEPT) | |
93 #define NGX_MODULE_SIGNATURE_12 "1" | |
94 #else | |
95 #define NGX_MODULE_SIGNATURE_12 "0" | |
96 #endif | |
97 | |
98 #if (NGX_HAVE_SETFIB) | |
99 #define NGX_MODULE_SIGNATURE_13 "1" | |
100 #else | |
101 #define NGX_MODULE_SIGNATURE_13 "0" | |
102 #endif | |
103 | |
104 #if (NGX_HAVE_TCP_FASTOPEN) | |
105 #define NGX_MODULE_SIGNATURE_14 "1" | |
106 #else | |
107 #define NGX_MODULE_SIGNATURE_14 "0" | |
108 #endif | |
109 | |
110 #if (NGX_HAVE_UNIX_DOMAIN) | |
111 #define NGX_MODULE_SIGNATURE_15 "1" | |
112 #else | |
113 #define NGX_MODULE_SIGNATURE_15 "0" | |
114 #endif | |
115 | |
116 #if (NGX_HAVE_VARIADIC_MACROS) | |
117 #define NGX_MODULE_SIGNATURE_16 "1" | |
118 #else | |
119 #define NGX_MODULE_SIGNATURE_16 "0" | |
120 #endif | |
121 | |
122 #define NGX_MODULE_SIGNATURE_17 "0" | |
123 #define NGX_MODULE_SIGNATURE_18 "0" | |
124 | |
125 #if (NGX_HAVE_OPENAT) | |
126 #define NGX_MODULE_SIGNATURE_19 "1" | |
127 #else | |
128 #define NGX_MODULE_SIGNATURE_19 "0" | |
129 #endif | |
130 | |
131 #if (NGX_HAVE_ATOMIC_OPS) | |
132 #define NGX_MODULE_SIGNATURE_20 "1" | |
133 #else | |
134 #define NGX_MODULE_SIGNATURE_20 "0" | |
135 #endif | |
136 | |
137 #if (NGX_HAVE_POSIX_SEM) | |
138 #define NGX_MODULE_SIGNATURE_21 "1" | |
139 #else | |
140 #define NGX_MODULE_SIGNATURE_21 "0" | |
141 #endif | |
142 | |
143 #if (NGX_THREADS) | |
144 #define NGX_MODULE_SIGNATURE_22 "1" | |
145 #else | |
146 #define NGX_MODULE_SIGNATURE_22 "0" | |
147 #endif | |
148 | |
149 #if (NGX_PCRE) | |
150 #define NGX_MODULE_SIGNATURE_23 "1" | |
151 #else | |
152 #define NGX_MODULE_SIGNATURE_23 "0" | |
153 #endif | |
154 | |
155 #if (NGX_HTTP_SSL) | |
156 #define NGX_MODULE_SIGNATURE_24 "1" | |
157 #else | |
158 #define NGX_MODULE_SIGNATURE_24 "0" | |
159 #endif | |
160 | |
161 #if (NGX_HTTP_V2) | |
162 #define NGX_MODULE_SIGNATURE_25 "1" | |
163 #else | |
164 #define NGX_MODULE_SIGNATURE_25 "0" | |
165 #endif | |
166 | |
167 #if (NGX_HTTP_GZIP) | |
168 #define NGX_MODULE_SIGNATURE_26 "1" | |
169 #else | |
170 #define NGX_MODULE_SIGNATURE_26 "0" | |
171 #endif | |
172 | |
173 #if (NGX_HTTP_DEGRADATION) | |
174 #define NGX_MODULE_SIGNATURE_27 "1" | |
175 #else | |
176 #define NGX_MODULE_SIGNATURE_27 "0" | |
177 #endif | |
178 | |
179 #if (NGX_HTTP_X_FORWARDED_FOR) | |
180 #define NGX_MODULE_SIGNATURE_28 "1" | |
181 #else | |
182 #define NGX_MODULE_SIGNATURE_28 "0" | |
183 #endif | |
184 | |
185 #if (NGX_HTTP_REALIP) | |
186 #define NGX_MODULE_SIGNATURE_29 "1" | |
187 #else | |
188 #define NGX_MODULE_SIGNATURE_29 "0" | |
189 #endif | |
190 | |
191 #if (NGX_HTTP_HEADERS) | |
192 #define NGX_MODULE_SIGNATURE_30 "1" | |
193 #else | |
194 #define NGX_MODULE_SIGNATURE_30 "0" | |
195 #endif | |
196 | |
197 #if (NGX_HTTP_DAV) | |
198 #define NGX_MODULE_SIGNATURE_31 "1" | |
199 #else | |
200 #define NGX_MODULE_SIGNATURE_31 "0" | |
201 #endif | |
202 | |
203 #if (NGX_HTTP_CACHE) | |
204 #define NGX_MODULE_SIGNATURE_32 "1" | |
205 #else | |
206 #define NGX_MODULE_SIGNATURE_32 "0" | |
207 #endif | |
208 | |
209 #if (NGX_HTTP_UPSTREAM_ZONE) | |
210 #define NGX_MODULE_SIGNATURE_33 "1" | |
211 #else | |
212 #define NGX_MODULE_SIGNATURE_33 "0" | |
213 #endif | |
214 | |
215 #define NGX_MODULE_SIGNATURE \ | |
216 NGX_MODULE_SIGNATURE_0 NGX_MODULE_SIGNATURE_1 NGX_MODULE_SIGNATURE_2 \ | |
217 NGX_MODULE_SIGNATURE_3 NGX_MODULE_SIGNATURE_4 NGX_MODULE_SIGNATURE_5 \ | |
218 NGX_MODULE_SIGNATURE_6 NGX_MODULE_SIGNATURE_7 NGX_MODULE_SIGNATURE_8 \ | |
219 NGX_MODULE_SIGNATURE_9 NGX_MODULE_SIGNATURE_10 NGX_MODULE_SIGNATURE_11 \ | |
220 NGX_MODULE_SIGNATURE_12 NGX_MODULE_SIGNATURE_13 NGX_MODULE_SIGNATURE_14 \ | |
221 NGX_MODULE_SIGNATURE_15 NGX_MODULE_SIGNATURE_16 NGX_MODULE_SIGNATURE_17 \ | |
222 NGX_MODULE_SIGNATURE_18 NGX_MODULE_SIGNATURE_19 NGX_MODULE_SIGNATURE_20 \ | |
223 NGX_MODULE_SIGNATURE_21 NGX_MODULE_SIGNATURE_22 NGX_MODULE_SIGNATURE_23 \ | |
224 NGX_MODULE_SIGNATURE_24 NGX_MODULE_SIGNATURE_25 NGX_MODULE_SIGNATURE_26 \ | |
225 NGX_MODULE_SIGNATURE_27 NGX_MODULE_SIGNATURE_28 NGX_MODULE_SIGNATURE_29 \ | |
226 NGX_MODULE_SIGNATURE_30 NGX_MODULE_SIGNATURE_31 NGX_MODULE_SIGNATURE_32 \ | |
227 NGX_MODULE_SIGNATURE_33 | |
228 | |
229 | |
230 #define NGX_MODULE_V1 \ | |
231 NGX_MODULE_UNSET_INDEX, NGX_MODULE_UNSET_INDEX, \ | |
232 NULL, 0, 0, nginx_version, NGX_MODULE_SIGNATURE | |
233 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
234 #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
|
235 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
236 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
237 struct ngx_module_s { |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
238 ngx_uint_t ctx_index; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
239 ngx_uint_t index; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
240 |
6383 | 241 char *name; |
242 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
243 ngx_uint_t spare0; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
244 ngx_uint_t spare1; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
245 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
246 ngx_uint_t version; |
6390
ff1e625ae55b
Core: ngx_module_t compatibility with C++.
Piotr Sikora <piotrsikora@google.com>
parents:
6383
diff
changeset
|
247 const char *signature; |
6378
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 void *ctx; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
250 ngx_command_t *commands; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
251 ngx_uint_t type; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
252 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
253 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
|
254 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
255 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
|
256 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
257 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
|
258 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
|
259 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
|
260 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
|
261 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
262 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
|
263 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
264 uintptr_t spare_hook0; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
265 uintptr_t spare_hook1; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
266 uintptr_t spare_hook2; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
267 uintptr_t spare_hook3; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
268 uintptr_t spare_hook4; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
269 uintptr_t spare_hook5; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
270 uintptr_t spare_hook6; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
271 uintptr_t spare_hook7; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
272 }; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
273 |
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 typedef struct { |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
276 ngx_str_t name; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
277 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
|
278 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
|
279 } ngx_core_module_t; |
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 |
6429
3600bbfb43e3
Fixed compilation with -Wmissing-prototypes.
Sergey Kandaurov <pluknet@nginx.com>
parents:
6390
diff
changeset
|
282 ngx_int_t ngx_preinit_modules(void); |
6383 | 283 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
|
284 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
|
285 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
|
286 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
287 |
6383 | 288 ngx_int_t ngx_add_module(ngx_conf_t *cf, ngx_str_t *file, |
289 ngx_module_t *module, char **order); | |
290 | |
291 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
292 extern ngx_module_t *ngx_modules[]; |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
293 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
|
294 |
6383 | 295 extern char *ngx_module_names[]; |
296 | |
6378
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
297 |
0f203a2af17c
Dynamic modules: moved module-related stuff to separate files.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
298 #endif /* _NGX_MODULE_H_INCLUDED_ */ |