1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (C) B.A.T.M.A.N. contributors:
3  *
4  * Antonio Quartulli
5  */
6 
7 #ifndef _NET_BATMAN_ADV_BAT_V_OGM_H_
8 #define _NET_BATMAN_ADV_BAT_V_OGM_H_
9 
10 #include "main.h"
11 
12 #include <linux/skbuff.h>
13 #include <linux/types.h>
14 #include <linux/workqueue.h>
15 
16 int batadv_v_ogm_init(struct batadv_priv *bat_priv);
17 void batadv_v_ogm_free(struct batadv_priv *bat_priv);
18 void batadv_v_ogm_aggr_work(struct work_struct *work);
19 int batadv_v_ogm_iface_enable(struct batadv_hard_iface *hard_iface);
20 void batadv_v_ogm_iface_disable(struct batadv_hard_iface *hard_iface);
21 struct batadv_orig_node *batadv_v_ogm_orig_get(struct batadv_priv *bat_priv,
22 					       const u8 *addr);
23 void batadv_v_ogm_primary_iface_set(struct batadv_hard_iface *primary_iface);
24 int batadv_v_ogm_packet_recv(struct sk_buff *skb,
25 			     struct batadv_hard_iface *if_incoming);
26 
27 #endif /* _NET_BATMAN_ADV_BAT_V_OGM_H_ */
28