Source
1
+
<!--*-nxml-*-->
2
+
3
+
4
+
5
+
<!--
6
+
Written 2012 by David Herrmann <dh.herrmann@googlemail.com>
7
+
Dedicated to the Public Domain
8
+
-->
9
+
10
+
<refentry id="drmHandleEvent">
11
+
<refentryinfo>
12
+
<title>Direct Rendering Manager</title>
13
+
<productname>libdrm</productname>
14
+
<date>September 2012</date>
15
+
<authorgroup>
16
+
<author>
17
+
<contrib>Developer</contrib>
18
+
<firstname>David</firstname>
19
+
<surname>Herrmann</surname>
20
+
<email>dh.herrmann@googlemail.com</email>
21
+
</author>
22
+
</authorgroup>
23
+
</refentryinfo>
24
+
25
+
<refmeta>
26
+
<refentrytitle>drmHandleEvent</refentrytitle>
27
+
<manvolnum>3</manvolnum>
28
+
</refmeta>
29
+
30
+
<refnamediv>
31
+
<refname>drmHandleEvent</refname>
32
+
<refpurpose>read and process pending DRM events</refpurpose>
33
+
</refnamediv>
34
+
35
+
<refsynopsisdiv>
36
+
37
+
<funcsynopsis>
38
+
<funcsynopsisinfo>#include <xf86drm.h></funcsynopsisinfo>
39
+
40
+
<funcprototype>
41
+
<funcdef>int <function>drmHandleEvent</function></funcdef>
42
+
<paramdef>int <parameter>fd</parameter></paramdef>
43
+
<paramdef>drmEventContextPtr <parameter>evctx</parameter></paramdef>
44
+
</funcprototype>
45
+
</funcsynopsis>
46
+
47
+
</refsynopsisdiv>
48
+
49
+
<refsect1>
50
+
<title>Description</title>
51
+
<para><function>drmHandleEvent</function> processes outstanding DRM events
52
+
on the DRM file-descriptor passed as <parameter>fd</parameter>. This
53
+
function should be called after the DRM file-descriptor has polled
54
+
readable; it will read the events and use the passed-in
55
+
<parameter>evctx</parameter> structure to call function pointers
56
+
with the parameters noted below:
57
+
58
+
<programlisting>
59
+
typedef struct _drmEventContext {
60
+
int version;
61
+
void (*vblank_handler) (int fd,
62
+
unsigned int sequence,
63
+
unsigned int tv_sec,
64
+
unsigned int tv_usec,
65
+
void *user_data)
66
+
void (*page_flip_handler) (int fd,
67
+
unsigned int sequence,
68
+
unsigned int tv_sec,
69
+
unsigned int tv_usec,
70
+
void *user_data)
71
+
} drmEventContext, *drmEventContextPtr;
72
+
</programlisting>
73
+
74
+
</para>
75
+
76
+
</refsect1>
77
+
78
+
<refsect1>
79
+
<title>Return Value</title>
80
+
<para><function>drmHandleEvent</function> returns <literal>0</literal> on
81
+
success, or if there is no data to read from the file-descriptor.
82
+
Returns <literal>-1</literal> if the read on the file-descriptor fails
83
+
or returns less than a full event record.</para>
84
+
</refsect1>
85
+
86
+
<refsect1>
87
+
<title>Reporting Bugs</title>
88
+
<para>Bugs in this function should be reported to
89
+
http://bugs.freedesktop.org under the "Mesa" product, with "Other" or
90
+
"libdrm" as the component.</para>
91
+
</refsect1>
92
+
93
+
<refsect1>
94
+
<title>See Also</title>
95
+
<para>
96
+
<citerefentry><refentrytitle>drm</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
97
+
<citerefentry><refentrytitle>drm-kms</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
98
+
<citerefentry><refentrytitle>drmModePageFlip</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
99
+
<citerefentry><refentrytitle>drmWaitVBlank</refentrytitle><manvolnum>3</manvolnum></citerefentry>
100
+
</para>
101
+
</refsect1>
102
+
</refentry>