<refentry id="media-ioc-setup-link"> <refmeta> <refentrytitle>ioctl MEDIA_IOC_SETUP_LINK</refentrytitle> &manvol; </refmeta> <refnamediv> <refname>MEDIA_IOC_SETUP_LINK</refname> <refpurpose>Modify the properties of a link</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcprototype> <funcdef>int <function>ioctl</function></funcdef> <paramdef>int <parameter>fd</parameter></paramdef> <paramdef>int <parameter>request</parameter></paramdef> <paramdef>struct media_link_desc *<parameter>argp</parameter></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1> <title>Arguments</title> <variablelist> <varlistentry> <term><parameter>fd</parameter></term> <listitem> <para>File descriptor returned by <link linkend='media-func-open'><function>open()</function></link>.</para> </listitem> </varlistentry> <varlistentry> <term><parameter>request</parameter></term> <listitem> <para>MEDIA_IOC_SETUP_LINK</para> </listitem> </varlistentry> <varlistentry> <term><parameter>argp</parameter></term> <listitem> <para></para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>Description</title> <para>To change link properties applications fill a &media-link-desc; with link identification information (source and sink pad) and the new requested link flags. They then call the MEDIA_IOC_SETUP_LINK ioctl with a pointer to that structure.</para> <para>The only configurable property is the <constant>ENABLED</constant> link flag to enable/disable a link. Links marked with the <constant>IMMUTABLE</constant> link flag can not be enabled or disabled. </para> <para>Link configuration has no side effect on other links. If an enabled link at the sink pad prevents the link from being enabled, the driver returns with an &EBUSY;.</para> <para>Only links marked with the <constant>DYNAMIC</constant> link flag can be enabled/disabled while streaming media data. Attempting to enable or disable a streaming non-dynamic link will return an &EBUSY;.</para> <para>If the specified link can't be found the driver returns with an &EINVAL;.</para> </refsect1> <refsect1> &return-value; <variablelist> <varlistentry> <term><errorcode>EINVAL</errorcode></term> <listitem> <para>The &media-link-desc; references a non-existing link, or the link is immutable and an attempt to modify its configuration was made. </para> </listitem> </varlistentry> </variablelist> </refsect1> </refentry>