16ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh/****************************************************************************
26ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
36ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
46ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   This header was automatically generated from a Linux kernel header
56ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   of the same name, to make information necessary for userspace to
66ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   call into the kernel available to libc.  It contains only constants,
76ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   structures, and macros generated from the original header, and thus,
86ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   contains no copyrightable information.
96ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************/
126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#ifndef _LINUX_ICMP_H
136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define _LINUX_ICMP_H
146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/types.h>
166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_ECHOREPLY 0
186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_DEST_UNREACH 3
196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_SOURCE_QUENCH 4
206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_REDIRECT 5
216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_ECHO 8
226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_TIME_EXCEEDED 11
236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_PARAMETERPROB 12
246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_TIMESTAMP 13
256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_TIMESTAMPREPLY 14
266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_INFO_REQUEST 15
276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_INFO_REPLY 16
286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_ADDRESS 17
296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_ADDRESSREPLY 18
306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define NR_ICMP_TYPES 18
316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_NET_UNREACH 0
336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_HOST_UNREACH 1
346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_PROT_UNREACH 2
356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_PORT_UNREACH 3
366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_FRAG_NEEDED 4
376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_SR_FAILED 5
386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_NET_UNKNOWN 6
396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_HOST_UNKNOWN 7
406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_HOST_ISOLATED 8
416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_NET_ANO 9
426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_HOST_ANO 10
436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_NET_UNR_TOS 11
446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_HOST_UNR_TOS 12
456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_PKT_FILTERED 13
466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_PREC_VIOLATION 14
476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_PREC_CUTOFF 15
486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define NR_ICMP_UNREACH 15
496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_REDIR_NET 0
516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_REDIR_HOST 1
526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_REDIR_NETTOS 2
536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_REDIR_HOSTTOS 3
546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_EXC_TTL 0
566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_EXC_FRAGTIME 1
576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct icmphdr {
596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u8 type;
606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u8 code;
616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 checksum;
626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh union {
636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct {
646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 id;
656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 sequence;
666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh } echo;
676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 gateway;
686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct {
696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 __linux_unused;
706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 mtu;
716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh } frag;
726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh } un;
736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ICMP_FILTER 1
766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct icmp_filter {
786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 data;
796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif
82