Update documents.
[tinc] / rt / rt.h
1 /*
2     route.h -- routing
3
4     Copyright (C) 2003-2004 Guus Sliepen <guus@tinc-vpn.org>,
5                   2003-2004 Ivo Timmermans <ivo@tinc-vpn.org>
6
7     This program is free software; you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation; either version 2 of the License, or
10     (at your option) any later version.
11
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16
17     You should have received a copy of the GNU General Public License
18     along with this program; if not, write to the Free Software
19     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
21     $Id$
22 */
23
24 #ifndef __RT_H__
25 #define __RT_H__
26
27 #include "rt/node.h"
28 #include "tnl/tnl.h"
29 #include "vnd/vnd.h"
30
31 #define RT_PROTOCOL 0
32
33 typedef enum rt_mode {
34         RT_MODE_ROUTER,
35         RT_MODE_SWITCH,
36         RT_MODE_HUB,
37 } rt_mode_t;
38
39 extern int rt_af;
40 extern enum rt_mode rt_mode;
41 extern bool rt_hostnames;
42 extern bool rt_priorityinheritance;
43 extern int rt_macexpire;
44 extern int rt_maxtimeout;
45 extern bool rt_overwrite_mac;
46
47 extern node_t *myself;
48 extern vnd_t *rt_vnd;
49 extern avl_tree_t *rt_tnls;
50
51 extern bool rt_init(void);
52 extern bool rt_exit(void);
53
54 #endif