Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
net
tipc
bcast.h
Go to the documentation of this file.
1
/*
2
* net/tipc/bcast.h: Include file for TIPC broadcast code
3
*
4
* Copyright (c) 2003-2006, Ericsson AB
5
* Copyright (c) 2005, 2010-2011, Wind River Systems
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are met:
10
*
11
* 1. Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
* 3. Neither the names of the copyright holders nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* Alternatively, this software may be distributed under the terms of the
21
* GNU General Public License ("GPL") version 2 as published by the Free
22
* Software Foundation.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*/
36
37
#ifndef _TIPC_BCAST_H
38
#define _TIPC_BCAST_H
39
40
#define MAX_NODES 4096
41
#define WSIZE 32
42
48
struct
tipc_node_map
{
49
u32
count
;
50
u32
map
[
MAX_NODES
/
WSIZE
];
51
};
52
53
#define PLSIZE 32
54
61
struct
tipc_port_list
{
62
int
count
;
63
struct
tipc_port_list
*
next
;
64
u32
ports
[
PLSIZE
];
65
};
66
67
68
struct
tipc_node
;
69
70
extern
const
char
tipc_bclink_name
[];
71
72
void
tipc_nmap_add
(
struct
tipc_node_map
*nm_ptr,
u32
node
);
73
void
tipc_nmap_remove
(
struct
tipc_node_map
*nm_ptr,
u32
node
);
74
78
static
inline
int
tipc_nmap_equal(
struct
tipc_node_map
*nm_a,
struct
tipc_node_map
*nm_b)
79
{
80
return
!
memcmp
(nm_a, nm_b,
sizeof
(*nm_a));
81
}
82
83
void
tipc_port_list_add
(
struct
tipc_port_list
*pl_ptr,
u32
port
);
84
void
tipc_port_list_free
(
struct
tipc_port_list
*pl_ptr);
85
86
void
tipc_bclink_init
(
void
);
87
void
tipc_bclink_stop
(
void
);
88
void
tipc_bclink_add_node
(
u32
addr
);
89
void
tipc_bclink_remove_node
(
u32
addr
);
90
struct
tipc_node
*
tipc_bclink_retransmit_to
(
void
);
91
void
tipc_bclink_acknowledge
(
struct
tipc_node
*n_ptr,
u32
acked
);
92
int
tipc_bclink_send_msg
(
struct
sk_buff
*
buf
);
93
void
tipc_bclink_recv_pkt
(
struct
sk_buff
*
buf
);
94
u32
tipc_bclink_get_last_sent
(
void
);
95
u32
tipc_bclink_acks_missing
(
struct
tipc_node
*n_ptr);
96
void
tipc_bclink_update_link_state
(
struct
tipc_node
*n_ptr,
u32
last_sent
);
97
int
tipc_bclink_stats
(
char
*stats_buf,
const
u32
buf_size
);
98
int
tipc_bclink_reset_stats
(
void
);
99
int
tipc_bclink_set_queue_limits
(
u32
limit
);
100
void
tipc_bcbearer_sort
(
void
);
101
102
#endif
Generated on Thu Jan 10 2013 15:02:22 for Linux Kernel by
1.8.2