|
|
1.1 root 1: /* Internet Control Message Protocol (ICMP) header file */
2:
3:
4: #define ICMP_ECHOREPLY 0
5: #define ICMP_DEST_UNREACH 3
6: #define ICMP_SOURCE_QUENCH 4
7: #define ICMP_REDIRECT 5
8: #define ICMP_ECHO 8
9: #define ICMP_TIME_EXCEEDED 11
10: #define ICMP_PARAMETERPROB 12
11: #define ICMP_TIMESTAMP 13
12: #define ICMP_TIMESTAMPREPLY 14
13: #define ICMP_INFO_REQUEST 15
14: #define ICMP_INFO_REPLY 16
15:
16:
17: /* used by unreachable. */
18:
19: #define ICMP_NET_UNREACH 0
20: #define ICMP_HOST_UNREACH 1
21: #define ICMP_PROT_UNREACH 2
22: #define ICMP_PORT_UNREACH 3 /* lots of room for confusion. */
23: #define ICMP_FRAG_NNEDED 4
24: #define ICMP_SR_FAILED 5
25: #define ICMP_NET_UNKNOWN 6
26: #define ICMP_HOST_UNKNOWN 7
27: #define ICMP_HOST_ISOLATED 8
28: #define ICMP_NET_ANO 9
29: #define ICMP_HOST_ANO 10
30: #define ICMP_NET_UNR_TOS 11
31: #define ICMP_HOST_UNR_TOS 12
32:
33:
34: struct icmp_header
35: {
36: unsigned char type;
37: unsigned char code;
38: unsigned short checksum;
39: union
40: {
41: struct
42: {
43: unsigned short id;
44: unsigned short sequence;
45: } echo;
46: unsigned long gateway;
47: } un;
48: };
49:
50: struct icmp_err
51: {
52: int errno;
53: unsigned fatal:1;
54: };
55:
56: extern struct icmp_err icmp_err_convert[];
57:
58: int
59: icmp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
60: unsigned long daddr, unsigned short len,
61: unsigned long saddr, int redo, struct ip_protocol *protocol);
62:
63: void
64: icmp_reply (struct sk_buff *skb_in, int type, int code, struct device *dev);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.