summaryrefslogtreecommitdiff
path: root/src/ck-sysdeps-unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ck-sysdeps-unix.c')
-rw-r--r--src/ck-sysdeps-unix.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/ck-sysdeps-unix.c b/src/ck-sysdeps-unix.c
index 0f751b9..cf79525 100644
--- a/src/ck-sysdeps-unix.c
+++ b/src/ck-sysdeps-unix.c
@@ -36,7 +36,7 @@
#include <linux/kd.h>
#endif
-#if defined(__OpenBSD__)
+#if defined(__NetBSD__) || defined(__OpenBSD__)
#include <dev/wscons/wsdisplay_usl_io.h>
#endif
@@ -144,7 +144,7 @@ ck_get_socket_peer_credentials (int socket_fd,
gboolean
ck_fd_is_a_console (int fd)
{
-#if defined(__linux__) || defined(__OpenBSD__)
+#if defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)
struct vt_stat vts;
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined (__DragonFly__)
int vers;
@@ -152,7 +152,7 @@ ck_fd_is_a_console (int fd)
int kb_ok;
errno = 0;
-#if defined(__linux__) || defined(__OpenBSD__)
+#if defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)
kb_ok = (ioctl (fd, VT_GETSTATE, &vts) == 0);
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined (__DragonFly__)
kb_ok = (ioctl (fd, CONS_GETVERS, &vers) == 0);
@@ -230,6 +230,13 @@ ck_get_a_console_fd (void)
}
#endif
+#if defined(__NetBSD__)
+ fd = open_a_console ("/dev/ttyE0");
+ if (fd >= 0) {
+ goto done;
+ }
+#endif
+
#if defined(__OpenBSD__)
fd = open_a_console ("/dev/ttyC0");
if (fd >= 0) {