Merge branch 'for-3.3/drivers' of git://git.kernel.dk/linux-block
[linux-2.6.git] / Documentation / DocBook / media / v4l / vidioc-s-hw-freq-seek.xml
1 <refentry id="vidioc-s-hw-freq-seek">
2   <refmeta>
3     <refentrytitle>ioctl VIDIOC_S_HW_FREQ_SEEK</refentrytitle>
4     &manvol;
5   </refmeta>
6
7   <refnamediv>
8     <refname>VIDIOC_S_HW_FREQ_SEEK</refname>
9     <refpurpose>Perform a hardware frequency seek</refpurpose>
10   </refnamediv>
11
12   <refsynopsisdiv>
13     <funcsynopsis>
14       <funcprototype>
15         <funcdef>int <function>ioctl</function></funcdef>
16         <paramdef>int <parameter>fd</parameter></paramdef>
17         <paramdef>int <parameter>request</parameter></paramdef>
18         <paramdef>struct v4l2_hw_freq_seek
19 *<parameter>argp</parameter></paramdef>
20       </funcprototype>
21     </funcsynopsis>
22   </refsynopsisdiv>
23
24   <refsect1>
25     <title>Arguments</title>
26
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>VIDIOC_S_HW_FREQ_SEEK</para>
38         </listitem>
39       </varlistentry>
40       <varlistentry>
41         <term><parameter>argp</parameter></term>
42         <listitem>
43           <para></para>
44         </listitem>
45       </varlistentry>
46     </variablelist>
47   </refsect1>
48
49   <refsect1>
50     <title>Description</title>
51
52     <para>Start a hardware frequency seek from the current frequency.
53 To do this applications initialize the <structfield>tuner</structfield>,
54 <structfield>type</structfield>, <structfield>seek_upward</structfield>,
55 <structfield>spacing</structfield> and
56 <structfield>wrap_around</structfield> fields, and zero out the
57 <structfield>reserved</structfield> array of a &v4l2-hw-freq-seek; and
58 call the <constant>VIDIOC_S_HW_FREQ_SEEK</constant> ioctl with a pointer
59 to this structure.</para>
60
61     <para>This ioctl is supported if the <constant>V4L2_CAP_HW_FREQ_SEEK</constant> capability is set.</para>
62
63     <table pgwide="1" frame="none" id="v4l2-hw-freq-seek">
64       <title>struct <structname>v4l2_hw_freq_seek</structname></title>
65       <tgroup cols="3">
66         &cs-str;
67         <tbody valign="top">
68           <row>
69             <entry>__u32</entry>
70             <entry><structfield>tuner</structfield></entry>
71             <entry>The tuner index number. This is the
72 same value as in the &v4l2-input; <structfield>tuner</structfield>
73 field and the &v4l2-tuner; <structfield>index</structfield> field.</entry>
74           </row>
75           <row>
76             <entry>&v4l2-tuner-type;</entry>
77             <entry><structfield>type</structfield></entry>
78             <entry>The tuner type. This is the same value as in the
79 &v4l2-tuner; <structfield>type</structfield> field.</entry>
80           </row>
81           <row>
82             <entry>__u32</entry>
83             <entry><structfield>seek_upward</structfield></entry>
84             <entry>If non-zero, seek upward from the current frequency, else seek downward.</entry>
85           </row>
86           <row>
87             <entry>__u32</entry>
88             <entry><structfield>wrap_around</structfield></entry>
89             <entry>If non-zero, wrap around when at the end of the frequency range, else stop seeking.</entry>
90           </row>
91           <row>
92             <entry>__u32</entry>
93             <entry><structfield>spacing</structfield></entry>
94             <entry>If non-zero, defines the hardware seek resolution in Hz. The driver selects the nearest value that is supported by the device. If spacing is zero a reasonable default value is used.</entry>
95           </row>
96           <row>
97             <entry>__u32</entry>
98             <entry><structfield>reserved</structfield>[7]</entry>
99             <entry>Reserved for future extensions. Drivers and
100             applications must set the array to zero.</entry>
101           </row>
102         </tbody>
103       </tgroup>
104     </table>
105   </refsect1>
106
107   <refsect1>
108     &return-value;
109
110     <variablelist>
111       <varlistentry>
112         <term><errorcode>EINVAL</errorcode></term>
113         <listitem>
114           <para>The <structfield>tuner</structfield> index is out of
115 bounds or the value in the <structfield>type</structfield> field is
116 wrong.</para>
117         </listitem>
118       </varlistentry>
119       <varlistentry>
120         <term><errorcode>EAGAIN</errorcode></term>
121         <listitem>
122           <para>The ioctl timed-out. Try again.</para>
123         </listitem>
124       </varlistentry>
125     </variablelist>
126   </refsect1>
127 </refentry>
128
129 <!--
130 Local Variables:
131 mode: sgml
132 sgml-parent-document: "v4l2.sgml"
133 indent-tabs-mode: nil
134 End:
135 -->