2010-12-13 14:19:28 +03:00
/*
2012-01-01 03:41:38 +04:00
* Copyright ( C ) 2007 - 2012 B . A . T . M . A . N . contributors :
2010-12-13 14:19:28 +03:00
*
* Marek Lindner , Simon Wunderlich
*
* 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
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA
* 02110 - 1301 , USA
*
*/
# ifndef _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
# define _NET_BATMAN_ADV_TRANSLATION_TABLE_H_
2011-04-27 16:27:44 +04:00
int tt_len ( int changes_num ) ;
int tt_changes_fill_buffer ( struct bat_priv * bat_priv ,
unsigned char * buff , int buff_len ) ;
int tt_init ( struct bat_priv * bat_priv ) ;
2011-07-07 17:35:35 +04:00
void tt_local_add ( struct net_device * soft_iface , const uint8_t * addr ,
int ifindex ) ;
2011-05-05 10:42:45 +04:00
void tt_local_remove ( struct bat_priv * bat_priv ,
2011-04-27 16:27:57 +04:00
const uint8_t * addr , const char * message , bool roaming ) ;
2011-05-05 10:42:45 +04:00
int tt_local_seq_print_text ( struct seq_file * seq , void * offset ) ;
2011-06-17 18:11:27 +04:00
void tt_global_add_orig ( struct bat_priv * bat_priv , struct orig_node * orig_node ,
2011-05-15 01:14:50 +04:00
const unsigned char * tt_buff , int tt_buff_len ) ;
2011-07-07 17:35:35 +04:00
int tt_global_add ( struct bat_priv * bat_priv , struct orig_node * orig_node ,
const unsigned char * addr , uint8_t ttvn , bool roaming ,
bool wifi ) ;
2011-05-05 10:42:45 +04:00
int tt_global_seq_print_text ( struct seq_file * seq , void * offset ) ;
void tt_global_del_orig ( struct bat_priv * bat_priv ,
2011-04-27 16:27:44 +04:00
struct orig_node * orig_node , const char * message ) ;
2011-05-15 01:14:50 +04:00
struct orig_node * transtable_search ( struct bat_priv * bat_priv ,
2011-07-07 17:35:37 +04:00
const uint8_t * src , const uint8_t * addr ) ;
2011-04-27 16:27:44 +04:00
uint16_t tt_local_crc ( struct bat_priv * bat_priv ) ;
void tt_free ( struct bat_priv * bat_priv ) ;
bool send_tt_response ( struct bat_priv * bat_priv ,
struct tt_query_packet * tt_request ) ;
bool is_my_client ( struct bat_priv * bat_priv , const uint8_t * addr ) ;
void handle_tt_response ( struct bat_priv * bat_priv ,
struct tt_query_packet * tt_response ) ;
2011-07-07 03:40:58 +04:00
void tt_commit_changes ( struct bat_priv * bat_priv ) ;
2011-07-07 17:35:36 +04:00
bool is_ap_isolated ( struct bat_priv * bat_priv , uint8_t * src , uint8_t * dst ) ;
2011-07-30 15:10:18 +04:00
void tt_update_orig ( struct bat_priv * bat_priv , struct orig_node * orig_node ,
const unsigned char * tt_buff , uint8_t tt_num_changes ,
uint8_t ttvn , uint16_t tt_crc ) ;
2010-12-13 14:19:28 +03:00
# endif /* _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ */