![]() |
|
|||
0001 /* 0002 * net/tipc/name_distr.h: Include file for TIPC name distribution code 0003 * 0004 * Copyright (c) 2000-2006, Ericsson AB 0005 * Copyright (c) 2005, Wind River Systems 0006 * All rights reserved. 0007 * 0008 * Redistribution and use in source and binary forms, with or without 0009 * modification, are permitted provided that the following conditions are met: 0010 * 0011 * 1. Redistributions of source code must retain the above copyright 0012 * notice, this list of conditions and the following disclaimer. 0013 * 2. Redistributions in binary form must reproduce the above copyright 0014 * notice, this list of conditions and the following disclaimer in the 0015 * documentation and/or other materials provided with the distribution. 0016 * 3. Neither the names of the copyright holders nor the names of its 0017 * contributors may be used to endorse or promote products derived from 0018 * this software without specific prior written permission. 0019 * 0020 * Alternatively, this software may be distributed under the terms of the 0021 * GNU General Public License ("GPL") version 2 as published by the Free 0022 * Software Foundation. 0023 * 0024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 0025 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 0026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 0027 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 0028 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 0029 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 0030 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 0031 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 0032 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 0033 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 0034 * POSSIBILITY OF SUCH DAMAGE. 0035 */ 0036 0037 #ifndef _TIPC_NAME_DISTR_H 0038 #define _TIPC_NAME_DISTR_H 0039 0040 #include "name_table.h" 0041 0042 #define ITEM_SIZE sizeof(struct distr_item) 0043 0044 /** 0045 * struct distr_item - publication info distributed to other nodes 0046 * @type: name sequence type 0047 * @lower: name sequence lower bound 0048 * @upper: name sequence upper bound 0049 * @port: publishing port reference 0050 * @key: publication key 0051 * 0052 * ===> All fields are stored in network byte order. <=== 0053 * 0054 * First 3 fields identify (name or) name sequence being published. 0055 * Reference field uniquely identifies port that published name sequence. 0056 * Key field uniquely identifies publication, in the event a port has 0057 * multiple publications of the same name sequence. 0058 * 0059 * Note: There is no field that identifies the publishing node because it is 0060 * the same for all items contained within a publication message. 0061 */ 0062 struct distr_item { 0063 __be32 type; 0064 __be32 lower; 0065 __be32 upper; 0066 __be32 port; 0067 __be32 key; 0068 }; 0069 0070 void tipc_named_bcast(struct net *net, struct sk_buff *skb); 0071 struct sk_buff *tipc_named_publish(struct net *net, struct publication *publ); 0072 struct sk_buff *tipc_named_withdraw(struct net *net, struct publication *publ); 0073 void tipc_named_node_up(struct net *net, u32 dnode, u16 capabilities); 0074 void tipc_named_rcv(struct net *net, struct sk_buff_head *namedq, 0075 u16 *rcv_nxt, bool *open); 0076 void tipc_named_reinit(struct net *net); 0077 void tipc_publ_notify(struct net *net, struct list_head *nsub_list, 0078 u32 addr, u16 capabilities); 0079 0080 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |