icmp.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * INET An implementation of the TCP/IP protocol suite for the LINUX
  3.  * operating system.  INET is implemented using the  BSD Socket
  4.  * interface as the means of communication with the user level.
  5.  *
  6.  * Definitions for the ICMP module.
  7.  *
  8.  * Version: @(#)icmp.h 1.0.4 05/13/93
  9.  *
  10.  * Authors: Ross Biro, <bir7@leland.Stanford.Edu>
  11.  * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
  12.  *
  13.  * This program is free software; you can redistribute it and/or
  14.  * modify it under the terms of the GNU General Public License
  15.  * as published by the Free Software Foundation; either version
  16.  * 2 of the License, or (at your option) any later version.
  17.  */
  18. #ifndef _ICMP_H
  19. #define _ICMP_H
  20. #include <linux/icmp.h>
  21. #include <linux/skbuff.h>
  22. #include <net/sock.h>
  23. #include <net/protocol.h>
  24. struct icmp_err {
  25.   int errno;
  26.   unsigned fatal:1;
  27. };
  28. extern struct icmp_err icmp_err_convert[];
  29. extern struct icmp_mib icmp_statistics[NR_CPUS*2];
  30. #define ICMP_INC_STATS(field) SNMP_INC_STATS(icmp_statistics, field)
  31. #define ICMP_INC_STATS_BH(field) SNMP_INC_STATS_BH(icmp_statistics, field)
  32. #define ICMP_INC_STATS_USER(field)  SNMP_INC_STATS_USER(icmp_statistics, field)
  33. extern void icmp_send(struct sk_buff *skb_in,  int type, int code, u32 info);
  34. extern int icmp_rcv(struct sk_buff *skb);
  35. extern int icmp_ioctl(struct sock *sk, int cmd, unsigned long arg);
  36. extern void icmp_init(struct net_proto_family *ops);
  37. /* Move into dst.h ? */
  38. extern int  xrlim_allow(struct dst_entry *dst, int timeout);
  39. #endif /* _ICMP_H */