annotate src/core/ngx_core.h @ 546:e19e5f542878 NGINX_0_8_25

nginx 0.8.25 *) Change: now no message is written in an error log if a variable is not found by $r->variable() method. *) Feature: the ngx_http_degradation_module. *) Feature: regular expression named captures. *) Feature: now URI part is not required a "proxy_pass" directive if variables are used. *) Feature: now the "msie_padding" directive works for Chrome too. *) Bugfix: a segmentation fault occurred in a worker process on low memory condition; the bug had appeared in 0.8.18. *) Bugfix: nginx sent gzipped responses to clients those do not support gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared in 0.8.16.
author Igor Sysoev <http://sysoev.ru>
date Mon, 16 Nov 2009 00:00:00 +0300
parents 86dad910eeb6
children 8dc007eddbcf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3 * Copyright (C) Igor Sysoev
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4 */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
5
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
6
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
7 #ifndef _NGX_CORE_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8 #define _NGX_CORE_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
11 typedef struct ngx_module_s ngx_module_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12 typedef struct ngx_conf_s ngx_conf_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13 typedef struct ngx_cycle_s ngx_cycle_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14 typedef struct ngx_pool_s ngx_pool_t;
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 108
diff changeset
15 typedef struct ngx_chain_s ngx_chain_t;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16 typedef struct ngx_log_s ngx_log_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17 typedef struct ngx_array_s ngx_array_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 typedef struct ngx_open_file_s ngx_open_file_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
19 typedef struct ngx_command_s ngx_command_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20 typedef struct ngx_file_s ngx_file_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21 typedef struct ngx_event_s ngx_event_t;
518
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
22 typedef struct ngx_event_aio_s ngx_event_aio_t;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23 typedef struct ngx_connection_s ngx_connection_t;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25 typedef void (*ngx_event_handler_pt)(ngx_event_t *ev);
96
ca4f70b3ccc6 nginx 0.2.2
Igor Sysoev <http://sysoev.ru>
parents: 56
diff changeset
26 typedef void (*ngx_connection_handler_pt)(ngx_connection_t *c);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
27
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29 #define NGX_OK 0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
30 #define NGX_ERROR -1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
31 #define NGX_AGAIN -2
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32 #define NGX_BUSY -3
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33 #define NGX_DONE -4
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34 #define NGX_DECLINED -5
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 #define NGX_ABORT -6
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
36
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
37
108
cf3d6edb3ad6 nginx 0.3.1
Igor Sysoev <http://sysoev.ru>
parents: 106
diff changeset
38 #include <ngx_errno.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
39 #include <ngx_atomic.h>
108
cf3d6edb3ad6 nginx 0.3.1
Igor Sysoev <http://sysoev.ru>
parents: 106
diff changeset
40 #include <ngx_thread.h>
106
45f7329b4bd0 nginx 0.3.0
Igor Sysoev <http://sysoev.ru>
parents: 96
diff changeset
41 #include <ngx_rbtree.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42 #include <ngx_time.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43 #include <ngx_socket.h>
406
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 348
diff changeset
44 #include <ngx_string.h>
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 348
diff changeset
45 #include <ngx_files.h>
154
bb61aa162c6b nginx 0.3.24
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
46 #include <ngx_shmem.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47 #include <ngx_process.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48 #include <ngx_user.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 #include <ngx_parse.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50 #include <ngx_log.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
51 #include <ngx_alloc.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
52 #include <ngx_palloc.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
53 #include <ngx_buf.h>
348
e10168d6e371 nginx 0.6.18
Igor Sysoev <http://sysoev.ru>
parents: 332
diff changeset
54 #include <ngx_queue.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
55 #include <ngx_array.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
56 #include <ngx_list.h>
56
3050baa54a26 nginx 0.1.28
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
57 #include <ngx_hash.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
58 #include <ngx_file.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
59 #include <ngx_crc.h>
250
fbf2b2f66c9f nginx 0.4.10
Igor Sysoev <http://sysoev.ru>
parents: 200
diff changeset
60 #include <ngx_crc32.h>
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
61 #if (NGX_PCRE)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62 #include <ngx_regex.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63 #endif
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
64 #include <ngx_radix_tree.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
65 #include <ngx_times.h>
160
73e8476f9142 nginx 0.3.27
Igor Sysoev <http://sysoev.ru>
parents: 154
diff changeset
66 #include <ngx_shmtx.h>
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 252
diff changeset
67 #include <ngx_slab.h>
272
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 260
diff changeset
68 #include <ngx_inet.h>
29a6403156b0 nginx 0.5.6
Igor Sysoev <http://sysoev.ru>
parents: 260
diff changeset
69 #include <ngx_cycle.h>
200
d2ae1c9f1fd3 nginx 0.3.47
Igor Sysoev <http://sysoev.ru>
parents: 160
diff changeset
70 #if (NGX_OPENSSL)
d2ae1c9f1fd3 nginx 0.3.47
Igor Sysoev <http://sysoev.ru>
parents: 160
diff changeset
71 #include <ngx_event_openssl.h>
d2ae1c9f1fd3 nginx 0.3.47
Igor Sysoev <http://sysoev.ru>
parents: 160
diff changeset
72 #endif
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
73 #include <ngx_process_cycle.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
74 #include <ngx_conf_file.h>
348
e10168d6e371 nginx 0.6.18
Igor Sysoev <http://sysoev.ru>
parents: 332
diff changeset
75 #include <ngx_resolver.h>
332
3a91bfeffaba nginx 0.6.10
Igor Sysoev <http://sysoev.ru>
parents: 272
diff changeset
76 #include <ngx_open_file_cache.h>
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
77 #include <ngx_os.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
78 #include <ngx_connection.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
79
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
80
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
81 #define LF (u_char) 10
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
82 #define CR (u_char) 13
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
83 #define CRLF "\x0d\x0a"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
84
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
85
546
e19e5f542878 nginx 0.8.25
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
86 #define ngx_abs(value) (((value) >= 0) ? (value) : - (value))
e19e5f542878 nginx 0.8.25
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
87 #define ngx_max(val1, val2) ((val1 < val2) ? (val2) : (val1))
e19e5f542878 nginx 0.8.25
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
88 #define ngx_min(val1, val2) ((val1 > val2) ? (val2) : (val1))
106
45f7329b4bd0 nginx 0.3.0
Igor Sysoev <http://sysoev.ru>
parents: 96
diff changeset
89
160
73e8476f9142 nginx 0.3.27
Igor Sysoev <http://sysoev.ru>
parents: 154
diff changeset
90 void ngx_cpuinfo(void);
73e8476f9142 nginx 0.3.27
Igor Sysoev <http://sysoev.ru>
parents: 154
diff changeset
91
106
45f7329b4bd0 nginx 0.3.0
Igor Sysoev <http://sysoev.ru>
parents: 96
diff changeset
92
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
93 #endif /* _NGX_CORE_H_INCLUDED_ */