aboutsummaryrefslogtreecommitdiff
path: root/include/backend/drm/otd.h
diff options
context:
space:
mode:
authorScott Anderson <ascent12@hotmail.com>2017-05-01 15:33:42 +1200
committerScott Anderson <ascent12@hotmail.com>2017-05-01 15:33:42 +1200
commit95a553dc51029406f9b52227e88ebd9f67b203a5 (patch)
treef39ddd4fa44d2e76fd4ea931a67a4fb8f340f98f /include/backend/drm/otd.h
parentaca13320b3e6df8cb575f64db736dc38b8b30ed2 (diff)
Moved headers to the correct place.
Diffstat (limited to 'include/backend/drm/otd.h')
-rw-r--r--include/backend/drm/otd.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/backend/drm/otd.h b/include/backend/drm/otd.h
new file mode 100644
index 00000000..eef0e991
--- /dev/null
+++ b/include/backend/drm/otd.h
@@ -0,0 +1,44 @@
+#ifndef LIBOTD_H
+#define LIBOTD_H
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <EGL/egl.h>
+#include <gbm.h>
+#include <libudev.h>
+
+#include "session.h"
+
+struct otd {
+ int fd;
+ bool paused;
+
+ // Priority Queue (Max-heap)
+ size_t event_cap;
+ size_t event_len;
+ struct otd_event *events;
+
+ size_t display_len;
+ struct otd_display *displays;
+
+ uint32_t taken_crtcs;
+
+ struct gbm_device *gbm;
+ struct {
+ EGLDisplay disp;
+ EGLConfig conf;
+ EGLContext context;
+ } egl;
+
+ struct otd_session session;
+
+ struct udev *udev;
+ struct udev_monitor *mon;
+ int udev_fd;
+ char *drm_path;
+};
+
+struct otd *otd_start(void);
+void otd_finish(struct otd *otd);
+
+#endif