"alsactl_card_command_elem_tlv";
"alsactl_card_add_elems";
"alsactl_card_replace_elems";
+ "alsactl_card_remove_elems";
"alsactl_card_info_get_type";
add_or_replace_elems(priv->fd, elem_id, elem_count, elem_info, TRUE,
entries, error);
}
+
+/**
+ * alsactl_card_remove_elems:
+ * @self: A #ALSACtlCard.
+ * @elem_id: A #ALSACtlElemId.
+ * @error: A #GError.
+ *
+ * Remove user-defined elements.
+ */
+void alsactl_card_remove_elems(ALSACtlCard *self, const ALSACtlElemId *elem_id,
+ GError **error)
+{
+ ALSACtlCardPrivate *priv;
+
+ g_return_if_fail(ALSACTL_IS_CARD(self));
+ g_return_if_fail(elem_id != NULL);
+ priv = alsactl_card_get_instance_private(self);
+
+ if (ioctl(priv->fd, SNDRV_CTL_IOCTL_ELEM_REMOVE, elem_id) < 0)
+ generate_error(error, errno);
+}
void alsactl_card_replace_elems(ALSACtlCard *self, const ALSACtlElemId *elem_id,
guint elem_count, ALSACtlElemInfo *elem_info,
GList **entries, GError **error);
+void alsactl_card_remove_elems(ALSACtlCard *self, const ALSACtlElemId *elem_id,
+ GError **error);
G_END_DECLS