summaryrefslogtreecommitdiffstats
path: root/src/ck-sysdeps-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ck-sysdeps-linux.c')
-rw-r--r--src/ck-sysdeps-linux.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/ck-sysdeps-linux.c b/src/ck-sysdeps-linux.c
index 4b751d7..0ff0fe6 100644
--- a/src/ck-sysdeps-linux.c
+++ b/src/ck-sysdeps-linux.c
@@ -617,3 +617,38 @@ ck_get_max_num_consoles (guint *num)
return TRUE;
}
+
+char *
+ck_get_console_device_for_num (guint num)
+{
+ char *device;
+
+ device = g_strdup_printf (_PATH_TTY "%u", num);
+
+ return device;
+}
+
+gboolean
+ck_get_console_num_from_device (const char *device,
+ guint *num)
+{
+ guint n;
+ gboolean ret;
+
+ n = 0;
+ ret = FALSE;
+
+ if (device == NULL) {
+ return FALSE;
+ }
+
+ if (sscanf (device, _PATH_TTY "%u", &n) == 1) {
+ ret = TRUE;
+ }
+
+ if (num != NULL) {
+ *num = n;
+ }
+
+ return ret;
+}