2014-01-04 21:04:25 +04:00
/* Copyright (C) 2007-2014 B.A.T.M.A.N. contributors:
2010-12-13 14:19:28 +03:00
*
2012-03-14 16:03:01 +04:00
* Marek Lindner , Simon Wunderlich , Antonio Quartulli
2010-12-13 14:19:28 +03:00
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of version 2 of the GNU General Public
* License as published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful , but
* WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2013-11-03 23:40:48 +04:00
* along with this program ; if not , see < http : //www.gnu.org/licenses/>.
2010-12-13 14:19:28 +03:00
*/
# ifndef _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
# define _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
2012-06-06 00:31:31 +04:00
int batadv_tt_init ( struct batadv_priv * bat_priv ) ;
2013-05-27 11:33:25 +04:00
bool batadv_tt_local_add ( struct net_device * soft_iface , const uint8_t * addr ,
2013-11-16 15:03:48 +04:00
unsigned short vid , int ifindex , uint32_t mark ) ;
2012-08-27 13:44:43 +04:00
uint16_t batadv_tt_local_remove ( struct batadv_priv * bat_priv ,
2013-06-04 14:11:39 +04:00
const uint8_t * addr , unsigned short vid ,
const char * message , bool roaming ) ;
2012-05-12 04:09:39 +04:00
int batadv_tt_local_seq_print_text ( struct seq_file * seq , void * offset ) ;
int batadv_tt_global_seq_print_text ( struct seq_file * seq , void * offset ) ;
2012-06-06 00:31:31 +04:00
void batadv_tt_global_del_orig ( struct batadv_priv * bat_priv ,
struct batadv_orig_node * orig_node ,
2013-08-07 20:28:55 +04:00
int32_t match_vid , const char * message ) ;
2012-06-06 00:31:31 +04:00
struct batadv_orig_node * batadv_transtable_search ( struct batadv_priv * bat_priv ,
const uint8_t * src ,
2013-06-04 14:11:39 +04:00
const uint8_t * addr ,
unsigned short vid ) ;
2012-06-06 00:31:31 +04:00
void batadv_tt_free ( struct batadv_priv * bat_priv ) ;
2013-06-04 14:11:39 +04:00
bool batadv_is_my_client ( struct batadv_priv * bat_priv , const uint8_t * addr ,
unsigned short vid ) ;
2012-06-06 00:31:31 +04:00
bool batadv_is_ap_isolated ( struct batadv_priv * bat_priv , uint8_t * src ,
2013-07-02 13:04:36 +04:00
uint8_t * dst , unsigned short vid ) ;
2013-04-23 17:40:01 +04:00
void batadv_tt_local_commit_changes ( struct batadv_priv * bat_priv ) ;
2012-06-06 00:31:31 +04:00
bool batadv_tt_global_client_is_roaming ( struct batadv_priv * bat_priv ,
2013-06-04 14:11:39 +04:00
uint8_t * addr , unsigned short vid ) ;
2012-09-24 00:38:34 +04:00
bool batadv_tt_local_client_is_roaming ( struct batadv_priv * bat_priv ,
2013-06-04 14:11:39 +04:00
uint8_t * addr , unsigned short vid ) ;
2013-05-27 11:33:25 +04:00
void batadv_tt_local_resize_to_mtu ( struct net_device * soft_iface ) ;
2012-07-06 01:38:29 +04:00
bool batadv_tt_add_temporary_global_entry ( struct batadv_priv * bat_priv ,
struct batadv_orig_node * orig_node ,
2013-06-04 14:11:39 +04:00
const unsigned char * addr ,
unsigned short vid ) ;
2013-11-16 15:03:52 +04:00
bool batadv_tt_global_is_isolated ( struct batadv_priv * bat_priv ,
const uint8_t * addr , unsigned short vid ) ;
2010-12-13 14:19:28 +03:00
# endif /* _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ */