source: svn/trunk/newcon3bcm2_21bu/toolchain/mipsel-linux-uclibc/include/linux/icmp.h @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 2.8 KB
Line 
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 protocol.
7 *
8 * Version:     @(#)icmp.h      1.0.3   04/28/93
9 *
10 * Author:      Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
11 *
12 *              This program is free software; you can redistribute it and/or
13 *              modify it under the terms of the GNU General Public License
14 *              as published by the Free Software Foundation; either version
15 *              2 of the License, or (at your option) any later version.
16 */
17#ifndef _LINUX_ICMP_H
18#define _LINUX_ICMP_H
19
20#include <linux/types.h>
21
22#define ICMP_ECHOREPLY          0       /* Echo Reply                   */
23#define ICMP_DEST_UNREACH       3       /* Destination Unreachable      */
24#define ICMP_SOURCE_QUENCH      4       /* Source Quench                */
25#define ICMP_REDIRECT           5       /* Redirect (change route)      */
26#define ICMP_ECHO               8       /* Echo Request                 */
27#define ICMP_TIME_EXCEEDED      11      /* Time Exceeded                */
28#define ICMP_PARAMETERPROB      12      /* Parameter Problem            */
29#define ICMP_TIMESTAMP          13      /* Timestamp Request            */
30#define ICMP_TIMESTAMPREPLY     14      /* Timestamp Reply              */
31#define ICMP_INFO_REQUEST       15      /* Information Request          */
32#define ICMP_INFO_REPLY         16      /* Information Reply            */
33#define ICMP_ADDRESS            17      /* Address Mask Request         */
34#define ICMP_ADDRESSREPLY       18      /* Address Mask Reply           */
35#define NR_ICMP_TYPES           18
36
37
38/* Codes for UNREACH. */
39#define ICMP_NET_UNREACH        0       /* Network Unreachable          */
40#define ICMP_HOST_UNREACH       1       /* Host Unreachable             */
41#define ICMP_PROT_UNREACH       2       /* Protocol Unreachable         */
42#define ICMP_PORT_UNREACH       3       /* Port Unreachable             */
43#define ICMP_FRAG_NEEDED        4       /* Fragmentation Needed/DF set  */
44#define ICMP_SR_FAILED          5       /* Source Route failed          */
45#define ICMP_NET_UNKNOWN        6
46#define ICMP_HOST_UNKNOWN       7
47#define ICMP_HOST_ISOLATED      8
48#define ICMP_NET_ANO            9
49#define ICMP_HOST_ANO           10
50#define ICMP_NET_UNR_TOS        11
51#define ICMP_HOST_UNR_TOS       12
52#define ICMP_PKT_FILTERED       13      /* Packet filtered */
53#define ICMP_PREC_VIOLATION     14      /* Precedence violation */
54#define ICMP_PREC_CUTOFF        15      /* Precedence cut off */
55#define NR_ICMP_UNREACH         15      /* instead of hardcoding immediate value */
56
57/* Codes for REDIRECT. */
58#define ICMP_REDIR_NET          0       /* Redirect Net                 */
59#define ICMP_REDIR_HOST         1       /* Redirect Host                */
60#define ICMP_REDIR_NETTOS       2       /* Redirect Net for TOS         */
61#define ICMP_REDIR_HOSTTOS      3       /* Redirect Host for TOS        */
62
63/* Codes for TIME_EXCEEDED. */
64#define ICMP_EXC_TTL            0       /* TTL count exceeded           */
65#define ICMP_EXC_FRAGTIME       1       /* Fragment Reass time exceeded */
66
67
68struct icmphdr {
69  __u8          type;
70  __u8          code;
71  __u16         checksum;
72  union {
73        struct {
74                __u16   id;
75                __u16   sequence;
76        } echo;
77        __u32   gateway;
78        struct {
79                __u16   __unused;
80                __u16   mtu;
81        } frag;
82  } un;
83};
84
85/*
86 *      constants for (set|get)sockopt
87 */
88
89#define ICMP_FILTER                     1
90
91struct icmp_filter {
92        __u32           data;
93};
94
95
96#endif  /* _LINUX_ICMP_H */
Note: See TracBrowser for help on using the repository browser.