mirror of
https://github.com/the-tcpdump-group/tcpdump.git
synced 2024-11-23 18:14:29 +08:00
Configure for ether_ntohost() as libpcap does it for ether_hostton().
Check for the same header files that declare it, and handle the results of those checks in a similar fashion.
This commit is contained in:
parent
7094894ebc
commit
0c21656150
74
addrtoname.c
74
addrtoname.c
@ -40,27 +40,63 @@
|
||||
#define HTONS(x) (x) = htons(x)
|
||||
#endif
|
||||
|
||||
#ifdef USE_ETHER_NTOHOST
|
||||
#ifdef HAVE_NETINET_IF_ETHER_H
|
||||
struct mbuf; /* Squelch compiler warnings on some platforms for */
|
||||
struct rtentry; /* declarations in <net/if.h> */
|
||||
#include <net/if.h> /* for "struct ifnet" in "struct arpcom" on Solaris */
|
||||
#include <netinet/if_ether.h>
|
||||
#endif /* HAVE_NETINET_IF_ETHER_H */
|
||||
#ifdef NETINET_ETHER_H_DECLARES_ETHER_NTOHOST
|
||||
#include <netinet/ether.h>
|
||||
#endif /* NETINET_ETHER_H_DECLARES_ETHER_NTOHOST */
|
||||
#ifndef _WIN32
|
||||
#ifdef USE_ETHER_NTOHOST
|
||||
#if defined(NET_ETHERNET_H_DECLARES_ETHER_NTOHOST)
|
||||
/*
|
||||
* OK, just include <net/ethernet.h>.
|
||||
*/
|
||||
#include <net/ethernet.h>
|
||||
#elif defined(NETINET_ETHER_H_DECLARES_ETHER_NTOHOST)
|
||||
/*
|
||||
* OK, just include <netinet/ether.h>
|
||||
*/
|
||||
#include <netinet/ether.h>
|
||||
#elif defined(SYS_ETHERNET_H_DECLARES_ETHER_NTOHOST)
|
||||
/*
|
||||
* OK, just include <sys/ethernet.h>
|
||||
*/
|
||||
#include <sys/ethernet.h>
|
||||
#elif defined(ARPA_INET_H_DECLARES_ETHER_NTOHOST)
|
||||
/*
|
||||
* OK, just include <arpa/inet.h>
|
||||
*/
|
||||
#include <arpa/inet.h>
|
||||
#elif defined(NETINET_IF_ETHER_H_DECLARES_ETHER_NTOHOST)
|
||||
/*
|
||||
* OK, include <netinet/if_ether.h>, after all the other stuff we
|
||||
* need to include or define for its benefit.
|
||||
*/
|
||||
#define NEED_NETINET_IF_ETHER_H
|
||||
#else
|
||||
/*
|
||||
* We'll have to declare it ourselves.
|
||||
* If <netinet/if_ether.h> defines struct ether_addr, include
|
||||
* it. Otherwise, define it ourselves.
|
||||
*/
|
||||
#ifdef HAVE_STRUCT_ETHER_ADDR
|
||||
#define NEED_NETINET_IF_ETHER_H
|
||||
#else /* HAVE_STRUCT_ETHER_ADDR */
|
||||
struct ether_addr {
|
||||
unsigned char ether_addr_octet[6];
|
||||
};
|
||||
#endif /* HAVE_STRUCT_ETHER_ADDR */
|
||||
#endif /* what declares ether_ntohost() */
|
||||
|
||||
#if !defined(HAVE_DECL_ETHER_NTOHOST) || !HAVE_DECL_ETHER_NTOHOST
|
||||
#ifndef HAVE_STRUCT_ETHER_ADDR
|
||||
struct ether_addr {
|
||||
unsigned char ether_addr_octet[6];
|
||||
};
|
||||
#endif
|
||||
extern int ether_ntohost(char *, const struct ether_addr *);
|
||||
#endif
|
||||
#ifdef NEED_NETINET_IF_ETHER_H
|
||||
#include <net/if.h> /* Needed on some platforms */
|
||||
#include <netinet/in.h> /* Needed on some platforms */
|
||||
#include <netinet/if_ether.h>
|
||||
#endif /* NEED_NETINET_IF_ETHER_H */
|
||||
|
||||
#endif /* USE_ETHER_NTOHOST */
|
||||
#ifndef HAVE_DECL_ETHER_NTOHOST
|
||||
/*
|
||||
* No header declares it, so declare it ourselves.
|
||||
*/
|
||||
extern int ether_ntohost(char *, const struct ether_addr *);
|
||||
#endif /* !defined(HAVE_DECL_ETHER_NTOHOST) */
|
||||
#endif /* USER_ETHER_NTOHOST */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#include <pcap.h>
|
||||
#include <pcap-namedb.h>
|
||||
|
@ -1,5 +1,8 @@
|
||||
/* cmakeconfig.h.in */
|
||||
|
||||
/* Define to 1 if arpa/inet.h declares `ether_ntohost' */
|
||||
#cmakedefine ARPA_INET_H_DECLARES_ETHER_NTOHOST 1
|
||||
|
||||
/* define if you want to build the possibly-buggy SMB printer */
|
||||
#cmakedefine ENABLE_SMB 1
|
||||
|
||||
@ -76,12 +79,6 @@
|
||||
/* Define to 1 if you have the <netdnet/dn.h> header file. */
|
||||
#cmakedefine HAVE_NETDNET_DN_H 1
|
||||
|
||||
/* Define to 1 if you have the <netinet/ether.h> header file. */
|
||||
#cmakedefine HAVE_NETINET_ETHER_H 1
|
||||
|
||||
/* Define to 1 if you have the <netinet/if_ether.h> header file. */
|
||||
#cmakedefine HAVE_NETINET_IF_ETHER_H 1
|
||||
|
||||
/* Define to 1 if you have the <net/if_pflog.h> header file. */
|
||||
#cmakedefine HAVE_NET_IF_PFLOG_H 1
|
||||
|
||||
@ -256,6 +253,9 @@
|
||||
/* Define to 1 if netinet/if_ether.h declares `ether_ntohost' */
|
||||
#cmakedefine NETINET_IF_ETHER_H_DECLARES_ETHER_NTOHOST 1
|
||||
|
||||
/* Define to 1 if net/ethernet.h declares `ether_ntohost' */
|
||||
#cmakedefine NET_ETHERNET_H_DECLARES_ETHER_NTOHOST 1
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#cmakedefine PACKAGE_BUGREPORT ""
|
||||
|
||||
@ -277,6 +277,9 @@
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#cmakedefine STDC_HEADERS 1
|
||||
|
||||
/* Define to 1 if sys/ethernet.h declares `ether_ntohost' */
|
||||
#cmakedefine SYS_ETHERNET_H_DECLARES_ETHER_NTOHOST 1
|
||||
|
||||
/* define if you have ether_ntohost() and it works */
|
||||
#cmakedefine USE_ETHER_NTOHOST 1
|
||||
|
||||
|
18
config.h.in
18
config.h.in
@ -1,5 +1,8 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if arpa/inet.h declares `ether_ntohost' */
|
||||
#undef ARPA_INET_H_DECLARES_ETHER_NTOHOST
|
||||
|
||||
/* define if you want to build the possibly-buggy SMB printer */
|
||||
#undef ENABLE_SMB
|
||||
|
||||
@ -24,8 +27,7 @@
|
||||
/* Casper support available */
|
||||
#undef HAVE_CASPER
|
||||
|
||||
/* Define to 1 if you have the declaration of `ether_ntohost', and to 0 if you
|
||||
don't. */
|
||||
/* Define to 1 if you have the declaration of `ether_ntohost' */
|
||||
#undef HAVE_DECL_ETHER_NTOHOST
|
||||
|
||||
/* define if you have the dnet_htoa function */
|
||||
@ -76,12 +78,6 @@
|
||||
/* Define to 1 if you have the <netdnet/dn.h> header file. */
|
||||
#undef HAVE_NETDNET_DN_H
|
||||
|
||||
/* Define to 1 if you have the <netinet/ether.h> header file. */
|
||||
#undef HAVE_NETINET_ETHER_H
|
||||
|
||||
/* Define to 1 if you have the <netinet/if_ether.h> header file. */
|
||||
#undef HAVE_NETINET_IF_ETHER_H
|
||||
|
||||
/* Define to 1 if you have the <net/if_pflog.h> header file. */
|
||||
#undef HAVE_NET_IF_PFLOG_H
|
||||
|
||||
@ -256,6 +252,9 @@
|
||||
/* Define to 1 if netinet/if_ether.h declares `ether_ntohost' */
|
||||
#undef NETINET_IF_ETHER_H_DECLARES_ETHER_NTOHOST
|
||||
|
||||
/* Define to 1 if net/ethernet.h declares `ether_ntohost' */
|
||||
#undef NET_ETHERNET_H_DECLARES_ETHER_NTOHOST
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
@ -277,6 +276,9 @@
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define to 1 if sys/ethernet.h declares `ether_ntohost' */
|
||||
#undef SYS_ETHERNET_H_DECLARES_ETHER_NTOHOST
|
||||
|
||||
/* define if you have ether_ntohost() and it works */
|
||||
#undef USE_ETHER_NTOHOST
|
||||
|
||||
|
216
configure
vendored
216
configure
vendored
@ -5713,11 +5713,12 @@ fi
|
||||
#
|
||||
# You are in a twisty little maze of UN*Xes, all different.
|
||||
# Some might not have ether_ntohost().
|
||||
# Some might have it, but not declare it in any header file.
|
||||
# Some might have it, but declare it in <netinet/if_ether.h>.
|
||||
# Some might have it, but declare it in <netinet/ether.h>
|
||||
# (And some might have it but document it as something declared in
|
||||
# <netinet/ethernet.h>, although <netinet/if_ether.h> appears to work.)
|
||||
# Some might have it and declare it in <net/ethernet.h>.
|
||||
# Some might have it and declare it in <netinet/ether.h>
|
||||
# Some might have it and declare it in <sys/ethernet.h>.
|
||||
# Some might have it and declare it in <arpa/inet.h>.
|
||||
# Some might have it and declare it in <netinet/if_ether.h>.
|
||||
# Some might have it and not declare it in any header file.
|
||||
#
|
||||
# Before you is a C compiler.
|
||||
#
|
||||
@ -5781,39 +5782,135 @@ done
|
||||
if test "$ac_cv_func_ether_ntohost" = yes -a \
|
||||
"$ac_cv_buggy_ether_ntohost" = "no"; then
|
||||
#
|
||||
# OK, we have ether_ntohost(). Do we have <netinet/if_ether.h>?
|
||||
# OK, we have ether_ntohost(). Is it declared in <net/ethernet.h>?
|
||||
#
|
||||
for ac_header in netinet/if_ether.h
|
||||
do :
|
||||
ac_fn_c_check_header_compile "$LINENO" "netinet/if_ether.h" "ac_cv_header_netinet_if_ether_h" "
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
struct mbuf;
|
||||
struct rtentry;
|
||||
#include <net/if.h>
|
||||
# This test fails if we don't have <net/ethernet.h> or if we do
|
||||
# but it doesn't declare ether_ntohost().
|
||||
#
|
||||
ac_fn_c_check_decl "$LINENO" "ether_ntohost" "ac_cv_have_decl_ether_ntohost" "
|
||||
#include <net/ethernet.h>
|
||||
|
||||
"
|
||||
if test "x$ac_cv_header_netinet_if_ether_h" = xyes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_NETINET_IF_ETHER_H 1
|
||||
_ACEOF
|
||||
if test "x$ac_cv_have_decl_ether_ntohost" = xyes; then :
|
||||
|
||||
|
||||
$as_echo "#define NET_ETHERNET_H_DECLARES_ETHER_NTOHOST /**/" >>confdefs.h
|
||||
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# No, how about <netinet/ether.h>, as on Linux?
|
||||
#
|
||||
# This test fails if we don't have <netinet/ether.h>
|
||||
# or if we do but it doesn't declare ether_ntohost().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
ac_fn_c_check_decl "$LINENO" "ether_ntohost" "ac_cv_have_decl_ether_ntohost" "
|
||||
#include <netinet/ether.h>
|
||||
|
||||
if test "$ac_cv_header_netinet_if_ether_h" = yes; then
|
||||
"
|
||||
if test "x$ac_cv_have_decl_ether_ntohost" = xyes; then :
|
||||
|
||||
|
||||
$as_echo "#define NETINET_ETHER_H_DECLARES_ETHER_NTOHOST /**/" >>confdefs.h
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# Yes. Does it declare ether_ntohost()?
|
||||
# No, how about <sys/ethernet.h>, as on Solaris 10
|
||||
# and later?
|
||||
#
|
||||
# This test fails if we don't have <sys/ethernet.h>
|
||||
# or if we do but it doesn't declare ether_ntohost().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
ac_fn_c_check_decl "$LINENO" "ether_ntohost" "ac_cv_have_decl_ether_ntohost" "
|
||||
#include <sys/ethernet.h>
|
||||
|
||||
"
|
||||
if test "x$ac_cv_have_decl_ether_ntohost" = xyes; then :
|
||||
|
||||
|
||||
$as_echo "#define SYS_ETHERNET_H_DECLARES_ETHER_NTOHOST /**/" >>confdefs.h
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# No, how about <arpa/inet.h>, as in AIX?
|
||||
#
|
||||
# This test fails if we don't have <arpa/inet.h>
|
||||
# (if we have ether_ntohost(), we should have
|
||||
# networking, and if we have networking, we should
|
||||
# have <arapa/inet.h>) or if we do but it doesn't
|
||||
# declare ether_ntohost().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
ac_fn_c_check_decl "$LINENO" "ether_ntohost" "ac_cv_have_decl_ether_ntohost" "
|
||||
#include <arpa/inet.h>
|
||||
|
||||
"
|
||||
if test "x$ac_cv_have_decl_ether_ntohost" = xyes; then :
|
||||
|
||||
|
||||
$as_echo "#define ARPA_INET_H_DECLARES_ETHER_NTOHOST /**/" >>confdefs.h
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# No, how about <netinet/if_ether.h>?
|
||||
# On some platforms, it requires <net/if.h> and
|
||||
# <netinet/in.h>, and we always include it with
|
||||
# both of them, so test it with both of them.
|
||||
#
|
||||
# This test fails if we don't have <netinet/if_ether.h>
|
||||
# and the headers we include before it, or if we do but
|
||||
# <netinet/if_ether.h> doesn't declare ether_hostton().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
ac_fn_c_check_decl "$LINENO" "ether_ntohost" "ac_cv_have_decl_ether_ntohost" "
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
struct mbuf;
|
||||
struct rtentry;
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/if_ether.h>
|
||||
|
||||
"
|
||||
@ -5827,63 +5924,27 @@ fi
|
||||
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
# After all that, is ether_ntohost() declared?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
if test "$ac_cv_have_decl_ether_ntohost" = yes; then
|
||||
#
|
||||
# No, how about <netinet/ether.h>, as on Linux?
|
||||
# Yes.
|
||||
#
|
||||
for ac_header in netinet/ether.h
|
||||
do :
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "netinet/ether.h" "ac_cv_header_netinet_ether_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_netinet_ether_h" = xyes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_NETINET_ETHER_H 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
$as_echo "#define HAVE_DECL_ETHER_NTOHOST 1" >>confdefs.h
|
||||
|
||||
done
|
||||
|
||||
if test "$ac_cv_header_netinet_ether_h" = yes; then
|
||||
#
|
||||
# We have it - does it declare ether_ntohost()?
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
ac_fn_c_check_decl "$LINENO" "ether_ntohost" "ac_cv_have_decl_ether_ntohost" "
|
||||
#include <netinet/ether.h>
|
||||
|
||||
"
|
||||
if test "x$ac_cv_have_decl_ether_ntohost" = xyes; then :
|
||||
|
||||
|
||||
$as_echo "#define NETINET_ETHER_H_DECLARES_ETHER_NTOHOST /**/" >>confdefs.h
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
#
|
||||
# Is ether_ntohost() declared?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
else
|
||||
#
|
||||
# No, we'll have to declare it ourselves.
|
||||
# Do we have "struct ether_addr"?
|
||||
# Do we have "struct ether_addr" if we include
|
||||
# <netinet/if_ether.h>?
|
||||
#
|
||||
ac_fn_c_check_type "$LINENO" "struct ether_addr" "ac_cv_type_struct_ether_addr" "
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
struct mbuf;
|
||||
struct rtentry;
|
||||
#include <net/if.h>
|
||||
#include <netinet/if_ether.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/if_ether.h>
|
||||
|
||||
"
|
||||
if test "x$ac_cv_type_struct_ether_addr" = xyes; then :
|
||||
@ -5895,13 +5956,6 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
$as_echo "#define HAVE_DECL_ETHER_NTOHOST 0" >>confdefs.h
|
||||
|
||||
else
|
||||
|
||||
$as_echo "#define HAVE_DECL_ETHER_NTOHOST 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
|
186
configure.ac
186
configure.ac
@ -434,11 +434,12 @@ AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS)
|
||||
#
|
||||
# You are in a twisty little maze of UN*Xes, all different.
|
||||
# Some might not have ether_ntohost().
|
||||
# Some might have it, but not declare it in any header file.
|
||||
# Some might have it, but declare it in <netinet/if_ether.h>.
|
||||
# Some might have it, but declare it in <netinet/ether.h>
|
||||
# (And some might have it but document it as something declared in
|
||||
# <netinet/ethernet.h>, although <netinet/if_ether.h> appears to work.)
|
||||
# Some might have it and declare it in <net/ethernet.h>.
|
||||
# Some might have it and declare it in <netinet/ether.h>
|
||||
# Some might have it and declare it in <sys/ethernet.h>.
|
||||
# Some might have it and declare it in <arpa/inet.h>.
|
||||
# Some might have it and declare it in <netinet/if_ether.h>.
|
||||
# Some might have it and not declare it in any header file.
|
||||
#
|
||||
# Before you is a C compiler.
|
||||
#
|
||||
@ -470,19 +471,114 @@ AC_CHECK_FUNCS(ether_ntohost, [
|
||||
if test "$ac_cv_func_ether_ntohost" = yes -a \
|
||||
"$ac_cv_buggy_ether_ntohost" = "no"; then
|
||||
#
|
||||
# OK, we have ether_ntohost(). Do we have <netinet/if_ether.h>?
|
||||
# OK, we have ether_ntohost(). Is it declared in <net/ethernet.h>?
|
||||
#
|
||||
AC_CHECK_HEADERS(netinet/if_ether.h, , , [
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
struct mbuf;
|
||||
struct rtentry;
|
||||
#include <net/if.h>])
|
||||
if test "$ac_cv_header_netinet_if_ether_h" = yes; then
|
||||
# This test fails if we don't have <net/ethernet.h> or if we do
|
||||
# but it doesn't declare ether_ntohost().
|
||||
#
|
||||
AC_CHECK_DECL(ether_ntohost,
|
||||
[
|
||||
AC_DEFINE(NET_ETHERNET_H_DECLARES_ETHER_NTOHOST,,
|
||||
[Define to 1 if net/ethernet.h declares `ether_ntohost'])
|
||||
],,
|
||||
[
|
||||
#include <net/ethernet.h>
|
||||
])
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# Yes. Does it declare ether_ntohost()?
|
||||
# No, how about <netinet/ether.h>, as on Linux?
|
||||
#
|
||||
# This test fails if we don't have <netinet/ether.h>
|
||||
# or if we do but it doesn't declare ether_ntohost().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
AC_CHECK_DECL(ether_ntohost,
|
||||
[
|
||||
AC_DEFINE(NETINET_ETHER_H_DECLARES_ETHER_NTOHOST,,
|
||||
[Define to 1 if netinet/ether.h declares `ether_ntohost'])
|
||||
],,
|
||||
[
|
||||
#include <netinet/ether.h>
|
||||
])
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# No, how about <sys/ethernet.h>, as on Solaris 10
|
||||
# and later?
|
||||
#
|
||||
# This test fails if we don't have <sys/ethernet.h>
|
||||
# or if we do but it doesn't declare ether_ntohost().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
AC_CHECK_DECL(ether_ntohost,
|
||||
[
|
||||
AC_DEFINE(SYS_ETHERNET_H_DECLARES_ETHER_NTOHOST,,
|
||||
[Define to 1 if sys/ethernet.h declares `ether_ntohost'])
|
||||
],,
|
||||
[
|
||||
#include <sys/ethernet.h>
|
||||
])
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# No, how about <arpa/inet.h>, as in AIX?
|
||||
#
|
||||
# This test fails if we don't have <arpa/inet.h>
|
||||
# (if we have ether_ntohost(), we should have
|
||||
# networking, and if we have networking, we should
|
||||
# have <arapa/inet.h>) or if we do but it doesn't
|
||||
# declare ether_ntohost().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
AC_CHECK_DECL(ether_ntohost,
|
||||
[
|
||||
AC_DEFINE(ARPA_INET_H_DECLARES_ETHER_NTOHOST,,
|
||||
[Define to 1 if arpa/inet.h declares `ether_ntohost'])
|
||||
],,
|
||||
[
|
||||
#include <arpa/inet.h>
|
||||
])
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
#
|
||||
# No, how about <netinet/if_ether.h>?
|
||||
# On some platforms, it requires <net/if.h> and
|
||||
# <netinet/in.h>, and we always include it with
|
||||
# both of them, so test it with both of them.
|
||||
#
|
||||
# This test fails if we don't have <netinet/if_ether.h>
|
||||
# and the headers we include before it, or if we do but
|
||||
# <netinet/if_ether.h> doesn't declare ether_hostton().
|
||||
#
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
AC_CHECK_DECL(ether_ntohost,
|
||||
[
|
||||
AC_DEFINE(NETINET_IF_ETHER_H_DECLARES_ETHER_NTOHOST,,
|
||||
@ -491,66 +587,34 @@ struct rtentry;
|
||||
[
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
struct mbuf;
|
||||
struct rtentry;
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/if_ether.h>
|
||||
])
|
||||
fi
|
||||
#
|
||||
# Did that succeed?
|
||||
# After all that, is ether_ntohost() declared?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
if test "$ac_cv_have_decl_ether_ntohost" = yes; then
|
||||
#
|
||||
# No, how about <netinet/ether.h>, as on Linux?
|
||||
# Yes.
|
||||
#
|
||||
AC_CHECK_HEADERS(netinet/ether.h)
|
||||
if test "$ac_cv_header_netinet_ether_h" = yes; then
|
||||
#
|
||||
# We have it - does it declare ether_ntohost()?
|
||||
# Unset ac_cv_have_decl_ether_ntohost so we don't
|
||||
# treat the previous failure as a cached value and
|
||||
# suppress the next test.
|
||||
#
|
||||
unset ac_cv_have_decl_ether_ntohost
|
||||
AC_CHECK_DECL(ether_ntohost,
|
||||
[
|
||||
AC_DEFINE(NETINET_ETHER_H_DECLARES_ETHER_NTOHOST,,
|
||||
[Define to 1 if netinet/ether.h declares `ether_ntohost'])
|
||||
],,
|
||||
[
|
||||
#include <netinet/ether.h>
|
||||
])
|
||||
fi
|
||||
fi
|
||||
#
|
||||
# Is ether_ntohost() declared?
|
||||
#
|
||||
if test "$ac_cv_have_decl_ether_ntohost" != yes; then
|
||||
AC_DEFINE(HAVE_DECL_ETHER_NTOHOST, 1,
|
||||
[Define to 1 if you have the declaration of `ether_ntohost'])
|
||||
else
|
||||
#
|
||||
# No, we'll have to declare it ourselves.
|
||||
# Do we have "struct ether_addr"?
|
||||
# Do we have "struct ether_addr" if we include
|
||||
# <netinet/if_ether.h>?
|
||||
#
|
||||
AC_CHECK_TYPES(struct ether_addr,,,
|
||||
[
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
struct mbuf;
|
||||
struct rtentry;
|
||||
#include <net/if.h>
|
||||
#include <netinet/if_ether.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/if_ether.h>
|
||||
])
|
||||
AC_DEFINE(HAVE_DECL_ETHER_NTOHOST, 0,
|
||||
[Define to 1 if you have the declaration of `ether_ntohost', and to 0 if you
|
||||
don't.])
|
||||
else
|
||||
AC_DEFINE(HAVE_DECL_ETHER_NTOHOST, 1,
|
||||
[Define to 1 if you have the declaration of `ether_ntohost', and to 0 if you
|
||||
don't.])
|
||||
fi
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user