Chop networker into handy bits; related functions now live in their own file.
[citadel.git] / citadel / serv_network.h
index d01639db9deeca0d662c73543737291c770b06be..fa3b6326172bc9a8b8e9cb9ecd48295b8fd28621 100644 (file)
@@ -1,9 +1,64 @@
+
+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;
+       namelist *listrecps;
+       namelist *digestrecps;
+       namelist *participates;
+       maplist *ignet_push_shares;
+       char *misc;
+       FILE *digestfp;
+       int num_msgs_spooled;
+};
+
+
+typedef struct NetMap NetMap;
+
+struct  NetMap {
+       NetMap *next;
+       char nodename[SIZ];
+       time_t lastcontact;
+       char nexthop[SIZ];
 };
+
+typedef struct FilterList FilterList;
+
+struct FilterList {
+       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);
+