xref: /minix3/usr.sbin/rtadvd/if.h (revision 8f957290eb976b379733d0b3811fcb43f8fbaf1a)
1*8f957290SDavid van Moolenbroek /*	$NetBSD: if.h,v 1.10 2012/12/13 15:36:36 roy Exp $	*/
2*8f957290SDavid van Moolenbroek /*	$KAME: if.h,v 1.12 2003/09/21 07:17:03 itojun Exp $	*/
3*8f957290SDavid van Moolenbroek 
4*8f957290SDavid van Moolenbroek /*
5*8f957290SDavid van Moolenbroek  * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
6*8f957290SDavid van Moolenbroek  * All rights reserved.
7*8f957290SDavid van Moolenbroek  *
8*8f957290SDavid van Moolenbroek  * Redistribution and use in source and binary forms, with or without
9*8f957290SDavid van Moolenbroek  * modification, are permitted provided that the following conditions
10*8f957290SDavid van Moolenbroek  * are met:
11*8f957290SDavid van Moolenbroek  * 1. Redistributions of source code must retain the above copyright
12*8f957290SDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer.
13*8f957290SDavid van Moolenbroek  * 2. Redistributions in binary form must reproduce the above copyright
14*8f957290SDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer in the
15*8f957290SDavid van Moolenbroek  *    documentation and/or other materials provided with the distribution.
16*8f957290SDavid van Moolenbroek  * 3. Neither the name of the project nor the names of its contributors
17*8f957290SDavid van Moolenbroek  *    may be used to endorse or promote products derived from this software
18*8f957290SDavid van Moolenbroek  *    without specific prior written permission.
19*8f957290SDavid van Moolenbroek  *
20*8f957290SDavid van Moolenbroek  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
21*8f957290SDavid van Moolenbroek  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22*8f957290SDavid van Moolenbroek  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23*8f957290SDavid van Moolenbroek  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
24*8f957290SDavid van Moolenbroek  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25*8f957290SDavid van Moolenbroek  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26*8f957290SDavid van Moolenbroek  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27*8f957290SDavid van Moolenbroek  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28*8f957290SDavid van Moolenbroek  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29*8f957290SDavid van Moolenbroek  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30*8f957290SDavid van Moolenbroek  * SUCH DAMAGE.
31*8f957290SDavid van Moolenbroek  */
32*8f957290SDavid van Moolenbroek 
33*8f957290SDavid van Moolenbroek #define RTADV_TYPE2BITMASK(type) (0x1 << type)
34*8f957290SDavid van Moolenbroek 
35*8f957290SDavid van Moolenbroek struct nd_opt_hdr;
36*8f957290SDavid van Moolenbroek struct sockaddr_dl *if_nametosdl(const char *);
37*8f957290SDavid van Moolenbroek int if_getmtu(const char *);
38*8f957290SDavid van Moolenbroek int if_getflags(int, int);
39*8f957290SDavid van Moolenbroek int lladdropt_length(struct sockaddr_dl *);
40*8f957290SDavid van Moolenbroek void lladdropt_fill(struct sockaddr_dl *, struct nd_opt_hdr *);
41*8f957290SDavid van Moolenbroek char *get_next_msg(char *, char *, int, size_t *, int);
42*8f957290SDavid van Moolenbroek struct in6_addr *get_addr(char *);
43*8f957290SDavid van Moolenbroek int get_rtm_ifindex(char *);
44*8f957290SDavid van Moolenbroek int get_ifm_ifindex(char *);
45*8f957290SDavid van Moolenbroek int get_ifam_ifindex(char *);
46*8f957290SDavid van Moolenbroek int get_ifm_flags(char *);
47*8f957290SDavid van Moolenbroek #ifdef RTM_IFANNOUNCE
48*8f957290SDavid van Moolenbroek int get_ifan_ifindex(char *);
49*8f957290SDavid van Moolenbroek int get_ifan_what(char *);
50*8f957290SDavid van Moolenbroek #endif
51*8f957290SDavid van Moolenbroek int get_prefixlen(char *);
52*8f957290SDavid van Moolenbroek int prefixlen(const unsigned char *, const unsigned char *);
53*8f957290SDavid van Moolenbroek int rtmsg_type(char *);
54*8f957290SDavid van Moolenbroek int rtmsg_len(char *);
55