Mercurial > hg > nginx
annotate src/os/unix/ngx_os.h @ 3892:12d8d2f30205
use MurmurHash2 for split_clients, because
its distribution is much better than CRC32's one
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 15 Apr 2011 10:59:57 +0000 |
parents | a1d54c705f38 |
children | 1b779cb69dc8 4919fb357a5d |
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:
417
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:
417
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 |
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:
417
diff
changeset
|
4 */ |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
417
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:
417
diff
changeset
|
6 |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
7 #ifndef _NGX_OS_H_INCLUDED_ |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #define _NGX_OS_H_INCLUDED_ |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 #include <ngx_config.h> |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
12 #include <ngx_core.h> |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
13 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
14 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
15 #define NGX_IO_SENDFILE 1 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
16 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
17 |
393
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
18 typedef ssize_t (*ngx_recv_pt)(ngx_connection_t *c, u_char *buf, size_t size); |
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
19 typedef ssize_t (*ngx_recv_chain_pt)(ngx_connection_t *c, ngx_chain_t *in); |
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
20 typedef ssize_t (*ngx_send_pt)(ngx_connection_t *c, u_char *buf, size_t size); |
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
21 typedef ngx_chain_t *(*ngx_send_chain_pt)(ngx_connection_t *c, ngx_chain_t *in, |
493 | 22 off_t limit); |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
23 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
24 typedef struct { |
393
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
25 ngx_recv_pt recv; |
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
26 ngx_recv_chain_pt recv_chain; |
1689 | 27 ngx_recv_pt udp_recv; |
393
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
28 ngx_send_pt send; |
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
373
diff
changeset
|
29 ngx_send_chain_pt send_chain; |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
393
diff
changeset
|
30 ngx_uint_t flags; |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
31 } ngx_os_io_t; |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
32 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
33 |
515 | 34 void ngx_debug_init(void); |
449
3b1e8c9df9ad
nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
444
diff
changeset
|
35 ngx_int_t ngx_os_init(ngx_log_t *log); |
3b1e8c9df9ad
nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
444
diff
changeset
|
36 void ngx_os_status(ngx_log_t *log); |
539 | 37 ngx_int_t ngx_os_specific_init(ngx_log_t *log); |
38 void ngx_os_specific_status(ngx_log_t *log); | |
449
3b1e8c9df9ad
nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
444
diff
changeset
|
39 ngx_int_t ngx_daemon(ngx_log_t *log); |
2738
ae81441e23f4
implement "-s signal" option for Unix
Igor Sysoev <igor@sysoev.ru>
parents:
2414
diff
changeset
|
40 ngx_int_t ngx_os_signal_process(ngx_cycle_t *cycle, char *sig, ngx_int_t pid); |
184
1bf718ce0dde
nginx-0.0.1-2003-11-14-10:20:34 import
Igor Sysoev <igor@sysoev.ru>
parents:
183
diff
changeset
|
41 |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
42 |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
278
diff
changeset
|
43 ssize_t ngx_unix_recv(ngx_connection_t *c, u_char *buf, size_t size); |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
44 ssize_t ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *entry); |
1689 | 45 ssize_t ngx_udp_unix_recv(ngx_connection_t *c, u_char *buf, size_t size); |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
393
diff
changeset
|
46 ssize_t ngx_unix_send(ngx_connection_t *c, u_char *buf, size_t size); |
362
7650aea1816f
nginx-0.0.7-2004-06-21-19:59:32 import
Igor Sysoev <igor@sysoev.ru>
parents:
292
diff
changeset
|
47 ngx_chain_t *ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, |
493 | 48 off_t limit); |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
49 |
3044
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
50 #if (NGX_HAVE_AIO) |
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
51 ssize_t ngx_aio_read(ngx_connection_t *c, u_char *buf, size_t size); |
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
52 ssize_t ngx_aio_read_chain(ngx_connection_t *c, ngx_chain_t *cl); |
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
53 ssize_t ngx_aio_write(ngx_connection_t *c, u_char *buf, size_t size); |
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
54 ngx_chain_t *ngx_aio_write_chain(ngx_connection_t *c, ngx_chain_t *in, |
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
55 off_t limit); |
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
56 #endif |
a1d54c705f38
*) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents:
2743
diff
changeset
|
57 |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
58 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
59 extern ngx_os_io_t ngx_os_io; |
449
3b1e8c9df9ad
nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
444
diff
changeset
|
60 extern ngx_int_t ngx_ncpu; |
3b1e8c9df9ad
nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents:
444
diff
changeset
|
61 extern ngx_int_t ngx_max_sockets; |
473 | 62 extern ngx_uint_t ngx_inherited_nonblocking; |
63 extern ngx_uint_t ngx_tcp_nodelay_and_tcp_nopush; | |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
64 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
65 |
455 | 66 #if (NGX_FREEBSD) |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
67 #include <ngx_freebsd.h> |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
68 |
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
69 |
455 | 70 #elif (NGX_LINUX) |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
184
diff
changeset
|
71 #include <ngx_linux.h> |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
184
diff
changeset
|
72 |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
184
diff
changeset
|
73 |
455 | 74 #elif (NGX_SOLARIS) |
198
34995c5ec6c4
nginx-0.0.1-2003-11-27-22:01:37 import
Igor Sysoev <igor@sysoev.ru>
parents:
196
diff
changeset
|
75 #include <ngx_solaris.h> |
2128
345a014436d4
*) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents:
1689
diff
changeset
|
76 |
345a014436d4
*) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents:
1689
diff
changeset
|
77 |
345a014436d4
*) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents:
1689
diff
changeset
|
78 #elif (NGX_DARWIN) |
345a014436d4
*) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents:
1689
diff
changeset
|
79 #include <ngx_darwin.h> |
198
34995c5ec6c4
nginx-0.0.1-2003-11-27-22:01:37 import
Igor Sysoev <igor@sysoev.ru>
parents:
196
diff
changeset
|
80 #endif |
34995c5ec6c4
nginx-0.0.1-2003-11-27-22:01:37 import
Igor Sysoev <igor@sysoev.ru>
parents:
196
diff
changeset
|
81 |
34995c5ec6c4
nginx-0.0.1-2003-11-27-22:01:37 import
Igor Sysoev <igor@sysoev.ru>
parents:
196
diff
changeset
|
82 |
183
4c698194c56d
nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
83 #endif /* _NGX_OS_H_INCLUDED_ */ |