Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ngx_socket.h
Go to the documentation of this file.
1 
2 /*
3  * Copyright (C) Igor Sysoev
4  * Copyright (C) Nginx, Inc.
5  */
6 
7 
8 #ifndef _NGX_SOCKET_H_INCLUDED_
9 #define _NGX_SOCKET_H_INCLUDED_
10 
11 
12 #include <ngx_config.h>
13 
14 
15 #define NGX_WRITE_SHUTDOWN SHUT_WR
16 
17 typedef int ngx_socket_t;
18 
19 #define ngx_socket socket
20 #define ngx_socket_n "socket()"
21 
22 
23 #if (NGX_HAVE_FIONBIO)
24 
27 
28 #define ngx_nonblocking_n "ioctl(FIONBIO)"
29 #define ngx_blocking_n "ioctl(!FIONBIO)"
30 
31 #else
32 
33 #define ngx_nonblocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK)
34 #define ngx_nonblocking_n "fcntl(O_NONBLOCK)"
35 
36 #define ngx_blocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) & ~O_NONBLOCK)
37 #define ngx_blocking_n "fcntl(!O_NONBLOCK)"
38 
39 #endif
40 
43 
44 #if (NGX_LINUX)
45 
46 #define ngx_tcp_nopush_n "setsockopt(TCP_CORK)"
47 #define ngx_tcp_push_n "setsockopt(!TCP_CORK)"
48 
49 #else
50 
51 #define ngx_tcp_nopush_n "setsockopt(TCP_NOPUSH)"
52 #define ngx_tcp_push_n "setsockopt(!TCP_NOPUSH)"
53 
54 #endif
55 
56 
57 #define ngx_shutdown_socket shutdown
58 #define ngx_shutdown_socket_n "shutdown()"
59 
60 #define ngx_close_socket close
61 #define ngx_close_socket_n "close() socket"
62 
63 
64 #endif /* _NGX_SOCKET_H_INCLUDED_ */