root/net/batman-adv/network-coding.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. batadv_nc_status_update
  2. batadv_nc_init
  3. batadv_nc_mesh_init
  4. batadv_nc_mesh_free
  5. batadv_nc_update_nc_node
  6. batadv_nc_purge_orig
  7. batadv_nc_init_bat_priv
  8. batadv_nc_init_orig
  9. batadv_nc_skb_forward
  10. batadv_nc_skb_store_for_decoding
  11. batadv_nc_skb_store_sniffed_unicast
  12. batadv_nc_nodes_seq_print_text
  13. batadv_nc_init_debugfs

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

/* [<][>][^][v][top][bottom][index][help] */