Merge branch 'for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mason...
[cascardo/linux.git] / Documentation / media / uapi / dvb / video-get-event.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _VIDEO_GET_EVENT:
4
5 ===============
6 VIDEO_GET_EVENT
7 ===============
8
9 Name
10 ----
11
12 VIDEO_GET_EVENT
13
14
15 Synopsis
16 --------
17
18 .. cpp:function:: int ioctl(fd, int request = VIDEO_GET_EVENT, struct video_event *ev)
19
20
21 Arguments
22 ---------
23
24 .. flat-table::
25     :header-rows:  0
26     :stub-columns: 0
27
28
29     -  .. row 1
30
31        -  int fd
32
33        -  File descriptor returned by a previous call to open().
34
35     -  .. row 2
36
37        -  int request
38
39        -  Equals VIDEO_GET_EVENT for this command.
40
41     -  .. row 3
42
43        -  struct video_event \*ev
44
45        -  Points to the location where the event, if any, is to be stored.
46
47
48 Description
49 -----------
50
51 This ioctl is for DVB devices only. To get events from a V4L2 decoder
52 use the V4L2 :ref:`VIDIOC_DQEVENT` ioctl instead.
53
54 This ioctl call returns an event of type video_event if available. If
55 an event is not available, the behavior depends on whether the device is
56 in blocking or non-blocking mode. In the latter case, the call fails
57 immediately with errno set to ``EWOULDBLOCK``. In the former case, the call
58 blocks until an event becomes available. The standard Linux poll()
59 and/or select() system calls can be used with the device file descriptor
60 to watch for new events. For select(), the file descriptor should be
61 included in the exceptfds argument, and for poll(), POLLPRI should be
62 specified as the wake-up condition. Read-only permissions are sufficient
63 for this ioctl call.
64
65
66 Return Value
67 ------------
68
69 On success 0 is returned, on error -1 and the ``errno`` variable is set
70 appropriately. The generic error codes are described at the
71 :ref:`Generic Error Codes <gen-errors>` chapter.
72
73 .. flat-table::
74     :header-rows:  0
75     :stub-columns: 0
76
77
78     -  .. row 1
79
80        -  ``EWOULDBLOCK``
81
82        -  There is no event pending, and the device is in non-blocking mode.
83
84     -  .. row 2
85
86        -  ``EOVERFLOW``
87
88        -  Overflow in event queue - one or more events were lost.