• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/batman-adv/
1/*
2 * Copyright (C) 2008-2010 B.A.T.M.A.N. contributors:
3 *
4 * Simon Wunderlich, Marek Lindner
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_VIS_H_
23#define _NET_BATMAN_ADV_VIS_H_
24
25#define VIS_TIMEOUT		200	/* timeout of vis packets in seconds */
26
27struct vis_info {
28	unsigned long       first_seen;
29	struct list_head    recv_list;
30			    /* list of server-neighbors we received a vis-packet
31			     * from.  we should not reply to them. */
32	struct list_head send_list;
33	struct kref refcount;
34	/* this packet might be part of the vis send queue. */
35	struct vis_packet packet;
36	/* vis_info may follow here*/
37} __attribute__((packed));
38
39struct vis_info_entry {
40	uint8_t  src[ETH_ALEN];
41	uint8_t  dest[ETH_ALEN];
42	uint8_t  quality;	/* quality = 0 means HNA */
43} __attribute__((packed));
44
45struct recvlist_node {
46	struct list_head list;
47	uint8_t mac[ETH_ALEN];
48};
49
50int vis_seq_print_text(struct seq_file *seq, void *offset);
51void receive_server_sync_packet(struct bat_priv *bat_priv,
52				struct vis_packet *vis_packet,
53				int vis_info_len);
54void receive_client_update_packet(struct bat_priv *bat_priv,
55				  struct vis_packet *vis_packet,
56				  int vis_info_len);
57int vis_init(void);
58void vis_quit(void);
59
60#endif /* _NET_BATMAN_ADV_VIS_H_ */
61