00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _LINUX_ICMP_H
00022 #define _LINUX_ICMP_H
00023
00024 #define ICMP_ECHOREPLY 0
00025 #define ICMP_DEST_UNREACH 3
00026 #define ICMP_SOURCE_QUENCH 4
00027 #define ICMP_REDIRECT 5
00028 #define ICMP_ECHO 8
00029 #define ICMP_TIME_EXCEEDED 11
00030 #define ICMP_PARAMETERPROB 12
00031 #define ICMP_TIMESTAMP 13
00032 #define ICMP_TIMESTAMPREPLY 14
00033 #define ICMP_INFO_REQUEST 15
00034 #define ICMP_INFO_REPLY 16
00035 #define ICMP_ADDRESS 17
00036 #define ICMP_ADDRESSREPLY 18
00037
00038
00039
00040 #define ICMP_NET_UNREACH 0
00041 #define ICMP_HOST_UNREACH 1
00042 #define ICMP_PROT_UNREACH 2
00043 #define ICMP_PORT_UNREACH 3
00044 #define ICMP_FRAG_NEEDED 4
00045 #define ICMP_SR_FAILED 5
00046 #define ICMP_NET_UNKNOWN 6
00047 #define ICMP_HOST_UNKNOWN 7
00048 #define ICMP_HOST_ISOLATED 8
00049 #define ICMP_NET_ANO 9
00050 #define ICMP_HOST_ANO 10
00051 #define ICMP_NET_UNR_TOS 11
00052 #define ICMP_HOST_UNR_TOS 12
00053
00054
00055 #define ICMP_REDIR_NET 0
00056 #define ICMP_REDIR_HOST 1
00057 #define ICMP_REDIR_NETTOS 2
00058 #define ICMP_REDIR_HOSTTOS 3
00059
00060
00061 #define ICMP_EXC_TTL 0
00062 #define ICMP_EXC_FRAGTIME 1
00063
00064
00065 struct icmphdr {
00066 unsigned char type;
00067 unsigned char code;
00068 unsigned short checksum;
00069 union {
00070 struct {
00071 unsigned short id;
00072 unsigned short sequence;
00073 } echo;
00074 unsigned long gateway;
00075 } un;
00076 };
00077
00078
00079 struct icmp_err {
00080 int errno;
00081 unsigned fatal:1;
00082 };
00083
00084
00085 #endif // _LINUX_ICMP_H