--- 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>
-#if !(SOLARIS || HPUX || AIX || OSX)
+#if !(SOLARIS || HPUX || AIX || OSX || FreeBSD)
 #include <sys/prctl.h>
 #endif
 #include <sys/param.h>
@@ -70,6 +70,11 @@
 #include <sys/procset.h>
 #include <sys/utsname.h>
 #endif
+#ifdef FreeBSD
+#include <inttypes.h>
+#include <sys/types.h>
+#include <sys/unistd.h>
+#endif
 #ifdef AIX
 #include <sys/processor.h>
 #include <ulimit.h>
@@ -92,7 +97,7 @@
 #include <sys/utsname.h>
 #endif
 /* for the global clock stuff */
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
 #include <netdb.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
@@ -199,7 +204,7 @@
 #ifdef HPUX
 typedef unsigned short in_port_t;
 #endif
-#if (LINUX || SOLARIS || HPUX || AIX || OSX)
+#if (LINUX || SOLARIS || HPUX || AIX || OSX || FreeBSD)
 #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 */
@@ -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_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_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*/
@@ -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 */
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX)
+#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 /*  128.101.182.27 */
 #endif
 #define DFL_FL_PORT 2000  /* Port to use */
 #define DFL_FL_COUNT 10  /* Bounce a hundred times */
-#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX)
+#if (LINUX || AIX || IRIX || SOLARIS || HPUX || ALTIX || OSX || FreeBSD)
 #define DFL_FL_TIME 99160##000000000000LL /* Zero means don't wait */
 #else
 #define DFL_FL_TIME 99160##000000000000I64 /* Zero means don't wait */


syntax highlighted by Code2HTML, v. 0.9.1