X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink_internal.h;h=52137efb51ca7915d2fc17341dd8c18bf20dbaff;hb=8bb44d97e49251dbf4c8d6b66956b91c7d2144cf;hp=5279a63dd0a332ede229b795f97670fde2d0faff;hpb=d1f3e4416636bd46665753f5e1acfb0f6f007871;p=meshlink diff --git a/src/meshlink_internal.h b/src/meshlink_internal.h index 5279a63d..52137efb 100644 --- a/src/meshlink_internal.h +++ b/src/meshlink_internal.h @@ -33,6 +33,11 @@ #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; @@ -85,6 +92,9 @@ struct meshlink_handle { struct list_t *outpacketqueue; + struct splay_tree_t *past_request_tree; + timeout_t past_request_timeout; + int contradicting_add_edge; int contradicting_del_edge; int sleeptime; @@ -121,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.