2009-09-14 09:16:04 +08:00
|
|
|
<refentry id="func-ioctl">
|
|
|
|
<refmeta>
|
|
|
|
<refentrytitle>V4L2 ioctl()</refentrytitle>
|
|
|
|
&manvol;
|
|
|
|
</refmeta>
|
|
|
|
|
|
|
|
<refnamediv>
|
|
|
|
<refname>v4l2-ioctl</refname>
|
|
|
|
<refpurpose>Program a V4L2 device</refpurpose>
|
|
|
|
</refnamediv>
|
|
|
|
|
|
|
|
<refsynopsisdiv>
|
|
|
|
<funcsynopsis>
|
|
|
|
<funcsynopsisinfo>#include <sys/ioctl.h></funcsynopsisinfo>
|
|
|
|
<funcprototype>
|
|
|
|
<funcdef>int <function>ioctl</function></funcdef>
|
|
|
|
<paramdef>int <parameter>fd</parameter></paramdef>
|
|
|
|
<paramdef>int <parameter>request</parameter></paramdef>
|
|
|
|
<paramdef>void *<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>
|
2010-12-27 19:24:58 +08:00
|
|
|
<para>V4L2 ioctl request code as defined in the <filename>videodev2.h</filename> header file, for example
|
2009-09-14 09:16:04 +08:00
|
|
|
VIDIOC_QUERYCAP.</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>argp</parameter></term>
|
|
|
|
<listitem>
|
|
|
|
<para>Pointer to a function parameter, usually a structure.</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>Description</title>
|
|
|
|
|
|
|
|
<para>The <function>ioctl()</function> function is used to program
|
|
|
|
V4L2 devices. The argument <parameter>fd</parameter> must be an open
|
|
|
|
file descriptor. An ioctl <parameter>request</parameter> has encoded
|
|
|
|
in it whether the argument is an input, output or read/write
|
|
|
|
parameter, and the size of the argument <parameter>argp</parameter> in
|
|
|
|
bytes. Macros and defines specifying V4L2 ioctl requests are located
|
2010-12-27 19:24:58 +08:00
|
|
|
in the <filename>videodev2.h</filename> header file.
|
2009-09-14 09:16:04 +08:00
|
|
|
Applications should use their own copy, not include the version in the
|
|
|
|
kernel sources on the system they compile on. All V4L2 ioctl requests,
|
|
|
|
their respective function and parameters are specified in <xref
|
|
|
|
linkend="user-func" />.</para>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
2011-07-05 22:57:05 +08:00
|
|
|
&return-value;
|
|
|
|
<para>When an ioctl that takes an output or read/write parameter fails,
|
|
|
|
the parameter remains unmodified.</para>
|
2009-09-14 09:16:04 +08:00
|
|
|
</refsect1>
|
|
|
|
</refentry>
|