xref: /linux/net/batman-adv/send.h (revision bb351ba0bba23f01af00e36bfe20897201f404fa)
19cfc7bd6SSven Eckelmann /* Copyright (C) 2007-2012 B.A.T.M.A.N. contributors:
2c6c8fea2SSven Eckelmann  *
3c6c8fea2SSven Eckelmann  * Marek Lindner, Simon Wunderlich
4c6c8fea2SSven Eckelmann  *
5c6c8fea2SSven Eckelmann  * This program is free software; you can redistribute it and/or
6c6c8fea2SSven Eckelmann  * modify it under the terms of version 2 of the GNU General Public
7c6c8fea2SSven Eckelmann  * License as published by the Free Software Foundation.
8c6c8fea2SSven Eckelmann  *
9c6c8fea2SSven Eckelmann  * This program is distributed in the hope that it will be useful, but
10c6c8fea2SSven Eckelmann  * WITHOUT ANY WARRANTY; without even the implied warranty of
11c6c8fea2SSven Eckelmann  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12c6c8fea2SSven Eckelmann  * General Public License for more details.
13c6c8fea2SSven Eckelmann  *
14c6c8fea2SSven Eckelmann  * You should have received a copy of the GNU General Public License
15c6c8fea2SSven Eckelmann  * along with this program; if not, write to the Free Software
16c6c8fea2SSven Eckelmann  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17c6c8fea2SSven Eckelmann  * 02110-1301, USA
18c6c8fea2SSven Eckelmann  */
19c6c8fea2SSven Eckelmann 
20c6c8fea2SSven Eckelmann #ifndef _NET_BATMAN_ADV_SEND_H_
21c6c8fea2SSven Eckelmann #define _NET_BATMAN_ADV_SEND_H_
22c6c8fea2SSven Eckelmann 
2356303d34SSven Eckelmann int batadv_send_skb_packet(struct sk_buff *skb,
2456303d34SSven Eckelmann 			   struct batadv_hard_iface *hard_iface,
25747e4221SSven Eckelmann 			   const uint8_t *dst_addr);
26*bb351ba0SMartin Hundebøll bool batadv_send_skb_to_orig(struct sk_buff *skb,
27*bb351ba0SMartin Hundebøll 			     struct batadv_orig_node *orig_node,
28*bb351ba0SMartin Hundebøll 			     struct batadv_hard_iface *recv_if);
2956303d34SSven Eckelmann void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface);
3056303d34SSven Eckelmann int batadv_add_bcast_packet_to_list(struct batadv_priv *bat_priv,
319455e34cSSven Eckelmann 				    const struct sk_buff *skb,
329455e34cSSven Eckelmann 				    unsigned long delay);
339455e34cSSven Eckelmann void batadv_send_outstanding_bat_ogm_packet(struct work_struct *work);
3456303d34SSven Eckelmann void
3556303d34SSven Eckelmann batadv_purge_outstanding_packets(struct batadv_priv *bat_priv,
3656303d34SSven Eckelmann 				 const struct batadv_hard_iface *hard_iface);
37c6c8fea2SSven Eckelmann 
38c6c8fea2SSven Eckelmann #endif /* _NET_BATMAN_ADV_SEND_H_ */
39