]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink_internal.h
Merge remote-tracking branch 'origin/everbase' into discovery
[meshlink] / src / meshlink_internal.h
index 7c3a7d4c9734faff9a7e7684857f66c41f5a5270..52137efb51ca7915d2fc17341dd8c18bf20dbaff 100644 (file)
 
 #define MAXSOCKETS 8    /* Probably overkill... */
 
+struct AvahiServer;
+struct AvahiSServiceBrowser;
+struct AvahiSimplePoll;
+struct AvahiSEntryGroup;
+
 typedef struct listen_socket_t {
        struct io_t tcp;
        struct io_t udp;
@@ -57,8 +62,10 @@ typedef struct outpacketqueue {
 
 /// A handle for an instance of MeshLink.
 struct meshlink_handle {
-       char *confbase;
        char *name;
+       void *priv;
+
+       char *confbase;
 
        meshlink_receive_cb_t receive_cb;
        meshlink_node_status_cb_t node_status_cb;
@@ -124,6 +131,13 @@ struct meshlink_handle {
        char line[4096];
        char buffer[4096];
        size_t blen;
+
+       pthread_t discovery_thread;
+       bool discovery_threadstarted;
+       struct AvahiServer *avahi_server;
+       struct AvahiSServiceBrowser *avahi_browser;
+       struct AvahiSimplePoll *avahi_poll;
+       struct AvahiSEntryGroup *avahi_group;
 };
 
 /// A handle for a MeshLink node.