OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [icmp.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/*
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
 
68
struct icmphdr {
69
  __u8          type;
70
  __u8          code;
71
  __sum16       checksum;
72
  union {
73
        struct {
74
                __be16  id;
75
                __be16  sequence;
76
        } echo;
77
        __be32  gateway;
78
        struct {
79
                __be16  __unused;
80
                __be16  mtu;
81
        } frag;
82
  } un;
83
};
84
 
85
 
86
/*
87
 *      constants for (set|get)sockopt
88
 */
89
 
90
#define ICMP_FILTER                     1
91
 
92
struct icmp_filter {
93
        __u32           data;
94
};
95
 
96
 
97
#endif /* _LINUX_ICMP_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.