X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/68b754827164504609b223470066edfc4aa075dd..574bfc14685e7a08572ff03e1547f62a370777d6:/src/hash.h diff --git a/src/hash.h b/src/hash.h index e584cca..1cceb21 100644 --- a/src/hash.h +++ b/src/hash.h @@ -191,7 +191,7 @@ struct exemptNode { struct modeNode { struct chanNode *channel; struct userNode *user; - unsigned short modes; + long modes; short oplevel; time_t idle_since; }; @@ -219,6 +219,42 @@ struct server { struct serverList children; }; +struct waitingConnection { + char *server; + char *target; +}; + +struct routingPlan { + dict_t servers; +}; + +struct routingPlanServer { + char *uplink; + char *secondaryuplink; + unsigned int port; + int karma; + int offline; +}; + +/* Ported from X2 */ +struct routeList { + char* server; /* Name of the server */ + unsigned int port; /* connection port */ + char *uplink; /* Server its linked to (towards us) */ + char *secondaryuplink; + int outsideness; /* 0 means leaf, 1 second layer, etc. my uplink is highest */ + struct routeList *next; +}; + +/* Ported from X2 */ +struct route { + int count; /* how many servers we have */ + int maxdepth; /* biggest outsideness value */ + int centered; /* set to TRUE when changerouteUplinks is run */ + struct routeList *servers; +}; + + extern struct server *self; extern dict_t channels; extern dict_t clients;