diff options
Diffstat (limited to 'net/batman-adv/fragmentation.h')
-rw-r--r-- | net/batman-adv/fragmentation.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/net/batman-adv/fragmentation.h b/net/batman-adv/fragmentation.h new file mode 100644 index 000000000000..ca029e2676e7 --- /dev/null +++ b/net/batman-adv/fragmentation.h | |||
@@ -0,0 +1,50 @@ | |||
1 | /* Copyright (C) 2013 B.A.T.M.A.N. contributors: | ||
2 | * | ||
3 | * Martin Hundebøll <martin@hundeboll.net> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of version 2 of the GNU General Public | ||
7 | * License as published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, but | ||
10 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
12 | * General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | ||
17 | * 02110-1301, USA | ||
18 | */ | ||
19 | |||
20 | #ifndef _NET_BATMAN_ADV_FRAGMENTATION_H_ | ||
21 | #define _NET_BATMAN_ADV_FRAGMENTATION_H_ | ||
22 | |||
23 | void batadv_frag_purge_orig(struct batadv_orig_node *orig, | ||
24 | bool (*check_cb)(struct batadv_frag_table_entry *)); | ||
25 | bool batadv_frag_skb_fwd(struct sk_buff *skb, | ||
26 | struct batadv_hard_iface *recv_if, | ||
27 | struct batadv_orig_node *orig_node_src); | ||
28 | bool batadv_frag_skb_buffer(struct sk_buff **skb, | ||
29 | struct batadv_orig_node *orig_node); | ||
30 | bool batadv_frag_send_packet(struct sk_buff *skb, | ||
31 | struct batadv_orig_node *orig_node, | ||
32 | struct batadv_neigh_node *neigh_node); | ||
33 | |||
34 | /** | ||
35 | * batadv_frag_check_entry - check if a list of fragments has timed out | ||
36 | * @frags_entry: table entry to check | ||
37 | * | ||
38 | * Returns true if the frags entry has timed out, false otherwise. | ||
39 | */ | ||
40 | static inline bool | ||
41 | batadv_frag_check_entry(struct batadv_frag_table_entry *frags_entry) | ||
42 | { | ||
43 | if (!hlist_empty(&frags_entry->head) && | ||
44 | batadv_has_timed_out(frags_entry->timestamp, BATADV_FRAG_TIMEOUT)) | ||
45 | return true; | ||
46 | else | ||
47 | return false; | ||
48 | } | ||
49 | |||
50 | #endif /* _NET_BATMAN_ADV_FRAGMENTATION_H_ */ | ||