AC_TYPE_SIZE_T
AC_TYPE_UID_T
+dnl Check for struct sockaddr_in6
+AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_struct_sockaddr_in6,
+[AC_TRY_COMPILE([#include <sys/socket.h>
+#include <netinet/in.h>], [struct sockaddr_in6 s; s;],
+ ac_cv_struct_sockaddr_in6=yes, ac_cv_struct_sockaddr_in6=no)])
+if test "$ac_cv_struct_sockaddr_in6" = yes; then
+ AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6,1,[Whether you have struct sockaddr_in6])
+fi
+
dnl Checks for library functions.
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(
sap = *sal;
do {
switch (sai->ai_family) {
-# ifdef AF_INET6
+# ifdef HAVE_STRUCT_SOCKADDR_IN6
case AF_INET6: {
*sap = emalloc(sizeof(struct sockaddr_in6));
if (*sap == NULL) {
s = socket((*sal)->sa_family, socktype, 0);
if (s != SOCK_ERR) {
switch ((*sal)->sa_family) {
-#if defined( HAVE_GETADDRINFO ) && defined( AF_INET6 )
+#if defined( HAVE_GETADDRINFO ) && defined( HAVE_STRUCT_SOCKADDR_IN6 )
case AF_INET6: {
struct sockaddr_in6 *sa =
(struct sockaddr_in6 *)*sal;