X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fvertex.h;h=b967a2ed30763d3f96b52d1252eb3e04041dae7b;hp=9490f4811fd50d329d1f9c1df381aa9c983bd3c9;hb=ac066bb057dcb187bf91670793ba5e6ca456e052;hpb=ec0c16b9b63f361b11a757ee1641d562e4811f93 diff --git a/src/vertex.h b/src/vertex.h index 9490f481..b967a2ed 100644 --- a/src/vertex.h +++ b/src/vertex.h @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: vertex.h,v 1.1.2.3 2001/10/10 08:49:47 guus Exp $ + $Id: vertex.h,v 1.1.2.5 2001/10/27 12:13:17 guus Exp $ */ #ifndef __TINC_VERTEX_H__ @@ -28,15 +28,7 @@ #include "node.h" #include "connection.h" -typedef struct vertex_t { - struct halfconnection_t from; - struct halfconnection_t to; - - long int options; /* options turned on for this connection */ - int metric; /* weight of this vertex */ - - struct connection_t *connection; /* connection associated with this vertex, if available */ -} vertex_t; +/* I don't know if halfconnection_t is useful... */ typedef struct halfconnection_t { struct node_t *node; /* node associated with this end of the connection */ @@ -46,6 +38,25 @@ typedef struct halfconnection_t { char *hostname; /* the hostname of real ip */ } halfconnection_t; +typedef struct vertex_t { + struct node_t *from; + struct node_t *to; + + long int options; /* options turned on for this connection */ + int metric; /* weight of this vertex */ + + struct connection_t *connection; /* connection associated with this vertex, if available */ +} vertex_t; + extern avl_tree_t *vertex_tree; /* Tree with all known vertices (replaces active_tree) */ +extern void init_vertices(void); +extern void exit_vertices(void); +extern vertex_t *new_vertex(void); +extern void free_vertex(vertex_t *); +extern void vertex_add(vertex_t *); +extern void vertex_del(vertex_t *); +extern vertex_t *lookup_vertex(struct node_t *, struct node_t *); +extern void dump_vertices(void); + #endif /* __TINC_VERTEX_H__ */