| |
| /* |
| * Copyright (C) Igor Sysoev |
| */ |
| |
| |
| #ifndef _NGX_SOCKET_H_INCLUDED_ |
| #define _NGX_SOCKET_H_INCLUDED_ |
| |
| |
| #include <ngx_config.h> |
| |
| |
| #define NGX_WRITE_SHUTDOWN SHUT_WR |
| |
| typedef int ngx_socket_t; |
| |
| #define ngx_socket(af, type, proto, flags) socket(af, type, proto) |
| #define ngx_socket_n "socket()" |
| |
| |
| #if (HAVE_FIONBIO) |
| |
| int ngx_nonblocking(ngx_socket_t s); |
| int ngx_blocking(ngx_socket_t s); |
| |
| #define ngx_nonblocking_n "ioctl(FIONBIO)" |
| #define ngx_blocking_n "ioctl(!FIONBIO)" |
| |
| #else |
| |
| #define ngx_nonblocking(s) fcntl(s, F_SETFL, O_NONBLOCK) |
| #define ngx_nonblocking_n "fcntl(O_NONBLOCK)" |
| |
| #endif |
| |
| int ngx_tcp_nopush(ngx_socket_t s); |
| int ngx_tcp_push(ngx_socket_t s); |
| |
| #if (NGX_LINUX) |
| |
| #define ngx_tcp_nopush_n "setsockopt(TCP_CORK)" |
| #define ngx_tcp_push_n "setsockopt(!TCP_CORK)" |
| |
| #else |
| |
| #define ngx_tcp_nopush_n "setsockopt(TCP_NOPUSH)" |
| #define ngx_tcp_push_n "setsockopt(!TCP_NOPUSH)" |
| |
| #endif |
| |
| |
| #define ngx_shutdown_socket shutdown |
| #define ngx_shutdown_socket_n "shutdown()" |
| |
| #define ngx_close_socket close |
| #define ngx_close_socket_n "close()" |
| |
| |
| #endif /* _NGX_SOCKET_H_INCLUDED_ */ |