]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink_internal.h
Move definition of outpacketqueue_t from meshlink.h to meshlink_internal.h.
[meshlink] / src / meshlink_internal.h
index c58c477388620198143136e6603e274cbc129a3f..5279a63dd0a332ede229b795f97670fde2d0faff 100644 (file)
@@ -49,6 +49,12 @@ typedef enum proxytype_t {
        PROXY_EXEC,
 } proxytype_t;
 
+typedef struct outpacketqueue {
+       meshlink_node_t *destination;
+       const void *data;
+       unsigned int len;
+} outpacketqueue_t;
+
 /// A handle for an instance of MeshLink.
 struct meshlink_handle {
        char *confbase;
@@ -60,7 +66,9 @@ struct meshlink_handle {
        meshlink_log_level_t log_level;
 
        pthread_t thread;
+       bool threadstarted;
        pthread_mutex_t outpacketqueue_mutex;
+       pthread_mutex_t nodes_mutex;
        event_loop_t loop;
        listen_socket_t listen_socket[MAXSOCKETS];
        int listen_sockets;
@@ -127,4 +135,7 @@ typedef struct meshlink_packethdr {
        uint8_t source[16];
 } __attribute__ ((__packed__)) meshlink_packethdr_t;
 
+extern void meshlink_send_from_queue(event_loop_t* el,meshlink_handle_t *mesh);
+
+
 #endif // MESHLINK_INTERNAL_H