Blame view
net/tipc/name_table.h
4.17 KB
b97bf3fd8 [TIPC] Initial merge |
1 2 |
/* * net/tipc/name_table.h: Include file for TIPC name table code |
c43072852 [NET] TIPC: Fix w... |
3 |
* |
593a5f22d [TIPC] More updat... |
4 |
* Copyright (c) 2000-2006, Ericsson AB |
f6f0a4d2d tipc: Convert nam... |
5 |
* Copyright (c) 2004-2005, 2010-2011, Wind River Systems |
b97bf3fd8 [TIPC] Initial merge |
6 7 |
* All rights reserved. * |
9ea1fd3c1 [TIPC] License he... |
8 |
* Redistribution and use in source and binary forms, with or without |
b97bf3fd8 [TIPC] Initial merge |
9 10 |
* modification, are permitted provided that the following conditions are met: * |
9ea1fd3c1 [TIPC] License he... |
11 12 13 14 15 16 17 18 |
* 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the names of the copyright holders nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. |
b97bf3fd8 [TIPC] Initial merge |
19 |
* |
9ea1fd3c1 [TIPC] License he... |
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
* Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
b97bf3fd8 [TIPC] Initial merge |
34 35 36 37 38 39 40 |
* POSSIBILITY OF SUCH DAMAGE. */ #ifndef _TIPC_NAME_TABLE_H #define _TIPC_NAME_TABLE_H #include "node_subscr.h" |
fead39098 tipc: rename stru... |
41 |
struct tipc_subscription; |
4584310b4 tipc: rename stru... |
42 |
struct tipc_port_list; |
b97bf3fd8 [TIPC] Initial merge |
43 44 45 46 |
/* * TIPC name types reserved for internal TIPC use (both current and planned) */ |
0e65967e3 tipc: cleanup var... |
47 |
#define TIPC_ZM_SRV 3 /* zone master service name type */ |
b97bf3fd8 [TIPC] Initial merge |
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
/** * struct publication - info about a published (name or) name sequence * @type: name sequence type * @lower: name sequence lower bound * @upper: name sequence upper bound * @scope: scope of publication * @node: network address of publishing port's node * @ref: publishing port * @key: publication key * @subscr: subscription to "node down" event (for off-node publications only) * @local_list: adjacent entries in list of publications made by this node * @pport_list: adjacent entries in list of publications made by this port |
f6f0a4d2d tipc: Convert nam... |
62 63 64 |
* @node_list: adjacent matching name seq publications with >= node scope * @cluster_list: adjacent matching name seq publications with >= cluster scope * @zone_list: adjacent matching name seq publications with >= zone scope |
c43072852 [NET] TIPC: Fix w... |
65 |
* |
b97bf3fd8 [TIPC] Initial merge |
66 67 68 69 70 71 72 73 74 75 76 |
* Note that the node list, cluster list, and zone list are circular lists. */ struct publication { u32 type; u32 lower; u32 upper; u32 scope; u32 node; u32 ref; u32 key; |
6c00055a8 tipc: Don't use s... |
77 |
struct tipc_node_subscr subscr; |
b97bf3fd8 [TIPC] Initial merge |
78 79 |
struct list_head local_list; struct list_head pport_list; |
f6f0a4d2d tipc: Convert nam... |
80 81 82 |
struct list_head node_list; struct list_head cluster_list; struct list_head zone_list; |
b97bf3fd8 [TIPC] Initial merge |
83 |
}; |
4323add67 [TIPC] Avoid poll... |
84 |
extern rwlock_t tipc_nametbl_lock; |
b97bf3fd8 [TIPC] Initial merge |
85 |
|
4323add67 [TIPC] Avoid poll... |
86 87 |
struct sk_buff *tipc_nametbl_get(const void *req_tlv_area, int req_tlv_space); u32 tipc_nametbl_translate(u32 type, u32 instance, u32 *node); |
c43072852 [NET] TIPC: Fix w... |
88 |
int tipc_nametbl_mc_translate(u32 type, u32 lower, u32 upper, u32 limit, |
4584310b4 tipc: rename stru... |
89 |
struct tipc_port_list *dports); |
c43072852 [NET] TIPC: Fix w... |
90 |
int tipc_nametbl_publish_rsv(u32 ref, unsigned int scope, |
b97bf3fd8 [TIPC] Initial merge |
91 |
struct tipc_name_seq const *seq); |
4323add67 [TIPC] Avoid poll... |
92 |
struct publication *tipc_nametbl_publish(u32 type, u32 lower, u32 upper, |
b97bf3fd8 [TIPC] Initial merge |
93 |
u32 scope, u32 port_ref, u32 key); |
4323add67 [TIPC] Avoid poll... |
94 95 |
int tipc_nametbl_withdraw(u32 type, u32 lower, u32 ref, u32 key); struct publication *tipc_nametbl_insert_publ(u32 type, u32 lower, u32 upper, |
b97bf3fd8 [TIPC] Initial merge |
96 |
u32 scope, u32 node, u32 ref, u32 key); |
c43072852 [NET] TIPC: Fix w... |
97 |
struct publication *tipc_nametbl_remove_publ(u32 type, u32 lower, |
b97bf3fd8 [TIPC] Initial merge |
98 |
u32 node, u32 ref, u32 key); |
fead39098 tipc: rename stru... |
99 100 |
void tipc_nametbl_subscribe(struct tipc_subscription *s); void tipc_nametbl_unsubscribe(struct tipc_subscription *s); |
4323add67 [TIPC] Avoid poll... |
101 102 |
int tipc_nametbl_init(void); void tipc_nametbl_stop(void); |
b97bf3fd8 [TIPC] Initial merge |
103 104 |
#endif |