X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink.c;fp=src%2Fmeshlink.c;h=ee62078d8b16a55a31c363eb3d77f01fdbdb5b63;hb=a23ddd4f4e273b2ed68fe173b4faa69aadc98756;hp=4f9c5f407ba93b6680faa8aef5c8c3d6c0a10ede;hpb=8ccad64979db3f96e935c6fbfaf9733dafe2ee66;p=meshlink diff --git a/src/meshlink.c b/src/meshlink.c index 4f9c5f40..ee62078d 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -2060,6 +2060,20 @@ void meshlink_set_error_cb(struct meshlink_handle *mesh, meshlink_error_cb_t cb) pthread_mutex_unlock(&mesh->mutex); } +void meshlink_set_blacklisted_cb(struct meshlink_handle *mesh, meshlink_blacklisted_cb_t cb) { + if(!mesh) { + meshlink_errno = MESHLINK_EINVAL; + return; + } + + if(pthread_mutex_lock(&mesh->mutex) != 0) { + abort(); + } + + mesh->blacklisted_cb = cb; + pthread_mutex_unlock(&mesh->mutex); +} + static bool prepare_packet(meshlink_handle_t *mesh, meshlink_node_t *destination, const void *data, size_t len, vpn_packet_t *packet) { meshlink_packethdr_t *hdr;