1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>ioctl VIDIOC_ENUMOUTPUT</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="up" href="user-func.html" title="Appendix&#160;A.&#160;Function Reference"><link rel="prev" href="vidioc-enuminput.html" title="ioctl VIDIOC_ENUMINPUT"><link rel="next" href="vidioc-enumstd.html" title="ioctl VIDIOC_ENUMSTD"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ioctl VIDIOC_ENUMOUTPUT</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="vidioc-enuminput.html">Prev</a>&#160;</td><th width="60%" align="center">Appendix&#160;A.&#160;Function Reference</th><td width="20%" align="right">&#160;<a accesskey="n" href="vidioc-enumstd.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="vidioc-enumoutput"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>VIDIOC_ENUMOUTPUT &#8212; Enumerate video outputs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">ioctl</b>(</code></td><td>int <var class="pdparam">fd</var>, </td></tr><tr><td>&#160;</td><td>int <var class="pdparam">request</var>, </td></tr><tr><td>&#160;</td><td>struct v4l2_output *<var class="pdparam">argp</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1113321164"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>fd</code></em></span></dt><dd><p>File descriptor returned by <a class="link" href="func-open.html" title="V4L2 open()"><code class="function">open()</code></a>.</p></dd><dt><span class="term"><em class="parameter"><code>request</code></em></span></dt><dd><p>VIDIOC_ENUMOUTPUT</p></dd><dt><span class="term"><em class="parameter"><code>argp</code></em></span></dt><dd><p></p></dd></dl></div></div><div class="refsect1"><a name="idp1113325212"></a><h2>Description</h2><p>To query the attributes of a video outputs applications
2initialize the <em class="structfield"><code>index</code></em> field of struct&#160;<a class="link" href="vidioc-enumoutput.html#v4l2-output" title="Table&#160;A.43.&#160;struct v4l2_output">v4l2_output</a>
3and call the <code class="constant">VIDIOC_ENUMOUTPUT</code> ioctl with a
4pointer to this structure. Drivers fill the rest of the structure or
5return an <span class="errorcode">EINVAL</span> error code when the index is out of bounds. To enumerate all
6outputs applications shall begin at index zero, incrementing by one
7until the driver returns <span class="errorcode">EINVAL</span>.</p><div class="table"><a name="v4l2-output"></a><p class="title"><b>Table&#160;A.43.&#160;struct <span class="structname">v4l2_output</span></b></p><div class="table-contents"><table summary="struct v4l2_output" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"></colgroup><tbody valign="top"><tr><td valign="top">__u32</td><td valign="top"><em class="structfield"><code>index</code></em></td><td valign="top">Identifies the output, set by the
8application.</td></tr><tr><td valign="top">__u8</td><td valign="top"><em class="structfield"><code>name</code></em>[32]</td><td valign="top">Name of the video output, a NUL-terminated ASCII
9string, for example: "Vout". This information is intended for the
10user, preferably the connector label on the device itself.</td></tr><tr><td valign="top">__u32</td><td valign="top"><em class="structfield"><code>type</code></em></td><td valign="top">Type of the output, see <a class="xref" href="vidioc-enumoutput.html#output-type" title="Table&#160;A.44.&#160;Output Type">Table&#160;A.44, &#8220;Output Type&#8221;</a>.</td></tr><tr><td valign="top">__u32</td><td valign="top"><em class="structfield"><code>audioset</code></em></td><td valign="top"><p>Drivers can enumerate up to 32 video and
11audio outputs. This field shows which audio outputs were
12selectable as the current output if this was the currently selected
13video output. It is a bit mask. The LSB corresponds to audio output 0,
14the MSB to output 31. Any number of bits can be set, or
15none.</p><p>When the driver does not enumerate audio outputs no
16bits must be set. Applications shall not interpret this as lack of
17audio support. Drivers may automatically select audio outputs without
18enumerating them.</p><p>For details on audio outputs and how to
19select the current output see <a class="xref" href="audio.html" title="Audio Inputs and Outputs">the section called &#8220;Audio Inputs and Outputs&#8221;</a>.</p></td></tr><tr><td valign="top">__u32</td><td valign="top"><em class="structfield"><code>modulator</code></em></td><td valign="top">Output devices can have zero or more RF modulators.
20When the <em class="structfield"><code>type</code></em> is
21<code class="constant">V4L2_OUTPUT_TYPE_MODULATOR</code> this is an RF
22connector and this field identifies the modulator. It corresponds to
23struct&#160;<a class="link" href="vidioc-g-modulator.html#v4l2-modulator" title="Table&#160;A.76.&#160;struct v4l2_modulator">v4l2_modulator</a> field <em class="structfield"><code>index</code></em>. For details
24on modulators see <a class="xref" href="tuner.html" title="Tuners and Modulators">the section called &#8220;Tuners and Modulators&#8221;</a>.</td></tr><tr><td valign="top"><a class="link" href="vidioc-enumstd.html#v4l2-std-id" title="Table&#160;A.48.&#160;typedef v4l2_std_id">v4l2_std_id</a></td><td valign="top"><em class="structfield"><code>std</code></em></td><td valign="top">Every video output supports one or more different
25video standards. This field is a set of all supported standards. For
26details on video standards and how to switch see <a class="xref" href="standard.html" title="Video Standards">the section called &#8220;Video Standards&#8221;</a>.</td></tr><tr><td valign="top">__u32</td><td valign="top"><em class="structfield"><code>capabilities</code></em></td><td valign="top">This field provides capabilities for the
27output. See <a class="xref" href="vidioc-enumoutput.html#output-capabilities" title="Table&#160;A.45.&#160;Output capabilities">Table&#160;A.45, &#8220;Output capabilities&#8221;</a> for flags.</td></tr><tr><td valign="top">__u32</td><td valign="top"><em class="structfield"><code>reserved</code></em>[3]</td><td valign="top">Reserved for future extensions. Drivers must set
28the array to zero.</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="output-type"></a><p class="title"><b>Table&#160;A.44.&#160;Output Type</b></p><div class="table-contents"><table summary="Output Type" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_OUTPUT_TYPE_MODULATOR</code></td><td valign="top">1</td><td valign="top">This output is an analog TV modulator.</td></tr><tr><td valign="top"><code class="constant">V4L2_OUTPUT_TYPE_ANALOG</code></td><td valign="top">2</td><td valign="top">Analog baseband output, for example Composite /
29CVBS, S-Video, RGB.</td></tr><tr><td valign="top"><code class="constant">V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY</code></td><td valign="top">3</td><td valign="top">[?]</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="output-capabilities"></a><p class="title"><b>Table&#160;A.45.&#160;Output capabilities</b></p><div class="table-contents"><table summary="Output capabilities" width="100%" border="0"><colgroup><col class="c1"><col class="c2"><col class="c3"></colgroup><tbody valign="top"><tr><td valign="top"><code class="constant">V4L2_OUT_CAP_DV_TIMINGS</code></td><td valign="top">0x00000002</td><td valign="top">This output supports setting video timings by using VIDIOC_S_DV_TIMINGS.</td></tr><tr><td valign="top"><code class="constant">V4L2_OUT_CAP_STD</code></td><td valign="top">0x00000004</td><td valign="top">This output supports setting the TV standard by using VIDIOC_S_STD.</td></tr><tr><td valign="top"><code class="constant">V4L2_OUT_CAP_NATIVE_SIZE</code></td><td valign="top">0x00000008</td><td valign="top">This output supports setting the native size using
30	    the <code class="constant">V4L2_SEL_TGT_NATIVE_SIZE</code>
31	    selection target, see <a class="xref" href="apb.html#v4l2-selections-common" title="Common selection definitions">the section called &#8220;Common selection definitions&#8221;</a>.</td></tr></tbody></table></div></div><br class="table-break"></div><div class="refsect1"><a name="idp1113355308"></a><h2>Return Value</h2><p>On success <span class="returnvalue">0</span> is returned, on error <span class="returnvalue">-1</span> and the <code class="varname">errno</code> variable is set appropriately. The generic error codes are described at the <a class="link" href="gen_errors.html#gen-errors" title="Table&#160;19.1.&#160;Generic error codes">Generic Error Codes</a> chapter.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">EINVAL</span></span></dt><dd><p>The struct&#160;<a class="link" href="vidioc-enumoutput.html#v4l2-output" title="Table&#160;A.43.&#160;struct v4l2_output">v4l2_output</a> <em class="structfield"><code>index</code></em>
32is out of bounds.</p></dd></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="vidioc-enuminput.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="user-func.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="vidioc-enumstd.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ioctl VIDIOC_ENUMINPUT&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;ioctl VIDIOC_ENUMSTD</td></tr></table></div></body></html>
33