ReactOS
0.4.16-dev-297-gc569aee
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Variables
_
c
d
e
f
g
h
i
l
n
o
p
s
t
u
x
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Enumerations
_
c
d
f
i
l
m
o
p
s
t
w
x
Enumerator
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerator
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
x
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
acd.h
Go to the documentation of this file.
1
6
/*
7
*
8
* Copyright (c) 2007 Dominik Spies <kontakt@dspies.de>
9
* Copyright (c) 2018 Jasper Verschueren <jasper.verschueren@apart-audio.com>
10
* All rights reserved.
11
*
12
* Redistribution and use in source and binary forms, with or without modification,
13
* are permitted provided that the following conditions are met:
14
*
15
* 1. Redistributions of source code must retain the above copyright notice,
16
* this list of conditions and the following disclaimer.
17
* 2. Redistributions in binary form must reproduce the above copyright notice,
18
* this list of conditions and the following disclaimer in the documentation
19
* and/or other materials provided with the distribution.
20
* 3. The name of the author may not be used to endorse or promote products
21
* derived from this software without specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
24
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
26
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
28
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
31
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
32
* OF SUCH DAMAGE.
33
*
34
* Author: Jasper Verschueren <jasper.verschueren@apart-audio.com>
35
* Author: Dominik Spies <kontakt@dspies.de>
36
*/
37
38
#ifndef LWIP_HDR_PROT_ACD_H
39
#define LWIP_HDR_PROT_ACD_H
40
41
#ifdef __cplusplus
42
extern
"C"
{
43
#endif
44
45
/* RFC 5227 and RFC 3927 Constants */
46
#define PROBE_WAIT 1
/* second (initial random delay) */
47
#define PROBE_MIN 1
/* second (minimum delay till repeated probe) */
48
#define PROBE_MAX 2
/* seconds (maximum delay till repeated probe) */
49
#define PROBE_NUM 3
/* (number of probe packets) */
50
#define ANNOUNCE_NUM 2
/* (number of announcement packets) */
51
#define ANNOUNCE_INTERVAL 2
/* seconds (time between announcement packets) */
52
#define ANNOUNCE_WAIT 2
/* seconds (delay before announcing) */
53
#define MAX_CONFLICTS 10
/* (max conflicts before rate limiting) */
54
#define RATE_LIMIT_INTERVAL 60
/* seconds (delay between successive attempts) */
55
#define DEFEND_INTERVAL 10
/* seconds (minimum interval between defensive ARPs) */
56
57
/* ACD states */
58
typedef
enum
{
59
/* ACD is module is off */
60
ACD_STATE_OFF
,
61
/* Waiting before probing can be started */
62
ACD_STATE_PROBE_WAIT
,
63
/* Probing the ipaddr */
64
ACD_STATE_PROBING
,
65
/* Waiting before announcing the probed ipaddr */
66
ACD_STATE_ANNOUNCE_WAIT
,
67
/* Announcing the new ipaddr */
68
ACD_STATE_ANNOUNCING
,
69
/* Performing ongoing conflict detection with one defend within defend inferval */
70
ACD_STATE_ONGOING
,
71
/* Performing ongoing conflict detection but immediately back off and Release
72
* the address when a conflict occurs. This state is used for LL addresses
73
* that stay active even if the netif has a routable address selected.
74
* In such a case, we cannot defend our address */
75
ACD_STATE_PASSIVE_ONGOING
,
76
/* To many conflicts occurred, we need to wait before restarting the selection
77
* process */
78
ACD_STATE_RATE_LIMIT
79
}
acd_state_enum_t
;
80
81
typedef
enum
{
82
ACD_IP_OK
,
/* IP address is good, no conflicts found in checking state */
83
ACD_RESTART_CLIENT
,
/* Conflict found -> the client should try again */
84
ACD_DECLINE
/* Decline the received IP address (rate limiting)*/
85
}
acd_callback_enum_t
;
86
87
#ifdef __cplusplus
88
}
89
#endif
90
91
#endif
/* LWIP_HDR_PROT_ACD_H */
acd_callback_enum_t
acd_callback_enum_t
Definition:
acd.h:81
ACD_RESTART_CLIENT
@ ACD_RESTART_CLIENT
Definition:
acd.h:83
ACD_IP_OK
@ ACD_IP_OK
Definition:
acd.h:82
ACD_DECLINE
@ ACD_DECLINE
Definition:
acd.h:84
acd_state_enum_t
acd_state_enum_t
Definition:
acd.h:58
ACD_STATE_PROBE_WAIT
@ ACD_STATE_PROBE_WAIT
Definition:
acd.h:62
ACD_STATE_PASSIVE_ONGOING
@ ACD_STATE_PASSIVE_ONGOING
Definition:
acd.h:75
ACD_STATE_ANNOUNCE_WAIT
@ ACD_STATE_ANNOUNCE_WAIT
Definition:
acd.h:66
ACD_STATE_PROBING
@ ACD_STATE_PROBING
Definition:
acd.h:64
ACD_STATE_RATE_LIMIT
@ ACD_STATE_RATE_LIMIT
Definition:
acd.h:78
ACD_STATE_ONGOING
@ ACD_STATE_ONGOING
Definition:
acd.h:70
ACD_STATE_OFF
@ ACD_STATE_OFF
Definition:
acd.h:60
ACD_STATE_ANNOUNCING
@ ACD_STATE_ANNOUNCING
Definition:
acd.h:68
drivers
network
tcpip
lwip
src
include
lwip
prot
acd.h
Generated on Tue Nov 26 2024 06:05:51 for ReactOS by
1.9.6