From 34d5b73fbbae87db10e4503a363753ea60ba0b24 Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Sun, 19 Apr 2015 09:39:58 +0200 Subject: vo_drm: extract vt_switcher to drm_common --- video/out/drm_common.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 video/out/drm_common.h (limited to 'video/out/drm_common.h') diff --git a/video/out/drm_common.h b/video/out/drm_common.h new file mode 100644 index 0000000000..5e6c1915ba --- /dev/null +++ b/video/out/drm_common.h @@ -0,0 +1,36 @@ +/* + * This file is part of mpv. + * + * mpv is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * mpv is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with mpv. If not, see . + */ + +#ifndef MP_VT_SWITCHER_H +#define MP_VT_SWITCHER_H + +struct vt_switcher { + int tty_fd; + struct mp_log *log; + void (*handlers[2])(void*); + void *handler_data[2]; +}; + +int vt_switcher_init(struct vt_switcher *s, struct mp_log *log); +void vt_switcher_destroy(struct vt_switcher *s); +void vt_switcher_poll(struct vt_switcher *s, int timeout_ms); +void vt_switcher_interrupt_poll(struct vt_switcher *s); + +void vt_switcher_acquire(struct vt_switcher *s, void (*handler)(void*), void *user_data); +void vt_switcher_release(struct vt_switcher *s, void (*handler)(void*), void *user_data); + +#endif -- cgit v1.2.3