/*1* Copyright (C) 2007-2011 B.A.T.M.A.N. contributors:2*3* Marek Lindner, Simon Wunderlich4*5* This program is free software; you can redistribute it and/or6* modify it under the terms of version 2 of the GNU General Public7* License as published by the Free Software Foundation.8*9* This program is distributed in the hope that it will be useful, but10* WITHOUT ANY WARRANTY; without even the implied warranty of11* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12* General Public License for more details.13*14* You should have received a copy of the GNU General Public License15* along with this program; if not, write to the Free Software16* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA17* 02110-1301, USA18*19*/2021#ifndef _NET_BATMAN_ADV_AGGREGATION_H_22#define _NET_BATMAN_ADV_AGGREGATION_H_2324#include "main.h"2526/* is there another aggregated packet here? */27static inline int aggregated_packet(int buff_pos, int packet_len, int num_tt)28{29int next_buff_pos = buff_pos + BAT_PACKET_LEN + (num_tt * ETH_ALEN);3031return (next_buff_pos <= packet_len) &&32(next_buff_pos <= MAX_AGGREGATION_BYTES);33}3435void add_bat_packet_to_list(struct bat_priv *bat_priv,36unsigned char *packet_buff, int packet_len,37struct hard_iface *if_incoming, char own_packet,38unsigned long send_time);39void receive_aggr_bat_packet(struct ethhdr *ethhdr, unsigned char *packet_buff,40int packet_len, struct hard_iface *if_incoming);4142#endif /* _NET_BATMAN_ADV_AGGREGATION_H_ */434445