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