aboutsummaryrefslogtreecommitdiffstats
path: root/src/consoletype.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/consoletype.c')
-rw-r--r--src/consoletype.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/consoletype.c b/src/consoletype.c
new file mode 100644
index 00000000..6bfda4bd
--- /dev/null
+++ b/src/consoletype.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+
+int main(int argc, char **argv)
+{
+ unsigned char twelve = 12;
+ int maj;
+ struct stat sb;
+
+ fstat(0, &sb);
+ maj = major(sb.st_rdev);
+ if (maj != 3 && (maj < 136 || maj > 143)) {
+ if (ioctl (0, TIOCLINUX, &twelve) < 0) {
+ printf ("serial\n");
+ return 1;
+ } else {
+ printf ("vt\n");
+ return 0;
+ }
+ } else {
+ printf ("pty\n");
+ return 2;
+ }
+}