at v5.2 121 lines 3.1 kB view raw
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 7#ifndef _NET_BATMAN_ADV_NETWORK_CODING_H_ 8#define _NET_BATMAN_ADV_NETWORK_CODING_H_ 9 10#include "main.h" 11 12#include <linux/types.h> 13 14struct batadv_ogm_packet; 15struct net_device; 16struct seq_file; 17struct sk_buff; 18 19#ifdef CONFIG_BATMAN_ADV_NC 20 21void batadv_nc_status_update(struct net_device *net_dev); 22int batadv_nc_init(void); 23int batadv_nc_mesh_init(struct batadv_priv *bat_priv); 24void batadv_nc_mesh_free(struct batadv_priv *bat_priv); 25void batadv_nc_update_nc_node(struct batadv_priv *bat_priv, 26 struct batadv_orig_node *orig_node, 27 struct batadv_orig_node *orig_neigh_node, 28 struct batadv_ogm_packet *ogm_packet, 29 int is_single_hop_neigh); 30void batadv_nc_purge_orig(struct batadv_priv *bat_priv, 31 struct batadv_orig_node *orig_node, 32 bool (*to_purge)(struct batadv_priv *, 33 struct batadv_nc_node *)); 34void batadv_nc_init_bat_priv(struct batadv_priv *bat_priv); 35void batadv_nc_init_orig(struct batadv_orig_node *orig_node); 36bool batadv_nc_skb_forward(struct sk_buff *skb, 37 struct batadv_neigh_node *neigh_node); 38void batadv_nc_skb_store_for_decoding(struct batadv_priv *bat_priv, 39 struct sk_buff *skb); 40void batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv, 41 struct sk_buff *skb); 42int batadv_nc_nodes_seq_print_text(struct seq_file *seq, void *offset); 43int batadv_nc_init_debugfs(struct batadv_priv *bat_priv); 44 45#else /* ifdef CONFIG_BATMAN_ADV_NC */ 46 47static inline void batadv_nc_status_update(struct net_device *net_dev) 48{ 49} 50 51static inline int batadv_nc_init(void) 52{ 53 return 0; 54} 55 56static inline int batadv_nc_mesh_init(struct batadv_priv *bat_priv) 57{ 58 return 0; 59} 60 61static inline void batadv_nc_mesh_free(struct batadv_priv *bat_priv) 62{ 63} 64 65static inline void 66batadv_nc_update_nc_node(struct batadv_priv *bat_priv, 67 struct batadv_orig_node *orig_node, 68 struct batadv_orig_node *orig_neigh_node, 69 struct batadv_ogm_packet *ogm_packet, 70 int is_single_hop_neigh) 71{ 72} 73 74static inline void 75batadv_nc_purge_orig(struct batadv_priv *bat_priv, 76 struct batadv_orig_node *orig_node, 77 bool (*to_purge)(struct batadv_priv *, 78 struct batadv_nc_node *)) 79{ 80} 81 82static inline void batadv_nc_init_bat_priv(struct batadv_priv *bat_priv) 83{ 84} 85 86static inline void batadv_nc_init_orig(struct batadv_orig_node *orig_node) 87{ 88} 89 90static inline bool batadv_nc_skb_forward(struct sk_buff *skb, 91 struct batadv_neigh_node *neigh_node) 92{ 93 return false; 94} 95 96static inline void 97batadv_nc_skb_store_for_decoding(struct batadv_priv *bat_priv, 98 struct sk_buff *skb) 99{ 100} 101 102static inline void 103batadv_nc_skb_store_sniffed_unicast(struct batadv_priv *bat_priv, 104 struct sk_buff *skb) 105{ 106} 107 108static inline int batadv_nc_nodes_seq_print_text(struct seq_file *seq, 109 void *offset) 110{ 111 return 0; 112} 113 114static inline int batadv_nc_init_debugfs(struct batadv_priv *bat_priv) 115{ 116 return 0; 117} 118 119#endif /* ifdef CONFIG_BATMAN_ADV_NC */ 120 121#endif /* _NET_BATMAN_ADV_NETWORK_CODING_H_ */