summaryrefslogtreecommitdiff
path: root/man/drmHandleEvent.3.rst
blob: ecc63ed09fd2dfd18bba9ded57e5e516c7f8f4a1 (plain)
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
==============
drmHandleEvent
==============

-----------------------------------
read and process pending DRM events
-----------------------------------

:Date: September 2012
:Manual section: 3
:Manual group: Direct Rendering Manager

Synopsis
========

``#include <xf86drm.h>``

``int drmHandleEvent(int fd, drmEventContextPtr evctx);``

Description
===========

``drmHandleEvent`` processes outstanding DRM events on the DRM
file-descriptor passed as ``fd``. This function should be called after
the DRM file-descriptor has polled readable; it will read the events and
use the passed-in ``evctx`` structure to call function pointers with the
parameters noted below:

::

   typedef struct _drmEventContext {
       int version;
       void (*vblank_handler) (int fd,
                               unsigned int sequence,
                               unsigned int tv_sec,
                               unsigned int tv_usec,
                               void *user_data)
       void (*page_flip_handler) (int fd,
                                  unsigned int sequence,
                                  unsigned int tv_sec,
                                  unsigned int tv_usec,
                                  void *user_data)
   } drmEventContext, *drmEventContextPtr;

Return Value
============

``drmHandleEvent`` returns 0 on success, or if there is no data to
read from the file-descriptor. Returns -1 if the read on the
file-descriptor fails or returns less than a full event record.

Reporting Bugs
==============

Bugs in this function should be reported to
https://gitlab.freedesktop.org/mesa/drm/-/issues

See Also
========

**drm**\ (7), **drm-kms**\ (7), **drmModePageFlip**\ (3),
**drmWaitVBlank**\ (3)