linux_dsm_epyc7002/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml
Sylwester Nawrocki c6401af669 [media] Remove unneeded comments from the media API DocBook files
This removes comment tags intended for emacs configuration from
67 files in the Media API DocBook. Such comments are not really
helpful and violate  the coding style rules.

Signed-off-by: Sylwester Nawrocki <snjw23@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:16:53 -02:00

130 lines
3.7 KiB
XML

<refentry id="vidioc-g-ctrl">
<refmeta>
<refentrytitle>ioctl VIDIOC_G_CTRL, VIDIOC_S_CTRL</refentrytitle>
&manvol;
</refmeta>
<refnamediv>
<refname>VIDIOC_G_CTRL</refname>
<refname>VIDIOC_S_CTRL</refname>
<refpurpose>Get or set the value of a control</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 v4l2_control
*<parameter>argp</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Arguments</title>
<variablelist>
<varlistentry>
<term><parameter>fd</parameter></term>
<listitem>
<para>&fd;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>request</parameter></term>
<listitem>
<para>VIDIOC_G_CTRL, VIDIOC_S_CTRL</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>argp</parameter></term>
<listitem>
<para></para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Description</title>
<para>To get the current value of a control applications
initialize the <structfield>id</structfield> field of a struct
<structname>v4l2_control</structname> and call the
<constant>VIDIOC_G_CTRL</constant> ioctl with a pointer to this
structure. To change the value of a control applications initialize
the <structfield>id</structfield> and <structfield>value</structfield>
fields of a struct <structname>v4l2_control</structname> and call the
<constant>VIDIOC_S_CTRL</constant> ioctl.</para>
<para>When the <structfield>id</structfield> is invalid drivers
return an &EINVAL;. When the <structfield>value</structfield> is out
of bounds drivers can choose to take the closest valid value or return
an &ERANGE;, whatever seems more appropriate. However,
<constant>VIDIOC_S_CTRL</constant> is a write-only ioctl, it does not
return the actual new value.</para>
<para>These ioctls work only with user controls. For other
control classes the &VIDIOC-G-EXT-CTRLS;, &VIDIOC-S-EXT-CTRLS; or
&VIDIOC-TRY-EXT-CTRLS; must be used.</para>
<table pgwide="1" frame="none" id="v4l2-control">
<title>struct <structname>v4l2_control</structname></title>
<tgroup cols="3">
&cs-str;
<tbody valign="top">
<row>
<entry>__u32</entry>
<entry><structfield>id</structfield></entry>
<entry>Identifies the control, set by the
application.</entry>
</row>
<row>
<entry>__s32</entry>
<entry><structfield>value</structfield></entry>
<entry>New value or current value.</entry>
</row>
</tbody>
</tgroup>
</table>
</refsect1>
<refsect1>
&return-value;
<variablelist>
<varlistentry>
<term><errorcode>EINVAL</errorcode></term>
<listitem>
<para>The &v4l2-control; <structfield>id</structfield> is
invalid.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><errorcode>ERANGE</errorcode></term>
<listitem>
<para>The &v4l2-control; <structfield>value</structfield>
is out of bounds.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><errorcode>EBUSY</errorcode></term>
<listitem>
<para>The control is temporarily not changeable, possibly
because another applications took over control of the device function
this control belongs to.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><errorcode>EACCES</errorcode></term>
<listitem>
<para>Attempt to set a read-only control or to get a
write-only control.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
</refentry>