aboutsummaryrefslogtreecommitdiff
path: root/src/mail/ngx_mail.h
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2015-06-08 23:11:58 +0300
committerRuslan Ermilov <ru@nginx.com>2015-06-08 23:11:58 +0300
commitb72a7b0df39a7dd6c7a8478871b8ca43a49b5ef7 (patch)
tree92f94e0e6402b4ab7f8422f04712be8cee996d2c /src/mail/ngx_mail.h
parentbfbd0aabd4d125f84f2de7d00ec80753fe959497 (diff)
downloadnginx-b72a7b0df39a7dd6c7a8478871b8ca43a49b5ef7.tar.gz
nginx-b72a7b0df39a7dd6c7a8478871b8ca43a49b5ef7.zip
Mail: embed ngx_mail_listen_t into ngx_mail_conf_addr_t.
Diffstat (limited to 'src/mail/ngx_mail.h')
-rw-r--r--src/mail/ngx_mail.h33
1 files changed, 13 insertions, 20 deletions
diff --git a/src/mail/ngx_mail.h b/src/mail/ngx_mail.h
index dd8a23abb..534e89ff7 100644
--- a/src/mail/ngx_mail.h
+++ b/src/mail/ngx_mail.h
@@ -27,7 +27,18 @@ typedef struct {
typedef struct {
- u_char sockaddr[NGX_SOCKADDRLEN];
+ union {
+ struct sockaddr sockaddr;
+ struct sockaddr_in sockaddr_in;
+#if (NGX_HAVE_INET6)
+ struct sockaddr_in6 sockaddr_in6;
+#endif
+#if (NGX_HAVE_UNIX_DOMAIN)
+ struct sockaddr_un sockaddr_un;
+#endif
+ u_char sockaddr_data[NGX_SOCKADDRLEN];
+ } u;
+
socklen_t socklen;
/* server ctx */
@@ -89,25 +100,7 @@ typedef struct {
typedef struct {
- struct sockaddr *sockaddr;
- socklen_t socklen;
-
- ngx_mail_conf_ctx_t *ctx;
-
- unsigned bind:1;
- unsigned wildcard:1;
-#if (NGX_MAIL_SSL)
- unsigned ssl:1;
-#endif
-#if (NGX_HAVE_INET6 && defined IPV6_V6ONLY)
- unsigned ipv6only:1;
-#endif
- unsigned so_keepalive:2;
-#if (NGX_HAVE_KEEPALIVE_TUNABLE)
- int tcp_keepidle;
- int tcp_keepintvl;
- int tcp_keepcnt;
-#endif
+ ngx_mail_listen_t opt;
} ngx_mail_conf_addr_t;