chiark / gitweb /
terminal: remove redundant "struct" prefixes
[elogind.git] / src / libsystemd-terminal / idev-internal.h
index bffefbb9c11c80f362c90d4782f3f177b538d771..c416f4fadd628aa4c091b9565653b751f0bfa630 100644 (file)
 #pragma once
 
 #include <inttypes.h>
+#include <libudev.h>
+#include <linux/input.h>
 #include <stdbool.h>
 #include <stdlib.h>
 #include <systemd/sd-bus.h>
 #include <systemd/sd-event.h>
+#include <xkbcommon/xkbcommon.h>
 #include "hashmap.h"
 #include "idev.h"
 #include "list.h"
@@ -36,6 +39,22 @@ typedef struct idev_device_vtable       idev_device_vtable;
 typedef struct idev_element             idev_element;
 typedef struct idev_element_vtable      idev_element_vtable;
 
+/*
+ * Evdev Elements
+ */
+
+bool idev_is_evdev(idev_element *e);
+idev_element *idev_find_evdev(idev_session *s, dev_t devnum);
+int idev_evdev_new(idev_element **out, idev_session *s, struct udev_device *ud);
+
+/*
+ * Keyboard Devices
+ */
+
+bool idev_is_keyboard(idev_device *d);
+idev_device *idev_find_keyboard(idev_session *s, const char *name);
+int idev_keyboard_new(idev_device **out, idev_session *s, const char *name);
+
 /*
  * Element Links
  */