Hello.

The attached patch removes all uses of the configure macros
AC_CHECK_STRUCT_FOR and AC_CHECK_IFNET_FOR.
Further it adds a NETSNMP_ prefix to the symbols IFNET_NEEDS_KERNEL and
IFNET_NEEDS_KERNEL_LATE.

This is intended for trunk.

Does anyone have any comments?

/MF
Index: snmplib/snmpUDPIPv6Domain.c
===================================================================
--- snmplib/snmpUDPIPv6Domain.c	(revision 16422)
+++ snmplib/snmpUDPIPv6Domain.c	(working copy)
@@ -67,9 +67,9 @@ const struct in6_addr in6addr_any = IN6A
 #include <dmalloc.h>
 #endif
 
-#if STRUCT_SOCKADDR_STORAGE_HAS_SS_FAMILY
+#if HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
 #define SS_FAMILY ss_family
-#elif STRUCT_SOCKADDR_STORAGE_HAS___SS_FAMILY
+#elif HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY
 #define SS_FAMILY __ss_family
 #endif
 
Index: snmplib/scapi.c
===================================================================
--- snmplib/scapi.c	(revision 16422)
+++ snmplib/scapi.c	(working copy)
@@ -76,7 +76,7 @@
 #endif
 
 #ifndef NETSNMP_DISABLE_DES
-#ifdef STRUCT_DES_KS_STRUCT_HAS_WEAK_KEY
+#ifdef HAVE_STRUCT_DES_KS_STRUCT_WEAK_KEY
 /* these are older names for newer structures that exist in openssl .9.7 */
 #define DES_key_schedule    des_key_schedule 
 #define DES_cblock          des_cblock 
Index: snmplib/snmp-tc.c
===================================================================
--- snmplib/snmp-tc.c	(revision 16422)
+++ snmplib/snmp-tc.c	(working copy)
@@ -164,7 +164,7 @@ date_n_time(time_t * when, size_t * leng
      * Timezone offset
      */
     {
-#ifdef STRUCT_TM_HAS_TM_GMTOFF
+#ifdef HAVE_STRUCT_TM_TM_GMTOFF
     const int tzoffset = tm_p->tm_gmtoff;
 #else
     const int tzoffset = timezone;
Index: snmplib/system.c
===================================================================
--- snmplib/system.c	(revision 16422)
+++ snmplib/system.c	(working copy)
@@ -636,7 +636,7 @@ get_myaddr(void)
 
     for (ifrp = ifc.ifc_req;
         (char *)ifrp < (char *)ifc.ifc_req + ifc.ifc_len;
-#ifdef STRUCT_SOCKADDR_HAS_SA_LEN
+#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
         ifrp = (struct ifreq *)(((char *) ifrp) +
                                 sizeof(ifrp->ifr_name) +
                                 ifrp->ifr_addr.sa_len)
Index: include/net-snmp/system/freebsd5.h
===================================================================
--- include/net-snmp/system/freebsd5.h	(revision 16422)
+++ include/net-snmp/system/freebsd5.h	(working copy)
@@ -4,5 +4,5 @@
 
 /* don't define _KERNEL on FreeBSD 5.3 even if configure thinks we need it */
 #ifdef freebsd5
-#undef IFNET_NEEDS_KERNEL
+#undef NETSNMP_IFNET_NEEDS_KERNEL
 #endif
Index: include/net-snmp/system/svr5.h
===================================================================
--- include/net-snmp/system/svr5.h	(revision 16422)
+++ include/net-snmp/system/svr5.h	(working copy)
@@ -18,7 +18,7 @@
 /*
  * lie about this next define to avoid sa_len and sa_family MACROS !! 
  */
-#define STRUCT_SOCKADDR_HAS_SA_UNION_SA_GENERIC_SA_FAMILY2 1
+#define HAVE_STRUCT_SOCKADDR_SA_UNION_SA_GENERIC_SA_FAMILY2 1
 
 /*
  * this header requires queue_t, not easily done without kernel headers 
Index: include/net-snmp/system/irix.h
===================================================================
--- include/net-snmp/system/irix.h	(revision 16422)
+++ include/net-snmp/system/irix.h	(working copy)
@@ -23,7 +23,7 @@
 /*
  * don't define _KERNEL before including sys/unistd.h 
  */
-#define IFNET_NEEDS_KERNEL_LATE  1
+#define NETSNMP_IFNET_NEEDS_KERNEL_LATE  1
 
 #define STREAM_NEEDS_KERNEL_ISLANDS
 
Index: configure.in
===================================================================
--- configure.in	(revision 16422)
+++ configure.in	(working copy)
@@ -1427,14 +1427,20 @@ yes
 			;;
 		generic)
                         AC_MSG_RESULT([[postponed]])
-			AC_CHECK_STRUCT_FOR([
-#include <sys/types.h>
+			AC_CHECK_MEMBER([struct sockaddr_in6.sin6_addr],,,[
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
-], sockaddr_in6, sin6_addr, no)
+#endif
+]])
 	                AC_MSG_CHECKING([[ipv6 stack type]])
-                        if test "x$ac_cv_struct_sockaddr_in6_has_sin6_addr" = "xyes"; then
+                        if test "x$ac_cv_have_struct_sockaddr_in6_sin6_addr" = "xyes"; then
 				v6type=$i
 				v6lib=dummy
 				v6libdir=none
@@ -3735,32 +3741,28 @@ if test "$netsnmp_cv_broken_inline" = ye
         [Define if static inline functions are unsupported])
 fi
 
-# openbsd seems to have dropped m_clusters and m_clfree from mbstat
-AC_CHECK_STRUCT_FOR([
-#if HAVE_SYS_MBUF_H
-#include <sys/mbuf.h>
-#endif
-], mbstat, m_clusters, no)
-
-# openbsd seems to have dropped m_mbufs from mbstat too
-AC_CHECK_STRUCT_FOR([
-#if HAVE_SYS_MBUF_H
+AC_CHECK_MEMBERS([struct mbstat.m_clusters, struct mbstat.m_clfree,
+                  struct mbstat.m_mbufs],,,[
+AC_INCLUDES_DEFAULT()
+[#if HAVE_SYS_MBUF_H
 #include <sys/mbuf.h>
 #endif
-], mbstat, m_mbufs, no)
+]])
 
 
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
+AC_CHECK_MEMBERS([struct sigaction.sa_sigaction],,,[
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
+#ifdef HAVE_SYS_SIGNAL_H
 #include <sys/signal.h>
-], sigaction, sa_sigaction, no)
+#endif
+]])
 
-AC_CHECK_STRUCT_FOR([
-#include <sys/types.h>
-#if TIME_WITH_SYS_TIME
+AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[
+AC_INCLUDES_DEFAULT()
+[#if TIME_WITH_SYS_TIME
 # include <sys/time.h>
 # include <time.h>
 #else
@@ -3770,73 +3772,47 @@ AC_CHECK_STRUCT_FOR([
 #  include <time.h>
 # endif
 #endif
-], tm, tm_gmtoff, no)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#define KERNEL
-#define _KERNEL
-#include <sys/socket.h>
-#undef KERNEL
-#undef _KERNEL
-], sockaddr, sa_len, no)
+]])
 
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
+AC_CHECK_MEMBERS([struct sockaddr.sa_len,
+                  struct sockaddr.sa_union.sa_generic.sa_family2,
+                  struct sockaddr_storage.ss_family,
+                  struct sockaddr_storage.__ss_family],,,[
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #define KERNEL
 #define _KERNEL
 #include <sys/socket.h>
 #undef KERNEL
 #undef _KERNEL
-], sockaddr, sa_union.sa_generic.sa_family2, no)
-
-AC_CHECK_STRUCT_FOR([
-#if HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#if HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#if HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-], sockaddr_storage, ss_family, no)
-
-AC_CHECK_STRUCT_FOR([
-#if HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#if HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#if HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
 #endif
-], sockaddr_storage, __ss_family, no)
+]])
 
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
+# Check struct rtentry for various things.
+AC_CHECK_MEMBERS([struct rtentry.rt_dst, struct rtentry.rt_unit,
+                  struct rtentry.rt_refcnt, struct rtentry.rt_hash,
+                  struct rtentry.rt_use, struct rtentry.rt_next],,,[
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #define KERNEL
 #define _KERNEL
 #include <sys/socket.h>
 #undef KERNEL
 #undef _KERNEL
+#endif
+#ifdef HAVE_NET_ROUTE_H
 #include <net/route.h>
-], rtentry, rt_dst, no)
+#endif]])
 
 # checking for 4.3 vs 4.4 rtentry.
-AC_CACHE_CHECK(type of rtentry structure,ac_cv_RTENTRY_TYPE,
+AC_CACHE_CHECK([type of rtentry structure], [ac_cv_RTENTRY_TYPE],
 [
-
 # 4.4 compat
 AC_TRY_COMPILE([
 #ifdef HAVE_SYS_PARAM_H
@@ -3851,7 +3827,7 @@ AC_TRY_COMPILE([
 #include <net/route.h>
 ],[
 
-#ifndef STRUCT_RTENTRY_HAS_RT_DST
+#ifndef HAVE_STRUCT_RTENTRY_RT_DST
 #define rt_dst rt_nodes->rn_key
 #endif
 
@@ -3888,7 +3864,7 @@ fi
 ])
 
 if test "x$ac_cv_RTENTRY_TYPE" = "xBSD-4.4"; then
-  AC_DEFINE(RTENTRY_4_4)
+  AC_DEFINE(RTENTRY_4_4, 1, [Use BSD 4.4 routing table entries?])
 fi
 
 # checking for alpha's ortentry vs rtentry
@@ -3908,246 +3884,166 @@ else
   ac_cv_struct_rtentry="rtentry"
 fi
 
-if test "x$ac_cv_struct_rtentry" != "x"; then
-  AC_DEFINE_UNQUOTED(RTENTRY,struct ${ac_cv_struct_rtentry})
-else
-  AC_DEFINE(RTENTRY,struct rtentry)
+if test "x$ac_cv_struct_rtentry" = "x"; then
+  ac_cv_struct_rtentry=rtentry
 fi
-
-# check for 4.3's rtentry->rt_next
-if test "x$ac_cv_RTENTRY_TYPE" = "xBSD-4.3"; then
-AC_CACHE_CHECK(for struct rtentry has a rt_next node, 
-	ac_cv_struct_rtentry_rt_next,
-[
-AC_TRY_COMPILE([
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#define KERNEL
-#define _KERNEL
-#include <sys/socket.h>
-#undef KERNEL
-#undef _KERNEL
-#include <net/route.h>
-],[
-struct rtentry rt; 
-rt.rt_next;
-], ac_cv_struct_rtentry_rt_next=yes,  ac_cv_struct_rtentry_rt_next=no )
-])
-
-if test "x$ac_cv_struct_rtentry_rt_next" = "xyes"; then
-  AC_DEFINE(RTENTRY_RT_NEXT)
-fi
-
-fi
-
-# Check struct rtentry for various things.
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#define KERNEL
-#define _KERNEL
-#include <sys/socket.h>
-#undef KERNEL
-#undef _KERNEL
-#include <net/route.h>
-], rtentry, rt_unit)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#define KERNEL
-#define _KERNEL
-#include <sys/socket.h>
-#undef KERNEL
-#undef _KERNEL
-#include <net/route.h>
-], rtentry, rt_refcnt)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#define KERNEL
-#define _KERNEL
-#include <sys/socket.h>
-#undef KERNEL
-#undef _KERNEL
-#include <net/route.h>
-], rtentry, rt_hash)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#define KERNEL
-#define _KERNEL
-#include <sys/socket.h>
-#undef KERNEL
-#undef _KERNEL
-#include <net/route.h>
-], rtentry, rt_use)
+AC_DEFINE_UNQUOTED(RTENTRY,struct ${ac_cv_struct_rtentry},
+        [define rtentry to ortentry on SYSV machines (alphas)])
 
 # Check tcpstat for tcpstat.tcp_rcvmemdrop
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
+AC_CHECK_MEMBERS([struct tcpstat.tcp_rcvmemdrop],,,[
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
 #ifdef HAVE_SYS_TIMEOUT_H
 #include <sys/timeout.h>
 #endif
+#ifdef HAVE_NETINET_TCP_H
 #include <netinet/tcp.h>
+#endif
 #ifdef HAVE_NETINET_TCP_TIMER_H
 #include <netinet/tcp_timer.h>
 #endif
-
 #ifdef HAVE_NETINET_TCP_VAR_H
 #include <netinet/tcp_var.h>
 #endif
-], tcpstat, tcp_rcvmemdrop)
+]])
 
 # irix checks
 
-AC_CHECK_STRUCT_FOR([
+AC_CACHE_CHECK([if _KERNEL needs to be defined for if_mtu],
+        [ac_cv_IFNET_NEEDS_KERNEL],
+[ac_cv_IFNET_NEEDS_KERNEL=unknown
+AC_COMPILE_IFELSE(AC_LANG_PROGRAM([
+AC_INCLUDES_DEFAULT()[
 #ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_NET_IF_H
 #include <net/if.h>
+#endif
 #ifdef HAVE_NET_IF_VAR_H
 #include <net/if_var.h>
-#endif
-], ifnet, if_mtu)
-
-if test "x$ac_cv_struct_ifnet_has_if_mtu" = "xno"; then
-AC_CACHE_CHECK(if _KERNEL needs to be defined for if_mtu, ac_cv_IFNET_NEEDS_KERNEL,
-[
-if test "x$ac_cv_struct_ifnet_has_if_mtu" = "xyes"; then
-  ac_cv_IFNET_NEEDS_KERNEL=no
-else
-AC_TRY_COMPILE([
+#endif]], [[struct ifnet test; test.if_mtu = 0;]]),
+        [ac_cv_IFNET_NEEDS_KERNEL=no])
+if test "$ac_cv_IFNET_NEEDS_KERNEL" = unknown ; then
+AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
 #define _KERNEL 1
+]AC_INCLUDES_DEFAULT()[
 #ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
 #endif
+#ifdef HAVE_NET_IF_H
 #include <net/if.h>
+#endif
 #ifdef HAVE_NET_IF_VAR_H
 #include <net/if_var.h>
-#endif
-],[
-struct ifnet testit;
-testit.if_mtu = 0;
-], ac_cv_IFNET_NEEDS_KERNEL=yes, ac_cv_IFNET_NEEDS_KERNEL=no)
-fi
-])
+#endif]], [[struct ifnet test; test.if_mtu = 0;]]),
+        [ac_cv_IFNET_NEEDS_KERNEL=yes])
+fi])
 
 if test "x$ac_cv_IFNET_NEEDS_KERNEL" = "xyes"; then
-  AC_DEFINE(IFNET_NEEDS_KERNEL)
-fi
+  AC_DEFINE(NETSNMP_IFNET_NEEDS_KERNEL, 1,
+        [ifnet needs to have _KERNEL defined])
 fi
 
-AC_CHECK_STRUCT_FOR([
-#ifdef IFNET_NEEDS_KERNEL
+AC_CHECK_MEMBERS([struct ifaddr.ifa_next],,,[
+[#ifdef NETSNMP_IFNET_NEEDS_KERNEL
 #define _KERNEL 1
-#endif
-#ifdef HAVE_SYS_PARAM_H
+#endif]
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
+#ifdef HAVE_NET_IF_H
 #include <net/if.h>
+#endif
 #ifdef HAVE_NET_IF_VAR_H
 #include <net/if_var.h>
-#endif
-], ifaddr, ifa_next)
+#endif]])
 
 # Check ifnet entries using macro defined in aclocal.m4.
 #
 # XXX  Broken on FreeBSD where these are #define'd in <net/if.h>
 #
-AC_CHECK_IFNET_FOR(if_baudrate)
-AC_CHECK_IFNET_FOR(if_baudrate.ifs_value)
-AC_CHECK_IFNET_FOR(if_speed)
-AC_CHECK_IFNET_FOR(if_type)
-AC_CHECK_IFNET_FOR(if_imcasts)
-AC_CHECK_IFNET_FOR(if_iqdrops)
-AC_CHECK_IFNET_FOR(if_noproto)
-AC_CHECK_IFNET_FOR(if_omcasts)
-AC_CHECK_IFNET_FOR(if_xname,no)
-AC_CHECK_IFNET_FOR(if_lastchange.tv_sec)
-AC_CHECK_IFNET_FOR(if_obytes)
-AC_CHECK_IFNET_FOR(if_ibytes)
-AC_CHECK_IFNET_FOR(if_addrlist)
-AC_CHECK_IFNET_FOR(if_addrhead.tqh_first)
-
-AC_CHECK_STRUCT_FOR([
-#include <sys/types.h>
-#if HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if HAVE_NETINET_IP_VAR_H
-#include <netinet/ip_var.h>
-#endif
-#if HAVE_NETINET_UDP_H
-#include <netinet/udp.h>
-#endif
-#if HAVE_NETINET_UDP_VAR_H
-#include <netinet/udp_var.h>
-#endif
-],udpstat,udps_discard)
-
-AC_CHECK_STRUCT_FOR([
-#include <sys/types.h>
-#if HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#if HAVE_NETINET_IP_VAR_H
-#include <netinet/ip_var.h>
-#endif
-#if HAVE_NETINET_UDP_H
-#include <netinet/udp.h>
+AC_CHECK_MEMBERS([struct ifnet.if_mtu, struct ifnet.if_baudrate,
+                  struct ifnet.if_baudrate.ifs_value, struct ifnet.if_speed,
+                  struct ifnet.if_type, struct ifnet.if_imcasts,
+                  struct ifnet.if_iqdrops, struct ifnet.if_noproto,
+                  struct ifnet.if_omcasts, struct ifnet.if_xname,
+                  struct ifnet.if_lastchange.tv_sec, struct ifnet.if_obytes,
+                  struct ifnet.if_ibytes, struct ifnet.if_addrlist,
+                  struct ifnet.if_addrhead.tqh_first],,,[[
+#ifdef NETSNMP_IFNET_NEEDS_KERNEL
+#define _KERNEL 1
 #endif
-#if HAVE_NETINET_UDP_VAR_H
-#include <netinet/udp_var.h>
+]AC_INCLUDES_DEFAULT()[
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
 #endif
-],udpstat,udps_noport)
-
-AC_CHECK_STRUCT_FOR([
-#include <sys/types.h>
-#if HAVE_NETINET_IN_H
-#include <netinet/in.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
 #endif
-#if HAVE_NETINET_IP_VAR_H
-#include <netinet/ip_var.h>
+#ifdef HAVE_NET_IF_H
+#include <net/if.h>
 #endif
-#if HAVE_NETINET_UDP_H
-#include <netinet/udp.h>
+#ifdef HAVE_NET_IF_VAR_H
+#include <net/if_var.h>
 #endif
-#if HAVE_NETINET_UDP_VAR_H
-#include <netinet/udp_var.h>
+#ifdef HAVE_SYS_QUEUE_H
+#include <sys/queue.h>
 #endif
-],udpstat,udps_noportbcast)
-
-AC_CHECK_STRUCT_FOR([
-#include <sys/types.h>
-#if HAVE_NETINET_IN_H
+#ifdef linux
+struct ifnet {
+	char	*if_name;		/* name, e.g. "en" or "lo" */
+	short	if_unit;		/* sub-unit for lower level driver */
+	short	if_mtu;			/* maximum transmission unit */
+	short	if_flags;		/* up/down, broadcast, etc. */
+	int	if_metric;		/* routing metric (external only) */
+	char    if_hwaddr [6];		/* ethernet address */
+	int	if_type;		/* interface type: 1=generic,
+					   28=slip, ether=6, loopback=24 */
+	int	if_speed;		/* interface speed: in bits/sec */
+
+	struct sockaddr if_addr;	/* interface's address */
+	struct sockaddr ifu_broadaddr;	/* broadcast address */
+	struct sockaddr ia_subnetmask; 	/* interface's mask */
+
+	struct	ifqueue {
+		int	ifq_len;
+		int	ifq_drops;
+	} if_snd;			/* output queue */
+	int	if_ibytes;		/* octets received on interface */
+	int	if_ipackets;		/* packets received on interface */
+	int	if_ierrors;		/* input errors on interface */
+        int     if_iqdrops;             /* input queue overruns */
+	int	if_obytes;		/* octets sent on interface */
+	int	if_opackets;		/* packets sent on interface */
+	int	if_oerrors;		/* output errors on interface */
+	int	if_collisions;		/* collisions on csma interfaces */
+/* end statistics */
+	struct	ifnet *if_next;
+};
+#endif]])
+
+AC_CHECK_MEMBERS([struct udpstat.udps_discard, struct udpstat.udps_noport,
+                  struct udpstat.udps_noportbcast,
+                  struct udpstat.udps_fullsock],,,[
+AC_INCLUDES_DEFAULT()
+[#if HAVE_NETINET_IN_H
 #include <netinet/in.h>
 #endif
 #if HAVE_NETINET_IP_VAR_H
@@ -4159,14 +4055,16 @@ AC_CHECK_STRUCT_FOR([
 #if HAVE_NETINET_UDP_VAR_H
 #include <netinet/udp_var.h>
 #endif
-],udpstat,udps_fullsock)
+]])
 
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_PARAM_H
+AC_CHECK_MEMBERS([struct arphd.at_next],,,[
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
-#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
@@ -4177,131 +4075,48 @@ AC_CHECK_STRUCT_FOR([
 #if HAVE_NETINET_IF_ETHER_H
 #include <netinet/if_ether.h>
 #endif
-],arphd,at_next)
+]])
 
-AC_CHECK_STRUCT_FOR([
-#if HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_PARAM_H
+AC_CHECK_MEMBERS([struct swdevt.sw_nblksenabled],,,[
+AC_INCLUDES_DEFAULT()
+[#ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
 #if HAVE_SYS_CONF_H
 #include <sys/conf.h>
 #endif
-],swdevt,sw_nblksenabled)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#if HAVE_SYS_STATFS_H
-#include <sys/statfs.h>
-#endif
-#if HAVE_SYS_STATVFS_H
-#include <sys/statvfs.h>
-#endif
-],statvfs,mnt_dir)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#if HAVE_SYS_STATFS_H
-#include <sys/statfs.h>
-#endif
-#if HAVE_SYS_STATVFS_H
-#include <sys/statvfs.h>
-#endif
-],statvfs,f_frsize)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#if HAVE_SYS_STATFS_H
-#include <sys/statfs.h>
-#endif
-#if HAVE_SYS_STATVFS_H
-#include <sys/statvfs.h>
-#endif
-],statfs,f_frsize)
+]])
 
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#if HAVE_SYS_STATFS_H
+AC_CHECK_MEMBERS([struct statvfs.mnt_dir, struct statvfs.f_frsize,
+                  struct statvfs.f_files],,,[
+AC_INCLUDES_DEFAULT()
+[#if HAVE_SYS_STATFS_H
 #include <sys/statfs.h>
 #endif
 #if HAVE_SYS_STATVFS_H
 #include <sys/statvfs.h>
 #endif
-],statvfs,f_files)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#if HAVE_SYS_STATFS_H
-#include <sys/statfs.h>
-#endif
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif
-],statfs,f_files)
-
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#if HAVE_SYS_STATFS_H
-#include <sys/statfs.h>
-#endif
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif
-],statfs,f_ffree)
+]])
 
-AC_CHECK_STRUCT_FOR([
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#if HAVE_SYS_STATFS_H
+AC_CHECK_MEMBERS([struct statfs.f_frsize, struct statfs.f_files,
+                  struct statfs.f_ffree, struct statfs.f_favail],,,[
+AC_INCLUDES_DEFAULT()
+[#if HAVE_SYS_STATFS_H
 #include <sys/statfs.h>
 #endif
 #ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
-#include <sys/types.h>
 #endif
 #ifdef HAVE_SYS_MOUNT_H
 #include <sys/mount.h>
-#endif
-],statfs,f_favail)
+#endif]])
 
-AC_CHECK_STRUCT_FOR([
-#if HAVE_NLIST_H
-#include <nlist.h>
-#endif
-],nlist,n_value)
-
-# struct nlist64 (IRIX)
-AC_CHECK_STRUCT_FOR([
-#if HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#if HAVE_NLIST_H
+AC_CHECK_MEMBERS([struct nlist.n_value, struct nlist64.n_value],,,[
+AC_INCLUDES_DEFAULT()
+[#if HAVE_NLIST_H
 #include <nlist.h>
 #endif
-],nlist64, n_value)
+]])
 
 # check struct ipstat for various things
 AC_CHECK_MEMBERS([
@@ -4323,9 +4138,11 @@ AC_INCLUDES_DEFAULT()
 # check for the des_ks_struct.weak_key attribute, which indicates the 
 # older openssl version is being used.
 if test "x$ac_cv_header_openssl_des_h" = "xyes" ; then
-AC_CHECK_STRUCT_FOR([
+AC_CHECK_MEMBERS([struct des_ks_struct.weak_key],,,[[
+#ifdef HAVE_OPENSSL_DES_H
 #include <openssl/des.h>
-], des_ks_struct, weak_key)
+#endif
+]])
 fi
 
 # attempt to figure out if sysctl is usable
Index: agent/mibgroup/ucd-snmp/pass_persist.c
===================================================================
--- agent/mibgroup/ucd-snmp/pass_persist.c	(revision 16422)
+++ agent/mibgroup/ucd-snmp/pass_persist.c	(working copy)
@@ -682,7 +682,7 @@ open_persist_pipe(int iindex, char *comm
     return 1;
 }
 
-#if STRUCT_SIGACTION_HAS_SA_SIGACTION
+#if HAVE_STRUCT_SIGACTION_SA_SIGACTION
 /*
  * Generic handler 
  */
@@ -711,7 +711,7 @@ write_persist_pipe(int iindex, const cha
      * Setup our signal action to catch SIGPIPEs 
      */
     sa.sa_handler = NULL;
-#if STRUCT_SIGACTION_HAS_SA_SIGACTION
+#if HAVE_STRUCT_SIGACTION_SA_SIGACTION
     sa.sa_sigaction = &sigpipe_handler;
 #endif
     sigemptyset(&sa.sa_mask);
Index: agent/mibgroup/ucd-snmp/disk.c
===================================================================
--- agent/mibgroup/ucd-snmp/disk.c	(revision 16422)
+++ agent/mibgroup/ucd-snmp/disk.c	(working copy)
@@ -648,7 +648,7 @@ var_extensible_disk(struct variable *vp,
     double          totalblks, free, used, avail, availblks;
 #else
     static long     avail;
-#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_FILES)
+#if defined(HAVE_STRUCT_STATVFS_F_FILES) || defined(HAVE_STRUCT_STATFS_F_FILES)
     int             percent_inode;
 #endif
 #endif
@@ -730,7 +730,7 @@ tryAgain:
                (double) (vfs.f_blocks -
                          (vfs.f_bfree - vfs.f_bavail)) * 100.0 + 0.5);
     multiplier = (float)vfs.f_bsize / (float)1024.0;
-#ifdef STRUCT_STATVFS_HAS_F_FRSIZE
+#ifdef HAVE_STRUCT_STATVFS_F_FRSIZE
     if (vfs.f_frsize > 255)
         multiplier = (float)vfs.f_frsize / (float)1024.0;
 #endif
@@ -738,18 +738,18 @@ tryAgain:
     iserror = (disks[disknum].minimumspace >= 0 ?
                avail < disks[disknum].minimumspace :
                100 - percent <= disks[disknum].minpercent) ? 1 : 0;
-#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined STRUCT_STATFS_HAS_F_FAVAIL
+#if defined(HAVE_STRUCT_STATVFS_F_FILES) || defined HAVE_STRUCT_STATFS_F_FAVAIL
     percent_inode = vfs.f_favail <= 0 ? 100 :
         (int) ((double) (vfs.f_files - vfs.f_ffree) /
                (double) (vfs.f_files -
                          (vfs.f_ffree - vfs.f_favail)) * 100.0 + 0.5);
 #else
-#if defined(STRUCT_STATFS_HAS_F_FILES) && defined(STRUCT_STATFS_HAS_F_FFREE)
+#if defined(HAVE_STRUCT_STATFS_F_FILES) && defined(HAVE_STRUCT_STATFS_F_FFREE)
    percent_inode = vfs.f_files == 0 ? 100.0 :
       (int) ((double) (vfs.f_files - vfs.f_ffree) /
 	          (double) (vfs.f_files) * 100.0 + 0.5);
 #endif 
-#endif /* defined(STRUCT_STATVFS_HAS_F_FILES) */ 
+#endif /* defined(HAVE_STRUCT_STATVFS_F_FILES) */
     switch (vp->magic) {
     case DISKTOTAL:
         long_ret = (long)(vfs.f_blocks * multiplier);
@@ -762,7 +762,7 @@ tryAgain:
     case DISKPERCENT:
         long_ret = percent;
         return ((u_char *) (&long_ret));
-#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined (STRUCT_STATFS_HAS_F_FILES)
+#if defined(HAVE_STRUCT_STATVFS_F_FILES) || defined (HAVE_STRUCT_STATFS_F_FILES)
     case DISKPERCENTNODE:
         long_ret = percent_inode;
         return ((u_char *) (&long_ret));
Index: agent/mibgroup/ip-forward-mib/data_access/route_ioctl.c
===================================================================
--- agent/mibgroup/ip-forward-mib/data_access/route_ioctl.c	(revision 16422)
+++ agent/mibgroup/ip-forward-mib/data_access/route_ioctl.c	(working copy)
@@ -69,10 +69,10 @@
 #include <windows.h>
 #endif
 
-#ifndef STRUCT_RTENTRY_HAS_RT_DST
+#ifndef HAVE_STRUCT_RTENTRY_RT_DST
 #   define rt_dst rt_nodes->rn_key
 #endif
-#ifndef STRUCT_RTENTRY_HAS_RT_HASH
+#ifndef HAVE_STRUCT_RTENTRY_RT_HASH
 #   define rt_hash rt_pad1
 #endif
 
Index: agent/mibgroup/mibII/at.c
===================================================================
--- agent/mibgroup/mibII/at.c	(revision 16422)
+++ agent/mibgroup/mibII/at.c	(working copy)
@@ -25,7 +25,7 @@
 #if HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-#if defined(IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
+#if defined(NETSNMP_IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
 #define _KERNEL 1
 #define _I_DEFINED_KERNEL
 #endif
@@ -503,7 +503,7 @@ static int      arptab_size, arptab_curr
 static char    *lim, *rtnext;
 static char    *at = 0;
 #else
-#ifdef STRUCT_ARPHD_HAS_AT_NEXT
+#ifdef HAVE_STRUCT_ARPHD_AT_NEXT
 static struct arphd *at = 0;
 static struct arptab *at_ptr, at_entry;
 static struct arpcom at_com;
@@ -573,7 +573,7 @@ ARP_Scan_Init(void)
 #ifdef ARPTAB_SIZE_SYMBOL
         auto_nlist(ARPTAB_SIZE_SYMBOL, (char *) &arptab_size,
                    sizeof arptab_size);
-#ifdef STRUCT_ARPHD_HAS_AT_NEXT
+#ifdef HAVE_STRUCT_ARPHD_AT_NEXT
         at = (struct arphd *) malloc(arptab_size * sizeof(struct arphd));
 #else
         at = (struct arptab *) malloc(arptab_size * sizeof(struct arptab));
@@ -582,7 +582,7 @@ ARP_Scan_Init(void)
         return;
 #endif
     }
-#ifdef STRUCT_ARPHD_HAS_AT_NEXT
+#ifdef HAVE_STRUCT_ARPHD_AT_NEXT
     auto_nlist(ARPTAB_SYMBOL, (char *) at,
                arptab_size * sizeof(struct arphd));
     at_ptr = at[0].at_next;
@@ -762,7 +762,7 @@ ARP_Scan_Next(u_long * IPAddr, char *Phy
     register struct arptab *atab;
 
     while (arptab_current < arptab_size) {
-#ifdef STRUCT_ARPHD_HAS_AT_NEXT
+#ifdef HAVE_STRUCT_ARPHD_AT_NEXT
         /*
          * The arp table is an array of linked lists of arptab entries.
          * Unused slots have pointers back to the array entry itself 
@@ -791,9 +791,9 @@ ARP_Scan_Next(u_long * IPAddr, char *Phy
         at_ptr = at_entry.at_next;
         atab = &at_entry;
         *ifIndex = at_com.ac_if.if_index;       /* not strictly ARPHD */
-#else                           /* STRUCT_ARPHD_HAS_AT_NEXT */
+#else                           /* HAVE_STRUCT_ARPHD_AT_NEXT */
         atab = &at[arptab_current++];
-#endif                          /* STRUCT_ARPHD_HAS_AT_NEXT */
+#endif                          /* HAVE_STRUCT_ARPHD_AT_NEXT */
         if (!(atab->at_flags & ATF_COM))
             continue;
         *ifType = (atab->at_flags & ATF_PERM) ? 4 : 3;
Index: agent/mibgroup/mibII/var_route.c
===================================================================
--- agent/mibgroup/mibII/var_route.c	(revision 16422)
+++ agent/mibgroup/mibII/var_route.c	(working copy)
@@ -1160,7 +1160,7 @@ load_rtentries(struct radix_node *pt)
     RTENTRY         rt;
     struct ifnet    ifnet;
     char            name[16], temp[16];
-#if !STRUCT_IFNET_HAS_IF_XNAME
+#if !HAVE_STRUCT_IFNET_IF_XNAME
     register char  *cp;
 #endif
 
@@ -1193,7 +1193,7 @@ load_rtentries(struct radix_node *pt)
                 DEBUGMSGTL(("mibII/var_route", "klookup failed\n"));
                 return;
             }
-#if STRUCT_IFNET_HAS_IF_XNAME
+#if HAVE_STRUCT_IFNET_IF_XNAME
 #if defined(netbsd1) || defined(openbsd2)
             strncpy(name, ifnet.if_xname, sizeof name);
 #else
Index: agent/mibgroup/mibII/route_write.c
===================================================================
--- agent/mibgroup/mibII/route_write.c	(revision 16422)
+++ agent/mibgroup/mibII/route_write.c	(working copy)
@@ -76,10 +76,10 @@
 
 #if !defined (WIN32) && !defined (cygwin)
 
-#ifndef STRUCT_RTENTRY_HAS_RT_DST
+#ifndef HAVE_STRUCT_RTENTRY_RT_DST
 #define rt_dst rt_nodes->rn_key
 #endif
-#ifndef STRUCT_RTENTRY_HAS_RT_HASH
+#ifndef HAVE_STRUCT_RTENTRY_RT_HASH
 #define rt_hash rt_pad1
 #endif
 
@@ -184,7 +184,7 @@ delRoute(u_long dstip, u_long gwip, u_lo
 }
 
 
-#ifndef STRUCT_RTENTRY_HAS_RT_DST
+#ifndef HAVE_STRUCT_RTENTRY_RT_DST
 #undef rt_dst
 #endif
 
Index: agent/mibgroup/mibII/interfaces.c
===================================================================
--- agent/mibgroup/mibII/interfaces.c	(revision 16422)
+++ agent/mibgroup/mibII/interfaces.c	(working copy)
@@ -16,7 +16,7 @@
 
 #include <net-snmp/net-snmp-config.h>
 
-#if defined(IFNET_NEEDS_KERNEL) && !defined(_KERNEL) && !defined(IFNET_NEEDS_KERNEL_LATE)
+#if defined(NETSNMP_IFNET_NEEDS_KERNEL) && !defined(_KERNEL) && !defined(NETSNMP_IFNET_NEEDS_KERNEL_LATE)
 #define _KERNEL 1
 #define _I_DEFINED_KERNEL
 #endif
@@ -40,7 +40,7 @@
 #if HAVE_WINSOCK_H
 #include <winsock.h>
 #endif
-#if defined(IFNET_NEEDS_KERNEL) && !defined(_KERNEL) && defined(IFNET_NEEDS_KERNEL_LATE)
+#if defined(NETSNMP_IFNET_NEEDS_KERNEL) && !defined(_KERNEL) && defined(NETSNMP_IFNET_NEEDS_KERNEL_LATE)
 #define _KERNEL 1
 #define _I_DEFINED_KERNEL
 #endif
@@ -594,7 +594,7 @@ var_ifEntry(struct variable *vp,
         if (if_ptr)
             long_return = if_ptr->speed;
         else {
-#if STRUCT_IFNET_HAS_IF_BAUDRATE_IFS_VALUE
+#if HAVE_STRUCT_IFNET_IF_BAUDRATE_IFS_VALUE
         long_return = (u_long) if_msg.ifm_data.ifi_baudrate.ifs_value <<
             if_msg.ifm_data.ifi_baudrate.ifs_log2;
 #else
@@ -736,7 +736,7 @@ var_ifEntry(struct variable *vp,
     static char     Name[16];
     char           *cp;
     conf_if_list   *if_ptr;
-#if STRUCT_IFNET_HAS_IF_LASTCHANGE_TV_SEC
+#if HAVE_STRUCT_IFNET_IF_LASTCHANGE_TV_SEC
     struct timeval  now;
 #endif
 
@@ -760,7 +760,7 @@ var_ifEntry(struct variable *vp,
         if (if_ptr)
             long_return = if_ptr->type;
         else {
-#if STRUCT_IFNET_HAS_IF_TYPE
+#if HAVE_STRUCT_IFNET_IF_TYPE
             long_return = ifnet.if_type;
 #else
             long_return = 1;    /* OTHER */
@@ -775,11 +775,11 @@ var_ifEntry(struct variable *vp,
         if (if_ptr)
             long_return = if_ptr->speed;
         else {
-#if STRUCT_IFNET_HAS_IF_BAUDRATE
+#if HAVE_STRUCT_IFNET_IF_BAUDRATE
             long_return = ifnet.if_baudrate;
-#elif STRUCT_IFNET_HAS_IF_SPEED
+#elif HAVE_STRUCT_IFNET_IF_SPEED
             long_return = ifnet.if_speed;
-#elif STRUCT_IFNET_HAS_IF_TYPE && defined(IFT_ETHER)
+#elif HAVE_STRUCT_IFNET_IF_TYPE && defined(IFT_ETHER)
             if (ifnet.if_type == IFT_ETHER)
                 long_return = 10000000;
             if (ifnet.if_type == IFT_P10)
@@ -818,7 +818,7 @@ var_ifEntry(struct variable *vp,
         long_return = ifnet.if_flags & IFF_RUNNING ? 1 : 2;
         return (u_char *) & long_return;
     case IFLASTCHANGE:
-#if defined(STRUCT_IFNET_HAS_IF_LASTCHANGE_TV_SEC) && !(defined(freebsd2) && __FreeBSD_version < 199607)
+#if defined(HAVE_STRUCT_IFNET_IF_LASTCHANGE_TV_SEC) && !(defined(freebsd2) && __FreeBSD_version < 199607)
         /*
          * XXX - SNMP's ifLastchange is time when op. status changed
          * * FreeBSD's if_lastchange is time when packet was input or output
@@ -848,7 +848,7 @@ var_ifEntry(struct variable *vp,
 #endif
         return (u_char *) & long_return;
     case IFINOCTETS:
-#ifdef STRUCT_IFNET_HAS_IF_IBYTES
+#ifdef HAVE_STRUCT_IFNET_IF_IBYTES
 #if defined(aix4) || defined(aix5)
         long_return = (u_long) ifnet.if_ibytes & 0xffffffff;
 #else
@@ -868,7 +868,7 @@ var_ifEntry(struct variable *vp,
 #else
             long_return = (u_long) ifnet.if_ipackets;
 #endif
-#if STRUCT_IFNET_HAS_IF_IMCASTS
+#if HAVE_STRUCT_IFNET_IF_IMCASTS
 #if defined(aix4) || defined(aix5)
             long_return -= (u_long) ifnet.if_imcasts & 0xffffffff;
 #else
@@ -878,7 +878,7 @@ var_ifEntry(struct variable *vp,
         }
         return (u_char *) & long_return;
     case IFINNUCASTPKTS:
-#if STRUCT_IFNET_HAS_IF_IMCASTS
+#if HAVE_STRUCT_IFNET_IF_IMCASTS
 #if defined(aix4) || defined(aix5)
         long_return = (u_long) ifnet.if_imcasts & 0xffffffff;
 #else
@@ -892,7 +892,7 @@ var_ifEntry(struct variable *vp,
 #endif
         return (u_char *) & long_return;
     case IFINDISCARDS:
-#if STRUCT_IFNET_HAS_IF_IQDROPS
+#if HAVE_STRUCT_IFNET_IF_IQDROPS
 #if defined(aix4) || defined(aix5)
         long_return = (u_long) ifnet.if_iqdrops & 0xffffffff;
 #else
@@ -913,7 +913,7 @@ var_ifEntry(struct variable *vp,
 #endif
         return (u_char *) & long_return;
     case IFINUNKNOWNPROTOS:
-#if STRUCT_IFNET_HAS_IF_NOPROTO
+#if HAVE_STRUCT_IFNET_IF_NOPROTO
 #if defined(aix4) || defined(aix5)
         long_return = (u_long) ifnet.if_noproto & 0xffffffff;
 #else
@@ -927,7 +927,7 @@ var_ifEntry(struct variable *vp,
 #endif
         return (u_char *) & long_return;
     case IFOUTOCTETS:
-#ifdef STRUCT_IFNET_HAS_IF_OBYTES
+#ifdef HAVE_STRUCT_IFNET_IF_OBYTES
 #if defined(aix4) || defined(aix5)
         long_return = (u_long) ifnet.if_obytes & 0xffffffff;
 #else
@@ -947,7 +947,7 @@ var_ifEntry(struct variable *vp,
 #else
             long_return = (u_long) ifnet.if_opackets;
 #endif
-#if STRUCT_IFNET_HAS_IF_OMCASTS
+#if HAVE_STRUCT_IFNET_IF_OMCASTS
 #if defined(aix4) || defined(aix5)
             long_return -= (u_long) ifnet.if_omcasts & 0xffffffff;
 #else
@@ -957,7 +957,7 @@ var_ifEntry(struct variable *vp,
         }
         return (u_char *) & long_return;
     case IFOUTNUCASTPKTS:
-#if STRUCT_IFNET_HAS_IF_OMCASTS
+#if HAVE_STRUCT_IFNET_IF_OMCASTS
 #if defined(aix4) || defined(aix5)
         long_return = (u_long) ifnet.if_omcasts & 0xffffffff;
 #else
@@ -1024,7 +1024,7 @@ var_ifEntry(struct variable *vp,
     static char     Name[16];
 #endif
     register char  *cp;
-#if STRUCT_IFNET_HAS_IF_LASTCHANGE_TV_SEC
+#if HAVE_STRUCT_IFNET_IF_LASTCHANGE_TV_SEC
     struct timeval  now;
 #endif
 #if !defined(hpux11)
@@ -1927,7 +1927,7 @@ Interface_Scan_Next(short *Index,
     struct ifnet    ifnet;
     struct in_ifaddr *ia, in_ifaddr;
     short           has_ipaddr = 0;
-#if !STRUCT_IFNET_HAS_IF_XNAME
+#if !HAVE_STRUCT_IFNET_IF_XNAME
     register char  *cp;
 #endif
 
@@ -1939,7 +1939,7 @@ Interface_Scan_Next(short *Index,
             DEBUGMSGTL(("mibII/interfaces:Interface_Scan_Next", "klookup failed\n"));
             break;
         }
-#if STRUCT_IFNET_HAS_IF_XNAME
+#if HAVE_STRUCT_IFNET_IF_XNAME
 #if defined(netbsd1) || defined(openbsd2)
         strncpy(saveName, ifnet.if_xname, sizeof saveName);
 #else
@@ -1998,7 +1998,7 @@ Interface_Scan_Next(short *Index,
 #endif
             }
 
-#if !defined(netbsd1) && !defined(freebsd2) && !defined(openbsd2) && !defined(STRUCT_IFNET_HAS_IF_ADDRLIST)
+#if !defined(netbsd1) && !defined(freebsd2) && !defined(openbsd2) && !defined(HAVE_STRUCT_IFNET_IF_ADDRLIST)
             ifnet.if_addrlist = (struct ifaddr *) ia;   /* WRONG DATA TYPE; ONLY A FLAG */
 #endif
             /*
Index: agent/mibgroup/mibII/udp.c
===================================================================
--- agent/mibgroup/mibII/udp.c	(revision 16422)
+++ agent/mibgroup/mibII/udp.c	(working copy)
@@ -251,7 +251,7 @@ udp_handler(netsnmp_mib_handler         
 #define udpstat          udpstat.udpstat
 #endif
     case UDPINDATAGRAMS:
-#if STRUCT_UDPSTAT_HAS_UDPS_IPACKETS
+#if HAVE_STRUCT_UDPSTAT_UDPS_IPACKETS
         ret_value = udpstat.udps_ipackets;
         break;
 #else
@@ -260,7 +260,7 @@ udp_handler(netsnmp_mib_handler         
 #endif
 
     case UDPNOPORTS:
-#if STRUCT_UDPSTAT_HAS_UDPS_NOPORT
+#if HAVE_STRUCT_UDPSTAT_UDPS_NOPORT
         ret_value = udpstat.udps_noport;
         break;
 #else
@@ -269,7 +269,7 @@ udp_handler(netsnmp_mib_handler         
 #endif
 
     case UDPOUTDATAGRAMS:
-#if STRUCT_UDPSTAT_HAS_UDPS_OPACKETS
+#if HAVE_STRUCT_UDPSTAT_UDPS_OPACKETS
         ret_value = udpstat.udps_opackets;
         break;
 #else
@@ -279,10 +279,10 @@ udp_handler(netsnmp_mib_handler         
 
     case UDPINERRORS:
         ret_value = udpstat.udps_hdrops + udpstat.udps_badsum +
-#ifdef STRUCT_UDPSTAT_HAS_UDPS_DISCARD
+#ifdef HAVE_STRUCT_UDPSTAT_UDPS_DISCARD
             udpstat.udps_discard +
 #endif
-#ifdef STRUCT_UDPSTAT_HAS_UDPS_FULLSOCK
+#ifdef HAVE_STRUCT_UDPSTAT_UDPS_FULLSOCK
             udpstat.udps_fullsock +
 #endif
             udpstat.udps_badlen;
Index: agent/mibgroup/mibII/route_headers.h
===================================================================
--- agent/mibgroup/mibII/route_headers.h	(revision 16422)
+++ agent/mibgroup/mibII/route_headers.h	(working copy)
@@ -94,28 +94,28 @@
 #endif
 #undef	KERNEL
 #ifdef RTENTRY_4_4
-#ifndef STRUCT_RTENTRY_HAS_RT_UNIT
+#ifndef HAVE_STRUCT_RTENTRY_RT_UNIT
 #define rt_unit rt_refcnt       /* Reuse this field for device # */
 #endif
-#ifndef STRUCT_RTENTRY_HAS_RT_DST
+#ifndef HAVE_STRUCT_RTENTRY_RT_DST
 #define rt_dst rt_nodes->rn_key
 #endif
 #else                           /* RTENTRY_4_3 */
-#ifndef STRUCT_RTENTRY_HAS_RT_DST
+#ifndef HAVE_STRUCT_RTENTRY_RT_DST
 #define rt_dst rt_nodes->rn_key
 #endif
-#ifndef STRUCT_RTENTRY_HAS_RT_HASH
+#ifndef HAVE_STRUCT_RTENTRY_RT_HASH
 #define rt_hash rt_pad1
 #endif
-#ifndef STRUCT_RTENTRY_HAS_RT_REFCNT
+#ifndef HAVE_STRUCT_RTENTRY_RT_REFCNT
 #ifndef hpux10
 #define rt_refcnt rt_pad2
 #endif
 #endif
-#ifndef STRUCT_RTENTRY_HAS_RT_USE
+#ifndef HAVE_STRUCT_RTENTRY_RT_USE
 #define rt_use rt_pad3
 #endif
-#ifndef STRUCT_RTENTRY_HAS_RT_UNIT
+#ifndef HAVE_STRUCT_RTENTRY_RT_UNIT
 #define rt_unit rt_refcnt       /* Reuse this field for device # */
 #endif
 #endif
Index: agent/mibgroup/mibII/ipAddr.c
===================================================================
--- agent/mibgroup/mibII/ipAddr.c	(revision 16422)
+++ agent/mibgroup/mibII/ipAddr.c	(working copy)
@@ -16,7 +16,7 @@
 
 #include <net-snmp/net-snmp-config.h>
 
-#if defined(IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
+#if defined(NETSNMP_IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
 #define _KERNEL 1
 #define _I_DEFINED_KERNEL
 #endif
@@ -220,7 +220,7 @@ var_ipAddrEntry(struct variable *vp,
 #if !defined(freebsd2) && !defined(hpux11) && !defined(linux)
         if (Interface_Scan_Next(&interface, NULL, &ifnet, &in_ifaddr) == 0)
             break;
-#ifdef STRUCT_IFNET_HAS_IF_ADDRLIST
+#ifdef HAVE_STRUCT_IFNET_IF_ADDRLIST
         if (ifnet.if_addrlist == 0)
             continue;           /* No address found for interface */
 #endif
Index: agent/mibgroup/mibII/mibII_common.h
===================================================================
--- agent/mibgroup/mibII/mibII_common.h	(revision 16422)
+++ agent/mibgroup/mibII/mibII_common.h	(working copy)
@@ -28,7 +28,7 @@
 #if HAVE_SYS_TCPIPSTATS_H
 #include <sys/tcpipstats.h>
 #endif
-#if defined(IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
+#if defined(NETSNMP_IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
 #define _KERNEL 1
 #define _I_DEFINED_KERNEL
 #endif
Index: agent/mibgroup/mibII/ipv6.c
===================================================================
--- agent/mibgroup/mibII/ipv6.c	(revision 16422)
+++ agent/mibgroup/mibII/ipv6.c	(working copy)
@@ -4,7 +4,7 @@
  */
 
 #include <net-snmp/net-snmp-config.h>
-#if defined(IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
+#if defined(NETSNMP_IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
 #define _KERNEL 1
 #define _I_DEFINED_KERNEL
 #endif
@@ -890,7 +890,7 @@ var_ifv6Entry(register struct variable *
                 }
             }
 #endif
-#ifdef STRUCT_IFNET_HAS_IF_LASTCHANGE_TV_SEC
+#ifdef HAVE_STRUCT_IFNET_IF_LASTCHANGE_TV_SEC
             if (!gotanswer) {
                 struct ifnet    ifnet;
 
Index: agent/mibgroup/mibII/tcp.c
===================================================================
--- agent/mibgroup/mibII/tcp.c	(revision 16422)
+++ agent/mibgroup/mibII/tcp.c	(working copy)
@@ -380,7 +380,7 @@ tcp_handler(netsnmp_mib_handler         
         break;
     case TCPINERRS:
         ret_value = tcpstat.tcps_rcvbadsum + tcpstat.tcps_rcvbadoff
-#ifdef STRUCT_TCPSTAT_HAS_TCPS_RCVMEMDROP
+#ifdef HAVE_STRUCT_TCPSTAT_TCPS_RCVMEMDROP
             + tcpstat.tcps_rcvmemdrop
 #endif
             + tcpstat.tcps_rcvshort;
Index: agent/mibgroup/host_res.h
===================================================================
--- agent/mibgroup/host_res.h	(revision 16422)
+++ agent/mibgroup/host_res.h	(working copy)
@@ -17,7 +17,7 @@
 #include <net-snmp/agent/snmp_vars.h>
 #include <net-snmp/agent/var_struct.h>
 
-#if defined(IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
+#if defined(NETSNMP_IFNET_NEEDS_KERNEL) && !defined(_KERNEL)
 #define _KERNEL 1
 #define _I_DEFINED_KERNEL
 #endif
Index: agent/mibgroup/host/hr_filesys.c
===================================================================
--- agent/mibgroup/host/hr_filesys.c	(revision 16422)
+++ agent/mibgroup/host/hr_filesys.c	(working copy)
@@ -932,7 +932,7 @@ Get_FSSize(char *dev)
   		 * in case of 512 (f_blocks/2) is returned
   		 * otherwise (f_blocks*(f_bsize/1024)) is returned
   		 */
-#if defined(solaris2) && defined(STRUCT_STATVFS_HAS_F_FRSIZE)
+#if defined(solaris2) && defined(HAVE_STRUCT_STATVFS_F_FRSIZE)
                 return (statfs_buf.f_blocks*(statfs_buf.f_frsize/1024));
 #else
   		if (statfs_buf.f_bsize == 512)
Index: agent/mibgroup/host/hr_storage.c
===================================================================
--- agent/mibgroup/host/hr_storage.c	(revision 16422)
+++ agent/mibgroup/host/hr_storage.c	(working copy)
@@ -8,7 +8,7 @@
 #if defined(freebsd5)
 /* undefine these in order to use getfsstat */
 #undef HAVE_STATVFS
-#undef STRUCT_STATVFS_HAS_F_FRSIZE
+#undef HAVE_STRUCT_STATVFS_F_FRSIZE
 #endif
 
 #include <sys/types.h>
@@ -189,7 +189,7 @@
 extern struct mnttab *HRFS_entry;
 #define HRFS_mount	mnt_mountp
 #define HRFS_statfs	statvfs
-#define HRFS_HAS_FRSIZE STRUCT_STATVFS_HAS_F_FRSIZE
+#define HRFS_HAS_FRSIZE HAVE_STRUCT_STATVFS_F_FRSIZE
 
 #elif defined(WIN32)
 /* fake block size */
@@ -205,15 +205,15 @@ extern struct statvfs *HRFS_entry;
 extern int      fscount;
 #define HRFS_statfs	statvfs
 #define HRFS_mount	f_mntonname
-#define HRFS_HAS_FRSIZE STRUCT_STATVFS_HAS_F_FRSIZE
+#define HRFS_HAS_FRSIZE HAVE_STRUCT_STATVFS_F_FRSIZE
 
-#elif defined(HAVE_STATVFS)  && defined(STRUCT_STATVFS_HAS_MNT_DIR)
+#elif defined(HAVE_STATVFS)  && defined(HAVE_STRUCT_STATVFS_MNT_DIR)
 
 extern struct mntent *HRFS_entry;
 extern int      fscount;
 #define HRFS_statfs	statvfs
 #define HRFS_mount	mnt_dir
-#define HRFS_HAS_FRSIZE STRUCT_STATVFS_HAS_F_FRSIZE
+#define HRFS_HAS_FRSIZE HAVE_STRUCT_STATVFS_F_FRSIZE
 
 #elif defined(HAVE_GETFSSTAT)
 
@@ -221,14 +221,14 @@ extern struct statfs *HRFS_entry;
 extern int      fscount;
 #define HRFS_statfs	statfs
 #define HRFS_mount	f_mntonname
-#define HRFS_HAS_FRSIZE STRUCT_STATFS_HAS_F_FRSIZE
+#define HRFS_HAS_FRSIZE HAVE_STRUCT_STATFS_F_FRSIZE
 
 #else
 
 extern struct mntent *HRFS_entry;
 #define HRFS_mount	mnt_dir
 #define HRFS_statfs	statfs
-#define HRFS_HAS_FRSIZE STRUCT_STATFS_HAS_F_FRSIZE
+#define HRFS_HAS_FRSIZE HAVE_STRUCT_STATFS_F_FRSIZE
 
 #endif
 	
Index: acconfig.h
===================================================================
--- acconfig.h	(revision 16422)
+++ acconfig.h	(working copy)
@@ -121,106 +121,6 @@
    field, which exists in linux kernels 2.2 and greater. */
 #undef PROC_NET_DEV_HAS_COMPRESSED
 
-/* define rtentry to ortentry on SYSV machines (alphas) */
-#undef RTENTRY
-
-/* Use BSD 4.4 routing table entries? */
-#undef RTENTRY_4_4
-
-/* Does struct sigaction have a sa_sigaction field? */
-#undef STRUCT_SIGACTION_HAS_SA_SIGACTION
-
-/* Does struct tm have a tm_gmtoff field? */
-#undef STRUCT_TM_HAS_TM_GMTOFFF
-
-/* Does struct sockaddr have a sa_len field? */
-#undef STRUCT_SOCKADDR_HAS_SA_LEN
-
-/* Does struct sockaddr have a sa_family2 field? */
-#undef STRUCT_SOCKADDR_HAS_SA_UNION_SA_GENERIC_SA_FAMILY2
-
-/* Does struct sockaddr_storage have a ss_family field? */
-#undef STRUCT_SOCKADDR_STORAGE_HAS_SS_FAMILY
-
-/* Does struct sockaddr_storage have a __ss_family field? */
-#undef STRUCT_SOCKADDR_STORAGE_HAS___SS_FAMILY
-
-/* Does struct in6_addr have a s6_un.sa6_ladd field? */
-#undef STRUCT_IN6_ADDR_HAS_S6_UN_SA6_LADDR
-
-/* rtentry structure tests */
-#undef RTENTRY_RT_NEXT
-#undef STRUCT_RTENTRY_HAS_RT_DST
-#undef STRUCT_RTENTRY_HAS_RT_UNIT
-#undef STRUCT_RTENTRY_HAS_RT_USE
-#undef STRUCT_RTENTRY_HAS_RT_REFCNT
-#undef STRUCT_RTENTRY_HAS_RT_HASH
-
-/* ifnet structure tests */
-#undef STRUCT_IFNET_HAS_IF_BAUDRATE
-#undef STRUCT_IFNET_HAS_IF_BAUDRATE_IFS_VALUE
-#undef STRUCT_IFNET_HAS_IF_SPEED
-#undef STRUCT_IFNET_HAS_IF_TYPE
-#undef STRUCT_IFNET_HAS_IF_IMCASTS
-#undef STRUCT_IFNET_HAS_IF_IQDROPS
-#undef STRUCT_IFNET_HAS_IF_LASTCHANGE_TV_SEC
-#undef STRUCT_IFNET_HAS_IF_NOPROTO
-#undef STRUCT_IFNET_HAS_IF_OMCASTS
-#undef STRUCT_IFNET_HAS_IF_XNAME
-#undef STRUCT_IFNET_HAS_IF_OBYTES
-#undef STRUCT_IFNET_HAS_IF_IBYTES
-#undef STRUCT_IFNET_HAS_IF_ADDRLIST
-
-/* tcpstat.tcps_rcvmemdrop */
-#undef STRUCT_TCPSTAT_HAS_TCPS_RCVMEMDROP
-
-/* udpstat.udps_discard */
-#undef STRUCT_UDPSTAT_HAS_UDPS_DISCARD
-
-/* udpstat.udps_discard */
-#undef STRUCT_UDPSTAT_HAS_UDPS_NOPORT
-
-/* udpstat.udps_discard */
-#undef STRUCT_UDPSTAT_HAS_UDPS_NOPORTBCAST
-
-/* udpstat.udps_discard */
-#undef STRUCT_UDPSTAT_HAS_UDPS_FULLSOCK
-
-/* arphd.at_next */
-#undef STRUCT_ARPHD_HAS_AT_NEXT
-
-/* ifaddr.ifa_next */
-#undef STRUCT_IFADDR_HAS_IFA_NEXT
-
-/* ifnet.if_mtu */
-#undef STRUCT_IFNET_HAS_IF_MTU
-
-/* swdevt.sw_nblksenabled */
-#undef STRUCT_SWDEVT_HAS_SW_NBLKSENABLED
-
-/* nlist.n_value */
-#undef STRUCT_NLIST_HAS_N_VALUE
-
-/* nlist64.n_value */
-#undef STRUCT_NLIST64_HAS_N_VALUE
-
-/* vfsstat.f_frsize */
-#undef STRUCT_STATVFS_HAS_F_FRSIZE
-
-/* vfsstat.f_files */
-#undef STRUCT_STATVFS_HAS_F_FILES
-
-/* statfs inode structure tests*/
-#undef STRUCT_STATFS_HAS_F_FILES
-#undef STRUCT_STATFS_HAS_F_FFREE
-#undef STRUCT_STATFS_HAS_F_FAVAIL
-
-/* des_ks_struct.weak_key */
-#undef STRUCT_DES_KS_STRUCT_HAS_WEAK_KEY
-
-/* ifnet needs to have _KERNEL defined */
-#undef IFNET_NEEDS_KERNEL
-
 /* sysctl works to get boottime, etc... */
 #undef NETSNMP_CAN_USE_SYSCTL
 
@@ -803,7 +703,7 @@
 #undef CMU_COMPATIBLE
 
 /* final conclusion on nlist usage */
-#if defined(HAVE_NLIST) && defined(STRUCT_NLIST_HAS_N_VALUE) && !defined(NETSNMP_DONT_USE_NLIST) && !defined(NETSNMP_NO_KMEM_USAGE)
+#if defined(HAVE_NLIST) && defined(HAVE_STRUCT_NLIST_N_VALUE) && !defined(NETSNMP_DONT_USE_NLIST) && !defined(NETSNMP_NO_KMEM_USAGE)
 #define NETSNMP_CAN_USE_NLIST
 #endif
 
Index: acinclude.m4
===================================================================
--- acinclude.m4	(revision 16422)
+++ acinclude.m4	(working copy)
@@ -55,103 +55,6 @@ if test "$ac_cv_user_prompt_$1" != "none
 fi
 ]) dnl
 
-dnl @synopsis AC_CHECK_STRUCT_FOR(INCLUDES,STRUCT,MEMBER,DEFINE,[no])
-dnl
-dnl Checks STRUCT for MEMBER and defines DEFINE if found.
-dnl
-dnl @version 1.15
-dnl @author Wes Hardaker <[EMAIL PROTECTED]>
-dnl
-AC_DEFUN([AC_CHECK_STRUCT_FOR],[
-
-ac_safe_struct=`echo "$2" | sed 'y%./+-%__p_%'`
-ac_safe_member=`echo "$3" | sed 'y%./+-%__p_%'`
-ac_safe_all="ac_cv_struct_${ac_safe_struct}_has_${ac_safe_member}"
-changequote(, )dnl
-  ac_uc_define=STRUCT_`echo "${ac_safe_struct}_HAS_${ac_safe_member}" | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-changequote([, ])dnl
-
-AC_MSG_CHECKING([for $2.$3])
-AC_CACHE_VAL($ac_safe_all,
-[
-if test "x$4" = "x"; then
-  defineit="= 0"
-elif test "x$4" = "xno"; then
-  defineit=""
-else
-  defineit="$4"
-fi
-AC_TRY_COMPILE([
-$1
-],[
-struct $2 testit; 
-testit.$3 $defineit;
-], eval "${ac_safe_all}=yes", eval "${ac_safe_all}=no" )
-])
-
-if eval "test \"x$`echo ${ac_safe_all}`\" = \"xyes\""; then
-  AC_MSG_RESULT(yes)
-  AC_DEFINE_UNQUOTED($ac_uc_define)
-else
-  AC_MSG_RESULT(no)
-fi
-
-])
-
-dnl AC_CHECK_IFNET_FOR(SUBSTRUCT,[no])
-AC_DEFUN([AC_CHECK_IFNET_FOR],[
-dnl check for $1 in struct ifnet
-AC_CHECK_STRUCT_FOR([
-#ifdef IFNET_NEEDS_KERNEL
-#define _KERNEL 1
-#endif
-#include <sys/types.h>
-#include <sys/socket.h>
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#include <net/if.h>
-#ifdef HAVE_NET_IF_VAR_H
-#include <net/if_var.h>
-#endif
-#ifdef HAVE_SYS_QUEUE_H
-#include <sys/queue.h>
-#endif
-#ifdef linux
-struct ifnet {
-	char	*if_name;		/* name, e.g. "en" or "lo" */
-	short	if_unit;		/* sub-unit for lower level driver */
-	short	if_mtu;			/* maximum transmission unit */
-	short	if_flags;		/* up/down, broadcast, etc. */
-	int	if_metric;		/* routing metric (external only) */
-	char    if_hwaddr [6];		/* ethernet address */
-	int	if_type;		/* interface type: 1=generic,
-					   28=slip, ether=6, loopback=24 */
-	int	if_speed;		/* interface speed: in bits/sec */
-
-	struct sockaddr if_addr;	/* interface's address */
-	struct sockaddr ifu_broadaddr;	/* broadcast address */
-	struct sockaddr ia_subnetmask; 	/* interface's mask */
-
-	struct	ifqueue {
-		int	ifq_len;
-		int	ifq_drops;
-	} if_snd;			/* output queue */
-	int	if_ibytes;		/* octets received on interface */
-	int	if_ipackets;		/* packets received on interface */
-	int	if_ierrors;		/* input errors on interface */
-        int     if_iqdrops;             /* input queue overruns */
-	int	if_obytes;		/* octets sent on interface */
-	int	if_opackets;		/* packets sent on interface */
-	int	if_oerrors;		/* output errors on interface */
-	int	if_collisions;		/* collisions on csma interfaces */
-/* end statistics */
-	struct	ifnet *if_next;
-};
-#endif
-], ifnet, $1, $2)
-])
-
 dnl
 dnl Add a search path to the LIBS and CFLAGS variables
 dnl
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to