]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink_internal.h
Move proxy variables to mesh.
[meshlink] / src / meshlink_internal.h
index fa1017d065538efe9634d26426aeb8e95609c6b7..3c2b0423f7df7ec3952b6f571cdb92ba0cefe274 100644 (file)
 
 #include "system.h"
 
+#include "event.h"
 #include "meshlink.h"
 
+typedef enum proxytype_t {
+       PROXY_NONE = 0,
+       PROXY_SOCKS4,
+       PROXY_SOCKS4A,
+       PROXY_SOCKS5,
+       PROXY_HTTP,
+       PROXY_EXEC,
+} proxytype_t;
+
 /// A handle for an instance of MeshLink.
 struct meshlink_handle {
        char *confbase;
@@ -43,7 +53,23 @@ struct meshlink_handle {
        struct splay_tree_t *edges;
        struct splay_tree_t *nodes;
 
-       struct list_t *outgoing_connections;
+       struct list_t *connections;
+       struct list_t *outgoings;
+
+       int contradicting_add_edge;
+       int contradicting_del_edge;
+       int sleeptime;
+       time_t last_config_check;
+       timeout_t pingtimer;
+       timeout_t periodictimer;
+
+       char *myport;
+
+       char *proxyhost;
+       char *proxyport;
+       char *proxyuser;
+       char *proxypass;
+       proxytype_t proxytype;
 };
 
 /// A handle for a MeshLink node.
@@ -52,4 +78,10 @@ struct meshlink_node {
        void *priv;
 };
 
+// This is a *temporary* global variable which will keep the compiler happy
+// while refactoring the code to get rid of global variables.
+// TODO: remove this when no other global variables remain.
+
+extern meshlink_handle_t *mesh;
+
 #endif // MESHLINK_INTERNAL_H