X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink.c;h=cd23771ab70697f565df0f93b77b26d8089c6d54;hb=1d7554c7b8c632adf86492be9dc7afecb49bca5d;hp=8ec207842c6732bee32b25914db502c1174863d5;hpb=ecfe7cbbe08dc99ba6f329ad66bb8ee09ce9539b;p=meshlink diff --git a/src/meshlink.c b/src/meshlink.c index 8ec20784..cd23771a 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -1852,6 +1852,20 @@ meshlink_node_t *meshlink_get_node(meshlink_handle_t *mesh, const char *name) { return node; } +meshlink_submesh_t *meshlink_get_submesh(meshlink_handle_t *mesh, const char *name) { + if(!mesh || !name) { + meshlink_errno = MESHLINK_EINVAL; + return NULL; + } + + meshlink_submesh_t *submesh = NULL; + + pthread_mutex_lock(&(mesh->mesh_mutex)); + submesh = (meshlink_submesh_t *)lookup_submesh(mesh, name); + pthread_mutex_unlock(&(mesh->mesh_mutex)); + return submesh; +} + meshlink_node_t **meshlink_get_all_nodes(meshlink_handle_t *mesh, meshlink_node_t **nodes, size_t *nmemb) { if(!mesh || !nmemb || (*nmemb && !nodes)) { meshlink_errno = MESHLINK_EINVAL;