summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEric Koegel <eric.koegel@gmail.com>2017-07-14 09:17:12 +0300
committerEric Koegel <eric.koegel@gmail.com>2017-07-15 04:34:38 +0300
commit1a2c726ce1fdb0bffeaae70360ad90c20a4a4b23 (patch)
tree8cb19dc697c164aaa06afe2bd42399c1829e6ef2 /src
parent9d8ffacfaa6cf9e68aada2e4bf4bb764069caab1 (diff)
downloadConsoleKit2-1a2c726ce1fdb0bffeaae70360ad90c20a4a4b23.tar.gz
feat: Add wscons headers for OpenBSD
It won't be used until a session controller backend is built for OpenBSD but it will be one step less to add.
Diffstat (limited to 'src')
-rw-r--r--src/ck-session.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/ck-session.c b/src/ck-session.c
index 73cc5b2..f445dff 100644
--- a/src/ck-session.c
+++ b/src/ck-session.c
@@ -46,6 +46,14 @@
#include <sys/kbio.h>
#endif
+#ifdef HAVE_DEV_WSCONS_WSCONSIO_H
+#include <dev/wscons/wsconsio.h>
+#endif
+
+#ifdef HAVE_DEV_WSCONS_WSDISPLAY_USL_IO_H
+#include <dev/wscons/wsdisplay_usl_io.h>
+#endif
+
#include <glib.h>
#include <glib-unix.h>
#include <glib/gi18n.h>
@@ -1410,9 +1418,9 @@ static void
ck_session_setup_vt_signal (CkSession *session,
guint vtnr)
{
-#if defined(KDGKBMODE) && defined(KDGETMODE) && defined(KDSETMODE) && defined(KD_GRAPHICS)
+#if defined(KDGKBMODE) && defined(KDSETMODE) && defined(KD_GRAPHICS)
struct vt_mode mode = { 0 };
- int graphical_mode;
+ int graphical_mode = KD_TEXT;
session->priv->tty_fd = ck_open_a_console (ck_get_console_device_for_num (vtnr));
@@ -1424,10 +1432,12 @@ ck_session_setup_vt_signal (CkSession *session,
/* So during setup here, we need to ensure we're in graphical mode,
* otherwise it will try to draw stuff in the background */
+#if defined(KDGETMODE)
if (ioctl (session->priv->tty_fd, KDGETMODE, &graphical_mode) != 0) {
g_warning ("failed to get current VT mode");
return;
}
+#endif
if (graphical_mode == KD_TEXT) {
if (ioctl (session->priv->tty_fd, KDSETMODE, KD_GRAPHICS) != 0) {
@@ -1439,6 +1449,7 @@ ck_session_setup_vt_signal (CkSession *session,
return;
}
+/* We define KDSKBMUTE above so we can't do the usual check */
#if defined(__linux__)
if (ioctl (session->priv->tty_fd, KDSKBMUTE, 1) != 0) {
g_warning ("failed to mute FD with KDSKBMUTE");
@@ -1471,7 +1482,7 @@ ck_session_setup_vt_signal (CkSession *session,
(GSourceFunc)vt_acquire_handler,
session,
NULL);
-#endif /* defined(KDGKBMODE) && defined(KDGETMODE) && defined(KDSETMODE) && defined(KD_GRAPHICS) */
+#endif /* defined(KDGKBMODE) && defined(KDSETMODE) && defined(KD_GRAPHICS) */
}
static void
@@ -1517,6 +1528,7 @@ ck_session_controller_cleanup (CkSession *session)
struct vt_mode mode = { 0 };
mode.mode = VT_AUTO;
+/* We define KDSKBMUTE above so we can't do the usual check */
#if defined(__linux__)
if (ioctl (session->priv->tty_fd, KDSKBMUTE, 0) != 0) {
g_warning ("failed to unmute FD with KDSKBMUTE");