annotate src/core/ngx_conf_file.h @ 9299:2706b60dc225 default tip

Core: error logging rate limiting. With this change, error logging to files can be rate-limited with the "rate=" parameter. The parameter specifies allowed log messages rate to a particular file (per worker), in messages per second (m/s). By default, "rate=1000m/s" is used. Rate limiting is implemented using the "leaky bucket" method, similarly to the limit_req module. Maximum burst size is set to the number of log messages per second for each severity level, so "error" messages are logged even if the rate limit is hit by "info" messages (but not vice versa). When the limit is reached for a particular level, the "too many log messages, limiting" message is logged at this level. If debug logging is enabled, either for the particular log file or for the particular connection, rate limiting is not used.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 25 Jun 2024 22:58:56 +0300
parents af5b47569cb2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 3449
diff changeset
4 * Copyright (C) Nginx, Inc.
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
5 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
6
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
7
5222
23a186e8ca45 Style: remove unnecessary references to HTTP from non-HTTP modules.
Piotr Sikora <piotr@cloudflare.com>
parents: 4985
diff changeset
8 #ifndef _NGX_CONF_FILE_H_INCLUDED_
23a186e8ca45 Style: remove unnecessary references to HTTP from non-HTTP modules.
Piotr Sikora <piotr@cloudflare.com>
parents: 4985
diff changeset
9 #define _NGX_CONF_FILE_H_INCLUDED_
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
10
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
11
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
12 #include <ngx_config.h>
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 99
diff changeset
13 #include <ngx_core.h>
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
14
40
d5d4f3bba6f0 nginx-0.0.1-2002-12-26-10:24:21 import
Igor Sysoev <igor@sysoev.ru>
parents: 39
diff changeset
15
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
16 /*
4572
67653855682e Fixed spelling in multiline C comments.
Ruslan Ermilov <ru@nginx.com>
parents: 4412
diff changeset
17 * AAAA number of arguments
89
29bf798b583f nginx-0.0.1-2003-05-15-19:42:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
18 * FF command flags
29bf798b583f nginx-0.0.1-2003-05-15-19:42:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
19 * TT command type, i.e. HTTP "location" or "server" command
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
20 */
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
21
90
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
22 #define NGX_CONF_NOARGS 0x00000001
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
23 #define NGX_CONF_TAKE1 0x00000002
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
24 #define NGX_CONF_TAKE2 0x00000004
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
25 #define NGX_CONF_TAKE3 0x00000008
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
26 #define NGX_CONF_TAKE4 0x00000010
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
27 #define NGX_CONF_TAKE5 0x00000020
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
28 #define NGX_CONF_TAKE6 0x00000040
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
29 #define NGX_CONF_TAKE7 0x00000080
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
30
511
c12967aadd87 nginx-0.1.30-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
31 #define NGX_CONF_MAX_ARGS 8
c12967aadd87 nginx-0.1.30-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
32
176
c0552e5ab567 nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents: 172
diff changeset
33 #define NGX_CONF_TAKE12 (NGX_CONF_TAKE1|NGX_CONF_TAKE2)
216
f1d0e5f09c1e nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 209
diff changeset
34 #define NGX_CONF_TAKE13 (NGX_CONF_TAKE1|NGX_CONF_TAKE3)
176
c0552e5ab567 nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents: 172
diff changeset
35
216
f1d0e5f09c1e nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 209
diff changeset
36 #define NGX_CONF_TAKE23 (NGX_CONF_TAKE2|NGX_CONF_TAKE3)
176
c0552e5ab567 nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents: 172
diff changeset
37
571
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 545
diff changeset
38 #define NGX_CONF_TAKE123 (NGX_CONF_TAKE1|NGX_CONF_TAKE2|NGX_CONF_TAKE3)
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
39 #define NGX_CONF_TAKE1234 (NGX_CONF_TAKE1|NGX_CONF_TAKE2|NGX_CONF_TAKE3 \
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
40 |NGX_CONF_TAKE4)
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 141
diff changeset
41
311
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
42 #define NGX_CONF_ARGS_NUMBER 0x000000ff
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
43 #define NGX_CONF_BLOCK 0x00000100
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
44 #define NGX_CONF_FLAG 0x00000200
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
45 #define NGX_CONF_ANY 0x00000400
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
46 #define NGX_CONF_1MORE 0x00000800
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
47 #define NGX_CONF_2MORE 0x00001000
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
48
311
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
49 #define NGX_DIRECT_CONF 0x00010000
336
ca9a7f8c86da nginx-0.0.3-2004-05-18-19:29:08 import
Igor Sysoev <igor@sysoev.ru>
parents: 326
diff changeset
50
90
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
51 #define NGX_MAIN_CONF 0x01000000
7502
b7a7c02aea3a Core: enabled "include" in any context (ticket #1615).
Vladimir Homutov <vl@nginx.com>
parents: 7133
diff changeset
52 #define NGX_ANY_CONF 0xFF000000
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
53
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
54
43
53cd05892261 nginx-0.0.1-2002-12-27-19:22:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 42
diff changeset
55
53cd05892261 nginx-0.0.1-2002-12-27-19:22:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 42
diff changeset
56 #define NGX_CONF_UNSET -1
314
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
57 #define NGX_CONF_UNSET_UINT (ngx_uint_t) -1
383
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
58 #define NGX_CONF_UNSET_PTR (void *) -1
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
59 #define NGX_CONF_UNSET_SIZE (size_t) -1
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
60 #define NGX_CONF_UNSET_MSEC (ngx_msec_t) -1
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
61
10
4f3879d9b6f6 nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
62
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
63 #define NGX_CONF_OK NULL
651
39b7d7b33c91 nginx-0.3.47-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 649
diff changeset
64 #define NGX_CONF_ERROR (void *) -1
10
4f3879d9b6f6 nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
65
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
66 #define NGX_CONF_BLOCK_START 1
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
67 #define NGX_CONF_BLOCK_DONE 2
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
68 #define NGX_CONF_FILE_DONE 3
40
d5d4f3bba6f0 nginx-0.0.1-2002-12-26-10:24:21 import
Igor Sysoev <igor@sysoev.ru>
parents: 39
diff changeset
69
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
70 #define NGX_CORE_MODULE 0x45524F43 /* "CORE" */
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
71 #define NGX_CONF_MODULE 0x464E4F43 /* "CONF" */
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
72
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
73
2336
81d506883bba *) increase ngx_conf_log_error() buffer
Igor Sysoev <igor@sysoev.ru>
parents: 2215
diff changeset
74 #define NGX_MAX_CONF_ERRSTR 1024
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents: 191
diff changeset
75
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents: 191
diff changeset
76
41
59e7c7f30d49 nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 40
diff changeset
77 struct ngx_command_s {
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
78 ngx_str_t name;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
79 ngx_uint_t type;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
80 char *(*set)(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
81 ngx_uint_t conf;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
82 ngx_uint_t offset;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
83 void *post;
41
59e7c7f30d49 nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 40
diff changeset
84 };
40
d5d4f3bba6f0 nginx-0.0.1-2002-12-26-10:24:21 import
Igor Sysoev <igor@sysoev.ru>
parents: 39
diff changeset
85
573
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 571
diff changeset
86 #define ngx_null_command { ngx_null_string, 0, NULL, 0, 0, NULL }
40
d5d4f3bba6f0 nginx-0.0.1-2002-12-26-10:24:21 import
Igor Sysoev <igor@sysoev.ru>
parents: 39
diff changeset
87
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 99
diff changeset
88
109
a9bc21d63fe4 nginx-0.0.1-2003-07-02-18:41:17 import
Igor Sysoev <igor@sysoev.ru>
parents: 107
diff changeset
89 struct ngx_open_file_s {
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
90 ngx_fd_t fd;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
91 ngx_str_t name;
571
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 545
diff changeset
92
9296
af5b47569cb2 Core: fixed ENOSPC handling for error logs.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7502
diff changeset
93 time_t disk_full_time;
af5b47569cb2 Core: fixed ENOSPC handling for error logs.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7502
diff changeset
94
4985
a0599b56e748 Reopening log files code moved to a separate function.
Valentin Bartenev <vbart@nginx.com>
parents: 4827
diff changeset
95 void (*flush)(ngx_open_file_t *file, ngx_log_t *log);
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
96 void *data;
109
a9bc21d63fe4 nginx-0.0.1-2003-07-02-18:41:17 import
Igor Sysoev <igor@sysoev.ru>
parents: 107
diff changeset
97 };
a9bc21d63fe4 nginx-0.0.1-2003-07-02-18:41:17 import
Igor Sysoev <igor@sysoev.ru>
parents: 107
diff changeset
98
a9bc21d63fe4 nginx-0.0.1-2003-07-02-18:41:17 import
Igor Sysoev <igor@sysoev.ru>
parents: 107
diff changeset
99
311
11ff50a35d6d nginx-0.0.3-2004-04-12-20:38:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 306
diff changeset
100 typedef struct {
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
101 ngx_file_t file;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
102 ngx_buf_t *buffer;
6187
1b7e246e6b38 Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents: 5330
diff changeset
103 ngx_buf_t *dump;
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
104 ngx_uint_t line;
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
105 } ngx_conf_file_t;
10
4f3879d9b6f6 nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
106
40
d5d4f3bba6f0 nginx-0.0.1-2002-12-26-10:24:21 import
Igor Sysoev <igor@sysoev.ru>
parents: 39
diff changeset
107
6187
1b7e246e6b38 Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents: 5330
diff changeset
108 typedef struct {
1b7e246e6b38 Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents: 5330
diff changeset
109 ngx_str_t name;
1b7e246e6b38 Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents: 5330
diff changeset
110 ngx_buf_t *buffer;
1b7e246e6b38 Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents: 5330
diff changeset
111 } ngx_conf_dump_t;
1b7e246e6b38 Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents: 5330
diff changeset
112
1b7e246e6b38 Core: store and dump processed configuration.
Vladimir Homutov <vl@nginx.com>
parents: 5330
diff changeset
113
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
114 typedef char *(*ngx_conf_handler_pt)(ngx_conf_t *cf,
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
115 ngx_command_t *dummy, void *conf);
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
116
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
117
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
118 struct ngx_conf_s {
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
119 char *name;
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
120 ngx_array_t *args;
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
121
107
b5be4b0448d3 nginx-0.0.1-2003-07-01-19:00:03 import
Igor Sysoev <igor@sysoev.ru>
parents: 106
diff changeset
122 ngx_cycle_t *cycle;
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
123 ngx_pool_t *pool;
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
124 ngx_pool_t *temp_pool;
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
125 ngx_conf_file_t *conf_file;
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
126 ngx_log_t *log;
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
127
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
128 void *ctx;
356
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 343
diff changeset
129 ngx_uint_t module_type;
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 343
diff changeset
130 ngx_uint_t cmd_type;
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
131
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
132 ngx_conf_handler_pt handler;
7133
dc3b3cfd5d23 Fixed type of ngx_conf_t.handler_conf.
Ruslan Ermilov <ru@nginx.com>
parents: 6527
diff changeset
133 void *handler_conf;
32
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
134 };
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
135
d45effe5854c nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
136
158
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
137 typedef char *(*ngx_conf_post_handler_pt) (ngx_conf_t *cf,
503
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
138 void *data, void *conf);
158
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
139
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
140 typedef struct {
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
141 ngx_conf_post_handler_pt post_handler;
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
142 } ngx_conf_post_t;
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
143
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
144
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
145 typedef struct {
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
146 ngx_conf_post_handler_pt post_handler;
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
147 char *old_name;
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
148 char *new_name;
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
149 } ngx_conf_deprecated_t;
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
150
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
151
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
152 typedef struct {
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
153 ngx_conf_post_handler_pt post_handler;
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
154 ngx_int_t low;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
155 ngx_int_t high;
158
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
156 } ngx_conf_num_bounds_t;
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
157
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
158
314
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
159 typedef struct {
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
160 ngx_str_t name;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
161 ngx_uint_t value;
314
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
162 } ngx_conf_enum_t;
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
163
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
164
170
c42be4185301 nginx-0.0.1-2003-11-03-01:56:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 166
diff changeset
165 #define NGX_CONF_BITMASK_SET 1
c42be4185301 nginx-0.0.1-2003-11-03-01:56:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 166
diff changeset
166
166
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
167 typedef struct {
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
168 ngx_str_t name;
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
169 ngx_uint_t mask;
166
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
170 } ngx_conf_bitmask_t;
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
171
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
172
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
173
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
174 char * ngx_conf_deprecated(ngx_conf_t *cf, void *post, void *data);
158
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
175 char *ngx_conf_check_num_bounds(ngx_conf_t *cf, void *post, void *data);
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
176
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 157
diff changeset
177
113
d7f606e25b99 nginx-0.0.1-2003-07-04-19:10:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 109
diff changeset
178 #define ngx_get_conf(conf_ctx, module) conf_ctx[module.index]
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
179
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
180
118
5bf52498665c nginx-0.0.1-2003-07-18-18:44:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 117
diff changeset
181
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
182 #define ngx_conf_init_value(conf, default) \
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
183 if (conf == NGX_CONF_UNSET) { \
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
184 conf = default; \
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
185 }
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
186
209
e1c815be05ae nginx-0.0.1-2003-12-09-18:08:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
187 #define ngx_conf_init_ptr_value(conf, default) \
383
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
188 if (conf == NGX_CONF_UNSET_PTR) { \
209
e1c815be05ae nginx-0.0.1-2003-12-09-18:08:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
189 conf = default; \
e1c815be05ae nginx-0.0.1-2003-12-09-18:08:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
190 }
e1c815be05ae nginx-0.0.1-2003-12-09-18:08:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
191
663
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
192 #define ngx_conf_init_uint_value(conf, default) \
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
193 if (conf == NGX_CONF_UNSET_UINT) { \
105
00bee6e7b485 nginx-0.0.1-2003-06-15-22:32:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 103
diff changeset
194 conf = default; \
00bee6e7b485 nginx-0.0.1-2003-06-15-22:32:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 103
diff changeset
195 }
00bee6e7b485 nginx-0.0.1-2003-06-15-22:32:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 103
diff changeset
196
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
197 #define ngx_conf_init_size_value(conf, default) \
306
6b91bfbc4123 nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 300
diff changeset
198 if (conf == NGX_CONF_UNSET_SIZE) { \
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
199 conf = default; \
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
200 }
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
201
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
202 #define ngx_conf_init_msec_value(conf, default) \
306
6b91bfbc4123 nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 300
diff changeset
203 if (conf == NGX_CONF_UNSET_MSEC) { \
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
204 conf = default; \
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
205 }
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
206
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
207 #define ngx_conf_merge_value(conf, prev, default) \
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
208 if (conf == NGX_CONF_UNSET) { \
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
209 conf = (prev == NGX_CONF_UNSET) ? default : prev; \
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
210 }
10
4f3879d9b6f6 nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
211
383
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
212 #define ngx_conf_merge_ptr_value(conf, prev, default) \
1452
cd586e963db0 change ngx_conf_merge_ptr_value() and update fastcgi_catch_stderr
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
213 if (conf == NGX_CONF_UNSET_PTR) { \
cd586e963db0 change ngx_conf_merge_ptr_value() and update fastcgi_catch_stderr
Igor Sysoev <igor@sysoev.ru>
parents: 1352
diff changeset
214 conf = (prev == NGX_CONF_UNSET_PTR) ? default : prev; \
383
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
215 }
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
216
663
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
217 #define ngx_conf_merge_uint_value(conf, prev, default) \
314
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
218 if (conf == NGX_CONF_UNSET_UINT) { \
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
219 conf = (prev == NGX_CONF_UNSET_UINT) ? default : prev; \
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
220 }
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
221
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
222 #define ngx_conf_merge_msec_value(conf, prev, default) \
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
223 if (conf == NGX_CONF_UNSET_MSEC) { \
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
224 conf = (prev == NGX_CONF_UNSET_MSEC) ? default : prev; \
88
674d333f4296 nginx-0.0.1-2003-05-14-21:13:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 84
diff changeset
225 }
39
83fa61cd3d2f nginx-0.0.1-2002-12-24-20:30:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
226
172
caa57ddf6d77 nginx-0.0.1-2003-11-04-01:20:44 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
227 #define ngx_conf_merge_sec_value(conf, prev, default) \
caa57ddf6d77 nginx-0.0.1-2003-11-04-01:20:44 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
228 if (conf == NGX_CONF_UNSET) { \
caa57ddf6d77 nginx-0.0.1-2003-11-04-01:20:44 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
229 conf = (prev == NGX_CONF_UNSET) ? default : prev; \
caa57ddf6d77 nginx-0.0.1-2003-11-04-01:20:44 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
230 }
caa57ddf6d77 nginx-0.0.1-2003-11-04-01:20:44 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
231
91
637625a2acdb nginx-0.0.1-2003-05-19-20:39:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 90
diff changeset
232 #define ngx_conf_merge_size_value(conf, prev, default) \
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
233 if (conf == NGX_CONF_UNSET_SIZE) { \
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
234 conf = (prev == NGX_CONF_UNSET_SIZE) ? default : prev; \
59
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 45
diff changeset
235 }
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 45
diff changeset
236
663
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
237 #define ngx_conf_merge_off_value(conf, prev, default) \
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
238 if (conf == NGX_CONF_UNSET) { \
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
239 conf = (prev == NGX_CONF_UNSET) ? default : prev; \
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
240 }
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
241
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
242 #define ngx_conf_merge_str_value(conf, prev, default) \
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
243 if (conf.data == NULL) { \
623
0216fd1471f3 nginx-0.3.33-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
244 if (prev.data) { \
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
245 conf.len = prev.len; \
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
246 conf.data = prev.data; \
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
247 } else { \
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
248 conf.len = sizeof(default) - 1; \
292
a472bfb778b3 nginx-0.0.3-2004-03-17-00:26:01 import
Igor Sysoev <igor@sysoev.ru>
parents: 290
diff changeset
249 conf.data = (u_char *) default; \
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
250 } \
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
251 }
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
252
141
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
253 #define ngx_conf_merge_bufs_value(conf, prev, default_num, default_size) \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
254 if (conf.num == 0) { \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
255 if (prev.num) { \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
256 conf.num = prev.num; \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
257 conf.size = prev.size; \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
258 } else { \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
259 conf.num = default_num; \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
260 conf.size = default_size; \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
261 } \
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
262 }
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
263
166
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
264 #define ngx_conf_merge_bitmask_value(conf, prev, default) \
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
265 if (conf == 0) { \
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
266 conf = (prev == 0) ? default : prev; \
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
267 }
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
268
59
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 45
diff changeset
269
2073
01b71aa095cc -g switch
Igor Sysoev <igor@sysoev.ru>
parents: 1452
diff changeset
270 char *ngx_conf_param(ngx_conf_t *cf);
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
271 char *ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename);
4827
6e46016ea276 Fixed the "include" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 4768
diff changeset
272 char *ngx_conf_include(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
273
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 43
diff changeset
274
5330
314c3d7cc3a5 Backed out f1a91825730a and 7094bd12c1ff.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5318
diff changeset
275 ngx_int_t ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name,
314c3d7cc3a5 Backed out f1a91825730a and 7094bd12c1ff.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5318
diff changeset
276 ngx_uint_t conf_prefix);
119
cd54bcbaf3b5 nginx-0.0.1-2003-07-21-01:15:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 118
diff changeset
277 ngx_open_file_t *ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name);
503
b1648294f693 nginx-0.1.26-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
278 void ngx_cdecl ngx_conf_log_error(ngx_uint_t level, ngx_conf_t *cf,
3449
151ab752a782 const char *fmt in ngx_conf_log_error()
Igor Sysoev <igor@sysoev.ru>
parents: 2336
diff changeset
279 ngx_err_t err, const char *fmt, ...);
118
5bf52498665c nginx-0.0.1-2003-07-18-18:44:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 117
diff changeset
280
5bf52498665c nginx-0.0.1-2003-07-18-18:44:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 117
diff changeset
281
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
282 char *ngx_conf_set_flag_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
283 char *ngx_conf_set_str_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
649
1e720b0be7ec nginx-0.3.46-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 645
diff changeset
284 char *ngx_conf_set_str_array_slot(ngx_conf_t *cf, ngx_command_t *cmd,
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
285 void *conf);
649
1e720b0be7ec nginx-0.3.46-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 645
diff changeset
286 char *ngx_conf_set_keyval_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
287 char *ngx_conf_set_num_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
288 char *ngx_conf_set_size_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
663
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 651
diff changeset
289 char *ngx_conf_set_off_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 91
diff changeset
290 char *ngx_conf_set_msec_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
172
caa57ddf6d77 nginx-0.0.1-2003-11-04-01:20:44 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
291 char *ngx_conf_set_sec_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
141
656d468f4ead nginx-0.0.1-2003-10-08-19:32:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 119
diff changeset
292 char *ngx_conf_set_bufs_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
314
d71c87d11b16 nginx-0.0.3-2004-04-14-09:57:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 311
diff changeset
293 char *ngx_conf_set_enum_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
166
389d7ee9fa60 nginx-0.0.1-2003-10-30-11:51:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
294 char *ngx_conf_set_bitmask_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
41
59e7c7f30d49 nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 40
diff changeset
295
119
cd54bcbaf3b5 nginx-0.0.1-2003-07-21-01:15:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 118
diff changeset
296
5222
23a186e8ca45 Style: remove unnecessary references to HTTP from non-HTTP modules.
Piotr Sikora <piotr@cloudflare.com>
parents: 4985
diff changeset
297 #endif /* _NGX_CONF_FILE_H_INCLUDED_ */