18b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/*
28b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Copyright (c) 1982, 1986, 1993
38b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *	The Regents of the University of California.  All rights reserved.
48b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
58b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Redistribution and use in source and binary forms, with or without
68b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * modification, are permitted provided that the following conditions
78b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * are met:
88b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
98b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
108b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
118b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
128b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    documentation and/or other materials provided with the distribution.
135d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner * 3. Neither the name of the University nor the names of its contributors
148b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    may be used to endorse or promote products derived from this software
158b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *    without specific prior written permission.
168b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
178b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
188b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
198b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
208b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
218b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
228b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
238b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
248b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
258b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
268b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
278b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * SUCH DAMAGE.
288b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *
298b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project *	@(#)icmp_var.h	8.1 (Berkeley) 6/10/93
308b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * icmp_var.h,v 1.4 1995/02/16 00:27:40 wollman Exp
318b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */
328b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
338b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#ifndef _NETINET_ICMP_VAR_H_
348b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define _NETINET_ICMP_VAR_H_
358b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
368b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/*
378b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Variables related to this implementation
388b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * of the internet control message protocol.
398b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */
408b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectstruct icmpstat {
418b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/* statistics related to input messages processed */
428b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	u_long  icps_received;		/* #ICMP packets received */
438b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	u_long	icps_tooshort;		/* packet < ICMP_MINLEN */
448b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	u_long	icps_checksum;		/* bad checksum */
458b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	u_long	icps_notsupp;		/* #ICMP packets not supported */
468b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	u_long  icps_badtype;		/* #with bad type feild */
478b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	u_long	icps_reflect;		/* number of responses */
488b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project};
498b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
508b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project/*
518b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project * Names for ICMP sysctl objects
528b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project */
538b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define	ICMPCTL_MASKREPL	1	/* allow replies to netmask requests */
548b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define	ICMPCTL_STATS		2	/* statistics (read-only) */
558b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define ICMPCTL_MAXID		3
568b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
578b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#define ICMPCTL_NAMES { \
588b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	{ 0, 0 }, \
598b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	{ "maskrepl", CTLTYPE_INT }, \
608b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project	{ "stats", CTLTYPE_STRUCT }, \
618b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project}
628b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
635d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#ifdef LOG_ENABLED
648b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Projectextern struct icmpstat icmpstat;
655d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#endif
668b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project
678b23a6c7e1aee255004dd19098d4c2462b61b849The Android Open Source Project#endif
68