diff -ur lcgdm-1.7.4.4.orig/common/solveln.c lcgdm-1.7.4.4/common/solveln.c
--- lcgdm-1.7.4.4.orig/common/solveln.c 2010-03-29 16:21:47.000000000 +0200
+++ lcgdm-1.7.4.4/common/solveln.c 2010-03-29 20:43:11.089582687 +0200
@@ -19,6 +19,9 @@
#include <sys/param.h>
#endif
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include <string.h>
#if defined(_WIN32)
#include <direct.h>
diff -ur lcgdm-1.7.4.4.orig/config/Imake.tmpl lcgdm-1.7.4.4/config/Imake.tmpl
--- lcgdm-1.7.4.4.orig/config/Imake.tmpl 2010-03-29 16:21:47.000000000 +0200
+++ lcgdm-1.7.4.4/config/Imake.tmpl 2010-03-29 20:43:11.089582687 +0200
@@ -19,7 +19,7 @@
#if hpux
#include <hp.cf>
#endif
-#if linux
+#if defined(__linux__) || defined(__GNU__) || defined(__FreeBSD_kernel__)
#include <linux.cf>
#endif
#if __Lynx__
diff -ur lcgdm-1.7.4.4.orig/config/linux.cf lcgdm-1.7.4.4/config/linux.cf
--- lcgdm-1.7.4.4.orig/config/linux.cf 2010-03-29 16:21:47.000000000 +0200
+++ lcgdm-1.7.4.4/config/linux.cf 2010-03-29 20:43:11.089582687 +0200
@@ -10,7 +10,7 @@
GSOAP_PLATFORM = linux
#define linux 1
#define HasRanlib YES
-CC += -fPIC -D_LARGEFILE64_SOURCE
+CC += -fPIC -D_LARGEFILE64_SOURCE -Dlinux
MTCCFLAGS = -pthread -DCTHREAD_LINUX -D_THREAD_SAFE -D_REENTRANT
MTLDLIBS =
MTLDFLAGS = -pthread
diff -ur lcgdm-1.7.4.4.orig/dpm/dpm.i lcgdm-1.7.4.4/dpm/dpm.i
--- lcgdm-1.7.4.4.orig/dpm/dpm.i 2010-03-29 16:21:44.000000000 +0200
+++ lcgdm-1.7.4.4/dpm/dpm.i 2010-03-29 20:43:11.090794502 +0200
@@ -1530,7 +1530,6 @@
%include "dpm_struct.h"
struct dirent {
long d_ino;
- long d_off;
unsigned short d_reclen;
char d_name[256];
};
diff -ur lcgdm-1.7.4.4.orig/ns/Cns.i lcgdm-1.7.4.4/ns/Cns.i
--- lcgdm-1.7.4.4.orig/ns/Cns.i 2010-03-29 16:21:47.000000000 +0200
+++ lcgdm-1.7.4.4/ns/Cns.i 2010-03-29 20:43:11.090794502 +0200
@@ -182,7 +182,6 @@
struct dirent {
long d_ino;
- long d_off;
unsigned short d_reclen;
char d_name[256];
};
diff -ur lcgdm-1.7.4.4.orig/ns/Cns_readdir.c lcgdm-1.7.4.4/ns/Cns_readdir.c
--- lcgdm-1.7.4.4.orig/ns/Cns_readdir.c 2010-03-29 16:21:47.000000000 +0200
+++ lcgdm-1.7.4.4/ns/Cns_readdir.c 2010-03-29 20:43:11.091794557 +0200
@@ -120,7 +120,7 @@
#endif
while (nbentries--) {
dp->d_ino = 0;
-#if defined(linux) || defined(sgi) || defined(SOLARIS)
+#if defined(__linux__) || defined(sgi) || defined(SOLARIS)
dp->d_off = 0;
#endif
#if defined(_AIX)
@@ -131,7 +131,7 @@
#endif
unmarshall_STRING (rbp, dp->d_name);
n = strlen (dp->d_name);
-#if defined(_AIX) || (defined(__alpha) && defined(__osf__)) || defined(hpux) || defined(__APPLE__)
+#if defined(_AIX) || (defined(__alpha) && defined(__osf__)) || defined(hpux) || defined(__APPLE__) || defined(__GNU__) || defined(__FreeBSD_kernel__)
dp->d_namlen = n;
#endif
dp->d_reclen = ((direntsz + n + 8) / 8) * 8;
@@ -174,10 +174,15 @@
namlen = strlen (dp64->d_name);
dp32 = (struct dirent *) dp64;
dp32->d_ino = dp64->d_ino;
+#if defined(SOLARIS) || defined(__linux__)
dp32->d_off = dp64->d_off;
+#endif
#if defined(linux)
dp32->d_type = dp64->d_type;
#endif
+#if defined(__GNU__) || defined(__FreeBSD_kernel__)
+ dp32->d_namlen = dp64->d_namlen;
+#endif
strcpy (dp32->d_name, dp64->d_name);
dp32->d_reclen = ((&dp32->d_name[0] - (char *) dp32 + namlen + 8) / 8) * 8;
return (dp32);
diff -ur lcgdm-1.7.4.4.orig/ns/lfc.i lcgdm-1.7.4.4/ns/lfc.i
--- lcgdm-1.7.4.4.orig/ns/lfc.i 2010-03-29 16:21:47.000000000 +0200
+++ lcgdm-1.7.4.4/ns/lfc.i 2010-03-29 20:43:11.091794557 +0200
@@ -1339,7 +1339,6 @@
%include "Cns_struct.h"
struct dirent {
long d_ino;
- long d_off;
unsigned short d_reclen;
char d_name[256];
};
diff -ur lcgdm-1.7.4.4.orig/rfio/popen.c lcgdm-1.7.4.4/rfio/popen.c
--- lcgdm-1.7.4.4.orig/rfio/popen.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/popen.c 2010-03-29 20:43:11.092794683 +0200
@@ -23,6 +23,9 @@
#else
#include <sys/param.h> /* For MAXHOSTNAMELEN definition */
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include <stdlib.h>
#include <errno.h>
#include <string.h>
diff -ur lcgdm-1.7.4.4.orig/rfio/readdir.c lcgdm-1.7.4.4/rfio/readdir.c
--- lcgdm-1.7.4.4.orig/rfio/readdir.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/readdir.c 2010-03-29 20:43:11.092794683 +0200
@@ -133,7 +133,7 @@
dirp->offset++;
dirp->dp.dd_loc = dirp->offset;
de->d_reclen = sizeof(struct dirent) + namlen;
-#if !defined(SOLARIS) && !defined(sgi) && !defined(linux)
+#if !defined(SOLARIS) && !defined(sgi) && !defined(__linux__)
de->d_namlen = namlen;
#endif
#ifdef SOLARIS
@@ -165,18 +165,27 @@
struct dirent *de32;
ino_t ino;
short namlen;
+#if defined(SOLARIS) || defined(__linux__)
off_t offset;
+#endif
if ((de32 = rfio_readdir(dirp)) == NULL)
return(NULL);
ino = de32->d_ino;
+#if defined(SOLARIS) || defined(__linux__)
offset = de32->d_off;
+#endif
namlen = strlen(de32->d_name);
de = (struct dirent64 *) de32;
memmove (de->d_name, de32->d_name, namlen + 1);
de->d_ino = ino;
+#if defined(SOLARIS) || defined(__linux__)
de->d_off = offset;
+#endif
+#if defined(__GNU__) || defined(__FreeBSD_kernel__)
+ de->d_namlen = namlen;
+#endif
de->d_reclen = ((&de->d_name[0] - (char *) de + namlen + 8) / 8) * 8;
return(de);
}
diff -ur lcgdm-1.7.4.4.orig/rfio/rename.c lcgdm-1.7.4.4/rfio/rename.c
--- lcgdm-1.7.4.4.orig/rfio/rename.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rename.c 2010-03-29 20:43:11.092794683 +0200
@@ -19,6 +19,9 @@
#else
#include <sys/param.h>
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include "rfio.h" /* Remote File I/O general definitions */
/*
diff -ur lcgdm-1.7.4.4.orig/rfio/rfio_call64.c lcgdm-1.7.4.4/rfio/rfio_call64.c
--- lcgdm-1.7.4.4.orig/rfio/rfio_call64.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rfio_call64.c 2010-03-29 20:43:11.093796974 +0200
@@ -24,6 +24,9 @@
#include <syslog.h> /* System logger */
#include <sys/time.h>
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#if defined(_AIX) || defined(hpux) || defined(SOLARIS) || defined(linux)
#include <signal.h>
#endif
diff -ur lcgdm-1.7.4.4.orig/rfio/rfio_callhandlers.c lcgdm-1.7.4.4/rfio/rfio_callhandlers.c
--- lcgdm-1.7.4.4.orig/rfio/rfio_callhandlers.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rfio_callhandlers.c 2010-03-29 20:43:11.094795284 +0200
@@ -23,6 +23,9 @@
#include <netdb.h>
#include <sys/param.h> /* For MAXHOSTNAMELEN definition */
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include <sys/stat.h>
#if defined(_WIN32)
#define R_OK 4
diff -ur lcgdm-1.7.4.4.orig/rfio/rfio_calls.c lcgdm-1.7.4.4/rfio/rfio_calls.c
--- lcgdm-1.7.4.4.orig/rfio/rfio_calls.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rfio_calls.c 2010-03-29 20:43:11.095794572 +0200
@@ -24,6 +24,9 @@
#include <syslog.h> /* System logger */
#include <sys/time.h>
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#if defined(_AIX) || defined(hpux) || defined(SOLARIS) || defined(linux)
#include <signal.h>
#endif
diff -ur lcgdm-1.7.4.4.orig/rfio/rfio_fcalls.c lcgdm-1.7.4.4/rfio/rfio_fcalls.c
--- lcgdm-1.7.4.4.orig/rfio/rfio_fcalls.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rfio_fcalls.c 2010-03-29 20:43:11.096794488 +0200
@@ -27,6 +27,9 @@
#else
#include <sys/param.h> /* System parameters */
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include <pwd.h>
/*
diff -ur lcgdm-1.7.4.4.orig/rfio/rfio_rdirfdt.c lcgdm-1.7.4.4/rfio/rfio_rdirfdt.c
--- lcgdm-1.7.4.4.orig/rfio/rfio_rdirfdt.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rfio_rdirfdt.c 2010-03-29 20:43:11.096794488 +0200
@@ -15,6 +15,9 @@
#else
#include <sys/param.h> /* For MAXHOSTNAMELEN definition */
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include <stdlib.h>
#include "rfio.h"
#include "rfio_rdirfdt.h"
diff -ur lcgdm-1.7.4.4.orig/rfio/rfio_rfilefdt.c lcgdm-1.7.4.4/rfio/rfio_rfilefdt.c
--- lcgdm-1.7.4.4.orig/rfio/rfio_rfilefdt.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rfio_rfilefdt.c 2010-03-29 20:43:11.097794614 +0200
@@ -15,6 +15,9 @@
#else
#include <sys/param.h> /* For MAXHOSTNAMELEN definition */
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include <stdlib.h>
#include "rfio.h"
#include "rfio_rfilefdt.h"
diff -ur lcgdm-1.7.4.4.orig/rfio/rfio_serv.c lcgdm-1.7.4.4/rfio/rfio_serv.c
--- lcgdm-1.7.4.4.orig/rfio/rfio_serv.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/rfio_serv.c 2010-03-29 20:43:11.097794614 +0200
@@ -37,6 +37,9 @@
#include <sys/time.h> /* time definitions */
#include <sys/param.h> /* System parameters */
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#ifndef _WIN32
#include <sys/wait.h> /* wait, wait3, wait4 (BSD) */
#endif
diff -ur lcgdm-1.7.4.4.orig/rfio/xyopen.c lcgdm-1.7.4.4/rfio/xyopen.c
--- lcgdm-1.7.4.4.orig/rfio/xyopen.c 2010-03-29 16:21:45.000000000 +0200
+++ lcgdm-1.7.4.4/rfio/xyopen.c 2010-03-29 20:43:11.098795298 +0200
@@ -36,6 +36,9 @@
#else
#include <sys/param.h>
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 64
+#endif
#include <errno.h>
#include <string.h>
#include <stdlib.h>