+typedef struct NetMap NetMap;
-NetMap *the_netmap;
-int netmap_changed;
-char *working_ignetcfg;
+struct NetMap {
+ NetMap *next;
+ char nodename[SIZ];
+ time_t lastcontact;
+ char nexthop[SIZ];
+};
-void load_working_ignetcfg(void);
-void read_network_map(void);
-FilterList *load_filter_list(void);
-void write_network_map(void);
-void free_filter_list(FilterList *fl);
-int is_valid_node(char *nexthop, char *secret, char *node);
+char* load_working_ignetcfg(void);
+NetMap *read_network_map(void);
+void write_network_map(NetMap *the_netmap, int netmap_changed);
+int is_valid_node(char *nexthop, char *secret, char *node, char *working_ignetcfg, NetMap *the_netmap);