diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-01-18 14:23:26 +0100 |
---|---|---|
committer | Hans Verkuil <hverkuil@xs4all.nl> | 2009-01-18 14:23:26 +0100 |
commit | ade8e6ad74cfe5e1f764d49807ddf09a3138ca0d (patch) | |
tree | bbe56a56d77fbed1944360910b590c6fce38c746 /v4l2-spec | |
parent | 0e5ca174b657de9d1f6c75609c81279cc35e8d49 (diff) | |
download | mediapointer-dvb-s2-ade8e6ad74cfe5e1f764d49807ddf09a3138ca0d.tar.gz mediapointer-dvb-s2-ade8e6ad74cfe5e1f764d49807ddf09a3138ca0d.tar.bz2 |
v4l2-spec: document VIDIOC_S_HW_FREQ_SEEK
From: Hans Verkuil <hverkuil@xs4all.nl>
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'v4l2-spec')
-rw-r--r-- | v4l2-spec/Makefile | 3 | ||||
-rw-r--r-- | v4l2-spec/compat.sgml | 10 | ||||
-rw-r--r-- | v4l2-spec/v4l2.sgml | 1 | ||||
-rw-r--r-- | v4l2-spec/vidioc-querycap.sgml | 6 | ||||
-rw-r--r-- | v4l2-spec/vidioc-s-hw-freq-seek.sgml | 138 |
5 files changed, 158 insertions, 0 deletions
diff --git a/v4l2-spec/Makefile b/v4l2-spec/Makefile index d7fed7edd..9da6c6d61 100644 --- a/v4l2-spec/Makefile +++ b/v4l2-spec/Makefile @@ -87,6 +87,7 @@ SGMLS = \ vidioc-queryctrl.sgml \ vidioc-querystd.sgml \ vidioc-reqbufs.sgml \ + vidioc-s-hw-freq-seek.sgml \ vidioc-streamon.sgml \ PDFPICS = \ @@ -185,6 +186,7 @@ IOCTLS = \ VIDIOC_S_FBUF \ VIDIOC_S_FMT \ VIDIOC_S_FREQUENCY \ + VIDIOC_S_HW_FREQ_SEEK \ VIDIOC_S_INPUT \ VIDIOC_S_JPEGCOMP \ VIDIOC_S_MPEGCOMP \ @@ -240,6 +242,7 @@ STRUCTS = \ v4l2_frmsize_discrete \ v4l2_frmsize_stepwise \ v4l2_frmsizeenum \ + v4l2_hw_freq_seek \ v4l2_input \ v4l2_jpegcompression \ v4l2_modulator \ diff --git a/v4l2-spec/compat.sgml b/v4l2-spec/compat.sgml index 5c1815182..62930ad25 100644 --- a/v4l2-spec/compat.sgml +++ b/v4l2-spec/compat.sgml @@ -2204,6 +2204,16 @@ interface in Linux 2.6.18, where finally removed from the </section> <section> + <title>V4L2 in Linux 2.6.27</title> + <orderedlist> + <listitem> + <para>The &VIDIOC-S-HW-FREQ-SEEK; ioctl and the +<constant>V4L2_CAP_HW_FREQ_SEEK</constant> capability were added.</para> + </listitem> + </orderedlist> + </section> + + <section> <title>V4L2 in Linux 2.6.29</title> <orderedlist> <listitem> diff --git a/v4l2-spec/v4l2.sgml b/v4l2-spec/v4l2.sgml index 735ebc320..e487f2d80 100644 --- a/v4l2-spec/v4l2.sgml +++ b/v4l2-spec/v4l2.sgml @@ -427,6 +427,7 @@ and <ulink url="http://linuxtv.org/downloads/video4linux/API/V4L2_API">http://li &sub-queryctrl; &sub-querystd; &sub-reqbufs; + &sub-s-hw-freq-seek; &sub-streamon; <!-- End of ioctls. --> &sub-mmap; diff --git a/v4l2-spec/vidioc-querycap.sgml b/v4l2-spec/vidioc-querycap.sgml index 89aa84cf6..2715289d8 100644 --- a/v4l2-spec/vidioc-querycap.sgml +++ b/v4l2-spec/vidioc-querycap.sgml @@ -200,6 +200,12 @@ versa.<footnote><para>The &v4l2-framebuffer; lacks an driver capabilities.</para></footnote></entry> </row> <row> + <entry><constant>V4L2_CAP_HW_FREQ_SEEK</constant></entry> + <entry>0x00000400</entry> + <entry>The device supports the &VIDIOC-S-HW-FREQ-SEEK; ioctl for +hardware frequency seeking.</entry> + </row> + <row> <entry><constant>V4L2_CAP_TUNER</constant></entry> <entry>0x00010000</entry> <entry>The device has some sort of tuner or modulator to diff --git a/v4l2-spec/vidioc-s-hw-freq-seek.sgml b/v4l2-spec/vidioc-s-hw-freq-seek.sgml new file mode 100644 index 000000000..7ef695a83 --- /dev/null +++ b/v4l2-spec/vidioc-s-hw-freq-seek.sgml @@ -0,0 +1,138 @@ +<refentry id="vidioc-s-hw-freq-seek"> + <refmeta> + <refentrytitle>ioctl VIDIOC_S_HW_FREQ_SEEK</refentrytitle> + &manvol; + </refmeta> + + <refnamediv> + <refname>VIDIOC_S_HW_FREQ_SEEK</refname> + <refpurpose>Perform a hardware frequency seek</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_hw_freq_seek +*<parameter>argp</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ioctl</function></funcdef> + <paramdef>int <parameter>fd</parameter></paramdef> + <paramdef>int <parameter>request</parameter></paramdef> + <paramdef>struct v4l2_hw_freq_seek +*<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_S_HW_FREQ_SEEK</para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>argp</parameter></term> + <listitem> + <para></para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>Description</title> + + <para>Start a hardware frequency seek from the current frequency. +To do this applications initialize the <structfield>tuner</structfield>, +<structfield>type</structfield>, <structfield>seek_upward</structfield> and +<structfield>wrap_around</structfield> fields, and zero out the +<structfield>reserved</structfield> array of a &v4l2-hw-freq-seek; and +call the <constant>VIDIOC_S_HW_FREQ_SEEK</constant> ioctl with a pointer +to this structure.</para> + + <para>This ioctl is supported if the <constant>V4L2_CAP_HW_FREQ_SEEK</constant> capability is set.</para> + + <table pgwide="1" frame="none" id="v4l2-hw-freq-seek"> + <title>struct <structname>v4l2_hw_freq_seek</structname></title> + <tgroup cols="3"> + &cs-str; + <tbody valign="top"> + <row> + <entry>__u32</entry> + <entry><structfield>tuner</structfield></entry> + <entry>The tuner index number. This is the +same value as in the &v4l2-input; <structfield>tuner</structfield> +field and the &v4l2-tuner; <structfield>index</structfield> field.</entry> + </row> + <row> + <entry>&v4l2-tuner-type;</entry> + <entry><structfield>type</structfield></entry> + <entry>The tuner type. This is the same value as in the +&v4l2-tuner; <structfield>type</structfield> field.</entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>seek_upward</structfield></entry> + <entry>If non-zero, seek upward from the current frequency, else seek downward.</entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>wrap_around</structfield></entry> + <entry>If non-zero, wrap around when at the end of the frequency range, else stop seeking.</entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>reserved</structfield>[8];</entry> + <entry>Reserved for future extensions. Drivers and + applications must set the array to zero.</entry> + </row> + </tbody> + </tgroup> + </table> + </refsect1> + + <refsect1> + &return-value; + + <variablelist> + <varlistentry> + <term><errorcode>EINVAL</errorcode></term> + <listitem> + <para>The <structfield>tuner</structfield> index is out of +bounds or the value in the <structfield>type</structfield> field is +wrong.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><errorcode>EAGAIN</errorcode></term> + <listitem> + <para>The ioctl timed-out. Try again.</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> +</refentry> + +<!-- +Local Variables: +mode: sgml +sgml-parent-document: "v4l2.sgml" +indent-tabs-mode: nil +End: +--> |