2005-04-16 15:20:36 -07:00
/*
* INET An implementation of the TCP / IP protocol suite for the LINUX
* operating system . INET is implemented using the BSD Socket
* interface as the means of communication with the user level .
*
* Definitions for the ICMP module .
*
* Version : @ ( # ) icmp . h 1.0 .4 05 / 13 / 93
*
2005-05-05 16:16:16 -07:00
* Authors : Ross Biro
2005-04-16 15:20:36 -07:00
* Fred N . van Kempen , < waltje @ uWalt . NL . Mugnet . ORG >
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version
* 2 of the License , or ( at your option ) any later version .
*/
# ifndef _ICMP_H
# define _ICMP_H
# include <linux/icmp.h>
2005-12-27 02:43:12 -02:00
# include <net/inet_sock.h>
2005-04-16 15:20:36 -07:00
# include <net/snmp.h>
struct icmp_err {
int errno ;
2012-04-15 05:58:06 +00:00
unsigned int fatal : 1 ;
2005-04-16 15:20:36 -07:00
} ;
2010-01-22 10:18:25 +00:00
extern const struct icmp_err icmp_err_convert [ ] ;
2008-07-18 04:04:02 -07:00
# define ICMP_INC_STATS(net, field) SNMP_INC_STATS((net)->mib.icmp_statistics, field)
# define ICMP_INC_STATS_BH(net, field) SNMP_INC_STATS_BH((net)->mib.icmp_statistics, field)
2011-11-08 13:04:43 +00:00
# define ICMPMSGOUT_INC_STATS(net, field) SNMP_INC_STATS_ATOMIC_LONG((net)->mib.icmpmsg_statistics, field+256)
# define ICMPMSGIN_INC_STATS_BH(net, field) SNMP_INC_STATS_ATOMIC_LONG((net)->mib.icmpmsg_statistics, field)
2005-04-16 15:20:36 -07:00
2005-12-27 02:43:12 -02:00
struct dst_entry ;
struct net_proto_family ;
struct sk_buff ;
2008-07-14 23:00:43 -07:00
struct net ;
2005-12-27 02:43:12 -02:00
2006-09-26 22:17:28 -07:00
extern void icmp_send ( struct sk_buff * skb_in , int type , int code , __be32 info ) ;
2005-04-16 15:20:36 -07:00
extern int icmp_rcv ( struct sk_buff * skb ) ;
2008-02-29 11:14:50 -08:00
extern int icmp_init ( void ) ;
2008-07-14 23:00:43 -07:00
extern void icmp_out_count ( struct net * net , unsigned char type ) ;
2005-04-16 15:20:36 -07:00
# endif /* _ICMP_H */