<refentry id="vidioc-dqevent">
  <refmeta>
    <refentrytitle>ioctl VIDIOC_DQEVENT</refentrytitle>
    &manvol;
  </refmeta>

  <refnamediv>
    <refname>VIDIOC_DQEVENT</refname>
    <refpurpose>Dequeue event</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_event
*<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_DQEVENT</para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><parameter>argp</parameter></term>
	<listitem>
	  <para></para>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>Dequeue an event from a video device. No input is required
    for this ioctl. All the fields of the &v4l2-event; structure are
    filled by the driver. The file handle will also receive exceptions
    which the application may get by e.g. using the select system
    call.</para>

    <table frame="none" pgwide="1" id="v4l2-event">
      <title>struct <structname>v4l2_event</structname></title>
      <tgroup cols="4">
	&cs-str;
	<tbody valign="top">
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>type</structfield></entry>
            <entry></entry>
	    <entry>Type of the event.</entry>
	  </row>
	  <row>
	    <entry>union</entry>
	    <entry><structfield>u</structfield></entry>
            <entry></entry>
	    <entry></entry>
	  </row>
	  <row>
	    <entry></entry>
	    <entry>&v4l2-event-vsync;</entry>
            <entry><structfield>vsync</structfield></entry>
	    <entry>Event data for event V4L2_EVENT_VSYNC.
            </entry>
	  </row>
	  <row>
	    <entry></entry>
	    <entry>__u8</entry>
            <entry><structfield>data</structfield>[64]</entry>
	    <entry>Event data. Defined by the event type. The union
            should be used to define easily accessible type for
            events.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>pending</structfield></entry>
            <entry></entry>
	    <entry>Number of pending events excluding this one.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>sequence</structfield></entry>
            <entry></entry>
	    <entry>Event sequence number. The sequence number is
	    incremented for every subscribed event that takes place.
	    If sequence numbers are not contiguous it means that
	    events have been lost.
	    </entry>
	  </row>
	  <row>
	    <entry>struct timespec</entry>
	    <entry><structfield>timestamp</structfield></entry>
            <entry></entry>
	    <entry>Event timestamp.</entry>
	  </row>
	  <row>
	    <entry>__u32</entry>
	    <entry><structfield>reserved</structfield>[9]</entry>
            <entry></entry>
	    <entry>Reserved for future extensions. Drivers must set
	    the array to zero.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>

  </refsect1>
</refentry>
<!--
Local Variables:
mode: sgml
sgml-parent-document: "v4l2.sgml"
indent-tabs-mode: nil
End:
-->
