About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / DocBook / v4l / media-ioc-enum-entities.xml




Custom Search

Based on kernel version 3.0.4. Page generated on 2011-10-03 22:07 EST.

1	<refentry id="media-ioc-enum-entities">
2	  <refmeta>
3	    <refentrytitle>ioctl MEDIA_IOC_ENUM_ENTITIES</refentrytitle>
4	    &manvol;
5	  </refmeta>
6	
7	  <refnamediv>
8	    <refname>MEDIA_IOC_ENUM_ENTITIES</refname>
9	    <refpurpose>Enumerate entities and their properties</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 media_entity_desc *<parameter>argp</parameter></paramdef>
19	      </funcprototype>
20	    </funcsynopsis>
21	  </refsynopsisdiv>
22	
23	  <refsect1>
24	    <title>Arguments</title>
25	
26	    <variablelist>
27	      <varlistentry>
28		<term><parameter>fd</parameter></term>
29		<listitem>
30		  <para>File descriptor returned by
31		  <link linkend='media-func-open'><function>open()</function></link>.</para>
32		</listitem>
33	      </varlistentry>
34	      <varlistentry>
35		<term><parameter>request</parameter></term>
36		<listitem>
37		  <para>MEDIA_IOC_ENUM_ENTITIES</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	    <para>To query the attributes of an entity, applications set the id field
52	    of a &media-entity-desc; structure and call the MEDIA_IOC_ENUM_ENTITIES
53	    ioctl with a pointer to this structure. The driver fills the rest of the
54	    structure or returns an &EINVAL; when the id is invalid.</para>
55	    <para>Entities can be enumerated by or'ing the id with the
56	    <constant>MEDIA_ENT_ID_FLAG_NEXT</constant> flag. The driver will return
57	    information about the entity with the smallest id strictly larger than the
58	    requested one ('next entity'), or the &EINVAL; if there is none.</para>
59	    <para>Entity IDs can be non-contiguous. Applications must
60	    <emphasis>not</emphasis> try to enumerate entities by calling
61	    MEDIA_IOC_ENUM_ENTITIES with increasing id's until they get an error.</para>
62	    <para>Two or more entities that share a common non-zero
63	    <structfield>group_id</structfield> value are considered as logically
64	    grouped. Groups are used to report
65	    <itemizedlist>
66	      <listitem><para>ALSA, VBI and video nodes that carry the same media
67	      stream</para></listitem>
68	      <listitem><para>lens and flash controllers associated with a sensor</para></listitem>
69	    </itemizedlist>
70	    </para>
71	
72	    <table pgwide="1" frame="none" id="media-entity-desc">
73	      <title>struct <structname>media_entity_desc</structname></title>
74	      <tgroup cols="5">
75		<colspec colname="c1" />
76		<colspec colname="c2" />
77		<colspec colname="c3" />
78		<colspec colname="c4" />
79		<colspec colname="c5" />
80		<tbody valign="top">
81		  <row>
82		    <entry>__u32</entry>
83		    <entry><structfield>id</structfield></entry>
84		    <entry></entry>
85		    <entry></entry>
86		    <entry>Entity id, set by the application. When the id is or'ed with
87		    <constant>MEDIA_ENT_ID_FLAG_NEXT</constant>, the driver clears the
88		    flag and returns the first entity with a larger id.</entry>
89		  </row>
90		  <row>
91		    <entry>char</entry>
92		    <entry><structfield>name</structfield>[32]</entry>
93		    <entry></entry>
94		    <entry></entry>
95		    <entry>Entity name as an UTF-8 NULL-terminated string.</entry>
96		  </row>
97		  <row>
98		    <entry>__u32</entry>
99		    <entry><structfield>type</structfield></entry>
100		    <entry></entry>
101		    <entry></entry>
102		    <entry>Entity type, see <xref linkend="media-entity-type" /> for details.</entry>
103		  </row>
104		  <row>
105		    <entry>__u32</entry>
106		    <entry><structfield>revision</structfield></entry>
107		    <entry></entry>
108		    <entry></entry>
109		    <entry>Entity revision in a driver/hardware specific format.</entry>
110		  </row>
111		  <row>
112		    <entry>__u32</entry>
113		    <entry><structfield>flags</structfield></entry>
114		    <entry></entry>
115		    <entry></entry>
116		    <entry>Entity flags, see <xref linkend="media-entity-flag" /> for details.</entry>
117		  </row>
118		  <row>
119		    <entry>__u32</entry>
120		    <entry><structfield>group_id</structfield></entry>
121		    <entry></entry>
122		    <entry></entry>
123		    <entry>Entity group ID</entry>
124		  </row>
125		  <row>
126		    <entry>__u16</entry>
127		    <entry><structfield>pads</structfield></entry>
128		    <entry></entry>
129		    <entry></entry>
130		    <entry>Number of pads</entry>
131		  </row>
132		  <row>
133		    <entry>__u16</entry>
134		    <entry><structfield>links</structfield></entry>
135		    <entry></entry>
136		    <entry></entry>
137		    <entry>Total number of outbound links. Inbound links are not counted
138		    in this field.</entry>
139		  </row>
140		  <row>
141		    <entry>union</entry>
142		  </row>
143		  <row>
144		    <entry></entry>
145		    <entry>struct</entry>
146		    <entry><structfield>v4l</structfield></entry>
147		    <entry></entry>
148		    <entry>Valid for V4L sub-devices and nodes only.</entry>
149		  </row>
150		  <row>
151		    <entry></entry>
152		    <entry></entry>
153		    <entry>__u32</entry>
154		    <entry><structfield>major</structfield></entry>
155		    <entry>V4L device node major number. For V4L sub-devices with no
156		    device node, set by the driver to 0.</entry>
157		  </row>
158		  <row>
159		    <entry></entry>
160		    <entry></entry>
161		    <entry>__u32</entry>
162		    <entry><structfield>minor</structfield></entry>
163		    <entry>V4L device node minor number. For V4L sub-devices with no
164		    device node, set by the driver to 0.</entry>
165		  </row>
166		  <row>
167		    <entry></entry>
168		    <entry>struct</entry>
169		    <entry><structfield>fb</structfield></entry>
170		    <entry></entry>
171		    <entry>Valid for frame buffer nodes only.</entry>
172		  </row>
173		  <row>
174		    <entry></entry>
175		    <entry></entry>
176		    <entry>__u32</entry>
177		    <entry><structfield>major</structfield></entry>
178		    <entry>Frame buffer device node major number.</entry>
179		  </row>
180		  <row>
181		    <entry></entry>
182		    <entry></entry>
183		    <entry>__u32</entry>
184		    <entry><structfield>minor</structfield></entry>
185		    <entry>Frame buffer device node minor number.</entry>
186		  </row>
187		  <row>
188		    <entry></entry>
189		    <entry>struct</entry>
190		    <entry><structfield>alsa</structfield></entry>
191		    <entry></entry>
192		    <entry>Valid for ALSA devices only.</entry>
193		  </row>
194		  <row>
195		    <entry></entry>
196		    <entry></entry>
197		    <entry>__u32</entry>
198		    <entry><structfield>card</structfield></entry>
199		    <entry>ALSA card number</entry>
200		  </row>
201		  <row>
202		    <entry></entry>
203		    <entry></entry>
204		    <entry>__u32</entry>
205		    <entry><structfield>device</structfield></entry>
206		    <entry>ALSA device number</entry>
207		  </row>
208		  <row>
209		    <entry></entry>
210		    <entry></entry>
211		    <entry>__u32</entry>
212		    <entry><structfield>subdevice</structfield></entry>
213		    <entry>ALSA sub-device number</entry>
214		  </row>
215		  <row>
216		    <entry></entry>
217		    <entry>int</entry>
218		    <entry><structfield>dvb</structfield></entry>
219		    <entry></entry>
220		    <entry>DVB card number</entry>
221		  </row>
222		  <row>
223		    <entry></entry>
224		    <entry>__u8</entry>
225		    <entry><structfield>raw</structfield>[180]</entry>
226		    <entry></entry>
227		    <entry></entry>
228		  </row>
229		</tbody>
230	      </tgroup>
231	    </table>
232	
233	    <table frame="none" pgwide="1" id="media-entity-type">
234	      <title>Media entity types</title>
235	      <tgroup cols="2">
236	        <colspec colname="c1"/>
237	        <colspec colname="c2"/>
238		<tbody valign="top">
239		  <row>
240		    <entry><constant>MEDIA_ENT_T_DEVNODE</constant></entry>
241		    <entry>Unknown device node</entry>
242		  </row>
243		  <row>
244		    <entry><constant>MEDIA_ENT_T_DEVNODE_V4L</constant></entry>
245		    <entry>V4L video, radio or vbi device node</entry>
246		  </row>
247		  <row>
248		    <entry><constant>MEDIA_ENT_T_DEVNODE_FB</constant></entry>
249		    <entry>Frame buffer device node</entry>
250		  </row>
251		  <row>
252		    <entry><constant>MEDIA_ENT_T_DEVNODE_ALSA</constant></entry>
253		    <entry>ALSA card</entry>
254		  </row>
255		  <row>
256		    <entry><constant>MEDIA_ENT_T_DEVNODE_DVB</constant></entry>
257		    <entry>DVB card</entry>
258		  </row>
259		  <row>
260		    <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV</constant></entry>
261		    <entry>Unknown V4L sub-device</entry>
262		  </row>
263		  <row>
264		    <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_SENSOR</constant></entry>
265		    <entry>Video sensor</entry>
266		  </row>
267		  <row>
268		    <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_FLASH</constant></entry>
269		    <entry>Flash controller</entry>
270		  </row>
271		  <row>
272		    <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_LENS</constant></entry>
273		    <entry>Lens controller</entry>
274		  </row>
275		</tbody>
276	      </tgroup>
277	    </table>
278	
279	    <table frame="none" pgwide="1" id="media-entity-flag">
280	      <title>Media entity flags</title>
281	      <tgroup cols="2">
282	        <colspec colname="c1"/>
283	        <colspec colname="c2"/>
284		<tbody valign="top">
285		  <row>
286		    <entry><constant>MEDIA_ENT_FL_DEFAULT</constant></entry>
287		    <entry>Default entity for its type. Used to discover the default
288		    audio, VBI and video devices, the default camera sensor, ...</entry>
289		  </row>
290		</tbody>
291	      </tgroup>
292	    </table>
293	  </refsect1>
294	
295	  <refsect1>
296	    &return-value;
297	
298	    <variablelist>
299	      <varlistentry>
300		<term><errorcode>EINVAL</errorcode></term>
301		<listitem>
302		  <para>The &media-entity-desc; <structfield>id</structfield> references
303		  a non-existing entity.</para>
304		</listitem>
305	      </varlistentry>
306	    </variablelist>
307	  </refsect1>
308	</refentry>
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.