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

TOMOYO Linux Cross Reference
Linux/net/batman-adv/network-coding.h

Version: ~ [ linux-6.3-rc3 ] ~ [ linux-6.2.7 ] ~ [ linux-6.1.20 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.103 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.175 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.237 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.278 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.310 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ 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 /* SPDX-License-Identifier: GPL-2.0 */
  2 /* Copyright (C) 2012-2019  B.A.T.M.A.N. contributors:
  3  *
  4  * Martin Hundebøll, Jeppe Ledet-Pedersen
  5  *
  6  * This program is free software; you can redistribute it and/or
  7  * modify it under the terms of version 2 of the GNU General Public
  8  * License as published by the Free Software Foundation.
  9  *
 10  * This program is distributed in the hope that it will be useful, but
 11  * WITHOUT ANY WARRANTY; without even the implied warranty of
 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 13  * General Public License for more details.
 14  *
 15  * You should have received a copy of the GNU General Public License
 16  * along with this program; if not, see <http://www.gnu.org/licenses/>.
 17  */
 18 
 19 #ifndef _NET_BATMAN_ADV_NETWORK_CODING_H_
 20 #define _NET_BATMAN_ADV_NETWORK_CODING_H_
 21 
 22 #include "main.h"
 23 
 24 #include <linux/types.h>
 25 
 26 struct batadv_ogm_packet;
 27 struct net_device;
 28 struct seq_file;
 29 struct sk_buff;
 30 
 31 #ifdef CONFIG_BATMAN_ADV_NC
 32 
 33 void batadv_nc_status_update(struct net_device *net_dev);
 34 int batadv_nc_init(void);
 35 int batadv_nc_mesh_init(struct batadv_priv *bat_priv);
 36 void batadv_nc_mesh_free(struct batadv_priv *bat_priv);
 37 void batadv_nc_update_nc_node(struct batadv_priv *bat_priv,
 38                               struct batadv_orig_node *orig_node,
 39                               struct batadv_orig_node *orig_neigh_node,
 40                               struct batadv_ogm_packet *ogm_packet,
 41                               int is_single_hop_neigh);
 42 void batadv_nc_purge_orig(struct batadv_priv *bat_priv,
 43                           struct batadv_orig_node *orig_node,
 44                           bool (*to_purge)(struct batadv_priv *,
 45                                            struct batadv_nc_node *));
 46 void batadv_nc_init_bat_priv(struct batadv_priv *bat_priv);
 47 void batadv_nc_init_orig(struct batadv_orig_node *orig_node);
 48 bool batadv_nc_skb_forward(struct sk_buff *skb,
 49                            struct batadv_neigh_node *neigh_node);
 50 void batadv_nc_skb_store_for_decoding(struct batadv_priv *bat_priv,
 51                                       struct sk_buff *skb);
 52 void batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv,
 53                                          struct sk_buff *skb);
 54 int batadv_nc_nodes_seq_print_text(struct seq_file *seq, void *offset);
 55 int batadv_nc_init_debugfs(struct batadv_priv *bat_priv);
 56 
 57 #else /* ifdef CONFIG_BATMAN_ADV_NC */
 58 
 59 static inline void batadv_nc_status_update(struct net_device *net_dev)
 60 {
 61 }
 62 
 63 static inline int batadv_nc_init(void)
 64 {
 65         return 0;
 66 }
 67 
 68 static inline int batadv_nc_mesh_init(struct batadv_priv *bat_priv)
 69 {
 70         return 0;
 71 }
 72 
 73 static inline void batadv_nc_mesh_free(struct batadv_priv *bat_priv)
 74 {
 75 }
 76 
 77 static inline void
 78 batadv_nc_update_nc_node(struct batadv_priv *bat_priv,
 79                          struct batadv_orig_node *orig_node,
 80                          struct batadv_orig_node *orig_neigh_node,
 81                          struct batadv_ogm_packet *ogm_packet,
 82                          int is_single_hop_neigh)
 83 {
 84 }
 85 
 86 static inline void
 87 batadv_nc_purge_orig(struct batadv_priv *bat_priv,
 88                      struct batadv_orig_node *orig_node,
 89                      bool (*to_purge)(struct batadv_priv *,
 90                                       struct batadv_nc_node *))
 91 {
 92 }
 93 
 94 static inline void batadv_nc_init_bat_priv(struct batadv_priv *bat_priv)
 95 {
 96 }
 97 
 98 static inline void batadv_nc_init_orig(struct batadv_orig_node *orig_node)
 99 {
100 }
101 
102 static inline bool batadv_nc_skb_forward(struct sk_buff *skb,
103                                          struct batadv_neigh_node *neigh_node)
104 {
105         return false;
106 }
107 
108 static inline void
109 batadv_nc_skb_store_for_decoding(struct batadv_priv *bat_priv,
110                                  struct sk_buff *skb)
111 {
112 }
113 
114 static inline void
115 batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv,
116                                     struct sk_buff *skb)
117 {
118 }
119 
120 static inline int batadv_nc_nodes_seq_print_text(struct seq_file *seq,
121                                                  void *offset)
122 {
123         return 0;
124 }
125 
126 static inline int batadv_nc_init_debugfs(struct batadv_priv *bat_priv)
127 {
128         return 0;
129 }
130 
131 #endif /* ifdef CONFIG_BATMAN_ADV_NC */
132 
133 #endif /* _NET_BATMAN_ADV_NETWORK_CODING_H_ */
134 

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

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | 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.

osdn.jp