pim6_var.h revision 1.4 1 /* $NetBSD: pim6_var.h,v 1.4 1999/07/06 12:23:23 itojun Exp $ */
2
3 /*
4 * Copyright (C) 1998 WIDE Project.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the project nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 */
31 /* KAME Id: pim6_var.h,v 1.1.4.2.6.2 1999/05/20 06:11:08 itojun Exp */
32
33 #ifndef _NETINET6_PIM6_VAR_H_
34 #define _NETINET6_PIM6_VAR_H_
35
36 /*
37 * Protocol Independent Multicast (PIM),
38 * implementation-specific definitions.
39 *
40 * Written by George Edmond Eddy (Rusty), ISI, February 1998
41 * Modified by Pavlin Ivanov Radoslavov, USC/ISI, May 1998
42 */
43
44 struct pim6stat {
45 u_int pim6s_rcv_total; /* total PIM messages received */
46 u_int pim6s_rcv_tooshort; /* received with too few bytes */
47 u_int pim6s_rcv_badsum; /* received with bad checksum */
48 u_int pim6s_rcv_badversion; /* received bad PIM version */
49 u_int pim6s_rcv_registers; /* received registers */
50 u_int pim6s_rcv_badregisters; /* received invalid registers */
51 u_int pim6s_snd_registers; /* sent registers */
52 };
53
54 #if (defined(KERNEL)) || (defined(_KERNEL))
55 extern struct pim6stat pim6stat;
56
57 int pim6_input __P((struct mbuf **, int*, int));
58 #endif /* KERNEL */
59
60 /*
61 * Names for PIM sysctl objects
62 */
63 #if (defined(__bsdi__)) || (defined(__NetBSD__))
64 #define PIMCTL_STATS 1 /* statistics (read-only) */
65 #define PIMCTL_MAXID 2
66
67 #define PIMCTL_NAMES { \
68 { 0, 0 }, \
69 { 0, 0 }, \
70 }
71 #endif /* bsdi || NetBSD */
72
73 #endif /* _NETINET6_PIM6_VAR_H_ */
74