#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;
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.
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