<refentry id="vidioc-subscribe-event"> <refmeta> <refentrytitle>ioctl VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refentrytitle> &manvol; </refmeta> <refnamediv> <refname>VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refname> <refpurpose>Subscribe or unsubscribe 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_subscription *<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_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</para> </listitem> </varlistentry> <varlistentry> <term><parameter>argp</parameter></term> <listitem> <para></para> </listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>Description</title> <para>Subscribe or unsubscribe V4L2 event. Subscribed events are dequeued by using the &VIDIOC-DQEVENT; ioctl.</para> <table frame="none" pgwide="1" id="v4l2-event-subscription"> <title>struct <structname>v4l2_event_subscription</structname></title> <tgroup cols="3"> &cs-str; <tbody valign="top"> <row> <entry>__u32</entry> <entry><structfield>type</structfield></entry> <entry>Type of the event.</entry> </row> <row> <entry>__u32</entry> <entry><structfield>reserved</structfield>[7]</entry> <entry>Reserved for future extensions. Drivers and applications must set the array to zero.</entry> </row> </tbody> </tgroup> </table> <table frame="none" pgwide="1" id="event-type"> <title>Event Types</title> <tgroup cols="3"> &cs-def; <tbody valign="top"> <row> <entry><constant>V4L2_EVENT_ALL</constant></entry> <entry>0</entry> <entry>All events. V4L2_EVENT_ALL is valid only for VIDIOC_UNSUBSCRIBE_EVENT for unsubscribing all events at once. </entry> </row> <row> <entry><constant>V4L2_EVENT_VSYNC</constant></entry> <entry>1</entry> <entry>This event is triggered on the vertical sync. This event has &v4l2-event-vsync; associated with it. </entry> </row> <row> <entry><constant>V4L2_EVENT_EOS</constant></entry> <entry>2</entry> <entry>This event is triggered when the end of a stream is reached. This is typically used with MPEG decoders to report to the application when the last of the MPEG stream has been decoded. </entry> </row> <row> <entry><constant>V4L2_EVENT_PRIVATE_START</constant></entry> <entry>0x08000000</entry> <entry>Base event number for driver-private events.</entry> </row> </tbody> </tgroup> </table> <table frame="none" pgwide="1" id="v4l2-event-vsync"> <title>struct <structname>v4l2_event_vsync</structname></title> <tgroup cols="3"> &cs-str; <tbody valign="top"> <row> <entry>__u8</entry> <entry><structfield>field</structfield></entry> <entry>The upcoming field. See &v4l2-field;.</entry> </row> </tbody> </tgroup> </table> </refsect1> </refentry> <!-- Local Variables: mode: sgml sgml-parent-document: "v4l2.sgml" indent-tabs-mode: nil End: -->