X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fserv_network.h;h=fa3b6326172bc9a8b8e9cb9ecd48295b8fd28621;hp=d01639db9deeca0d662c73543737291c770b06be;hb=052ddac0cbfb33a2b65ab1b43ed712bebdd8c9dc;hpb=06b95e92df305d6f02851b059b41cc8880a5f9ca diff --git a/citadel/serv_network.h b/citadel/serv_network.h index d01639db9..fa3b63261 100644 --- a/citadel/serv_network.h +++ b/citadel/serv_network.h @@ -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); +