]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Add meshlink_set_channel_flags().
[meshlink] / src / meshlink.c
index 31fc205aef72e745b6b3215de26392cd391cb7c8..fd8e2f9889f646d66e51f322eab7343abe49371f 100644 (file)
@@ -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