Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 2716

kernel-doc-2.6.32-71.14.1.el6.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>V4L2 ioctl()</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API" /><link rel="up" href="apa.html" title="Appendix&#160;A.&#160;Function Reference" /><link rel="prev" href="re20.html" title="V4L2 close()" /><link rel="next" href="re22.html" title="ioctl VIDIOC_CROPCAP" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">V4L2 ioctl()</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re20.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="re22.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="V4L2 ioctl()"><a id="func-ioctl"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>v4l2-ioctl &#8212; Program a V4L2 device</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;sys/ioctl.h&gt;</pre><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><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>void *<var class="pdparam">argp</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id2683956"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>fd</code></em></span></dt><dd><p>File descriptor returned by <a class="link" href="re64.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>V4L2 ioctl request code as defined in the <a class="link" href="apb.html" title="Appendix&#160;B.&#160;Video For Linux Two Header File">videodev.h</a> header file, for example
VIDIOC_QUERYCAP.</p></dd><dt><span class="term"><em class="parameter"><code>argp</code></em></span></dt><dd><p>Pointer to a function parameter, usually a structure.</p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id2684464"></a><h2>Description</h2><p>The <code class="function">ioctl()</code> function is used to program
V4L2 devices. The argument <em class="parameter"><code>fd</code></em> must be an open
file descriptor. An ioctl <em class="parameter"><code>request</code></em> has encoded
in it whether the argument is an input, output or read/write
parameter, and the size of the argument <em class="parameter"><code>argp</code></em> in
bytes. Macros and defines specifying V4L2 ioctl requests are located
in the <a class="link" href="apb.html" title="Appendix&#160;B.&#160;Video For Linux Two Header File">videodev.h</a> header file.
Applications should use their own copy, not include the version in the
kernel sources on the system they compile on. All V4L2 ioctl requests,
their respective function and parameters are specified in <a class="xref" href="apa.html" title="Appendix&#160;A.&#160;Function Reference">Appendix&#160;A, <i>Function Reference</i></a>.</p></div><div class="refsect1" title="Return Value"><a id="id2684518"></a><h2>Return Value</h2><p>On success the <code class="function">ioctl()</code> function returns
<span class="returnvalue">0</span> and does not reset the
<code class="varname">errno</code> variable. On failure
<span class="returnvalue">-1</span> is returned, when the ioctl takes an
output or read/write parameter it remains unmodified, and the
<code class="varname">errno</code> variable is set appropriately. See below for
possible error codes. Generic errors like <span class="errorcode">EBADF</span>
or <span class="errorcode">EFAULT</span> are not listed in the sections
discussing individual ioctl requests.</p><p>Note ioctls may return undefined error codes. Since errors
may have side effects such as a driver reset applications should
abort on unexpected errors.</p><div class="variablelist"><dl><dt><span class="term"><span class="errorcode">EBADF</span></span></dt><dd><p><em class="parameter"><code>fd</code></em> is not a valid open file
descriptor.</p></dd><dt><span class="term"><span class="errorcode">EBUSY</span></span></dt><dd><p>The property cannot be changed right now. Typically
this error code is returned when I/O is in progress or the driver
supports multiple opens and another process locked the property.</p></dd><dt><span class="term"><span class="errorcode">EFAULT</span></span></dt><dd><p><em class="parameter"><code>argp</code></em> references an inaccessible
memory area.</p></dd><dt><span class="term"><span class="errorcode">ENOTTY</span></span></dt><dd><p><em class="parameter"><code>fd</code></em> is  not  associated  with  a
character special device.</p></dd><dt><span class="term"><span class="errorcode">EINVAL</span></span></dt><dd><p>The <em class="parameter"><code>request</code></em> or the data pointed
to by <em class="parameter"><code>argp</code></em> is not valid. This is a very common
error code, see the individual ioctl requests listed in <a class="xref" href="apa.html" title="Appendix&#160;A.&#160;Function Reference">Appendix&#160;A, <i>Function Reference</i></a> for actual causes.</p></dd><dt><span class="term"><span class="errorcode">ENOMEM</span></span></dt><dd><p>Not enough physical or virtual memory was available to
complete the request.</p></dd><dt><span class="term"><span class="errorcode">ERANGE</span></span></dt><dd><p>The application attempted to set a control with the
<a class="link" href="re37.html" title="ioctl VIDIOC_G_CTRL, VIDIOC_S_CTRL"><code class="constant">VIDIOC_S_CTRL</code></a> ioctl to a value which is 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="re20.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="apa.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="re22.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">V4L2 close()&#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_CROPCAP</td></tr></table></div></body></html>