- Check if struct sockaddr_un has a sun_len member.
authorWayne Davison <wayned@samba.org>
Fri, 1 Oct 2004 06:51:34 +0000 (06:51 +0000)
committerWayne Davison <wayned@samba.org>
Fri, 1 Oct 2004 06:51:34 +0000 (06:51 +0000)
- Check if mknod() can make a fifo file.
- Check if mknod() can make a socket file.

configure.in

index 47089de..b964efe 100644 (file)
@@ -409,6 +409,15 @@ AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
 #include <netinet/in.h>
 ])
 
+AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
+               [ AC_DEFINE(HAVE_SOCKADDR_UN_LEN, 1, [Do we have sockaddr_un.sun_len?]) ],
+               [],
+               [
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+])
+
 AC_MSG_CHECKING(struct sockaddr_storage)
 AC_TRY_COMPILE([#include <sys/types.h>
 #include <sys/socket.h>],
@@ -625,6 +634,34 @@ if test x"$rsync_cv_REPLACE_INET_ATON" = x"yes"; then
     AC_DEFINE(REPLACE_INET_ATON, 1, [ ])
 fi
 
+AC_CACHE_CHECK([if mknod creates FIFOs],rsync_cv_MKNOD_CREATES_FIFOS,[
+AC_TRY_RUN([
+#include <stdio.h>
+#include <sys/stat.h>
+#include <errno.h>
+main() { int rc, ec; char *fn = "fifo-test";
+unlink(fn); rc = mknod(fn,S_IFIFO,0600); ec = errno; unlink(fn);
+if (rc) {printf("%d %d\n",rc,ec); return ec;}
+return 0;}],
+           rsync_cv_MKNOD_CREATES_FIFOS=yes,rsync_cv_MKNOD_CREATES_FIFOS=no,rsync_cv_MKNOD_CREATES_FIFOS=cross)])
+if test x"$rsync_cv_MKNOD_CREATES_FIFOS" = x"yes"; then
+    AC_DEFINE(MKNOD_CREATES_FIFOS, 1, [Define to 1 if mknod() can create FIFOs.])
+fi
+
+AC_CACHE_CHECK([if mknod creates sockets],rsync_cv_MKNOD_CREATES_SOCKETS,[
+AC_TRY_RUN([
+#include <stdio.h>
+#include <sys/stat.h>
+#include <errno.h>
+main() { int rc, ec; char *fn = "sock-test";
+unlink(fn); rc = mknod(fn,S_IFSOCK,0600); ec = errno; unlink(fn);
+if (rc) {printf("%d %d\n",rc,ec); return ec;}
+return 0;}],
+           rsync_cv_MKNOD_CREATES_SOCKETS=yes,rsync_cv_MKNOD_CREATES_SOCKETS=no,rsync_cv_MKNOD_CREATES_SOCKETS=cross)])
+if test x"$rsync_cv_MKNOD_CREATES_SOCKETS" = x"yes"; then
+    AC_DEFINE(MKNOD_CREATES_SOCKETS, 1, [Define to 1 if mknod() can create sockets.])
+fi
+
 #
 # The following test was mostly taken from the tcl/tk plus patches
 #