comparison src/mail/ngx_mail.h @ 6171:f61049c80458

Mail: embed ngx_mail_listen_t into ngx_mail_conf_addr_t.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 08 Jun 2015 23:11:58 +0300
parents bf1655ae9a1c
children 1729d8d3eb3a
comparison
equal deleted inserted replaced
6170:c13091e6292c 6171:f61049c80458
25 void **srv_conf; 25 void **srv_conf;
26 } ngx_mail_conf_ctx_t; 26 } ngx_mail_conf_ctx_t;
27 27
28 28
29 typedef struct { 29 typedef struct {
30 u_char sockaddr[NGX_SOCKADDRLEN]; 30 union {
31 struct sockaddr sockaddr;
32 struct sockaddr_in sockaddr_in;
33 #if (NGX_HAVE_INET6)
34 struct sockaddr_in6 sockaddr_in6;
35 #endif
36 #if (NGX_HAVE_UNIX_DOMAIN)
37 struct sockaddr_un sockaddr_un;
38 #endif
39 u_char sockaddr_data[NGX_SOCKADDRLEN];
40 } u;
41
31 socklen_t socklen; 42 socklen_t socklen;
32 43
33 /* server ctx */ 44 /* server ctx */
34 ngx_mail_conf_ctx_t *ctx; 45 ngx_mail_conf_ctx_t *ctx;
35 46
87 ngx_array_t addrs; /* array of ngx_mail_conf_addr_t */ 98 ngx_array_t addrs; /* array of ngx_mail_conf_addr_t */
88 } ngx_mail_conf_port_t; 99 } ngx_mail_conf_port_t;
89 100
90 101
91 typedef struct { 102 typedef struct {
92 struct sockaddr *sockaddr; 103 ngx_mail_listen_t opt;
93 socklen_t socklen;
94
95 ngx_mail_conf_ctx_t *ctx;
96
97 unsigned bind:1;
98 unsigned wildcard:1;
99 #if (NGX_MAIL_SSL)
100 unsigned ssl:1;
101 #endif
102 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY)
103 unsigned ipv6only:1;
104 #endif
105 unsigned so_keepalive:2;
106 #if (NGX_HAVE_KEEPALIVE_TUNABLE)
107 int tcp_keepidle;
108 int tcp_keepintvl;
109 int tcp_keepcnt;
110 #endif
111 } ngx_mail_conf_addr_t; 104 } ngx_mail_conf_addr_t;
112 105
113 106
114 typedef struct { 107 typedef struct {
115 ngx_array_t servers; /* ngx_mail_core_srv_conf_t */ 108 ngx_array_t servers; /* ngx_mail_core_srv_conf_t */