The Pedigree Project
0.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
modules
system
lwip
include
lwip
prot
prot/icmp6.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008-2014, Pedigree Developers
3
*
4
* Please see the CONTRIB file in the root of the source tree for a full
5
* list of contributors.
6
*
7
* Permission to use, copy, modify, and distribute this software for any
8
* purpose with or without fee is hereby granted, provided that the above
9
* copyright notice and this permission notice appear in all copies.
10
*
11
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18
*/
19
25
/*
26
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
27
* All rights reserved.
28
*
29
* Redistribution and use in source and binary forms, with or without modification,
30
* are permitted provided that the following conditions are met:
31
*
32
* 1. Redistributions of source code must retain the above copyright notice,
33
* this list of conditions and the following disclaimer.
34
* 2. Redistributions in binary form must reproduce the above copyright notice,
35
* this list of conditions and the following disclaimer in the documentation
36
* and/or other materials provided with the distribution.
37
* 3. The name of the author may not be used to endorse or promote products
38
* derived from this software without specific prior written permission.
39
*
40
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
41
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
42
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
43
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
44
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
45
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
46
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
47
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
48
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
49
* OF SUCH DAMAGE.
50
*
51
* This file is part of the lwIP TCP/IP stack.
52
*
53
* Author: Adam Dunkels <adam@sics.se>
54
*
55
*/
56
#ifndef LWIP_HDR_PROT_ICMP6_H
57
#define LWIP_HDR_PROT_ICMP6_H
58
59
#include "
lwip/arch.h
"
60
61
#ifdef __cplusplus
62
extern
"C"
{
63
#endif
64
66
enum
icmp6_type
{
68
ICMP6_TYPE_DUR
= 1,
70
ICMP6_TYPE_PTB
= 2,
72
ICMP6_TYPE_TE
= 3,
74
ICMP6_TYPE_PP
= 4,
76
ICMP6_TYPE_PE1
= 100,
78
ICMP6_TYPE_PE2
= 101,
80
ICMP6_TYPE_RSV_ERR
= 127,
81
83
ICMP6_TYPE_EREQ
= 128,
85
ICMP6_TYPE_EREP
= 129,
87
ICMP6_TYPE_MLQ
= 130,
89
ICMP6_TYPE_MLR
= 131,
91
ICMP6_TYPE_MLD
= 132,
93
ICMP6_TYPE_RS
= 133,
95
ICMP6_TYPE_RA
= 134,
97
ICMP6_TYPE_NS
= 135,
99
ICMP6_TYPE_NA
= 136,
101
ICMP6_TYPE_RD
= 137,
103
ICMP6_TYPE_MRA
= 151,
105
ICMP6_TYPE_MRS
= 152,
107
ICMP6_TYPE_MRT
= 153,
109
ICMP6_TYPE_PE3
= 200,
111
ICMP6_TYPE_PE4
= 201,
113
ICMP6_TYPE_RSV_INF
= 255
114
};
115
117
enum
icmp6_dur_code
{
119
ICMP6_DUR_NO_ROUTE
= 0,
121
ICMP6_DUR_PROHIBITED
= 1,
123
ICMP6_DUR_SCOPE
= 2,
125
ICMP6_DUR_ADDRESS
= 3,
127
ICMP6_DUR_PORT
= 4,
129
ICMP6_DUR_POLICY
= 5,
131
ICMP6_DUR_REJECT_ROUTE
= 6
132
};
133
135
enum
icmp6_te_code
{
137
ICMP6_TE_HL
= 0,
139
ICMP6_TE_FRAG
= 1
140
};
141
143
enum
icmp6_pp_code
{
145
ICMP6_PP_FIELD
= 0,
147
ICMP6_PP_HEADER
= 1,
149
ICMP6_PP_OPTION
= 2
150
};
151
153
#ifdef PACK_STRUCT_USE_INCLUDES
154
# include "arch/bpstruct.h"
155
#endif
156
PACK_STRUCT_BEGIN
157
struct
icmp6_hdr
{
158
PACK_STRUCT_FLD_8(u8_t type);
159
PACK_STRUCT_FLD_8(u8_t code);
160
PACK_STRUCT_FIELD(u16_t chksum);
161
PACK_STRUCT_FIELD(u32_t data);
162
} PACK_STRUCT_STRUCT;
163
PACK_STRUCT_END
164
#ifdef PACK_STRUCT_USE_INCLUDES
165
# include "arch/epstruct.h"
166
#endif
167
169
#ifdef PACK_STRUCT_USE_INCLUDES
170
# include "arch/bpstruct.h"
171
#endif
172
PACK_STRUCT_BEGIN
173
struct
icmp6_echo_hdr
{
174
PACK_STRUCT_FLD_8
(u8_t type);
175
PACK_STRUCT_FLD_8
(u8_t code);
176
PACK_STRUCT_FIELD
(u16_t chksum);
177
PACK_STRUCT_FIELD
(u16_t
id
);
178
PACK_STRUCT_FIELD
(u16_t seqno);
179
} PACK_STRUCT_STRUCT;
180
PACK_STRUCT_END
181
#ifdef PACK_STRUCT_USE_INCLUDES
182
# include "arch/epstruct.h"
183
#endif
184
185
#ifdef __cplusplus
186
}
187
#endif
188
189
#endif
/* LWIP_HDR_PROT_ICMP6_H */
ICMP6_TYPE_EREQ
Definition:
prot/icmp6.h:83
icmp6_hdr
Definition:
prot/icmp6.h:157
ICMP6_TYPE_PE1
Definition:
prot/icmp6.h:76
ICMP6_DUR_REJECT_ROUTE
Definition:
prot/icmp6.h:131
ICMP6_PP_OPTION
Definition:
prot/icmp6.h:149
ICMP6_TYPE_PE2
Definition:
prot/icmp6.h:78
ICMP6_TYPE_MLR
Definition:
prot/icmp6.h:89
ICMP6_TYPE_RSV_INF
Definition:
prot/icmp6.h:113
ICMP6_DUR_PORT
Definition:
prot/icmp6.h:127
ICMP6_TYPE_RD
Definition:
prot/icmp6.h:101
ICMP6_TE_FRAG
Definition:
prot/icmp6.h:139
ICMP6_TYPE_MRS
Definition:
prot/icmp6.h:105
ICMP6_TYPE_NA
Definition:
prot/icmp6.h:99
ICMP6_TYPE_MRT
Definition:
prot/icmp6.h:107
PACK_STRUCT_BEGIN
#define PACK_STRUCT_BEGIN
Definition:
arch.h:261
ICMP6_TYPE_RS
Definition:
prot/icmp6.h:93
ICMP6_DUR_NO_ROUTE
Definition:
prot/icmp6.h:119
ICMP6_DUR_POLICY
Definition:
prot/icmp6.h:129
ICMP6_TYPE_EREP
Definition:
prot/icmp6.h:85
icmp6_type
icmp6_type
Definition:
prot/icmp6.h:66
ICMP6_PP_FIELD
Definition:
prot/icmp6.h:145
icmp6_te_code
icmp6_te_code
Definition:
prot/icmp6.h:135
ICMP6_TYPE_PTB
Definition:
prot/icmp6.h:70
ICMP6_TYPE_MLQ
Definition:
prot/icmp6.h:87
icmp6_pp_code
icmp6_pp_code
Definition:
prot/icmp6.h:143
ICMP6_TYPE_NS
Definition:
prot/icmp6.h:97
icmp6_echo_hdr
Definition:
prot/icmp6.h:173
ICMP6_TYPE_RA
Definition:
prot/icmp6.h:95
ICMP6_DUR_PROHIBITED
Definition:
prot/icmp6.h:121
PACK_STRUCT_END
#define PACK_STRUCT_END
Definition:
arch.h:270
ICMP6_TYPE_PE4
Definition:
prot/icmp6.h:111
ICMP6_TYPE_MLD
Definition:
prot/icmp6.h:91
PACK_STRUCT_FLD_8
#define PACK_STRUCT_FLD_8(x)
Definition:
arch.h:301
ICMP6_TE_HL
Definition:
prot/icmp6.h:137
PACK_STRUCT_FIELD
#define PACK_STRUCT_FIELD(x)
Definition:
arch.h:292
ICMP6_TYPE_RSV_ERR
Definition:
prot/icmp6.h:80
ICMP6_PP_HEADER
Definition:
prot/icmp6.h:147
ICMP6_TYPE_DUR
Definition:
prot/icmp6.h:68
ICMP6_TYPE_PP
Definition:
prot/icmp6.h:74
ICMP6_DUR_SCOPE
Definition:
prot/icmp6.h:123
arch.h
ICMP6_TYPE_TE
Definition:
prot/icmp6.h:72
icmp6_dur_code
icmp6_dur_code
Definition:
prot/icmp6.h:117
ICMP6_DUR_ADDRESS
Definition:
prot/icmp6.h:125
ICMP6_TYPE_PE3
Definition:
prot/icmp6.h:109
ICMP6_TYPE_MRA
Definition:
prot/icmp6.h:103
Generated on Fri Jan 24 2020 06:46:13 for The Pedigree Project by
1.8.11