about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/device-nrs.h5
-rw-r--r--sysdeps/unix/sysv/linux/device-nrs.h17
2 files changed, 20 insertions, 2 deletions
diff --git a/sysdeps/generic/device-nrs.h b/sysdeps/generic/device-nrs.h
index 3ff5c39de6..b0ce6687c6 100644
--- a/sysdeps/generic/device-nrs.h
+++ b/sysdeps/generic/device-nrs.h
@@ -1,5 +1,5 @@
 /* Device numbers of devices used in the implementation.  Generic version.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,4 +22,7 @@
 
 /* By default we know no device numbers.  */
 
+/* We cannot check whether a given device is a tty.  */
+#define DEV_TTY_P(dev) (0)
+
 #endif	/* device-nrs.h */
diff --git a/sysdeps/unix/sysv/linux/device-nrs.h b/sysdeps/unix/sysv/linux/device-nrs.h
index cef929b798..d08d81cf25 100644
--- a/sysdeps/unix/sysv/linux/device-nrs.h
+++ b/sysdeps/unix/sysv/linux/device-nrs.h
@@ -1,5 +1,5 @@
 /* Device numbers of devices used in the implementation.  Linux version.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,8 +20,23 @@
 #ifndef _DEVICE_NRS_H
 #define _DEVICE_NRS_H	1
 
+#include <sys/sysmacros.h>
+
 /* /dev/null is (1,3).  */
 #define DEV_NULL_MAJOR	1
 #define DEV_NULL_MINOR	3
 
+/* Pseudo tty slaves.  For Linux we use the Unix98 ttys.  We could
+   also include the old BSD-style tty buts they should not be used and
+   the extra test would only slow down correctly set up systems.  If a
+   system still uses those device the slower tests performed (using
+   isatty) will catch it.  */
+#define DEV_TTY_LOW_MAJOR	136
+#define DEV_TTY_HIGH_MAJOR	143
+
+/* Test whether given device is a tty.  */
+#define DEV_TTY_P(dev) \
+  ({ int __dev_major = major (dev);					      \
+     __dev_major >= DEV_TTY_LOW_MAJOR && __dev_major <= DEV_TTY_HIGH_MAJOR; })
+
 #endif	/* device-nrs.h */