Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-btrfs-devel.git] / Documentation / DocBook / media / v4l / media-func-ioctl.xml
blob39478d0fbcaa68fd730d8edd5f647f9d64df5158
1 <refentry id="media-func-ioctl">
2   <refmeta>
3     <refentrytitle>media ioctl()</refentrytitle>
4     &manvol;
5   </refmeta>
7   <refnamediv>
8     <refname>media-ioctl</refname>
9     <refpurpose>Control a media device</refpurpose>
10   </refnamediv>
12   <refsynopsisdiv>
13     <funcsynopsis>
14       <funcsynopsisinfo>#include &lt;sys/ioctl.h&gt;</funcsynopsisinfo>
15       <funcprototype>
16         <funcdef>int <function>ioctl</function></funcdef>
17         <paramdef>int <parameter>fd</parameter></paramdef>
18         <paramdef>int <parameter>request</parameter></paramdef>
19         <paramdef>void *<parameter>argp</parameter></paramdef>
20       </funcprototype>
21     </funcsynopsis>
22   </refsynopsisdiv>
24   <refsect1>
25     <title>Arguments</title>
27     <variablelist>
28       <varlistentry>
29         <term><parameter>fd</parameter></term>
30         <listitem>
31           <para>&fd;</para>
32         </listitem>
33       </varlistentry>
34       <varlistentry>
35         <term><parameter>request</parameter></term>
36         <listitem>
37           <para>Media ioctl request code as defined in the media.h header file,
38           for example MEDIA_IOC_SETUP_LINK.</para>
39         </listitem>
40       </varlistentry>
41       <varlistentry>
42         <term><parameter>argp</parameter></term>
43         <listitem>
44           <para>Pointer to a request-specific structure.</para>
45         </listitem>
46       </varlistentry>
47     </variablelist>
48   </refsect1>
50   <refsect1>
51     <title>Description</title>
52     <para>The <function>ioctl()</function> function manipulates media device
53     parameters. The argument <parameter>fd</parameter> must be an open file
54     descriptor.</para>
55     <para>The ioctl <parameter>request</parameter> code specifies the media
56     function to be called. It has encoded in it whether the argument is an
57     input, output or read/write parameter, and the size of the argument
58     <parameter>argp</parameter> in bytes.</para>
59     <para>Macros and structures definitions specifying media ioctl requests and
60     their parameters are located in the media.h header file. All media ioctl
61     requests, their respective function and parameters are specified in
62     <xref linkend="media-user-func" />.</para>
63   </refsect1>
65   <refsect1>
66     &return-value;
68     <para>Request-specific error codes are listed in the
69     individual requests descriptions.</para>
70     <para>When an ioctl that takes an output or read/write parameter fails,
71     the parameter remains unmodified.</para>
72   </refsect1>
73 </refentry>