blob: 55629a1a9dfbcab7f32602d58c839b179933bc0b [file] [log] [blame]
Igor Sysoeve0af1b82002-08-16 15:27:03 +00001#ifndef _NGX_SOCKET_H_INCLUDED_
2#define _NGX_SOCKET_H_INCLUDED_
3
4
5#include <ngx_config.h>
Igor Sysoev1c104622003-06-03 15:42:58 +00006#include <ngx_core.h>
7
Igor Sysoeve0af1b82002-08-16 15:27:03 +00008
Igor Sysoev682bf8e2002-09-16 15:01:44 +00009#define NGX_WRITE_SHUTDOWN SD_SEND
10
Igor Sysoeva58e3ca2002-09-02 14:48:24 +000011#define INET_ADDRSTRLEN 16
12
Igor Sysoev2b542382002-08-20 14:48:28 +000013typedef SOCKET ngx_socket_t;
Igor Sysoeva58e3ca2002-09-02 14:48:24 +000014typedef int socklen_t;
Igor Sysoeve0af1b82002-08-16 15:27:03 +000015
Igor Sysoeve0af1b82002-08-16 15:27:03 +000016
Igor Sysoev0ad17c02002-08-26 15:18:19 +000017#define ngx_socket(af, type, proto, flags) \
18 WSASocket(af, type, proto, NULL, 0, flags)
Igor Sysoev239baac2003-06-11 15:28:34 +000019
Igor Sysoev0ad17c02002-08-26 15:18:19 +000020#define ngx_socket_n "WSASocket()"
21
Igor Sysoeva58e3ca2002-09-02 14:48:24 +000022int ngx_nonblocking(ngx_socket_t s);
Igor Sysoev73009772003-02-06 17:21:13 +000023int ngx_blocking(ngx_socket_t s);
24
Igor Sysoev0ad17c02002-08-26 15:18:19 +000025#define ngx_nonblocking_n "ioctlsocket(FIONBIO)"
Igor Sysoev73009772003-02-06 17:21:13 +000026#define ngx_blocking_n "ioctlsocket(!FIONBIO)"
Igor Sysoeve0af1b82002-08-16 15:27:03 +000027
Igor Sysoev682bf8e2002-09-16 15:01:44 +000028#define ngx_shutdown_socket shutdown
29#define ngx_shutdown_socket_n "shutdown()"
30
Igor Sysoev2b542382002-08-20 14:48:28 +000031#define ngx_close_socket closesocket
Igor Sysoev0ad17c02002-08-26 15:18:19 +000032#define ngx_close_socket_n "closesocket()"
Igor Sysoeve0af1b82002-08-16 15:27:03 +000033
34
Igor Sysoev73009772003-02-06 17:21:13 +000035extern LPFN_ACCEPTEX acceptex;
36extern LPFN_GETACCEPTEXSOCKADDRS getacceptexsockaddrs;
37extern LPFN_TRANSMITFILE transmitfile;
38
Igor Sysoeva58e3ca2002-09-02 14:48:24 +000039
Igor Sysoev239baac2003-06-11 15:28:34 +000040ngx_inline int ngx_tcp_push(s) {
41 return 0;
42}
43
44#define ngx_tcp_push_n "tcp_push()"
45
46
Igor Sysoeve0af1b82002-08-16 15:27:03 +000047#endif /* _NGX_SOCKET_H_INCLUDED_ */