X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink_internal.h;h=dd8c7d329f38929e499d3c5b935ba2594d00862f;hb=a5a8005b2d89712e124ab7295165a3e229abdad5;hp=f32e87e65b18a20959b26dcd1404fc4a46473437;hpb=ea20fcfcded669ce8fbbda3a1f93f354ed254603;p=meshlink diff --git a/src/meshlink_internal.h b/src/meshlink_internal.h index f32e87e6..dd8c7d32 100644 --- a/src/meshlink_internal.h +++ b/src/meshlink_internal.h @@ -54,6 +54,7 @@ typedef struct listen_socket_t { struct io_t tcp; struct io_t udp; sockaddr_t sa; + sockaddr_t broadcast_sa; bool bindto; } listen_socket_t; @@ -93,7 +94,7 @@ struct meshlink_handle { void *priv; // private members - pthread_mutex_t mesh_mutex; + pthread_mutex_t mutex; event_loop_t loop; struct node_t *self; meshlink_log_cb_t log_cb; @@ -142,6 +143,7 @@ struct meshlink_handle { meshlink_channel_accept_cb_t channel_accept_cb; meshlink_node_duplicate_cb_t node_duplicate_cb; meshlink_connection_try_cb_t connection_try_cb; + meshlink_error_cb_t error_cb; // Mesh parameters char *appname; @@ -256,6 +258,7 @@ extern meshlink_log_level_t global_log_level; extern meshlink_log_cb_t global_log_cb; extern void handle_duplicate_node(meshlink_handle_t *mesh, struct node_t *n); extern void handle_network_change(meshlink_handle_t *mesh, bool online); +extern void call_error_cb(meshlink_handle_t *mesh, meshlink_errno_t meshlink_errno); /// Per-instance PRNG static inline int prng(meshlink_handle_t *mesh, uint64_t max) {