diff options
Diffstat (limited to 'src/consoletype.c')
-rw-r--r-- | src/consoletype.c | 27 |
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; + } +} |