diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-08-05 17:04:01 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-08-05 17:04:01 -0300 |
commit | 57f0f512b273f60d52568b8c6b77e17f5636edc0 (patch) | |
tree | 5e910f0e82173f4ef4f51111366a3f1299037a7b /Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml |
Initial import
Diffstat (limited to 'Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml')
-rw-r--r-- | Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml | 280 |
1 files changed, 280 insertions, 0 deletions
diff --git a/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml b/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml new file mode 100644 index 000000000..5872f8bbf --- /dev/null +++ b/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml @@ -0,0 +1,280 @@ +<refentry id="media-ioc-enum-entities"> + <refmeta> + <refentrytitle>ioctl MEDIA_IOC_ENUM_ENTITIES</refentrytitle> + &manvol; + </refmeta> + + <refnamediv> + <refname>MEDIA_IOC_ENUM_ENTITIES</refname> + <refpurpose>Enumerate entities and their properties</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 media_entity_desc *<parameter>argp</parameter></paramdef> + </funcprototype> + </funcsynopsis> + </refsynopsisdiv> + + <refsect1> + <title>Arguments</title> + + <variablelist> + <varlistentry> + <term><parameter>fd</parameter></term> + <listitem> + <para>File descriptor returned by + <link linkend='media-func-open'><function>open()</function></link>.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>request</parameter></term> + <listitem> + <para>MEDIA_IOC_ENUM_ENTITIES</para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>argp</parameter></term> + <listitem> + <para></para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>Description</title> + <para>To query the attributes of an entity, applications set the id field + of a &media-entity-desc; structure and call the MEDIA_IOC_ENUM_ENTITIES + ioctl with a pointer to this structure. The driver fills the rest of the + structure or returns an &EINVAL; when the id is invalid.</para> + <para>Entities can be enumerated by or'ing the id with the + <constant>MEDIA_ENT_ID_FLAG_NEXT</constant> flag. The driver will return + information about the entity with the smallest id strictly larger than the + requested one ('next entity'), or the &EINVAL; if there is none.</para> + <para>Entity IDs can be non-contiguous. Applications must + <emphasis>not</emphasis> try to enumerate entities by calling + MEDIA_IOC_ENUM_ENTITIES with increasing id's until they get an error.</para> + <para>Two or more entities that share a common non-zero + <structfield>group_id</structfield> value are considered as logically + grouped. Groups are used to report + <itemizedlist> + <listitem><para>ALSA, VBI and video nodes that carry the same media + stream</para></listitem> + <listitem><para>lens and flash controllers associated with a sensor</para></listitem> + </itemizedlist> + </para> + + <table pgwide="1" frame="none" id="media-entity-desc"> + <title>struct <structname>media_entity_desc</structname></title> + <tgroup cols="5"> + <colspec colname="c1" /> + <colspec colname="c2" /> + <colspec colname="c3" /> + <colspec colname="c4" /> + <colspec colname="c5" /> + <tbody valign="top"> + <row> + <entry>__u32</entry> + <entry><structfield>id</structfield></entry> + <entry></entry> + <entry></entry> + <entry>Entity id, set by the application. When the id is or'ed with + <constant>MEDIA_ENT_ID_FLAG_NEXT</constant>, the driver clears the + flag and returns the first entity with a larger id.</entry> + </row> + <row> + <entry>char</entry> + <entry><structfield>name</structfield>[32]</entry> + <entry></entry> + <entry></entry> + <entry>Entity name as an UTF-8 NULL-terminated string.</entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>type</structfield></entry> + <entry></entry> + <entry></entry> + <entry>Entity type, see <xref linkend="media-entity-type" /> for details.</entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>revision</structfield></entry> + <entry></entry> + <entry></entry> + <entry>Entity revision in a driver/hardware specific format.</entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>flags</structfield></entry> + <entry></entry> + <entry></entry> + <entry>Entity flags, see <xref linkend="media-entity-flag" /> for details.</entry> + </row> + <row> + <entry>__u32</entry> + <entry><structfield>group_id</structfield></entry> + <entry></entry> + <entry></entry> + <entry>Entity group ID</entry> + </row> + <row> + <entry>__u16</entry> + <entry><structfield>pads</structfield></entry> + <entry></entry> + <entry></entry> + <entry>Number of pads</entry> + </row> + <row> + <entry>__u16</entry> + <entry><structfield>links</structfield></entry> + <entry></entry> + <entry></entry> + <entry>Total number of outbound links. Inbound links are not counted + in this field.</entry> + </row> + <row> + <entry>union</entry> + </row> + <row> + <entry></entry> + <entry>struct</entry> + <entry><structfield>dev</structfield></entry> + <entry></entry> + <entry>Valid for (sub-)devices that create a single device node.</entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry>__u32</entry> + <entry><structfield>major</structfield></entry> + <entry>Device node major number.</entry> + </row> + <row> + <entry></entry> + <entry></entry> + <entry>__u32</entry> + <entry><structfield>minor</structfield></entry> + <entry>Device node minor number.</entry> + </row> + <row> + <entry></entry> + <entry>__u8</entry> + <entry><structfield>raw</structfield>[184]</entry> + <entry></entry> + <entry></entry> + </row> + </tbody> + </tgroup> + </table> + + <table frame="none" pgwide="1" id="media-entity-type"> + <title>Media entity types</title> + <tgroup cols="2"> + <colspec colname="c1"/> + <colspec colname="c2"/> + <tbody valign="top"> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE</constant></entry> + <entry>Unknown device node</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_V4L</constant></entry> + <entry>V4L video, radio or vbi device node</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_FB</constant></entry> + <entry>Frame buffer device node</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_ALSA</constant></entry> + <entry>ALSA card</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_DVB_FE</constant></entry> + <entry>DVB frontend devnode</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_DVB_DEMUX</constant></entry> + <entry>DVB demux devnode</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_DVB_DVR</constant></entry> + <entry>DVB DVR devnode</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_DVB_CA</constant></entry> + <entry>DVB CAM devnode</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_DEVNODE_DVB_NET</constant></entry> + <entry>DVB network devnode</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV</constant></entry> + <entry>Unknown V4L sub-device</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_SENSOR</constant></entry> + <entry>Video sensor</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_FLASH</constant></entry> + <entry>Flash controller</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_LENS</constant></entry> + <entry>Lens controller</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_DECODER</constant></entry> + <entry>Video decoder, the basic function of the video decoder is to + accept analogue video from a wide variety of sources such as + broadcast, DVD players, cameras and video cassette recorders, in + either NTSC, PAL or HD format and still occasionally SECAM, separate + it into its component parts, luminance and chrominance, and output + it in some digital video standard, with appropriate embedded timing + signals.</entry> + </row> + <row> + <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_TUNER</constant></entry> + <entry>TV and/or radio tuner</entry> + </row> + </tbody> + </tgroup> + </table> + + <table frame="none" pgwide="1" id="media-entity-flag"> + <title>Media entity flags</title> + <tgroup cols="2"> + <colspec colname="c1"/> + <colspec colname="c2"/> + <tbody valign="top"> + <row> + <entry><constant>MEDIA_ENT_FL_DEFAULT</constant></entry> + <entry>Default entity for its type. Used to discover the default + audio, VBI and video devices, the default camera sensor, ...</entry> + </row> + </tbody> + </tgroup> + </table> + </refsect1> + + <refsect1> + &return-value; + + <variablelist> + <varlistentry> + <term><errorcode>EINVAL</errorcode></term> + <listitem> + <para>The &media-entity-desc; <structfield>id</structfield> references + a non-existing entity.</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> +</refentry> |