summaryrefslogtreecommitdiffstats
path: root/src/kernel/tests/include/tst_uinput.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/tests/include/tst_uinput.h')
-rw-r--r--src/kernel/tests/include/tst_uinput.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/kernel/tests/include/tst_uinput.h b/src/kernel/tests/include/tst_uinput.h
new file mode 100644
index 0000000..cf351cd
--- /dev/null
+++ b/src/kernel/tests/include/tst_uinput.h
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2019 Cyril Hrubis <chrubis@suse.cz>
+ */
+
+#ifndef TST_UINPUT_H__
+#define TST_UINPUT_H__
+
+/**
+ * Tries to open the uinput device.
+ *
+ * Returns file descriptor on success, -1 on failure.
+ */
+int open_uinput(void);
+
+/**
+ * Creates virtual input device.
+ *
+ * @fd File descriptor returned by open_uinput().
+ */
+void create_input_device(int fd);
+
+/**
+ * Parses /proc/bus/input/devices and returns the strings for our virtual device.
+ * If passing 'H' to it, it returns HANDLERS string. If passing 'S' to it, it
+ * returns SYSFS string.
+ *
+ * Returns newly allocated string, or NULL in a case of failure.
+ */
+char *get_input_field_value(char field);
+
+/**
+ * Sets up the virtual device to appear as a mouse, this must be called before
+ * the call to create_input_device().
+ *
+ * @fd File descriptor as returned by open_uinput().
+ */
+void setup_mouse_events(int fd);
+
+/**
+ * Destroys virtual input device.
+ *
+ * @fd File descriptor returned by open_uinput().
+ */
+void destroy_input_device(int fd);
+
+#endif /* TST_UINPUT_H__ */