- Update to 6.5

PR:             110377
Submitted by:   Gerhard Gonter <g.gonter@ieee.org> (maintainer)
This commit is contained in:
Martin Wilke 2007-03-16 20:58:31 +00:00
parent fd68286e2c
commit 4ebca0074e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=187540
22 changed files with 164 additions and 132 deletions

View File

@ -6,16 +6,19 @@
#
PORTNAME= xdd
PORTVERSION= 64
PORTVERSION= 65
CATEGORIES= sysutils
MASTER_SITES= http://www.ioperformance.com/xddversions/
DISTNAME= xdd64.121805
DISTNAME= xdd65.013007
EXTRACT_SUFX= .tgz
MAINTAINER= g.gonter@ieee.org
COMMENT= Tool for measuring and characterizing disk subsystem I/O
WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}
WRKSRC= ${WRKDIR}/${DISTNAME}
PLIST_FILES= bin/xdd bin/timeserver bin/gettime
USE_DOS2UNIX= yes
DOS2UNIX_REGEX= .*\.(c|cpp|h)
.include <bsd.port.pre.mk>

View File

@ -1,3 +1,3 @@
MD5 (xdd64.121805.tar.gz) = 10cc5daeddb3853833f88d20cf6fda3e
SIZE (xdd64.121805.tar.gz) = 1985205
SHA256 (xdd64.121805.tar.gz) = cfa60804145bec2066b494cb47d734ae3d50a4d0344bd1cc5277214cada804df
MD5 (xdd65.013007.tgz) = 02306e65059b48ab012b0bec183bfe87
SIZE (xdd65.013007.tgz) = 1958529
SHA256 (xdd65.013007.tgz) = bc874a4940a1d3c2e4f4640e03da898cb699b4a6ea466db6d401999b025927ab

View File

@ -3,7 +3,7 @@ SHELL = /bin/sh
CC ?= gcc
CFLAGS += -DFreeBSD -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g
PROJECT = xdd
OBJECTS = xdd.o access_pattern.o barrier.o global_time.o initialization.o parse.o pclk.o read_after_write.o results.o ticker.o time_stamp.o
OBJECTS = xdd.o access_pattern.o barrier.o global_time.o initialization.o parse.o pclk.o read_after_write.o results.o ticker.o time_stamp.o verify.o
HEADERS = xdd.h pclk.h ticker.h misc.h
TSOBJECTS = timeserver.o pclk.o ticker.o
GTOBJECTS = gettime.o global_time.o pclk.o ticker.o

View File

@ -1,5 +1,5 @@
--- global_time.c.orig Mon May 29 04:12:29 2006
+++ global_time.c Mon May 29 04:16:36 2006
--- global_time.c.orig Fri Mar 16 06:52:49 2007
+++ global_time.c Fri Mar 16 06:53:39 2007
@@ -42,11 +42,15 @@
#else /* GENERIC_UNIX */
#include <netdb.h>

View File

@ -1,6 +1,6 @@
--- initialization.c.orig Mon May 29 04:17:28 2006
+++ initialization.c Mon May 29 04:18:32 2006
@@ -562,7 +562,7 @@
--- initialization.c.orig Fri Mar 16 06:54:36 2007
+++ initialization.c Fri Mar 16 06:56:05 2007
@@ -628,7 +628,7 @@
* NOTE: This is not supported by all operating systems.
*/
if (p->target_options & RX_SHARED_MEMORY) {
@ -9,7 +9,7 @@
/* In AIX we need to get memory in a shared memory segment to avoid
* the system continually trying to pin each page on every I/O operation */
#if (AIX)
@@ -590,14 +590,14 @@
@@ -656,14 +656,14 @@
fprintf(xgp->errout,"%s: Shared Memory not supported on this OS - using valloc\n",
xgp->progname);
p->target_options &= ~RX_SHARED_MEMORY;
@ -26,7 +26,7 @@
rwbuf = valloc(p->iosize);
#else
rwbuf = malloc(p->iosize);
@@ -684,7 +684,7 @@
@@ -740,7 +740,7 @@
newlim = liret - (PAGESIZE*8);
return;
#else
@ -35,7 +35,7 @@
if (getuid() != 0) {
fprintf(xgp->errout,"(PID %d) %s: You must run as superuser to lock memory for %s\n",
getpid(),xgp->progname, sp);
@@ -833,7 +833,7 @@
@@ -889,7 +889,7 @@
#endif
return;
#else
@ -44,25 +44,25 @@
if (getuid() != 0) {
return;
}
@@ -919,7 +919,7 @@
@@ -974,7 +974,7 @@
if (xgp->global_options & RX_NOPROCLOCK)
return;
#if !(OSX)
-#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX)
+#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX || FreeBSD)
if (getuid() != 0)
fprintf(xgp->errout,"%s: xdd_schedule_options: You must be super user to lock processes\n",xgp->progname);
#endif
@@ -933,7 +933,7 @@
/* reset priority */
@@ -985,7 +985,7 @@
perror("Reason");
}
if (xgp->global_options & RX_MAXPRI) {
-#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX)
+#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX || FreeBSD)
if (getuid() != 0)
fprintf(xgp->errout,"%s: xdd_schedule_options: You must be super user to max priority\n",xgp->progname);
#endif
@@ -1063,7 +1063,7 @@
@@ -1127,7 +1127,7 @@
#endif
#if (IRIX || SOLARIS || HPUX || AIX || ALTIX)
struct stat64 statbuf; /* buffer for file statistics */

View File

@ -1,5 +1,5 @@
--- misc.h.orig Mon May 29 04:04:19 2006
+++ misc.h Mon May 29 04:12:05 2006
--- misc.h.orig Fri Mar 16 06:42:14 2007
+++ misc.h Fri Mar 16 06:43:02 2007
@@ -35,7 +35,7 @@
/* -------- */
/* Includes */

View File

@ -1,6 +1,6 @@
--- parse.c.orig Thu Jun 1 14:48:28 2006
+++ parse.c Thu Jun 1 14:56:44 2006
@@ -697,7 +697,7 @@
--- parse.c.orig Fri Mar 16 07:10:44 2007
+++ parse.c Fri Mar 16 07:11:44 2007
@@ -810,7 +810,7 @@
xddfunc_delay(int32_t argc, char *argv[])
{
xgp->passdelay = atoi(argv[1]);
@ -9,10 +9,10 @@
}
/*----------------------------------------------------------------------------*/
// Delete the target file when complete
@@ -1101,7 +1101,7 @@
@@ -1218,7 +1218,7 @@
xddfunc_maxerrors(int32_t argc, char *argv[])
{
xgp->max_errors = atoi(argv[1]);
xgp->max_errors = atoll(argv[1]);
- return(1);
+ return(2);
}

View File

@ -1,6 +1,6 @@
--- ticker.c.orig Mon May 29 04:23:53 2006
+++ ticker.c Mon May 29 04:24:15 2006
@@ -76,7 +76,7 @@
--- ticker.c.orig Fri Mar 16 07:12:27 2007
+++ ticker.c Fri Mar 16 07:12:55 2007
@@ -75,7 +75,7 @@
return;
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@ -9,7 +9,7 @@
void
ticker_open(tick_t *tickp) {
uint32_t picos;
@@ -161,7 +161,7 @@
@@ -160,7 +160,7 @@
return; /* Ticker not open, or error reading ticker */
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@ -18,7 +18,7 @@
void
ticker_read(tick_t *tickp) {
struct timeval current_time;
@@ -198,7 +198,7 @@
@@ -197,7 +197,7 @@
*
* Close the ticker.
*/

View File

@ -1,5 +1,5 @@
--- ticker.h.orig Mon May 29 04:02:17 2006
+++ ticker.h Mon May 29 04:02:33 2006
--- ticker.h.orig Fri Mar 16 06:44:32 2007
+++ ticker.h Fri Mar 16 06:44:41 2007
@@ -35,7 +35,7 @@
/* Types */
/* ----- */

View File

@ -1,6 +1,6 @@
--- timeserver.c.orig Mon May 29 04:25:26 2006
+++ timeserver.c Mon May 29 04:25:56 2006
@@ -29,9 +29,9 @@
--- timeserver.c.orig Fri Mar 16 07:13:50 2007
+++ timeserver.c Fri Mar 16 07:14:38 2007
@@ -30,9 +30,9 @@
#include <stdarg.h> /* variable arguments stuff */
#include <string.h> /* strrchr(), strerror() */
#include <errno.h> /* errno stuff */
@ -12,7 +12,7 @@
#include <bstring.h>
#endif
#include <limits.h> /* USHRT_MAX */
@@ -57,7 +57,7 @@
@@ -58,7 +58,7 @@
/* ----- */
/* Types */
/* ----- */
@ -21,12 +21,12 @@
/* SGI defines these in <netinet/in.h> */
typedef unsigned long in_addr_t; /* An IP number */
typedef unsigned short in_port_t; /* A port number */
@@ -231,7 +231,7 @@
@@ -225,7 +225,7 @@
#if (IRIX || WIN32)
nd = getdtablehi();
#endif
-#if (LINUX || OSX)
+#if (LINUX || OSX || FreeBSD)
nd = getdtablesize();
#endif
#if (AIX)
nd = sd + 1;
#endif
-#if (SOLARIS || HPUX || OSX)
+#if (SOLARIS || HPUX || OSX || FreeBSD)
nd = FD_SETSIZE;
#endif
for (;;) {

View File

@ -1,6 +1,6 @@
--- xdd.h.orig Mon Dec 19 03:13:28 2005
+++ xdd.h Mon May 29 04:45:14 2006
@@ -46,7 +46,7 @@
--- xdd.h.orig Fri Mar 16 06:35:11 2007
+++ xdd.h Fri Mar 16 07:04:35 2007
@@ -48,7 +48,7 @@
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/times.h>
@ -9,7 +9,7 @@
#include <sys/prctl.h>
#endif
#include <sys/param.h>
@@ -68,6 +68,11 @@
@@ -70,6 +70,11 @@
#include <sys/procset.h>
#include <sys/utsname.h>
#endif
@ -21,7 +21,7 @@
#ifdef AIX
#include <sys/processor.h>
#include <ulimit.h>
@@ -90,7 +95,7 @@
@@ -92,7 +97,7 @@
#include <sys/utsname.h>
#endif
/* for the global clock stuff */
@ -30,7 +30,7 @@
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
@@ -197,7 +202,7 @@
@@ -199,7 +204,7 @@
#ifdef HPUX
typedef unsigned short in_port_t;
#endif
@ -39,21 +39,34 @@
#define MP_MUSTRUN 1 /* ASsign this thread to a specific processor */
#define MP_NPROCS 2 /* return the number of processors on the system */
typedef int sd_t; /* A socket descriptor */
@@ -290,8 +295,13 @@
#define RX_SHARED_MEMORY 0x020000000 /* Use a shared memory segment instead of malloced memmory */
#define RX_VERBOSE 0x040000000 /* Verbose output */
#define RX_SEQUENCED_PATTERN 0x080000000 /* Sequenced Data Pattern in the data buffer */
@@ -291,6 +296,18 @@
#define RX_SHARED_MEMORY (uint64_t) 0x0000000020000000 /* Use a shared memory segment instead of malloced memmory */
#define RX_VERBOSE (uint64_t) 0x0000000040000000 /* Verbose output */
#define RX_SEQUENCED_PATTERN (uint64_t) 0x0000000080000000 /* Sequenced Data Pattern in the data buffer */
+#if (FreeBSD)
+#define RX_NOMEMLOCK 0x100000000LL /* Do not lock memory */
+#define RX_NOPROCLOCK 0x200000000LL /* Do not lock process */
+#define RX_ASCII_PATTERN (uint64_t) 0x0000000100000000LL /* ASCII Data Pattern in the data buffer */
+#define RX_HEX_PATTERN (uint64_t) 0x0000000200000000LL /* HEXIDECIMAL Data Pattern in the data buffer */
+#define RX_SINGLECHAR_PATTERN (uint64_t) 0x0000000400000000LL /* HEXIDECIMAL Data Pattern in the data buffer */
+#define RX_FILE_PATTERN (uint64_t) 0x0000000800000000LL /* Name of file that contains the Data Pattern */
+#define RX_REPLICATE_PATTERN (uint64_t) 0x0000001000000000LL /* Replicate Data Pattern throughout the data buffer */
+#define RX_NOMEMLOCK (uint64_t) 0x0000002000000000LL /* Do not lock memory */
+#define RX_NOPROCLOCK (uint64_t) 0x0000004000000000LL /* Do not lock process */
+#define RX_REOPEN (uint64_t) 0x0000008000000000LL /* Open/Close target on each pass and record time */
+#define RX_CREATE_NEW_FILES (uint64_t) 0x0000010000000000LL /* Create new targets for each pass */
+#define RX_RECREATE (uint64_t) 0x0000020000000000LL /* ReCreate targets for each pass */
+#else
#define RX_NOMEMLOCK 0x100000000 /* Do not lock memory */
#define RX_NOPROCLOCK 0x200000000 /* Do not lock process */
+#endif
#define RX_ASCII_PATTERN (uint64_t) 0x0000000100000000 /* ASCII Data Pattern in the data buffer */
#define RX_HEX_PATTERN (uint64_t) 0x0000000200000000 /* HEXIDECIMAL Data Pattern in the data buffer */
#define RX_SINGLECHAR_PATTERN (uint64_t) 0x0000000400000000 /* HEXIDECIMAL Data Pattern in the data buffer */
@@ -301,6 +318,7 @@
#define RX_REOPEN (uint64_t) 0x0000008000000000 /* Open/Close target on each pass and record time */
#define RX_CREATE_NEW_FILES (uint64_t) 0x0000010000000000 /* Create new targets for each pass */
#define RX_RECREATE (uint64_t) 0x0000020000000000 /* ReCreate targets for each pass */
+#endif /* (FreeBSD) */
/* ts_options bit settings */
#define TS_NORMALIZE 0x00000001 /* Time stamping normalization of output*/
#define TS_ON 0x00000002 /* Time stamping is ON */
@@ -330,14 +340,14 @@
#define TS_NORMALIZE 0x00000001 /* Time stamping normalization of output*/
@@ -340,14 +358,14 @@
/* XXX *//* This needs to be converted to use a config file */
/* Default flag values */
#define DFL_FL_SERVER false /* Client by default */
@ -61,7 +74,7 @@
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || FreeBSD)
#define DFL_FL_ADDR INADDR_ANY /* Any address */ /* server only */
#else /* Windows */
#define DFL_FL_ADDR 0x8065b61b /* crystal 128.101.182.27 */
#define DFL_FL_ADDR 0x8065b61b /* 128.101.182.27 */
#endif
#define DFL_FL_PORT 2000 /* Port to use */
#define DFL_FL_COUNT 10 /* Bounce a hundred times */

View File

@ -6,16 +6,19 @@
#
PORTNAME= xdd
PORTVERSION= 64
PORTVERSION= 65
CATEGORIES= sysutils
MASTER_SITES= http://www.ioperformance.com/xddversions/
DISTNAME= xdd64.121805
DISTNAME= xdd65.013007
EXTRACT_SUFX= .tgz
MAINTAINER= g.gonter@ieee.org
COMMENT= Tool for measuring and characterizing disk subsystem I/O
WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}
WRKSRC= ${WRKDIR}/${DISTNAME}
PLIST_FILES= bin/xdd bin/timeserver bin/gettime
USE_DOS2UNIX= yes
DOS2UNIX_REGEX= .*\.(c|cpp|h)
.include <bsd.port.pre.mk>

View File

@ -1,3 +1,3 @@
MD5 (xdd64.121805.tar.gz) = 10cc5daeddb3853833f88d20cf6fda3e
SIZE (xdd64.121805.tar.gz) = 1985205
SHA256 (xdd64.121805.tar.gz) = cfa60804145bec2066b494cb47d734ae3d50a4d0344bd1cc5277214cada804df
MD5 (xdd65.013007.tgz) = 02306e65059b48ab012b0bec183bfe87
SIZE (xdd65.013007.tgz) = 1958529
SHA256 (xdd65.013007.tgz) = bc874a4940a1d3c2e4f4640e03da898cb699b4a6ea466db6d401999b025927ab

View File

@ -3,7 +3,7 @@ SHELL = /bin/sh
CC ?= gcc
CFLAGS += -DFreeBSD -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g
PROJECT = xdd
OBJECTS = xdd.o access_pattern.o barrier.o global_time.o initialization.o parse.o pclk.o read_after_write.o results.o ticker.o time_stamp.o
OBJECTS = xdd.o access_pattern.o barrier.o global_time.o initialization.o parse.o pclk.o read_after_write.o results.o ticker.o time_stamp.o verify.o
HEADERS = xdd.h pclk.h ticker.h misc.h
TSOBJECTS = timeserver.o pclk.o ticker.o
GTOBJECTS = gettime.o global_time.o pclk.o ticker.o

View File

@ -1,5 +1,5 @@
--- global_time.c.orig Mon May 29 04:12:29 2006
+++ global_time.c Mon May 29 04:16:36 2006
--- global_time.c.orig Fri Mar 16 06:52:49 2007
+++ global_time.c Fri Mar 16 06:53:39 2007
@@ -42,11 +42,15 @@
#else /* GENERIC_UNIX */
#include <netdb.h>

View File

@ -1,6 +1,6 @@
--- initialization.c.orig Mon May 29 04:17:28 2006
+++ initialization.c Mon May 29 04:18:32 2006
@@ -562,7 +562,7 @@
--- initialization.c.orig Fri Mar 16 06:54:36 2007
+++ initialization.c Fri Mar 16 06:56:05 2007
@@ -628,7 +628,7 @@
* NOTE: This is not supported by all operating systems.
*/
if (p->target_options & RX_SHARED_MEMORY) {
@ -9,7 +9,7 @@
/* In AIX we need to get memory in a shared memory segment to avoid
* the system continually trying to pin each page on every I/O operation */
#if (AIX)
@@ -590,14 +590,14 @@
@@ -656,14 +656,14 @@
fprintf(xgp->errout,"%s: Shared Memory not supported on this OS - using valloc\n",
xgp->progname);
p->target_options &= ~RX_SHARED_MEMORY;
@ -26,7 +26,7 @@
rwbuf = valloc(p->iosize);
#else
rwbuf = malloc(p->iosize);
@@ -684,7 +684,7 @@
@@ -740,7 +740,7 @@
newlim = liret - (PAGESIZE*8);
return;
#else
@ -35,7 +35,7 @@
if (getuid() != 0) {
fprintf(xgp->errout,"(PID %d) %s: You must run as superuser to lock memory for %s\n",
getpid(),xgp->progname, sp);
@@ -833,7 +833,7 @@
@@ -889,7 +889,7 @@
#endif
return;
#else
@ -44,25 +44,25 @@
if (getuid() != 0) {
return;
}
@@ -919,7 +919,7 @@
@@ -974,7 +974,7 @@
if (xgp->global_options & RX_NOPROCLOCK)
return;
#if !(OSX)
-#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX)
+#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX || FreeBSD)
if (getuid() != 0)
fprintf(xgp->errout,"%s: xdd_schedule_options: You must be super user to lock processes\n",xgp->progname);
#endif
@@ -933,7 +933,7 @@
/* reset priority */
@@ -985,7 +985,7 @@
perror("Reason");
}
if (xgp->global_options & RX_MAXPRI) {
-#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX)
+#if (IRIX || SOLARIS || HPUX || AIX || LINUX || ALTIX || OSX || FreeBSD)
if (getuid() != 0)
fprintf(xgp->errout,"%s: xdd_schedule_options: You must be super user to max priority\n",xgp->progname);
#endif
@@ -1063,7 +1063,7 @@
@@ -1127,7 +1127,7 @@
#endif
#if (IRIX || SOLARIS || HPUX || AIX || ALTIX)
struct stat64 statbuf; /* buffer for file statistics */

View File

@ -1,5 +1,5 @@
--- misc.h.orig Mon May 29 04:04:19 2006
+++ misc.h Mon May 29 04:12:05 2006
--- misc.h.orig Fri Mar 16 06:42:14 2007
+++ misc.h Fri Mar 16 06:43:02 2007
@@ -35,7 +35,7 @@
/* -------- */
/* Includes */

View File

@ -1,6 +1,6 @@
--- parse.c.orig Thu Jun 1 14:48:28 2006
+++ parse.c Thu Jun 1 14:56:44 2006
@@ -697,7 +697,7 @@
--- parse.c.orig Fri Mar 16 07:10:44 2007
+++ parse.c Fri Mar 16 07:11:44 2007
@@ -810,7 +810,7 @@
xddfunc_delay(int32_t argc, char *argv[])
{
xgp->passdelay = atoi(argv[1]);
@ -9,10 +9,10 @@
}
/*----------------------------------------------------------------------------*/
// Delete the target file when complete
@@ -1101,7 +1101,7 @@
@@ -1218,7 +1218,7 @@
xddfunc_maxerrors(int32_t argc, char *argv[])
{
xgp->max_errors = atoi(argv[1]);
xgp->max_errors = atoll(argv[1]);
- return(1);
+ return(2);
}

View File

@ -1,6 +1,6 @@
--- ticker.c.orig Mon May 29 04:23:53 2006
+++ ticker.c Mon May 29 04:24:15 2006
@@ -76,7 +76,7 @@
--- ticker.c.orig Fri Mar 16 07:12:27 2007
+++ ticker.c Fri Mar 16 07:12:55 2007
@@ -75,7 +75,7 @@
return;
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@ -9,7 +9,7 @@
void
ticker_open(tick_t *tickp) {
uint32_t picos;
@@ -161,7 +161,7 @@
@@ -160,7 +160,7 @@
return; /* Ticker not open, or error reading ticker */
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@ -18,7 +18,7 @@
void
ticker_read(tick_t *tickp) {
struct timeval current_time;
@@ -198,7 +198,7 @@
@@ -197,7 +197,7 @@
*
* Close the ticker.
*/

View File

@ -1,5 +1,5 @@
--- ticker.h.orig Mon May 29 04:02:17 2006
+++ ticker.h Mon May 29 04:02:33 2006
--- ticker.h.orig Fri Mar 16 06:44:32 2007
+++ ticker.h Fri Mar 16 06:44:41 2007
@@ -35,7 +35,7 @@
/* Types */
/* ----- */

View File

@ -1,6 +1,6 @@
--- timeserver.c.orig Mon May 29 04:25:26 2006
+++ timeserver.c Mon May 29 04:25:56 2006
@@ -29,9 +29,9 @@
--- timeserver.c.orig Fri Mar 16 07:13:50 2007
+++ timeserver.c Fri Mar 16 07:14:38 2007
@@ -30,9 +30,9 @@
#include <stdarg.h> /* variable arguments stuff */
#include <string.h> /* strrchr(), strerror() */
#include <errno.h> /* errno stuff */
@ -12,7 +12,7 @@
#include <bstring.h>
#endif
#include <limits.h> /* USHRT_MAX */
@@ -57,7 +57,7 @@
@@ -58,7 +58,7 @@
/* ----- */
/* Types */
/* ----- */
@ -21,12 +21,12 @@
/* SGI defines these in <netinet/in.h> */
typedef unsigned long in_addr_t; /* An IP number */
typedef unsigned short in_port_t; /* A port number */
@@ -231,7 +231,7 @@
@@ -225,7 +225,7 @@
#if (IRIX || WIN32)
nd = getdtablehi();
#endif
-#if (LINUX || OSX)
+#if (LINUX || OSX || FreeBSD)
nd = getdtablesize();
#endif
#if (AIX)
nd = sd + 1;
#endif
-#if (SOLARIS || HPUX || OSX)
+#if (SOLARIS || HPUX || OSX || FreeBSD)
nd = FD_SETSIZE;
#endif
for (;;) {

View File

@ -1,6 +1,6 @@
--- xdd.h.orig Mon Dec 19 03:13:28 2005
+++ xdd.h Mon May 29 04:45:14 2006
@@ -46,7 +46,7 @@
--- xdd.h.orig Fri Mar 16 06:35:11 2007
+++ xdd.h Fri Mar 16 07:04:35 2007
@@ -48,7 +48,7 @@
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/times.h>
@ -9,7 +9,7 @@
#include <sys/prctl.h>
#endif
#include <sys/param.h>
@@ -68,6 +68,11 @@
@@ -70,6 +70,11 @@
#include <sys/procset.h>
#include <sys/utsname.h>
#endif
@ -21,7 +21,7 @@
#ifdef AIX
#include <sys/processor.h>
#include <ulimit.h>
@@ -90,7 +95,7 @@
@@ -92,7 +97,7 @@
#include <sys/utsname.h>
#endif
/* for the global clock stuff */
@ -30,7 +30,7 @@
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
@@ -197,7 +202,7 @@
@@ -199,7 +204,7 @@
#ifdef HPUX
typedef unsigned short in_port_t;
#endif
@ -39,21 +39,34 @@
#define MP_MUSTRUN 1 /* ASsign this thread to a specific processor */
#define MP_NPROCS 2 /* return the number of processors on the system */
typedef int sd_t; /* A socket descriptor */
@@ -290,8 +295,13 @@
#define RX_SHARED_MEMORY 0x020000000 /* Use a shared memory segment instead of malloced memmory */
#define RX_VERBOSE 0x040000000 /* Verbose output */
#define RX_SEQUENCED_PATTERN 0x080000000 /* Sequenced Data Pattern in the data buffer */
@@ -291,6 +296,18 @@
#define RX_SHARED_MEMORY (uint64_t) 0x0000000020000000 /* Use a shared memory segment instead of malloced memmory */
#define RX_VERBOSE (uint64_t) 0x0000000040000000 /* Verbose output */
#define RX_SEQUENCED_PATTERN (uint64_t) 0x0000000080000000 /* Sequenced Data Pattern in the data buffer */
+#if (FreeBSD)
+#define RX_NOMEMLOCK 0x100000000LL /* Do not lock memory */
+#define RX_NOPROCLOCK 0x200000000LL /* Do not lock process */
+#define RX_ASCII_PATTERN (uint64_t) 0x0000000100000000LL /* ASCII Data Pattern in the data buffer */
+#define RX_HEX_PATTERN (uint64_t) 0x0000000200000000LL /* HEXIDECIMAL Data Pattern in the data buffer */
+#define RX_SINGLECHAR_PATTERN (uint64_t) 0x0000000400000000LL /* HEXIDECIMAL Data Pattern in the data buffer */
+#define RX_FILE_PATTERN (uint64_t) 0x0000000800000000LL /* Name of file that contains the Data Pattern */
+#define RX_REPLICATE_PATTERN (uint64_t) 0x0000001000000000LL /* Replicate Data Pattern throughout the data buffer */
+#define RX_NOMEMLOCK (uint64_t) 0x0000002000000000LL /* Do not lock memory */
+#define RX_NOPROCLOCK (uint64_t) 0x0000004000000000LL /* Do not lock process */
+#define RX_REOPEN (uint64_t) 0x0000008000000000LL /* Open/Close target on each pass and record time */
+#define RX_CREATE_NEW_FILES (uint64_t) 0x0000010000000000LL /* Create new targets for each pass */
+#define RX_RECREATE (uint64_t) 0x0000020000000000LL /* ReCreate targets for each pass */
+#else
#define RX_NOMEMLOCK 0x100000000 /* Do not lock memory */
#define RX_NOPROCLOCK 0x200000000 /* Do not lock process */
+#endif
#define RX_ASCII_PATTERN (uint64_t) 0x0000000100000000 /* ASCII Data Pattern in the data buffer */
#define RX_HEX_PATTERN (uint64_t) 0x0000000200000000 /* HEXIDECIMAL Data Pattern in the data buffer */
#define RX_SINGLECHAR_PATTERN (uint64_t) 0x0000000400000000 /* HEXIDECIMAL Data Pattern in the data buffer */
@@ -301,6 +318,7 @@
#define RX_REOPEN (uint64_t) 0x0000008000000000 /* Open/Close target on each pass and record time */
#define RX_CREATE_NEW_FILES (uint64_t) 0x0000010000000000 /* Create new targets for each pass */
#define RX_RECREATE (uint64_t) 0x0000020000000000 /* ReCreate targets for each pass */
+#endif /* (FreeBSD) */
/* ts_options bit settings */
#define TS_NORMALIZE 0x00000001 /* Time stamping normalization of output*/
#define TS_ON 0x00000002 /* Time stamping is ON */
@@ -330,14 +340,14 @@
#define TS_NORMALIZE 0x00000001 /* Time stamping normalization of output*/
@@ -340,14 +358,14 @@
/* XXX *//* This needs to be converted to use a config file */
/* Default flag values */
#define DFL_FL_SERVER false /* Client by default */
@ -61,7 +74,7 @@
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || FreeBSD)
#define DFL_FL_ADDR INADDR_ANY /* Any address */ /* server only */
#else /* Windows */
#define DFL_FL_ADDR 0x8065b61b /* crystal 128.101.182.27 */
#define DFL_FL_ADDR 0x8065b61b /* 128.101.182.27 */
#endif
#define DFL_FL_PORT 2000 /* Port to use */
#define DFL_FL_COUNT 10 /* Bounce a hundred times */