Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
nginx-1.4.2
src
core
ngx_conf_file.h
Go to the documentation of this file.
1
2
/*
3
* Copyright (C) Igor Sysoev
4
* Copyright (C) Nginx, Inc.
5
*/
6
7
8
#ifndef _NGX_HTTP_CONF_FILE_H_INCLUDED_
9
#define _NGX_HTTP_CONF_FILE_H_INCLUDED_
10
11
12
#include <
ngx_config.h
>
13
#include <
ngx_core.h
>
14
15
16
/*
17
* AAAA number of arguments
18
* FF command flags
19
* TT command type, i.e. HTTP "location" or "server" command
20
*/
21
22
#define NGX_CONF_NOARGS 0x00000001
23
#define NGX_CONF_TAKE1 0x00000002
24
#define NGX_CONF_TAKE2 0x00000004
25
#define NGX_CONF_TAKE3 0x00000008
26
#define NGX_CONF_TAKE4 0x00000010
27
#define NGX_CONF_TAKE5 0x00000020
28
#define NGX_CONF_TAKE6 0x00000040
29
#define NGX_CONF_TAKE7 0x00000080
30
31
#define NGX_CONF_MAX_ARGS 8
32
33
#define NGX_CONF_TAKE12 (NGX_CONF_TAKE1|NGX_CONF_TAKE2)
34
#define NGX_CONF_TAKE13 (NGX_CONF_TAKE1|NGX_CONF_TAKE3)
35
36
#define NGX_CONF_TAKE23 (NGX_CONF_TAKE2|NGX_CONF_TAKE3)
37
38
#define NGX_CONF_TAKE123 (NGX_CONF_TAKE1|NGX_CONF_TAKE2|NGX_CONF_TAKE3)
39
#define NGX_CONF_TAKE1234 (NGX_CONF_TAKE1|NGX_CONF_TAKE2|NGX_CONF_TAKE3 \
40
|NGX_CONF_TAKE4)
41
42
#define NGX_CONF_ARGS_NUMBER 0x000000ff
43
#define NGX_CONF_BLOCK 0x00000100
44
#define NGX_CONF_FLAG 0x00000200
45
#define NGX_CONF_ANY 0x00000400
46
#define NGX_CONF_1MORE 0x00000800
47
#define NGX_CONF_2MORE 0x00001000
48
#define NGX_CONF_MULTI 0x00000000
/* compatibility */
49
50
#define NGX_DIRECT_CONF 0x00010000
51
52
#define NGX_MAIN_CONF 0x01000000
53
#define NGX_ANY_CONF 0x0F000000
54
55
56
57
#define NGX_CONF_UNSET -1
58
#define NGX_CONF_UNSET_UINT (ngx_uint_t) -1
59
#define NGX_CONF_UNSET_PTR (void *) -1
60
#define NGX_CONF_UNSET_SIZE (size_t) -1
61
#define NGX_CONF_UNSET_MSEC (ngx_msec_t) -1
62
63
64
#define NGX_CONF_OK NULL
65
#define NGX_CONF_ERROR (void *) -1
66
67
#define NGX_CONF_BLOCK_START 1
68
#define NGX_CONF_BLOCK_DONE 2
69
#define NGX_CONF_FILE_DONE 3
70
71
#define NGX_CORE_MODULE 0x45524F43
/* "CORE" */
72
#define NGX_CONF_MODULE 0x464E4F43
/* "CONF" */
73
74
75
#define NGX_MAX_CONF_ERRSTR 1024
76
77
78
struct
ngx_command_s
{
79
ngx_str_t
name
;
80
ngx_uint_t
type
;
81
char
*(*set)(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*
conf
);
82
ngx_uint_t
conf
;
83
ngx_uint_t
offset
;
84
void
*
post
;
85
};
86
87
#define ngx_null_command { ngx_null_string, 0, NULL, 0, 0, NULL }
88
89
90
struct
ngx_open_file_s
{
91
ngx_fd_t
fd
;
92
ngx_str_t
name
;
93
94
void (*
flush
)(
ngx_open_file_t
*file,
ngx_log_t
*log);
95
void
*
data
;
96
};
97
98
99
#define NGX_MODULE_V1 0, 0, 0, 0, 0, 0, 1
100
#define NGX_MODULE_V1_PADDING 0, 0, 0, 0, 0, 0, 0, 0
101
102
struct
ngx_module_s
{
103
ngx_uint_t
ctx_index
;
104
ngx_uint_t
index
;
105
106
ngx_uint_t
spare0
;
107
ngx_uint_t
spare1
;
108
ngx_uint_t
spare2
;
109
ngx_uint_t
spare3
;
110
111
ngx_uint_t
version
;
112
113
void
*
ctx
;
114
ngx_command_t
*
commands
;
115
ngx_uint_t
type
;
116
117
ngx_int_t
(*
init_master
)(
ngx_log_t
*log);
118
119
ngx_int_t
(*
init_module
)(
ngx_cycle_t
*cycle);
120
121
ngx_int_t
(*
init_process
)(
ngx_cycle_t
*cycle);
122
ngx_int_t
(*
init_thread
)(
ngx_cycle_t
*cycle);
123
void (*
exit_thread
)(
ngx_cycle_t
*cycle);
124
void (*
exit_process
)(
ngx_cycle_t
*cycle);
125
126
void (*
exit_master
)(
ngx_cycle_t
*cycle);
127
128
uintptr_t
spare_hook0
;
129
uintptr_t
spare_hook1
;
130
uintptr_t
spare_hook2
;
131
uintptr_t
spare_hook3
;
132
uintptr_t
spare_hook4
;
133
uintptr_t
spare_hook5
;
134
uintptr_t
spare_hook6
;
135
uintptr_t
spare_hook7
;
136
};
137
138
139
typedef
struct
{
140
ngx_str_t
name
;
141
void
*(*create_conf)(
ngx_cycle_t
*cycle);
142
char
*(*init_conf)(
ngx_cycle_t
*cycle,
void
*conf);
143
}
ngx_core_module_t
;
144
145
146
typedef
struct
{
147
ngx_file_t
file
;
148
ngx_buf_t
*
buffer
;
149
ngx_uint_t
line
;
150
}
ngx_conf_file_t
;
151
152
153
typedef
char
*(*ngx_conf_handler_pt)(
ngx_conf_t
*cf,
154
ngx_command_t
*dummy,
void
*conf);
155
156
157
struct
ngx_conf_s
{
158
char
*
name
;
159
ngx_array_t
*
args
;
160
161
ngx_cycle_t
*
cycle
;
162
ngx_pool_t
*
pool
;
163
ngx_pool_t
*
temp_pool
;
164
ngx_conf_file_t
*
conf_file
;
165
ngx_log_t
*
log
;
166
167
void
*
ctx
;
168
ngx_uint_t
module_type
;
169
ngx_uint_t
cmd_type
;
170
171
ngx_conf_handler_pt
handler
;
172
char
*
handler_conf
;
173
};
174
175
176
typedef
char
*(*ngx_conf_post_handler_pt) (
ngx_conf_t
*cf,
177
void
*data,
void
*conf);
178
179
typedef
struct
{
180
ngx_conf_post_handler_pt
post_handler
;
181
}
ngx_conf_post_t
;
182
183
184
typedef
struct
{
185
ngx_conf_post_handler_pt
post_handler
;
186
char
*
old_name
;
187
char
*
new_name
;
188
}
ngx_conf_deprecated_t
;
189
190
191
typedef
struct
{
192
ngx_conf_post_handler_pt
post_handler
;
193
ngx_int_t
low
;
194
ngx_int_t
high
;
195
}
ngx_conf_num_bounds_t
;
196
197
198
typedef
struct
{
199
ngx_str_t
name
;
200
ngx_uint_t
value
;
201
}
ngx_conf_enum_t
;
202
203
204
#define NGX_CONF_BITMASK_SET 1
205
206
typedef
struct
{
207
ngx_str_t
name
;
208
ngx_uint_t
mask
;
209
}
ngx_conf_bitmask_t
;
210
211
212
213
char
*
ngx_conf_deprecated
(
ngx_conf_t
*cf,
void
*post,
void
*data);
214
char
*
ngx_conf_check_num_bounds
(
ngx_conf_t
*cf,
void
*post,
void
*data);
215
216
217
#define ngx_get_conf(conf_ctx, module) conf_ctx[module.index]
218
219
220
221
#define ngx_conf_init_value(conf, default) \
222
if (conf == NGX_CONF_UNSET) { \
223
conf = default; \
224
}
225
226
#define ngx_conf_init_ptr_value(conf, default) \
227
if (conf == NGX_CONF_UNSET_PTR) { \
228
conf = default; \
229
}
230
231
#define ngx_conf_init_uint_value(conf, default) \
232
if (conf == NGX_CONF_UNSET_UINT) { \
233
conf = default; \
234
}
235
236
#define ngx_conf_init_size_value(conf, default) \
237
if (conf == NGX_CONF_UNSET_SIZE) { \
238
conf = default; \
239
}
240
241
#define ngx_conf_init_msec_value(conf, default) \
242
if (conf == NGX_CONF_UNSET_MSEC) { \
243
conf = default; \
244
}
245
246
#define ngx_conf_merge_value(conf, prev, default) \
247
if (conf == NGX_CONF_UNSET) { \
248
conf = (prev == NGX_CONF_UNSET) ? default : prev; \
249
}
250
251
#define ngx_conf_merge_ptr_value(conf, prev, default) \
252
if (conf == NGX_CONF_UNSET_PTR) { \
253
conf = (prev == NGX_CONF_UNSET_PTR) ? default : prev; \
254
}
255
256
#define ngx_conf_merge_uint_value(conf, prev, default) \
257
if (conf == NGX_CONF_UNSET_UINT) { \
258
conf = (prev == NGX_CONF_UNSET_UINT) ? default : prev; \
259
}
260
261
#define ngx_conf_merge_msec_value(conf, prev, default) \
262
if (conf == NGX_CONF_UNSET_MSEC) { \
263
conf = (prev == NGX_CONF_UNSET_MSEC) ? default : prev; \
264
}
265
266
#define ngx_conf_merge_sec_value(conf, prev, default) \
267
if (conf == NGX_CONF_UNSET) { \
268
conf = (prev == NGX_CONF_UNSET) ? default : prev; \
269
}
270
271
#define ngx_conf_merge_size_value(conf, prev, default) \
272
if (conf == NGX_CONF_UNSET_SIZE) { \
273
conf = (prev == NGX_CONF_UNSET_SIZE) ? default : prev; \
274
}
275
276
#define ngx_conf_merge_off_value(conf, prev, default) \
277
if (conf == NGX_CONF_UNSET) { \
278
conf = (prev == NGX_CONF_UNSET) ? default : prev; \
279
}
280
281
#define ngx_conf_merge_str_value(conf, prev, default) \
282
if (conf.data == NULL) { \
283
if (prev.data) { \
284
conf.len = prev.len; \
285
conf.data = prev.data; \
286
} else { \
287
conf.len = sizeof(default) - 1; \
288
conf.data = (u_char *) default; \
289
} \
290
}
291
292
#define ngx_conf_merge_bufs_value(conf, prev, default_num, default_size) \
293
if (conf.num == 0) { \
294
if (prev.num) { \
295
conf.num = prev.num; \
296
conf.size = prev.size; \
297
} else { \
298
conf.num = default_num; \
299
conf.size = default_size; \
300
} \
301
}
302
303
#define ngx_conf_merge_bitmask_value(conf, prev, default) \
304
if (conf == 0) { \
305
conf = (prev == 0) ? default : prev; \
306
}
307
308
309
char
*
ngx_conf_param
(
ngx_conf_t
*cf);
310
char
*
ngx_conf_parse
(
ngx_conf_t
*cf,
ngx_str_t
*filename);
311
char
*
ngx_conf_include
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
312
313
314
ngx_int_t
ngx_conf_full_name
(
ngx_cycle_t
*cycle,
ngx_str_t
*name,
315
ngx_uint_t
conf_prefix);
316
ngx_open_file_t
*
ngx_conf_open_file
(
ngx_cycle_t
*cycle,
ngx_str_t
*name);
317
void
ngx_cdecl
ngx_conf_log_error
(
ngx_uint_t
level,
ngx_conf_t
*cf,
318
ngx_err_t
err,
const
char
*fmt, ...);
319
320
321
char
*
ngx_conf_set_flag_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
322
char
*
ngx_conf_set_str_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
323
char
*
ngx_conf_set_str_array_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
324
void
*conf);
325
char
*
ngx_conf_set_keyval_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
326
char
*
ngx_conf_set_num_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
327
char
*
ngx_conf_set_size_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
328
char
*
ngx_conf_set_off_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
329
char
*
ngx_conf_set_msec_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
330
char
*
ngx_conf_set_sec_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
331
char
*
ngx_conf_set_bufs_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
332
char
*
ngx_conf_set_enum_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
333
char
*
ngx_conf_set_bitmask_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
334
335
336
extern
ngx_uint_t
ngx_max_module
;
337
extern
ngx_module_t
*
ngx_modules
[];
338
339
340
#endif
/* _NGX_HTTP_CONF_FILE_H_INCLUDED_ */
Generated on Sun Nov 10 2013 09:49:06 for Groonga 3.0.9 Source Code Document by
1.8.1.2