1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef _LINUX_ICMP_H
13#define _LINUX_ICMP_H
14
15#include <linux/types.h>
16
17#define ICMP_ECHOREPLY 0
18#define ICMP_DEST_UNREACH 3
19#define ICMP_SOURCE_QUENCH 4
20#define ICMP_REDIRECT 5
21#define ICMP_ECHO 8
22#define ICMP_TIME_EXCEEDED 11
23#define ICMP_PARAMETERPROB 12
24#define ICMP_TIMESTAMP 13
25#define ICMP_TIMESTAMPREPLY 14
26#define ICMP_INFO_REQUEST 15
27#define ICMP_INFO_REPLY 16
28#define ICMP_ADDRESS 17
29#define ICMP_ADDRESSREPLY 18
30#define NR_ICMP_TYPES 18
31
32#define ICMP_NET_UNREACH 0
33#define ICMP_HOST_UNREACH 1
34#define ICMP_PROT_UNREACH 2
35#define ICMP_PORT_UNREACH 3
36#define ICMP_FRAG_NEEDED 4
37#define ICMP_SR_FAILED 5
38#define ICMP_NET_UNKNOWN 6
39#define ICMP_HOST_UNKNOWN 7
40#define ICMP_HOST_ISOLATED 8
41#define ICMP_NET_ANO 9
42#define ICMP_HOST_ANO 10
43#define ICMP_NET_UNR_TOS 11
44#define ICMP_HOST_UNR_TOS 12
45#define ICMP_PKT_FILTERED 13
46#define ICMP_PREC_VIOLATION 14
47#define ICMP_PREC_CUTOFF 15
48#define NR_ICMP_UNREACH 15
49
50#define ICMP_REDIR_NET 0
51#define ICMP_REDIR_HOST 1
52#define ICMP_REDIR_NETTOS 2
53#define ICMP_REDIR_HOSTTOS 3
54
55#define ICMP_EXC_TTL 0
56#define ICMP_EXC_FRAGTIME 1
57
58struct icmphdr {
59 __u8 type;
60 __u8 code;
61 __u16 checksum;
62 union {
63 struct {
64 __u16 id;
65 __u16 sequence;
66 } echo;
67 __u32 gateway;
68 struct {
69 __u16 __unused_field;
70 __u16 mtu;
71 } frag;
72 } un;
73};
74
75#define ICMP_FILTER 1
76
77struct icmp_filter {
78 __u32 data;
79};
80
81#endif
82