/********************************************************Copyright.IBM*****/
/*                                                                        */
/*                                                                        */
/*      Multi-Protocol Transport Services - icmp_var.h                    */
/*                                                                        */
/*      Licensed Materials - Property of IBM (R)                          */
/*      5622-069                                                          */
/*      (C) Copyright IBM Corp. 1993, All right reserved.                 */
/*      US Government Users Restricted Rights - Use, duplication,         */
/*      disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */
/*                                                                        */
/********************************************************Copyright.IBM*****/




/*
 * Copyright (c) 1982, 1986 Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that this notice is preserved and that due credit is given
 * to the University of California at Berkeley. The name of the University
 * may not be used to endorse or promote products derived from this
 * software without specific prior written permission. This software
 * is provided ``as is'' without express or implied warranty.
 *
 *      @(#)icmp_var.h  7.3 (Berkeley) 12/7/87
 */

/*
 * Variables related to this implementation
 * of the internet control message protocol.
 */
struct  icmpstat {
/* statistics related to icmp packets generated */
        int     icps_error;             /* # of calls to icmp_error */
        int     icps_oldshort;          /* no error 'cuz old ip too short */
        int     icps_oldicmp;           /* no error 'cuz old was icmp */
        int     icps_outhist[ICMP_MAXTYPE + 1];
/* statistics related to input messages processed */
        int     icps_badcode;           /* icmp_code out of range */
        int     icps_tooshort;          /* packet < ICMP_MINLEN */
        int     icps_checksum;          /* bad checksum */
        int     icps_badlen;            /* calculated bound mismatch */
        int     icps_reflect;           /* number of responses */
        int     icps_inhist[ICMP_MAXTYPE + 1];
#ifdef MIB
        u_long  icps_OutMsgs;
        u_long  icps_OutErrors;
        u_long  icps_InMsgs;
        u_long  icps_InDestUnreachs;
        u_long  icps_InTimeExcds;
        u_long  icps_InParmProbs;
        u_long  icps_InSrcQuenchs;
        u_long  icps_InRedirects;
        u_long  icps_InEchos;
        u_long  icps_InEchoReps;
        u_long  icps_InTimestamps;
        u_long  icps_InTimestampReps;
        u_long  icps_InAddrMasks;
        u_long  icps_InAddrMaskReps;
        u_long  icps_OutDestUnreachs;
        u_long  icps_OutTimeExcds;
        u_long  icps_OutParmProbs;
        u_long  icps_OutSrcQuenchs;
        u_long  icps_OutRedirects;
        u_long  icps_OutEchos;
        u_long  icps_OutEchoReps;
        u_long  icps_OutTimestamps;
        u_long  icps_OutTimestampReps;
        u_long  icps_OutAddrMasks;
        u_long  icps_OutAddrMaskReps;
#endif
};

#ifdef KERNEL
struct  icmpstat icmpstat;
#endif
