#ifdef WIN32
#include "win32_compat.h"
-#else
+#endif
+
+#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#endif/*WIN32*/
+#endif
#ifdef HAVE_POLL_H
#include <poll.h>
#include <sys/ioctl.h>
#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+
#ifdef HAVE_SYS_FILIO_H
#include <sys/filio.h>
#endif
+
#ifdef HAVE_SYS_SOCKIO_H
#include <sys/sockio.h>
#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <fcntl.h>
+#include <string.h>
+#include <errno.h>
#include <sys/types.h>
#include "libnfs-zdr.h"
#include "libnfs.h"
static int portOfs = 0;
const int firstPort = 512; /* >= 512 according to Sun docs */
const int portCount = IPPORT_RESERVED - firstPort;
- int startOfs = portOfs, port, rc;
+ int startOfs, port, rc;
+ if (portOfs == 0) {
+ portOfs = time(NULL) % 400;
+ }
+ startOfs = portOfs;
do {
rc = -1;
port = htons(firstPort + portOfs);