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