LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
libxenon
drivers
lwip
include
ipv6
lwip
icmp.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001-2004 Swedish Institute of Computer Science.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification,
6
* are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright notice,
11
* this list of conditions and the following disclaimer in the documentation
12
* and/or other materials provided with the distribution.
13
* 3. The name of the author may not be used to endorse or promote products
14
* derived from this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25
* OF SUCH DAMAGE.
26
*
27
* This file is part of the lwIP TCP/IP stack.
28
*
29
* Author: Adam Dunkels <adam@sics.se>
30
*
31
*/
32
#ifndef __LWIP_ICMP_H__
33
#define __LWIP_ICMP_H__
34
35
#include "
lwip/opt.h
"
36
37
#if LWIP_ICMP
/* don't build if not configured for use in lwipopts.h */
38
39
#include "
lwip/pbuf.h
"
40
#include "
lwip/netif.h
"
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
46
#define ICMP6_DUR 1
47
#define ICMP6_TE 3
48
#define ICMP6_ECHO 128
/* echo */
49
#define ICMP6_ER 129
/* echo reply */
50
51
52
enum
icmp_dur_type
{
53
ICMP_DUR_NET
= 0,
/* net unreachable */
54
ICMP_DUR_HOST
= 1,
/* host unreachable */
55
ICMP_DUR_PROTO
= 2,
/* protocol unreachable */
56
ICMP_DUR_PORT
= 3,
/* port unreachable */
57
ICMP_DUR_FRAG
= 4,
/* fragmentation needed and DF set */
58
ICMP_DUR_SR
= 5
/* source route failed */
59
};
60
61
enum
icmp_te_type
{
62
ICMP_TE_TTL
= 0,
/* time to live exceeded in transit */
63
ICMP_TE_FRAG
= 1
/* fragment reassembly time exceeded */
64
};
65
66
void
icmp_input(
struct
pbuf
*p,
struct
netif
*inp);
67
68
void
icmp_dest_unreach(
struct
pbuf
*p,
enum
icmp_dur_type
t);
69
void
icmp_time_exceeded(
struct
pbuf
*p,
enum
icmp_te_type
t);
70
71
struct
icmp_echo_hdr
{
72
u8_t
type
;
73
u8_t
icode;
74
u16_t
chksum;
75
u16_t
id;
76
u16_t
seqno;
77
};
78
79
struct
icmp_dur_hdr {
80
u8_t
type
;
81
u8_t
icode;
82
u16_t
chksum;
83
u32_t
unused;
84
};
85
86
struct
icmp_te_hdr {
87
u8_t
type
;
88
u8_t
icode;
89
u16_t
chksum;
90
u32_t
unused;
91
};
92
93
#ifdef __cplusplus
94
}
95
#endif
96
97
#endif
/* LWIP_ICMP */
98
99
#endif
/* __LWIP_ICMP_H__ */
100
u32_t
unsigned int u32_t
Definition:
cc.h:42
u8_t
unsigned char u8_t
Definition:
cc.h:38
u16_t
unsigned short u16_t
Definition:
cc.h:40
icmp_te_type
icmp_te_type
Definition:
icmp.h:65
ICMP_TE_FRAG
@ ICMP_TE_FRAG
Definition:
icmp.h:67
ICMP_TE_TTL
@ ICMP_TE_TTL
Definition:
icmp.h:66
icmp_dur_type
icmp_dur_type
Definition:
icmp.h:56
ICMP_DUR_PROTO
@ ICMP_DUR_PROTO
Definition:
icmp.h:59
ICMP_DUR_NET
@ ICMP_DUR_NET
Definition:
icmp.h:57
ICMP_DUR_HOST
@ ICMP_DUR_HOST
Definition:
icmp.h:58
ICMP_DUR_FRAG
@ ICMP_DUR_FRAG
Definition:
icmp.h:61
ICMP_DUR_PORT
@ ICMP_DUR_PORT
Definition:
icmp.h:60
ICMP_DUR_SR
@ ICMP_DUR_SR
Definition:
icmp.h:62
netif.h
opt.h
pbuf.h
icmp_echo_hdr
Definition:
icmp.h:79
netif
Definition:
netif.h:136
pbuf
Definition:
pbuf.h:79
type
u8 type
Definition:
xenos_edid.h:1
Generated by
1.9.5