X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink_internal.h;h=15edba9ab9a1bf1c3452635c888dac1abe8bb9c7;hb=2d9dbeb8ecb2d6220e123564bbfe18ba7fe0a34b;hp=cbb98c6fd07048994f0bf7cae1df7ca52e951690;hpb=46e373d99b4559245885c94930a6979d03a6f12b;p=meshlink diff --git a/src/meshlink_internal.h b/src/meshlink_internal.h index cbb98c6f..15edba9a 100644 --- a/src/meshlink_internal.h +++ b/src/meshlink_internal.h @@ -42,8 +42,8 @@ static const char meshlink_invitation_label[] = "MeshLink invitation"; static const char meshlink_tcp_label[] = "MeshLink TCP"; static const char meshlink_udp_label[] = "MeshLink UDP"; -#define MESHLINK_CONFIG_VERSION 1 -#define MESHLINK_INVITATION_VERSION 1 +#define MESHLINK_CONFIG_VERSION 2 +#define MESHLINK_INVITATION_VERSION 2 struct CattaServer; struct CattaSServiceBrowser; @@ -94,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; @@ -133,6 +133,7 @@ struct meshlink_handle { struct connection_t *everyone; uint64_t prng_state[4]; + uint32_t session_id; int next_pit; int pits[10]; @@ -143,6 +144,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; @@ -167,7 +169,7 @@ struct meshlink_handle { // Configuration char *confbase; - FILE *conffile; + FILE *lockfile; void *config_key; // Thread management @@ -257,6 +259,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) {