1 /* 2 * Copyright (C) 2007-2012 B.A.T.M.A.N. contributors: 3 * 4 * Marek Lindner, Simon Wunderlich 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of version 2 of the GNU General Public 8 * License as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 18 * 02110-1301, USA 19 * 20 */ 21 22 #ifndef _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ 23 #define _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ 24 25 int tt_len(int changes_num); 26 int tt_changes_fill_buffer(struct bat_priv *bat_priv, 27 unsigned char *buff, int buff_len); 28 int tt_init(struct bat_priv *bat_priv); 29 void tt_local_add(struct net_device *soft_iface, const uint8_t *addr, 30 int ifindex); 31 void tt_local_remove(struct bat_priv *bat_priv, 32 const uint8_t *addr, const char *message, bool roaming); 33 int tt_local_seq_print_text(struct seq_file *seq, void *offset); 34 void tt_global_add_orig(struct bat_priv *bat_priv, struct orig_node *orig_node, 35 const unsigned char *tt_buff, int tt_buff_len); 36 int tt_global_add(struct bat_priv *bat_priv, struct orig_node *orig_node, 37 const unsigned char *addr, uint8_t ttvn, bool roaming, 38 bool wifi); 39 int tt_global_seq_print_text(struct seq_file *seq, void *offset); 40 void tt_global_del_orig(struct bat_priv *bat_priv, 41 struct orig_node *orig_node, const char *message); 42 struct orig_node *transtable_search(struct bat_priv *bat_priv, 43 const uint8_t *src, const uint8_t *addr); 44 uint16_t tt_local_crc(struct bat_priv *bat_priv); 45 void tt_free(struct bat_priv *bat_priv); 46 bool send_tt_response(struct bat_priv *bat_priv, 47 struct tt_query_packet *tt_request); 48 bool is_my_client(struct bat_priv *bat_priv, const uint8_t *addr); 49 void handle_tt_response(struct bat_priv *bat_priv, 50 struct tt_query_packet *tt_response); 51 void tt_commit_changes(struct bat_priv *bat_priv); 52 bool is_ap_isolated(struct bat_priv *bat_priv, uint8_t *src, uint8_t *dst); 53 void tt_update_orig(struct bat_priv *bat_priv, struct orig_node *orig_node, 54 const unsigned char *tt_buff, uint8_t tt_num_changes, 55 uint8_t ttvn, uint16_t tt_crc); 56 57 #endif /* _NET_BATMAN_ADV_TRANSLATION_TABLE_H_ */ 58