~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/tipc/monitor.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * net/tipc/monitor.h
  3  *
  4  * Copyright (c) 2015, Ericsson AB
  5  * All rights reserved.
  6  *
  7  * Redistribution and use in source and binary forms, with or without
  8  * modification, are permitted provided that the following conditions are met:
  9  *
 10  * 1. Redistributions of source code must retain the above copyright
 11  *    notice, this list of conditions and the following disclaimer.
 12  * 2. Redistributions in binary form must reproduce the above copyright
 13  *    notice, this list of conditions and the following disclaimer in the
 14  *    documentation and/or other materials provided with the distribution.
 15  * 3. Neither the names of the copyright holders nor the names of its
 16  *    contributors may be used to endorse or promote products derived from
 17  *    this software without specific prior written permission.
 18  *
 19  * Alternatively, this software may be distributed under the terms of the
 20  * GNU General Public License ("GPL") version 2 as published by the Free
 21  * Software Foundation.
 22  *
 23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 24  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 26  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 27  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 28  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 29  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 30  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 31  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 32  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 33  * POSSIBILITY OF SUCH DAMAGE.
 34  */
 35 
 36 #ifndef _TIPC_MONITOR_H
 37 #define _TIPC_MONITOR_H
 38 
 39 #include "netlink.h"
 40 
 41 /* struct tipc_mon_state: link instance's cache of monitor list and domain state
 42  * @list_gen: current generation of this node's monitor list
 43  * @gen: current generation of this node's local domain
 44  * @peer_gen: most recent domain generation received from peer
 45  * @acked_gen: most recent generation of self's domain acked by peer
 46  * @monitoring: this peer endpoint should continuously monitored
 47  * @probing: peer endpoint should be temporarily probed for potential loss
 48  * @synched: domain record's generation has been synched with peer after reset
 49  */
 50 struct tipc_mon_state {
 51         u16 list_gen;
 52         u16 peer_gen;
 53         u16 acked_gen;
 54         bool monitoring :1;
 55         bool probing    :1;
 56         bool reset      :1;
 57         bool synched    :1;
 58 };
 59 
 60 int tipc_mon_create(struct net *net, int bearer_id);
 61 void tipc_mon_delete(struct net *net, int bearer_id);
 62 
 63 void tipc_mon_peer_up(struct net *net, u32 addr, int bearer_id);
 64 void tipc_mon_peer_down(struct net *net, u32 addr, int bearer_id);
 65 void tipc_mon_prep(struct net *net, void *data, int *dlen,
 66                    struct tipc_mon_state *state, int bearer_id);
 67 void tipc_mon_rcv(struct net *net, void *data, u16 dlen, u32 addr,
 68                   struct tipc_mon_state *state, int bearer_id);
 69 void tipc_mon_get_state(struct net *net, u32 addr,
 70                         struct tipc_mon_state *state,
 71                         int bearer_id);
 72 void tipc_mon_remove_peer(struct net *net, u32 addr, int bearer_id);
 73 
 74 int tipc_nl_monitor_set_threshold(struct net *net, u32 cluster_size);
 75 int tipc_nl_monitor_get_threshold(struct net *net);
 76 int __tipc_nl_add_monitor(struct net *net, struct tipc_nl_msg *msg,
 77                           u32 bearer_id);
 78 int tipc_nl_add_monitor_peer(struct net *net, struct tipc_nl_msg *msg,
 79                              u32 bearer_id, u32 *prev_node);
 80 void tipc_mon_reinit_self(struct net *net);
 81 
 82 extern const int tipc_max_domain_size;
 83 #endif
 84 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php