X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fserv_network.h;h=fa3b6326172bc9a8b8e9cb9ecd48295b8fd28621;hb=052ddac0cbfb33a2b65ab1b43ed712bebdd8c9dc;hp=5c48b8d28d753e66c384b3ac0d1a3f2f0f3ceff6;hpb=85114fe8f029bc5ec9efb9a026dfc1e5f4fa84f4;p=citadel.git diff --git a/citadel/serv_network.h b/citadel/serv_network.h index 5c48b8d28..fa3b63261 100644 --- a/citadel/serv_network.h +++ b/citadel/serv_network.h @@ -1,43 +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 *digestrecps; - struct namelist *participates; - struct maplist *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;