Index: ether.c
--- ether.c.orig	2006-11-11 14:32:16 +0100
+++ ether.c	2006-11-14 18:03:51 +0100
@@ -21,7 +21,7 @@
 #endif
 
 /* In order to avoid too many unneeded include files, we forge some types */
-#if defined(BSD)
+#if defined(BSD) && !defined(__FreeBSD__)
 struct arphdr { int ignore; };
 #endif
 #if !defined(_AIX)
Index: tcp.c
--- tcp.c.orig	2006-11-11 14:32:16 +0100
+++ tcp.c	2006-11-14 18:03:18 +0100
@@ -118,8 +118,14 @@
 
 		if (nflag)
 			se = NULL;
+#if defined(IPPORT_USERRESERVED)
 		else if (port > IPPORT_USERRESERVED)
 			se = NULL;
+#endif
+#if defined(IPPORT_RESERVED)
+		else if (port > IPPORT_RESERVED)
+			se = NULL;
+#endif
 		else {
 #if HAVE_GETSERVBYPORT
 			display_message("resolving tcp port %u", port);
