summaryrefslogtreecommitdiffhomepage
path: root/auto/sockets
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2017-01-17 20:00:00 +0300
committerIgor Sysoev <igor@sysoev.ru>2017-01-17 20:00:00 +0300
commit16cbf3c076a0aca6d47adaf3f719493674cf2363 (patch)
treee6530480020f62a2bdbf249988ec3e2a751d3927 /auto/sockets
downloadunit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.gz
unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.bz2
Initial version.
Diffstat (limited to 'auto/sockets')
-rw-r--r--auto/sockets233
1 files changed, 233 insertions, 0 deletions
diff --git a/auto/sockets b/auto/sockets
new file mode 100644
index 00000000..c8d1173e
--- /dev/null
+++ b/auto/sockets
@@ -0,0 +1,233 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) NGINX, Inc.
+
+
+if [ $NXT_INET6 = YES ]; then
+
+ nxt_feature="AF_INET6"
+ nxt_feature_name=NXT_INET6
+ nxt_feature_run=
+ nxt_feature_incs=
+ nxt_feature_libs=
+ nxt_feature_test="#include <stdio.h>
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
+
+ int main() {
+ struct sockaddr_in6 sin6;
+
+ sin6.sin6_family = AF_INET6;
+ printf(\"%d\", sin6.sin6_family);
+ return 0;
+ }"
+ . auto/feature
+fi
+
+
+# FreeBSD, MacOSX, NetBSD, OpenBSD.
+
+nxt_feature="sockaddr.sa_len"
+nxt_feature_name=NXT_SOCKADDR_SA_LEN
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/socket.h>
+
+ int main() {
+ struct sockaddr sa;
+
+ sa.sa_len = 0;
+ printf(\"%d\", sa.sa_len);
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="struct sockaddr size"
+nxt_feature_name=NXT_HAVE_SOCKADDR
+nxt_feature_run=value
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/socket.h>
+
+ int main() {
+ printf(\"%d\", (int) sizeof(struct sockaddr));
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="struct sockaddr_in size"
+nxt_feature_name=NXT_HAVE_SOCKADDR_IN
+nxt_feature_run=value
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
+
+ int main() {
+ printf(\"%d\", (int) sizeof(struct sockaddr_in));
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="struct sockaddr_in6 size"
+nxt_feature_name=NXT_HAVE_SOCKADDR_IN6
+nxt_feature_run=value
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
+
+ int main() {
+ printf(\"%d\", (int) sizeof(struct sockaddr_in6));
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="struct sockaddr_un size"
+nxt_feature_name=NXT_HAVE_SOCKADDR_UN
+nxt_feature_run=value
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
+
+ int main() {
+ printf(\"%d\", (int) sizeof(struct sockaddr_un));
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="struct sockaddr_storage size"
+nxt_feature_name=NXT_HAVE_SOCKADDR_STORAGE
+nxt_feature_run=value
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/socket.h>
+
+ int main() {
+ printf(\"%d\", (int) sizeof(struct sockaddr_storage));
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="socketpair(AF_UNIX, SOCK_SEQPACKET)"
+nxt_feature_name=NXT_HAVE_AF_UNIX_SOCK_SEQPACKET
+nxt_feature_run=yes
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/socket.h>
+
+ int main() {
+ int pair[2];
+
+ if (socketpair(AF_UNIX, SOCK_SEQPACKET, 0, pair) != 0)
+ return 1;
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="struct msghdr.msg_control"
+nxt_feature_name=NXT_HAVE_MSGHDR_MSG_CONTROL
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdio.h>
+ #include <sys/socket.h>
+
+ int main() {
+ struct msghdr msg;
+
+ printf(\"%d\", (int) sizeof(msg.msg_control));
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="sys/filio.h"
+nxt_feature_name=NXT_HAVE_SYS_FILIO_H
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <sys/filio.h>
+
+ int main() {
+ return 0;
+ }"
+. auto/feature
+
+if [ $nxt_found = yes ]; then
+ NXT_SYS_FILIO_H="#include <sys/filio.h>"
+else
+ NXT_SYS_FILIO_H=
+fi
+
+
+nxt_feature="ioctl(FIONBIO)"
+nxt_feature_name=NXT_HAVE_FIONBIO
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <unistd.h>
+ #include <sys/socket.h>
+ $NXT_SYS_FILIO_H
+ #include <sys/ioctl.h>
+
+ int main() {
+ int nb;
+
+ nb = 0;
+ ioctl(-1, FIONBIO, &nb);
+ return 0;
+ }"
+. auto/feature
+
+
+# socket(SOCK_NONBLOCK), Linux 2.6.27/glibc 2.10, NetBSD 6.0, FreeBSD 9.2.
+
+nxt_feature="socket(SOCK_NONBLOCK)"
+nxt_feature_name=NXT_HAVE_SOCK_NONBLOCK
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#define _GNU_SOURCE
+ #include <sys/socket.h>
+
+ int main() {
+ socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
+ return 0;
+ }"
+. auto/feature
+
+
+# accept4(), Linux 2.6.28/glibc 2.10, NetBSD 6.0, FreeBSD 9.2.
+
+nxt_feature="accept4()"
+nxt_feature_name=NXT_HAVE_ACCEPT4
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#define _GNU_SOURCE
+ #include <stdlib.h>
+ #include <sys/socket.h>
+
+ int main() {
+ accept4(0, NULL, NULL, SOCK_NONBLOCK);
+ return 0;
+ }"
+. auto/feature