Mercurial > hg > nginx
annotate src/os/win32/ngx_win32_config.h @ 8971:1e2f4e9c8195 quic
QUIC: reworked migration handling.
The quic connection now holds active, backup and probe paths instead
of sockets. The number of migration paths is now limited and cannot
be inflated by a bad client or an attacker.
The client id is now associated with path rather than socket. This allows
to simplify processing of output and connection ids handling.
New migration abandons any previously started migrations. This allows to
free consumed client ids and request new for use in future migrations and
make progress in case when connection id limit is hit during migration.
A path now can be revalidated without losing its state.
The patch also fixes various issues with NAT rebinding case handling:
- paths are now validated (previously, there was no validation
and paths were left in limited state)
- attempt to reuse id on different path is now again verified
(this was broken in 40445fc7c403)
- former path is now validated in case of apparent migration
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Wed, 19 Jan 2022 22:39:24 +0300 |
parents | efd71d49bde0 |
children | d1aa8cc3e387 |
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:
419
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:
419
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 | 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:
419
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:
419
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:
419
diff
changeset
|
7 |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #ifndef _NGX_WIN32_CONFIG_H_INCLUDED_ |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 #define _NGX_WIN32_CONFIG_H_INCLUDED_ |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
5360
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5359
diff
changeset
|
12 #undef WIN32 |
563 | 13 #define WIN32 0x0400 |
4218
a10354495767
Recent SDKs allow to build IPV6 only for Windows XP or above.
Igor Sysoev <igor@sysoev.ru>
parents:
3672
diff
changeset
|
14 #define _WIN32_WINNT 0x0501 |
563 | 15 |
16 | |
186
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
17 #define STRICT |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
18 #define WIN32_LEAN_AND_MEAN |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
19 |
1641
25e2db857b66
enable getenv() and gmtime() in msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
1377
diff
changeset
|
20 /* enable getenv() and gmtime() in msvc8 */ |
25e2db857b66
enable getenv() and gmtime() in msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
1377
diff
changeset
|
21 #define _CRT_SECURE_NO_WARNINGS |
4778
a48031f7a69c
Win32: fixed build with Visual Studio 2005 Express.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4572
diff
changeset
|
22 #define _CRT_SECURE_NO_DEPRECATE |
1641
25e2db857b66
enable getenv() and gmtime() in msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
1377
diff
changeset
|
23 |
6230
2a621245f4cf
Win32: MSVC 2015 compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6113
diff
changeset
|
24 /* enable gethostbyname() in msvc2015 */ |
2a621245f4cf
Win32: MSVC 2015 compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6113
diff
changeset
|
25 #if !(NGX_HAVE_INET6) |
2a621245f4cf
Win32: MSVC 2015 compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6113
diff
changeset
|
26 #define _WINSOCK_DEPRECATED_NO_WARNINGS |
2a621245f4cf
Win32: MSVC 2015 compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6113
diff
changeset
|
27 #endif |
2a621245f4cf
Win32: MSVC 2015 compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6113
diff
changeset
|
28 |
186
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
29 /* |
4572
67653855682e
Fixed spelling in multiline C comments.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
30 * we need to include <windows.h> explicitly before <winsock2.h> because |
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:
419
diff
changeset
|
31 * the warning 4201 is enabled in <windows.h> |
186
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
32 */ |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
33 #include <windows.h> |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
34 |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
35 #ifdef _MSC_VER |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
36 #pragma warning(disable:4201) |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
37 #endif |
119
cd54bcbaf3b5
nginx-0.0.1-2003-07-21-01:15:59 import
Igor Sysoev <igor@sysoev.ru>
parents:
93
diff
changeset
|
38 |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
39 #include <winsock2.h> |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2387
diff
changeset
|
40 #include <ws2tcpip.h> /* ipv6 */ |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
41 #include <mswsock.h> |
461 | 42 #include <shellapi.h> |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
186
diff
changeset
|
43 #include <stddef.h> /* offsetof() */ |
5360
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5359
diff
changeset
|
44 |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
45 #ifdef __MINGW64_VERSION_MAJOR |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
46 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
47 /* GCC MinGW-w64 supports _FILE_OFFSET_BITS */ |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
48 #define _FILE_OFFSET_BITS 64 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
49 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
50 #elif defined __GNUC__ |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
51 |
5360
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5359
diff
changeset
|
52 /* GCC MinGW's stdio.h includes sys/types.h */ |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5359
diff
changeset
|
53 #define _OFF_T_ |
6856
28a8497bf39c
Win32: fixed building with newer versions of MinGW GCC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6230
diff
changeset
|
54 #define __have_typedef_off_t |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
55 |
5360
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5359
diff
changeset
|
56 #endif |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5359
diff
changeset
|
57 |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
58 #include <stdio.h> |
123
b75602822f64
nginx-0.0.1-2003-07-24-00:01:29 import
Igor Sysoev <igor@sysoev.ru>
parents:
119
diff
changeset
|
59 #include <stdlib.h> |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
60 #include <stdarg.h> |
6857
26d88ec9baf4
Win32: stdint.h used for MinGW GCC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6856
diff
changeset
|
61 #ifdef __GNUC__ |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
62 #include <stdint.h> |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
63 #endif |
5389
72e31d88defa
Added ngx_filename_cmp() with "/" sorted to the left.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5360
diff
changeset
|
64 #include <ctype.h> |
3458
bdcae1a576e3
compare long file names in case-insensitive mode,
Igor Sysoev <igor@sysoev.ru>
parents:
2512
diff
changeset
|
65 #include <locale.h> |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
66 |
509 | 67 #ifdef __WATCOMC__ |
68 #define _TIME_T_DEFINED | |
69 typedef long time_t; | |
70 /* OpenWatcom defines time_t as "unsigned long" */ | |
71 #endif | |
72 | |
73 #include <time.h> /* localtime(), strftime() */ | |
74 | |
455 | 75 |
186
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
76 #ifdef _MSC_VER |
455 | 77 |
78 /* the end of the precompiled headers */ | |
79 #pragma hdrstop | |
80 | |
186
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
81 #pragma warning(default:4201) |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
82 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
83 /* disable some "-W4" level warnings */ |
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
84 |
499 | 85 /* 'type cast': from function pointer to data pointer */ |
302
1526e7686b20
nginx-0.0.3-2004-04-01-10:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
86 #pragma warning(disable:4054) |
499 | 87 |
88 /* 'type cast': from data pointer to function pointer */ | |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
89 #pragma warning(disable:4055) |
363
f2755a2885c8
nginx-0.0.7-2004-06-21-23:22:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
302
diff
changeset
|
90 |
6862
abb0a4189cf7
Win32: compatiblity with OpenSSL 1.1.0.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6861
diff
changeset
|
91 /* 'function' : different 'const' qualifiers */ |
abb0a4189cf7
Win32: compatiblity with OpenSSL 1.1.0.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6861
diff
changeset
|
92 #pragma warning(disable:4090) |
abb0a4189cf7
Win32: compatiblity with OpenSSL 1.1.0.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6861
diff
changeset
|
93 |
186
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
94 /* unreferenced formal parameter */ |
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
95 #pragma warning(disable:4100) |
363
f2755a2885c8
nginx-0.0.7-2004-06-21-23:22:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
302
diff
changeset
|
96 |
501 | 97 /* FD_SET() and FD_CLR(): conditional expression is constant */ |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
98 #pragma warning(disable:4127) |
363
f2755a2885c8
nginx-0.0.7-2004-06-21-23:22:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
302
diff
changeset
|
99 |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
100 /* conversion from 'type1' to 'type2', possible loss of data */ |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
101 #pragma warning(disable:4244) |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
102 |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
103 /* conversion from 'size_t' to 'type', possible loss of data */ |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
104 #pragma warning(disable:4267) |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
105 |
5120
7956af6b6a02
Win32: disabled MSVC warning about '\0' not fitting into array.
Valentin Bartenev <vbart@nginx.com>
parents:
4971
diff
changeset
|
106 /* array is too small to include a terminating null character */ |
7956af6b6a02
Win32: disabled MSVC warning about '\0' not fitting into array.
Valentin Bartenev <vbart@nginx.com>
parents:
4971
diff
changeset
|
107 #pragma warning(disable:4295) |
7956af6b6a02
Win32: disabled MSVC warning about '\0' not fitting into array.
Valentin Bartenev <vbart@nginx.com>
parents:
4971
diff
changeset
|
108 |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
280
diff
changeset
|
109 #endif |
186
c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
110 |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
111 |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
112 #ifdef __WATCOMC__ |
499 | 113 |
114 /* symbol 'ngx_rbtree_min' has been defined, but not referenced */ | |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
115 #pragma disable_message(202) |
499 | 116 |
280
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
117 #endif |
7c7183b3ea8b
nginx-0.0.2-2004-03-05-11:34:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
118 |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
119 |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
120 #ifdef __BORLANDC__ |
499 | 121 |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
122 /* the end of the precompiled headers */ |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
123 #pragma hdrstop |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
124 |
499 | 125 /* functions containing (for|while|some if) are not expanded inline */ |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
126 #pragma warn -8027 |
499 | 127 |
128 /* unreferenced formal parameter */ | |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
129 #pragma warn -8057 |
499 | 130 |
6860
f18c285c2e59
Win32: fixed some warnings reported by Borland C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6859
diff
changeset
|
131 /* suspicious pointer arithmetic */ |
f18c285c2e59
Win32: fixed some warnings reported by Borland C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6859
diff
changeset
|
132 #pragma warn -8072 |
f18c285c2e59
Win32: fixed some warnings reported by Borland C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6859
diff
changeset
|
133 |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
134 #endif |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
135 |
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
294
diff
changeset
|
136 |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
137 #include <ngx_auto_config.h> |
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
138 |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
139 |
785 | 140 #define ngx_inline __inline |
141 #define ngx_cdecl __cdecl | |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
142 |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
143 |
279
b79f021a644a
nginx-0.0.2-2004-03-04-19:34:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
278
diff
changeset
|
144 #ifdef _MSC_VER |
785 | 145 typedef unsigned __int32 uint32_t; |
146 typedef __int32 int32_t; | |
147 typedef unsigned __int16 uint16_t; | |
148 #define ngx_libc_cdecl __cdecl | |
499 | 149 |
785 | 150 #elif defined __BORLANDC__ |
151 typedef unsigned __int32 uint32_t; | |
152 typedef __int32 int32_t; | |
153 typedef unsigned __int16 uint16_t; | |
154 #define ngx_libc_cdecl __cdecl | |
155 | |
156 #else /* __WATCOMC__ */ | |
157 typedef unsigned int uint32_t; | |
158 typedef int int32_t; | |
159 typedef unsigned short int uint16_t; | |
503 | 160 #define ngx_libc_cdecl |
161 | |
176
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
144
diff
changeset
|
162 #endif |
278
0ba4821f4460
nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
163 |
785 | 164 typedef __int64 int64_t; |
165 typedef unsigned __int64 uint64_t; | |
5358
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
166 |
6858
f39ceadf0441
Win32: minimized redefinition of intptr_t/uintptr_t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6857
diff
changeset
|
167 #if __BORLANDC__ |
1354
f69d1aab6a0f
make 64-bit ngx_int_t on 64-bit platforms
Igor Sysoev <igor@sysoev.ru>
parents:
1025
diff
changeset
|
168 typedef int intptr_t; |
785 | 169 typedef u_int uintptr_t; |
5358
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
170 #endif |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
171 |
176
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
144
diff
changeset
|
172 |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
173 #ifndef __MINGW64_VERSION_MAJOR |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
174 |
4219
691133126226
Fixing conflict with SDK off_t definition.
Igor Sysoev <igor@sysoev.ru>
parents:
4218
diff
changeset
|
175 /* Windows defines off_t as long, which is 32-bit */ |
691133126226
Fixing conflict with SDK off_t definition.
Igor Sysoev <igor@sysoev.ru>
parents:
4218
diff
changeset
|
176 typedef __int64 off_t; |
691133126226
Fixing conflict with SDK off_t definition.
Igor Sysoev <igor@sysoev.ru>
parents:
4218
diff
changeset
|
177 #define _OFF_T_DEFINED |
691133126226
Fixing conflict with SDK off_t definition.
Igor Sysoev <igor@sysoev.ru>
parents:
4218
diff
changeset
|
178 |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
179 #endif |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
180 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
181 |
5358
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
182 #ifdef __WATCOMC__ |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
183 |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
184 /* off_t is redefined by sys/types.h used by zlib.h */ |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
185 #define __TYPES_H_INCLUDED |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
186 typedef int dev_t; |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
187 typedef unsigned int ino_t; |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
188 |
5359
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
189 #elif __BORLANDC__ |
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
190 |
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
191 /* off_t is redefined by sys/types.h used by zlib.h */ |
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
192 #define __TYPES_H |
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
193 |
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
194 typedef int dev_t; |
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
195 typedef unsigned int ino_t; |
2fda9065d0f4
Win32: Borland C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5358
diff
changeset
|
196 |
5358
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
197 #endif |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
198 |
670ceaba03d8
Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5262
diff
changeset
|
199 |
6859
38df52d4e250
Win32: minimized redefinition of ssize_t.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6858
diff
changeset
|
200 #ifndef __GNUC__ |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
201 #ifdef _WIN64 |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
202 typedef __int64 ssize_t; |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
203 #else |
785 | 204 typedef int ssize_t; |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
205 #endif |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6860
diff
changeset
|
206 #endif |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
207 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
208 |
785 | 209 typedef uint32_t in_addr_t; |
210 typedef u_short in_port_t; | |
211 typedef int sig_atomic_t; | |
176
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
144
diff
changeset
|
212 |
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
144
diff
changeset
|
213 |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
214 #ifdef _WIN64 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
215 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
216 #define NGX_PTR_SIZE 8 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
217 #define NGX_SIZE_T_LEN (sizeof("-9223372036854775808") - 1) |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
218 #define NGX_MAX_SIZE_T_VALUE 9223372036854775807 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
219 #define NGX_TIME_T_LEN (sizeof("-9223372036854775808") - 1) |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
220 #define NGX_TIME_T_SIZE 8 |
6008
b92d5a26d55f
Core: expose maximum values of time_t and ngx_int_t.
Ruslan Ermilov <ru@nginx.com>
parents:
5886
diff
changeset
|
221 #define NGX_MAX_TIME_T_VALUE 9223372036854775807 |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
222 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
223 #else |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
224 |
613 | 225 #define NGX_PTR_SIZE 4 |
5262 | 226 #define NGX_SIZE_T_LEN (sizeof("-2147483648") - 1) |
1025 | 227 #define NGX_MAX_SIZE_T_VALUE 2147483647 |
5262 | 228 #define NGX_TIME_T_LEN (sizeof("-2147483648") - 1) |
477 | 229 #define NGX_TIME_T_SIZE 4 |
6008
b92d5a26d55f
Core: expose maximum values of time_t and ngx_int_t.
Ruslan Ermilov <ru@nginx.com>
parents:
5886
diff
changeset
|
230 #define NGX_MAX_TIME_T_VALUE 2147483647 |
5886
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
231 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
232 #endif |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
233 |
5d4e4619982f
Win32: made build-able with MinGW-w64 gcc.
Kouhei Sutou <kou@cozmixng.org>
parents:
5389
diff
changeset
|
234 |
5262 | 235 #define NGX_OFF_T_LEN (sizeof("-9223372036854775807") - 1) |
477 | 236 #define NGX_MAX_OFF_T_VALUE 9223372036854775807 |
237 #define NGX_SIG_ATOMIC_T_SIZE 4 | |
238 | |
581 | 239 |
469 | 240 #define NGX_HAVE_LITTLE_ENDIAN 1 |
479 | 241 #define NGX_HAVE_NONALIGNED 1 |
469 | 242 |
461 | 243 |
244 #define NGX_WIN_NT 200000 | |
176
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
144
diff
changeset
|
245 |
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
144
diff
changeset
|
246 |
1377
0d57c150115b
set default listen() backlog to 511 on all platforms except FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents:
1354
diff
changeset
|
247 #define NGX_LISTEN_BACKLOG 511 |
0d57c150115b
set default listen() backlog to 511 on all platforms except FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents:
1354
diff
changeset
|
248 |
0d57c150115b
set default listen() backlog to 511 on all platforms except FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents:
1354
diff
changeset
|
249 |
469 | 250 #ifndef NGX_HAVE_INHERITED_NONBLOCK |
251 #define NGX_HAVE_INHERITED_NONBLOCK 1 | |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
252 #endif |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
253 |
5389
72e31d88defa
Added ngx_filename_cmp() with "/" sorted to the left.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5360
diff
changeset
|
254 #ifndef NGX_HAVE_CASELESS_FILESYSTEM |
72e31d88defa
Added ngx_filename_cmp() with "/" sorted to the left.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5360
diff
changeset
|
255 #define NGX_HAVE_CASELESS_FILESYSTEM 1 |
72e31d88defa
Added ngx_filename_cmp() with "/" sorted to the left.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5360
diff
changeset
|
256 #endif |
72e31d88defa
Added ngx_filename_cmp() with "/" sorted to the left.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5360
diff
changeset
|
257 |
469 | 258 #ifndef NGX_HAVE_WIN32_TRANSMITPACKETS |
259 #define NGX_HAVE_WIN32_TRANSMITPACKETS 1 | |
260 #define NGX_HAVE_WIN32_TRANSMITFILE 0 | |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
261 #endif |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
262 |
469 | 263 #ifndef NGX_HAVE_WIN32_TRANSMITFILE |
264 #define NGX_HAVE_WIN32_TRANSMITFILE 1 | |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
265 #endif |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
266 |
469 | 267 #if (NGX_HAVE_WIN32_TRANSMITPACKETS) || (NGX_HAVE_WIN32_TRANSMITFILE) |
268 #define NGX_HAVE_SENDFILE 1 | |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
269 #endif |
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
270 |
473 | 271 #ifndef NGX_HAVE_SO_SNDLOWAT |
272 /* setsockopt(SO_SNDLOWAT) returns error WSAENOPROTOOPT */ | |
273 #define NGX_HAVE_SO_SNDLOWAT 0 | |
274 #endif | |
275 | |
7583
efd71d49bde0
Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents:
6862
diff
changeset
|
276 #ifndef NGX_HAVE_FIONREAD |
efd71d49bde0
Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents:
6862
diff
changeset
|
277 #define NGX_HAVE_FIONREAD 1 |
efd71d49bde0
Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents:
6862
diff
changeset
|
278 #endif |
efd71d49bde0
Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents:
6862
diff
changeset
|
279 |
4971
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4778
diff
changeset
|
280 #define NGX_HAVE_GETADDRINFO 1 |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
281 |
800 | 282 #define ngx_random rand |
4223
1b779cb69dc8
malloc() debugging on MacOSX.
Igor Sysoev <igor@sysoev.ru>
parents:
4219
diff
changeset
|
283 #define ngx_debug_init() |
800 | 284 |
285 | |
93
738fe44c70d5
nginx-0.0.1-2003-05-21-17:28:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
286 #endif /* _NGX_WIN32_CONFIG_H_INCLUDED_ */ |