diff options
| author | Sakari Ailus <sakari.ailus@maxwell.research.nokia.com> | 2010-03-27 09:58:24 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-05-19 11:58:07 -0400 |
| commit | dd96608369be9d3cfc604eaa3a53a2d38f1cb415 (patch) | |
| tree | fc3e9f5f70aef35255fd2cca2e5a88498827d093 /Documentation/DocBook | |
| parent | d3d7c963562adad92e968df23c425ae964fe9ce2 (diff) | |
V4L/DVB: V4L: Events: Add documentation
Add documentation on how to use V4L2 events, both for V4L2 drivers and for
V4L2 applications.
Signed-off-by: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation/DocBook')
| -rw-r--r-- | Documentation/DocBook/media-entities.tmpl | 9 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/dev-event.xml | 31 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/v4l2.xml | 3 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/vidioc-dqevent.xml | 124 | ||||
| -rw-r--r-- | Documentation/DocBook/v4l/vidioc-subscribe-event.xml | 104 |
5 files changed, 271 insertions, 0 deletions
diff --git a/Documentation/DocBook/media-entities.tmpl b/Documentation/DocBook/media-entities.tmpl index c725cb852c54..770be3c3ba75 100644 --- a/Documentation/DocBook/media-entities.tmpl +++ b/Documentation/DocBook/media-entities.tmpl | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | <!ENTITY VIDIOC-DBG-G-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_G_REGISTER</constant></link>"> | 17 | <!ENTITY VIDIOC-DBG-G-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_G_REGISTER</constant></link>"> |
| 18 | <!ENTITY VIDIOC-DBG-S-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_S_REGISTER</constant></link>"> | 18 | <!ENTITY VIDIOC-DBG-S-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_S_REGISTER</constant></link>"> |
| 19 | <!ENTITY VIDIOC-DQBUF "<link linkend='vidioc-qbuf'><constant>VIDIOC_DQBUF</constant></link>"> | 19 | <!ENTITY VIDIOC-DQBUF "<link linkend='vidioc-qbuf'><constant>VIDIOC_DQBUF</constant></link>"> |
| 20 | <!ENTITY VIDIOC-DQEVENT "<link linkend='vidioc-dqevent'><constant>VIDIOC_DQEVENT</constant></link>"> | ||
| 20 | <!ENTITY VIDIOC-ENCODER-CMD "<link linkend='vidioc-encoder-cmd'><constant>VIDIOC_ENCODER_CMD</constant></link>"> | 21 | <!ENTITY VIDIOC-ENCODER-CMD "<link linkend='vidioc-encoder-cmd'><constant>VIDIOC_ENCODER_CMD</constant></link>"> |
| 21 | <!ENTITY VIDIOC-ENUMAUDIO "<link linkend='vidioc-enumaudio'><constant>VIDIOC_ENUMAUDIO</constant></link>"> | 22 | <!ENTITY VIDIOC-ENUMAUDIO "<link linkend='vidioc-enumaudio'><constant>VIDIOC_ENUMAUDIO</constant></link>"> |
| 22 | <!ENTITY VIDIOC-ENUMAUDOUT "<link linkend='vidioc-enumaudioout'><constant>VIDIOC_ENUMAUDOUT</constant></link>"> | 23 | <!ENTITY VIDIOC-ENUMAUDOUT "<link linkend='vidioc-enumaudioout'><constant>VIDIOC_ENUMAUDOUT</constant></link>"> |
| @@ -60,6 +61,7 @@ | |||
| 60 | <!ENTITY VIDIOC-REQBUFS "<link linkend='vidioc-reqbufs'><constant>VIDIOC_REQBUFS</constant></link>"> | 61 | <!ENTITY VIDIOC-REQBUFS "<link linkend='vidioc-reqbufs'><constant>VIDIOC_REQBUFS</constant></link>"> |
| 61 | <!ENTITY VIDIOC-STREAMOFF "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMOFF</constant></link>"> | 62 | <!ENTITY VIDIOC-STREAMOFF "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMOFF</constant></link>"> |
| 62 | <!ENTITY VIDIOC-STREAMON "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMON</constant></link>"> | 63 | <!ENTITY VIDIOC-STREAMON "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMON</constant></link>"> |
| 64 | <!ENTITY VIDIOC-SUBSCRIBE-EVENT "<link linkend='vidioc-subscribe-event'><constant>VIDIOC_SUBSCRIBE_EVENT</constant></link>"> | ||
| 63 | <!ENTITY VIDIOC-S-AUDIO "<link linkend='vidioc-g-audio'><constant>VIDIOC_S_AUDIO</constant></link>"> | 65 | <!ENTITY VIDIOC-S-AUDIO "<link linkend='vidioc-g-audio'><constant>VIDIOC_S_AUDIO</constant></link>"> |
| 64 | <!ENTITY VIDIOC-S-AUDOUT "<link linkend='vidioc-g-audioout'><constant>VIDIOC_S_AUDOUT</constant></link>"> | 66 | <!ENTITY VIDIOC-S-AUDOUT "<link linkend='vidioc-g-audioout'><constant>VIDIOC_S_AUDOUT</constant></link>"> |
| 65 | <!ENTITY VIDIOC-S-CROP "<link linkend='vidioc-g-crop'><constant>VIDIOC_S_CROP</constant></link>"> | 67 | <!ENTITY VIDIOC-S-CROP "<link linkend='vidioc-g-crop'><constant>VIDIOC_S_CROP</constant></link>"> |
| @@ -141,6 +143,8 @@ | |||
| 141 | <!ENTITY v4l2-enc-idx "struct <link linkend='v4l2-enc-idx'>v4l2_enc_idx</link>"> | 143 | <!ENTITY v4l2-enc-idx "struct <link linkend='v4l2-enc-idx'>v4l2_enc_idx</link>"> |
| 142 | <!ENTITY v4l2-enc-idx-entry "struct <link linkend='v4l2-enc-idx-entry'>v4l2_enc_idx_entry</link>"> | 144 | <!ENTITY v4l2-enc-idx-entry "struct <link linkend='v4l2-enc-idx-entry'>v4l2_enc_idx_entry</link>"> |
| 143 | <!ENTITY v4l2-encoder-cmd "struct <link linkend='v4l2-encoder-cmd'>v4l2_encoder_cmd</link>"> | 145 | <!ENTITY v4l2-encoder-cmd "struct <link linkend='v4l2-encoder-cmd'>v4l2_encoder_cmd</link>"> |
| 146 | <!ENTITY v4l2-event "struct <link linkend='v4l2-event'>v4l2_event</link>"> | ||
| 147 | <!ENTITY v4l2-event-subscription "struct <link linkend='v4l2-event-subscription'>v4l2_event_subscription</link>"> | ||
| 144 | <!ENTITY v4l2-ext-control "struct <link linkend='v4l2-ext-control'>v4l2_ext_control</link>"> | 148 | <!ENTITY v4l2-ext-control "struct <link linkend='v4l2-ext-control'>v4l2_ext_control</link>"> |
| 145 | <!ENTITY v4l2-ext-controls "struct <link linkend='v4l2-ext-controls'>v4l2_ext_controls</link>"> | 149 | <!ENTITY v4l2-ext-controls "struct <link linkend='v4l2-ext-controls'>v4l2_ext_controls</link>"> |
| 146 | <!ENTITY v4l2-fmtdesc "struct <link linkend='v4l2-fmtdesc'>v4l2_fmtdesc</link>"> | 150 | <!ENTITY v4l2-fmtdesc "struct <link linkend='v4l2-fmtdesc'>v4l2_fmtdesc</link>"> |
| @@ -200,6 +204,7 @@ | |||
| 200 | <!ENTITY sub-controls SYSTEM "v4l/controls.xml"> | 204 | <!ENTITY sub-controls SYSTEM "v4l/controls.xml"> |
| 201 | <!ENTITY sub-dev-capture SYSTEM "v4l/dev-capture.xml"> | 205 | <!ENTITY sub-dev-capture SYSTEM "v4l/dev-capture.xml"> |
| 202 | <!ENTITY sub-dev-codec SYSTEM "v4l/dev-codec.xml"> | 206 | <!ENTITY sub-dev-codec SYSTEM "v4l/dev-codec.xml"> |
| 207 | <!ENTITY sub-dev-event SYSTEM "v4l/dev-event.xml"> | ||
| 203 | <!ENTITY sub-dev-effect SYSTEM "v4l/dev-effect.xml"> | 208 | <!ENTITY sub-dev-effect SYSTEM "v4l/dev-effect.xml"> |
| 204 | <!ENTITY sub-dev-osd SYSTEM "v4l/dev-osd.xml"> | 209 | <!ENTITY sub-dev-osd SYSTEM "v4l/dev-osd.xml"> |
| 205 | <!ENTITY sub-dev-output SYSTEM "v4l/dev-output.xml"> | 210 | <!ENTITY sub-dev-output SYSTEM "v4l/dev-output.xml"> |
| @@ -292,6 +297,8 @@ | |||
| 292 | <!ENTITY sub-v4l2grab-c SYSTEM "v4l/v4l2grab.c.xml"> | 297 | <!ENTITY sub-v4l2grab-c SYSTEM "v4l/v4l2grab.c.xml"> |
| 293 | <!ENTITY sub-videodev2-h SYSTEM "v4l/videodev2.h.xml"> | 298 | <!ENTITY sub-videodev2-h SYSTEM "v4l/videodev2.h.xml"> |
| 294 | <!ENTITY sub-v4l2 SYSTEM "v4l/v4l2.xml"> | 299 | <!ENTITY sub-v4l2 SYSTEM "v4l/v4l2.xml"> |
| 300 | <!ENTITY sub-dqevent SYSTEM "v4l/vidioc-dqevent.xml"> | ||
| 301 | <!ENTITY sub-subscribe-event SYSTEM "v4l/vidioc-subscribe-event.xml"> | ||
| 295 | <!ENTITY sub-intro SYSTEM "dvb/intro.xml"> | 302 | <!ENTITY sub-intro SYSTEM "dvb/intro.xml"> |
| 296 | <!ENTITY sub-frontend SYSTEM "dvb/frontend.xml"> | 303 | <!ENTITY sub-frontend SYSTEM "dvb/frontend.xml"> |
| 297 | <!ENTITY sub-dvbproperty SYSTEM "dvb/dvbproperty.xml"> | 304 | <!ENTITY sub-dvbproperty SYSTEM "dvb/dvbproperty.xml"> |
| @@ -381,3 +388,5 @@ | |||
| 381 | <!ENTITY reqbufs SYSTEM "v4l/vidioc-reqbufs.xml"> | 388 | <!ENTITY reqbufs SYSTEM "v4l/vidioc-reqbufs.xml"> |
| 382 | <!ENTITY s-hw-freq-seek SYSTEM "v4l/vidioc-s-hw-freq-seek.xml"> | 389 | <!ENTITY s-hw-freq-seek SYSTEM "v4l/vidioc-s-hw-freq-seek.xml"> |
| 383 | <!ENTITY streamon SYSTEM "v4l/vidioc-streamon.xml"> | 390 | <!ENTITY streamon SYSTEM "v4l/vidioc-streamon.xml"> |
| 391 | <!ENTITY dqevent SYSTEM "v4l/vidioc-dqevent.xml"> | ||
| 392 | <!ENTITY subscribe_event SYSTEM "v4l/vidioc-subscribe-event.xml"> | ||
diff --git a/Documentation/DocBook/v4l/dev-event.xml b/Documentation/DocBook/v4l/dev-event.xml new file mode 100644 index 000000000000..be5a98fb4fab --- /dev/null +++ b/Documentation/DocBook/v4l/dev-event.xml | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | <title>Event Interface</title> | ||
| 2 | |||
| 3 | <para>The V4L2 event interface provides means for user to get | ||
| 4 | immediately notified on certain conditions taking place on a device. | ||
| 5 | This might include start of frame or loss of signal events, for | ||
| 6 | example. | ||
| 7 | </para> | ||
| 8 | |||
| 9 | <para>To receive events, the events the user is interested in first must | ||
| 10 | be subscribed using the &VIDIOC-SUBSCRIBE-EVENT; ioctl. Once an event is | ||
| 11 | subscribed, the events of subscribed types are dequeueable using the | ||
| 12 | &VIDIOC-DQEVENT; ioctl. Events may be unsubscribed using | ||
| 13 | VIDIOC_UNSUBSCRIBE_EVENT ioctl. The special event type V4L2_EVENT_ALL may | ||
| 14 | be used to unsubscribe all the events the driver supports.</para> | ||
| 15 | |||
| 16 | <para>The event subscriptions and event queues are specific to file | ||
| 17 | handles. Subscribing an event on one file handle does not affect | ||
| 18 | other file handles. | ||
| 19 | </para> | ||
| 20 | |||
| 21 | <para>The information on dequeueable events is obtained by using select or | ||
| 22 | poll system calls on video devices. The V4L2 events use POLLPRI events on | ||
| 23 | poll system call and exceptions on select system call. </para> | ||
| 24 | |||
| 25 | <!-- | ||
| 26 | Local Variables: | ||
| 27 | mode: sgml | ||
| 28 | sgml-parent-document: "v4l2.sgml" | ||
| 29 | indent-tabs-mode: nil | ||
| 30 | End: | ||
| 31 | --> | ||
diff --git a/Documentation/DocBook/v4l/v4l2.xml b/Documentation/DocBook/v4l/v4l2.xml index 060105af49e5..9737243377a3 100644 --- a/Documentation/DocBook/v4l/v4l2.xml +++ b/Documentation/DocBook/v4l/v4l2.xml | |||
| @@ -401,6 +401,7 @@ and discussions on the V4L mailing list.</revremark> | |||
| 401 | <section id="ttx"> &sub-dev-teletext; </section> | 401 | <section id="ttx"> &sub-dev-teletext; </section> |
| 402 | <section id="radio"> &sub-dev-radio; </section> | 402 | <section id="radio"> &sub-dev-radio; </section> |
| 403 | <section id="rds"> &sub-dev-rds; </section> | 403 | <section id="rds"> &sub-dev-rds; </section> |
| 404 | <section id="event"> &sub-dev-event; </section> | ||
| 404 | </chapter> | 405 | </chapter> |
| 405 | 406 | ||
| 406 | <chapter id="driver"> | 407 | <chapter id="driver"> |
| @@ -426,6 +427,7 @@ and discussions on the V4L mailing list.</revremark> | |||
| 426 | &sub-cropcap; | 427 | &sub-cropcap; |
| 427 | &sub-dbg-g-chip-ident; | 428 | &sub-dbg-g-chip-ident; |
| 428 | &sub-dbg-g-register; | 429 | &sub-dbg-g-register; |
| 430 | &sub-dqevent; | ||
| 429 | &sub-encoder-cmd; | 431 | &sub-encoder-cmd; |
| 430 | &sub-enumaudio; | 432 | &sub-enumaudio; |
| 431 | &sub-enumaudioout; | 433 | &sub-enumaudioout; |
| @@ -467,6 +469,7 @@ and discussions on the V4L mailing list.</revremark> | |||
| 467 | &sub-reqbufs; | 469 | &sub-reqbufs; |
| 468 | &sub-s-hw-freq-seek; | 470 | &sub-s-hw-freq-seek; |
| 469 | &sub-streamon; | 471 | &sub-streamon; |
| 472 | &sub-subscribe-event; | ||
| 470 | <!-- End of ioctls. --> | 473 | <!-- End of ioctls. --> |
| 471 | &sub-mmap; | 474 | &sub-mmap; |
| 472 | &sub-munmap; | 475 | &sub-munmap; |
diff --git a/Documentation/DocBook/v4l/vidioc-dqevent.xml b/Documentation/DocBook/v4l/vidioc-dqevent.xml new file mode 100644 index 000000000000..eb45c1695d8c --- /dev/null +++ b/Documentation/DocBook/v4l/vidioc-dqevent.xml | |||
| @@ -0,0 +1,124 @@ | |||
| 1 | <refentry id="vidioc-dqevent"> | ||
| 2 | <refmeta> | ||
| 3 | <refentrytitle>ioctl VIDIOC_DQEVENT</refentrytitle> | ||
| 4 | &manvol; | ||
| 5 | </refmeta> | ||
| 6 | |||
| 7 | <refnamediv> | ||
| 8 | <refname>VIDIOC_DQEVENT</refname> | ||
| 9 | <refpurpose>Dequeue event</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 v4l2_event | ||
| 19 | *<parameter>argp</parameter></paramdef> | ||
| 20 | </funcprototype> | ||
| 21 | </funcsynopsis> | ||
| 22 | </refsynopsisdiv> | ||
| 23 | |||
| 24 | <refsect1> | ||
| 25 | <title>Arguments</title> | ||
| 26 | |||
| 27 | <variablelist> | ||
| 28 | <varlistentry> | ||
| 29 | <term><parameter>fd</parameter></term> | ||
| 30 | <listitem> | ||
| 31 | <para>&fd;</para> | ||
| 32 | </listitem> | ||
| 33 | </varlistentry> | ||
| 34 | <varlistentry> | ||
| 35 | <term><parameter>request</parameter></term> | ||
| 36 | <listitem> | ||
| 37 | <para>VIDIOC_DQEVENT</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 | |||
| 52 | <para>Dequeue an event from a video device. No input is required | ||
| 53 | for this ioctl. All the fields of the &v4l2-event; structure are | ||
| 54 | filled by the driver. The file handle will also receive exceptions | ||
| 55 | which the application may get by e.g. using the select system | ||
| 56 | call.</para> | ||
| 57 | |||
| 58 | <table frame="none" pgwide="1" id="v4l2-event"> | ||
| 59 | <title>struct <structname>v4l2_event</structname></title> | ||
| 60 | <tgroup cols="4"> | ||
| 61 | &cs-str; | ||
| 62 | <tbody valign="top"> | ||
| 63 | <row> | ||
| 64 | <entry>__u32</entry> | ||
| 65 | <entry><structfield>type</structfield></entry> | ||
| 66 | <entry></entry> | ||
| 67 | <entry>Type of the event.</entry> | ||
| 68 | </row> | ||
| 69 | <row> | ||
| 70 | <entry>union</entry> | ||
| 71 | <entry><structfield>u</structfield></entry> | ||
| 72 | <entry></entry> | ||
| 73 | <entry></entry> | ||
| 74 | </row> | ||
| 75 | <row> | ||
| 76 | <entry></entry> | ||
| 77 | <entry>__u8</entry> | ||
| 78 | <entry><structfield>data</structfield>[64]</entry> | ||
| 79 | <entry>Event data. Defined by the event type. The union | ||
| 80 | should be used to define easily accessible type for | ||
| 81 | events.</entry> | ||
| 82 | </row> | ||
| 83 | <row> | ||
| 84 | <entry>__u32</entry> | ||
| 85 | <entry><structfield>pending</structfield></entry> | ||
| 86 | <entry></entry> | ||
| 87 | <entry>Number of pending events excluding this one.</entry> | ||
| 88 | </row> | ||
| 89 | <row> | ||
| 90 | <entry>__u32</entry> | ||
| 91 | <entry><structfield>sequence</structfield></entry> | ||
| 92 | <entry></entry> | ||
| 93 | <entry>Event sequence number. The sequence number is | ||
| 94 | incremented for every subscribed event that takes place. | ||
| 95 | If sequence numbers are not contiguous it means that | ||
| 96 | events have been lost. | ||
| 97 | </entry> | ||
| 98 | </row> | ||
| 99 | <row> | ||
| 100 | <entry>struct timeval</entry> | ||
| 101 | <entry><structfield>timestamp</structfield></entry> | ||
| 102 | <entry></entry> | ||
| 103 | <entry>Event timestamp.</entry> | ||
| 104 | </row> | ||
| 105 | <row> | ||
| 106 | <entry>__u32</entry> | ||
| 107 | <entry><structfield>reserved</structfield>[9]</entry> | ||
| 108 | <entry></entry> | ||
| 109 | <entry>Reserved for future extensions. Drivers must set | ||
| 110 | the array to zero.</entry> | ||
| 111 | </row> | ||
| 112 | </tbody> | ||
| 113 | </tgroup> | ||
| 114 | </table> | ||
| 115 | |||
| 116 | </refsect1> | ||
| 117 | </refentry> | ||
| 118 | <!-- | ||
| 119 | Local Variables: | ||
| 120 | mode: sgml | ||
| 121 | sgml-parent-document: "v4l2.sgml" | ||
| 122 | indent-tabs-mode: nil | ||
| 123 | End: | ||
| 124 | --> | ||
diff --git a/Documentation/DocBook/v4l/vidioc-subscribe-event.xml b/Documentation/DocBook/v4l/vidioc-subscribe-event.xml new file mode 100644 index 000000000000..71ab88cb76b3 --- /dev/null +++ b/Documentation/DocBook/v4l/vidioc-subscribe-event.xml | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | <refentry id="vidioc-subscribe-event"> | ||
| 2 | <refmeta> | ||
| 3 | <refentrytitle>ioctl VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refentrytitle> | ||
| 4 | &manvol; | ||
| 5 | </refmeta> | ||
| 6 | |||
| 7 | <refnamediv> | ||
| 8 | <refname>VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refname> | ||
| 9 | <refpurpose>Subscribe or unsubscribe event</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 v4l2_event_subscription | ||
| 19 | *<parameter>argp</parameter></paramdef> | ||
| 20 | </funcprototype> | ||
| 21 | </funcsynopsis> | ||
| 22 | </refsynopsisdiv> | ||
| 23 | |||
| 24 | <refsect1> | ||
| 25 | <title>Arguments</title> | ||
| 26 | |||
| 27 | <variablelist> | ||
| 28 | <varlistentry> | ||
| 29 | <term><parameter>fd</parameter></term> | ||
| 30 | <listitem> | ||
| 31 | <para>&fd;</para> | ||
| 32 | </listitem> | ||
| 33 | </varlistentry> | ||
| 34 | <varlistentry> | ||
| 35 | <term><parameter>request</parameter></term> | ||
| 36 | <listitem> | ||
| 37 | <para>VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</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 | |||
| 52 | <para>Subscribe or unsubscribe V4L2 event. Subscribed events are | ||
| 53 | dequeued by using the &VIDIOC-DQEVENT; ioctl.</para> | ||
| 54 | |||
| 55 | <table frame="none" pgwide="1" id="v4l2-event-subscription"> | ||
| 56 | <title>struct <structname>v4l2_event_subscription</structname></title> | ||
| 57 | <tgroup cols="3"> | ||
| 58 | &cs-str; | ||
| 59 | <tbody valign="top"> | ||
| 60 | <row> | ||
| 61 | <entry>__u32</entry> | ||
| 62 | <entry><structfield>type</structfield></entry> | ||
| 63 | <entry>Type of the event.</entry> | ||
| 64 | </row> | ||
| 65 | <row> | ||
| 66 | <entry>__u32</entry> | ||
| 67 | <entry><structfield>reserved</structfield>[7]</entry> | ||
| 68 | <entry>Reserved for future extensions. Drivers and applications | ||
| 69 | must set the array to zero.</entry> | ||
| 70 | </row> | ||
| 71 | </tbody> | ||
| 72 | </tgroup> | ||
| 73 | </table> | ||
| 74 | |||
| 75 | <table frame="none" pgwide="1" id="event-type"> | ||
| 76 | <title>Event Types</title> | ||
| 77 | <tgroup cols="3"> | ||
| 78 | &cs-def; | ||
| 79 | <tbody valign="top"> | ||
| 80 | <row> | ||
| 81 | <entry><constant>V4L2_EVENT_ALL</constant></entry> | ||
| 82 | <entry>0</entry> | ||
| 83 | <entry>All events. V4L2_EVENT_ALL is valid only for | ||
| 84 | VIDIOC_UNSUBSCRIBE_EVENT for unsubscribing all events at once. | ||
| 85 | </entry> | ||
| 86 | </row> | ||
| 87 | <row> | ||
| 88 | <entry><constant>V4L2_EVENT_PRIVATE_START</constant></entry> | ||
| 89 | <entry>0x08000000</entry> | ||
| 90 | <entry>Base event number for driver-private events.</entry> | ||
| 91 | </row> | ||
| 92 | </tbody> | ||
| 93 | </tgroup> | ||
| 94 | </table> | ||
| 95 | |||
| 96 | </refsect1> | ||
| 97 | </refentry> | ||
| 98 | <!-- | ||
| 99 | Local Variables: | ||
| 100 | mode: sgml | ||
| 101 | sgml-parent-document: "v4l2.sgml" | ||
| 102 | indent-tabs-mode: nil | ||
| 103 | End: | ||
| 104 | --> | ||
