199ca51627a6296194ebbe76b3cea6d086cbacf0
[tinc] / src / pokey / interface.h
1 /*
2     interface.h -- header for interface.c
3     Copyright (C) 2002 Guus Sliepen <guus@sliepen.warande.net>,
4                   2002 Ivo Timmermans <itimmermans@bigfoot.com>
5
6     This program is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     This program is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with this program; if not, write to the Free Software
18     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19
20     $Id: interface.h,v 1.1 2002/04/11 14:23:56 zarq Exp $
21 */
22
23 #ifndef __TINC_INTERFACE_H__
24 #define __TINC_INTERFACE_H__
25
26 #include <gtk/gtk.h>
27
28 #include "node.h"
29 #include "edge.h"
30
31 typedef struct graph_t {
32   struct graph_t *attractors[20];
33   struct graph_t *repellors[20];
34   int nat;
35   int nrp;
36   node_t *node;
37 } graph_t;
38
39 extern int build_graph;
40
41 void log_message(int, const char *, ...);
42 GtkCTreeNode *if_node_add(node_t *);
43 void if_node_del(node_t *);
44 void if_subnet_add(subnet_t *);
45 void if_subnet_del(subnet_t *);
46 void if_edge_add(edge_t *);
47 void if_edge_del(edge_t *);
48
49 void if_build_graph(void);
50 void if_graph_add_node(node_t *);
51 void if_graph_add_edge(edge_t *);
52
53 int init_interface(void);
54
55 #endif /* __TINC_INTERFACE_H__ */