]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/hash.h
changing how libtre is dealt with
[irc/evilnet/x3.git] / src / hash.h
index 9182052911ebcdd499515571b03216ce9e45a0cc..1cceb219d7af5d10d4b85500ff0a269ce594f603 100644 (file)
@@ -3,7 +3,7 @@
  *
  * This file is part of x3.
  *
- * srvx is free software; you can redistribute it and/or modify
+ * x3 is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
 #define NICKLEN         30
 #define USERLEN         10
 #define HOSTLEN         63
+#define SOCKIPLEN       45
 #define ACCOUNTLEN      15
 #define REALLEN         50
 #define TOPICLEN        250
@@ -127,6 +128,8 @@ struct userNode {
     char info[REALLEN + 1];       /* Free form additional client information */
     char hostname[HOSTLEN + 1];   /* DNS name or IP address */
     char fakehost[HOSTLEN + 1];   /* Assigned fake host */
+    char crypthost[HOSTLEN + 30]; /* Crypted hostname */
+    char cryptip[SOCKIPLEN + 30]; /* Crypted IP */
 #ifdef WITH_PROTOCOL_P10
     char numeric[COMBO_NUMERIC_LEN+1];
     unsigned int num_local : 18;
@@ -188,7 +191,7 @@ struct exemptNode {
 struct modeNode {
     struct chanNode *channel;
     struct userNode *user;
-    unsigned short modes;
+    long modes;
     short oplevel;
     time_t idle_since;
 };
@@ -216,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;