annotate src/os/unix/ngx_os.h @ 5882:ec81934727a1

Core: added limit to recv_chain().
author Roman Arutyunyan <arut@nginx.com>
date Tue, 28 Oct 2014 12:29:58 +0300
parents b63e829621ab
children 8e903522c17a
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: 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
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 4223
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: 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
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
7
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #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
9 #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
10
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 #include <ngx_config.h>
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13 #include <ngx_core.h>
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
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 #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
17
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
18
393
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_pt)(ngx_connection_t *c, u_char *buf, size_t size);
5882
ec81934727a1 Core: added limit to recv_chain().
Roman Arutyunyan <arut@nginx.com>
parents: 5854
diff changeset
20 typedef ssize_t (*ngx_recv_chain_pt)(ngx_connection_t *c, ngx_chain_t *in,
ec81934727a1 Core: added limit to recv_chain().
Roman Arutyunyan <arut@nginx.com>
parents: 5854
diff changeset
21 off_t limit);
393
5659d773cfa8 nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 373
diff changeset
22 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
23 typedef ngx_chain_t *(*ngx_send_chain_pt)(ngx_connection_t *c, ngx_chain_t *in,
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
24 off_t limit);
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26 typedef struct {
393
5659d773cfa8 nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 373
diff changeset
27 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
28 ngx_recv_chain_pt recv_chain;
1689
0b592a68aade ngx_udp_recv()
Igor Sysoev <igor@sysoev.ru>
parents: 539
diff changeset
29 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
30 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
31 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
32 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
33 } ngx_os_io_t;
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
35
449
3b1e8c9df9ad nginx-0.1.0-2004-10-04-00:02:06 import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
36 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
37 void ngx_os_status(ngx_log_t *log);
539
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
38 ngx_int_t ngx_os_specific_init(ngx_log_t *log);
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
39 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
40 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
41 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
42
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 278
diff changeset
44 ssize_t ngx_unix_recv(ngx_connection_t *c, u_char *buf, size_t size);
5882
ec81934727a1 Core: added limit to recv_chain().
Roman Arutyunyan <arut@nginx.com>
parents: 5854
diff changeset
45 ssize_t ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *entry, off_t limit);
1689
0b592a68aade ngx_udp_recv()
Igor Sysoev <igor@sysoev.ru>
parents: 539
diff changeset
46 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
47 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
48 ngx_chain_t *ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in,
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
49 off_t limit);
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
50
3044
a1d54c705f38 *) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
51 #if (NGX_HAVE_AIO)
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(ngx_connection_t *c, u_char *buf, size_t size);
5882
ec81934727a1 Core: added limit to recv_chain().
Roman Arutyunyan <arut@nginx.com>
parents: 5854
diff changeset
53 ssize_t ngx_aio_read_chain(ngx_connection_t *c, ngx_chain_t *cl, off_t limit);
3044
a1d54c705f38 *) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
54 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
55 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
56 off_t limit);
a1d54c705f38 *) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
57 #endif
a1d54c705f38 *) move small declarations in appropriate places and delete the surplus
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
58
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59
5854
b63e829621ab Generalized definitions of the number of preallocated iovec's.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
60 #if (IOV_MAX > 64)
b63e829621ab Generalized definitions of the number of preallocated iovec's.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
61 #define NGX_IOVS_PREALLOCATE 64
b63e829621ab Generalized definitions of the number of preallocated iovec's.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
62 #else
b63e829621ab Generalized definitions of the number of preallocated iovec's.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
63 #define NGX_IOVS_PREALLOCATE IOV_MAX
b63e829621ab Generalized definitions of the number of preallocated iovec's.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
64 #endif
b63e829621ab Generalized definitions of the number of preallocated iovec's.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
65
b63e829621ab Generalized definitions of the number of preallocated iovec's.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
66
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
67 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
68 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
69 extern ngx_int_t ngx_max_sockets;
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
70 extern ngx_uint_t ngx_inherited_nonblocking;
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
71 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
72
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
73
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 449
diff changeset
74 #if (NGX_FREEBSD)
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
75 #include <ngx_freebsd.h>
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
76
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
77
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 449
diff changeset
78 #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
79 #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
80
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 184
diff changeset
81
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 449
diff changeset
82 #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
83 #include <ngx_solaris.h>
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1689
diff changeset
84
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1689
diff changeset
85
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1689
diff changeset
86 #elif (NGX_DARWIN)
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 1689
diff changeset
87 #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
88 #endif
34995c5ec6c4 nginx-0.0.1-2003-11-27-22:01:37 import
Igor Sysoev <igor@sysoev.ru>
parents: 196
diff changeset
89
34995c5ec6c4 nginx-0.0.1-2003-11-27-22:01:37 import
Igor Sysoev <igor@sysoev.ru>
parents: 196
diff changeset
90
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
91 #endif /* _NGX_OS_H_INCLUDED_ */