/* Define to `int' if <sys/types.h> doesn't define. */
#undef ssize_t
-/* Set if socklen_t is not defined in sys/types.h */
-#undef socklen_t
-
/* Define if you want to use MySQL */
#undef HAVE_MYSQL
#undef HAVE_INET_PTON
#undef HAVE_SOCKLEN_T
+
+#undef HAVE_OLD_SOCKOPT
#undef HAVE_BIGENDIAN
/* Define to `int' if <sys/types.h> doesn't define. */
#undef ssize_t
-/* Set if socklen_t is not defined in sys/types.h */
-#undef socklen_t
-
/* Define if you want to use MySQL */
#undef HAVE_MYSQL
#undef HAVE_SOCKLEN_T
+#undef HAVE_OLD_SOCKOPT
+
#undef HAVE_BIGENDIAN
hostname=`hostname -s`
;;
solaris)
- DISTVER=Solaris
+ DISTVER=`uname -r`
TAPEDRIVE="/dev/rmt/0cbn"
PSCMD="ps -e -o pid,comm"
PFILES="${PFILES} \
platforms/solaris/bacula-fd \
platforms/solaris/bacula-sd \
platforms/solaris/bacula-dir"
+ if test x$DISTVER = x2.6 ; then
+ AC_DEFINE(HAVE_OLD_SOCKOPT)
+ fi
;;
suse)
DISTVER=`cat /etc/SuSE-release |grep VERSION|\
AC_SUBST(DISTNAME)
AC_SUBST(DISTVER)
-
dnl# common parts of the Makefile
MCOMMON=./autoconf/Make.common
AC_SUBST_FILE(MCOMMON)
hostname=`hostname -s`
;;
solaris)
- DISTVER=Solaris
+ DISTVER=`uname -r`
TAPEDRIVE="/dev/rmt/0cbn"
PSCMD="ps -e -o pid,comm"
PFILES="${PFILES} \
platforms/solaris/bacula-fd \
platforms/solaris/bacula-sd \
platforms/solaris/bacula-dir"
+ if test x$DISTVER = x2.6 ; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_OLD_SOCKOPT 1
+EOF
+
+ fi
;;
suse)
DISTVER=`cat /etc/SuSE-release |grep VERSION|\
-
MCOMMON=./autoconf/Make.common
#else
+
/* Not needed on most systems */
#define set_thread_concurrency(x)
#define socklen_t int
#endif
+#ifdef HAVE_OLD_SOCKOPT
+#define sockopt_val_t char *
+#else
+#define sockopt_val_t void *
+#endif
/*
* Receive notification when connection dies.
*/
- if (setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &turnon, sizeof(turnon)) < 0) {
+ if (setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, (sockopt_val_t)&turnon, sizeof(turnon)) < 0) {
Jmsg(jcr, M_WARNING, 0, _("Cannot set SO_KEEPALIVE on socket: %s\n"), strerror(errno));
}
int opt;
opt = IPTOS_THROUGHPUT;
- setsockopt(bs->fd, IPPROTO_IP, IP_TOS, (char *)&opt, sizeof(opt));
+ setsockopt(bs->fd, IPPROTO_IP, IP_TOS, (sockopt_val_t)&opt, sizeof(opt));
#endif
dbuf_size = size;
}
if (rw & BNET_SETBUF_READ) {
while ((dbuf_size > TAPE_BSIZE) &&
- (setsockopt(bs->fd, SOL_SOCKET, SO_RCVBUF, (char *)&dbuf_size, sizeof(dbuf_size)) < 0)) {
+ (setsockopt(bs->fd, SOL_SOCKET, SO_RCVBUF, (sockopt_val_t)&dbuf_size, sizeof(dbuf_size)) < 0)) {
Jmsg1(bs->jcr, M_ERROR, 0, _("sockopt error: %s\n"), strerror(errno));
dbuf_size -= TAPE_BSIZE;
}
dbuf_size = size;
if (rw & BNET_SETBUF_WRITE) {
while ((dbuf_size > TAPE_BSIZE) &&
- (setsockopt(bs->fd, SOL_SOCKET, SO_SNDBUF, (char *)&dbuf_size, sizeof(dbuf_size)) < 0)) {
+ (setsockopt(bs->fd, SOL_SOCKET, SO_SNDBUF, (sockopt_val_t)&dbuf_size, sizeof(dbuf_size)) < 0)) {
Jmsg1(bs->jcr, M_ERROR, 0, _("sockopt error: %s\n"), strerror(errno));
dbuf_size -= TAPE_BSIZE;
}
/*
* Reuse old sockets
*/
- if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &turnon, sizeof(turnon)) < 0) {
+ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (sockopt_val_t)&turnon, sizeof(turnon)) < 0) {
Emsg1(M_WARNING, 0, _("Cannot set SO_REUSEADDR on socket: %s\n"), strerror(errno));
}
/*
* Receive notification when connection dies.
*/
- if (setsockopt(newsockfd, SOL_SOCKET, SO_KEEPALIVE, &turnon, sizeof(turnon)) < 0) {
+ if (setsockopt(newsockfd, SOL_SOCKET, SO_KEEPALIVE, (sockopt_val_t)&turnon, sizeof(turnon)) < 0) {
Emsg1(M_WARNING, 0, _("Cannot set SO_KEEPALIVE on socket: %s\n") , strerror(errno));
}
/*
* Reuse old sockets
*/
- if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &turnon, sizeof(turnon)) < 0) {
+ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (sockopt_val_t)&turnon, sizeof(turnon)) < 0) {
Emsg1(M_WARNING, 0, _("Cannot set SO_REUSEADDR on socket: %s\n") , strerror(errno));
}
/*
* Receive notification when connection dies.
*/
- if (setsockopt(newsockfd, SOL_SOCKET, SO_KEEPALIVE, &turnon, sizeof(turnon)) < 0) {
+ if (setsockopt(newsockfd, SOL_SOCKET, SO_KEEPALIVE, (sockopt_val_t)&turnon, sizeof(turnon)) < 0) {
Emsg1(M_WARNING, 0, _("Cannot set SO_KEEPALIVE on socket: %s\n"), strerror(errno));
}