2013-01-04 06:05:31 +04:00
/* Copyright (C) 2007-2013 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
* 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_
2012-05-12 04:09:39 +04:00
int batadv_tt_len ( int changes_num ) ;
2012-06-06 00:31:31 +04:00
int batadv_tt_init ( struct batadv_priv * bat_priv ) ;
2012-05-12 04:09:39 +04:00
void batadv_tt_local_add ( struct net_device * soft_iface , const uint8_t * addr ,
int ifindex ) ;
2012-08-27 13:44:43 +04:00
uint16_t batadv_tt_local_remove ( struct batadv_priv * bat_priv ,
const uint8_t * addr , 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 ) ;
2012-06-06 00:31:31 +04:00
void batadv_tt_global_add_orig ( struct batadv_priv * bat_priv ,
struct batadv_orig_node * orig_node ,
2012-05-12 04:09:39 +04:00
const unsigned char * tt_buff , int tt_buff_len ) ;
2012-06-06 00:31:31 +04:00
int batadv_tt_global_add ( struct batadv_priv * bat_priv ,
struct batadv_orig_node * orig_node ,
2013-04-18 17:13:01 +04:00
const unsigned char * addr , uint16_t flags ,
2012-05-25 02:00:54 +04:00
uint8_t ttvn ) ;
2012-05-12 04:09:39 +04:00
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 ,
2012-05-12 04:09:39 +04:00
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 ,
const uint8_t * addr ) ;
void batadv_tt_free ( struct batadv_priv * bat_priv ) ;
bool batadv_send_tt_response ( struct batadv_priv * bat_priv ,
2012-06-06 00:31:30 +04:00
struct batadv_tt_query_packet * tt_request ) ;
2012-06-06 00:31:31 +04:00
bool batadv_is_my_client ( struct batadv_priv * bat_priv , const uint8_t * addr ) ;
void batadv_handle_tt_response ( struct batadv_priv * bat_priv ,
2012-06-06 00:31:30 +04:00
struct batadv_tt_query_packet * tt_response ) ;
2012-06-06 00:31:31 +04:00
bool batadv_is_ap_isolated ( struct batadv_priv * bat_priv , uint8_t * src ,
2012-05-12 04:09:39 +04:00
uint8_t * dst ) ;
2012-06-06 00:31:31 +04:00
void batadv_tt_update_orig ( struct batadv_priv * bat_priv ,
struct batadv_orig_node * orig_node ,
2012-05-12 04:09:39 +04:00
const unsigned char * tt_buff , uint8_t tt_num_changes ,
uint8_t ttvn , uint16_t tt_crc ) ;
2012-06-06 00:31:31 +04:00
int batadv_tt_append_diff ( struct batadv_priv * bat_priv ,
2012-05-07 00:22:05 +04:00
unsigned char * * packet_buff , int * packet_buff_len ,
int packet_min_len ) ;
2012-06-06 00:31:31 +04:00
bool batadv_tt_global_client_is_roaming ( struct batadv_priv * bat_priv ,
2012-05-12 04:09:39 +04:00
uint8_t * addr ) ;
2012-09-24 00:38:34 +04:00
bool batadv_tt_local_client_is_roaming ( struct batadv_priv * bat_priv ,
uint8_t * addr ) ;
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 ,
const unsigned char * addr ) ;
2010-12-13 14:19:28 +03:00
# endif /* _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ */