DRMHANDLEEVENT(3)

NAME
drmHandleEvent - read and process pending DRM events

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/libdrm/-/issues

SEE ALSO

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