19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (c) 1982, 1986, 1993
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *	The Regents of the University of California.  All rights reserved.
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Redistribution and use in source and binary forms, with or without
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * modification, are permitted provided that the following conditions
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are met:
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *    documentation and/or other materials provided with the distribution.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3. Neither the name of the University nor the names of its contributors
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *    may be used to endorse or promote products derived from this software
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *    without specific prior written permission.
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19c8230519728b14065effd3b7d4eca273ff86160cDianne Hackborn * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20d2932243e3313b59e7538641731aa98852bc5ac7Dianne Hackborn * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2780943d8daa6ab31ab5c486d57aea406aa0730d58Svetoslav Ganov * SUCH DAMAGE.
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
29c68c913d357e2955d4bd7ca52829071e531c7825Dianne Hackborn *	@(#)icmp_var.h	8.1 (Berkeley) 6/10/93
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * icmp_var.h,v 1.4 1995/02/16 00:27:40 wollman Exp
31e2515eebf42c763c0a2d9f873a153711778cfc17Dianne Hackborn */
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef _NETINET_ICMP_VAR_H_
34a0c283eac33dd2da72235751bbfa4f2d9898d5eaDianne Hackborn#define _NETINET_ICMP_VAR_H_
351ebccf531d1049853b3b0630035434619682c016Dianne Hackborn
36f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8Dianne Hackborn/*
37390517be2d60dd6e6264150c190c372d89bb331aDianne Hackborn * Variables related to this implementation
381655be46d2b7d45f071a6a1411ac8bd41c749c21Dianne Hackborn * of the internet control message protocol.
391ebccf531d1049853b3b0630035434619682c016Dianne Hackborn */
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstruct icmpstat {
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* statistics related to input messages processed */
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	u_long  icps_received;		/* #ICMP packets received */
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	u_long	icps_tooshort;		/* packet < ICMP_MINLEN */
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	u_long	icps_checksum;		/* bad checksum */
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	u_long	icps_notsupp;		/* #ICMP packets not supported */
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	u_long  icps_badtype;		/* #with bad type feild */
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	u_long	icps_reflect;		/* number of responses */
48be4e6aaa0252dd7da28b7aa85beba982538efa46Dianne Hackborn};
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
51a0c283eac33dd2da72235751bbfa4f2d9898d5eaDianne Hackborn * Names for ICMP sysctl objects
52a0c283eac33dd2da72235751bbfa4f2d9898d5eaDianne Hackborn */
53a0c283eac33dd2da72235751bbfa4f2d9898d5eaDianne Hackborn#define	ICMPCTL_MASKREPL	1	/* allow replies to netmask requests */
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define	ICMPCTL_STATS		2	/* statistics (read-only) */
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define ICMPCTL_MAXID		3
56d2932243e3313b59e7538641731aa98852bc5ac7Dianne Hackborn
57d2932243e3313b59e7538641731aa98852bc5ac7Dianne Hackborn#define ICMPCTL_NAMES { \
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	{ 0, 0 }, \
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	{ "maskrepl", CTLTYPE_INT }, \
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project	{ "stats", CTLTYPE_STRUCT }, \
61be4c1d74a758f40de25e796a991ccfd1fe356857Dianne Hackborn}
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifdef LOG_ENABLED
64dd71fc8baeee0d09008d0fa67d6bf3d23cf21baaDianne Hackbornextern struct icmpstat icmpstat;
65dd71fc8baeee0d09008d0fa67d6bf3d23cf21baaDianne Hackborn#endif
66f1cca18ae460b66242988a8a6204c4a42b6fa1c1Dianne Hackborn
67f1cca18ae460b66242988a8a6204c4a42b6fa1c1Dianne Hackborn#endif
68f1cca18ae460b66242988a8a6204c4a42b6fa1c1Dianne Hackborn