]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
New configurations and bug fixes from Jonathan
authorTed Lemon <source@isc.org>
Thu, 7 Mar 1996 21:08:11 +0000 (21:08 +0000)
committerTed Lemon <source@isc.org>
Thu, 7 Mar 1996 21:08:11 +0000 (21:08 +0000)
cf/linux.h [new file with mode: 0644]
cf/sunos4.h [new file with mode: 0644]
cf/ultrix.h
includes/cf/linux.h [new file with mode: 0644]
includes/cf/sunos4.h [new file with mode: 0644]
includes/cf/ultrix.h

diff --git a/cf/linux.h b/cf/linux.h
new file mode 100644 (file)
index 0000000..ffbefbd
--- /dev/null
@@ -0,0 +1,113 @@
+/* linux.h
+
+   System dependencies for Linux (compiles on 1.3.57+libc 5.2.18)... */
+
+/*
+ * Copyright 1996 The Board of Trustees of The Leland Stanford
+ * Junior University. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies.  Stanford University
+ * makes no representations about the suitability of this
+ * software for any purpose.  It is provided "as is" without
+ * express or implied warranty.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
+/*
+ * Copyright (c) 1996 The Internet Software Consortium.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of RadioMail Corporation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY RADIOMAIL CORPORATION AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * RADIOMAIL CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <setjmp.h>
+#include <limits.h>
+
+#include <netdb.h>
+extern int h_errno;
+
+#include <net/if.h>
+#include <linux/if_arp.h>
+#include <sys/time.h>          /* gettimeofday()*/
+#include <linux/time.h>                /* also necessary */
+
+
+
+
+#define _PATH_DHCPD_PID        "/etc/dhcpd.pid"
+
+
+/* Varargs stuff... */
+#include <stdarg.h>
+#define VA_DOTDOTDOT ...
+#define VA_start(list, last) va_start (list, last)
+#define va_dcl
+#define vsnprintf(buf, size, fmt, list) vsprintf (buf, fmt, list)
+#define snprintf(buf, size, fmt, a1, a2, a3) \
+       sprintf(buf, fmt, a1, a2, a3)
+
+#define VOIDPTR        void *
+
+#define EOL    '\n'
+
+/*
+ * Linux (1.3.57 with libc 5.3.18) doesn't seem to have tm_zone
+ * or tm_gmtoff
+ */
+#define BROKEN_TM_GMT
+
+/* Time stuff... */
+
+/*
+ * Time stuff...
+ *
+ * Definitions for an ISC DHCPD system that uses time_t
+ * to represent time internally as opposed to, for example,  struct timeval.)
+ */
+
+#include <time.h>
+
+#define TIME time_t
+#define GET_TIME(x)    time ((x))
+#define TIME_DIFF(high, low)           (*(high) - *(low))
+#define SET_TIME(x, y) (*(x) = (y))
+#define ADD_TIME(d, s1, s2) (*(d) = *(s1) + *(s2))
+#define SET_MAX_TIME(x)        (*(x) = INT_MAX)
+
+
+
diff --git a/cf/sunos4.h b/cf/sunos4.h
new file mode 100644 (file)
index 0000000..fbf1035
--- /dev/null
@@ -0,0 +1,125 @@
+/* sunos4.h
+
+   System dependencies for SunOS 4 (tested on 4.1.4)... */
+
+
+/*
+ * Copyright 1996 The Board of Trustees of The Leland Stanford
+ * Junior University. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies.  Stanford University
+ * makes no representations about the suitability of this
+ * software for any purpose.  It is provided "as is" without
+ * express or implied warranty.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
+/*
+ * Copyright (c) 1996 The Internet Software Consortium.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of RadioMail Corporation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY RADIOMAIL CORPORATION AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * RADIOMAIL CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <setjmp.h>
+#include <limits.h>
+
+#include <netdb.h>
+extern int h_errno;
+
+#include <net/if.h>
+#include <net/if_arp.h>
+
+/*#define _PATH_DHCPD_PID      "/var/run/dhcpd.pid"*/
+
+/*
+ * SunOS systems don't have /var/run, but some sites have added it.
+ * if yours  is one, edit this file or define _PATH_DHCPD_PID externally.
+ */
+/*#define _PATH_DHCPD_PID      "/var/run/dhcpd.pid"*/
+#ifndef _PATH_DHCPD_PID
+#define _PATH_DHCPD_PID        "/etc/dhcpd.pid"
+#endif
+
+#ifdef __GNUC__
+/* Varargs stuff: use stdarg.h instead ... */
+#include <stdarg.h>
+#define VA_DOTDOTDOT ...
+#define VA_start(list, last) va_start (list, last)
+#define va_dcl
+#define vsnprintf(buf, size, fmt, list) vsprintf (buf, fmt, list)
+#define snprintf(buf, size, fmt, a1, a2, a3) \
+       sprintf(buf, fmt, a1, a2, a3) \
+
+#else /* !__GNUC__*/
+/* Varargs stuff... */
+#include <varargs.h>
+#define VA_DOTDOTDOT va_alist
+#define VA_start(list, last) va_start (list)
+
+#define vsnprintf(buf, size, fmt, list) vsprintf (buf, fmt, list)
+#endif /* !__GNUC__*/
+
+#define EOL    '\n'
+#define VOIDPTR        void *
+
+
+/*
+ * strerror is used in  errwarn.c.  If your system doesn't have it,
+ * install  one BIND 4.9.3 or sendmail.
+ */
+#ifdef __STDC__
+extern char *strerror(int);
+#else
+extern char *strerror();
+#endif
+
+/*
+ * Time stuff...
+ *
+ * Definitions for an ISC DHCPD system that uses time_t
+ * to represent time internally as opposed to, for example,  struct timeval.)
+ */
+
+#include <time.h>
+
+#define TIME time_t
+#define GET_TIME(x)    time ((x))
+#define TIME_DIFF(high, low)           (*(high) - *(low))
+#define SET_TIME(x, y) (*(x) = (y))
+#define ADD_TIME(d, s1, s2) (*(d) = *(s1) + *(s2))
+#define SET_MAX_TIME(x)        (*(x) = INT_MAX)
index 432ccdb159ab319e3cd8845af27905cb6bb85e23..2aff6f6f42f0abc06862d8a343932cdd371dfd31 100644 (file)
@@ -2,6 +2,21 @@
 
    System dependencies for Ultrix 4.2 (tested on 4.2a+multicast)... */
 
+/*
+ * Copyright 1996 The Board of Trustees of The Leland Stanford
+ * Junior University. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies.  Stanford University
+ * makes no representations about the suitability of this
+ * software for any purpose.  It is provided "as is" without
+ * express or implied warranty.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
 /*
  * Copyright (c) 1996 The Internet Software Consortium.  All rights reserved.
  *
@@ -48,6 +63,18 @@ extern int h_errno;
 
 #include <net/if.h>
 
+/*#define _PATH_DHCPD_PID      "/var/run/dhcpd.pid"*/
+
+/*
+ * Ultrix systems don't have /var/run, but some sites have added it.
+ * if yours  is one, edit this file or define _PATH_DHCPD_PID externally.
+ */
+
+#ifndef _PATH_DHCPD_PID
+#define _PATH_DHCPD_PID        "/etc/dhcpd.pid"
+#endif
+
+
 /* Varargs stuff... */
 #include <stdarg.h>
 #define VA_DOTDOTDOT ...
@@ -61,26 +88,16 @@ extern int h_errno;
 #define EOL    '\n'
 #define VOIDPTR        void *
 
-/* Time stuff... */
-#include <sys/time.h>
-#define TIME /*struct timeval*/ time_t
-#define GET_TIME(x)    gettimeofday ((x), (struct timezone *)0)
-#define TIME_DIFF(high, low)                                           \
-  (((high) -> tv_sec == (low) -> tv_sec)                               \
-   ? ((high) -> tv_usec > (low) -> tv_usec                             \
-      ? 1 : (((high) -> tv_usec == (low) -> tv_usec) ? 0 : -1))                \
-   : (high) -> tv_sec - (low) -> tv_sec)
-#define SET_TIME(x, y) (((x) -> tv_sec = ((y))), ((x) -> tv_usec = 0))
-#define ADD_TIME(d, s1, s2) {                                          \
-                (d) -> tv_usec = (s1) -> tv_usec + (s2) -> tv_usec;    \
-                if ((d) -> tv_usec > 1000000 || (d) -> tv_usec < -1000000) { \
-                        (d) -> tv_sec = (d) -> tv_usec / 1000000;      \
-                        (d) -> tv_usec %= 1000000;                     \
-                } else                                                 \
-                        (d) -> tv_sec = 0;                             \
-                (d) -> tv_sec += (s1) -> tv_sec + (s2) -> tv_sec;      \
-       }
-#define SET_MAX_TIME(x)        (((x) -> tv_sec = INT_MAX),                     \
-                        ((x) -> tv_usec = 999999))
-
+/*
+ * Time stuff...
+ *
+ * Definitions for an ISC DHCPD system that uses time_t
+ * to represent time internally as opposed to, for example,  struct timeval.)
+ */
 
+#define TIME time_t
+#define GET_TIME(x)    time ((x))
+#define TIME_DIFF(high, low)           (*(high) - *(low))
+#define SET_TIME(x, y) (*(x) = (y))
+#define ADD_TIME(d, s1, s2) (*(d) = *(s1) + *(s2))
+#define SET_MAX_TIME(x)        (*(x) = INT_MAX)
diff --git a/includes/cf/linux.h b/includes/cf/linux.h
new file mode 100644 (file)
index 0000000..ffbefbd
--- /dev/null
@@ -0,0 +1,113 @@
+/* linux.h
+
+   System dependencies for Linux (compiles on 1.3.57+libc 5.2.18)... */
+
+/*
+ * Copyright 1996 The Board of Trustees of The Leland Stanford
+ * Junior University. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies.  Stanford University
+ * makes no representations about the suitability of this
+ * software for any purpose.  It is provided "as is" without
+ * express or implied warranty.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
+/*
+ * Copyright (c) 1996 The Internet Software Consortium.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of RadioMail Corporation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY RADIOMAIL CORPORATION AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * RADIOMAIL CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <setjmp.h>
+#include <limits.h>
+
+#include <netdb.h>
+extern int h_errno;
+
+#include <net/if.h>
+#include <linux/if_arp.h>
+#include <sys/time.h>          /* gettimeofday()*/
+#include <linux/time.h>                /* also necessary */
+
+
+
+
+#define _PATH_DHCPD_PID        "/etc/dhcpd.pid"
+
+
+/* Varargs stuff... */
+#include <stdarg.h>
+#define VA_DOTDOTDOT ...
+#define VA_start(list, last) va_start (list, last)
+#define va_dcl
+#define vsnprintf(buf, size, fmt, list) vsprintf (buf, fmt, list)
+#define snprintf(buf, size, fmt, a1, a2, a3) \
+       sprintf(buf, fmt, a1, a2, a3)
+
+#define VOIDPTR        void *
+
+#define EOL    '\n'
+
+/*
+ * Linux (1.3.57 with libc 5.3.18) doesn't seem to have tm_zone
+ * or tm_gmtoff
+ */
+#define BROKEN_TM_GMT
+
+/* Time stuff... */
+
+/*
+ * Time stuff...
+ *
+ * Definitions for an ISC DHCPD system that uses time_t
+ * to represent time internally as opposed to, for example,  struct timeval.)
+ */
+
+#include <time.h>
+
+#define TIME time_t
+#define GET_TIME(x)    time ((x))
+#define TIME_DIFF(high, low)           (*(high) - *(low))
+#define SET_TIME(x, y) (*(x) = (y))
+#define ADD_TIME(d, s1, s2) (*(d) = *(s1) + *(s2))
+#define SET_MAX_TIME(x)        (*(x) = INT_MAX)
+
+
+
diff --git a/includes/cf/sunos4.h b/includes/cf/sunos4.h
new file mode 100644 (file)
index 0000000..fbf1035
--- /dev/null
@@ -0,0 +1,125 @@
+/* sunos4.h
+
+   System dependencies for SunOS 4 (tested on 4.1.4)... */
+
+
+/*
+ * Copyright 1996 The Board of Trustees of The Leland Stanford
+ * Junior University. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies.  Stanford University
+ * makes no representations about the suitability of this
+ * software for any purpose.  It is provided "as is" without
+ * express or implied warranty.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
+/*
+ * Copyright (c) 1996 The Internet Software Consortium.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of RadioMail Corporation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY RADIOMAIL CORPORATION AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * RADIOMAIL CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <setjmp.h>
+#include <limits.h>
+
+#include <netdb.h>
+extern int h_errno;
+
+#include <net/if.h>
+#include <net/if_arp.h>
+
+/*#define _PATH_DHCPD_PID      "/var/run/dhcpd.pid"*/
+
+/*
+ * SunOS systems don't have /var/run, but some sites have added it.
+ * if yours  is one, edit this file or define _PATH_DHCPD_PID externally.
+ */
+/*#define _PATH_DHCPD_PID      "/var/run/dhcpd.pid"*/
+#ifndef _PATH_DHCPD_PID
+#define _PATH_DHCPD_PID        "/etc/dhcpd.pid"
+#endif
+
+#ifdef __GNUC__
+/* Varargs stuff: use stdarg.h instead ... */
+#include <stdarg.h>
+#define VA_DOTDOTDOT ...
+#define VA_start(list, last) va_start (list, last)
+#define va_dcl
+#define vsnprintf(buf, size, fmt, list) vsprintf (buf, fmt, list)
+#define snprintf(buf, size, fmt, a1, a2, a3) \
+       sprintf(buf, fmt, a1, a2, a3) \
+
+#else /* !__GNUC__*/
+/* Varargs stuff... */
+#include <varargs.h>
+#define VA_DOTDOTDOT va_alist
+#define VA_start(list, last) va_start (list)
+
+#define vsnprintf(buf, size, fmt, list) vsprintf (buf, fmt, list)
+#endif /* !__GNUC__*/
+
+#define EOL    '\n'
+#define VOIDPTR        void *
+
+
+/*
+ * strerror is used in  errwarn.c.  If your system doesn't have it,
+ * install  one BIND 4.9.3 or sendmail.
+ */
+#ifdef __STDC__
+extern char *strerror(int);
+#else
+extern char *strerror();
+#endif
+
+/*
+ * Time stuff...
+ *
+ * Definitions for an ISC DHCPD system that uses time_t
+ * to represent time internally as opposed to, for example,  struct timeval.)
+ */
+
+#include <time.h>
+
+#define TIME time_t
+#define GET_TIME(x)    time ((x))
+#define TIME_DIFF(high, low)           (*(high) - *(low))
+#define SET_TIME(x, y) (*(x) = (y))
+#define ADD_TIME(d, s1, s2) (*(d) = *(s1) + *(s2))
+#define SET_MAX_TIME(x)        (*(x) = INT_MAX)
index 432ccdb159ab319e3cd8845af27905cb6bb85e23..2aff6f6f42f0abc06862d8a343932cdd371dfd31 100644 (file)
@@ -2,6 +2,21 @@
 
    System dependencies for Ultrix 4.2 (tested on 4.2a+multicast)... */
 
+/*
+ * Copyright 1996 The Board of Trustees of The Leland Stanford
+ * Junior University. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies.  Stanford University
+ * makes no representations about the suitability of this
+ * software for any purpose.  It is provided "as is" without
+ * express or implied warranty.
+ *
+ * This file was contributed by Jonathan Stone.
+ */
+
 /*
  * Copyright (c) 1996 The Internet Software Consortium.  All rights reserved.
  *
@@ -48,6 +63,18 @@ extern int h_errno;
 
 #include <net/if.h>
 
+/*#define _PATH_DHCPD_PID      "/var/run/dhcpd.pid"*/
+
+/*
+ * Ultrix systems don't have /var/run, but some sites have added it.
+ * if yours  is one, edit this file or define _PATH_DHCPD_PID externally.
+ */
+
+#ifndef _PATH_DHCPD_PID
+#define _PATH_DHCPD_PID        "/etc/dhcpd.pid"
+#endif
+
+
 /* Varargs stuff... */
 #include <stdarg.h>
 #define VA_DOTDOTDOT ...
@@ -61,26 +88,16 @@ extern int h_errno;
 #define EOL    '\n'
 #define VOIDPTR        void *
 
-/* Time stuff... */
-#include <sys/time.h>
-#define TIME /*struct timeval*/ time_t
-#define GET_TIME(x)    gettimeofday ((x), (struct timezone *)0)
-#define TIME_DIFF(high, low)                                           \
-  (((high) -> tv_sec == (low) -> tv_sec)                               \
-   ? ((high) -> tv_usec > (low) -> tv_usec                             \
-      ? 1 : (((high) -> tv_usec == (low) -> tv_usec) ? 0 : -1))                \
-   : (high) -> tv_sec - (low) -> tv_sec)
-#define SET_TIME(x, y) (((x) -> tv_sec = ((y))), ((x) -> tv_usec = 0))
-#define ADD_TIME(d, s1, s2) {                                          \
-                (d) -> tv_usec = (s1) -> tv_usec + (s2) -> tv_usec;    \
-                if ((d) -> tv_usec > 1000000 || (d) -> tv_usec < -1000000) { \
-                        (d) -> tv_sec = (d) -> tv_usec / 1000000;      \
-                        (d) -> tv_usec %= 1000000;                     \
-                } else                                                 \
-                        (d) -> tv_sec = 0;                             \
-                (d) -> tv_sec += (s1) -> tv_sec + (s2) -> tv_sec;      \
-       }
-#define SET_MAX_TIME(x)        (((x) -> tv_sec = INT_MAX),                     \
-                        ((x) -> tv_usec = 999999))
-
+/*
+ * Time stuff...
+ *
+ * Definitions for an ISC DHCPD system that uses time_t
+ * to represent time internally as opposed to, for example,  struct timeval.)
+ */
 
+#define TIME time_t
+#define GET_TIME(x)    time ((x))
+#define TIME_DIFF(high, low)           (*(high) - *(low))
+#define SET_TIME(x, y) (*(x) = (y))
+#define ADD_TIME(d, s1, s2) (*(d) = *(s1) + *(s2))
+#define SET_MAX_TIME(x)        (*(x) = INT_MAX)