• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1dnl *
2dnl * Copyright (c) 2001  Motoyuki Kasahara
3dnl *
4dnl * Redistribution and use in source and binary forms, with or without
5dnl * modification, are permitted provided that the following conditions
6dnl * are met:
7dnl * 1. Redistributions of source code must retain the above copyright
8dnl *    notice, this list of conditions and the following disclaimer.
9dnl * 2. Redistributions in binary form must reproduce the above copyright
10dnl *    notice, this list of conditions and the following disclaimer in the
11dnl *    documentation and/or other materials provided with the distribution.
12dnl * 3. Neither the name of the project nor the names of its contributors
13dnl *    may be used to endorse or promote products derived from this software
14dnl *    without specific prior written permission.
15dnl *
16dnl * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
17dnl * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18dnl * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19dnl * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORSBE
20dnl * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21dnl * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22dnl * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23dnl * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24dnl * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25dnl * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26dnl * THE POSSIBILITY OF SUCH DAMAGE.
27dnl *
28
29dnl *
30dnl * Check for struct in6_addr
31dnl *
32AC_DEFUN([AC_STRUCT_IN6_ADDR],
33[AC_CACHE_CHECK(for struct in6_addr, ac_cv_struct_in6_addr,
34[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
35#include <sys/types.h>
36#include <sys/socket.h>
37#include <netinet/in.h>]], [[
38struct in6_addr address;
39]])],[ac_cv_struct_in6_addr=yes],[ac_cv_struct_in6_addr=no])])
40if test "$ac_cv_struct_in6_addr" = yes; then
41    AC_DEFINE(HAVE_STRUCT_IN6_ADDR, 1,
42[Define to 1 if <netinet/in.h> defines `struct in6_addr'])
43fi])
44
45dnl *
46dnl * Check for in6addr_any.
47dnl *
48AC_DEFUN([AC_DECL_IN6ADDR_ANY],
49[AC_REQUIRE([AC_STRUCT_IN6_ADDR])
50if test $ac_cv_struct_in6_addr = no; then
51    ac_cv_decl_in6addr_any=no
52else
53    AC_CACHE_CHECK(for in6addr_any declaration in netinet/in.h,
54    ac_cv_decl_in6addr_any,
55    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
56#include <sys/types.h>
57#include <sys/socket.h>
58#include <netinet/in.h>]], [[
59unsigned char *address;
60address = (char *)&in6addr_any;
61]])],[ac_cv_decl_in6addr_any=yes],[ac_cv_decl_in6addr_any=no])])
62    if test "$ac_cv_decl_in6addr_any" = yes; then
63        AC_DEFINE(IN6ADDR_ANY_DECLARED, 1,
64[Define to 1 if `in6addr_any' is declared by <netinet/in.h>])
65    fi
66fi])
67
68dnl *
69dnl * Check for in6addr_loopback.
70dnl *
71AC_DEFUN([AC_DECL_IN6ADDR_LOOPBACK],
72[AC_REQUIRE([AC_STRUCT_IN6_ADDR])
73if test $ac_cv_struct_in6_addr = no; then
74    ac_cv_decl_in6addr_loopback=no
75else
76    AC_CACHE_CHECK(for in6addr_loopback declaration in netinet/in.h,
77    ac_cv_decl_in6addr_loopback,
78    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
79#include <sys/types.h>
80#include <sys/socket.h>
81#include <netinet/in.h>]], [[
82unsigned char *address;
83address = (char *)&in6addr_loopback;
84]])],[ac_cv_decl_in6addr_loopback=yes],[ac_cv_decl_in6addr_loopback=no])])
85    if test "$ac_cv_decl_in6addr_loopback" = yes; then
86        AC_DEFINE(IN6ADDR_LOOPBACK_DECLARED, 1,
87[Define to 1 if `in6addr_loopback' is declared by <netinet/in.h>])
88    fi
89fi])
90