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