summaryrefslogtreecommitdiff
path: root/Documentation/DocBook/v4l/vidioc-subscribe-event.xml
blob: 8b501791aa6801e74a4c86f74437b5b0aac61526 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<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:
-->