/*
 *  ICMP MIB group interface - icmp.h
 *
 */
#ifndef _MIBGROUP_ICMP_H
#define _MIBGROUP_ICMP_H

config_arch_require(solaris2,  kernel_sunos5)
config_arch_require(linux,     mibII/kernel_linux)
config_arch_require(freebsd4,  mibII/kernel_sysctl)
config_arch_require(freebsd5,  mibII/kernel_sysctl)
config_arch_require(freebsd6,  mibII/kernel_sysctl)
config_arch_require(freebsd7,  mibII/kernel_sysctl)
config_arch_require(freebsd8,  mibII/kernel_sysctl)
config_arch_require(freebsd9,  mibII/kernel_sysctl)
config_arch_require(freebsd10, mibII/kernel_sysctl)
config_arch_require(netbsd,    mibII/kernel_netbsd)
config_arch_require(netbsdelf, mibII/kernel_netbsd)
config_arch_require(openbsd4,  mibII/kernel_sysctl)
config_arch_require(openbsd5,  mibII/kernel_sysctl)
config_arch_require(dragonfly2, mibII/kernel_sysctl)
config_arch_require(dragonfly3, mibII/kernel_sysctl)
config_arch_require(darwin10,  mibII/kernel_sysctl)
config_arch_require(darwin11,  mibII/kernel_sysctl)
config_arch_require(darwin12,  mibII/kernel_sysctl)

#include <net-snmp/agent/cache_handler.h>

extern void     init_icmp(void);
extern Netsnmp_Node_Handler icmp_handler;
extern Netsnmp_Node_Handler icmp_stats_table_handler;
extern Netsnmp_Node_Handler icmp_msg_stats_table_handler;
extern NetsnmpCacheLoad icmp_load;
extern NetsnmpCacheFree icmp_free;

#define ICMPINMSGS	      1
#define ICMPINERRORS	      2
#define ICMPINDESTUNREACHS    3
#define ICMPINTIMEEXCDS       4
#define ICMPINPARMPROBS       5
#define ICMPINSRCQUENCHS      6
#define ICMPINREDIRECTS       7
#define ICMPINECHOS	      8
#define ICMPINECHOREPS	      9
#define ICMPINTIMESTAMPS     10
#define ICMPINTIMESTAMPREPS  11
#define ICMPINADDRMASKS      12
#define ICMPINADDRMASKREPS   13
#define ICMPOUTMSGS	     14
#define ICMPOUTERRORS	     15
#define ICMPOUTDESTUNREACHS  16
#define ICMPOUTTIMEEXCDS     17
#define ICMPOUTPARMPROBS     18
#define ICMPOUTSRCQUENCHS    19
#define ICMPOUTREDIRECTS     20
#define ICMPOUTECHOS	     21
#define ICMPOUTECHOREPS      22
#define ICMPOUTTIMESTAMPS    23
#define ICMPOUTTIMESTAMPREPS 24
#define ICMPOUTADDRMASKS     25
#define ICMPOUTADDRMASKREPS  26

#define ICMPSTATSTABLE       29
#define ICMP_STAT_IPVER       1
#define ICMP_STAT_INMSG       2 
#define ICMP_STAT_INERR       3 
#define ICMP_STAT_OUTMSG      4 
#define ICMP_STAT_OUTERR      5 

#define ICMPMSGSTATSTABLE     30
#define ICMP_MSG_STAT_IPVER    1
#define ICMP_MSG_STAT_TYPE     2
#define ICMP_MSG_STAT_IN_PKTS  3
#define ICMP_MSG_STAT_OUT_PKTS 4

#endif                          /* _MIBGROUP_ICMP_H */
