+
+typedef struct namelist namelist;
+
struct namelist {
- struct namelist *next;
+ namelist *next;
char name[SIZ];
};
+typedef struct maplist maplist;
+
+struct maplist {
+ struct maplist *next;
+ char remote_nodename[SIZ];
+ char remote_roomname[SIZ];
+};
+
+typedef struct SpoolControl SpoolControl;
+
struct SpoolControl {
long lastsent;
- struct namelist *listrecps;
- struct namelist *digestrecps;
- struct namelist *ignet_push_shares;
+ namelist *listrecps;
+ namelist *digestrecps;
+ namelist *participates;
+ maplist *ignet_push_shares;
char *misc;
FILE *digestfp;
int num_msgs_spooled;
};
-struct NetMap {
- struct NetMap *next;
+
+typedef struct NetMap NetMap;
+
+struct NetMap {
+ NetMap *next;
char nodename[SIZ];
time_t lastcontact;
char nexthop[SIZ];
};
-
-struct UseTable {
- char ut_msgid[SIZ];
- time_t ut_timestamp;
-};
+typedef struct FilterList FilterList;
struct FilterList {
- struct FilterList *next;
+ FilterList *next;
char fl_user[SIZ];
char fl_room[SIZ];
char fl_node[SIZ];
};
+extern FilterList *filterlist;
+
+void free_spoolcontrol_struct(SpoolControl **scc);
+int writenfree_spoolcontrol_file(SpoolControl **scc, char *filename);
+int read_spoolcontrol_file(SpoolControl **scc, char *filename);
+
+int is_recipient(SpoolControl *sc, const char *Name);
+
+
+void network_queue_room(struct ctdlroom *, void *);
+void destroy_network_queue_room(void);
+void network_bounce(struct CtdlMessage *msg, char *reason);
+int network_usetable(struct CtdlMessage *msg);
+void network_do_spoolin(void);
+void network_consolidate_spoolout(void);
+void network_spoolout_room(char *room_to_spool);
-extern struct FilterList *filterlist;