X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink.c;fp=src%2Fmeshlink.c;h=fd8e2f9889f646d66e51f322eab7343abe49371f;hb=7ece2b2350630584a2268b6b028d545ea69053a3;hp=31fc205aef72e745b6b3215de26392cd391cb7c8;hpb=b3ffdf70b7f91d3a89b590904ddea84356908239;p=meshlink diff --git a/src/meshlink.c b/src/meshlink.c index 31fc205a..fd8e2f98 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -4082,6 +4082,20 @@ void meshlink_set_channel_rcvbuf(meshlink_handle_t *mesh, meshlink_channel_t *ch pthread_mutex_unlock(&mesh->mutex); } +void meshlink_set_channel_flags(meshlink_handle_t *mesh, meshlink_channel_t *channel, uint32_t flags) { + if(!mesh || !channel) { + meshlink_errno = MESHLINK_EINVAL; + return; + } + + if(pthread_mutex_lock(&mesh->mutex) != 0) { + abort(); + } + + utcp_set_flags(channel->c, flags); + pthread_mutex_unlock(&mesh->mutex); +} + meshlink_channel_t *meshlink_channel_open_ex(meshlink_handle_t *mesh, meshlink_node_t *node, uint16_t port, meshlink_channel_receive_cb_t cb, const void *data, size_t len, uint32_t flags) { if(data && len) { abort(); // TODO: handle non-NULL data