One Level Up
Top Level
src/os/unix/ngx_os.h - nginx-1.7.10
Data types defined
Macros defined
Source code
- #ifndef _NGX_OS_H_INCLUDED_
- #define _NGX_OS_H_INCLUDED_
- #include <ngx_config.h>
- #include <ngx_core.h>
- #define NGX_IO_SENDFILE 1
- typedef ssize_t (*ngx_recv_pt)(ngx_connection_t *c, u_char *buf, size_t size);
- typedef ssize_t (*ngx_recv_chain_pt)(ngx_connection_t *c, ngx_chain_t *in,
- off_t limit);
- typedef ssize_t (*ngx_send_pt)(ngx_connection_t *c, u_char *buf, size_t size);
- typedef ngx_chain_t *(*ngx_send_chain_pt)(ngx_connection_t *c, ngx_chain_t *in,
- off_t limit);
- typedef struct {
- ngx_recv_pt recv;
- ngx_recv_chain_pt recv_chain;
- ngx_recv_pt udp_recv;
- ngx_send_pt send;
- ngx_send_chain_pt send_chain;
- ngx_uint_t flags;
- } ngx_os_io_t;
- ngx_int_t ngx_os_init(ngx_log_t *log);
- void ngx_os_status(ngx_log_t *log);
- ngx_int_t ngx_os_specific_init(ngx_log_t *log);
- void ngx_os_specific_status(ngx_log_t *log);
- ngx_int_t ngx_daemon(ngx_log_t *log);
- ngx_int_t ngx_os_signal_process(ngx_cycle_t *cycle, char *sig, ngx_int_t pid);
- ssize_t ngx_unix_recv(ngx_connection_t *c, u_char *buf, size_t size);
- ssize_t ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *entry, off_t limit);
- ssize_t ngx_udp_unix_recv(ngx_connection_t *c, u_char *buf, size_t size);
- ssize_t ngx_unix_send(ngx_connection_t *c, u_char *buf, size_t size);
- ngx_chain_t *ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in,
- off_t limit);
- #if (NGX_HAVE_AIO)
- ssize_t ngx_aio_read(ngx_connection_t *c, u_char *buf, size_t size);
- ssize_t ngx_aio_read_chain(ngx_connection_t *c, ngx_chain_t *cl, off_t limit);
- ssize_t ngx_aio_write(ngx_connection_t *c, u_char *buf, size_t size);
- ngx_chain_t *ngx_aio_write_chain(ngx_connection_t *c, ngx_chain_t *in,
- off_t limit);
- #endif
- #if (IOV_MAX > 64)
- #define NGX_IOVS_PREALLOCATE 64
- #else
- #define NGX_IOVS_PREALLOCATE IOV_MAX
- #endif
- typedef struct {
- struct iovec *iovs;
- ngx_uint_t count;
- size_t size;
- ngx_uint_t nalloc;
- } ngx_iovec_t;
- ngx_chain_t *ngx_output_chain_to_iovec(ngx_iovec_t *vec, ngx_chain_t *in,
- size_t limit, ngx_log_t *log);
- ssize_t ngx_writev(ngx_connection_t *c, ngx_iovec_t *vec);
- extern ngx_os_io_t ngx_os_io;
- extern ngx_int_t ngx_ncpu;
- extern ngx_int_t ngx_max_sockets;
- extern ngx_uint_t ngx_inherited_nonblocking;
- extern ngx_uint_t ngx_tcp_nodelay_and_tcp_nopush;
- #if (NGX_FREEBSD)
- #include <ngx_freebsd.h>
- #elif (NGX_LINUX)
- #include <ngx_linux.h>
- #elif (NGX_SOLARIS)
- #include <ngx_solaris.h>
- #elif (NGX_DARWIN)
- #include <ngx_darwin.h>
- #endif
- #endif
One Level Up
Top Level